twinny-server 4.2.7 → 4.2.9
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.
- package/README.md +6 -2
- package/cli.js +541 -98
- package/package.json +2 -2
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: () =>
|
|
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
|
|
21175
|
+
var import_types89 = require_dist_cjs();
|
|
21176
21176
|
var _Field = class _Field {
|
|
21177
|
-
constructor({ name, kind =
|
|
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
|
|
22592
|
-
var getSmithyContext8 = /* @__PURE__ */ __name((context) => context[
|
|
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
|
|
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(
|
|
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) ===
|
|
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(
|
|
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(
|
|
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
|
|
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
|
-
[
|
|
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
|
|
28305
|
-
const algorithmId =
|
|
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:
|
|
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 =
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
141757
|
-
|
|
141758
|
-
|
|
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 = {
|
|
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
|
-
|
|
141819
|
-
|
|
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);
|
|
@@ -141935,7 +142052,7 @@ var import_node_path31 = __toESM(require("node:path"));
|
|
|
141935
142052
|
var import_node_zlib = require("node:zlib");
|
|
141936
142053
|
|
|
141937
142054
|
// src/gateway/version.ts
|
|
141938
|
-
var SERVER_VERSION = true ? "4.2.
|
|
142055
|
+
var SERVER_VERSION = true ? "4.2.9" : "dev";
|
|
141939
142056
|
|
|
141940
142057
|
// src/gateway/plugins/backups/crypto.ts
|
|
141941
142058
|
var import_node_crypto18 = require("node:crypto");
|
|
@@ -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
|
-
/**
|
|
143484
|
-
|
|
143485
|
-
|
|
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
|
-
|
|
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
|
|
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)
|
|
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
|
-
|
|
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 =
|
|
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
|
|
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(/&/,"&"))}),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://,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,"&").replace(/</g,"<").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,""")+\'"\';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&<(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 _S=Object.create;var ku=Object.defineProperty;var DS=Object.getOwnPropertyDescriptor;var FS=Object.getOwnPropertyNames;var zS=Object.getPrototypeOf,$S=Object.prototype.hasOwnProperty;var se=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),th=(e,t)=>{for(var n in t)ku(e,n,{get:t[n],enumerable:!0})},MS=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of FS(t))!$S.call(e,i)&&i!==n&&ku(e,i,{get:()=>t[i],enumerable:!(r=DS(t,i))||r.enumerable});return e};var ne=(e,t,n)=>(n=e!=null?_S(zS(e)):{},MS(t||!e||!e.__esModule?ku(n,"default",{value:e,enumerable:!0}):n,e));var mh=se(Re=>{"use strict";var xa=Symbol.for("react.element"),BS=Symbol.for("react.portal"),jS=Symbol.for("react.fragment"),US=Symbol.for("react.strict_mode"),HS=Symbol.for("react.profiler"),qS=Symbol.for("react.provider"),VS=Symbol.for("react.context"),WS=Symbol.for("react.forward_ref"),KS=Symbol.for("react.suspense"),GS=Symbol.for("react.memo"),YS=Symbol.for("react.lazy"),nh=Symbol.iterator;function QS(e){return e===null||typeof e!="object"?null:(e=nh&&e[nh]||e["@@iterator"],typeof e=="function"?e:null)}var ah={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},oh=Object.assign,sh={};function xi(e,t,n){this.props=e,this.context=t,this.refs=sh,this.updater=n||ah}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 lh(){}lh.prototype=xi.prototype;function xu(e,t,n){this.props=e,this.context=t,this.refs=sh,this.updater=n||ah}var Nu=xu.prototype=new lh;Nu.constructor=xu;oh(Nu,xi.prototype);Nu.isPureReactComponent=!0;var rh=Array.isArray,uh=Object.prototype.hasOwnProperty,Su={current:null},ch={key:!0,ref:!0,__self:!0,__source:!0};function dh(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)uh.call(t,r)&&!ch.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:Su.current}}function XS(e,t){return{$$typeof:xa,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Eu(e){return typeof e=="object"&&e!==null&&e.$$typeof===xa}function ZS(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var ih=/\\/+/g;function wu(e,t){return typeof e=="object"&&e!==null&&e.key!=null?ZS(""+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 BS:o=!0}}if(o)return o=e,i=i(o),e=r===""?"."+wu(o,0):r,rh(i)?(n="",e!=null&&(n=e.replace(ih,"$&/")+"/"),Ho(i,t,n,"",function(u){return u})):i!=null&&(Eu(i)&&(i=XS(i,n+(!i.key||o&&o.key===i.key?"":(""+i.key).replace(ih,"$&/")+"/")+e)),t.push(i)),1;if(o=0,r=r===""?".":r+":",rh(e))for(var s=0;s<e.length;s++){a=e[s];var l=r+wu(a,s);o+=Ho(a,t,n,l,i)}else if(l=QS(e),typeof l=="function")for(e=l.call(e),s=0;!(a=e.next()).done;)a=a.value,l=r+wu(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 JS(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 Pt={current:null},qo={transition:null},eE={ReactCurrentDispatcher:Pt,ReactCurrentBatchConfig:qo,ReactCurrentOwner:Su};function ph(){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(!Eu(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Re.Component=xi;Re.Fragment=jS;Re.Profiler=HS;Re.PureComponent=xu;Re.StrictMode=US;Re.Suspense=KS;Re.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=eE;Re.act=ph;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=oh({},e.props),i=e.key,a=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(a=t.ref,o=Su.current),t.key!==void 0&&(i=""+t.key),e.type&&e.type.defaultProps)var s=e.type.defaultProps;for(l in t)uh.call(t,l)&&!ch.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:VS,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:qS,_context:e},e.Consumer=e};Re.createElement=dh;Re.createFactory=function(e){var t=dh.bind(null,e);return t.type=e,t};Re.createRef=function(){return{current:null}};Re.forwardRef=function(e){return{$$typeof:WS,render:e}};Re.isValidElement=Eu;Re.lazy=function(e){return{$$typeof:YS,_payload:{_status:-1,_result:e},_init:JS}};Re.memo=function(e,t){return{$$typeof:GS,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=ph;Re.useCallback=function(e,t){return Pt.current.useCallback(e,t)};Re.useContext=function(e){return Pt.current.useContext(e)};Re.useDebugValue=function(){};Re.useDeferredValue=function(e){return Pt.current.useDeferredValue(e)};Re.useEffect=function(e,t){return Pt.current.useEffect(e,t)};Re.useId=function(){return Pt.current.useId()};Re.useImperativeHandle=function(e,t,n){return Pt.current.useImperativeHandle(e,t,n)};Re.useInsertionEffect=function(e,t){return Pt.current.useInsertionEffect(e,t)};Re.useLayoutEffect=function(e,t){return Pt.current.useLayoutEffect(e,t)};Re.useMemo=function(e,t){return Pt.current.useMemo(e,t)};Re.useReducer=function(e,t,n){return Pt.current.useReducer(e,t,n)};Re.useRef=function(e){return Pt.current.useRef(e)};Re.useState=function(e){return Pt.current.useState(e)};Re.useSyncExternalStore=function(e,t,n){return Pt.current.useSyncExternalStore(e,t,n)};Re.useTransition=function(){return Pt.current.useTransition()};Re.version="18.3.1"});var Ye=se((JO,fh)=>{"use strict";fh.exports=mh()});var Sh=se(Me=>{"use strict";function Ru(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 gn(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"?(hh=performance,Me.unstable_now=function(){return hh.now()}):(Cu=Date,gh=Cu.now(),Me.unstable_now=function(){return Cu.now()-gh});var hh,Cu,gh,Cn=[],rr=[],tE=1,nn=null,vt=3,Go=!1,zr=!1,Sa=!1,bh=typeof setTimeout=="function"?setTimeout:null,kh=typeof clearTimeout=="function"?clearTimeout:null,yh=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Iu(e){for(var t=gn(rr);t!==null;){if(t.callback===null)Ko(rr);else if(t.startTime<=e)Ko(rr),t.sortIndex=t.expirationTime,Ru(Cn,t);else break;t=gn(rr)}}function Pu(e){if(Sa=!1,Iu(e),!zr)if(gn(Cn)!==null)zr=!0,Ou(Lu);else{var t=gn(rr);t!==null&&_u(Pu,t.startTime-e)}}function Lu(e,t){zr=!1,Sa&&(Sa=!1,kh(Ea),Ea=-1),Go=!0;var n=vt;try{for(Iu(t),nn=gn(Cn);nn!==null&&(!(nn.expirationTime>t)||e&&!Nh());){var r=nn.callback;if(typeof r=="function"){nn.callback=null,vt=nn.priorityLevel;var i=r(nn.expirationTime<=t);t=Me.unstable_now(),typeof i=="function"?nn.callback=i:nn===gn(Cn)&&Ko(Cn),Iu(t)}else Ko(Cn);nn=gn(Cn)}if(nn!==null)var a=!0;else{var o=gn(rr);o!==null&&_u(Pu,o.startTime-t),a=!1}return a}finally{nn=null,vt=n,Go=!1}}var Yo=!1,Wo=null,Ea=-1,wh=5,xh=-1;function Nh(){return!(Me.unstable_now()-xh<wh)}function Au(){if(Wo!==null){var e=Me.unstable_now();xh=e;var t=!0;try{t=Wo(!0,e)}finally{t?Na():(Yo=!1,Wo=null)}}else Yo=!1}var Na;typeof yh=="function"?Na=function(){yh(Au)}:typeof MessageChannel<"u"?(Tu=new MessageChannel,vh=Tu.port2,Tu.port1.onmessage=Au,Na=function(){vh.postMessage(null)}):Na=function(){bh(Au,0)};var Tu,vh;function Ou(e){Wo=e,Yo||(Yo=!0,Na())}function _u(e,t){Ea=bh(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,Ou(Lu))};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"):wh=0<e?Math.floor(1e3/e):5};Me.unstable_getCurrentPriorityLevel=function(){return vt};Me.unstable_getFirstCallbackNode=function(){return gn(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:tE++,callback:t,priorityLevel:e,startTime:n,expirationTime:i,sortIndex:-1},n>r?(e.sortIndex=n,Ru(rr,e),gn(Cn)===null&&e===gn(rr)&&(Sa?(kh(Ea),Ea=-1):Sa=!0,_u(Pu,n-r))):(e.sortIndex=i,Ru(Cn,e),zr||Go||(zr=!0,Ou(Lu))),e};Me.unstable_shouldYield=Nh;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 Ch=se((t_,Eh)=>{"use strict";Eh.exports=Sh()});var Iv=se(Zt=>{"use strict";var nE=Ye(),Qt=Ch();function ee(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 Og=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++)Og.add(t[e])}var Yn=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),rc=Object.prototype.hasOwnProperty,rE=/^[: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]*$/,Ah={},Th={};function iE(e){return rc.call(Th,e)?!0:rc.call(Ah,e)?!1:rE.test(e)?Th[e]=!0:(Ah[e]=!0,!1)}function aE(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 oE(e,t,n,r){if(t===null||typeof t>"u"||aE(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 _t(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 _t(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 _t(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){yt[e]=new _t(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){yt[e]=new _t(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 _t(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){yt[e]=new _t(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){yt[e]=new _t(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){yt[e]=new _t(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){yt[e]=new _t(e,5,!1,e.toLowerCase(),null,!1,!1)});var Yc=/[\\-:]([a-z])/g;function Qc(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(Yc,Qc);yt[t]=new _t(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(Yc,Qc);yt[t]=new _t(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(Yc,Qc);yt[t]=new _t(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){yt[e]=new _t(e,1,!1,e.toLowerCase(),null,!1,!1)});yt.xlinkHref=new _t("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){yt[e]=new _t(e,1,!1,e.toLowerCase(),null,!0,!0)});function Xc(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")&&(oE(t,n,i,r)&&(n=null),r||i===null?iE(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=nE.__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"),Zc=Symbol.for("react.strict_mode"),ic=Symbol.for("react.profiler"),_g=Symbol.for("react.provider"),Dg=Symbol.for("react.context"),Jc=Symbol.for("react.forward_ref"),ac=Symbol.for("react.suspense"),oc=Symbol.for("react.suspense_list"),ed=Symbol.for("react.memo"),ar=Symbol.for("react.lazy");Symbol.for("react.scope");Symbol.for("react.debug_trace_mode");var Fg=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden");Symbol.for("react.cache");Symbol.for("react.tracing_marker");var Rh=Symbol.iterator;function Ca(e){return e===null||typeof e!="object"?null:(e=Rh&&e[Rh]||e["@@iterator"],typeof e=="function"?e:null)}var Ge=Object.assign,Du;function _a(e){if(Du===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\\n( *(at )?)/);Du=t&&t[1]||""}return`\n`+Du+e}var Fu=!1;function zu(e,t){if(!e||Fu)return"";Fu=!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{Fu=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?_a(e):""}function sE(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=zu(e.type,!1),e;case 11:return e=zu(e.type.render,!1),e;case 1:return e=zu(e.type,!0),e;default:return""}}function sc(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 ic:return"Profiler";case Zc:return"StrictMode";case ac:return"Suspense";case oc:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Dg:return(e.displayName||"Context")+".Consumer";case _g:return(e._context.displayName||"Context")+".Provider";case Jc:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case ed:return t=e.displayName||null,t!==null?t:sc(e.type)||"Memo";case ar:t=e._payload,e=e._init;try{return sc(e(t))}catch{}}return null}function lE(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 sc(t);case 8:return t===Zc?"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 zg(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function uE(e){var t=zg(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=uE(e))}function $g(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=zg(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 lc(e,t){var n=t.checked;return Ge({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Ih(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 Mg(e,t){t=t.checked,t!=null&&Xc(e,"checked",t,!1)}function uc(e,t){Mg(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")?cc(e,t.type,n):t.hasOwnProperty("defaultValue")&&cc(e,t.type,br(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Ph(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 cc(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 dc(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(ee(91));return Ge({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Lh(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(ee(92));if(Da(n)){if(1<n.length)throw Error(ee(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:br(n)}}function Bg(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 Oh(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function jg(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 pc(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?jg(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Zo,Ug=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},cE=["Webkit","ms","Moz","O"];Object.keys($a).forEach(function(e){cE.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),$a[t]=$a[e]})});function Hg(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 qg(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=Hg(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var dE=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 mc(e,t){if(t){if(dE[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ee(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ee(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ee(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ee(62))}}function fc(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 hc=null;function td(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var gc=null,$i=null,Mi=null;function _h(e){if(e=mo(e)){if(typeof gc!="function")throw Error(ee(280));var t=e.stateNode;t&&(t=Js(t),gc(e.stateNode,e.type,t))}}function Vg(e){$i?Mi?Mi.push(e):Mi=[e]:$i=e}function Wg(){if($i){var e=$i,t=Mi;if(Mi=$i=null,_h(e),t)for(e=0;e<t.length;e++)_h(t[e])}}function Kg(e,t){return e(t)}function Gg(){}var $u=!1;function Yg(e,t,n){if($u)return e(t,n);$u=!0;try{return Kg(e,t,n)}finally{$u=!1,($i!==null||Mi!==null)&&(Gg(),Wg())}}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(ee(231,t,typeof n));return n}var yc=!1;if(Yn)try{Ni={},Object.defineProperty(Ni,"passive",{get:function(){yc=!0}}),window.addEventListener("test",Ni,Ni),window.removeEventListener("test",Ni,Ni)}catch{yc=!1}var Ni;function pE(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,vc=null,mE={onError:function(e){Ma=!0,Cs=e}};function fE(e,t,n,r,i,a,o,s,l){Ma=!1,Cs=null,pE.apply(mE,arguments)}function hE(e,t,n,r,i,a,o,s,l){if(fE.apply(this,arguments),Ma){if(Ma){var u=Cs;Ma=!1,Cs=null}else throw Error(ee(198));As||(As=!0,vc=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 Qg(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 Dh(e){if(Xr(e)!==e)throw Error(ee(188))}function gE(e){var t=e.alternate;if(!t){if(t=Xr(e),t===null)throw Error(ee(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 Dh(i),e;if(a===r)return Dh(i),t;a=a.sibling}throw Error(ee(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(ee(189))}}if(n.alternate!==r)throw Error(ee(190))}if(n.tag!==3)throw Error(ee(188));return n.stateNode.current===n?e:t}function Xg(e){return e=gE(e),e!==null?Zg(e):null}function Zg(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=Zg(e);if(t!==null)return t;e=e.sibling}return null}var Jg=Qt.unstable_scheduleCallback,Fh=Qt.unstable_cancelCallback,yE=Qt.unstable_shouldYield,vE=Qt.unstable_requestPaint,Je=Qt.unstable_now,bE=Qt.unstable_getCurrentPriorityLevel,nd=Qt.unstable_ImmediatePriority,ey=Qt.unstable_UserBlockingPriority,Ts=Qt.unstable_NormalPriority,kE=Qt.unstable_LowPriority,ty=Qt.unstable_IdlePriority,Ys=null,In=null;function wE(e){if(In&&typeof In.onCommitFiberRoot=="function")try{In.onCommitFiberRoot(Ys,e,void 0,(e.current.flags&128)===128)}catch{}}var wn=Math.clz32?Math.clz32:SE,xE=Math.log,NE=Math.LN2;function SE(e){return e>>>=0,e===0?32:31-(xE(e)/NE|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-wn(t),i=1<<n,r|=e[n],t&=~i;return r}function EE(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 CE(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes;0<a;){var o=31-wn(a),s=1<<o,l=i[o];l===-1?(!(s&n)||s&r)&&(i[o]=EE(s,t)):l<=t&&(e.expiredLanes|=s),a&=~s}}function bc(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function ny(){var e=Jo;return Jo<<=1,!(Jo&4194240)&&(Jo=64),e}function Mu(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-wn(t),e[t]=n}function AE(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-wn(n),a=1<<i;t[i]=0,r[i]=-1,e[i]=-1,n&=~a}}function rd(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-wn(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}var De=0;function ry(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var iy,id,ay,oy,sy,kc=!1,ts=[],dr=null,pr=null,mr=null,Qa=new Map,Xa=new Map,sr=[],TE="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 zh(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&&id(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function RE(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 ly(e){var t=Br(e.target);if(t!==null){var n=Xr(t);if(n!==null){if(t=n.tag,t===13){if(t=Qg(n),t!==null){e.blockedOn=t,sy(e.priority,function(){ay(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=wc(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);hc=r,n.target.dispatchEvent(r),hc=null}else return t=mo(n),t!==null&&id(t),e.blockedOn=n,!1;t.shift()}return!0}function $h(e,t,n){hs(e)&&n.delete(t)}function IE(){kc=!1,dr!==null&&hs(dr)&&(dr=null),pr!==null&&hs(pr)&&(pr=null),mr!==null&&hs(mr)&&(mr=null),Qa.forEach($h),Xa.forEach($h)}function Ta(e,t){e.blockedOn===t&&(e.blockedOn=null,kc||(kc=!0,Qt.unstable_scheduleCallback(Qt.unstable_NormalPriority,IE)))}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);)ly(n),n.blockedOn===null&&sr.shift()}var Bi=Jn.ReactCurrentBatchConfig,Is=!0;function PE(e,t,n,r){var i=De,a=Bi.transition;Bi.transition=null;try{De=1,ad(e,t,n,r)}finally{De=i,Bi.transition=a}}function LE(e,t,n,r){var i=De,a=Bi.transition;Bi.transition=null;try{De=4,ad(e,t,n,r)}finally{De=i,Bi.transition=a}}function ad(e,t,n,r){if(Is){var i=wc(e,t,n,r);if(i===null)Wu(e,t,r,Ps,n),zh(e,r);else if(RE(i,e,t,n,r))r.stopPropagation();else if(zh(e,r),t&4&&-1<TE.indexOf(e)){for(;i!==null;){var a=mo(i);if(a!==null&&iy(a),a=wc(e,t,n,r),a===null&&Wu(e,t,r,Ps,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Wu(e,t,r,null,n)}}var Ps=null;function wc(e,t,n,r){if(Ps=null,e=td(r),e=Br(e),e!==null)if(t=Xr(e),t===null)e=null;else if(n=t.tag,n===13){if(e=Qg(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 uy(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(bE()){case nd:return 1;case ey:return 4;case Ts:case kE:return 16;case ty:return 536870912;default:return 16}default:return 16}}var ur=null,od=null,gs=null;function cy(){if(gs)return gs;var e,t=od,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 Mh(){return!1}function Xt(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:Mh,this.isPropagationStopped=Mh,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},sd=Xt(Qi),po=Ge({},Qi,{view:0,detail:0}),OE=Xt(po),Bu,ju,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:ld,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"?(Bu=e.screenX-Ra.screenX,ju=e.screenY-Ra.screenY):ju=Bu=0,Ra=e),Bu)},movementY:function(e){return"movementY"in e?e.movementY:ju}}),Bh=Xt(Qs),_E=Ge({},Qs,{dataTransfer:0}),DE=Xt(_E),FE=Ge({},po,{relatedTarget:0}),Uu=Xt(FE),zE=Ge({},Qi,{animationName:0,elapsedTime:0,pseudoElement:0}),$E=Xt(zE),ME=Ge({},Qi,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),BE=Xt(ME),jE=Ge({},Qi,{data:0}),jh=Xt(jE),UE={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},HE={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"},qE={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function VE(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=qE[e])?!!t[e]:!1}function ld(){return VE}var WE=Ge({},po,{key:function(e){if(e.key){var t=UE[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"?HE[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:ld,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}}),KE=Xt(WE),GE=Ge({},Qs,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Uh=Xt(GE),YE=Ge({},po,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:ld}),QE=Xt(YE),XE=Ge({},Qi,{propertyName:0,elapsedTime:0,pseudoElement:0}),ZE=Xt(XE),JE=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}),eC=Xt(JE),tC=[9,13,27,32],ud=Yn&&"CompositionEvent"in window,Ba=null;Yn&&"documentMode"in document&&(Ba=document.documentMode);var nC=Yn&&"TextEvent"in window&&!Ba,dy=Yn&&(!ud||Ba&&8<Ba&&11>=Ba),Hh=" ",qh=!1;function py(e,t){switch(e){case"keyup":return tC.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function my(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Ai=!1;function rC(e,t){switch(e){case"compositionend":return my(t);case"keypress":return t.which!==32?null:(qh=!0,Hh);case"textInput":return e=t.data,e===Hh&&qh?null:e;default:return null}}function iC(e,t){if(Ai)return e==="compositionend"||!ud&&py(e,t)?(e=cy(),gs=od=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 dy&&t.locale!=="ko"?null:t.data;default:return null}}var aC={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 Vh(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!aC[e.type]:t==="textarea"}function fy(e,t,n,r){Vg(r),t=Ls(t,"onChange"),0<t.length&&(n=new sd("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var ja=null,Ja=null;function oC(e){Ey(e,0)}function Xs(e){var t=Ii(e);if($g(t))return e}function sC(e,t){if(e==="change")return t}var hy=!1;Yn&&(Yn?(is="oninput"in document,is||(Hu=document.createElement("div"),Hu.setAttribute("oninput","return;"),is=typeof Hu.oninput=="function"),rs=is):rs=!1,hy=rs&&(!document.documentMode||9<document.documentMode));var rs,is,Hu;function Wh(){ja&&(ja.detachEvent("onpropertychange",gy),Ja=ja=null)}function gy(e){if(e.propertyName==="value"&&Xs(Ja)){var t=[];fy(t,Ja,e,td(e)),Yg(oC,t)}}function lC(e,t,n){e==="focusin"?(Wh(),ja=t,Ja=n,ja.attachEvent("onpropertychange",gy)):e==="focusout"&&Wh()}function uC(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Xs(Ja)}function cC(e,t){if(e==="click")return Xs(t)}function dC(e,t){if(e==="input"||e==="change")return Xs(t)}function pC(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Nn=typeof Object.is=="function"?Object.is:pC;function eo(e,t){if(Nn(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(!rc.call(t,i)||!Nn(e[i],t[i]))return!1}return!0}function Kh(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Gh(e,t){var n=Kh(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=Kh(n)}}function yy(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?yy(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function vy(){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 cd(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 mC(e){var t=vy(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&yy(n.ownerDocument.documentElement,n)){if(r!==null&&cd(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=Gh(n,a);var o=Gh(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 fC=Yn&&"documentMode"in document&&11>=document.documentMode,Ti=null,xc=null,Ua=null,Nc=!1;function Yh(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Nc||Ti==null||Ti!==Es(r)||(r=Ti,"selectionStart"in r&&cd(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(xc,"onSelect"),0<r.length&&(t=new sd("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")},qu={},by={};Yn&&(by=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(qu[e])return qu[e];if(!Ri[e])return e;var t=Ri[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in by)return qu[e]=t[n];return e}var ky=Zs("animationend"),wy=Zs("animationiteration"),xy=Zs("animationstart"),Ny=Zs("transitionend"),Sy=new Map,Qh="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){Sy.set(e,t),Qr(t,[e])}for(os=0;os<Qh.length;os++)ss=Qh[os],Xh=ss.toLowerCase(),Zh=ss[0].toUpperCase()+ss.slice(1),wr(Xh,"on"+Zh);var ss,Xh,Zh,os;wr(ky,"onAnimationEnd");wr(wy,"onAnimationIteration");wr(xy,"onAnimationStart");wr("dblclick","onDoubleClick");wr("focusin","onFocus");wr("focusout","onBlur");wr(Ny,"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(" "),hC=new Set("cancel close invalid load scroll toggle".split(" ").concat(za));function Jh(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,hE(r,t,void 0,e),e.currentTarget=null}function Ey(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(As)throw e=vc,As=!1,vc=null,e}function je(e,t){var n=t[Tc];n===void 0&&(n=t[Tc]=new Set);var r=e+"__bubble";n.has(r)||(Cy(t,e,2,!1),n.add(r))}function Vu(e,t,n){var r=0;t&&(r|=4),Cy(n,e,r,t)}var ls="_reactListening"+Math.random().toString(36).slice(2);function to(e){if(!e[ls]){e[ls]=!0,Og.forEach(function(n){n!=="selectionchange"&&(hC.has(n)||Vu(n,!1,e),Vu(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[ls]||(t[ls]=!0,Vu("selectionchange",!1,t))}}function Cy(e,t,n,r){switch(uy(t)){case 1:var i=PE;break;case 4:i=LE;break;default:i=ad}n=i.bind(null,t,n,e),i=void 0,!yc||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 Wu(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}Yg(function(){var u=a,c=td(n),d=[];e:{var p=Sy.get(e);if(p!==void 0){var m=sd,f=e;switch(e){case"keypress":if(ys(n)===0)break e;case"keydown":case"keyup":m=KE;break;case"focusin":f="focus",m=Uu;break;case"focusout":f="blur",m=Uu;break;case"beforeblur":case"afterblur":m=Uu;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=Bh;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=DE;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=QE;break;case ky:case wy:case xy:m=$E;break;case Ny:m=ZE;break;case"scroll":m=OE;break;case"wheel":m=eC;break;case"copy":case"cut":case"paste":m=BE;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Uh}var b=(t&4)!==0,v=!b&&e==="scroll",h=b?p!==null?p+"Capture":null:p;b=[];for(var g=u,w;g!==null;){w=g;var E=w.stateNode;if(w.tag===5&&E!==null&&(w=E,h!==null&&(E=Ya(g,h),E!=null&&b.push(no(g,E,w)))),v)break;g=g.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!==hc&&(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=Bh,E="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(b=Uh,E="onPointerLeave",h="onPointerEnter",g="pointer"),v=m==null?p:Ii(m),w=f==null?p:Ii(f),p=new b(E,g+"leave",m,n,c),p.target=v,p.relatedTarget=w,E=null,Br(c)===u&&(b=new b(h,g+"enter",f,n,c),b.target=w,b.relatedTarget=v,E=b),v=E,m&&f)t:{for(b=m,h=f,g=0,w=b;w;w=Si(w))g++;for(w=0,E=h;E;E=Si(E))w++;for(;0<g-w;)b=Si(b),g--;for(;0<w-g;)h=Si(h),w--;for(;g--;){if(b===h||h!==null&&b===h.alternate)break t;b=Si(b),h=Si(h)}b=null}else b=null;m!==null&&eg(d,p,m,b,!1),f!==null&&v!==null&&eg(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 S=sC;else if(Vh(p))if(hy)S=dC;else{S=uC;var x=lC}else(m=p.nodeName)&&m.toLowerCase()==="input"&&(p.type==="checkbox"||p.type==="radio")&&(S=cC);if(S&&(S=S(e,u))){fy(d,S,n,c);break e}x&&x(e,p,u),e==="focusout"&&(x=p._wrapperState)&&x.controlled&&p.type==="number"&&cc(p,"number",p.value)}switch(x=u?Ii(u):window,e){case"focusin":(Vh(x)||x.contentEditable==="true")&&(Ti=x,xc=u,Ua=null);break;case"focusout":Ua=xc=Ti=null;break;case"mousedown":Nc=!0;break;case"contextmenu":case"mouseup":case"dragend":Nc=!1,Yh(d,n,c);break;case"selectionchange":if(fC)break;case"keydown":case"keyup":Yh(d,n,c)}var C;if(ud)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 Ai?py(e,n)&&(I="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(I="onCompositionStart");I&&(dy&&n.locale!=="ko"&&(Ai||I!=="onCompositionStart"?I==="onCompositionEnd"&&Ai&&(C=cy()):(ur=c,od="value"in ur?ur.value:ur.textContent,Ai=!0)),x=Ls(u,I),0<x.length&&(I=new jh(I,e,null,n,c),d.push({event:I,listeners:x}),C?I.data=C:(C=my(n),C!==null&&(I.data=C)))),(C=nC?rC(e,n):iC(e,n))&&(u=Ls(u,"onBeforeInput"),0<u.length&&(c=new jh("onBeforeInput","beforeinput",null,n,c),d.push({event:c,listeners:u}),c.data=C))}Ey(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 eg(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 gC=/\\r\\n?/g,yC=/\\u0000|\\uFFFD/g;function tg(e){return(typeof e=="string"?e:""+e).replace(gC,`\n`).replace(yC,"")}function us(e,t,n){if(t=tg(t),tg(e)!==t&&n)throw Error(ee(425))}function Os(){}var Sc=null,Ec=null;function Cc(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 Ac=typeof setTimeout=="function"?setTimeout:void 0,vC=typeof clearTimeout=="function"?clearTimeout:void 0,ng=typeof Promise=="function"?Promise:void 0,bC=typeof queueMicrotask=="function"?queueMicrotask:typeof ng<"u"?function(e){return ng.resolve(null).then(e).catch(kC)}:Ac;function kC(e){setTimeout(function(){throw e})}function Ku(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 rg(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,Tc="__reactEvents$"+Xi,wC="__reactListeners$"+Xi,xC="__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=rg(e);e!==null;){if(n=e[Rn])return n;e=rg(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(ee(33))}function Js(e){return e[ro]||null}var Rc=[],Pi=-1;function xr(e){return{current:e}}function Ue(e){0>Pi||(e.current=Rc[Pi],Rc[Pi]=null,Pi--)}function Be(e,t){Pi++,Rc[Pi]=e.current,e.current=t}var kr={},xt=xr(kr),Bt=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 jt(e){return e=e.childContextTypes,e!=null}function _s(){Ue(Bt),Ue(xt)}function ig(e,t,n){if(xt.current!==kr)throw Error(ee(168));Be(xt,t),Be(Bt,n)}function Ay(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(ee(108,lE(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(Bt,Bt.current),!0}function ag(e,t,n){var r=e.stateNode;if(!r)throw Error(ee(169));n?(e=Ay(e,t,Vr),r.__reactInternalMemoizedMergedChildContext=e,Ue(Bt),Ue(xt),Be(xt,e)):Ue(Bt),Be(Bt,n)}var Vn=null,el=!1,Gu=!1;function Ty(e){Vn===null?Vn=[e]:Vn.push(e)}function NC(e){el=!0,Ty(e)}function Nr(){if(!Gu&&Vn!==null){Gu=!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)),Jg(nd,Nr),i}finally{De=t,Gu=!1}}return null}var Li=[],Oi=0,Fs=null,zs=0,rn=[],an=0,Wr=null,Wn=1,Kn="";function $r(e,t){Li[Oi++]=zs,Li[Oi++]=Fs,Fs=e,zs=t}function Ry(e,t,n){rn[an++]=Wn,rn[an++]=Kn,rn[an++]=Wr,Wr=e;var r=Wn;e=Kn;var i=32-wn(r)-1;r&=~(1<<i),n+=1;var a=32-wn(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Wn=1<<32-wn(t)+i|n<<i|r,Kn=a+e}else Wn=1<<a|n<<i|r,Kn=e}function dd(e){e.return!==null&&($r(e,1),Ry(e,1,0))}function pd(e){for(;e===Fs;)Fs=Li[--Oi],Li[Oi]=null,zs=Li[--Oi],Li[Oi]=null;for(;e===Wr;)Wr=rn[--an],rn[an]=null,Kn=rn[--an],rn[an]=null,Wn=rn[--an],rn[an]=null}var Yt=null,Gt=null,Ve=!1,kn=null;function Iy(e,t){var n=on(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 og(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,Yt=e,Gt=fr(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Yt=e,Gt=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=on(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,Yt=e,Gt=null,!0):!1;default:return!1}}function Ic(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Pc(e){if(Ve){var t=Gt;if(t){var n=t;if(!og(e,t)){if(Ic(e))throw Error(ee(418));t=fr(n.nextSibling);var r=Yt;t&&og(e,t)?Iy(r,n):(e.flags=e.flags&-4097|2,Ve=!1,Yt=e)}}else{if(Ic(e))throw Error(ee(418));e.flags=e.flags&-4097|2,Ve=!1,Yt=e}}}function sg(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Yt=e}function cs(e){if(e!==Yt)return!1;if(!Ve)return sg(e),Ve=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Cc(e.type,e.memoizedProps)),t&&(t=Gt)){if(Ic(e))throw Py(),Error(ee(418));for(;t;)Iy(e,t),t=fr(t.nextSibling)}if(sg(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(ee(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){Gt=fr(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}Gt=null}}else Gt=Yt?fr(e.stateNode.nextSibling):null;return!0}function Py(){for(var e=Gt;e;)e=fr(e.nextSibling)}function Vi(){Gt=Yt=null,Ve=!1}function md(e){kn===null?kn=[e]:kn.push(e)}var SC=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(ee(309));var r=n.stateNode}if(!r)throw Error(ee(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(ee(284));if(!n._owner)throw Error(ee(290,e))}return e}function ds(e,t){throw e=Object.prototype.toString.call(t),Error(ee(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function lg(e){var t=e._init;return t(e._payload)}function Ly(e){function t(h,g){if(e){var w=h.deletions;w===null?(h.deletions=[g],h.flags|=16):w.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function r(h,g){for(h=new Map;g!==null;)g.key!==null?h.set(g.key,g):h.set(g.index,g),g=g.sibling;return h}function i(h,g){return h=vr(h,g),h.index=0,h.sibling=null,h}function a(h,g,w){return h.index=w,e?(w=h.alternate,w!==null?(w=w.index,w<g?(h.flags|=2,g):w):(h.flags|=2,g)):(h.flags|=1048576,g)}function o(h){return e&&h.alternate===null&&(h.flags|=2),h}function s(h,g,w,E){return g===null||g.tag!==6?(g=tc(w,h.mode,E),g.return=h,g):(g=i(g,w),g.return=h,g)}function l(h,g,w,E){var S=w.type;return S===Ci?c(h,g,w.props.children,E,w.key):g!==null&&(g.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===ar&&lg(S)===g.type)?(E=i(g,w.props),E.ref=Ia(h,g,w),E.return=h,E):(E=Ss(w.type,w.key,w.props,null,h.mode,E),E.ref=Ia(h,g,w),E.return=h,E)}function u(h,g,w,E){return g===null||g.tag!==4||g.stateNode.containerInfo!==w.containerInfo||g.stateNode.implementation!==w.implementation?(g=nc(w,h.mode,E),g.return=h,g):(g=i(g,w.children||[]),g.return=h,g)}function c(h,g,w,E,S){return g===null||g.tag!==7?(g=qr(w,h.mode,E,S),g.return=h,g):(g=i(g,w),g.return=h,g)}function d(h,g,w){if(typeof g=="string"&&g!==""||typeof g=="number")return g=tc(""+g,h.mode,w),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case Qo:return w=Ss(g.type,g.key,g.props,null,h.mode,w),w.ref=Ia(h,null,g),w.return=h,w;case Ei:return g=nc(g,h.mode,w),g.return=h,g;case ar:var E=g._init;return d(h,E(g._payload),w)}if(Da(g)||Ca(g))return g=qr(g,h.mode,w,null),g.return=h,g;ds(h,g)}return null}function p(h,g,w,E){var S=g!==null?g.key:null;if(typeof w=="string"&&w!==""||typeof w=="number")return S!==null?null:s(h,g,""+w,E);if(typeof w=="object"&&w!==null){switch(w.$$typeof){case Qo:return w.key===S?l(h,g,w,E):null;case Ei:return w.key===S?u(h,g,w,E):null;case ar:return S=w._init,p(h,g,S(w._payload),E)}if(Da(w)||Ca(w))return S!==null?null:c(h,g,w,E,null);ds(h,w)}return null}function m(h,g,w,E,S){if(typeof E=="string"&&E!==""||typeof E=="number")return h=h.get(w)||null,s(g,h,""+E,S);if(typeof E=="object"&&E!==null){switch(E.$$typeof){case Qo:return h=h.get(E.key===null?w:E.key)||null,l(g,h,E,S);case Ei:return h=h.get(E.key===null?w:E.key)||null,u(g,h,E,S);case ar:var x=E._init;return m(h,g,w,x(E._payload),S)}if(Da(E)||Ca(E))return h=h.get(w)||null,c(g,h,E,S,null);ds(g,E)}return null}function f(h,g,w,E){for(var S=null,x=null,C=g,I=g=0,$=null;C!==null&&I<w.length;I++){C.index>I?($=C,C=null):$=C.sibling;var T=p(h,C,w[I],E);if(T===null){C===null&&(C=$);break}e&&C&&T.alternate===null&&t(h,C),g=a(T,g,I),x===null?S=T:x.sibling=T,x=T,C=$}if(I===w.length)return n(h,C),Ve&&$r(h,I),S;if(C===null){for(;I<w.length;I++)C=d(h,w[I],E),C!==null&&(g=a(C,g,I),x===null?S=C:x.sibling=C,x=C);return Ve&&$r(h,I),S}for(C=r(h,C);I<w.length;I++)$=m(C,h,I,w[I],E),$!==null&&(e&&$.alternate!==null&&C.delete($.key===null?I:$.key),g=a($,g,I),x===null?S=$:x.sibling=$,x=$);return e&&C.forEach(function(te){return t(h,te)}),Ve&&$r(h,I),S}function b(h,g,w,E){var S=Ca(w);if(typeof S!="function")throw Error(ee(150));if(w=S.call(w),w==null)throw Error(ee(151));for(var x=S=null,C=g,I=g=0,$=null,T=w.next();C!==null&&!T.done;I++,T=w.next()){C.index>I?($=C,C=null):$=C.sibling;var te=p(h,C,T.value,E);if(te===null){C===null&&(C=$);break}e&&C&&te.alternate===null&&t(h,C),g=a(te,g,I),x===null?S=te:x.sibling=te,x=te,C=$}if(T.done)return n(h,C),Ve&&$r(h,I),S;if(C===null){for(;!T.done;I++,T=w.next())T=d(h,T.value,E),T!==null&&(g=a(T,g,I),x===null?S=T:x.sibling=T,x=T);return Ve&&$r(h,I),S}for(C=r(h,C);!T.done;I++,T=w.next())T=m(C,h,I,T.value,E),T!==null&&(e&&T.alternate!==null&&C.delete(T.key===null?I:T.key),g=a(T,g,I),x===null?S=T:x.sibling=T,x=T);return e&&C.forEach(function(H){return t(h,H)}),Ve&&$r(h,I),S}function v(h,g,w,E){if(typeof w=="object"&&w!==null&&w.type===Ci&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case Qo:e:{for(var S=w.key,x=g;x!==null;){if(x.key===S){if(S=w.type,S===Ci){if(x.tag===7){n(h,x.sibling),g=i(x,w.props.children),g.return=h,h=g;break e}}else if(x.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===ar&&lg(S)===x.type){n(h,x.sibling),g=i(x,w.props),g.ref=Ia(h,x,w),g.return=h,h=g;break e}n(h,x);break}else t(h,x);x=x.sibling}w.type===Ci?(g=qr(w.props.children,h.mode,E,w.key),g.return=h,h=g):(E=Ss(w.type,w.key,w.props,null,h.mode,E),E.ref=Ia(h,g,w),E.return=h,h=E)}return o(h);case Ei:e:{for(x=w.key;g!==null;){if(g.key===x)if(g.tag===4&&g.stateNode.containerInfo===w.containerInfo&&g.stateNode.implementation===w.implementation){n(h,g.sibling),g=i(g,w.children||[]),g.return=h,h=g;break e}else{n(h,g);break}else t(h,g);g=g.sibling}g=nc(w,h.mode,E),g.return=h,h=g}return o(h);case ar:return x=w._init,v(h,g,x(w._payload),E)}if(Da(w))return f(h,g,w,E);if(Ca(w))return b(h,g,w,E);ds(h,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,g!==null&&g.tag===6?(n(h,g.sibling),g=i(g,w),g.return=h,h=g):(n(h,g),g=tc(w,h.mode,E),g.return=h,h=g),o(h)):n(h,g)}return v}var Wi=Ly(!0),Oy=Ly(!1),$s=xr(null),Ms=null,_i=null,fd=null;function hd(){fd=_i=Ms=null}function gd(e){var t=$s.current;Ue($s),e._currentValue=t}function Lc(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,fd=_i=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Mt=!0),e.firstContext=null)}function ln(e){var t=e._currentValue;if(fd!==e)if(e={context:e,memoizedValue:t,next:null},_i===null){if(Ms===null)throw Error(ee(308));_i=e,Ms.dependencies={lanes:0,firstContext:e}}else _i=_i.next=e;return t}var jr=null;function yd(e){jr===null?jr=[e]:jr.push(e)}function _y(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,yd(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 vd(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Dy(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,Le&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,yd(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,rd(e,n)}}function ug(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 cg(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(ee(191,i));i.call(r)}}}var fo={},Pn=xr(fo),io=xr(fo),ao=xr(fo);function Ur(e){if(e===fo)throw Error(ee(174));return e}function bd(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:pc(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=pc(t,e)}Ue(Pn),Be(Pn,t)}function Ki(){Ue(Pn),Ue(io),Ue(ao)}function Fy(e){Ur(ao.current);var t=Ur(Pn.current),n=pc(t,e.type);t!==n&&(Be(io,e),Be(Pn,n))}function kd(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 Yu=[];function wd(){for(var e=0;e<Yu.length;e++)Yu[e]._workInProgressVersionPrimary=null;Yu.length=0}var bs=Jn.ReactCurrentDispatcher,Qu=Jn.ReactCurrentBatchConfig,Kr=0,Ke=null,lt=null,pt=null,Us=!1,Ha=!1,oo=0,EC=0;function bt(){throw Error(ee(321))}function xd(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Nn(e[n],t[n]))return!1;return!0}function Nd(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?RC:IC,e=n(r,i),Ha){a=0;do{if(Ha=!1,oo=0,25<=a)throw Error(ee(301));a+=1,pt=lt=null,t.updateQueue=null,bs.current=PC,e=n(r,i)}while(Ha)}if(bs.current=Hs,t=lt!==null&<.next!==null,Kr=0,pt=lt=Ke=null,Us=!1,t)throw Error(ee(300));return e}function Sd(){var e=oo!==0;return oo=0,e}function Tn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return pt===null?Ke.memoizedState=pt=e:pt=pt.next=e,pt}function un(){if(lt===null){var e=Ke.alternate;e=e!==null?e.memoizedState:null}else e=lt.next;var t=pt===null?Ke.memoizedState:pt.next;if(t!==null)pt=t,lt=e;else{if(e===null)throw Error(ee(310));lt=e,e={memoizedState:lt.memoizedState,baseState:lt.baseState,baseQueue:lt.baseQueue,queue:lt.queue,next:null},pt===null?Ke.memoizedState=pt=e:pt=pt.next=e}return pt}function so(e,t){return typeof t=="function"?t(e):t}function Xu(e){var t=un(),n=t.queue;if(n===null)throw Error(ee(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,Nn(r,t.memoizedState)||(Mt=!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 Zu(e){var t=un(),n=t.queue;if(n===null)throw Error(ee(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);Nn(a,t.memoizedState)||(Mt=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function zy(){}function $y(e,t){var n=Ke,r=un(),i=t(),a=!Nn(r.memoizedState,i);if(a&&(r.memoizedState=i,Mt=!0),r=r.queue,Ed(jy.bind(null,n,r,e),[e]),r.getSnapshot!==t||a||pt!==null&&pt.memoizedState.tag&1){if(n.flags|=2048,lo(9,By.bind(null,n,r,i,t),void 0,null),mt===null)throw Error(ee(349));Kr&30||My(n,t,i)}return i}function My(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 By(e,t,n,r){t.value=n,t.getSnapshot=r,Uy(t)&&Hy(e)}function jy(e,t,n){return n(function(){Uy(t)&&Hy(e)})}function Uy(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Nn(e,n)}catch{return!0}}function Hy(e){var t=Xn(e,1);t!==null&&xn(t,e,1,-1)}function dg(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=TC.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 qy(){return un().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=un();r=r===void 0?null:r;var a=void 0;if(lt!==null){var o=lt.memoizedState;if(a=o.destroy,r!==null&&xd(r,o.deps)){i.memoizedState=lo(t,n,a,r);return}}Ke.flags|=e,i.memoizedState=lo(1|t,n,a,r)}function pg(e,t){return ks(8390656,8,e,t)}function Ed(e,t){return tl(2048,8,e,t)}function Vy(e,t){return tl(4,2,e,t)}function Wy(e,t){return tl(4,4,e,t)}function Ky(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 Gy(e,t,n){return n=n!=null?n.concat([e]):null,tl(4,4,Ky.bind(null,t,e),n)}function Cd(){}function Yy(e,t){var n=un();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&xd(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Qy(e,t){var n=un();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&xd(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Xy(e,t,n){return Kr&21?(Nn(n,t)||(n=ny(),Ke.lanes|=n,Gr|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,Mt=!0),e.memoizedState=n)}function CC(e,t){var n=De;De=n!==0&&4>n?n:4,e(!0);var r=Qu.transition;Qu.transition={};try{e(!1),t()}finally{De=n,Qu.transition=r}}function Zy(){return un().memoizedState}function AC(e,t,n){var r=yr(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Jy(e))ev(t,n);else if(n=_y(e,t,n,r),n!==null){var i=Ot();xn(n,e,r,i),tv(n,t,r)}}function TC(e,t,n){var r=yr(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Jy(e))ev(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,Nn(s,o)){var l=t.interleaved;l===null?(i.next=i,yd(t)):(i.next=l.next,l.next=i),t.interleaved=i;return}}catch{}finally{}n=_y(e,t,i,r),n!==null&&(i=Ot(),xn(n,e,r,i),tv(n,t,r))}}function Jy(e){var t=e.alternate;return e===Ke||t!==null&&t===Ke}function ev(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 tv(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,rd(e,n)}}var Hs={readContext:ln,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},RC={readContext:ln,useCallback:function(e,t){return Tn().memoizedState=[e,t===void 0?null:t],e},useContext:ln,useEffect:pg,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,ks(4194308,4,Ky.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=AC.bind(null,Ke,e),[r.memoizedState,e]},useRef:function(e){var t=Tn();return e={current:e},t.memoizedState=e},useState:dg,useDebugValue:Cd,useDeferredValue:function(e){return Tn().memoizedState=e},useTransition:function(){var e=dg(!1),t=e[0];return e=CC.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(ee(407));n=n()}else{if(n=t(),mt===null)throw Error(ee(349));Kr&30||My(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,pg(jy.bind(null,r,a,e),[e]),r.flags|=2048,lo(9,By.bind(null,r,a,n,t),void 0,null),n},useId:function(){var e=Tn(),t=mt.identifierPrefix;if(Ve){var n=Kn,r=Wn;n=(r&~(1<<32-wn(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=oo++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=EC++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},IC={readContext:ln,useCallback:Yy,useContext:ln,useEffect:Ed,useImperativeHandle:Gy,useInsertionEffect:Vy,useLayoutEffect:Wy,useMemo:Qy,useReducer:Xu,useRef:qy,useState:function(){return Xu(so)},useDebugValue:Cd,useDeferredValue:function(e){var t=un();return Xy(t,lt.memoizedState,e)},useTransition:function(){var e=Xu(so)[0],t=un().memoizedState;return[e,t]},useMutableSource:zy,useSyncExternalStore:$y,useId:Zy,unstable_isNewReconciler:!1},PC={readContext:ln,useCallback:Yy,useContext:ln,useEffect:Ed,useImperativeHandle:Gy,useInsertionEffect:Vy,useLayoutEffect:Wy,useMemo:Qy,useReducer:Zu,useRef:qy,useState:function(){return Zu(so)},useDebugValue:Cd,useDeferredValue:function(e){var t=un();return lt===null?t.memoizedState=e:Xy(t,lt.memoizedState,e)},useTransition:function(){var e=Zu(so)[0],t=un().memoizedState;return[e,t]},useMutableSource:zy,useSyncExternalStore:$y,useId:Zy,unstable_isNewReconciler:!1};function vn(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 Oc(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=Ot(),i=yr(e),a=Gn(r,i);a.payload=t,n!=null&&(a.callback=n),t=hr(e,a,i),t!==null&&(xn(t,e,i,r),vs(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Ot(),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&&(xn(t,e,i,r),vs(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Ot(),r=yr(e),i=Gn(n,r);i.tag=2,t!=null&&(i.callback=t),t=hr(e,i,r),t!==null&&(xn(t,e,r,n),vs(t,e,r))}};function mg(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 nv(e,t,n){var r=!1,i=kr,a=t.contextType;return typeof a=="object"&&a!==null?a=ln(a):(i=jt(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 fg(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 _c(e,t,n,r){var i=e.stateNode;i.props=n,i.state=e.memoizedState,i.refs={},vd(e);var a=t.contextType;typeof a=="object"&&a!==null?i.context=ln(a):(a=jt(t)?Vr:xt.current,i.context=qi(e,a)),i.state=e.memoizedState,a=t.getDerivedStateFromProps,typeof a=="function"&&(Oc(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+=sE(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 Ju(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function Dc(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var LC=typeof WeakMap=="function"?WeakMap:Map;function rv(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,Vc=r),Dc(e,t)},n}function iv(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(){Dc(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(n.callback=function(){Dc(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 hg(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new LC;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=WC.bind(null,e,t,n),t.then(e,e))}function gg(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 yg(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 OC=Jn.ReactCurrentOwner,Mt=!1;function Lt(e,t,n,r){t.child=e===null?Oy(t,null,n,r):Wi(t,e.child,n,r)}function vg(e,t,n,r,i){n=n.render;var a=t.ref;return ji(t,i),r=Nd(e,t,n,r,a,i),n=Sd(),e!==null&&!Mt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Zn(e,t,i)):(Ve&&n&&dd(t),t.flags|=1,Lt(e,t,r,i),t.child)}function bg(e,t,n,r,i){if(e===null){var a=n.type;return typeof a=="function"&&!_d(a)&&a.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=a,av(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 av(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(eo(a,r)&&e.ref===t.ref)if(Mt=!1,t.pendingProps=r=a,(e.lanes&i)!==0)e.flags&131072&&(Mt=!0);else return t.lanes=e.lanes,Zn(e,t,i)}return Fc(e,t,n,r,i)}function ov(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,Kt),Kt|=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,Kt),Kt|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=a!==null?a.baseLanes:n,Be(Fi,Kt),Kt|=r}else a!==null?(r=a.baseLanes|n,t.memoizedState=null):r=n,Be(Fi,Kt),Kt|=r;return Lt(e,t,i,n),t.child}function sv(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Fc(e,t,n,r,i){var a=jt(n)?Vr:xt.current;return a=qi(t,a),ji(t,i),n=Nd(e,t,n,r,a,i),r=Sd(),e!==null&&!Mt?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,Zn(e,t,i)):(Ve&&r&&dd(t),t.flags|=1,Lt(e,t,n,i),t.child)}function kg(e,t,n,r,i){if(jt(n)){var a=!0;Ds(t)}else a=!1;if(ji(t,i),t.stateNode===null)ws(e,t),nv(t,n,r),_c(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=ln(u):(u=jt(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)&&fg(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||Bt.current||or?(typeof c=="function"&&(Oc(t,n,c,r),l=t.memoizedState),(s=or||mg(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,Dy(e,t),s=t.memoizedProps,u=t.type===t.elementType?s:vn(t.type,s),o.props=u,d=t.pendingProps,p=o.context,l=n.contextType,typeof l=="object"&&l!==null?l=ln(l):(l=jt(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)&&fg(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||Bt.current||or?(typeof m=="function"&&(Oc(t,n,m,r),f=t.memoizedState),(u=or||mg(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 zc(e,t,n,r,a,i)}function zc(e,t,n,r,i,a){sv(e,t);var o=(t.flags&128)!==0;if(!r&&!o)return i&&ag(t,n,!1),Zn(e,t,a);r=t.stateNode,OC.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)):Lt(e,t,s,a),t.memoizedState=r.state,i&&ag(t,n,!0),t.child}function lv(e){var t=e.stateNode;t.pendingContext?ig(e,t.pendingContext,t.pendingContext!==t.context):t.context&&ig(e,t.context,!1),bd(e,t.containerInfo)}function wg(e,t,n,r,i){return Vi(),md(i),t.flags|=256,Lt(e,t,n,r),t.child}var $c={dehydrated:null,treeContext:null,retryLane:0};function Mc(e){return{baseLanes:e,cachePool:null,transitions:null}}function uv(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 Pc(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=Mc(n),t.memoizedState=$c,e):Ad(t,o));if(i=e.memoizedState,i!==null&&(s=i.dehydrated,s!==null))return _C(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?Mc(n):{baseLanes:o.baseLanes|n,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~n,t.memoizedState=$c,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 Ad(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&&md(r),Wi(t,e.child,null,n),e=Ad(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function _C(e,t,n,r,i,a,o){if(n)return t.flags&256?(t.flags&=-257,r=Ju(Error(ee(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=Mc(o),t.memoizedState=$c,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(ee(419)),r=Ju(a,r,void 0),ps(e,t,o,r)}if(s=(o&e.childLanes)!==0,Mt||s){if(r=mt,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),xn(r,e,i,-1))}return Od(),r=Ju(Error(ee(421))),ps(e,t,o,r)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=KC.bind(null,e),i._reactRetry=t,null):(e=a.treeContext,Gt=fr(i.nextSibling),Yt=t,Ve=!0,kn=null,e!==null&&(rn[an++]=Wn,rn[an++]=Kn,rn[an++]=Wr,Wn=e.id,Kn=e.overflow,Wr=t),t=Ad(t,r.children),t.flags|=4096,t)}function xg(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Lc(e.return,t,n)}function ec(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 cv(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;if(Lt(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&&xg(e,n,t);else if(e.tag===19)xg(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),ec(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}ec(t,!0,n,null,a);break;case"together":ec(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(ee(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 DC(e,t,n){switch(t.tag){case 3:lv(t),Vi();break;case 5:Fy(t);break;case 1:jt(t.type)&&Ds(t);break;case 4:bd(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?uv(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 cv(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,ov(e,t,n)}return Zn(e,t,n)}var dv,Bc,pv,mv;dv=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}};Bc=function(){};pv=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=lc(e,i),r=lc(e,r),a=[];break;case"select":i=Ge({},i,{value:void 0}),r=Ge({},r,{value:void 0}),a=[];break;case"textarea":i=dc(e,i),r=dc(e,r),a=[];break;default:typeof i.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Os)}mc(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)}};mv=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 FC(e,t,n){var r=t.pendingProps;switch(pd(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 jt(t.type)&&_s(),kt(t),null;case 3:return r=t.stateNode,Ki(),Ue(Bt),Ue(xt),wd(),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,kn!==null&&(Gc(kn),kn=null))),Bc(e,t),kt(t),null;case 5:kd(t);var i=Ur(ao.current);if(n=t.type,e!==null&&t.stateNode!=null)pv(e,t,n,r,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(ee(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":Ih(r,a),je("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!a.multiple},je("invalid",r);break;case"textarea":Lh(r,a),je("invalid",r)}mc(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),Ph(r,a,!0);break;case"textarea":Xo(r),Oh(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=jg(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,dv(e,t,!1,!1),t.stateNode=e;e:{switch(o=fc(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":Ih(e,r),i=lc(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":Lh(e,r),i=dc(e,r),je("invalid",e);break;default:i=r}mc(n,i),s=i;for(a in s)if(s.hasOwnProperty(a)){var l=s[a];a==="style"?qg(e,l):a==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&Ug(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&&Xc(e,a,l,o))}switch(n){case"input":Xo(e),Ph(e,r,!1);break;case"textarea":Xo(e),Oh(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)mv(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(ee(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=Yt,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&&Gt!==null&&t.mode&1&&!(t.flags&128))Py(),Vi(),t.flags|=98560,a=!1;else if(a=cs(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(ee(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(ee(317));a[Rn]=t}else Vi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;kt(t),a=!1}else kn!==null&&(Gc(kn),kn=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):Od())),t.updateQueue!==null&&(t.flags|=4),kt(t),null);case 4:return Ki(),Bc(e,t),e===null&&to(t.stateNode.containerInfo),kt(t),null;case 10:return gd(t.type._context),kt(t),null;case 17:return jt(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 Ld(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Kt&1073741824&&(kt(t),t.subtreeFlags&6&&(t.flags|=8192)):kt(t),null;case 24:return null;case 25:return null}throw Error(ee(156,t.tag))}function zC(e,t){switch(pd(t),t.tag){case 1:return jt(t.type)&&_s(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ki(),Ue(Bt),Ue(xt),wd(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return kd(t),null;case 13:if(Ue(We),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ee(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 gd(t.type._context),null;case 22:case 23:return Ld(),null;case 24:return null;default:return null}}var ms=!1,wt=!1,$C=typeof WeakSet=="function"?WeakSet:Set,pe=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 jc(e,t,n){try{n()}catch(r){Qe(e,t,r)}}var Ng=!1;function MC(e,t){if(Sc=Is,e=vy(),cd(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(Ec={focusedElem:e,selectionRange:n},Is=!1,pe=t;pe!==null;)if(t=pe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,pe=e;else for(;pe!==null;){t=pe;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,g=h.getSnapshotBeforeUpdate(t.elementType===t.type?b:vn(t.type,b),v);h.__reactInternalSnapshotBeforeUpdate=g}break;case 3:var w=t.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ee(163))}}catch(E){Qe(t,t.return,E)}if(e=t.sibling,e!==null){e.return=t.return,pe=e;break}pe=t.return}return f=Ng,Ng=!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&&jc(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 Uc(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 fv(e){var t=e.alternate;t!==null&&(e.alternate=null,fv(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[Tc],delete t[wC],delete t[xC])),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 hv(e){return e.tag===5||e.tag===3||e.tag===4}function Sg(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||hv(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 Hc(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(Hc(e,t,n),e=e.sibling;e!==null;)Hc(e,t,n),e=e.sibling}function qc(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(qc(e,t,n),e=e.sibling;e!==null;)qc(e,t,n),e=e.sibling}var ht=null,bn=!1;function ir(e,t,n){for(n=n.child;n!==null;)gv(e,t,n),n=n.sibling}function gv(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=bn;ht=null,ir(e,t,n),ht=r,bn=i,ht!==null&&(bn?(e=ht,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ht.removeChild(n.stateNode));break;case 18:ht!==null&&(bn?(e=ht,n=n.stateNode,e.nodeType===8?Ku(e.parentNode,n):e.nodeType===1&&Ku(e,n),Za(e)):Ku(ht,n.stateNode));break;case 4:r=ht,i=bn,ht=n.stateNode.containerInfo,bn=!0,ir(e,t,n),ht=r,bn=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)&&jc(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 Eg(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new $C),t.forEach(function(r){var i=GC.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function yn(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,bn=!1;break e;case 3:ht=s.stateNode.containerInfo,bn=!0;break e;case 4:ht=s.stateNode.containerInfo,bn=!0;break e}s=s.return}if(ht===null)throw Error(ee(160));gv(a,o,i),ht=null,bn=!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;)yv(t,e),t=t.sibling}function yv(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(yn(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:yn(t,e),An(e),r&512&&n!==null&&Di(n,n.return);break;case 5:if(yn(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&&Mg(i,a),fc(s,o);var u=fc(s,a);for(o=0;o<l.length;o+=2){var c=l[o],d=l[o+1];c==="style"?qg(i,d):c==="dangerouslySetInnerHTML"?Ug(i,d):c==="children"?Ga(i,d):Xc(i,c,d,u)}switch(s){case"input":uc(i,a);break;case"textarea":Bg(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(yn(t,e),An(e),r&4){if(e.stateNode===null)throw Error(ee(162));i=e.stateNode,a=e.memoizedProps;try{i.nodeValue=a}catch(b){Qe(e,e.return,b)}}break;case 3:if(yn(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:yn(t,e),An(e);break;case 13:yn(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||(Id=Je())),r&4&&Eg(e);break;case 22:if(c=n!==null&&n.memoizedState!==null,e.mode&1?(wt=(u=wt)||c,yn(t,e),wt=u):yn(t,e),An(e),r&8192){if(u=e.memoizedState!==null,(e.stateNode.isHidden=u)&&!c&&e.mode&1)for(pe=e,c=e.child;c!==null;){for(d=pe=c;pe!==null;){switch(p=pe,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){Ag(d);continue}}m!==null?(m.return=p,pe=m):Ag(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=Hg("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:yn(t,e),An(e),r&4&&Eg(e);break;case 21:break;default:yn(t,e),An(e)}}function An(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(hv(n)){var r=n;break e}n=n.return}throw Error(ee(160))}switch(r.tag){case 5:var i=r.stateNode;r.flags&32&&(Ga(i,""),r.flags&=-33);var a=Sg(e);qc(e,a,i);break;case 3:case 4:var o=r.stateNode.containerInfo,s=Sg(e);Hc(e,s,o);break;default:throw Error(ee(161))}}catch(l){Qe(e,e.return,l)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function BC(e,t,n){pe=e,vv(e,t,n)}function vv(e,t,n){for(var r=(e.mode&1)!==0;pe!==null;){var i=pe,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(pe=i;pe!==null;)o=pe,l=o.child,o.tag===22&&o.memoizedState!==null?Tg(i):l!==null?(l.return=o,pe=l):Tg(i);for(;a!==null;)pe=a,vv(a,t,n),a=a.sibling;pe=i,ms=s,wt=u}Cg(e,t,n)}else i.subtreeFlags&8772&&a!==null?(a.return=i,pe=a):Cg(e,t,n)}}function Cg(e){for(;pe!==null;){var t=pe;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:vn(t.type,n.memoizedProps);r.componentDidUpdate(i,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var a=t.updateQueue;a!==null&&cg(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}cg(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(ee(163))}wt||t.flags&512&&Uc(t)}catch(p){Qe(t,t.return,p)}}if(t===e){pe=null;break}if(n=t.sibling,n!==null){n.return=t.return,pe=n;break}pe=t.return}}function Ag(e){for(;pe!==null;){var t=pe;if(t===e){pe=null;break}var n=t.sibling;if(n!==null){n.return=t.return,pe=n;break}pe=t.return}}function Tg(e){for(;pe!==null;){var t=pe;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{Uc(t)}catch(l){Qe(t,a,l)}break;case 5:var o=t.return;try{Uc(t)}catch(l){Qe(t,o,l)}}}catch(l){Qe(t,t.return,l)}if(t===e){pe=null;break}var s=t.sibling;if(s!==null){s.return=t.return,pe=s;break}pe=t.return}}var jC=Math.ceil,qs=Jn.ReactCurrentDispatcher,Td=Jn.ReactCurrentOwner,sn=Jn.ReactCurrentBatchConfig,Le=0,mt=null,nt=null,gt=0,Kt=0,Fi=xr(0),ut=0,uo=null,Gr=0,il=0,Rd=0,Va=null,$t=null,Id=0,Yi=1/0,qn=null,Vs=!1,Vc=null,gr=null,fs=!1,cr=null,Ws=0,Wa=0,Wc=null,xs=-1,Ns=0;function Ot(){return Le&6?Je():xs!==-1?xs:xs=Je()}function yr(e){return e.mode&1?Le&2&>!==0?gt&-gt:SC.transition!==null?(Ns===0&&(Ns=ny()),Ns):(e=De,e!==0||(e=window.event,e=e===void 0?16:uy(e.type)),e):1}function xn(e,t,n,r){if(50<Wa)throw Wa=0,Wc=null,Error(ee(185));co(e,n,r),(!(Le&2)||e!==mt)&&(e===mt&&(!(Le&2)&&(il|=n),ut===4&&lr(e,gt)),Ut(e,r),n===1&&Le===0&&!(t.mode&1)&&(Yi=Je()+500,el&&Nr()))}function Ut(e,t){var n=e.callbackNode;CE(e,t);var r=Rs(e,e===mt?gt:0);if(r===0)n!==null&&Fh(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&Fh(n),t===1)e.tag===0?NC(Rg.bind(null,e)):Ty(Rg.bind(null,e)),bC(function(){!(Le&6)&&Nr()}),n=null;else{switch(ry(r)){case 1:n=nd;break;case 4:n=ey;break;case 16:n=Ts;break;case 536870912:n=ty;break;default:n=Ts}n=Cv(n,bv.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function bv(e,t){if(xs=-1,Ns=0,Le&6)throw Error(ee(327));var n=e.callbackNode;if(Ui()&&e.callbackNode!==n)return null;var r=Rs(e,e===mt?gt:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=Ks(e,r);else{t=r;var i=Le;Le|=2;var a=wv();(mt!==e||gt!==t)&&(qn=null,Yi=Je()+500,Hr(e,t));do try{qC();break}catch(s){kv(e,s)}while(!0);hd(),qs.current=a,Le=i,nt!==null?t=0:(mt=null,gt=0,t=ut)}if(t!==0){if(t===2&&(i=bc(e),i!==0&&(r=i,t=Kc(e,i))),t===1)throw n=uo,Hr(e,0),lr(e,r),Ut(e,Je()),n;if(t===6)lr(e,r);else{if(i=e.current.alternate,!(r&30)&&!UC(i)&&(t=Ks(e,r),t===2&&(a=bc(e),a!==0&&(r=a,t=Kc(e,a))),t===1))throw n=uo,Hr(e,0),lr(e,r),Ut(e,Je()),n;switch(e.finishedWork=i,e.finishedLanes=r,t){case 0:case 1:throw Error(ee(345));case 2:Mr(e,$t,qn);break;case 3:if(lr(e,r),(r&130023424)===r&&(t=Id+500-Je(),10<t)){if(Rs(e,0)!==0)break;if(i=e.suspendedLanes,(i&r)!==r){Ot(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=Ac(Mr.bind(null,e,$t,qn),t);break}Mr(e,$t,qn);break;case 4:if(lr(e,r),(r&4194240)===r)break;for(t=e.eventTimes,i=-1;0<r;){var o=31-wn(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*jC(r/1960))-r,10<r){e.timeoutHandle=Ac(Mr.bind(null,e,$t,qn),r);break}Mr(e,$t,qn);break;case 5:Mr(e,$t,qn);break;default:throw Error(ee(329))}}}return Ut(e,Je()),e.callbackNode===n?bv.bind(null,e):null}function Kc(e,t){var n=Va;return e.current.memoizedState.isDehydrated&&(Hr(e,t).flags|=256),e=Ks(e,t),e!==2&&(t=$t,$t=n,t!==null&&Gc(t)),e}function Gc(e){$t===null?$t=e:$t.push.apply($t,e)}function UC(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(!Nn(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&=~Rd,t&=~il,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-wn(t),r=1<<n;e[n]=-1,t&=~r}}function Rg(e){if(Le&6)throw Error(ee(327));Ui();var t=Rs(e,0);if(!(t&1))return Ut(e,Je()),null;var n=Ks(e,t);if(e.tag!==0&&n===2){var r=bc(e);r!==0&&(t=r,n=Kc(e,r))}if(n===1)throw n=uo,Hr(e,0),lr(e,t),Ut(e,Je()),n;if(n===6)throw Error(ee(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Mr(e,$t,qn),Ut(e,Je()),null}function Pd(e,t){var n=Le;Le|=1;try{return e(t)}finally{Le=n,Le===0&&(Yi=Je()+500,el&&Nr())}}function Yr(e){cr!==null&&cr.tag===0&&!(Le&6)&&Ui();var t=Le;Le|=1;var n=sn.transition,r=De;try{if(sn.transition=null,De=1,e)return e()}finally{De=r,sn.transition=n,Le=t,!(Le&6)&&Nr()}}function Ld(){Kt=Fi.current,Ue(Fi)}function Hr(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,vC(n)),nt!==null)for(n=nt.return;n!==null;){var r=n;switch(pd(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&_s();break;case 3:Ki(),Ue(Bt),Ue(xt),wd();break;case 5:kd(r);break;case 4:Ki();break;case 13:Ue(We);break;case 19:Ue(We);break;case 10:gd(r.type._context);break;case 22:case 23:Ld()}n=n.return}if(mt=e,nt=e=vr(e.current,null),gt=Kt=t,ut=0,uo=null,Rd=il=Gr=0,$t=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 kv(e,t){do{var n=nt;try{if(hd(),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,pt=lt=Ke=null,Ha=!1,oo=0,Td.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=gg(o);if(m!==null){m.flags&=-257,yg(m,o,s,a,t),m.mode&1&&hg(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)){hg(a,u,t),Od();break e}l=Error(ee(426))}}else if(Ve&&s.mode&1){var v=gg(o);if(v!==null){!(v.flags&65536)&&(v.flags|=256),yg(v,o,s,a,t),md(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=rv(a,l,t);ug(a,h);break e;case 1:s=l;var g=a.type,w=a.stateNode;if(!(a.flags&128)&&(typeof g.getDerivedStateFromError=="function"||w!==null&&typeof w.componentDidCatch=="function"&&(gr===null||!gr.has(w)))){a.flags|=65536,t&=-t,a.lanes|=t;var E=iv(a,s,t);ug(a,E);break e}}a=a.return}while(a!==null)}Nv(n)}catch(S){t=S,nt===n&&n!==null&&(nt=n=n.return);continue}break}while(!0)}function wv(){var e=qs.current;return qs.current=Hs,e===null?Hs:e}function Od(){(ut===0||ut===3||ut===2)&&(ut=4),mt===null||!(Gr&268435455)&&!(il&268435455)||lr(mt,gt)}function Ks(e,t){var n=Le;Le|=2;var r=wv();(mt!==e||gt!==t)&&(qn=null,Hr(e,t));do try{HC();break}catch(i){kv(e,i)}while(!0);if(hd(),Le=n,qs.current=r,nt!==null)throw Error(ee(261));return mt=null,gt=0,ut}function HC(){for(;nt!==null;)xv(nt)}function qC(){for(;nt!==null&&!yE();)xv(nt)}function xv(e){var t=Ev(e.alternate,e,Kt);e.memoizedProps=e.pendingProps,t===null?Nv(e):nt=t,Td.current=null}function Nv(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=zC(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=FC(n,t,Kt),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=sn.transition;try{sn.transition=null,De=1,VC(e,t,n,r)}finally{sn.transition=i,De=r}return null}function VC(e,t,n,r){do Ui();while(cr!==null);if(Le&6)throw Error(ee(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(ee(177));e.callbackNode=null,e.callbackPriority=0;var a=n.lanes|n.childLanes;if(AE(e,a),e===mt&&(nt=mt=null,gt=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||fs||(fs=!0,Cv(Ts,function(){return Ui(),null})),a=(n.flags&15990)!==0,n.subtreeFlags&15990||a){a=sn.transition,sn.transition=null;var o=De;De=1;var s=Le;Le|=4,Td.current=null,MC(e,n),yv(n,e),mC(Ec),Is=!!Sc,Ec=Sc=null,e.current=n,BC(n,e,i),vE(),Le=s,De=o,sn.transition=a}else e.current=n;if(fs&&(fs=!1,cr=e,Ws=i),a=e.pendingLanes,a===0&&(gr=null),wE(n.stateNode,r),Ut(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=Vc,Vc=null,e;return Ws&1&&e.tag!==0&&Ui(),a=e.pendingLanes,a&1?e===Wc?Wa++:(Wa=0,Wc=e):Wa=0,Nr(),null}function Ui(){if(cr!==null){var e=ry(Ws),t=sn.transition,n=De;try{if(sn.transition=null,De=16>e?16:e,cr===null)var r=!1;else{if(e=cr,cr=null,Ws=0,Le&6)throw Error(ee(331));var i=Le;for(Le|=4,pe=e.current;pe!==null;){var a=pe,o=a.child;if(pe.flags&16){var s=a.deletions;if(s!==null){for(var l=0;l<s.length;l++){var u=s[l];for(pe=u;pe!==null;){var c=pe;switch(c.tag){case 0:case 11:case 15:qa(8,c,a)}var d=c.child;if(d!==null)d.return=c,pe=d;else for(;pe!==null;){c=pe;var p=c.sibling,m=c.return;if(fv(c),c===u){pe=null;break}if(p!==null){p.return=m,pe=p;break}pe=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)}}pe=a}}if(a.subtreeFlags&2064&&o!==null)o.return=a,pe=o;else e:for(;pe!==null;){if(a=pe,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,pe=h;break e}pe=a.return}}var g=e.current;for(pe=g;pe!==null;){o=pe;var w=o.child;if(o.subtreeFlags&2064&&w!==null)w.return=o,pe=w;else e:for(o=g;pe!==null;){if(s=pe,s.flags&2048)try{switch(s.tag){case 0:case 11:case 15:rl(9,s)}}catch(S){Qe(s,s.return,S)}if(s===o){pe=null;break e}var E=s.sibling;if(E!==null){E.return=s.return,pe=E;break e}pe=s.return}}if(Le=i,Nr(),In&&typeof In.onPostCommitFiberRoot=="function")try{In.onPostCommitFiberRoot(Ys,e)}catch{}r=!0}return r}finally{De=n,sn.transition=t}}return!1}function Ig(e,t,n){t=Gi(n,t),t=rv(e,t,1),e=hr(e,t,1),t=Ot(),e!==null&&(co(e,1,t),Ut(e,t))}function Qe(e,t,n){if(e.tag===3)Ig(e,e,n);else for(;t!==null;){if(t.tag===3){Ig(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=iv(t,e,1),t=hr(t,e,1),e=Ot(),t!==null&&(co(t,1,e),Ut(t,e));break}}t=t.return}}function WC(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=Ot(),e.pingedLanes|=e.suspendedLanes&n,mt===e&&(gt&n)===n&&(ut===4||ut===3&&(gt&130023424)===gt&&500>Je()-Id?Hr(e,0):Rd|=n),Ut(e,t)}function Sv(e,t){t===0&&(e.mode&1?(t=es,es<<=1,!(es&130023424)&&(es=4194304)):t=1);var n=Ot();e=Xn(e,t),e!==null&&(co(e,t,n),Ut(e,n))}function KC(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Sv(e,n)}function GC(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(ee(314))}r!==null&&r.delete(t),Sv(e,n)}var Ev;Ev=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Bt.current)Mt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Mt=!1,DC(e,t,n);Mt=!!(e.flags&131072)}else Mt=!1,Ve&&t.flags&1048576&&Ry(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=Nd(null,t,r,e,i,n);var a=Sd();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,jt(r)?(a=!0,Ds(t)):a=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,vd(t),i.updater=nl,t.stateNode=i,i._reactInternals=t,_c(t,r,e,n),t=zc(null,t,r,!0,a,n)):(t.tag=0,Ve&&a&&dd(t),Lt(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=QC(r),e=vn(r,e),i){case 0:t=Fc(null,t,r,e,n);break e;case 1:t=kg(null,t,r,e,n);break e;case 11:t=vg(null,t,r,e,n);break e;case 14:t=bg(null,t,r,vn(r.type,e),n);break e}throw Error(ee(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:vn(r,i),Fc(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:vn(r,i),kg(e,t,r,i,n);case 3:e:{if(lv(t),e===null)throw Error(ee(387));r=t.pendingProps,a=t.memoizedState,i=a.element,Dy(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(ee(423)),t),t=wg(e,t,r,n,i);break e}else if(r!==i){i=Gi(Error(ee(424)),t),t=wg(e,t,r,n,i);break e}else for(Gt=fr(t.stateNode.containerInfo.firstChild),Yt=t,Ve=!0,kn=null,n=Oy(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}Lt(e,t,r,n)}t=t.child}return t;case 5:return Fy(t),e===null&&Pc(t),r=t.type,i=t.pendingProps,a=e!==null?e.memoizedProps:null,o=i.children,Cc(r,i)?o=null:a!==null&&Cc(r,a)&&(t.flags|=32),sv(e,t),Lt(e,t,o,n),t.child;case 6:return e===null&&Pc(t),null;case 13:return uv(e,t,n);case 4:return bd(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Wi(t,null,r,n):Lt(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:vn(r,i),vg(e,t,r,i,n);case 7:return Lt(e,t,t.pendingProps,n),t.child;case 8:return Lt(e,t,t.pendingProps.children,n),t.child;case 12:return Lt(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(Nn(a.value,o)){if(a.children===i.children&&!Bt.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),Lc(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(ee(341));o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),Lc(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}Lt(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,ji(t,n),i=ln(i),r=r(i),t.flags|=1,Lt(e,t,r,n),t.child;case 14:return r=t.type,i=vn(r,t.pendingProps),i=vn(r.type,i),bg(e,t,r,i,n);case 15:return av(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:vn(r,i),ws(e,t),t.tag=1,jt(r)?(e=!0,Ds(t)):e=!1,ji(t,n),nv(t,r,i),_c(t,r,i,n),zc(null,t,r,!0,e,n);case 19:return cv(e,t,n);case 22:return ov(e,t,n)}throw Error(ee(156,t.tag))};function Cv(e,t){return Jg(e,t)}function YC(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 on(e,t,n,r){return new YC(e,t,n,r)}function _d(e){return e=e.prototype,!(!e||!e.isReactComponent)}function QC(e){if(typeof e=="function")return _d(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Jc)return 11;if(e===ed)return 14}return 2}function vr(e,t){var n=e.alternate;return n===null?(n=on(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")_d(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Ci:return qr(n.children,i,a,t);case Zc:o=8,i|=8;break;case ic:return e=on(12,n,t,i|2),e.elementType=ic,e.lanes=a,e;case ac:return e=on(13,n,t,i),e.elementType=ac,e.lanes=a,e;case oc:return e=on(19,n,t,i),e.elementType=oc,e.lanes=a,e;case Fg:return al(n,i,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case _g:o=10;break e;case Dg:o=9;break e;case Jc:o=11;break e;case ed:o=14;break e;case ar:o=16,r=null;break e}throw Error(ee(130,e==null?e:typeof e,""))}return t=on(o,n,t,i),t.elementType=e,t.type=r,t.lanes=a,t}function qr(e,t,n,r){return e=on(7,e,r,t),e.lanes=n,e}function al(e,t,n,r){return e=on(22,e,r,t),e.elementType=Fg,e.lanes=n,e.stateNode={isHidden:!1},e}function tc(e,t,n){return e=on(6,e,null,t),e.lanes=n,e}function nc(e,t,n){return t=on(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function XC(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=Mu(0),this.expirationTimes=Mu(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Mu(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Dd(e,t,n,r,i,a,o,s,l){return e=new XC(e,t,n,s,l),t===1?(t=1,a===!0&&(t|=8)):t=0,a=on(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},vd(a),e}function ZC(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 Av(e){if(!e)return kr;e=e._reactInternals;e:{if(Xr(e)!==e||e.tag!==1)throw Error(ee(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(jt(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(ee(171))}if(e.tag===1){var n=e.type;if(jt(n))return Ay(e,n,t)}return t}function Tv(e,t,n,r,i,a,o,s,l){return e=Dd(n,r,!0,e,i,a,o,s,l),e.context=Av(null),n=e.current,r=Ot(),i=yr(n),a=Gn(r,i),a.callback=t??null,hr(n,a,i),e.current.lanes=i,co(e,i,r),Ut(e,r),e}function ol(e,t,n,r){var i=t.current,a=Ot(),o=yr(i);return n=Av(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&&(xn(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 Pg(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Fd(e,t){Pg(e,t),(e=e.alternate)&&Pg(e,t)}function JC(){return null}var Rv=typeof reportError=="function"?reportError:function(e){console.error(e)};function zd(e){this._internalRoot=e}sl.prototype.render=zd.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(ee(409));ol(e,t,null,null)};sl.prototype.unmount=zd.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=oy();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&&ly(e)}};function $d(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 Lg(){}function e2(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=Tv(t,r,e,0,null,!1,!1,"",Lg);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=Dd(e,0,!1,null,null,!1,!1,"",Lg);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=e2(n,t,e,i,r);return Gs(o)}iy=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=Fa(t.pendingLanes);n!==0&&(rd(t,n|1),Ut(t,Je()),!(Le&6)&&(Yi=Je()+500,Nr()))}break;case 13:Yr(function(){var r=Xn(e,1);if(r!==null){var i=Ot();xn(r,e,1,i)}}),Fd(e,1)}};id=function(e){if(e.tag===13){var t=Xn(e,134217728);if(t!==null){var n=Ot();xn(t,e,134217728,n)}Fd(e,134217728)}};ay=function(e){if(e.tag===13){var t=yr(e),n=Xn(e,t);if(n!==null){var r=Ot();xn(n,e,t,r)}Fd(e,t)}};oy=function(){return De};sy=function(e,t){var n=De;try{return De=e,t()}finally{De=n}};gc=function(e,t,n){switch(t){case"input":if(uc(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(ee(90));$g(r),uc(r,i)}}}break;case"textarea":Bg(e,n);break;case"select":t=n.value,t!=null&&zi(e,!!n.multiple,t,!1)}};Kg=Pd;Gg=Yr;var t2={usingClientEntryPoint:!1,Events:[mo,Ii,Js,Vg,Wg,Pd]},La={findFiberByHostInstance:Br,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},n2={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=Xg(e),e===null?null:e.stateNode},findFiberByHostInstance:La.findFiberByHostInstance||JC,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(n2),In=Oa}catch{}var Oa;Zt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=t2;Zt.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!$d(t))throw Error(ee(200));return ZC(e,t,null,n)};Zt.createRoot=function(e,t){if(!$d(e))throw Error(ee(299));var n=!1,r="",i=Rv;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=Dd(e,1,!1,null,null,n,!1,r,i),e[Qn]=t.current,to(e.nodeType===8?e.parentNode:e),new zd(t)};Zt.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(ee(188)):(e=Object.keys(e).join(","),Error(ee(268,e)));return e=Xg(t),e=e===null?null:e.stateNode,e};Zt.flushSync=function(e){return Yr(e)};Zt.hydrate=function(e,t,n){if(!ll(t))throw Error(ee(200));return ul(null,e,t,!0,n)};Zt.hydrateRoot=function(e,t,n){if(!$d(e))throw Error(ee(405));var r=n!=null&&n.hydratedSources||null,i=!1,a="",o=Rv;if(n!=null&&(n.unstable_strictMode===!0&&(i=!0),n.identifierPrefix!==void 0&&(a=n.identifierPrefix),n.onRecoverableError!==void 0&&(o=n.onRecoverableError)),t=Tv(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)};Zt.render=function(e,t,n){if(!ll(t))throw Error(ee(200));return ul(null,e,t,!1,n)};Zt.unmountComponentAtNode=function(e){if(!ll(e))throw Error(ee(40));return e._reactRootContainer?(Yr(function(){ul(null,null,e,!1,function(){e._reactRootContainer=null,e[Qn]=null})}),!0):!1};Zt.unstable_batchedUpdates=Pd;Zt.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!ll(n))throw Error(ee(200));if(e==null||e._reactInternals===void 0)throw Error(ee(38));return ul(e,t,n,!1,r)};Zt.version="18.3.1-next-f1338f8080-20240426"});var Ov=se((r_,Lv)=>{"use strict";function Pv(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Pv)}catch(e){console.error(e)}}Pv(),Lv.exports=Iv()});var Dv=se(Md=>{"use strict";var _v=Ov();Md.createRoot=_v.createRoot,Md.hydrateRoot=_v.hydrateRoot;var i_});var Mv=se(cl=>{"use strict";var a2=Ye(),o2=Symbol.for("react.element"),s2=Symbol.for("react.fragment"),l2=Object.prototype.hasOwnProperty,u2=a2.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,c2={key:!0,ref:!0,__self:!0,__source:!0};function $v(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)l2.call(t,r)&&!c2.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:o2,type:e,key:a,ref:o,props:i,_owner:u2.current}}cl.Fragment=s2;cl.jsx=$v;cl.jsxs=$v});var Ce=se((p_,Bv)=>{"use strict";Bv.exports=Mv()});var ub=se((DD,lb)=>{var ib=/\\/\\*[^*]*\\*+([^/*][^*]*\\*+)*\\//g,E2=/\\n/g,C2=/^\\s*/,A2=/^(\\*?[-#/*\\\\\\w]+(\\[[0-9a-z_-]+\\])?)\\s*/,T2=/^:\\s*/,R2=/^((?:\'(?:\\\\\'|.)*?\'|"(?:\\\\"|.)*?"|\\([^)]*?\\)|[^};])+)/,I2=/^[;\\s]*/,P2=/^\\s+|\\s+$/g,L2=`\n`,ab="/",ob="*",ti="",O2="comment",_2="declaration";lb.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(E2);v&&(n+=v.length);var h=b.lastIndexOf(L2);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(C2)}function d(b){var v;for(b=b||[];v=p();)v!==!1&&b.push(v);return b}function p(){var b=a();if(!(ab!=e.charAt(0)||ob!=e.charAt(1))){for(var v=2;ti!=e.charAt(v)&&(ob!=e.charAt(v)||ab!=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:O2,comment:h})}}function m(){var b=a(),v=u(A2);if(v){if(p(),!u(T2))return l("property missing \':\'");var h=u(R2),g=b({type:_2,property:sb(v[0].replace(ib,ti)),value:h?sb(h[0].replace(ib,ti)):ti});return u(I2),g}}function f(){var b=[];d(b);for(var v;v=m();)v!==!1&&(b.push(v),d(b));return b}return c(),f()};function sb(e){return e?e.replace(P2,ti):ti}});var cb=se(ko=>{"use strict";var D2=ko&&ko.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(ko,"__esModule",{value:!0});var F2=D2(ub());function z2(e,t){var n=null;if(!e||typeof e!="string")return n;var r=(0,F2.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=z2});var Ik=se((h$,Rk)=>{"use strict";var Ul=Object.prototype.hasOwnProperty,Tk=Object.prototype.toString,xk=Object.defineProperty,Nk=Object.getOwnPropertyDescriptor,Sk=function(t){return typeof Array.isArray=="function"?Array.isArray(t):Tk.call(t)==="[object Array]"},Ek=function(t){if(!t||Tk.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)},Ck=function(t,n){xk&&n.name==="__proto__"?xk(t,n.name,{enumerable:!0,configurable:!0,value:n.newValue,writable:!0}):t[n.name]=n.newValue},Ak=function(t,n){if(n==="__proto__")if(Ul.call(t,n)){if(Nk)return Nk(t,n).value}else return;return t[n]};Rk.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=Ak(s,n),i=Ak(t,n),s!==i&&(c&&i&&(Ek(i)||(a=Sk(i)))?(a?(a=!1,o=r&&Sk(r)?r:[]):o=r&&Ek(r)?r:{},Ck(s,{name:n,newValue:e(c,o,i)})):typeof i<"u"&&Ck(s,{name:n,newValue:i}));return s}});var Kk=se((cM,Wk)=>{"use strict";Wk.exports=Bp;Bp.displayName="bash";Bp.aliases=["shell"];function Bp(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 Up=se((pM,Qk)=>{"use strict";Qk.exports=jp;jp.displayName="c";jp.aliases=[];function jp(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 ew=se((fM,Jk)=>{"use strict";var gR=Up();Jk.exports=Hp;Hp.displayName="cpp";Hp.aliases=[];function Hp(e){e.register(gR),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 iw=se((gM,rw)=>{"use strict";rw.exports=qp;qp.displayName="csharp";qp.aliases=["dotnet","cs"];function qp(e){(function(t){function n(y,_){return y.replace(/<<(\\d+)>>/g,function(U,N){return"(?:"+_[+N]+")"})}function r(y,_,U){return RegExp(n(y,_),U||"")}function i(y,_){for(var U=0;U<_;U++)y=y.replace(/<<self>>/g,function(){return"(?:"+y+")"});return y.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(y){return"\\\\b(?:"+y.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]),g=n(/[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[d,p,v]),w=n(/\\(<<0>>+(?:,<<0>>+)+\\)/.source,[g]),E=n(/(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?/.source,[w,b,v]),S={keyword:l,punctuation:/[<>()?,.:[\\]]/},x=/\'(?:[^\\r\\n\'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})\'/.source,C=/"(?:\\\\.|[^\\\\"\\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,[C]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:r(/(\\busing\\s+static\\s+)<<0>>(?=\\s*;)/.source,[b]),lookbehind:!0,inside:S},{pattern:r(/(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)/.source,[m,E]),lookbehind:!0,inside:S},{pattern:r(/(\\busing\\s+)<<0>>(?=\\s*=)/.source,[m]),lookbehind:!0},{pattern:r(/(\\b<<0>>\\s+)<<1>>/.source,[s,f]),lookbehind:!0,inside:S},{pattern:r(/(\\bcatch\\s*\\(\\s*)<<0>>/.source,[b]),lookbehind:!0,inside:S},{pattern:r(/(\\bwhere\\s+)<<0>>/.source,[m]),lookbehind:!0},{pattern:r(/(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>/.source,[h]),lookbehind:!0,inside:S},{pattern:r(/\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))/.source,[E,c,m]),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,[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:S},"return-type":{pattern:r(/<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))/.source,[E,b]),inside:S,alias:"class-name"},"constructor-invocation":{pattern:r(/(\\bnew\\s+)<<0>>(?=\\s*[[({])/.source,[E]),lookbehind:!0,inside:S,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: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,f,m,E,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(E),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 $=C+"|"+x,T=n(/\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>/.source,[$]),te=i(n(/[^"\'/()]|<<0>>|\\(<<self>>*\\)/.source,[T]),2),H=/\\b(?:assembly|event|field|method|module|param|property|return|type)\\b/.source,D=n(/<<0>>(?:\\s*\\(<<1>>*\\))?/.source,[b,te]);t.languages.insertBefore("csharp","class-name",{attribute:{pattern:r(/((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])/.source,[H,D]),lookbehind:!0,greedy:!0,inside:{target:{pattern:r(/^<<0>>(?=\\s*:)/.source,[H]),alias:"keyword"},"attribute-arguments":{pattern:r(/\\(<<0>>*\\)/.source,[te]),inside:t.languages.csharp},"class-name":{pattern:RegExp(b),inside:{punctuation:/\\./}},punctuation:/[:,]/}}});var Y=/:[^}\\r\\n]+/.source,L=i(n(/[^"\'/()]|<<0>>|\\(<<self>>*\\)/.source,[T]),2),j=n(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source,[L,Y]),ce=i(n(/[^"\'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)/.source,[$]),2),K=n(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source,[ce,Y]);function O(y,_){return{interpolation:{pattern:r(/((?:^|[^{])(?:\\{\\{)*)<<0>>/.source,[y]),lookbehind:!0,inside:{"format-string":{pattern:r(/(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)/.source,[_,Y]),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,[j]),lookbehind:!0,greedy:!0,inside:O(j,L)},{pattern:r(/(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"/.source,[K]),lookbehind:!0,greedy:!0,inside:O(K,ce)}],char:{pattern:RegExp(x),greedy:!0}}),t.languages.dotnet=t.languages.cs=t.languages.csharp})(e)}});var lw=se((vM,sw)=>{"use strict";sw.exports=Vp;Vp.displayName="dart";Vp.aliases=[];function Vp(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 pw=se((kM,dw)=>{"use strict";dw.exports=Wp;Wp.displayName="diff";Wp.aliases=[];function Wp(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 gw=se((xM,hw)=>{"use strict";hw.exports=Kp;Kp.displayName="docker";Kp.aliases=["dockerfile"];function Kp(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 kw=se((SM,bw)=>{"use strict";bw.exports=Gp;Gp.displayName="go";Gp.aliases=[];function Gp(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 Sw=se((CM,Nw)=>{"use strict";Nw.exports=Yp;Yp.displayName="graphql";Yp.aliases=[];function Yp(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 g=0;g<v.length;g++){var w=a(g+h);if(!w||w.type!==v[g])return!1}return!0}function s(v,h){for(var g=1,w=i;w<r.length;w++){var E=r[w],S=E.content;if(E.type==="punctuation"&&typeof S=="string"){if(v.test(S))g++;else if(h.test(S)&&(g--,g===0))return w}}return-1}function l(v,h){var g=v.alias;g?Array.isArray(g)||(v.alias=g=[g]):v.alias=g=[],g.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 Tw=se((TM,Aw)=>{"use strict";Aw.exports=Qp;Qp.displayName="ini";Qp.aliases=[];function Qp(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 Lw=se((IM,Pw)=>{"use strict";Pw.exports=Xp;Xp.displayName="java";Xp.aliases=[];function Xp(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 Jp=se((LM,Dw)=>{"use strict";Dw.exports=Zp;Zp.displayName="javascript";Zp.aliases=["js"];function Zp(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 Mw=se((_M,$w)=>{"use strict";$w.exports=em;em.displayName="json";em.aliases=["webmanifest"];function em(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 nm=se((FM,Uw)=>{"use strict";Uw.exports=tm;tm.displayName="jsx";tm.aliases=[];function tm(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 Ww=se(($M,Vw)=>{"use strict";Vw.exports=rm;rm.displayName="kotlin";rm.aliases=["kt","kts"];function rm(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 Qw=se((BM,Yw)=>{"use strict";Yw.exports=im;im.displayName="lua";im.aliases=[];function im(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 e0=se((UM,Jw)=>{"use strict";Jw.exports=am;am.displayName="makefile";am.aliases=[];function am(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 i0=se((qM,r0)=>{"use strict";r0.exports=om;om.displayName="markdown";om.aliases=["md"];function om(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],g=v.content[3];if(h&&g&&h.type==="code-language"&&g.type==="code-block"&&typeof h.content=="string"){var w=h.content.replace(/\\b#/g,"sharp").replace(/\\b\\+\\+/g,"pp");w=(/[a-z][\\w-]*/i.exec(w)||[""])[0].toLowerCase();var E="language-"+w;g.alias?typeof g.alias=="string"?g.alias=[g.alias,E]:g.alias.push(E):g.alias=[E]}}}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 g="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);d.attributes.id=g,t.plugins.autoloader.loadLanguages(p,function(){var w=document.getElementById(g);w&&(w.innerHTML=t.highlight(w.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 lm=se((WM,s0)=>{"use strict";s0.exports=sm;sm.displayName="markup";sm.aliases=["html","mathml","svg","xml","ssml","atom","rss"];function sm(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(/&/,"&"))}),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 d0=se((GM,c0)=>{"use strict";c0.exports=um;um.displayName="markupTemplating";um.aliases=[];function um(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),g=m.substring(b+f.length),w=[];v&&w.push.apply(w,s([v])),w.push(h),g&&w.push.apply(w,s([g])),typeof c=="string"?l.splice.apply(l,[u,1].concat(w)):c.content=w}}else c.content&&s(c.content)}return l}s(r.tokens)}}})})(e)}});var m0=se((YM,p0)=>{"use strict";var yR=d0();p0.exports=cm;cm.displayName="php";cm.aliases=[];function cm(e){e.register(yR),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 y0=se((XM,g0)=>{"use strict";g0.exports=dm;dm.displayName="powershell";dm.aliases=[];function dm(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 w0=se((JM,k0)=>{"use strict";k0.exports=pm;pm.displayName="python";pm.aliases=["py"];function pm(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://,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 E0=se((t6,S0)=>{"use strict";S0.exports=mm;mm.displayName="ruby";mm.aliases=["rb"];function mm(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 R0=se((r6,T0)=>{"use strict";T0.exports=fm;fm.displayName="rust";fm.aliases=[];function fm(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 O0=se((a6,L0)=>{"use strict";L0.exports=hm;hm.displayName="sql";hm.aliases=[];function hm(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 z0=se((s6,F0)=>{"use strict";F0.exports=gm;gm.displayName="swift";gm.aliases=[];function gm(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 j0=se((u6,B0)=>{"use strict";B0.exports=ym;ym.displayName="toml";ym.aliases=[];function ym(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 bm=se((d6,q0)=>{"use strict";q0.exports=vm;vm.displayName="typescript";vm.aliases=["ts"];function vm(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 W0=se((p6,V0)=>{"use strict";var vR=nm(),bR=bm();V0.exports=km;km.displayName="tsx";km.aliases=[];function km(e){e.register(vR),e.register(bR),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 Z0=se((h6,X0)=>{"use strict";X0.exports=wm;wm.displayName="yaml";wm.aliases=["yml"];function wm(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 hx=se((M6,fx)=>{fx.exports=IR;var RR=Object.prototype.hasOwnProperty;function IR(){for(var e={},t=0;t<arguments.length;t++){var n=arguments[t];for(var r in n)RR.call(n,r)&&(e[r]=n[r])}return e}});var Nm=se((B6,yx)=>{"use strict";yx.exports=gx;var xm=gx.prototype;xm.space=null;xm.normal={};xm.property={};function gx(e,t,n){this.property=e,this.normal=t,n&&(this.space=n)}});var kx=se((j6,bx)=>{"use strict";var vx=hx(),PR=Nm();bx.exports=LR;function LR(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 PR(vx.apply(null,n),vx.apply(null,r),o)}});var Yl=se((U6,wx)=>{"use strict";wx.exports=OR;function OR(e){return e.toLowerCase()}});var Sm=se((H6,Nx)=>{"use strict";Nx.exports=xx;var mn=xx.prototype;mn.space=null;mn.attribute=null;mn.property=null;mn.boolean=!1;mn.booleanish=!1;mn.overloadedBoolean=!1;mn.number=!1;mn.commaSeparated=!1;mn.spaceSeparated=!1;mn.commaOrSpaceSeparated=!1;mn.mustUseProperty=!1;mn.defined=!1;function xx(e,t){this.property=e,this.attribute=t}});var Ql=se(Or=>{"use strict";var _R=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,++_R)}});var Cm=se((V6,Tx)=>{"use strict";var Cx=Sm(),Sx=Ql();Tx.exports=Em;Em.prototype=new Cx;Em.prototype.defined=!0;var Ax=["boolean","booleanish","overloadedBoolean","number","commaSeparated","spaceSeparated","commaOrSpaceSeparated"],DR=Ax.length;function Em(e,t,n,r){var i=-1,a;for(Ex(this,"space",r),Cx.call(this,e,t);++i<DR;)a=Ax[i],Ex(this,a,(n&Sx[a])===Sx[a])}function Ex(e,t,n){n&&(e[t]=n)}});var sa=se((W6,Ix)=>{"use strict";var Rx=Yl(),FR=Nm(),zR=Cm();Ix.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 zR(l,a(r,l),i[l],t),n.indexOf(l)!==-1&&(u.mustUseProperty=!0),o[l]=u,s[Rx(l)]=l,s[Rx(u.attribute)]=l;return new FR(o,s,t)}});var Lx=se((K6,Px)=>{"use strict";var MR=sa();Px.exports=MR({space:"xlink",transform:BR,properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null}});function BR(e,t){return"xlink:"+t.slice(5).toLowerCase()}});var _x=se((G6,Ox)=>{"use strict";var jR=sa();Ox.exports=jR({space:"xml",transform:UR,properties:{xmlLang:null,xmlBase:null,xmlSpace:null}});function UR(e,t){return"xml:"+t.slice(3).toLowerCase()}});var Fx=se((Y6,Dx)=>{"use strict";Dx.exports=HR;function HR(e,t){return t in e?e[t]:t}});var Am=se((Q6,zx)=>{"use strict";var qR=Fx();zx.exports=VR;function VR(e,t){return qR(e,t.toLowerCase())}});var Mx=se((X6,$x)=>{"use strict";var WR=sa(),KR=Am();$x.exports=WR({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:KR,properties:{xmlns:null,xmlnsXLink:null}})});var jx=se((Z6,Bx)=>{"use strict";var Tm=Ql(),GR=sa(),qt=Tm.booleanish,fn=Tm.number,fi=Tm.spaceSeparated;Bx.exports=GR({transform:YR,properties:{ariaActiveDescendant:null,ariaAtomic:qt,ariaAutoComplete:null,ariaBusy:qt,ariaChecked:qt,ariaColCount:fn,ariaColIndex:fn,ariaColSpan:fn,ariaControls:fi,ariaCurrent:null,ariaDescribedBy:fi,ariaDetails:null,ariaDisabled:qt,ariaDropEffect:fi,ariaErrorMessage:null,ariaExpanded:qt,ariaFlowTo:fi,ariaGrabbed:qt,ariaHasPopup:null,ariaHidden:qt,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:fi,ariaLevel:fn,ariaLive:null,ariaModal:qt,ariaMultiLine:qt,ariaMultiSelectable:qt,ariaOrientation:null,ariaOwns:fi,ariaPlaceholder:null,ariaPosInSet:fn,ariaPressed:qt,ariaReadOnly:qt,ariaRelevant:null,ariaRequired:qt,ariaRoleDescription:fi,ariaRowCount:fn,ariaRowIndex:fn,ariaRowSpan:fn,ariaSelected:qt,ariaSetSize:fn,ariaSort:null,ariaValueMax:fn,ariaValueMin:fn,ariaValueNow:fn,ariaValueText:null,role:null}});function YR(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});var Hx=se((J6,Ux)=>{"use strict";var la=Ql(),QR=sa(),XR=Am(),Te=la.boolean,ZR=la.overloadedBoolean,Fo=la.booleanish,qe=la.number,zt=la.spaceSeparated,Xl=la.commaSeparated;Ux.exports=QR({space:"html",attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},transform:XR,mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Xl,acceptCharset:zt,accessKey:zt,action:null,allow:null,allowFullScreen:Te,allowPaymentRequest:Te,allowUserMedia:Te,alt:null,as:null,async:Te,autoCapitalize:null,autoComplete:zt,autoFocus:Te,autoPlay:Te,capture:Te,charSet:null,checked:Te,cite:null,className:zt,cols:qe,colSpan:null,content:null,contentEditable:Fo,controls:Te,controlsList:zt,coords:qe|Xl,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Te,defer:Te,dir:null,dirName:null,disabled:Te,download:ZR,draggable:Fo,encType:null,enterKeyHint:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Te,formTarget:null,headers:zt,height:qe,hidden:Te,high:qe,href:null,hrefLang:null,htmlFor:zt,httpEquiv:zt,id:null,imageSizes:null,imageSrcSet:Xl,inputMode:null,integrity:null,is:null,isMap:Te,itemId:null,itemProp:zt,itemRef:zt,itemScope:Te,itemType:zt,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:zt,placeholder:null,playsInline:Te,poster:null,preload:null,readOnly:Te,referrerPolicy:null,rel:zt,required:Te,reversed:Te,rows:qe,rowSpan:qe,sandbox:zt,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:zt,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 Vx=se((eB,qx)=>{"use strict";var JR=kx(),eI=Lx(),tI=_x(),nI=Mx(),rI=jx(),iI=Hx();qx.exports=JR([tI,eI,nI,rI,iI])});var Gx=se((tB,Kx)=>{"use strict";var aI=Yl(),oI=Cm(),sI=Sm(),Rm="data";Kx.exports=cI;var lI=/^data[-\\w.:]+$/i,Wx=/-[a-z]/g,uI=/[A-Z]/g;function cI(e,t){var n=aI(t),r=t,i=sI;return n in e.normal?e.property[e.normal[n]]:(n.length>4&&n.slice(0,4)===Rm&&lI.test(t)&&(t.charAt(4)==="-"?r=dI(t):t=pI(t),i=oI),new i(r,t))}function dI(e){var t=e.slice(5).replace(Wx,fI);return Rm+t.charAt(0).toUpperCase()+t.slice(1)}function pI(e){var t=e.slice(4);return Wx.test(t)?e:(t=t.replace(uI,mI),t.charAt(0)!=="-"&&(t="-"+t),Rm+t)}function mI(e){return"-"+e.toLowerCase()}function fI(e){return e.charAt(1).toUpperCase()}});var Xx=se((nB,Qx)=>{"use strict";Qx.exports=hI;var Yx=/[#.]/g;function hI(e,t){for(var n=e||"",r=t||"div",i={},a=0,o,s,l;a<n.length;)Yx.lastIndex=a,l=Yx.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 Jx=se(Im=>{"use strict";Im.parse=vI;Im.stringify=bI;var Zx="",gI=" ",yI=/[ \\t\\n\\r\\f]+/g;function vI(e){var t=String(e||Zx).trim();return t===Zx?[]:t.split(yI)}function bI(e){return e.join(gI).trim()}});var t1=se(Lm=>{"use strict";Lm.parse=kI;Lm.stringify=wI;var Pm=",",e1=" ",zo="";function kI(e){for(var t=[],n=String(e||zo),r=n.indexOf(Pm),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(Pm,i);return t}function wI(e,t){var n=t||{},r=n.padLeft===!1?zo:e1,i=n.padRight?e1:zo;return e[e.length-1]===zo&&(e=e.concat(zo)),e.join(i+Pm+r).trim()}});var l1=se((aB,s1)=>{"use strict";var xI=Gx(),n1=Yl(),NI=Xx(),r1=Jx().parse,i1=t1().parse;s1.exports=EI;var SI={}.hasOwnProperty;function EI(e,t,n){var r=n?II(n):null;return i;function i(o,s){var l=NI(o,t),u=Array.prototype.slice.call(arguments,2),c=l.tagName.toLowerCase(),d;if(l.tagName=r&&SI.call(r,c)?r[c]:c,s&&CI(s,l)&&(u.unshift(s),s=null),s)for(d in s)a(l.properties,d,s[d]);return o1(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=xI(e,s),c=u.property,d=l,typeof d=="string"&&(u.spaceSeparated?d=r1(d):u.commaSeparated?d=i1(d):u.commaOrSpaceSeparated&&(d=r1(i1(d).join(" ")))),c==="style"&&typeof l!="string"&&(d=RI(d)),c==="className"&&o.className&&(d=o.className.concat(d)),o[c]=TI(u,c,d))}}function CI(e,t){return typeof e=="string"||"length"in e||AI(t.tagName,e)}function AI(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 o1(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;)o1(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 TI(e,t,n){var r,i,a;if(typeof n!="object"||!("length"in n))return a1(e,t,n);for(i=n.length,r=-1,a=[];++r<i;)a[r]=a1(e,t,n[r]);return a}function a1(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===""||n1(n)===n1(t))&&(r=!0),r}function RI(e){var t=[],n;for(n in e)t.push([n,e[n]].join(": "));return t.join("; ")}function II(e){for(var t=e.length,n=-1,r={},i;++n<t;)i=e[n],r[i.toLowerCase()]=i;return r}});var d1=se((oB,c1)=>{"use strict";var PI=Vx(),LI=l1(),u1=LI(PI,"div");u1.displayName="html";c1.exports=u1});var m1=se((sB,p1)=>{"use strict";p1.exports=d1()});var f1=se((lB,OI)=>{OI.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 h1=se((uB,_I)=>{_I.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 Om=se((cB,g1)=>{"use strict";g1.exports=DI;function DI(e){var t=typeof e=="string"?e.charCodeAt(0):e;return t>=48&&t<=57}});var v1=se((dB,y1)=>{"use strict";y1.exports=FI;function FI(e){var t=typeof e=="string"?e.charCodeAt(0):e;return t>=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}});var k1=se((pB,b1)=>{"use strict";b1.exports=zI;function zI(e){var t=typeof e=="string"?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}});var x1=se((mB,w1)=>{"use strict";var $I=k1(),MI=Om();w1.exports=BI;function BI(e){return $I(e)||MI(e)}});var S1=se((fB,N1)=>{"use strict";var Zl,jI=59;N1.exports=UI;function UI(e){var t="&"+e+";",n;return Zl=Zl||document.createElement("i"),Zl.innerHTML=t,n=Zl.textContent,n.charCodeAt(n.length-1)===jI&&e!=="semi"||n===t?!1:n}});var $1=se((hB,z1)=>{"use strict";var E1=f1(),C1=h1(),HI=Om(),qI=v1(),I1=x1(),VI=S1();z1.exports=iP;var WI={}.hasOwnProperty,ua=String.fromCharCode,KI=Function.prototype,A1={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},GI=9,T1=10,YI=12,QI=32,R1=38,XI=59,ZI=60,JI=61,eP=35,tP=88,nP=120,rP=65533,ca="named",Dm="hexadecimal",Fm="decimal",zm={};zm[Dm]=16;zm[Fm]=10;var Jl={};Jl[ca]=I1;Jl[Fm]=HI;Jl[Dm]=qI;var P1=1,L1=2,O1=3,_1=4,D1=5,_m=6,F1=7,_r={};_r[P1]="Named character references must be terminated by a semicolon";_r[L1]="Numeric character references must be terminated by a semicolon";_r[O1]="Named character references cannot be empty";_r[_1]="Numeric character references cannot be empty";_r[D1]="Named character references must be known";_r[_m]="Numeric character references cannot be disallowed";_r[F1]="Numeric character references cannot be outside the permissible Unicode range";function iP(e,t){var n={},r,i;t||(t={});for(i in A1)r=t[i],n[i]=r??A1[i];return(n.position.indent||n.position.start)&&(n.indent=n.position.indent||[],n.position=n.position.start),aP(e,n)}function aP(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="",g=[],w,E,S,x,C,I,$,T,te,H,D,Y,L,j,ce,K,O,y,_;for(typeof n=="string"&&(n=n.charCodeAt(0)),K=U(),T=o?N:KI,m--,p++;++m<p;)if(C===T1&&(b=d[f]||1),C=e.charCodeAt(m),C===R1){if($=e.charCodeAt(m+1),$===GI||$===T1||$===YI||$===QI||$===R1||$===ZI||$!==$||n&&$===n){h+=ua(C),b++;continue}for(L=m+1,Y=L,_=L,$===eP?(_=++Y,$=e.charCodeAt(_),$===tP||$===nP?(j=Dm,_=++Y):j=Fm):j=ca,w="",D="",x="",ce=Jl[j],_--;++_<p&&($=e.charCodeAt(_),!!ce($));)x+=ua($),j===ca&&WI.call(E1,x)&&(w=x,D=E1[x]);S=e.charCodeAt(_)===XI,S&&(_++,E=j===ca?VI(x):!1,E&&(w=x,D=E)),y=1+_-L,!S&&!r||(x?j===ca?(S&&!D?T(D1,1):(w!==x&&(_=Y+w.length,y=1+_-Y,S=!1),S||(te=w?P1:O1,t.attribute?($=e.charCodeAt(_),$===JI?(T(te,y),D=null):I1($)?D=null:T(te,y)):T(te,y))),I=D):(S||T(L1,y),I=parseInt(x,zm[j]),oP(I)?(T(F1,y),I=ua(rP)):I in C1?(T(_m,y),I=C1[I]):(H="",sP(I)&&T(_m,y),I>65535&&(I-=65536,H+=ua(I>>>10|55296),I=56320|I&1023),I=H+ua(I))):j!==ca&&T(_1,y)),I?(F(),K=U(),m=_-1,b+=_-L+1,g.push(I),O=U(),O.offset++,a&&a.call(l,I,{start:K,end:O},e.slice(L-1,_)),K=O):(x=e.slice(L-1,_),h+=x,b+=x.length,m=_-1)}else C===10&&(v++,f++,b=0),C===C?(h+=ua(C),b++):F();return g.join("");function U(){return{line:v,column:b,offset:m+(c.offset||0)}}function N(z,q){var ae=U();ae.column+=q,ae.offset+=q,o.call(u,_r[z],ae,z)}function F(){h&&(g.push(h),i&&i.call(s,h,{start:K,end:U()}),h="")}}function oP(e){return e>=55296&&e<=57343||e>1114111}function sP(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 B1=se((gB,eu)=>{var lP=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};var M1=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,"&").replace(/</g,"<").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 g,w;switch(i.util.type(v)){case"Object":if(w=i.util.objId(v),h[w])return h[w];g={},h[w]=g;for(var E in v)v.hasOwnProperty(E)&&(g[E]=b(v[E],h));return g;case"Array":return w=i.util.objId(v),h[w]?h[w]:(g=[],h[w]=g,v.forEach(function(S,x){g[x]=b(S,h)}),g);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(g){var b=(/at [^(\\r\\n]*\\((.*):[^:]+:[^:]+\\)$/i.exec(g.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 g="no-"+v;b;){var w=b.classList;if(w.contains(v))return!0;if(w.contains(g))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 g in v)h[g]=v[g];return h},insertBefore:function(b,v,h,g){g=g||i.languages;var w=g[b],E={};for(var S in w)if(w.hasOwnProperty(S)){if(S==v)for(var x in h)h.hasOwnProperty(x)&&(E[x]=h[x]);h.hasOwnProperty(S)||(E[S]=w[S])}var C=g[b];return g[b]=E,i.languages.DFS(i.languages,function(I,$){$===C&&I!=b&&(this[I]=E)}),E},DFS:function b(v,h,g,w){w=w||{};var E=i.util.objId;for(var S in v)if(v.hasOwnProperty(S)){h.call(v,S,v[S],g||S);var x=v[S],C=i.util.type(x);C==="Object"&&!w[E(x)]?(w[E(x)]=!0,b(x,h,null,w)):C==="Array"&&!w[E(x)]&&(w[E(x)]=!0,b(x,h,S,w))}}},plugins:{},highlightAll:function(b,v){i.highlightAllUnder(document,b,v)},highlightAllUnder:function(b,v,h){var g={callback:h,container:b,selector:\'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code\'};i.hooks.run("before-highlightall",g),g.elements=Array.prototype.slice.apply(g.container.querySelectorAll(g.selector)),i.hooks.run("before-all-elements-highlight",g);for(var w=0,E;E=g.elements[w++];)i.highlightElement(E,v===!0,g.callback)},highlightElement:function(b,v,h){var g=i.util.getLanguage(b),w=i.languages[g];i.util.setLanguage(b,g);var E=b.parentElement;E&&E.nodeName.toLowerCase()==="pre"&&i.util.setLanguage(E,g);var S=b.textContent,x={element:b,language:g,grammar:w,code:S};function C($){x.highlightedCode=$,i.hooks.run("before-insert",x),x.element.innerHTML=x.highlightedCode,i.hooks.run("after-highlight",x),i.hooks.run("complete",x),h&&h.call(x.element)}if(i.hooks.run("before-sanity-check",x),E=x.element.parentElement,E&&E.nodeName.toLowerCase()==="pre"&&!E.hasAttribute("tabindex")&&E.setAttribute("tabindex","0"),!x.code){i.hooks.run("complete",x),h&&h.call(x.element);return}if(i.hooks.run("before-highlight",x),!x.grammar){C(i.util.encode(x.code));return}if(v&&e.Worker){var I=new Worker(i.filename);I.onmessage=function($){C($.data)},I.postMessage(JSON.stringify({language:x.language,code:x.code,immediateClose:!0}))}else C(i.highlight(x.code,x.grammar,x.language))},highlight:function(b,v,h){var g={code:b,grammar:v,language:h};if(i.hooks.run("before-tokenize",g),!g.grammar)throw new Error(\'The language "\'+g.language+\'" has no grammar.\');return g.tokens=i.tokenize(g.code,g.grammar),i.hooks.run("after-tokenize",g),a.stringify(i.util.encode(g.tokens),g.language)},tokenize:function(b,v){var h=v.rest;if(h){for(var g in h)v[g]=h[g];delete v.rest}var w=new l;return u(w,w.head,b),s(b,w,v,w.head,0),d(w)},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 g=0,w;w=h[g++];)w(v)}},Token:a};e.Prism=i;function a(b,v,h,g){this.type=b,this.content=v,this.alias=h,this.length=(g||"").length|0}a.stringify=function b(v,h){if(typeof v=="string")return v;if(Array.isArray(v)){var g="";return v.forEach(function(C){g+=b(C,h)}),g}var w={type:v.type,content:b(v.content,h),tag:"span",classes:["token",v.type],attributes:{},language:h},E=v.alias;E&&(Array.isArray(E)?Array.prototype.push.apply(w.classes,E):w.classes.push(E)),i.hooks.run("wrap",w);var S="";for(var x in w.attributes)S+=" "+x+\'="\'+(w.attributes[x]||"").replace(/"/g,""")+\'"\';return"<"+w.tag+\' class="\'+w.classes.join(" ")+\'"\'+S+">"+w.content+"</"+w.tag+">"};function o(b,v,h,g){b.lastIndex=v;var w=b.exec(h);if(w&&g&&w[1]){var E=w[1].length;w.index+=E,w[0]=w[0].slice(E)}return w}function s(b,v,h,g,w,E){for(var S in h)if(!(!h.hasOwnProperty(S)||!h[S])){var x=h[S];x=Array.isArray(x)?x:[x];for(var C=0;C<x.length;++C){if(E&&E.cause==S+","+C)return;var I=x[C],$=I.inside,T=!!I.lookbehind,te=!!I.greedy,H=I.alias;if(te&&!I.pattern.global){var D=I.pattern.toString().match(/[imsuy]*$/)[0];I.pattern=RegExp(I.pattern.source,D+"g")}for(var Y=I.pattern||I,L=g.next,j=w;L!==v.tail&&!(E&&j>=E.reach);j+=L.value.length,L=L.next){var ce=L.value;if(v.length>b.length)return;if(!(ce instanceof a)){var K=1,O;if(te){if(O=o(Y,j,b,T),!O||O.index>=b.length)break;var N=O.index,y=O.index+O[0].length,_=j;for(_+=L.value.length;N>=_;)L=L.next,_+=L.value.length;if(_-=L.value.length,j=_,L.value instanceof a)continue;for(var U=L;U!==v.tail&&(_<y||typeof U.value=="string");U=U.next)K++,_+=U.value.length;K--,ce=b.slice(j,_),O.index-=j}else if(O=o(Y,0,ce,T),!O)continue;var N=O.index,F=O[0],z=ce.slice(0,N),q=ce.slice(N+F.length),ae=j+ce.length;E&&ae>E.reach&&(E.reach=ae);var he=L.prev;z&&(he=u(v,he,z),j+=z.length),c(v,he,K);var ft=new a(S,$?i.tokenize(F,$):F,H,F);if(L=u(v,he,ft),q&&u(v,L,q),K>1){var tt={cause:S+","+C,reach:ae};s(b,v,h,L.prev,j,tt),E&&tt.reach>E.reach&&(E.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 g=v.next,w={value:h,prev:v,next:g};return v.next=w,g.prev=w,b.length++,w}function c(b,v,h){for(var g=v.next,w=0;w<h&&g!==b.tail;w++)g=g.next;v.next=g,g.prev=v,b.length-=w}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,g=v.code,w=v.immediateClose;e.postMessage(i.highlight(g,i.languages[h],h)),w&&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}(lP);typeof eu<"u"&&eu.exports&&(eu.exports=M1);typeof global<"u"&&(global.Prism=M1)});var Mm=se((yB,j1)=>{"use strict";j1.exports=$m;$m.displayName="css";$m.aliases=[];function $m(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 H1=se((vB,U1)=>{"use strict";U1.exports=Bm;Bm.displayName="clike";Bm.aliases=[];function Bm(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 K1=se((bB,W1)=>{"use strict";var $o=typeof globalThis=="object"?globalThis:typeof self=="object"?self:typeof window=="object"?window:typeof global=="object"?global:{},uP=SP();$o.Prism={manual:!0,disableWorkerMessageHandler:!0};var cP=m1(),dP=$1(),q1=B1(),pP=lm(),mP=Mm(),fP=H1(),hP=Jp();uP();var jm={}.hasOwnProperty;function V1(){}V1.prototype=q1;var ot=new V1;W1.exports=ot;ot.highlight=yP;ot.register=Mo;ot.alias=gP;ot.registered=vP;ot.listLanguages=bP;Mo(pP);Mo(mP);Mo(fP);Mo(hP);ot.util.encode=xP;ot.Token.stringify=kP;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 gP(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 yP(e,t){var n=q1.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(jm.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 vP(e){if(typeof e!="string")throw new Error("Expected `string` for `language`, got `"+e+"`");return jm.call(ot.languages,e)}function bP(){var e=ot.languages,t=[],n;for(n in e)jm.call(e,n)&&typeof e[n]=="object"&&t.push(n);return t}function kP(e,t,n){var r;return typeof e=="string"?{type:"text",value:e}:ot.util.type(e)==="Array"?wP(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),cP(r.tag+"."+r.classes.join("."),NP(r.attributes),r.content))}function wP(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 xP(e){return e}function NP(e){var t;for(t in e)e[t]=dP(e[t]);return e}function SP(){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 zN=se((Fj,FN)=>{"use strict";FN.exports=Af;Af.displayName="scss";Af.aliases=[];function Af(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 Pe=ne(Ye()),AS=ne(Dv());var ye=e=>e instanceof Error?e.message:String(e);var r2={models:"/models",whoami:"/whoami",status:"/status",team:"/team",fim:"/fim",chat:"/chat",embeddings:"/embeddings"},s_=Object.keys(r2);var i2="rjmacarthy.twinny",ho=(e,t,n="vscode")=>{let r=new URLSearchParams({url:e.replace(/\\/+$/,""),code:t});return`${n}://${i2}/join?${r.toString()}`};var Fv=/^[A-Za-z0-9](?:[A-Za-z0-9]|-(?=[A-Za-z0-9])){0,38}$/;var cn=class extends Error{constructor(n,r){super(n);this.status=r}},re=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 cn(o,r.status)}return a},zv=async e=>{let t=await fetch("/twinny/v1/page-link/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:e})}),n=await t.json().catch(()=>{});if(!t.ok||typeof n?.key!="string")throw new cn(n?.error?.message||`The gateway answered ${t.status}.`,t.status);return{key:n.key,name:n.name??""}};var Ln=ne(Ye());var M=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"},Dt=e=>e<1e3?`${M(Math.round(e))} ms`:`${(e/1e3).toFixed(e<1e4?1:0)} s`,Nt=e=>e<1e4?M(e):e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`,Fe=(e,t,n=`${t}s`)=>`${M(e)} ${e===1?t:n}`;var be=ne(Ce()),d2=["","key.","invite.","signin.","config.","license.","plugin."],p2={"":"everything","key.":"keys","invite.":"invites","signin.":"sign-ins","config.":"configuration","license.":"licence","plugin.":"plugins"},jv=({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 re(`/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:M(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:M(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 ",M(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:d2.map(f=>(0,be.jsx)("option",{value:f,children:p2[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=ne(Ye());var A=ne(Ce()),Bd="/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,A.jsxs)("label",{className:"config-field",children:[(0,A.jsx)("span",{children:e}),(0,A.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,A.jsx)("small",{className:"muted",children:l})]}),m2=({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,A.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,g])=>[h,g.trim()]));Object.keys(v).length&&(b.paths=v);try{r(a.trim(),b)}catch(h){c(ye(h))}},children:[(0,A.jsxs)("div",{className:"section-heading",children:[(0,A.jsx)("h3",{children:e?`Edit ${e}`:"Add provider"}),(0,A.jsx)("span",{className:"muted",children:p?"Teammates\' computers":"Connection settings"})]}),(0,A.jsxs)("div",{className:"config-fields",children:[(0,A.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,A.jsxs)("label",{className:"config-field",children:[(0,A.jsx)("span",{children:"Adapter"}),(0,A.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,A.jsx)("option",{value:f.id,children:f.label},f.id))})]}),!p&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(On,{label:"Hostname",value:s.apiHostname??"",onChange:f=>d("apiHostname",f),placeholder:"Adapter default"}),(0,A.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,A.jsxs)("label",{className:"config-field",children:[(0,A.jsx)("span",{children:"Protocol"}),(0,A.jsxs)("select",{value:s.apiProtocol??"http",onChange:f=>d("apiProtocol",f.target.value),children:[(0,A.jsx)("option",{value:"http",children:"HTTP"}),(0,A.jsx)("option",{value:"https",children:"HTTPS"})]})]}),(0,A.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,A.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,A.jsxs)(A.Fragment,{children:[(0,A.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,A.jsxs)("details",{className:"advanced-fields",children:[(0,A.jsx)("summary",{children:"Custom API paths"}),(0,A.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,A.jsx)("div",{className:"config-fields",children:dl.map(f=>(0,A.jsx)(On,{label:`${yo[f]} path`,value:s.paths?.[f]??"",onChange:b=>d("paths",{...s.paths,[f]:b}),placeholder:"Adapter default"},f))})]})]}),u&&(0,A.jsx)("div",{className:"error",role:"alert",children:u}),(0,A.jsxs)("div",{className:"editor-actions",children:[(0,A.jsx)("button",{type:"submit",className:"primary",children:"Apply to draft"}),(0,A.jsx)("button",{type:"button",className:"ghost",onClick:i,children:"Cancel"})]})]})},f2=({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,g]=(0,He.useState)(0),w=t[a.provider];(0,He.useEffect)(()=>{let x=!1;return p(!0),f(""),c([]),re("/twinny/v1/admin/provider-models",n,{method:"POST",body:{provider:w}}).then(C=>{x||c(C.models)}).catch(C=>{x||f(ye(C))}).finally(()=>{x||p(!1)}),()=>{x=!0}},[n,w,h]);let E=b||!d&&(m!==""||u.length===0);return(0,A.jsxs)("form",{className:"config-editor",onSubmit:x=>{if(x.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(C){l(ye(C))}},children:[(0,A.jsxs)("div",{className:"section-heading",children:[(0,A.jsx)("h3",{children:e.alias?`Edit ${e.alias}`:"Add model"}),(0,A.jsx)("span",{className:"muted",children:"Available to developers"})]}),(0,A.jsxs)("div",{className:"config-fields",children:[(0,A.jsx)(On,{label:"Public alias",value:a.alias,onChange:x=>o({...a,alias:x}),required:!0,placeholder:"team-chat"}),(0,A.jsxs)("label",{className:"config-field",children:[(0,A.jsx)("span",{children:"Provider"}),(0,A.jsx)("select",{"aria-label":"Provider",value:a.provider,onChange:x=>{o({...a,provider:x.target.value,model:""}),v(!1)},required:!0,children:Object.keys(t).map(x=>(0,A.jsx)("option",{value:x,children:x},x))})]}),(0,A.jsxs)("div",{className:"model-select-field",children:[E?(0,A.jsx)(On,{label:"Backend model name",value:a.model,onChange:x=>o({...a,model:x}),required:!0,placeholder:"Exact model name on the backend"}):(0,A.jsxs)("label",{className:"config-field",children:[(0,A.jsx)("span",{children:"Backend model"}),(0,A.jsxs)("select",{"aria-label":"Backend model",value:a.model,onChange:x=>o({...a,model:x.target.value}),required:!0,disabled:d,children:[(0,A.jsx)("option",{value:"",children:d?"Fetching models\\u2026":"Select a model"}),a.model&&!u.some(x=>x.id===a.model)&&(0,A.jsxs)("option",{value:a.model,children:[a.model," (current, not listed)"]}),u.map(x=>(0,A.jsx)("option",{value:x.id,children:x.name||x.id},x.id))]})]}),(0,A.jsxs)("div",{className:"model-list-actions",children:[(0,A.jsx)("button",{type:"button",className:"ghost",disabled:d,onClick:()=>g(x=>x+1),children:d?"Fetching\\u2026":"Refresh models"}),!d&&u.length>0&&(0,A.jsx)("button",{type:"button",className:"ghost",onClick:()=>v(!b),children:b?"Choose from list":"Enter a model name"})]}),!d&&(m||!u.length)&&(0,A.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,A.jsx)(On,{label:"Context window (tokens)",value:a.contextWindow??"",onChange:x=>o({...a,contextWindow:x?Number(x):void 0}),type:"number",min:1,placeholder:"Optional"}),(0,A.jsx)(On,{label:"Price per million input tokens (for the Usage page)",value:a.price?.input??"",onChange:x=>o({...a,price:x||a.price?.output!==void 0?{input:x?Number(x):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,A.jsx)(On,{label:"Price per million output tokens",value:a.price?.output??"",onChange:x=>o({...a,price:x||a.price?.input!==void 0?{input:a.price?.input??0,output:x?Number(x):0}:void 0}),type:"number",min:0,step:"any",placeholder:"Optional, e.g. 0.60"})]}),(0,A.jsxs)("fieldset",{className:"capability-picker",children:[(0,A.jsx)("legend",{children:"Capabilities"}),dl.map(x=>(0,A.jsxs)("label",{children:[(0,A.jsx)("input",{type:"checkbox",checked:a.capabilities.includes(x),onChange:C=>o({...a,capabilities:C.target.checked?[...a.capabilities,x]:a.capabilities.filter(I=>I!==x)})}),yo[x]]},x))]}),(0,A.jsx)("p",{className:"config-hint",children:"Select only the jobs this model supports. Developers select the public alias in Twinny."}),s&&(0,A.jsx)("div",{className:"error",role:"alert",children:s}),(0,A.jsxs)("div",{className:"editor-actions",children:[(0,A.jsx)("button",{type:"submit",className:"primary",children:"Apply to draft"}),(0,A.jsx)("button",{type:"button",className:"ghost",onClick:i,children:"Cancel"})]})]})},Uv=({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),[g,w]=(0,He.useState)(""),[E,S]=(0,He.useState)(""),x=!!l&&!!c&&JSON.stringify(c)!==JSON.stringify({providers:l.providers,models:l.models,teamDefaults:l.teamDefaults??{},policy:l.policy??{}}),C=y=>{u(y),d({providers:y.providers,models:y.models,teamDefaults:y.teamDefaults??{},policy:y.policy??{}}),m(null),b(null),w("")};(0,He.useEffect)(()=>{let y=!1;return re(Bd,e).then(_=>{y||C(_)}).catch(_=>{y||w(ye(_))}),()=>{y=!0}},[e]),(0,He.useEffect)(()=>{if(!x&&!p)return;let y=_=>{_.preventDefault(),_.returnValue=""};return window.addEventListener("beforeunload",y),()=>window.removeEventListener("beforeunload",y)},[x,p]);let I=async()=>{h(!0);try{C(await re(Bd,e)),S("")}catch(y){w(ye(y))}finally{h(!1)}},$=async()=>{if(!(!l||!c||v)){h(!0),w(""),S("");try{C(await re(Bd,e,{method:"PUT",body:{revision:l.revision,...c}})),S("Saved. New requests now use this configuration."),t()}catch(y){w(ye(y))}finally{h(!1)}}},T=y=>{m(y),b(null),S(""),w("")},te=()=>{if(!(!c||!f||f==="reload")){if(f.type==="provider"){let y={...c.providers};delete y[f.name],d({...c,providers:y})}else d({...c,models:c.models.filter((y,_)=>_!==f.index),teamDefaults:Object.fromEntries(Object.entries(c.teamDefaults??{}).filter(([,y])=>y!==c.models[f.index].alias))});b(null),S("")}};if(!c||!l)return(0,A.jsx)("section",{className:"panel",children:g?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)("div",{className:"error",role:"alert",children:g}),(0,A.jsx)("button",{onClick:()=>void I(),disabled:v,children:"Retry"})]}):(0,A.jsx)("div",{className:"loading",children:"Loading configuration\\u2026"})});let H=v||p!==null,D=y=>i?.backends.find(_=>_.provider===y),Y=new Map((i?.models??[]).map(y=>[y.id,y.ok])),L=y=>a?.byModel[y]?.requests??0,j=y=>l.models.find(_=>_.alias===y),ce=y=>dl.filter(_=>c.teamDefaults?.[_]===y),K=n.includes("policy"),O=p?.type==="provider"?c.providers[p.name]:void 0;return(0,A.jsxs)("div",{className:"configuration",children:[(0,A.jsxs)("div",{className:"config-toolbar",children:[(0,A.jsxs)("div",{children:[(0,A.jsx)("h2",{children:r==="policy"?"Team policy":"Providers & models"}),(0,A.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,A.jsxs)("div",{className:"editor-actions",children:[(0,A.jsx)("span",{className:x?"draft-state":"muted",children:x?"Unsaved changes":"Up to date"}),(0,A.jsx)("button",{className:"ghost",disabled:v,onClick:()=>x||p?b("reload"):void I(),children:"Reload"}),(0,A.jsx)("button",{className:"primary",disabled:!x||H,onClick:()=>void $(),children:v?"Saving\\u2026":"Save changes"})]})]}),g&&(0,A.jsx)("div",{className:"error-bar",role:"alert",children:g}),E&&(0,A.jsx)("div",{className:"success-bar",role:"status",children:E}),f==="reload"&&(0,A.jsxs)("div",{className:"confirm-bar",role:"alert",children:[(0,A.jsx)("span",{children:"Discard your draft and reload the saved configuration?"}),(0,A.jsx)("button",{className:"danger",disabled:v,onClick:()=>void I(),children:"Discard and reload"}),(0,A.jsx)("button",{className:"ghost",disabled:v,onClick:()=>b(null),children:"Cancel"})]}),(0,A.jsxs)("section",{className:"panel",hidden:r!=="models",children:[(0,A.jsxs)("div",{className:"section-heading",children:[(0,A.jsx)("h2",{children:"Team defaults"}),(0,A.jsx)("span",{className:"muted",children:"What a developer gets the moment they connect"})]}),(0,A.jsx)("div",{className:"slots",children:dl.map(y=>{let _=c.teamDefaults?.[y]??"",U=c.models.find(q=>q.alias===_),N=U?D(U.provider):void 0,F=U?Y.get(U.alias):void 0,z=c.models.filter(q=>q.capabilities.includes(y));return(0,A.jsxs)("div",{className:`slot ${_?"":"unset"}`,children:[(0,A.jsx)("div",{className:"slot-label",children:yo[y]}),(0,A.jsxs)("select",{"aria-label":`${yo[y]} default`,disabled:H||!z.length,value:_,onChange:q=>{let ae={...c.teamDefaults};q.target.value?ae[y]=q.target.value:delete ae[y],d({...c,teamDefaults:ae}),S("")},children:[(0,A.jsx)("option",{value:"",children:z.length?"Not set: developers pick their own":"No model offers this"}),z.map(q=>(0,A.jsx)("option",{value:q.alias,children:q.alias},q.alias))]}),(0,A.jsx)("div",{className:"slot-detail muted",children:U?(0,A.jsxs)(A.Fragment,{children:[j(U.alias)&&F!==void 0&&(0,A.jsx)("i",{className:`status-dot ${F?"ok":"bad"}`,title:F?"answering":"down"}),U.model," on ",U.provider,N&&!N.ok?(0,A.jsx)("span",{className:"revoked",children:" \\xB7 down"}):N?` \\xB7 ${Dt(N.ms)}`:"",a&&L(U.alias)>0?` \\xB7 ${Fe(L(U.alias),"request")}${o?` in ${o}`:""}`:""]}):z.length?"Developers keep whatever they had configured for this.":"Add a model with this capability first."})]},y)})}),(0,A.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,A.jsxs)("div",{hidden:r!=="policy",children:[(0,A.jsxs)("section",{className:"panel",children:[(0,A.jsxs)("div",{className:"section-heading",children:[(0,A.jsx)("h2",{children:"Rules"}),(0,A.jsx)("span",{className:`pill-s ${K?"ok":"warn"}`,children:K?"enforced":"not sent: needs a licence"})]}),(0,A.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."}),!K&&(0,A.jsxs)("div",{className:"confirm-bar",style:{marginBottom:14},children:[(0,A.jsx)("span",{children:"Rules are saved but not sent until the gateway\'s licence includes team policy."}),s&&(0,A.jsx)("button",{type:"button",className:"ghost",onClick:()=>s("plan"),children:"Plan & licence"})]}),(0,A.jsxs)("fieldset",{className:"policy-rule",children:[(0,A.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(([y,_,U])=>(0,A.jsxs)("label",{className:"policy-option",children:[(0,A.jsx)("input",{type:"radio",name:"policy-team-only",checked:c.policy?.teamOnly===!0===y,disabled:H,onChange:()=>{let N={...c.policy};y?N.teamOnly=!0:delete N.teamOnly,d({...c,policy:N}),S("")}}),(0,A.jsxs)("span",{children:[(0,A.jsx)("b",{children:_}),(0,A.jsx)("small",{children:U})]})]},String(y)))]}),(0,A.jsxs)("fieldset",{className:"policy-rule",children:[(0,A.jsx)("legend",{children:"Default models"}),(0,A.jsxs)("label",{className:"policy-option",children:[(0,A.jsx)("input",{type:"checkbox",checked:c.policy?.lockDefaults===!0,disabled:H,onChange:y=>{let _={...c.policy};y.target.checked?_.lockDefaults=!0:delete _.lockDefaults,d({...c,policy:_}),S("")}}),(0,A.jsxs)("span",{children:[(0,A.jsx)("b",{children:"Keep the team defaults active"}),(0,A.jsx)("small",{children:"Chat, autocomplete and embeddings stay on the team\'s models; developers cannot switch them to another provider while connected."})]})]})]})]}),(0,A.jsxs)("section",{className:"panel",children:[(0,A.jsxs)("div",{className:"section-heading",children:[(0,A.jsx)("h2",{children:"Secret shield"}),(0,A.jsx)("span",{className:"muted",children:"Applied by the gateway to every request, whatever client sent it"})]}),(0,A.jsxs)("fieldset",{className:"policy-rule",children:[(0,A.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(([y,_,U])=>(0,A.jsxs)("label",{className:"policy-option",children:[(0,A.jsx)("input",{type:"radio",name:"secret-shield",checked:(c.policy?.secretShield??"offMachine")===y,disabled:H,onChange:()=>{let N={...c.policy};y==="offMachine"?delete N.secretShield:N.secretShield=y,d({...c,policy:N}),S("")}}),(0,A.jsxs)("span",{children:[(0,A.jsx)("b",{children:_}),(0,A.jsx)("small",{children:U})]})]},y))]})]}),(0,A.jsxs)("section",{className:"panel",children:[(0,A.jsxs)("div",{className:"section-heading",children:[(0,A.jsx)("h2",{children:"Team system prompt"}),(0,A.jsx)("span",{className:"muted",children:"Sent to connected extensions and put before every chat\'s system prompt"})]}),(0,A.jsxs)("label",{className:"config-field",children:[(0,A.jsx)("span",{children:"team system prompt"}),(0,A.jsx)("textarea",{rows:4,value:c.policy?.systemPrompt??"",disabled:H,placeholder:"e.g. We write TypeScript with strict mode. Prefer small functions. Never suggest adding dependencies without saying why.",onChange:y=>{let _={...c.policy};y.target.value.trim()?_.systemPrompt=y.target.value:delete _.systemPrompt,d({...c,policy:_}),S("")}})]})]}),(0,A.jsxs)("section",{className:"panel",children:[(0,A.jsxs)("div",{className:"section-heading",children:[(0,A.jsx)("h2",{children:"Routing rules"}),(0,A.jsx)("span",{className:"muted",children:"By the workspace name the extension sends; the first matching rule decides"})]}),(c.policy?.routing??[]).map((y,_)=>(0,A.jsxs)("div",{className:"policy-entry",children:[(0,A.jsxs)("div",{className:"config-fields",children:[(0,A.jsxs)("label",{className:"config-field",children:[(0,A.jsx)("span",{children:"workspace (glob, e.g. payments-*)"}),(0,A.jsx)("input",{value:y.workspace,disabled:H,onChange:U=>{let N=[...c.policy?.routing??[]];N[_]={...y,workspace:U.target.value},d({...c,policy:{...c.policy,routing:N}}),S("")}})]}),(0,A.jsxs)("label",{className:"config-field",children:[(0,A.jsx)("span",{children:"only these aliases (comma-separated; blank: any)"}),(0,A.jsx)("input",{value:(y.aliases??[]).join(", "),disabled:H,onChange:U=>{let N=[...c.policy?.routing??[]],F=U.target.value.split(",").map(z=>z.trim()).filter(Boolean);N[_]={...y,...F.length?{aliases:F}:{}},F.length||delete N[_].aliases,d({...c,policy:{...c.policy,routing:N}}),S("")}})]})]}),(0,A.jsxs)("div",{className:"backup-options",children:[(0,A.jsxs)("label",{className:"policy-option",children:[(0,A.jsx)("input",{type:"checkbox",checked:y.localOnly===!0,disabled:H,onChange:U=>{let N=[...c.policy?.routing??[]];N[_]={...y},U.target.checked?N[_].localOnly=!0:delete N[_].localOnly,d({...c,policy:{...c.policy,routing:N}}),S("")}}),(0,A.jsxs)("span",{children:[(0,A.jsx)("b",{children:"local backends only"}),(0,A.jsx)("small",{children:"never a hosted provider"})]})]}),(0,A.jsx)("button",{type:"button",className:"ghost mini",disabled:H,onClick:()=>{let U=(c.policy?.routing??[]).filter((F,z)=>z!==_),N={...c.policy};U.length?N.routing=U:delete N.routing,d({...c,policy:N}),S("")},children:"remove rule"})]})]},_)),(0,A.jsx)("button",{type:"button",disabled:H,onClick:()=>{let y=[...c.policy?.routing??[],{workspace:"",localOnly:!0}];d({...c,policy:{...c.policy,routing:y}}),S("")},children:"+ Add rule"})]})]}),(0,A.jsxs)("section",{className:"panel",hidden:r!=="models",children:[(0,A.jsxs)("div",{className:"section-heading",children:[(0,A.jsx)("h2",{children:"Prices"}),(0,A.jsx)("span",{className:"muted",children:"what the Usage page multiplies token counts by; set per alias in its form"})]}),(0,A.jsxs)("div",{className:"newkey",children:[(0,A.jsxs)("label",{children:[(0,A.jsx)("span",{className:"muted",children:"currency"}),(0,A.jsx)("input",{value:c.pricing?.currency??"",placeholder:"USD",maxLength:3,disabled:H,style:{width:80},onChange:y=>{let _=y.target.value.toUpperCase(),U={...c};_?U.pricing={currency:_}:delete U.pricing,d(U),S("")}})]}),(0,A.jsx)("span",{className:"muted",children:c.models.filter(y=>y.price).length?`${c.models.filter(y=>y.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,A.jsxs)("section",{className:"panel",hidden:r!=="models",children:[(0,A.jsxs)("div",{className:"section-heading",children:[(0,A.jsxs)("h2",{children:["Providers"," ",(0,A.jsx)("span",{className:"count",children:Object.keys(c.providers).length})]}),(0,A.jsx)("button",{disabled:H,onClick:()=>T({type:"provider",name:""}),children:"+ Add provider"})]}),(0,A.jsx)("div",{className:"scroll",children:(0,A.jsxs)("table",{children:[(0,A.jsx)("thead",{children:(0,A.jsxs)("tr",{children:[(0,A.jsx)("th",{children:"Name"}),(0,A.jsx)("th",{children:"Adapter"}),(0,A.jsx)("th",{children:"Endpoint"}),(0,A.jsx)("th",{children:"Status"}),(0,A.jsx)("th",{className:"num",children:"Models"}),(0,A.jsx)("th",{children:(0,A.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,A.jsx)("tbody",{children:Object.entries(c.providers).map(([y,_])=>{let U=c.models.filter(ae=>ae.provider===y),N=l.kinds.find(ae=>ae.id===_.provider)?.defaults,F=_.apiHostname??N?.apiHostname,z=_.apiPort??N?.apiPort,q=f!=="reload"&&f?.type==="provider"&&f.name===y;return(0,A.jsxs)(He.default.Fragment,{children:[(0,A.jsxs)("tr",{className:q?"confirming":void 0,children:[(0,A.jsx)("td",{className:"entity-name",children:y}),(0,A.jsx)("td",{children:l.kinds.find(ae=>ae.id===_.provider)?.label??_.provider}),(0,A.jsx)("td",{className:"muted",children:F?`${_.apiProtocol??N?.apiProtocol??"http"}://${F}${z?`:${z}`:""}`:"Managed by adapter"}),(0,A.jsx)("td",{children:(()=>{let ae=D(y);return l.providers[y]?ae?(0,A.jsx)("span",{className:`pill-s ${ae.ok?"ok":"bad"}`,children:ae.ok?`answering \\xB7 ${Dt(ae.ms)}`:`down \\xB7 ${ae.kind??"unreachable"}`}):(0,A.jsx)("span",{className:"muted",children:"\\u2013"}):(0,A.jsx)("span",{className:"pill-s warn",children:"unsaved"})})()}),(0,A.jsx)("td",{className:"num",children:U.length}),(0,A.jsxs)("td",{className:"actions",children:[(0,A.jsx)("button",{className:"ghost",disabled:H,onClick:()=>T({type:"provider",name:y}),"aria-label":`Edit provider ${y}`,children:"Edit"}),(0,A.jsx)("button",{className:"ghost",disabled:H||U.length>0||Object.keys(c.providers).length===1,title:U.length?"Remove or reassign this provider\'s models first.":"Keep at least one provider.",onClick:()=>b(q?null:{type:"provider",name:y}),"aria-label":`Remove provider ${y}`,children:"Remove"})]})]}),q&&(0,A.jsx)("tr",{className:"confirm-row",children:(0,A.jsx)("td",{colSpan:6,children:(0,A.jsxs)("div",{className:"confirm-bar",role:"alert",children:[(0,A.jsxs)("span",{children:["Remove provider \\u201C",y,"\\u201D from the draft?"]}),(0,A.jsx)("button",{className:"danger",disabled:v,onClick:te,autoFocus:!0,children:"Remove from draft"}),(0,A.jsx)("button",{className:"ghost",disabled:v,onClick:()=>b(null),children:"Cancel"})]})})})]},y)})})]})}),p?.type==="provider"&&(0,A.jsx)(m2,{originalName:p.name,kinds:l.kinds,initial:O??l.kinds.find(y=>y.id==="openai-compatible").defaults,onCancel:()=>m(null),onApply:(y,_)=>{if(!y)throw new Error("Enter a provider name.");if(y!==p.name&&Object.prototype.hasOwnProperty.call(c.providers,y))throw new Error("That provider name is already in use.");let U=Object.fromEntries(Object.entries(c.providers).map(([N,F])=>N===p.name?[y,_]:[N,F]));p.name||Object.defineProperty(U,y,{value:_,enumerable:!0,writable:!0,configurable:!0}),d({...c,providers:U,models:c.models.map(N=>N.provider===p.name?{...N,provider:y}:N)}),m(null)}},p.name)]}),(0,A.jsxs)("section",{className:"panel",hidden:r!=="models",children:[(0,A.jsxs)("div",{className:"section-heading",children:[(0,A.jsxs)("h2",{children:["Models ",(0,A.jsx)("span",{className:"count",children:c.models.length})]}),(0,A.jsx)("button",{disabled:H||!Object.keys(c.providers).length,onClick:()=>T({type:"model",index:-1}),children:"+ Add model"})]}),(0,A.jsx)("div",{className:"scroll",children:(0,A.jsxs)("table",{children:[(0,A.jsx)("thead",{children:(0,A.jsxs)("tr",{children:[(0,A.jsx)("th",{children:"Public alias"}),(0,A.jsx)("th",{children:"Backend model"}),(0,A.jsx)("th",{children:"Provider"}),(0,A.jsx)("th",{children:"Capabilities"}),a&&(0,A.jsxs)("th",{className:"num",children:["Requests",o?` \\xB7 ${o}`:""]}),(0,A.jsx)("th",{children:(0,A.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,A.jsx)("tbody",{children:c.models.map((y,_)=>{let U=f!=="reload"&&f?.type==="model"&&f.index===_;return(0,A.jsxs)(He.default.Fragment,{children:[(0,A.jsxs)("tr",{className:U?"confirming":void 0,children:[(0,A.jsxs)("td",{children:[j(y.alias)&&Y.has(y.alias)?(0,A.jsx)("i",{className:`status-dot ${Y.get(y.alias)?"ok":"bad"}`,title:Y.get(y.alias)?"answering":"down"}):(0,A.jsx)("i",{className:"status-dot",title:"not saved yet"}),(0,A.jsx)("span",{className:"entity-name",children:y.alias})]}),(0,A.jsxs)("td",{children:[y.model,y.contextWindow?(0,A.jsxs)("div",{className:"muted",style:{fontSize:11},children:[M(y.contextWindow)," token context"]}):null]}),(0,A.jsx)("td",{className:"muted",children:y.provider}),(0,A.jsx)("td",{children:y.capabilities.map(N=>{let F=ce(y.alias).includes(N);return(0,A.jsx)("span",{className:F?"capability-tag default":"capability-tag",title:F?`Team default for ${yo[N].toLowerCase()}`:void 0,children:N},N)})}),a&&(0,A.jsx)("td",{className:"num",children:L(y.alias)?M(L(y.alias)):(0,A.jsx)("span",{className:"muted",children:"0"})}),(0,A.jsxs)("td",{className:"actions",children:[(0,A.jsx)("button",{className:"ghost",disabled:H,onClick:()=>T({type:"model",index:_}),"aria-label":`Edit model ${y.alias}`,children:"Edit"}),(0,A.jsx)("button",{className:"ghost",disabled:H||c.models.length===1,title:c.models.length===1?"Keep at least one model.":void 0,onClick:()=>b(U?null:{type:"model",index:_}),"aria-label":`Remove model ${y.alias}`,children:"Remove"})]})]}),U&&(0,A.jsx)("tr",{className:"confirm-row",children:(0,A.jsx)("td",{colSpan:a?6:5,children:(0,A.jsxs)("div",{className:"confirm-bar",role:"alert",children:[(0,A.jsxs)("span",{children:["Remove model \\u201C",y.alias,"\\u201D from the draft? Developers will lose this alias when you save."]}),(0,A.jsx)("button",{className:"danger",disabled:v,onClick:te,autoFocus:!0,children:"Remove from draft"}),(0,A.jsx)("button",{className:"ghost",disabled:v,onClick:()=>b(null),children:"Cancel"})]})})})]},y.alias)})})]})}),p?.type==="model"&&(0,A.jsx)(f2,{initial:c.models[p.index]??{alias:"",provider:Object.keys(c.providers)[0],model:"",capabilities:["chat"]},providers:c.providers,apiKey:e,onCancel:()=>m(null),onApply:y=>{if(c.models.some((_,U)=>U!==p.index&&_.alias.toLowerCase()===y.alias.toLowerCase()))throw new Error("That public alias is already in use.");d({...c,teamDefaults:Object.fromEntries(Object.entries(c.teamDefaults??{}).map(([_,U])=>[_,U===c.models[p.index]?.alias?y.alias:U])),models:p.index<0?[...c.models,y]:c.models.map((_,U)=>U===p.index?y:_)}),m(null)}},p.index)]}),(0,A.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,A.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 jd="twinny-server.host-names",Ud=()=>{try{let e=JSON.parse(sessionStorage.getItem(jd)??"{}");return e&&typeof e=="object"?e:{}}catch{return{}}},Hv=e=>{let t=e.get("github");if(!(!t||!Fv.test(t)))try{sessionStorage.setItem(jd,JSON.stringify({...Ud(),github:t}))}catch{}},qv=e=>e==="github"?Ud().github:void 0,Vv=e=>{try{let t={...Ud()};delete t[e],sessionStorage.setItem(jd,JSON.stringify(t))}catch{}},Wv=e=>/^https:\\/\\/(?:www\\.|api\\.)?github\\.com\\/?$/i.test(e.trim());var nr=ne(Ye());var qf=ne(Ye());var rt=ne(Ye());var B=ne(Ce()),Kv=e=>e<1024?`${M(e)} B`:e<1024*1024?`${(e/1024).toFixed(1)} KiB`:`${(e/1024/1024).toFixed(1)} MiB`,Gv=e=>String(e).padStart(2,"0"),Yv=({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}),[g,w]=(0,rt.useState)("03:00"),[E,S]=(0,rt.useState)("14"),[x,C]=(0,rt.useState)(!0),[I,$]=(0,rt.useState)(!1),[T,te]=(0,rt.useState)(""),[H,D]=(0,rt.useState)(!1),Y=(0,rt.useCallback)(y=>{m(y.destination),b(y.path??""),h({endpoint:y.s3?.endpoint??"",region:y.s3?.region??"auto",bucket:y.s3?.bucket??"",prefix:y.s3?.prefix??"",accessKeyId:y.s3?.accessKeyId??"",secretAccessKey:"",forcePathStyle:y.s3?.forcePathStyle??!1}),w(`${Gv(y.hour)}:${Gv(y.minute)}`),S(String(y.keep)),C(y.schedule),$(y.includeRecordings),te(""),D(!1)},[]),L=(0,rt.useCallback)(async()=>{try{let y=await re(`${t}/`,e);return r(y),a(void 0),y}catch(y){return a(ye(y)),null}},[e]);(0,rt.useEffect)(()=>{L().then(_=>_&&Y(_.settings));let y=setInterval(()=>{document.visibilityState==="visible"&&L()},6e4);return()=>clearInterval(y)},[L,Y]);let j=async(y,_,U)=>{u(y),a(void 0),s(void 0);try{await _(),await L(),U&&s(U)}catch(N){a(ye(N))}finally{u(null)}},ce=y=>{y.preventDefault();let[_,U]=g.split(":").map(Number);j("save",async()=>{let N=await re(`${t}/settings`,e,{method:"PUT",body:{destination:p,path:f,s3:{...v,...v.secretAccessKey?{}:{secretAccessKey:void 0}},hour:_,minute:U,keep:Number(E),schedule:x,includeRecordings:I,...H?{passphrase:""}:T?{passphrase:T}:{}}});Y(N.settings)},"Settings saved.")};if(!n)return i?(0,B.jsx)("div",{className:"error-bar",children:i}):(0,B.jsx)(_n,{tiles:4,rows:3,title:(0,B.jsxs)("h2",{className:"plugin-name",children:[(0,B.jsx)(it,{id:"backups",size:22}),"Backups"]})});let{settings:K,lastRun:O}=n;return(0,B.jsxs)(B.Fragment,{children:[(0,B.jsxs)("div",{className:"page-title",children:[(0,B.jsxs)("h2",{className:"plugin-name",children:[(0,B.jsx)(it,{id:"backups",size:22}),"Backups"]}),(0,B.jsxs)("p",{children:["A nightly copy of the configuration, keys, licence, invites, plugins and usage."," ",(0,B.jsx)("button",{type:"button",className:"link",disabled:l!==null||n.running||!n.configured,onClick:()=>void j("run",()=>re(`${t}/run`,e,{method:"POST"})),children:n.running||l==="run"?"backing up\\u2026":"back up now"})]})]}),o&&(0,B.jsx)("div",{className:"success-bar",children:o}),i&&(0,B.jsx)("div",{className:"error-bar",children:i}),(0,B.jsxs)("div",{className:"tiles",children:[(0,B.jsxs)("div",{className:`tile ${O&&O.ok===!1?"bad":""}`,children:[(0,B.jsx)("div",{className:"label",children:"last backup"}),(0,B.jsxs)("div",{className:"value",children:[O?O.finishedAt===void 0?"running":O.ok?Oe(O.finishedAt):"failed":"none yet",O?.ok&&O.size!==void 0&&(0,B.jsx)("small",{children:Kv(O.size)})]})]}),(0,B.jsxs)("div",{className:"tile",children:[(0,B.jsx)("div",{className:"label",children:"next backup"}),(0,B.jsx)("div",{className:"value",children:n.nextRunAt?go(n.nextRunAt):K.schedule?"\\u2013":"off"})]}),(0,B.jsxs)("div",{className:"tile",children:[(0,B.jsx)("div",{className:"label",children:"archives kept"}),(0,B.jsxs)("div",{className:"value",children:[M(n.archives.length),(0,B.jsxs)("small",{children:["of ",M(K.keep)]})]})]}),(0,B.jsxs)("div",{className:"tile",children:[(0,B.jsx)("div",{className:"label",children:"encryption"}),(0,B.jsx)("div",{className:"value",children:K.passphraseSet?"on":"off"})]})]}),O&&O.ok===!1&&(0,B.jsxs)("div",{className:"error-bar",children:["The backup at ",O.startedAt.replace("T"," ").slice(0,16)," failed: ",O.error]}),(0,B.jsxs)("section",{className:"panel",children:[(0,B.jsxs)("div",{className:"section-heading",children:[(0,B.jsxs)("h2",{children:["Archives",(0,B.jsx)("span",{className:"count",children:M(n.archives.length)})]}),(0,B.jsxs)("span",{className:"links",children:[n.destination&&(0,B.jsx)("span",{className:"muted",children:n.destination}),(0,B.jsx)("button",{type:"button",className:"ghost mini",disabled:l!==null||!n.configured,onClick:()=>void j("list",()=>re(`${t}/archives`,e)),children:l==="list"?"\\u2026":"refresh"})]})]}),n.archivesError&&(0,B.jsx)("div",{className:"error",children:n.archivesError}),n.archives.length===0?(0,B.jsx)("div",{className:"empty",children:n.configured?"No archives at the destination yet.":"Set a destination below."}):(0,B.jsx)("div",{className:"scroll",children:(0,B.jsxs)("table",{children:[(0,B.jsx)("thead",{children:(0,B.jsxs)("tr",{children:[(0,B.jsx)("th",{children:"archive"}),(0,B.jsx)("th",{children:"made"}),(0,B.jsx)("th",{children:"size"}),(0,B.jsx)("th",{})]})}),(0,B.jsx)("tbody",{children:[...n.archives].reverse().map(y=>(0,B.jsxs)("tr",{children:[(0,B.jsxs)("td",{className:"mono",children:[y.name,y.encrypted&&(0,B.jsx)("span",{className:"tag reviewed",children:"encrypted"})]}),(0,B.jsx)("td",{className:"muted",title:y.createdAt,children:y.createdAt?Oe(y.createdAt):"\\u2013"}),(0,B.jsx)("td",{children:Kv(y.size)}),(0,B.jsx)("td",{className:"actions",children:c===y.name?(0,B.jsxs)(B.Fragment,{children:[(0,B.jsx)("button",{type:"button",className:"danger mini",disabled:l!==null,onClick:()=>void j(`delete:${y.name}`,()=>re(`${t}/archives/${y.name}`,e,{method:"DELETE"}).then(()=>d(null))),children:"delete"})," ",(0,B.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>d(null),children:"keep"})]}):(0,B.jsx)("button",{type:"button",className:"ghost mini",disabled:l!==null,onClick:()=>d(y.name),children:"delete"})})]},y.name))})]})}),(0,B.jsxs)("div",{className:"hint",children:["Restore with the gateway stopped: ",(0,B.jsx)("code",{children:"twinny-server backup restore <archive> --config <file> --yes"}),". An encrypted archive needs the passphrase in ",(0,B.jsx)("code",{children:"TWINNY_BACKUP_PASSPHRASE"})," on another machine."]})]}),(0,B.jsxs)("form",{className:"panel",onSubmit:ce,children:[(0,B.jsxs)("div",{className:"section-heading",children:[(0,B.jsx)("h2",{children:"Destination and schedule"}),(0,B.jsxs)("span",{className:"chips",role:"group","aria-label":"Destination",children:[(0,B.jsx)("button",{type:"button",className:p==="path"?"on":"",onClick:()=>m("path"),children:"directory"}),(0,B.jsx)("button",{type:"button",className:p==="s3"?"on":"",onClick:()=>m("s3"),children:"S3 bucket"})]})]}),p==="path"?(0,B.jsx)("div",{className:"config-fields",children:(0,B.jsxs)("label",{className:"config-field",children:[(0,B.jsx)("span",{children:"directory on this server (absolute)"}),(0,B.jsx)("input",{value:f,onChange:y=>b(y.target.value),placeholder:"/var/backups/twinny",spellCheck:!1})]})}):(0,B.jsxs)("div",{className:"config-fields",children:[(0,B.jsxs)("label",{className:"config-field",children:[(0,B.jsx)("span",{children:"endpoint"}),(0,B.jsx)("input",{value:v.endpoint,onChange:y=>h({...v,endpoint:y.target.value}),placeholder:"https://s3.eu-west-1.amazonaws.com",spellCheck:!1})]}),(0,B.jsxs)("label",{className:"config-field",children:[(0,B.jsx)("span",{children:"region"}),(0,B.jsx)("input",{value:v.region,onChange:y=>h({...v,region:y.target.value}),placeholder:"auto",spellCheck:!1})]}),(0,B.jsxs)("label",{className:"config-field",children:[(0,B.jsx)("span",{children:"bucket"}),(0,B.jsx)("input",{value:v.bucket,onChange:y=>h({...v,bucket:y.target.value}),spellCheck:!1})]}),(0,B.jsxs)("label",{className:"config-field",children:[(0,B.jsx)("span",{children:"prefix (folder in the bucket)"}),(0,B.jsx)("input",{value:v.prefix,onChange:y=>h({...v,prefix:y.target.value}),placeholder:"twinny/",spellCheck:!1})]}),(0,B.jsxs)("label",{className:"config-field",children:[(0,B.jsx)("span",{children:"access key id"}),(0,B.jsx)("input",{value:v.accessKeyId,onChange:y=>h({...v,accessKeyId:y.target.value}),spellCheck:!1,autoComplete:"off"})]}),(0,B.jsxs)("label",{className:"config-field",children:[(0,B.jsxs)("span",{children:["secret access key ",K.s3?.secretAccessKeySet&&(0,B.jsx)("em",{className:"muted",children:"(set; leave blank to keep)"})]}),(0,B.jsx)("input",{type:"password",value:v.secretAccessKey,onChange:y=>h({...v,secretAccessKey:y.target.value}),autoComplete:"new-password"})]})]}),p==="s3"&&(0,B.jsx)("div",{className:"backup-options",children:(0,B.jsxs)("label",{className:"policy-option",children:[(0,B.jsx)("input",{type:"checkbox",checked:v.forcePathStyle,onChange:y=>h({...v,forcePathStyle:y.target.checked})}),(0,B.jsxs)("span",{children:[(0,B.jsx)("b",{children:"path-style addresses"}),(0,B.jsx)("small",{children:"bucket in the path, not the host name; what MinIO and some others want"})]})]})}),(0,B.jsxs)("div",{className:"config-fields",style:{marginTop:16},children:[(0,B.jsxs)("label",{className:"config-field",children:[(0,B.jsx)("span",{children:"nightly at (server local time)"}),(0,B.jsx)("input",{type:"time",value:g,onChange:y=>w(y.target.value)})]}),(0,B.jsxs)("label",{className:"config-field",children:[(0,B.jsx)("span",{children:"archives to keep"}),(0,B.jsx)("input",{inputMode:"numeric",value:E,onChange:y=>S(y.target.value)})]}),(0,B.jsxs)("label",{className:"config-field",children:[(0,B.jsxs)("span",{children:["passphrase ",K.passphraseSet&&(0,B.jsx)("em",{className:"muted",children:"(set; leave blank to keep)"})]}),(0,B.jsx)("input",{type:"password",value:T,onChange:y=>te(y.target.value),placeholder:K.passphraseSet?"\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022\\u2022":"at least 12 characters; encrypts every archive",autoComplete:"new-password",disabled:H})]})]}),(0,B.jsxs)("div",{className:"backup-options",children:[(0,B.jsxs)("label",{className:"policy-option",children:[(0,B.jsx)("input",{type:"checkbox",checked:x,onChange:y=>C(y.target.checked)}),(0,B.jsxs)("span",{children:[(0,B.jsx)("b",{children:"run nightly"}),(0,B.jsx)("small",{children:\'off leaves only "back up now" and the CLI\'})]})]}),(0,B.jsxs)("label",{className:"policy-option",children:[(0,B.jsx)("input",{type:"checkbox",checked:I,onChange:y=>$(y.target.checked)}),(0,B.jsxs)("span",{children:[(0,B.jsx)("b",{children:"include recordings"}),(0,B.jsx)("small",{children:"recorded content can be large; keep it encrypted"})]})]}),K.passphraseSet&&(0,B.jsxs)("label",{className:"policy-option",children:[(0,B.jsx)("input",{type:"checkbox",checked:H,onChange:y=>D(y.target.checked)}),(0,B.jsxs)("span",{children:[(0,B.jsx)("b",{children:"remove the passphrase"}),(0,B.jsx)("small",{children:"new archives will not be encrypted; old ones still need it"})]})]})]}),(0,B.jsxs)("div",{className:"row-actions",style:{marginTop:16},children:[(0,B.jsx)("button",{type:"submit",className:"primary",disabled:l!==null,children:l==="save"?"\\u2026":"save"}),(0,B.jsx)("button",{type:"button",className:"ghost",disabled:l!==null||!n.configured,onClick:()=>void j("check",()=>re(`${t}/check`,e,{method:"POST"}),"The destination is writable."),children:l==="check"?"\\u2026":"test destination"}),(0,B.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,B.jsx)("code",{children:"tar"})," when not encrypted."]})]})]})]})};var At=ne(Ye());var Jt=ne(Ye());function Qv(e,t){let n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}var h2=/^[$_\\p{ID_Start}][$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u,g2=/^[$_\\p{ID_Start}][-$_\\u{200C}\\u{200D}\\p{ID_Continue}]*$/u,y2={};function pl(e,t){return((t||y2).jsx?g2:h2).test(e)}var v2=/[ \\t\\n\\f\\r]/g;function Hd(e){return typeof e=="object"?e.type==="text"?Xv(e.value):!1:Xv(e)}function Xv(e){return e.replace(v2,"")===""}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 qd(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={};th(bo,{boolean:()=>xe,booleanish:()=>Xe,commaOrSpaceSeparated:()=>Ht,commaSeparated:()=>Er,number:()=>J,overloadedBoolean:()=>Vd,spaceSeparated:()=>ze});var b2=0,xe=Jr(),Xe=Jr(),Vd=Jr(),J=Jr(),ze=Jr(),Er=Jr(),Ht=Jr();function Jr(){return 2**++b2}var Wd=Object.keys(bo),ei=class extends St{constructor(t,n,r,i){let a=-1;if(super(t,n),Zv(this,"space",i),typeof r=="number")for(;++a<Wd.length;){let o=Wd[a];Zv(this,Wd[a],(r&bo[o])===bo[o])}}};ei.prototype.defined=!0;function Zv(e,t,n){n&&(e[t]=n)}var k2={}.hasOwnProperty;function dn(e){let t={},n={},r;for(r in e.properties)if(k2.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 Kd=dn({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 Gd=dn({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 Yd=dn({space:"xmlns",attributes:{xmlnsxlink:"xmlns:xlink"},transform:fl,properties:{xmlns:null,xmlnsXLink:null}});var Qd=dn({transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()},properties:{ariaActiveDescendant:null,ariaAtomic:Xe,ariaAutoComplete:null,ariaBusy:Xe,ariaChecked:Xe,ariaColCount:J,ariaColIndex:J,ariaColSpan:J,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:J,ariaLive:null,ariaModal:Xe,ariaMultiLine:Xe,ariaMultiSelectable:Xe,ariaOrientation:null,ariaOwns:ze,ariaPlaceholder:null,ariaPosInSet:J,ariaPressed:Xe,ariaReadOnly:Xe,ariaRelevant:null,ariaRequired:Xe,ariaRoleDescription:ze,ariaRowCount:J,ariaRowIndex:J,ariaRowSpan:J,ariaSelected:Xe,ariaSetSize:J,ariaSort:null,ariaValueMax:J,ariaValueMin:J,ariaValueNow:J,ariaValueText:null,role:null}});var Jv=dn({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:J,colSpan:null,content:null,contentEditable:Xe,controls:xe,controlsList:ze,coords:J|Er,crossOrigin:null,data:null,dateTime:null,decoding:null,default:xe,defer:xe,dir:null,dirName:null,disabled:xe,download:Vd,draggable:Xe,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:xe,formTarget:null,headers:ze,height:J,hidden:xe,high:J,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:J,manifest:null,max:null,maxLength:J,media:null,method:null,min:null,minLength:J,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:J,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:J,rowSpan:J,sandbox:ze,scope:null,scoped:xe,seamless:xe,selected:xe,shadowRootClonable:xe,shadowRootDelegatesFocus:xe,shadowRootMode:null,shape:null,size:J,sizes:null,slot:null,span:J,spellCheck:Xe,src:null,srcDoc:null,srcLang:null,srcSet:null,start:J,step:null,style:null,tabIndex:J,target:null,title:null,translate:null,type:null,typeMustMatch:xe,useMap:null,value:Xe,width:J,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:ze,axis:null,background:null,bgColor:null,border:J,borderColor:null,bottomMargin:J,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:J,leftMargin:J,link:null,longDesc:null,lowSrc:null,marginHeight:J,marginWidth:J,noResize:xe,noHref:xe,noShade:xe,noWrap:xe,object:null,profile:null,prompt:null,rev:null,rightMargin:J,rules:null,scheme:null,scrolling:Xe,standby:null,summary:null,text:null,topMargin:J,valueType:null,version:null,vAlign:null,vLink:null,vSpace:J,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:xe,disableRemotePlayback:xe,prefix:null,property:null,results:J,security:null,unselectable:null}});var eb=dn({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:Ht,accentHeight:J,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:J,amplitude:J,arabicForm:null,ascent:J,attributeName:null,attributeType:null,azimuth:J,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:J,by:null,calcMode:null,capHeight:J,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:J,diffuseConstant:J,direction:null,display:null,dur:null,divisor:J,dominantBaseline:null,download:xe,dx:null,dy:null,edgeMode:null,editable:null,elevation:J,enableBackground:null,end:null,event:null,exponent:J,externalResourcesRequired:null,fill:null,fillOpacity:J,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:J,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:J,horizOriginX:J,horizOriginY:J,id:null,ideographic:J,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:J,k:J,k1:J,k2:J,k3:J,k4:J,kernelMatrix:Ht,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:J,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:J,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:J,overlineThickness:J,paintOrder:null,panose1:null,path:null,pathLength:J,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:ze,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:J,pointsAtY:J,pointsAtZ:J,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Ht,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Ht,rev:Ht,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Ht,requiredFeatures:Ht,requiredFonts:Ht,requiredFormats:Ht,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:J,specularExponent:J,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:J,strikethroughThickness:J,string:null,stroke:null,strokeDashArray:Ht,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:J,strokeOpacity:J,strokeWidth:null,style:null,surfaceScale:J,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Ht,tabIndex:J,tableValues:null,target:null,targetX:J,targetY:J,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Ht,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:J,underlineThickness:J,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:J,values:null,vAlphabetic:J,vMathematical:J,vectorEffect:null,vHanging:J,vIdeographic:J,version:null,vertAdvY:J,vertOriginX:J,vertOriginY:J,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:J,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null}});var w2=/^data[-\\w.:]+$/i,tb=/-[a-z]/g,x2=/[A-Z]/g;function Xd(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"&&w2.test(t)){if(t.charAt(4)==="-"){let a=t.slice(5).replace(tb,S2);r="data"+a.charAt(0).toUpperCase()+a.slice(1)}else{let a=t.slice(4);if(!tb.test(a)){let o=a.replace(x2,N2);o.charAt(0)!=="-"&&(o="-"+o),t="data"+o}}i=ei}return new i(r,t)}function N2(e){return"-"+e.toLowerCase()}function S2(e){return e.charAt(1).toUpperCase()}var Zd={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 nb=qd([Gd,Kd,Yd,Qd,Jv],"html"),hl=qd([Gd,Kd,Yd,Qd,eb],"svg");function rb(e){return e.join(" ").trim()}var Jd=ne(cb(),1),db=Jd.default.default||Jd.default;var gl=pb("end"),Ji=pb("start");function pb(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 ep(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?mb(e.position):"start"in e||"end"in e?mb(e):"line"in e||"column"in e?tp(e):""}function tp(e){return fb(e&&e.line)+":"+fb(e&&e.column)}function mb(e){return tp(e&&e.start)+"-"+tp(e&&e.end)}function fb(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 np={}.hasOwnProperty,$2=new Map,M2=/[A-Z]/g,B2=/-([a-z])/g,j2=new Set(["table","tbody","thead","tfoot","tr"]),U2=new Set(["td","th"]),hb="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function rp(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=Q2(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=Y2(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:nb,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},a=gb(i,e,void 0);return a&&typeof a!="string"?a:i.create(e,i.Fragment,{children:a||void 0},void 0)}function gb(e,t,n){if(t.type==="element")return H2(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return q2(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return W2(e,t,n);if(t.type==="mdxjsEsm")return V2(e,t);if(t.type==="root")return K2(e,t,n);if(t.type==="text")return G2(e,t)}function H2(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=vb(e,t.tagName,!1),o=X2(e,t),s=ap(e,t);return j2.has(t.tagName)&&(s=s.filter(function(l){return typeof l=="string"?!Hd(l):!0})),yb(e,o,a,t),ip(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function q2(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 V2(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);wo(e,t.position)}function W2(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:vb(e,t.name,!0),o=Z2(e,t),s=ap(e,t);return yb(e,o,a,t),ip(o,s),e.ancestors.pop(),e.schema=r,e.create(t,a,o,n)}function K2(e,t,n){let r={};return ip(r,ap(e,t)),e.create(t,e.Fragment,r,n)}function G2(e,t){return t.value}function yb(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function ip(e,t){if(t.length>0){let n=t.length>1?t:t[0];n&&(e.children=n)}}function Y2(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 Q2(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 X2(e,t){let n={},r,i;for(i in t.properties)if(i!=="children"&&np.call(t.properties,i)){let a=J2(e,i,t.properties[i]);if(a){let[o,s]=a;e.tableCellAlignToStyle&&o==="align"&&typeof s=="string"&&U2.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 Z2(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 ap(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=gb(e,a,o);s!==void 0&&n.push(s)}return n}function J2(e,t,n){let r=Xd(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?Qv(n):rb(n)),r.property==="style"){let i=typeof n=="object"?n:eA(e,String(n));return e.stylePropertyNameCase==="css"&&(i=tA(i)),["style",i]}return[e.elementAttributeNameCase==="react"&&r.space?Zd[r.property]||r.property:r.attribute,n]}}function eA(e,t){let n={};try{db(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=hb+"#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(B2,rA)),n[o]=a}}function vb(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 np.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=hb+"#cannot-handle-mdx-estrees-without-createevaluater",n}function tA(e){let t={},n;for(n in e)np.call(e,n)&&(t[nA(n)]=e[n]);return t}function nA(e){let t=e.replace(M2,iA);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function rA(e,t){return t.toUpperCase()}function iA(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=ne(Ce(),1);var aA={};function ni(e,t){let n=t||aA,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,i=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return kb(e,r,i)}function kb(e,t,n){if(oA(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 bb(e.children,t,n)}return Array.isArray(e)?bb(e,t,n):""}function bb(e,t,n){let r=[],i=-1;for(;++i<e.length;)r[i]=kb(e[i],t,n);return r.join("")}function oA(e){return!!(e&&typeof e=="object")}var wb=document.createElement("i");function ea(e){let t="&"+e+";";wb.innerHTML=t;let n=wb.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 Ft(e,t){return e.length>0?(at(e,e.length,0,t),e):t}var xb={}.hasOwnProperty;function yl(e){let t={},n=-1;for(;++n<e.length;)sA(t,e[n]);return t}function sA(e,t){let n;for(n in t){let i=(xb.call(e,n)?e[n]:void 0)||(e[n]={}),a=t[n],o;if(a)for(o in a){xb.call(i,o)||(i[o]=[]);let s=a[o];lA(i[o],Array.isArray(s)?s:s?[s]:[])}}}function lA(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]/),Nb=Ar(/[#-\'*+\\--9=?A-Z^-~]/);function ri(e){return e!==null&&(e<32||e===127)}var No=Ar(/\\d/),Sb=Ar(/[\\dA-Fa-f]/),Eb=Ar(/[!-/:-@[-`{-~]/);function ue(e){return e!==null&&e<-2}function Ae(e){return e!==null&&(e<0||e===32)}function ve(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 pn(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 ge(e,t,n,r){let i=r?r-1:Number.POSITIVE_INFINITY,a=0;return o;function o(l){return ve(l)?(e.enter(n),s(l)):t(l)}function s(l){return ve(l)&&a++<i?(e.consume(l),s):(e.exit(n),t(l))}}var Cb={tokenize:uA};function uA(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"),ge(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 ue(s)?(e.consume(s),e.exit("chunkText"),a):(e.consume(s),o)}}var Tb={tokenize:cA},Ab={tokenize:dA};function cA(e){let t=this,n=[],r=0,i,a,o;return s;function s(w){if(r<n.length){let E=n[r];return t.containerState=E[1],e.attempt(E[0].continuation,l,u)(w)}return u(w)}function l(w){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,i&&g();let E=t.events.length,S=E,x;for(;S--;)if(t.events[S][0]==="exit"&&t.events[S][1].type==="chunkFlow"){x=t.events[S][1].end;break}h(r);let C=E;for(;C<t.events.length;)t.events[C][1].end=Object.assign({},x),C++;return at(t.events,S+1,0,t.events.slice(E)),t.events.length=C,u(w)}return s(w)}function u(w){if(r===n.length){if(!i)return p(w);if(i.currentConstruct&&i.currentConstruct.concrete)return f(w);t.interrupt=!!(i.currentConstruct&&!i._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Ab,c,d)(w)}function c(w){return i&&g(),h(r),p(w)}function d(w){return t.parser.lazy[t.now().line]=r!==n.length,o=t.now().offset,f(w)}function p(w){return t.containerState={},e.attempt(Ab,m,f)(w)}function m(w){return r++,n.push([t.currentConstruct,t.containerState]),p(w)}function f(w){if(w===null){i&&g(),h(0),e.consume(w);return}return i=i||t.parser.flow(t.now()),e.enter("chunkFlow",{contentType:"flow",previous:a,_tokenizer:i}),b(w)}function b(w){if(w===null){v(e.exit("chunkFlow"),!0),h(0),e.consume(w);return}return ue(w)?(e.consume(w),v(e.exit("chunkFlow")),r=0,t.interrupt=void 0,s):(e.consume(w),b)}function v(w,E){let S=t.sliceStream(w);if(E&&S.push(null),w.previous=a,a&&(a.next=w),a=w,i.defineSkip(w.start),i.write(S),t.parser.lazy[w.start.line]){let x=i.events.length;for(;x--;)if(i.events[x][1].start.offset<o&&(!i.events[x][1].end||i.events[x][1].end.offset>o))return;let C=t.events.length,I=C,$,T;for(;I--;)if(t.events[I][0]==="exit"&&t.events[I][1].type==="chunkFlow"){if($){T=t.events[I][1].end;break}$=!0}for(h(r),x=C;x<t.events.length;)t.events[x][1].end=Object.assign({},T),x++;at(t.events,I+1,0,t.events.slice(C)),t.events.length=x}}function h(w){let E=n.length;for(;E-- >w;){let S=n[E];t.containerState=S[1],S[0].exit.call(t,e)}n.length=w}function g(){i.write([null]),a=void 0,i=void 0,t.containerState._closeFlow=void 0}}function dA(e,t,n){return ge(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:mA,resolveAll:pA};function pA(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);Rb(d,-l),Rb(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=Ft(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=Ft(u,[["enter",i,t],["enter",o,t],["exit",o,t],["enter",a,t]]),u=Ft(u,Tr(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=Ft(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=Ft(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 mA(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 Rb(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}var op={name:"autolink",tokenize:fA};function fA(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):Nb(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:hA,partial:!0};function hA(e,t,n){return r;function r(a){return ve(a)?ge(e,i,"linePrefix")(a):i(a)}function i(a){return a===null||ue(a)?t(a):n(a)}}var bl={name:"blockQuote",tokenize:gA,continuation:{tokenize:yA},exit:vA};function gA(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 ve(o)?(e.enter("blockQuotePrefixWhitespace"),e.consume(o),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(o))}}function yA(e,t,n){let r=this;return i;function i(o){return ve(o)?ge(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 vA(e){e.exit("blockQuote")}var kl={name:"characterEscape",tokenize:bA};function bA(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 Eb(a)?(e.enter("characterEscapeValue"),e.consume(a),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(a)}}var wl={name:"characterReference",tokenize:kA};function kA(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=Sb,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 Ib={tokenize:xA,partial:!0},xl={name:"codeFenced",tokenize:wA,concrete:!0};function wA(e,t,n){let r=this,i={tokenize:S,partial:!0},a=0,o=0,s;return l;function l(x){return u(x)}function u(x){let C=r.events[r.events.length-1];return a=C&&C[1].type==="linePrefix"?C[2].sliceSerialize(C[1],!0).length:0,s=x,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),c(x)}function c(x){return x===s?(o++,e.consume(x),c):o<3?n(x):(e.exit("codeFencedFenceSequence"),ve(x)?ge(e,d,"whitespace")(x):d(x))}function d(x){return x===null||ue(x)?(e.exit("codeFencedFence"),r.interrupt?t(x):e.check(Ib,b,E)(x)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),p(x))}function p(x){return x===null||ue(x)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),d(x)):ve(x)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),ge(e,m,"whitespace")(x)):x===96&&x===s?n(x):(e.consume(x),p)}function m(x){return x===null||ue(x)?d(x):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),f(x))}function f(x){return x===null||ue(x)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),d(x)):x===96&&x===s?n(x):(e.consume(x),f)}function b(x){return e.attempt(i,E,v)(x)}function v(x){return e.enter("lineEnding"),e.consume(x),e.exit("lineEnding"),h}function h(x){return a>0&&ve(x)?ge(e,g,"linePrefix",a+1)(x):g(x)}function g(x){return x===null||ue(x)?e.check(Ib,b,E)(x):(e.enter("codeFlowValue"),w(x))}function w(x){return x===null||ue(x)?(e.exit("codeFlowValue"),g(x)):(e.consume(x),w)}function E(x){return e.exit("codeFenced"),t(x)}function S(x,C,I){let $=0;return T;function T(L){return x.enter("lineEnding"),x.consume(L),x.exit("lineEnding"),te}function te(L){return x.enter("codeFencedFence"),ve(L)?ge(x,H,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(L):H(L)}function H(L){return L===s?(x.enter("codeFencedFenceSequence"),D(L)):I(L)}function D(L){return L===s?($++,x.consume(L),D):$>=o?(x.exit("codeFencedFenceSequence"),ve(L)?ge(x,Y,"whitespace")(L):Y(L)):I(L)}function Y(L){return L===null||ue(L)?(x.exit("codeFencedFence"),C(L)):I(L)}}}function xA(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:SA},NA={tokenize:EA,partial:!0};function SA(e,t,n){let r=this;return i;function i(u){return e.enter("codeIndented"),ge(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):ue(u)?e.attempt(NA,o,l)(u):(e.enter("codeFlowValue"),s(u))}function s(u){return u===null||ue(u)?(e.exit("codeFlowValue"),o(u)):(e.consume(u),s)}function l(u){return e.exit("codeIndented"),t(u)}}function EA(e,t,n){let r=this;return i;function i(o){return r.parser.lazy[r.now().line]?n(o):ue(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i):ge(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):ue(o)?i(o):n(o)}}var sp={name:"codeText",tokenize:TA,resolve:CA,previous:AA};function CA(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 AA(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function TA(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)):ue(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||ue(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,RA(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 RA(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]),g=a.pop();l.push([g,g+h.length-1]),e.splice(g,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 lp={tokenize:LA,resolve:PA},IA={tokenize:OA,partial:!0};function PA(e){return Sl(e),e}function LA(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):ue(s)?e.check(IA,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 OA(e,t,n){let r=this;return i;function i(o){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),ge(e,a,"linePrefix")}function a(o){if(o===null||ue(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||ue(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):ue(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||ue(m)||s++>999?(e.exit("chunkString"),c(m)):(e.consume(m),l||(l=!ve(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):ue(p)?(e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),ge(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),c(p))}function c(p){return p===o||p===null||ue(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 ue(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):ve(i)?ge(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}var up={name:"definition",tokenize:DA},_A={tokenize:FA,partial:!0};function DA(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(_A,d,d)(m)}function d(m){return ve(m)?ge(e,p,"whitespace")(m):p(m)}function p(m){return m===null||ue(m)?(e.exit("definition"),r.parser.defined.push(i),t(m)):n(m)}}function FA(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 ve(s)?ge(e,o,"whitespace")(s):o(s)}function o(s){return s===null||ue(s)?t(s):n(s)}}var cp={name:"hardBreakEscape",tokenize:zA};function zA(e,t,n){return r;function r(a){return e.enter("hardBreakEscape"),e.consume(a),i}function i(a){return ue(a)?(e.exit("hardBreakEscape"),t(a)):n(a)}}var dp={name:"headingAtx",tokenize:MA,resolve:$A};function $A(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 MA(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||ue(c)?(e.exit("atxHeading"),t(c)):ve(c)?ge(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 Pb=["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"],pp=["pre","script","style","textarea"];var mp={name:"htmlFlow",tokenize:HA,resolveTo:UA,concrete:!0},BA={tokenize:VA,partial:!0},jA={tokenize:qA,partial:!0};function UA(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 HA(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:y):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:y):n(N)}function m(N){return N===45?(e.consume(N),r.interrupt?t:y):n(N)}function f(N){let F="CDATA[";return N===F.charCodeAt(s++)?(e.consume(N),s===F.length?r.interrupt?t:H: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 F=N===47,z=o.toLowerCase();return!F&&!a&&pp.includes(z)?(i=1,r.interrupt?t(N):H(N)):Pb.includes(o.toLowerCase())?(i=6,F?(e.consume(N),h):r.interrupt?t(N):H(N)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(N):a?g(N):w(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:H):n(N)}function g(N){return ve(N)?(e.consume(N),g):T(N)}function w(N){return N===47?(e.consume(N),T):N===58||N===95||ct(N)?(e.consume(N),E):ve(N)?(e.consume(N),w):T(N)}function E(N){return N===45||N===46||N===58||N===95||Ze(N)?(e.consume(N),E):S(N)}function S(N){return N===61?(e.consume(N),x):ve(N)?(e.consume(N),S):w(N)}function x(N){return N===null||N===60||N===61||N===62||N===96?n(N):N===34||N===39?(e.consume(N),l=N,C):ve(N)?(e.consume(N),x):I(N)}function C(N){return N===l?(e.consume(N),l=null,$):N===null||ue(N)?n(N):(e.consume(N),C)}function I(N){return N===null||N===34||N===39||N===47||N===60||N===61||N===62||N===96||Ae(N)?S(N):(e.consume(N),I)}function $(N){return N===47||N===62||ve(N)?w(N):n(N)}function T(N){return N===62?(e.consume(N),te):n(N)}function te(N){return N===null||ue(N)?H(N):ve(N)?(e.consume(N),te):n(N)}function H(N){return N===45&&i===2?(e.consume(N),j):N===60&&i===1?(e.consume(N),ce):N===62&&i===4?(e.consume(N),_):N===63&&i===3?(e.consume(N),y):N===93&&i===5?(e.consume(N),O):ue(N)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(BA,U,D)(N)):N===null||ue(N)?(e.exit("htmlFlowData"),D(N)):(e.consume(N),H)}function D(N){return e.check(jA,Y,U)(N)}function Y(N){return e.enter("lineEnding"),e.consume(N),e.exit("lineEnding"),L}function L(N){return N===null||ue(N)?D(N):(e.enter("htmlFlowData"),H(N))}function j(N){return N===45?(e.consume(N),y):H(N)}function ce(N){return N===47?(e.consume(N),o="",K):H(N)}function K(N){if(N===62){let F=o.toLowerCase();return pp.includes(F)?(e.consume(N),_):H(N)}return ct(N)&&o.length<8?(e.consume(N),o+=String.fromCharCode(N),K):H(N)}function O(N){return N===93?(e.consume(N),y):H(N)}function y(N){return N===62?(e.consume(N),_):N===45&&i===2?(e.consume(N),y):H(N)}function _(N){return N===null||ue(N)?(e.exit("htmlFlowData"),U(N)):(e.consume(N),_)}function U(N){return e.exit("htmlFlow"),t(N)}}function qA(e,t,n){let r=this;return i;function i(o){return ue(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 VA(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(Fn,t,n)}}var fp={name:"htmlText",tokenize:WA};function WA(e,t,n){let r=this,i,a,o;return s;function s(y){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(y),l}function l(y){return y===33?(e.consume(y),u):y===47?(e.consume(y),S):y===63?(e.consume(y),w):ct(y)?(e.consume(y),I):n(y)}function u(y){return y===45?(e.consume(y),c):y===91?(e.consume(y),a=0,f):ct(y)?(e.consume(y),g):n(y)}function c(y){return y===45?(e.consume(y),m):n(y)}function d(y){return y===null?n(y):y===45?(e.consume(y),p):ue(y)?(o=d,ce(y)):(e.consume(y),d)}function p(y){return y===45?(e.consume(y),m):d(y)}function m(y){return y===62?j(y):y===45?p(y):d(y)}function f(y){let _="CDATA[";return y===_.charCodeAt(a++)?(e.consume(y),a===_.length?b:f):n(y)}function b(y){return y===null?n(y):y===93?(e.consume(y),v):ue(y)?(o=b,ce(y)):(e.consume(y),b)}function v(y){return y===93?(e.consume(y),h):b(y)}function h(y){return y===62?j(y):y===93?(e.consume(y),h):b(y)}function g(y){return y===null||y===62?j(y):ue(y)?(o=g,ce(y)):(e.consume(y),g)}function w(y){return y===null?n(y):y===63?(e.consume(y),E):ue(y)?(o=w,ce(y)):(e.consume(y),w)}function E(y){return y===62?j(y):w(y)}function S(y){return ct(y)?(e.consume(y),x):n(y)}function x(y){return y===45||Ze(y)?(e.consume(y),x):C(y)}function C(y){return ue(y)?(o=C,ce(y)):ve(y)?(e.consume(y),C):j(y)}function I(y){return y===45||Ze(y)?(e.consume(y),I):y===47||y===62||Ae(y)?$(y):n(y)}function $(y){return y===47?(e.consume(y),j):y===58||y===95||ct(y)?(e.consume(y),T):ue(y)?(o=$,ce(y)):ve(y)?(e.consume(y),$):j(y)}function T(y){return y===45||y===46||y===58||y===95||Ze(y)?(e.consume(y),T):te(y)}function te(y){return y===61?(e.consume(y),H):ue(y)?(o=te,ce(y)):ve(y)?(e.consume(y),te):$(y)}function H(y){return y===null||y===60||y===61||y===62||y===96?n(y):y===34||y===39?(e.consume(y),i=y,D):ue(y)?(o=H,ce(y)):ve(y)?(e.consume(y),H):(e.consume(y),Y)}function D(y){return y===i?(e.consume(y),i=void 0,L):y===null?n(y):ue(y)?(o=D,ce(y)):(e.consume(y),D)}function Y(y){return y===null||y===34||y===39||y===60||y===61||y===96?n(y):y===47||y===62||Ae(y)?$(y):(e.consume(y),Y)}function L(y){return y===47||y===62||Ae(y)?$(y):n(y)}function j(y){return y===62?(e.consume(y),e.exit("htmlTextData"),e.exit("htmlText"),t):n(y)}function ce(y){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),K}function K(y){return ve(y)?ge(e,O,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(y):O(y)}function O(y){return e.enter("htmlTextData"),o(y)}}var oi={name:"labelEnd",tokenize:ZA,resolveTo:XA,resolveAll:QA},KA={tokenize:JA},GA={tokenize:eT},YA={tokenize:tT};function QA(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 XA(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=Ft(s,e.slice(a+1,a+r+3)),s=Ft(s,[["enter",c,t]]),s=Ft(s,Tr(t.parser.constructs.insideSpan.null,e.slice(a+r+4,o-3),t)),s=Ft(s,[["exit",c,t],e[o-2],e[o-1],["exit",u,t]]),s=Ft(s,e.slice(o+1)),s=Ft(s,[["exit",l,t]]),at(e,a,e.length,s),e}function ZA(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(KA,c,o?c:d)(p):p===91?e.attempt(GA,c,o?u:d)(p):o?c(p):d(p)}function u(p){return e.attempt(YA,c,d)(p)}function c(p){return t(p)}function d(p){return a._balanced=!0,n(p)}}function JA(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 eT(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 tT(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 hp={name:"labelStartImage",tokenize:nT,resolveAll:oi.resolveAll};function nT(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 gp={name:"labelStartLink",tokenize:rT,resolveAll:oi.resolveAll};function rT(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:iT};function iT(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),ge(e,t,"linePrefix")}}var si={name:"thematicBreak",tokenize:aT};function aT(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||ue(u))?(e.exit("thematicBreak"),t(u)):n(u)}function l(u){return u===i?(e.consume(u),r++,l):(e.exit("thematicBreakSequence"),ve(u)?ge(e,s,"whitespace")(u):s(u))}}var Ct={name:"list",tokenize:lT,continuation:{tokenize:uT},exit:dT},oT={tokenize:pT,partial:!0},sT={tokenize:cT,partial:!0};function lT(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(oT,p,d))}function c(m){return r.containerState.initialBlankLine=!0,a++,p(m)}function d(m){return ve(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 uT(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,ge(e,t,"listItemIndent",r.containerState.size+1)(s)}function a(s){return r.containerState.furtherBlankLines||!ve(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(sT,t,o)(s))}function o(s){return r.containerState._closeFlow=!0,r.interrupt=void 0,ge(e,e.attempt(Ct,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(s)}}function cT(e,t,n){let r=this;return ge(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 dT(e){e.exit(this.containerState.type)}function pT(e,t,n){let r=this;return ge(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!ve(a)&&o&&o[1].type==="listItemPrefixWhitespace"?t(a):n(a)}}var Tl={name:"setextUnderline",tokenize:fT,resolveTo:mT};function mT(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 fT(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"),ve(u)?ge(e,l,"lineSuffix")(u):l(u))}function l(u){return u===null||ue(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}var Lb={tokenize:hT};function hT(e){let t=this,n=e.attempt(Fn,r,e.attempt(this.parser.constructs.flowInitial,i,ge(e,e.attempt(this.parser.constructs.flow,i,e.attempt(lp,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 Ob={resolveAll:zb()},_b=Fb("string"),Db=Fb("text");function Fb(e){return{tokenize:t,resolveAll:zb(e==="text"?gT: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 zb(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 gT(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 $b(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:E,enter:S,exit:x,attempt:$(C),check:$(I),interrupt:$(I,{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(D){return o=Ft(o,D),g(),o[o.length-1]!==null?[]:(T(t,0),c.events=Tr(a,c.events,c),c.events)}function f(D,Y){return vT(b(D),Y)}function b(D){return yT(o,D)}function v(){let{line:D,column:Y,offset:L,_index:j,_bufferIndex:ce}=r;return{line:D,column:Y,offset:L,_index:j,_bufferIndex:ce}}function h(D){i[D.line]=D.column,H()}function g(){let D;for(;r._index<o.length;){let Y=o[r._index];if(typeof Y=="string")for(D=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===D&&r._bufferIndex<Y.length;)w(Y.charCodeAt(r._bufferIndex));else w(Y)}}function w(D){l=void 0,p=D,d=d(D)}function E(D){ue(D)?(r.line++,r.column=1,r.offset+=D===-3?2:1,H()):D!==-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=D,l=!0}function S(D,Y){let L=Y||{};return L.type=D,L.start=v(),c.events.push(["enter",L,c]),s.push(L),L}function x(D){let Y=s.pop();return Y.end=v(),c.events.push(["exit",Y,c]),Y}function C(D,Y){T(D,Y.from)}function I(D,Y){Y.restore()}function $(D,Y){return L;function L(j,ce,K){let O,y,_,U;return Array.isArray(j)?F(j):"tokenize"in j?F([j]):N(j);function N(he){return ft;function ft(tt){let tn=tt!==null&&he[tt],jn=tt!==null&&he.null,bi=[...Array.isArray(tn)?tn:tn?[tn]:[],...Array.isArray(jn)?jn:jn?[jn]:[]];return F(bi)(tt)}}function F(he){return O=he,y=0,he.length===0?K:z(he[y])}function z(he){return ft;function ft(tt){return U=te(),_=he,he.partial||(c.currentConstruct=he),he.name&&c.parser.constructs.disable.null.includes(he.name)?ae(tt):he.tokenize.call(Y?Object.assign(Object.create(c),Y):c,u,q,ae)(tt)}}function q(he){return l=!0,D(_,U),ce}function ae(he){return l=!0,U.restore(),++y<O.length?z(O[y]):K}}}function T(D,Y){D.resolveAll&&!a.includes(D)&&a.push(D),D.resolve&&at(c.events,Y,c.events.length-Y,D.resolve(c.events.slice(Y),c)),D.resolveTo&&(c.events=D.resolveTo(c.events,c))}function te(){let D=v(),Y=c.previous,L=c.currentConstruct,j=c.events.length,ce=Array.from(s);return{restore:K,from:j};function K(){r=D,c.previous=Y,c.currentConstruct=L,c.events.length=j,s=ce,H()}}function H(){r.line in i&&r.column<2&&(r.column=i[r.line],r.offset+=i[r.line]-1)}}function yT(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 vT(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 yp={};th(yp,{attentionMarkers:()=>CT,contentInitial:()=>kT,disable:()=>AT,document:()=>bT,flow:()=>xT,flowInitial:()=>wT,insideSpan:()=>ET,string:()=>NT,text:()=>ST});var bT={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},kT={91:up},wT={[-2]:Eo,[-1]:Eo,32:Eo},xT={35:dp,42:si,45:[Tl,si],60:mp,61:Tl,95:si,96:xl,126:xl},NT={38:wl,92:kl},ST={[-5]:Ao,[-4]:Ao,[-3]:Ao,33:hp,38:wl,42:So,60:[op,fp],91:gp,92:[cp,kl],93:oi,95:So,96:sp},ET={null:[So,Ob]},CT={null:[42,95]},AT={null:[]};function vp(e){let n=yl([yp,...(e||{}).extensions||[]]),r={defined:[],lazy:{},constructs:n,content:i(Cb),document:i(Tb),flow:i(Lb),string:i(_b),text:i(Db)};return r;function i(a){return o;function o(s){return $b(r,a,s)}}}function bp(e){for(;!Sl(e););return e}var Mb=/[\\0\\t\\n\\r]/g;function kp(){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(Mb.lastIndex=d,u=Mb.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 TT=/\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi;function Bb(e){return e.replace(TT,RT)}function RT(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 Ub={}.hasOwnProperty;function wp(e,t,n){return typeof t!="string"&&(n=t,t=void 0),IT(n)(bp(vp(n).document().write(kp()(e,t,!0))))}function IT(e){let t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:a(ki),autolinkProtocol:$,autolinkEmail:$,atxHeading:a(Ee),blockQuote:a(tt),characterEscape:$,characterReference:$,codeFenced:a(tn),codeFencedFenceInfo:o,codeFencedFenceMeta:o,codeIndented:a(tn,o),codeText:a(jn,o),codeTextData:$,data:$,codeFlowValue:$,definition:a(bi),definitionDestinationString:o,definitionLabelString:o,definitionTitleString:o,emphasis:a(ie),hardBreakEscape:a(_e),hardBreakTrailing:a(_e),htmlFlow:a(Rt,o),htmlFlowData:$,htmlText:a(Rt,o),htmlTextData:$,image:a(It),label:o,link:a(ki),listItem:a(RS),listItemValue:p,listOrdered:a(eh,d),listUnordered:a(eh),paragraph:a(IS),reference:N,referenceString:o,resourceDestinationString:o,resourceTitleString:o,setextHeading:a(Ee),strong:a(PS),thematicBreak:a(OS)},exit:{atxHeading:l(),atxHeadingSequence:S,autolink:l(),autolinkEmail:ft,autolinkProtocol:he,blockQuote:l(),characterEscapeValue:T,characterReferenceMarkerHexadecimal:z,characterReferenceMarkerNumeric:z,characterReferenceValue:q,characterReference:ae,codeFenced:l(v),codeFencedFence:b,codeFencedFenceInfo:m,codeFencedFenceMeta:f,codeFlowValue:T,codeIndented:l(h),codeText:l(L),codeTextData:T,data:T,definition:l(),definitionDestinationString:E,definitionLabelString:g,definitionTitleString:w,emphasis:l(),hardBreakEscape:l(H),hardBreakTrailing:l(H),htmlFlow:l(D),htmlFlowData:T,htmlText:l(Y),htmlTextData:T,image:l(ce),label:O,labelText:K,lineEnding:te,link:l(j),listItem:l(),listOrdered:l(),listUnordered:l(),paragraph:l(),referenceString:F,resourceDestinationString:y,resourceTitleString:_,resource:U,setextHeading:l(I),setextHeadingLineSequence:C,setextHeadingText:x,strong:l(),thematicBreak:l()}};Hb(t,(e||{}).mdastExtensions||[]);let n={};return r;function r(V){let oe={type:"root",children:[]},Ne={stack:[oe],tokenStack:[],config:t,enter:s,exit:u,buffer:o,resume:c,data:n},Ie=[],$e=-1;for(;++$e<V.length;)if(V[$e][1].type==="listOrdered"||V[$e][1].type==="listUnordered")if(V[$e][0]==="enter")Ie.push($e);else{let hn=Ie.pop();$e=i(V,hn,$e)}for($e=-1;++$e<V.length;){let hn=t[V[$e][0]];Ub.call(hn,V[$e][1].type)&&hn[V[$e][1].type].call(Object.assign({sliceSerialize:V[$e][2].sliceSerialize},Ne),V[$e][1])}if(Ne.tokenStack.length>0){let hn=Ne.tokenStack[Ne.tokenStack.length-1];(hn[1]||jb).call(Ne,void 0,hn[0])}for(oe.position={start:Rr(V.length>0?V[0][1].start:{line:1,column:1,offset:0}),end:Rr(V.length>0?V[V.length-2][1].end:{line:1,column:1,offset:0})},$e=-1;++$e<t.transforms.length;)oe=t.transforms[$e](oe)||oe;return oe}function i(V,oe,Ne){let Ie=oe-1,$e=-1,hn=!1,Fr,Un,ka,wa;for(;++Ie<=Ne;){let Wt=V[Ie];switch(Wt[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{Wt[0]==="enter"?$e++:$e--,wa=void 0;break}case"lineEndingBlank":{Wt[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&&Wt[0]==="enter"&&Wt[1].type==="listItemPrefix"||$e===-1&&Wt[0]==="exit"&&(Wt[1].type==="listUnordered"||Wt[1].type==="listOrdered")){if(Fr){let wi=Ie;for(Un=void 0;wi--;){let Hn=V[wi];if(Hn[1].type==="lineEnding"||Hn[1].type==="lineEndingBlank"){if(Hn[0]==="exit")continue;Un&&(V[Un][1].type="lineEndingBlank",hn=!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?V[Un][1].start:Wt[1].end),V.splice(Un||Ie,0,["exit",Fr,Wt[2]]),Ie++,Ne++}if(Wt[1].type==="listItemPrefix"){let wi={type:"listItem",_spread:!1,start:Object.assign({},Wt[1].start),end:void 0};Fr=wi,V.splice(Ie,0,["enter",wi,Wt[2]]),Ie++,Ne++,ka=void 0,wa=!0}}}return V[oe][1]._spread=hn,Ne}function a(V,oe){return Ne;function Ne(Ie){s.call(this,V(Ie),Ie),oe&&oe.call(this,Ie)}}function o(){this.stack.push({type:"fragment",children:[]})}function s(V,oe,Ne){this.stack[this.stack.length-1].children.push(V),this.stack.push(V),this.tokenStack.push([oe,Ne]),V.position={start:Rr(oe.start),end:void 0}}function l(V){return oe;function oe(Ne){V&&V.call(this,Ne),u.call(this,Ne)}}function u(V,oe){let Ne=this.stack.pop(),Ie=this.tokenStack.pop();if(Ie)Ie[0].type!==V.type&&(oe?oe.call(this,V,Ie[0]):(Ie[1]||jb).call(this,V,Ie[0]));else throw new Error("Cannot close `"+V.type+"` ("+Cr({start:V.start,end:V.end})+"): it\\u2019s not open");Ne.position.end=Rr(V.end)}function c(){return ni(this.stack.pop())}function d(){this.data.expectingFirstListItemValue=!0}function p(V){if(this.data.expectingFirstListItemValue){let oe=this.stack[this.stack.length-2];oe.start=Number.parseInt(this.sliceSerialize(V),10),this.data.expectingFirstListItemValue=void 0}}function m(){let V=this.resume(),oe=this.stack[this.stack.length-1];oe.lang=V}function f(){let V=this.resume(),oe=this.stack[this.stack.length-1];oe.meta=V}function b(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function v(){let V=this.resume(),oe=this.stack[this.stack.length-1];oe.value=V.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g,""),this.data.flowCodeInside=void 0}function h(){let V=this.resume(),oe=this.stack[this.stack.length-1];oe.value=V.replace(/(\\r?\\n|\\r)$/g,"")}function g(V){let oe=this.resume(),Ne=this.stack[this.stack.length-1];Ne.label=oe,Ne.identifier=Et(this.sliceSerialize(V)).toLowerCase()}function w(){let V=this.resume(),oe=this.stack[this.stack.length-1];oe.title=V}function E(){let V=this.resume(),oe=this.stack[this.stack.length-1];oe.url=V}function S(V){let oe=this.stack[this.stack.length-1];if(!oe.depth){let Ne=this.sliceSerialize(V).length;oe.depth=Ne}}function x(){this.data.setextHeadingSlurpLineEnding=!0}function C(V){let oe=this.stack[this.stack.length-1];oe.depth=this.sliceSerialize(V).codePointAt(0)===61?1:2}function I(){this.data.setextHeadingSlurpLineEnding=void 0}function $(V){let Ne=this.stack[this.stack.length-1].children,Ie=Ne[Ne.length-1];(!Ie||Ie.type!=="text")&&(Ie=LS(),Ie.position={start:Rr(V.start),end:void 0},Ne.push(Ie)),this.stack.push(Ie)}function T(V){let oe=this.stack.pop();oe.value+=this.sliceSerialize(V),oe.position.end=Rr(V.end)}function te(V){let oe=this.stack[this.stack.length-1];if(this.data.atHardBreak){let Ne=oe.children[oe.children.length-1];Ne.position.end=Rr(V.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(oe.type)&&($.call(this,V),T.call(this,V))}function H(){this.data.atHardBreak=!0}function D(){let V=this.resume(),oe=this.stack[this.stack.length-1];oe.value=V}function Y(){let V=this.resume(),oe=this.stack[this.stack.length-1];oe.value=V}function L(){let V=this.resume(),oe=this.stack[this.stack.length-1];oe.value=V}function j(){let V=this.stack[this.stack.length-1];if(this.data.inReference){let oe=this.data.referenceType||"shortcut";V.type+="Reference",V.referenceType=oe,delete V.url,delete V.title}else delete V.identifier,delete V.label;this.data.referenceType=void 0}function ce(){let V=this.stack[this.stack.length-1];if(this.data.inReference){let oe=this.data.referenceType||"shortcut";V.type+="Reference",V.referenceType=oe,delete V.url,delete V.title}else delete V.identifier,delete V.label;this.data.referenceType=void 0}function K(V){let oe=this.sliceSerialize(V),Ne=this.stack[this.stack.length-2];Ne.label=Bb(oe),Ne.identifier=Et(oe).toLowerCase()}function O(){let V=this.stack[this.stack.length-1],oe=this.resume(),Ne=this.stack[this.stack.length-1];if(this.data.inReference=!0,Ne.type==="link"){let Ie=V.children;Ne.children=Ie}else Ne.alt=oe}function y(){let V=this.resume(),oe=this.stack[this.stack.length-1];oe.url=V}function _(){let V=this.resume(),oe=this.stack[this.stack.length-1];oe.title=V}function U(){this.data.inReference=void 0}function N(){this.data.referenceType="collapsed"}function F(V){let oe=this.resume(),Ne=this.stack[this.stack.length-1];Ne.label=oe,Ne.identifier=Et(this.sliceSerialize(V)).toLowerCase(),this.data.referenceType="full"}function z(V){this.data.characterReferenceType=V.type}function q(V){let oe=this.sliceSerialize(V),Ne=this.data.characterReferenceType,Ie;Ne?(Ie=vl(oe,Ne==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):Ie=ea(oe);let $e=this.stack[this.stack.length-1];$e.value+=Ie}function ae(V){let oe=this.stack.pop();oe.position.end=Rr(V.end)}function he(V){T.call(this,V);let oe=this.stack[this.stack.length-1];oe.url=this.sliceSerialize(V)}function ft(V){T.call(this,V);let oe=this.stack[this.stack.length-1];oe.url="mailto:"+this.sliceSerialize(V)}function tt(){return{type:"blockquote",children:[]}}function tn(){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 ie(){return{type:"emphasis",children:[]}}function Ee(){return{type:"heading",depth:0,children:[]}}function _e(){return{type:"break"}}function Rt(){return{type:"html",value:""}}function It(){return{type:"image",title:null,url:"",alt:null}}function ki(){return{type:"link",title:null,url:"",children:[]}}function eh(V){return{type:"list",ordered:V.type==="listOrdered",start:null,spread:V._spread,children:[]}}function RS(V){return{type:"listItem",spread:V._spread,checked:null,children:[]}}function IS(){return{type:"paragraph",children:[]}}function PS(){return{type:"strong",children:[]}}function LS(){return{type:"text",value:""}}function OS(){return{type:"thematicBreak"}}}function Rr(e){return{line:e.line,column:e.column,offset:e.offset}}function Hb(e,t){let n=-1;for(;++n<t.length;){let r=t[n];Array.isArray(r)?Hb(e,r):PT(e,r)}}function PT(e,t){let n;for(n in t)if(Ub.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 jb(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 wp(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function qb(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 Vb(e,t){let n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`\n`}]}function Wb(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 Kb(e,t){let n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Gb(e,t){let n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function Yb(e,t){let n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),i=pn(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 Qb(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 Xb(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 Zb(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Il(e,t);let i={src:pn(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 Jb(e,t){let n={src:pn(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 ek(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 tk(e,t){let n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return Il(e,t);let i={href:pn(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 nk(e,t){let n={href:pn(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 rk(e,t,n){let r=e.all(t),i=n?LT(n):ik(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 LT(e){let t=!1;if(e.type==="list"){t=e.spread||!1;let n=e.children,r=-1;for(;!t&&++r<n.length;)t=ik(n[r])}return t}function ik(e){let t=e.spread;return t??e.children.length>1}function ak(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 ok(e,t){let n={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function sk(e,t){let n={type:"root",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function lk(e,t){let n={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function uk(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 ck(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 dk(e,t){let n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function mk(e){let t=String(e),n=/\\r?\\n|\\r/g,r=n.exec(t),i=0,a=[];for(;r;)a.push(pk(t.slice(i,r.index),i>0,!0),r[0]),i=r.index+r[0].length,r=n.exec(t);return a.push(pk(t.slice(i),i>0,!1)),a.join("")}function pk(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 fk(e,t){let n={type:"text",value:mk(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function hk(e,t){let n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}var gk={blockquote:qb,break:Vb,code:Wb,delete:Kb,emphasis:Gb,footnoteReference:Yb,heading:Qb,html:Xb,imageReference:Zb,image:Jb,inlineCode:ek,linkReference:tk,link:nk,listItem:rk,list:ak,paragraph:ok,root:sk,strong:lk,table:uk,tableCell:dk,tableRow:ck,text:fk,thematicBreak:hk,toml:Pl,yaml:Pl,definition:Pl,footnoteDefinition:Pl};function Pl(){}var yk=typeof self=="object"?self:globalThis,OT=(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 yk[s](l),i)}case 8:return n(BigInt(o),i);case"BigInt":return n(Object(BigInt(o)),i)}return n(new yk[a](o),i)};return r},Ep=e=>OT(new Map,e)(0);var na="",{toString:_T}={},{keys:DT}=Object,Po=e=>{let t=typeof e;if(t!=="object"||!e)return[0,t];let n=_T.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"),FT=(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 DT(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},Cp=(e,{json:t,lossy:n}={})=>{let r=[];return FT(!(t||n),!!t,new Map,r)(e),r};var ra=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?Ep(Cp(e,t)):structuredClone(e):(e,t)=>Ep(Cp(e,t));function zT(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 $T(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function vk(e){let t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||zT,r=e.options.footnoteBackLabel||$T,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=pn(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 g=typeof n=="string"?n:n(l,m);typeof g=="string"&&(g={type:"text",value:g}),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(g)?g:[g]})}let v=c[c.length-1];if(v&&v.type==="element"&&v.tagName==="p"){let g=v.children[v.children.length-1];g&&g.type==="text"?g.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 UT;if(typeof e=="function")return zl(e);if(typeof e=="object")return Array.isArray(e)?MT(e):BT(e);if(typeof e=="string")return jT(e);throw new Error("Expected function, string, or object as test")};function MT(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 BT(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 jT(e){return zl(t);function t(n){return n&&n.type===e}}function zl(e){return t;function t(n,r,i){return!!(HT(n)&&e.call(this,n,typeof r=="number"?r:void 0,i||void 0))}}function UT(){return!0}function HT(e){return e!==null&&typeof e=="object"&&"type"in e}var bk=[],$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=bk,f,b,v;if((!t||a(l,u,c[c.length-1]||void 0))&&(m=qT(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 g=h.children[b];if(f=s(g,b,v)(),f[0]===li)return f;b=typeof f[1]=="number"?f[1]:b+o}}return m}}}function qT(e){return Array.isArray(e)?e:typeof e=="number"?[$l,e]:e==null?bk:[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 Ap={}.hasOwnProperty,VT={};function wk(e,t){let n=t||VT,r=new Map,i=new Map,a=new Map,o={...gk,...n.handlers},s={all:u,applyData:KT,definitionById:r,footnoteById:i,footnoteCounts:a,footnoteOrder:[],handlers:o,one:l,options:n,patch:WT,wrap:YT};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(Ap.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||GT)(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=kk(f.value)),!Array.isArray(f)&&f.type==="element")){let b=f.children[0];b&&b.type==="text"&&(b.value=kk(b.value))}Array.isArray(f)?d.push(...f):d.push(f)}}}return d}}function WT(e,t){e.position&&(t.position=ep(e))}function KT(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 GT(e,t){let n=t.data||{},r="value"in t&&!(Ap.call(n,"hProperties")||Ap.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 YT(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 kk(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=wk(e,t),r=n.one(e,void 0),i=vk(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 Tp(e){if(e)throw e}var ql=ne(Ik(),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 Rp(){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?Pk(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 Pk(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 Sn={basename:QT,dirname:XT,extname:ZT,join:JT,sep:"/"};function QT(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 XT(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 ZT(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 JT(...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?".":eR(n)}function eR(e){_o(e);let t=e.codePointAt(0)===47,n=tR(e,!t);return n.length===0&&!t&&(n="."),n.length>0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function tR(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 Lk={cwd:nR};function nR(){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 Ok(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 rR(e)}function rR(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 Ip=["history","path","basename","stem","extname","dirname"],ci=class{constructor(t){let n;t?ia(t)?n={path:t}:typeof t=="string"||iR(t)?n={value:t}:n=t:n={},this.cwd="cwd"in n?"":Lk.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++r<Ip.length;){let a=Ip[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)Ip.includes(i)||(this[i]=n[i])}get basename(){return typeof this.path=="string"?Sn.basename(this.path):void 0}set basename(t){Lp(t,"basename"),Pp(t,"basename"),this.path=Sn.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?Sn.dirname(this.path):void 0}set dirname(t){_k(this.basename,"dirname"),this.path=Sn.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?Sn.extname(this.path):void 0}set extname(t){if(Pp(t,"extname"),_k(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=Sn.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){ia(t)&&(t=Ok(t)),Lp(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?Sn.basename(this.path,this.extname):void 0}set stem(t){Lp(t,"stem"),Pp(t,"stem"),this.path=Sn.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 Pp(e,t){if(e&&e.includes(Sn.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+Sn.sep+"`")}function Lp(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function _k(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function iR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var Dk=function(e){let r=this.constructor.prototype,i=r[e],a=function(){return i.apply(a,arguments)};return Object.setPrototypeOf(a,r),a};var aR={}.hasOwnProperty,Fp=class e extends Dk{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=Rp()}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?(Dp("data",this.frozen),this.namespace[t]=n,this):aR.call(this.namespace,t)&&this.namespace[t]||void 0:t?(Dp("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 Op("parse",r),r(String(n),n)}process(t,n){let r=this;return this.freeze(),Op("process",this.parser||this.Parser),_p("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);sR(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(),Op("processSync",this.parser||this.Parser),_p("processSync",this.compiler||this.Compiler),this.process(t,i),zk("processSync","process",n),r;function i(a,o){n=!0,Tp(a),r=o}}run(t,n,r){Fk(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),zk("runSync","run",r),i;function a(o,s){Tp(o),i=s,r=!0}}stringify(t,n){this.freeze();let r=Hl(n),i=this.compiler||this.Compiler;return _p("stringify",i),Fk(t),i(t,r)}use(t,...n){let r=this.attachers,i=this.namespace;if(Dp("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]}}}},zp=new Fp().freeze();function Op(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function _p(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function Dp(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 Fk(e){if(!Oo(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function zk(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function Hl(e){return oR(e)?e:new ci(e)}function oR(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function sR(e){return typeof e=="string"||lR(e)}function lR(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}var uR="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",$k=[],Mk={allowDangerousHtml:!0},cR=/^(https?|ircs?|mailto|xmpp)$/i,dR=[{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 $p(e){let t=e.allowedElements,n=e.allowElement,r=e.children||"",i=e.className,a=e.components,o=e.disallowedElements,s=e.rehypePlugins||$k,l=e.remarkPlugins||$k,u=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...Mk}:Mk,c=e.skipHtml,d=e.unwrapDisallowed,p=e.urlTransform||Bk,m=zp().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 g of dR)Object.hasOwn(e,g.from)&&(""+g.from+(g.to?"use `"+g.to+"` instead":"remove it")+uR+g.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),rp(v,{Fragment:aa.Fragment,components:a,ignoreInvalidStyle:!0,jsx:aa.jsx,jsxs:aa.jsxs,passKeys:!0,passNode:!0});function h(g,w,E){if(g.type==="raw"&&E&&typeof w=="number")return c?E.children.splice(w,1):E.children[w]={type:"text",value:g.value},w;if(g.type==="element"){let S;for(S in xo)if(Object.hasOwn(xo,S)&&Object.hasOwn(g.properties,S)){let x=g.properties[S],C=xo[S];(C===null||C.includes(g.tagName))&&(g.properties[S]=p(String(x||""),S,g))}}if(g.type==="element"){let S=t?!t.includes(g.tagName):o?o.includes(g.tagName):!1;if(!S&&n&&typeof w=="number"&&(S=!n(g,w,E)),S&&E&&typeof w=="number")return d&&g.children?E.children.splice(w,1,...g.children):E.children.splice(w,1),w}}}function Bk(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||cR.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 jk(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 Uk(e){var t=jk(e,"string");return di(t)=="symbol"?t:t+""}function Wl(e,t,n){return(t=Uk(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Vk=ne(Ye());function Hk(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?Hk(Object(n),!0).forEach(function(r){Wl(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Hk(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function pR(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 Mp={};function mR(e){if(e.length===0||e.length===1)return e;var t=e.join(".");return Mp[t]||(Mp[t]=pR(e)),Mp[t]}function fR(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=mR(r);return i.reduce(function(a,o){return oa(oa({},a),n[o])},t)}function qk(e){return e.join(" ")}function hR(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=hR(n,a),p;if(!a)p=oa(oa({},s),{},{className:qk(s.className)});else{var m=Object.keys(n).reduce(function(h,g){return g.split(".").forEach(function(w){h.includes(w)||h.push(w)}),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:qk(b)||void 0,style:fR(s.className,Object.assign({},s.style,i),n)})}var v=d(t.children);return Vk.default.createElement(u,Vl({key:o},p),v)}}var Gk=ne(Kk()),Yk=Gk.default;var Xk=ne(Up()),Zk=Xk.default;var tw=ne(ew()),nw=tw.default;var aw=ne(iw()),ow=aw.default;var uw=ne(lw()),cw=uw.default;var mw=ne(pw()),fw=mw.default;var yw=ne(gw()),vw=yw.default;var ww=ne(kw()),xw=ww.default;var Ew=ne(Sw()),Cw=Ew.default;var Rw=ne(Tw()),Iw=Rw.default;var Ow=ne(Lw()),_w=Ow.default;var Fw=ne(Jp()),zw=Fw.default;var Bw=ne(Mw()),jw=Bw.default;var Hw=ne(nm()),qw=Hw.default;var Kw=ne(Ww()),Gw=Kw.default;var Xw=ne(Qw()),Zw=Xw.default;var t0=ne(e0()),n0=t0.default;var a0=ne(i0()),o0=a0.default;var l0=ne(lm()),u0=l0.default;var f0=ne(m0()),h0=f0.default;var v0=ne(y0()),b0=v0.default;var x0=ne(w0()),N0=x0.default;var C0=ne(E0()),A0=C0.default;var I0=ne(R0()),P0=I0.default;var _0=ne(O0()),D0=_0.default;var $0=ne(z0()),M0=$0.default;var U0=ne(j0()),H0=U0.default;var K0=ne(W0()),G0=K0.default;var Y0=ne(bm()),Q0=Y0.default;var J0=ne(Z0()),ex=J0.default;function tx(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 nx(e,t){if(e==null)return{};var n,r,i=tx(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 rx(e){if(Array.isArray(e))return Do(e)}function ix(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function ax(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 ox(){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 rx(e)||ix(e)||ax(e)||ox()}var Pr=ne(Ye());var sx=function(e,t){var n=e.listLanguages();return n.indexOf(t)!==-1};var kR=["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"];function lx(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?lx(Object(n),!0).forEach(function(r){Wl(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lx(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var wR=/\\n/g;function xR(e){return e.match(wR)}function NR(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 SR(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)},NR({lines:t.replace(/\\n$/,"").split(`\n`),style:o,startingLineNumber:s}))}function ER(e){return"".concat(e.toString().length,".25em")}function ux(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 cx(e,t,n){var r={display:"inline-block",minWidth:ER(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=cx(r,n,i);t.unshift(ux(n,b))}return d&c&&(f.style=Lr({display:"flex"},f.style)),{type:"element",tagName:"span",properties:f,children:t}}function dx(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);dx(i.children,a).forEach(function(o){return n.push(o)})}}return n}function CR(e,t,n,r,i,a,o,s,l){var u,c=dx(e.value),d=[],p=-1,m=0;function f(S,x){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return Gl({children:S,lineNumber:x,lineNumberStyle:s,largestLineNumber:o,showInlineLineNumbers:i,lineProps:n,className:C,showLineNumbers:r,wrapLongLines:l,wrapLines:t})}function b(S,x){if(r&&x&&i){var C=cx(s,x,o);S.unshift(ux(x,C))}return S}function v(S,x){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||C.length>0?f(S,x,C):b(S,x)}for(var h=function(){var x=c[m],C=x.children[0].value,I=xR(C);if(I){var $=C.split(`\n`);$.forEach(function(T,te){var H=r&&d.length+a,D={type:"text",value:"".concat(T,`\n`)};if(te===0){var Y=c.slice(p+1,m).concat(Gl({children:[D],className:x.properties.className})),L=v(Y,H);d.push(L)}else if(te===$.length-1){var j=c[m+1]&&c[m+1].children&&c[m+1].children[0],ce={type:"text",value:"".concat(T)};if(j){var K=Gl({children:[ce],className:x.properties.className});c.splice(m+1,0,K)}else{var O=[ce],y=v(O,H,x.properties.className);d.push(y)}}else{var _=[D],U=v(_,H,x.properties.className);d.push(U)}}),p=m}m++};m<c.length;)h();if(p!==c.length-1){var g=c.slice(p+1,c.length);if(g&&g.length){var w=r&&d.length+a,E=v(g,w);d.push(E)}}return t?d:(u=[]).concat.apply(u,d)}function AR(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 px(e){return e&&typeof e.highlightAuto<"u"}function TR(e){var t=e.astGenerator,n=e.language,r=e.code,i=e.defaultCodeValue;if(px(t)){var a=sx(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 mx(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,g=r.showInlineLineNumbers,w=g===void 0?!0:g,E=r.startingLineNumber,S=E===void 0?1:E,x=r.lineNumberContainerStyle,C=r.lineNumberStyle,I=C===void 0?{}:C,$=r.wrapLines,T=r.wrapLongLines,te=T===void 0?!1:T,H=r.lineProps,D=H===void 0?{}:H,Y=r.renderer,L=r.PreTag,j=L===void 0?"pre":L,ce=r.CodeTag,K=ce===void 0?"code":ce,O=r.code,y=O===void 0?(Array.isArray(s)?s[0]:s)||"":O,_=r.astGenerator,U=nx(r,kR);_=_||e;var N=h?Pr.default.createElement(SR,{containerStyle:x,codeStyle:m.style||{},numberStyle:I,startingLineNumber:S,codeString:y}):null,F=u.hljs||u[\'pre[class*="language-"]\']||{backgroundColor:"#fff"},z=px(_)?"hljs":"prismjs",q=b?Object.assign({},U,{style:Object.assign({},F,d)}):Object.assign({},U,{className:U.className?"".concat(z," ").concat(U.className):z,style:Object.assign({},d)});if(te?m.style=Lr({whiteSpace:"pre-wrap"},m.style):m.style=Lr({whiteSpace:"pre"},m.style),!_)return Pr.default.createElement(j,q,N,Pr.default.createElement(K,m,y));($===void 0&&Y||te)&&($=!0),Y=Y||AR;var ae=[{type:"text",value:y}],he=TR({astGenerator:_,language:o,code:y,defaultCodeValue:ae});he.language===null&&(he.value=ae);var ft=(i=(a=y.match(/\\n/g))===null||a===void 0?void 0:a.length)!==null&&i!==void 0?i:0,tt=S+ft,tn=CR(he,$,D,h,w,S,tt,I,te);return Pr.default.createElement(j,q,Pr.default.createElement(K,m,!w&&N,Y({rows:tn,stylesheet:u,useInlineStyles:b})))}}var tu=ne(K1()),Um=mx(tu.default,{});Um.registerLanguage=function(e,t){return tu.default.register(t)};Um.alias=function(e,t){return tu.default.alias(e,t)};var da=Um;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 Hm(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 qm(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,"\\\\$&").replace(/-/g,"\\\\x2d")}function Vm(e,t,n){let i=Ir((n||{}).ignore||[]),a=EP(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,g=[];p.lastIndex=0;let w=p.exec(u.value);for(;w;){let E=w.index,S={index:w.index,input:w.input,stack:[...c,u]},x=m(...w,S);if(typeof x=="string"&&(x=x.length>0?{type:"text",value:x}:void 0),x===!1?p.lastIndex=E+1:(f!==E&&g.push({type:"text",value:u.value.slice(f,E)}),Array.isArray(x)?g.push(...x):x&&g.push(x),f=E+w[0].length,h=!0),!p.global)break;w=p.exec(u.value)}return h?(f<u.value.length&&g.push({type:"text",value:u.value.slice(f)}),d.children.splice(v,1,...g)):g=[u],v+g.length}}function EP(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([CP(i[0]),AP(i[1])])}return t}function CP(e){return typeof e=="string"?new RegExp(qm(e),"g"):e}function AP(e){return typeof e=="function"?e:function(){return e}}var Wm="phrasing",Km=["autolink","link","image","label"];function Ym(){return{transforms:[OP],enter:{literalAutolink:TP,literalAutolinkEmail:Gm,literalAutolinkHttp:Gm,literalAutolinkWww:Gm},exit:{literalAutolink:LP,literalAutolinkEmail:PP,literalAutolinkHttp:RP,literalAutolinkWww:IP}}}function Qm(){return{unsafe:[{character:"@",before:"[+\\\\-.\\\\w]",after:"[\\\\-.\\\\w]",inConstruct:Wm,notInConstruct:Km},{character:".",before:"[Ww]",after:"[\\\\-.\\\\w]",inConstruct:Wm,notInConstruct:Km},{character:":",before:"[ps]",after:"\\\\/",inConstruct:Wm,notInConstruct:Km}]}}function TP(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function Gm(e){this.config.enter.autolinkProtocol.call(this,e)}function RP(e){this.config.exit.autolinkProtocol.call(this,e)}function IP(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 PP(e){this.config.exit.autolinkEmail.call(this,e)}function LP(e){this.exit(e)}function OP(e){Vm(e,[[/(https?:\\/\\/|www(?=\\.))([-.\\w]+)([^ \\t\\r\\n]*)/gi,_P],[/([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)/g,DP]],{ignore:["link","linkReference"]})}function _P(e,t,n,r,i){let a="";if(!G1(i)||(/^w/i.test(t)&&(n=t+n,t="",a="http://"),!FP(n)))return!1;let o=zP(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 DP(e,t,n,r){return!G1(r,!0)||/[-\\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function FP(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 zP(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=Hm(e,"("),a=Hm(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 G1(e,t){let n=e.input.charCodeAt(e.index-1);return(e.index===0||Dn(n)||ii(n))&&(!t||n!==47)}Y1.peek=WP;function Xm(){return{enter:{gfmFootnoteDefinition:$P,gfmFootnoteDefinitionLabelString:MP,gfmFootnoteCall:UP,gfmFootnoteCallString:HP},exit:{gfmFootnoteDefinition:jP,gfmFootnoteDefinitionLabelString:BP,gfmFootnoteCall:VP,gfmFootnoteCallString:qP}}}function Zm(){return{unsafe:[{character:"[",inConstruct:["phrasing","label","reference"]}],handlers:{footnoteDefinition:KP,footnoteReference:Y1}}}function $P(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},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=Et(this.sliceSerialize(e)).toLowerCase()}function jP(e){this.exit(e)}function UP(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function HP(){this.buffer()}function qP(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 VP(e){this.exit(e)}function Y1(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 WP(){return"["}function KP(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()),GP)),o(),a}function GP(e,t,n){return t===0?e:(n?"":" ")+e}var YP=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];Q1.peek=ZP;function Jm(){return{canContainEols:["delete"],enter:{strikethrough:QP},exit:{strikethrough:XP}}}function ef(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:YP}],handlers:{delete:Q1}}}function QP(e){this.enter({type:"delete",children:[]},e)}function XP(e){this.exit(e)}function Q1(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 ZP(){return"~"}function Z1(e,t={}){let n=(t.align||[]).concat(),r=t.stringLength||eL,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=JP(e[u][v]);if(t.alignDelimiters!==!1){let g=r(h);b[v]=g,(s[v]===void 0||g>s[v])&&(s[v]=g)}f.push(h)}a[u]=f,o[u]=b}let c=-1;if(typeof n=="object"&&"length"in n)for(;++c<l;)i[c]=X1(n[c]);else{let f=X1(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),g=b+"-".repeat(h)+v;t.alignDelimiters!==!1&&(h=b.length+h+v.length,h>s[c]&&(s[c]=h),p[c]=h),d[c]=g}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]||"",g="",w="";if(t.alignDelimiters!==!1){let E=s[c]-(b[c]||0),S=i[c];S===114?g=" ".repeat(E):S===99?E%2?(g=" ".repeat(E/2+.5),w=" ".repeat(E/2-.5)):(g=" ".repeat(E/2),w=g):w=" ".repeat(E)}t.delimiterStart!==!1&&!c&&v.push("|"),t.padding!==!1&&!(t.alignDelimiters===!1&&h==="")&&(t.delimiterStart!==!1||c)&&v.push(" "),t.alignDelimiters!==!1&&v.push(g),v.push(h),t.alignDelimiters!==!1&&v.push(w),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 JP(e){return e==null?"":String(e)}function eL(e){return e.length}function X1(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 J1(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()),tL);return i(),o}function tL(e,t,n){return">"+(n?"":" ")+e}function tN(e,t){return eN(e,t.inConstruct,!0)&&!eN(e,t.notInConstruct,!1)}function eN(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 tf(e,t,n,r){let i=-1;for(;++i<n.unsafe.length;)if(n.unsafe[i].character===`\n`&&tN(n.stack,n.unsafe[i]))return/[ \\t]/.test(r.before)?"":" ";return`\\\\\n`}function nN(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 rN(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 iN(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 aN(e,t,n,r){let i=iN(n),a=e.value||"",o=i==="`"?"GraveAccent":"Tilde";if(rN(e,n)){let d=n.enter("codeIndented"),p=n.indentLines(a,nL);return d(),p}let s=n.createTracker(r),l=i.repeat(Math.max(nN(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 nL(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 oN(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 sN(e){let t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}nf.peek=rL;function nf(e,t,n,r){let i=sN(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 rL(e,t,n){return n.options.emphasis||"*"}function lN(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 uN(e,t,n,r){let i=Math.max(Math.min(6,e.depth||1),1),a=n.createTracker(r);if(lN(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}rf.peek=iL;function rf(e){return e.value||""}function iL(){return"<"}af.peek=aL;function af(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 aL(){return"!"}of.peek=oL;function of(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 oL(){return"!"}sf.peek=sL;function sf(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 sL(){return"`"}function lf(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))}uf.peek=lL;function uf(e,t,n,r){let i=pa(n),a=i===\'"\'?"Quote":"Apostrophe",o=n.createTracker(r),s,l;if(lf(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 lL(e,t,n){return lf(e,n)?"<":"["}cf.peek=uL;function cf(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 uL(){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 cN(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 dN(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 pN(e,t,n,r){let i=n.enter("list"),a=n.bulletCurrent,o=e.ordered?dN(n):ma(n),s=e.ordered?o==="."?")":".":cN(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 mN(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 fN(e,t,n,r){let i=mN(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 hN(e,t,n,r){let i=n.enter("paragraph"),a=n.enter("phrasing"),o=n.containerPhrasing(e,r);return a(),i(),o}var df=Ir(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function gN(e,t,n,r){return(e.children.some(function(o){return df(o)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function yN(e){let t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}pf.peek=cL;function pf(e,t,n,r){let i=yN(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 cL(e,t,n){return n.options.strong||"*"}function vN(e,t,n,r){return n.safe(e.value,r)}function bN(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 kN(e,t,n){let r=(nu(n)+(n.options.ruleSpaces?" ":"")).repeat(bN(n));return n.options.ruleSpaces?r.slice(0,-1):r}var jo={blockquote:J1,break:tf,code:aN,definition:oN,emphasis:nf,hardBreak:tf,heading:uN,html:rf,image:af,imageReference:of,inlineCode:sf,link:uf,linkReference:cf,list:pN,listItem:fN,paragraph:hN,root:gN,strong:pf,text:vN,thematicBreak:kN};function ff(){return{enter:{table:dL,tableData:wN,tableHeader:wN,tableRow:mL},exit:{codeText:fL,table:pL,tableData:mf,tableHeader:mf,tableRow:mf}}}function dL(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 pL(e){this.exit(e),this.data.inTable=void 0}function mL(e){this.enter({type:"tableRow",children:[]},e)}function mf(e){this.exit(e)}function wN(e){this.enter({type:"tableCell",children:[]},e)}function fL(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\\\([\\\\|])/g,hL));let n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function hL(e,t){return t==="|"?t:e}function hf(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),g=u([h]);return g.slice(0,g.indexOf(`\n`))}function l(m,f,b,v){let h=b.enter("tableCell"),g=b.enter("phrasing"),w=b.containerPhrasing(m,{...v,before:a,after:a});return g(),h(),w}function u(m,f){return Z1(m,{align:f,alignDelimiters:r,padding:n,stringLength:i})}function c(m,f,b){let v=m.children,h=-1,g=[],w=f.enter("table");for(;++h<v.length;)g[h]=d(v[h],f,b);return w(),g}function d(m,f,b){let v=m.children,h=-1,g=[],w=f.enter("tableRow");for(;++h<v.length;)g[h]=l(v[h],m,f,b);return w(),g}function p(m,f,b){let v=jo.inlineCode(m,f,b);return b.stack.includes("tableCell")&&(v=v.replace(/\\|/g,"\\\\$&")),v}}function gf(){return{exit:{taskListCheckValueChecked:xN,taskListCheckValueUnchecked:xN,paragraph:gL}}}function yf(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:yL}}}function xN(e){let t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function gL(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 yL(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 vf(){return[Ym(),Xm(),Jm(),ff(),gf()]}function bf(e){return{extensions:[Qm(),Zm(),ef(),hf(e),yf()]}}var vL={tokenize:NL,partial:!0},NN={tokenize:SL,partial:!0},SN={tokenize:EL,partial:!0},EN={tokenize:CL,partial:!0},bL={tokenize:AL,partial:!0},CN={name:"wwwAutolink",tokenize:wL,previous:TN},AN={name:"protocolAutolink",tokenize:xL,previous:RN},tr={name:"emailAutolink",tokenize:kL,previous:IN},zn={};function wf(){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,AN];zn[104]=[tr,AN];zn[87]=[tr,CN];zn[119]=[tr,CN];function kL(e,t,n){let r=this,i,a;return o;function o(d){return!kf(d)||!IN.call(r,r.previous)||xf(r.events)?n(d):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),s(d))}function s(d){return kf(d)?(e.consume(d),s):d===64?(e.consume(d),l):n(d)}function l(d){return d===46?e.check(bL,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 wL(e,t,n){let r=this;return i;function i(o){return o!==87&&o!==119||!TN.call(r,r.previous)||xf(r.events)?n(o):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(vL,e.attempt(NN,e.attempt(SN,a),n),n)(o))}function a(o){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(o)}}function xL(e,t,n){let r=this,i="",a=!1;return o;function o(d){return(d===72||d===104)&&RN.call(r,r.previous)&&!xf(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(NN,e.attempt(SN,c),n)(d)}function c(d){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(d)}}function NL(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 SL(e,t,n){let r,i,a;return o;function o(u){return u===46||u===95?e.check(EN,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 EL(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(EN,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 CL(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 AL(e,t,n){return r;function r(a){return e.consume(a),i}function i(a){return Ze(a)?n(a):t(a)}}function TN(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||Ae(e)}function RN(e){return!ct(e)}function IN(e){return!(e===47||kf(e))}function kf(e){return e===43||e===45||e===46||e===95||Ze(e)}function xf(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 TL={tokenize:DL,partial:!0};function Nf(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:LL,continuation:{tokenize:OL},exit:_L}},text:{91:{name:"gfmFootnoteCall",tokenize:PL},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:RL,resolveTo:IL}}}}function RL(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 IL(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 PL(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 LL(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),ge(e,m,"gfmFootnoteDefinitionWhitespace")):n(f)}function m(f){return t(f)}}function OL(e,t,n){return e.check(Fn,t,e.attempt(TL,t,n))}function _L(e){e.exit("gfmFootnoteDefinition")}function DL(e,t,n){let r=this;return ge(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 Sf(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){FL(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 FL(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 PN(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 Ef(){return{flow:{null:{name:"table",tokenize:zL,resolveAll:$L}}}}function zL(e,t,n){let r=this,i=0,a=0,o;return s;function s(T){let te=r.events.length-1;for(;te>-1;){let Y=r.events[te][1].type;if(Y==="lineEnding"||Y==="linePrefix")te--;else break}let H=te>-1?r.events[te][1].type:null,D=H==="tableHead"||H==="tableRow"?x:l;return D===x&&r.parser.lazy[r.now().line]?n(T):D(T)}function l(T){return e.enter("tableHead"),e.enter("tableRow"),u(T)}function u(T){return T===124||(o=!0,a+=1),c(T)}function c(T){return T===null?n(T):ue(T)?a>1?(a=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(T),e.exit("lineEnding"),m):n(T):ve(T)?ge(e,c,"whitespace")(T):(a+=1,o&&(o=!1,i+=1),T===124?(e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),o=!0,c):(e.enter("data"),d(T)))}function d(T){return T===null||T===124||Ae(T)?(e.exit("data"),c(T)):(e.consume(T),T===92?p:d)}function p(T){return T===92||T===124?(e.consume(T),d):d(T)}function m(T){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(T):(e.enter("tableDelimiterRow"),o=!1,ve(T)?ge(e,f,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(T):f(T))}function f(T){return T===45||T===58?v(T):T===124?(o=!0,e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),b):S(T)}function b(T){return ve(T)?ge(e,v,"whitespace")(T):v(T)}function v(T){return T===58?(a+=1,o=!0,e.enter("tableDelimiterMarker"),e.consume(T),e.exit("tableDelimiterMarker"),h):T===45?(a+=1,h(T)):T===null||ue(T)?E(T):S(T)}function h(T){return T===45?(e.enter("tableDelimiterFiller"),g(T)):S(T)}function g(T){return T===45?(e.consume(T),g):T===58?(o=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(T),e.exit("tableDelimiterMarker"),w):(e.exit("tableDelimiterFiller"),w(T))}function w(T){return ve(T)?ge(e,E,"whitespace")(T):E(T)}function E(T){return T===124?f(T):T===null||ue(T)?!o||i!==a?S(T):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(T)):S(T)}function S(T){return n(T)}function x(T){return e.enter("tableRow"),C(T)}function C(T){return T===124?(e.enter("tableCellDivider"),e.consume(T),e.exit("tableCellDivider"),C):T===null||ue(T)?(e.exit("tableRow"),t(T)):ve(T)?ge(e,C,"whitespace")(T):(e.enter("data"),I(T))}function I(T){return T===null||T===124||Ae(T)?(e.exit("data"),C(T)):(e.consume(T),T===92?$:I)}function $(T){return T===92||T===124?(e.consume(T),I):I(T)}}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 ru;for(;++n<e.length;){let m=e[n],f=m[1];m[0]==="enter"?f.type==="tableHead"?(s=!1,l!==0&&(LN(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&&LN(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=PN(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 LN(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 ML={name:"tasklistCheck",tokenize:BL};function Cf(){return{text:{91:ML}}}function BL(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 ue(l)?t(l):ve(l)?e.check({tokenize:jL},t,n)(l):n(l)}}function jL(e,t,n){return ge(e,r,"whitespace");function r(i){return i===null?n(i):t(i)}}function ON(e){return yl([wf(),Nf(),Sf(e),Ef(),Cf()])}var UL={};function au(e){let t=this,n=e||UL,r=t.data(),i=r.micromarkExtensions||(r.micromarkExtensions=[]),a=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),o=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);i.push(ON(n)),a.push(vf()),o.push(bf(n))}var _N=ne(Mm()),DN=_N.default;var $N=ne(zN()),MN=$N.default;var Se=ne(Ce()),HN={bash:Yk,c:Zk,cpp:nw,csharp:ow,css:DN,dart:cw,diff:fw,docker:vw,go:xw,graphql:Cw,ini:Iw,java:_w,javascript:zw,json:jw,jsx:qw,kotlin:Gw,lua:Zw,makefile:n0,markdown:o0,markup:u0,php:h0,powershell:b0,python:N0,ruby:A0,rust:P0,scss:MN,sql:D0,swift:M0,toml:H0,tsx:G0,typescript:Q0,yaml:ex};for(let[e,t]of Object.entries(HN))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 HL=new Set([...Object.keys(HN),"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"]),Tf=e=>{let t=(e??"").trim().toLowerCase();return t&&HL.has(t)?t:"text"},Rf=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,Jt.isValidElement)(e)?ou(e.props.children):Jt.Children.toArray(e).map(ou).join(""),BN=\'pre[class*="language-"]\',jN=\'code[class*="language-"]\',If={...Bo,[BN]:{...Bo[BN],background:"transparent",margin:0,padding:0},[jN]:{...Bo[jN],background:"transparent",fontFamily:"inherit",fontSize:"inherit"}},$n=({text:e,label:t="copy"})=>{let[n,r]=(0,Jt.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=Tf(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:If,PreTag:"pre",wrapLongLines:s,children:e})]})},Pf=e=>e.type==="text"?String(e.value??""):(e.children??[]).map(Pf).join(""),UN=e=>Pf(e).length,qN=(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=>qN(r,t,n))}]},VN=({code:e,language:t,insert:n,startingLineNumber:r=1})=>{let i=Tf(t),a=(0,Jt.useCallback)(({rows:o,stylesheet:s,useInlineStyles:l})=>{let u=0;return o.map((c,d)=>{let p=u,m=p+UN(c);u=m;let f=UN(c),b=p+(String(Pf(c)).endsWith(`\n`)?f-1:f),v=!!n&&n.end>n.start&&(n.end>p&&n.start<b||n.start<=p&&n.end>=m),g=((v&&n?qN(c,n,{at:p})[0]:c).children??[]).map((w,E)=>pi({node:w,stylesheet:s,useInlineStyles:l,key:`${d}-${E}`}));return(0,Se.jsxs)("span",{className:v?"row ins-line":"row",children:[(0,Se.jsx)("span",{className:"ln","aria-hidden":"true",children:r+d}),g]},d)})},[n,r]);return e?(0,Se.jsx)(da,{language:i,style:If,PreTag:"pre",wrapLines:!0,renderer:a,children:e}):(0,Se.jsx)("div",{className:"code-empty",children:"empty"})},qL=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},WN=({patch:e,language:t,title:n,extra:r})=>{let i=Tf(t),a=(0,Jt.useMemo)(()=>qL(e),[e]),o=(0,Jt.useMemo)(()=>a.map(l=>l.kind==="hunk"||l.kind==="meta"?"":l.text).join(`\n`),[a]),s=(0,Jt.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:If,PreTag:"pre",wrapLines:!0,renderer:s,children:o}):(0,Se.jsx)("div",{className:"code-empty",children:"no diff"})]})},VL={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,Jt.useMemo)(()=>[au],[]);return(0,Se.jsx)("div",{className:`md ${t??""}`,children:(0,Se.jsx)($p,{remarkPlugins:n,components:VL,children:e})})};var W=ne(Ce()),KN=({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)(""),[g,w]=(0,At.useState)(""),[E,S]=(0,At.useState)(""),[x,C]=(0,At.useState)(null),I=(0,At.useCallback)(async()=>{try{r(await re(`${t}/`,e)),a(void 0)}catch(L){a(ye(L))}},[e]),$=n?.repos.some(L=>L.syncing)??!1;(0,At.useEffect)(()=>{I();let L=setInterval(()=>{document.visibilityState==="visible"&&I()},$?2e3:3e4);return()=>clearInterval(L)},[I,$]);let T=async(L,j,ce)=>{u(L),a(void 0),s(void 0);try{await j(),await I(),ce&&s(ce)}catch(K){a(ye(K))}finally{u(null)}},te=L=>{L.preventDefault(),T("add",async()=>{await re(`${t}/repos`,e,{method:"POST",body:{url:p.trim(),...f.trim()?{name:f.trim()}:{},...v.trim()?{branch:v.trim()}:{},...g.trim()?{token:g.trim()}:{}}}),m(""),b(""),h(""),w("")},"Cloning and indexing; the table shows the progress.")},H=L=>{L.preventDefault(),T("search",async()=>{let j=await re(`${t}/search`,e,{method:"POST",body:{query:E,k:8}});C(j.hits)})};if(!n)return i?(0,W.jsx)("div",{className:"error-bar",children:i}):(0,W.jsx)(_n,{tiles:3,rows:3,title:(0,W.jsxs)("h2",{className:"plugin-name",children:[(0,W.jsx)(it,{id:"context",size:22}),"Shared context"]})});let D=n.repos.reduce((L,j)=>L+(j.index?.chunks??0),0),Y=n.repos.reduce((L,j)=>L+(j.index?.files??0),0);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:"context",size:22}),"Shared context"]}),(0,W.jsx)("p",{children:"One index of your repositories, on this gateway, that every connected chat can draw on."})]}),o&&(0,W.jsx)("div",{className:"success-bar",children:o}),i&&(0,W.jsx)("div",{className:"error-bar",children:i}),(0,W.jsxs)("div",{className:"tiles",children:[(0,W.jsxs)("div",{className:"tile",children:[(0,W.jsx)("div",{className:"label",children:"repositories"}),(0,W.jsx)("div",{className:"value",children:M(n.repos.length)})]}),(0,W.jsxs)("div",{className:"tile",children:[(0,W.jsx)("div",{className:"label",children:"files indexed"}),(0,W.jsx)("div",{className:"value",children:M(Y)})]}),(0,W.jsxs)("div",{className:"tile",children:[(0,W.jsx)("div",{className:"label",children:"chunks"}),(0,W.jsx)("div",{className:"value",children:M(D)})]}),(0,W.jsxs)("div",{className:`tile ${n.alias?"":"bad"}`,children:[(0,W.jsx)("div",{className:"label",children:"embeddings model"}),(0,W.jsx)("div",{className:"value",children:n.alias??"none served"})]})]}),(0,W.jsxs)("section",{className:"panel",children:[(0,W.jsxs)("div",{className:"section-heading",children:[(0,W.jsxs)("h2",{children:["Repositories",(0,W.jsx)("span",{className:"count",children:M(n.repos.length)})]}),(0,W.jsxs)("span",{className:"muted",children:["re-indexed every ",M(n.intervalMinutes)," min while the models are idle"]})]}),n.repos.length===0?(0,W.jsx)("div",{className:"empty",children:"Nothing indexed yet. Add a repository 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:"repository"}),(0,W.jsx)("th",{children:"branch"}),(0,W.jsx)("th",{children:"files"}),(0,W.jsx)("th",{children:"chunks"}),(0,W.jsx)("th",{children:"indexed"}),(0,W.jsx)("th",{})]})}),(0,W.jsx)("tbody",{children:n.repos.map(L=>(0,W.jsxs)("tr",{className:L.error?"repo-error":"",children:[(0,W.jsxs)("td",{children:[(0,W.jsx)("div",{className:"entity-name",children:L.name}),(0,W.jsxs)("div",{className:"key-id muted",children:[L.url.replace(/\\/\\/[^@]+@/,"//"),L.tokenSet&&(0,W.jsx)("span",{className:"tag",children:"token"})]}),L.error&&(0,W.jsx)("div",{className:"repo-problem",children:L.error}),L.syncing&&(0,W.jsxs)("div",{className:"sync-progress","aria-live":"polite",children:[(0,W.jsx)("span",{className:"meter",style:{width:160},children:(0,W.jsx)("span",{className:`meter-fill ${L.progress?.total?"":"indeterminate"}`,style:{width:L.progress?.total?`${Math.round(L.progress.done/L.progress.total*100)}%`:"40%"}})}),(0,W.jsx)("span",{className:"muted",children:L.progress?L.progress.phase==="embedding"?`embedding ${M(L.progress.done)} of ${M(L.progress.total)} chunks`:`${L.progress.phase}\\u2026`:"starting\\u2026"})]})]}),(0,W.jsx)("td",{className:"muted",children:L.branch??"default"}),(0,W.jsx)("td",{children:L.index?M(L.index.files):"\\u2013"}),(0,W.jsx)("td",{children:L.index?M(L.index.chunks):"\\u2013"}),(0,W.jsx)("td",{className:"muted",title:L.index?.commit,children:L.syncing?(0,W.jsx)("span",{className:"pill-s warn",children:"indexing"}):L.index?.updatedAt?Oe(L.index.updatedAt):"never"}),(0,W.jsxs)("td",{className:"actions",children:[(0,W.jsx)("button",{type:"button",className:"ghost mini",disabled:l!==null||L.syncing,onClick:()=>void T(`sync:${L.id}`,()=>re(`${t}/repos/${L.id}/sync`,e,{method:"POST"})),children:l===`sync:${L.id}`?"\\u2026":"sync"})," ",c===L.id?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("button",{type:"button",className:"danger mini",disabled:l!==null,onClick:()=>void T(`remove:${L.id}`,()=>re(`${t}/repos/${L.id}`,e,{method:"DELETE"}).then(()=>d(null))),children:"remove"})," ",(0,W.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>d(null),children:"keep"})]}):(0,W.jsx)("button",{type:"button",className:"ghost mini",disabled:l!==null,onClick:()=>d(L.id),children:"remove"})]})]},L.id))})]})}),(0,W.jsxs)("form",{className:"create-form",onSubmit:te,children:[(0,W.jsxs)("div",{className:"config-fields",children:[(0,W.jsxs)("label",{className:"config-field",children:[(0,W.jsx)("span",{children:"clone URL"}),(0,W.jsx)("input",{value:p,onChange:L=>m(L.target.value),placeholder:"https://github.com/acme/widgets.git",spellCheck:!1,disabled:l!==null})]}),(0,W.jsxs)("label",{className:"config-field",children:[(0,W.jsx)("span",{children:"name (optional)"}),(0,W.jsx)("input",{value:f,onChange:L=>b(L.target.value),placeholder:"acme/widgets",spellCheck:!1,disabled:l!==null})]}),(0,W.jsxs)("label",{className:"config-field",children:[(0,W.jsx)("span",{children:"branch (optional; the default branch otherwise)"}),(0,W.jsx)("input",{value:v,onChange:L=>h(L.target.value),placeholder:"main",spellCheck:!1,disabled:l!==null})]}),(0,W.jsxs)("label",{className:"config-field",children:[(0,W.jsx)("span",{children:"token for a private https clone (optional; user:token or a token)"}),(0,W.jsx)("input",{type:"password",value:g,onChange:L=>w(L.target.value),autoComplete:"off",disabled:l!==null})]})]}),(0,W.jsxs)("div",{className:"row-actions",children:[(0,W.jsx)("button",{type:"submit",className:"primary",disabled:l!==null||!p.trim()||!n.alias,children:l==="add"?"\\u2026":"add repository"}),(0,W.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,W.jsxs)("section",{className:"panel",children:[(0,W.jsx)("div",{className:"section-heading",children:(0,W.jsx)("h2",{children:"Model and schedule"})}),(0,W.jsxs)("div",{className:"newkey",children:[(0,W.jsxs)("label",{children:[(0,W.jsx)("span",{className:"muted",children:"embeddings model"}),(0,W.jsxs)("select",{value:n.alias??"",disabled:l!==null||n.aliases.length===0,onChange:L=>void T("alias",()=>re(`${t}/settings`,e,{method:"PUT",body:{alias:L.target.value}}),"Saved. Repositories are re-embedded on their next sync."),children:[n.aliases.length===0&&(0,W.jsx)("option",{value:"",children:"no embeddings alias is served"}),n.aliases.map(L=>(0,W.jsx)("option",{value:L,children:L},L))]})]}),(0,W.jsxs)("label",{children:[(0,W.jsx)("span",{className:"muted",children:"re-index every (minutes)"}),(0,W.jsx)("input",{inputMode:"numeric",defaultValue:n.intervalMinutes,disabled:l!==null,onBlur:L=>Number(L.target.value)!==n.intervalMinutes&&void T("interval",()=>re(`${t}/settings`,e,{method:"PUT",body:{intervalMinutes:Number(L.target.value)}}),"Interval saved."),style:{width:90}})]}),(0,W.jsx)("span",{className:"muted",children:`Developers connected to this team get hits from here in their chats\' "relevant code" alongside their own workspace.`})]})]}),(0,W.jsxs)("section",{className:"panel",children:[(0,W.jsxs)("div",{className:"section-heading",children:[(0,W.jsx)("h2",{children:"Try a search"}),(0,W.jsx)("span",{className:"muted",children:"what a developer\'s chat would pull in"})]}),(0,W.jsxs)("form",{className:"newkey",onSubmit:H,children:[(0,W.jsx)("input",{value:E,onChange:L=>S(L.target.value),placeholder:"where do we validate the licence token?",disabled:l!==null}),(0,W.jsx)("button",{type:"submit",disabled:l!==null||!E.trim()||!n.alias,children:l==="search"?"\\u2026":"search"})]}),x&&x.length===0&&(0,W.jsx)("div",{className:"empty",children:"Nothing matched."}),x&&x.length>0&&(0,W.jsx)("div",{className:"turns",children:x.map((L,j)=>(0,W.jsx)(gi,{code:L.text,language:L.path.slice(L.path.lastIndexOf(".")+1),title:(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("b",{children:L.repo})," ",L.path,":",L.startLine,"-",L.endLine," ",(0,W.jsxs)("span",{className:"muted",children:["score ",L.score]})]})},`${L.repo}:${L.path}:${L.startLine}-${j}`))})]})]})};var Vt=ne(Ye());var Q=ne(Ce()),WL={slack:"Slack",discord:"Discord",teams:"Microsoft Teams"},KL={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.`},GL=({kinds:e,value:t,onChange:n,disabled:r})=>(0,Q.jsx)("div",{className:"event-picker",children:e.map(i=>{let a=t.includes(i.type);return(0,Q.jsxs)("label",{className:`policy-option ${a?"on":""}`,title:i.description,children:[(0,Q.jsx)("input",{type:"checkbox",checked:a,disabled:r,onChange:o=>n(o.target.checked?[...t,i.type]:t.filter(s=>s!==i.type))}),(0,Q.jsxs)("span",{children:[(0,Q.jsx)("b",{children:i.label}),(0,Q.jsx)("small",{children:i.description})]})]},i.type)})}),GN=({host:e,apiKey:t})=>{let n=`/twinny/v1/admin/plugins/${e}/api`,r=WL[e],[i,a]=(0,Vt.useState)(null),[o,s]=(0,Vt.useState)(),[l,u]=(0,Vt.useState)(),[c,d]=(0,Vt.useState)(null),[p,m]=(0,Vt.useState)(null),[f,b]=(0,Vt.useState)(null),[v,h]=(0,Vt.useState)(""),[g,w]=(0,Vt.useState)(""),[E,S]=(0,Vt.useState)([]),x=(0,Vt.useCallback)(async()=>{try{let D=await re(`${n}/`,t);return a(D),s(void 0),D}catch(D){return s(ye(D)),null}},[t]);(0,Vt.useEffect)(()=>{x().then(Y=>{Y&&E.length===0&&f===null&&S(Y.kinds.map(L=>L.type))});let D=setInterval(()=>{document.visibilityState==="visible"&&x()},3e4);return()=>clearInterval(D)},[x]);let C=async(D,Y,L)=>{d(D),s(void 0),u(void 0);try{await Y(),await x(),L&&u(L)}catch(j){s(ye(j))}finally{d(null)}},I=D=>{b(null),h(""),w(""),S(D.map(Y=>Y.type))},$=D=>{D.preventDefault(),i&&(f?C("save",()=>re(`${n}/webhooks/${f}`,t,{method:"PUT",body:{name:v,...g.trim()?{url:g}:{},events:E}}).then(()=>I(i.kinds)),"Webhook saved."):C("save",()=>re(`${n}/webhooks`,t,{method:"POST",body:{name:v,url:g,events:E}}).then(()=>I(i.kinds)),"Webhook added. Send a test to see it in the channel."))};if(!i)return o?(0,Q.jsx)("div",{className:"error-bar",children:o}):(0,Q.jsx)(_n,{tiles:4,rows:3,title:(0,Q.jsxs)("h2",{className:"plugin-name",children:[(0,Q.jsx)(it,{id:e,size:22}),r]})});let T=i.deliveries.filter(D=>!D.ok).length,te=D=>i.kinds.find(Y=>Y.type===D)?.label??D,H=i.backends.filter(D=>!D.ok);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)("div",{className:"page-title",children:[(0,Q.jsxs)("h2",{className:"plugin-name",children:[(0,Q.jsx)(it,{id:e,size:22}),r]}),(0,Q.jsx)("p",{children:"Reviews, new pulls, failing checks, backups and backend outages, posted to the channels you choose."})]}),l&&(0,Q.jsx)("div",{className:"success-bar",children:l}),o&&(0,Q.jsx)("div",{className:"error-bar",children:o}),(0,Q.jsxs)("div",{className:"tiles",children:[(0,Q.jsxs)("div",{className:"tile",children:[(0,Q.jsx)("div",{className:"label",children:"webhooks"}),(0,Q.jsx)("div",{className:"value",children:M(i.webhooks.length)})]}),(0,Q.jsxs)("div",{className:"tile",children:[(0,Q.jsx)("div",{className:"label",children:"sent recently"}),(0,Q.jsx)("div",{className:"value",children:M(i.deliveries.length)})]}),(0,Q.jsxs)("div",{className:`tile ${T?"bad":""}`,children:[(0,Q.jsx)("div",{className:"label",children:"failed"}),(0,Q.jsx)("div",{className:"value",children:M(T)})]}),(0,Q.jsxs)("div",{className:`tile ${H.length?"bad":""}`,children:[(0,Q.jsx)("div",{className:"label",children:"backends watched"}),(0,Q.jsxs)("div",{className:"value",children:[i.health?M(i.backends.length):"\\u2013",H.length>0&&(0,Q.jsxs)("small",{children:[H.map(D=>D.provider).join(", ")," down"]})]})]})]}),(0,Q.jsxs)("section",{className:"panel",children:[(0,Q.jsx)("div",{className:"section-heading",children:(0,Q.jsxs)("h2",{children:["Webhooks",(0,Q.jsx)("span",{className:"count",children:M(i.webhooks.length)})]})}),i.webhooks.length===0?(0,Q.jsx)("div",{className:"empty",children:"No channel yet. Add one below with an incoming webhook URL."}):(0,Q.jsx)("div",{className:"scroll",children:(0,Q.jsxs)("table",{children:[(0,Q.jsx)("thead",{children:(0,Q.jsxs)("tr",{children:[(0,Q.jsx)("th",{children:"channel"}),(0,Q.jsx)("th",{children:"sends"}),(0,Q.jsx)("th",{children:"to"}),(0,Q.jsx)("th",{})]})}),(0,Q.jsx)("tbody",{children:i.webhooks.map(D=>(0,Q.jsxs)("tr",{children:[(0,Q.jsx)("td",{className:"entity-name",children:D.name}),(0,Q.jsx)("td",{children:D.events.length===i.kinds.length?(0,Q.jsx)("span",{className:"muted",children:"everything"}):D.events.length===0?(0,Q.jsx)("span",{className:"muted",children:"nothing"}):D.events.map(Y=>(0,Q.jsx)("span",{className:"tag",children:te(Y)},Y))}),(0,Q.jsx)("td",{className:"muted",children:D.host}),(0,Q.jsxs)("td",{className:"actions",children:[(0,Q.jsx)("button",{type:"button",className:"ghost mini",disabled:c!==null,onClick:()=>void C(`test:${D.id}`,()=>re(`${n}/webhooks/${D.id}/test`,t,{method:"POST"}),`Sent a test to ${D.name}.`),children:c===`test:${D.id}`?"\\u2026":"test"})," ",(0,Q.jsx)("button",{type:"button",className:"ghost mini",disabled:c!==null,onClick:()=>{b(D.id),h(D.name),w(""),S(D.events)},children:"edit"})," ",p===D.id?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)("button",{type:"button",className:"danger mini",disabled:c!==null,onClick:()=>void C(`remove:${D.id}`,()=>re(`${n}/webhooks/${D.id}`,t,{method:"DELETE"}).then(()=>m(null))),children:"remove"})," ",(0,Q.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>m(null),children:"keep"})]}):(0,Q.jsx)("button",{type:"button",className:"ghost mini",disabled:c!==null,onClick:()=>m(D.id),children:"remove"})]})]},D.id))})]})}),(0,Q.jsxs)("form",{className:"create-form",onSubmit:$,children:[(0,Q.jsxs)("div",{className:"config-fields",children:[(0,Q.jsxs)("label",{className:"config-field",children:[(0,Q.jsx)("span",{children:"channel name"}),(0,Q.jsx)("input",{value:v,onChange:D=>h(D.target.value),placeholder:e==="discord"?"#deploys":"#eng-reviews",disabled:c!==null})]}),(0,Q.jsxs)("label",{className:"config-field",children:[(0,Q.jsxs)("span",{children:["incoming webhook URL ",f&&(0,Q.jsx)("em",{className:"muted",children:"(leave blank to keep)"})]}),(0,Q.jsx)("input",{type:"password",value:g,onChange:D=>w(D.target.value),placeholder:i.urlExample,disabled:c!==null,autoComplete:"off",spellCheck:!1})]})]}),(0,Q.jsx)(GL,{kinds:i.kinds,value:E,onChange:S,disabled:c!==null}),(0,Q.jsxs)("div",{className:"row-actions",children:[(0,Q.jsx)("button",{type:"submit",className:"primary",disabled:c!==null||!v.trim()||!f&&!g.trim(),children:c==="save"?"\\u2026":f?"save webhook":"add webhook"}),f&&(0,Q.jsx)("button",{type:"button",className:"ghost",onClick:()=>I(i.kinds),children:"cancel"}),(0,Q.jsxs)("span",{className:"muted",children:[KL[e]," The URL is kept on this server and never shown again."]})]})]})]}),(0,Q.jsxs)("section",{className:"panel",children:[(0,Q.jsx)("div",{className:"section-heading",children:(0,Q.jsxs)("h2",{children:["Recent deliveries",(0,Q.jsx)("span",{className:"count",children:M(i.deliveries.length)})]})}),i.deliveries.length===0?(0,Q.jsx)("div",{className:"empty",children:"Nothing sent yet."}):(0,Q.jsx)("div",{className:"scroll",children:(0,Q.jsxs)("table",{children:[(0,Q.jsx)("thead",{children:(0,Q.jsxs)("tr",{children:[(0,Q.jsx)("th",{children:"when"}),(0,Q.jsx)("th",{children:"channel"}),(0,Q.jsx)("th",{children:"event"}),(0,Q.jsx)("th",{children:"message"}),(0,Q.jsx)("th",{children:"result"})]})}),(0,Q.jsx)("tbody",{children:i.deliveries.map((D,Y)=>(0,Q.jsxs)("tr",{children:[(0,Q.jsx)("td",{className:"muted",title:D.at,children:Oe(D.at)}),(0,Q.jsx)("td",{children:D.webhook}),(0,Q.jsx)("td",{children:(0,Q.jsx)("span",{className:"tag",children:te(D.event)})}),(0,Q.jsx)("td",{children:D.title}),(0,Q.jsx)("td",{children:(0,Q.jsx)("span",{className:`pill-s ${D.ok?"ok":"bad"}`,title:D.error,children:D.ok?`sent in ${M(D.ms)} ms`:D.error??"failed"})})]},`${D.at}-${Y}`))})]})})]})]})};var En=ne(Ye());var Z=ne(Ce()),YN=({apiKey:e})=>{let t="/twinny/v1/admin/plugins/oidc/api",[n,r]=(0,En.useState)(null),[i,a]=(0,En.useState)(),[o,s]=(0,En.useState)(),[l,u]=(0,En.useState)(null),[c,d]=(0,En.useState)({issuer:"",clientId:"",clientSecret:"",scopes:"",allowedDomains:"",adminEmails:"",publicUrl:"",nameClaim:"email"}),p=(0,En.useCallback)(E=>{d({issuer:E.issuer,clientId:E.clientId,clientSecret:"",scopes:E.scopes,allowedDomains:E.allowedDomains.join(", "),adminEmails:E.adminEmails.join(", "),publicUrl:E.publicUrl,nameClaim:E.nameClaim})},[]),m=(0,En.useCallback)(async()=>{try{let E=await re(`${t}/`,e);return r(E),a(void 0),E}catch(E){return a(ye(E)),null}},[e]);(0,En.useEffect)(()=>{m().then(E=>E&&p(E.settings))},[m,p]);let f=async(E,S,x)=>{u(E),a(void 0),s(void 0);try{await S();let C=await m();C&&E==="save"&&p(C.settings),x&&s(x)}catch(C){a(ye(C))}finally{u(null)}},b=E=>{E.preventDefault(),f("save",()=>re(`${t}/settings`,e,{method:"PUT",body:{...c,...c.clientSecret?{}:{clientSecret:void 0}}}),"Settings saved.")};if(!n)return i?(0,Z.jsx)("div",{className:"error-bar",children:i}):(0,Z.jsx)(_n,{tiles:3,rows:3,title:(0,Z.jsxs)("h2",{className:"plugin-name",children:[(0,Z.jsx)(it,{id:"oidc",size:22}),"SSO sign-in"]})});let v=n.settings.publicUrl||window.location.origin,h=`${v}${n.startPath}`,g=`${v}${n.callbackPath}`,w=n.signIns.filter(E=>!E.ok).length;return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("div",{className:"page-title",children:[(0,Z.jsxs)("h2",{className:"plugin-name",children:[(0,Z.jsx)(it,{id:"oidc",size:22}),"SSO sign-in"]}),(0,Z.jsx)("p",{children:"Developers sign in with your identity provider and VS Code connects with a key of their own."})]}),o&&(0,Z.jsx)("div",{className:"success-bar",children:o}),i&&(0,Z.jsx)("div",{className:"error-bar",children:i}),(0,Z.jsxs)("div",{className:"tiles",children:[(0,Z.jsxs)("div",{className:`tile ${n.configured&&n.discovery?"":"bad"}`,children:[(0,Z.jsx)("div",{className:"label",children:"provider"}),(0,Z.jsx)("div",{className:"value",children:n.configured?n.discovery?"reachable":"unreachable":"not set up"})]}),(0,Z.jsxs)("div",{className:"tile",children:[(0,Z.jsx)("div",{className:"label",children:"sign-ins (recent)"}),(0,Z.jsx)("div",{className:"value",children:M(n.signIns.length)})]}),(0,Z.jsxs)("div",{className:`tile ${w?"bad":""}`,children:[(0,Z.jsx)("div",{className:"label",children:"refused"}),(0,Z.jsx)("div",{className:"value",children:M(w)})]})]}),n.discoveryError&&(0,Z.jsx)("div",{className:"error-bar",children:n.discoveryError}),n.configured&&n.discovery&&(0,Z.jsxs)("section",{className:"panel",children:[(0,Z.jsxs)("div",{className:"section-heading",children:[(0,Z.jsx)("h2",{children:"Sign-in link"}),(0,Z.jsx)("span",{className:"muted",children:"give this to developers, or put it on your wiki"})]}),(0,Z.jsxs)("div",{className:"created",children:[(0,Z.jsx)("code",{className:"secret",children:h}),(0,Z.jsxs)("div",{className:"row",children:[(0,Z.jsx)($n,{text:h,label:"copy link"}),(0,Z.jsx)("a",{className:"button",href:h,target:"_blank",rel:"noreferrer",children:"try it"})]})]}),(0,Z.jsxs)("div",{className:"hint",children:["Register ",(0,Z.jsx)("code",{children:g})," 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,Z.jsxs)("form",{className:"panel",onSubmit:b,children:[(0,Z.jsxs)("div",{className:"section-heading",children:[(0,Z.jsx)("h2",{children:"Identity provider"}),(0,Z.jsx)("span",{className:`pill-s ${n.discovery?"ok":""}`,children:n.discovery?n.discovery.issuer:"OpenID Connect"})]}),(0,Z.jsxs)("div",{className:"config-fields",children:[(0,Z.jsxs)("label",{className:"config-field",children:[(0,Z.jsx)("span",{children:"issuer URL (has /.well-known/openid-configuration)"}),(0,Z.jsx)("input",{value:c.issuer,onChange:E=>d({...c,issuer:E.target.value}),placeholder:"https://login.microsoftonline.com/<tenant>/v2.0",spellCheck:!1})]}),(0,Z.jsxs)("label",{className:"config-field",children:[(0,Z.jsx)("span",{children:"client id"}),(0,Z.jsx)("input",{value:c.clientId,onChange:E=>d({...c,clientId:E.target.value}),spellCheck:!1,autoComplete:"off"})]}),(0,Z.jsxs)("label",{className:"config-field",children:[(0,Z.jsxs)("span",{children:["client secret ",n.settings.clientSecretSet&&(0,Z.jsx)("em",{className:"muted",children:"(set; leave blank to keep)"})]}),(0,Z.jsx)("input",{type:"password",value:c.clientSecret,onChange:E=>d({...c,clientSecret:E.target.value}),autoComplete:"new-password"})]}),(0,Z.jsxs)("label",{className:"config-field",children:[(0,Z.jsx)("span",{children:"scopes"}),(0,Z.jsx)("input",{value:c.scopes,onChange:E=>d({...c,scopes:E.target.value}),placeholder:"openid email profile",spellCheck:!1})]}),(0,Z.jsxs)("label",{className:"config-field",children:[(0,Z.jsx)("span",{children:"allowed email domains (comma-separated; blank: anyone the provider vouches for)"}),(0,Z.jsx)("input",{value:c.allowedDomains,onChange:E=>d({...c,allowedDomains:E.target.value}),placeholder:"example.com, example.co.uk",spellCheck:!1})]}),(0,Z.jsxs)("label",{className:"config-field",children:[(0,Z.jsx)("span",{children:"admin emails (get an admin key)"}),(0,Z.jsx)("input",{value:c.adminEmails,onChange:E=>d({...c,adminEmails:E.target.value}),placeholder:"you@example.com",spellCheck:!1})]}),(0,Z.jsxs)("label",{className:"config-field",children:[(0,Z.jsx)("span",{children:"public URL of this gateway (blank: taken from the request)"}),(0,Z.jsx)("input",{value:c.publicUrl,onChange:E=>d({...c,publicUrl:E.target.value}),placeholder:window.location.origin,spellCheck:!1})]}),(0,Z.jsxs)("label",{className:"config-field",children:[(0,Z.jsx)("span",{children:"claim that names the key"}),(0,Z.jsxs)("select",{value:c.nameClaim,onChange:E=>d({...c,nameClaim:E.target.value}),children:[(0,Z.jsx)("option",{value:"email",children:"email"}),(0,Z.jsx)("option",{value:"preferred_username",children:"preferred_username"}),(0,Z.jsx)("option",{value:"upn",children:"upn"})]})]})]}),(0,Z.jsxs)("div",{className:"row-actions",style:{marginTop:16},children:[(0,Z.jsx)("button",{type:"submit",className:"primary",disabled:l!==null,children:l==="save"?"\\u2026":"save"}),(0,Z.jsx)("button",{type:"button",className:"ghost",disabled:l!==null||!n.configured,onClick:()=>void f("check",()=>re(`${t}/check`,e,{method:"POST"}),"The provider answered: discovery and keys read."),children:l==="check"?"\\u2026":"test provider"}),(0,Z.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,Z.jsxs)("section",{className:"panel",children:[(0,Z.jsx)("div",{className:"section-heading",children:(0,Z.jsxs)("h2",{children:["Recent sign-ins",(0,Z.jsx)("span",{className:"count",children:M(n.signIns.length)})]})}),n.signIns.length===0?(0,Z.jsx)("div",{className:"empty",children:"Nobody has signed in yet."}):(0,Z.jsx)("div",{className:"scroll",children:(0,Z.jsxs)("table",{children:[(0,Z.jsx)("thead",{children:(0,Z.jsxs)("tr",{children:[(0,Z.jsx)("th",{children:"when"}),(0,Z.jsx)("th",{children:"who"}),(0,Z.jsx)("th",{children:"result"}),(0,Z.jsx)("th",{children:"from"})]})}),(0,Z.jsx)("tbody",{children:n.signIns.map((E,S)=>(0,Z.jsxs)("tr",{children:[(0,Z.jsx)("td",{className:"muted",title:E.at,children:Oe(E.at)}),(0,Z.jsxs)("td",{className:"entity-name",children:[E.name,E.admin&&(0,Z.jsx)("span",{className:"tag admin",children:"admin"})]}),(0,Z.jsx)("td",{children:(0,Z.jsx)("span",{className:`pill-s ${E.ok?"ok":"bad"}`,title:E.error,children:E.ok?"key issued":E.error??"refused"})}),(0,Z.jsx)("td",{className:"muted",children:E.from??""})]},`${E.at}-${S}`))})]})})]})]})};var Dr=ne(Ye());var dt=ne(Ce()),Lf=e=>e.everyone?"everyone":e.people.length?"people":"nobody",YL=e=>e.everyone?"every developer with a key":e.people.length?e.people.join(", "):"admins only",QN=({access:e,people:t,onSave:n})=>{let[r,i]=(0,Dr.useState)(!1),[a,o]=(0,Dr.useState)(Lf(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(Lf(e)),l(e.people)},[m]);let f=[...new Set([...t,...e.people])].sort((h,g)=>h.localeCompare(g)),b=h=>l(g=>g.includes(h)?g.filter(w=>w!==h):[...g,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,dt.jsxs)("div",{className:"access-editor",children:[(0,dt.jsx)("span",{className:"chips",role:"group","aria-label":"Shared with",children:["nobody","everyone","people"].map(h=>(0,dt.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,dt.jsx)("div",{className:"access-people",children:f.map(h=>(0,dt.jsxs)("label",{className:t.includes(h)?"":"muted",title:t.includes(h)?void 0:"No active key has this name",children:[(0,dt.jsx)("input",{type:"checkbox",checked:s.includes(h),onChange:()=>b(h),disabled:u})," ",h]},h))}):(0,dt.jsx)("div",{className:"empty",children:"No developer keys yet. Invite someone under People."})),d&&(0,dt.jsx)("div",{className:"error",children:d}),(0,dt.jsxs)("div",{className:"row-actions",children:[(0,dt.jsxs)("span",{className:"muted",children:["Nothing to send them: VS Code tells each developer it was shared, and ",(0,dt.jsx)("b",{children:"Providers \\u2192 Your team\'s plugins"})," opens it signed in. They see the plugin\'s page, without its settings."]}),(0,dt.jsx)("button",{type:"button",className:"primary",disabled:u||a==="people"&&s.length===0,onClick:()=>void v(),children:u?"\\u2026":"save"}),(0,dt.jsx)("button",{type:"button",className:"ghost",disabled:u,onClick:()=>{o(Lf(e)),l(e.people),p(void 0),i(!1)},children:"cancel"})]})]}):(0,dt.jsxs)("div",{className:"row-actions access-line",children:[(0,dt.jsxs)("span",{className:"muted",children:["Shared with: ",(0,dt.jsx)("b",{children:YL(e)})]}),(0,dt.jsx)("button",{type:"button",className:"link",onClick:()=>i(!0),children:"share"})]})};var le=ne(Ye());var su=ne(Ye()),Mn=ne(Ce()),Of=(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]},_f=[{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"}],Df=(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"},Ff=(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))})},zf=(e,t,n)=>({key:t,dir:e.key===t?e.dir==="asc"?"desc":"asc":n}),en=({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=ne(Ce()),Tt={github:"GitHub",gitlab:"GitLab",gitea:"Gitea / Forgejo",bitbucket:"Bitbucket"},QL={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"}},Uf={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"},XN={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(Uf),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",XL={failure:0,pending:1,none:2,success:3},ZL={conflicting:0,blocked:1,unknown:2,mergeable:3},JL={"changes-requested":0,"review-required":1,none:2,approved:3},ZN={quick:"all",repo:"",author:"",label:"",base:"",age:"",drafts:!1,sort:{key:"updated",dir:"desc"}},eO=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")},tO={success:"checks pass",failure:"checks fail",pending:"checks running",none:"no checks"},Mf={success:"ok",failure:"bad",pending:"warn",none:""},rS={mergeable:"mergeable",conflicting:"conflicts",blocked:"blocked",unknown:"merge state unknown"},iS={mergeable:"ok",conflicting:"bad",blocked:"warn",unknown:""},aS={approved:"approved","changes-requested":"changes requested","review-required":"needs review",none:"no review"},oS={approved:"ok","changes-requested":"bad","review-required":"warn",none:""},Hf=(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"},nO={yours:"yours",approved:"you approved",changes:"you asked for changes",asked:"your review asked","not-reviewed":"not reviewed by you"},rO={yours:"",approved:"reviewed",changes:"failed",asked:"stale","not-reviewed":"stale"},sS=({pull:e,me:t})=>{let n=Hf(e,t);return n?(0,k.jsx)("span",{className:`tag stance ${rO[n]}`,title:`You are ${t}`,children:nO[n]}):null},lS=(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()),$f=(e,t,n,r)=>{switch(t){case"all":return!0;case"mine":return lS(e,r);case"ready":return!e.draft&&e.checks!=="failure"&&e.checks!=="pending"&&e.mergeable==="mergeable"&&(e.review==="approved"||e.review==="none")&&!Bf(e);case"failing":return e.checks==="failure";case"conflicts":return e.mergeable==="conflicting";case"review":return e.review==="review-required"||e.review==="changes-requested"||Bf(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"}},Bf=e=>e.approvals?.required!==void 0&&e.approvals.approved.length<e.approvals.required,iO=(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 XL[e.checks];case"merge":return ZL[e.mergeable];case"review":return JL[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",uS=({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=Bf(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?`${M(n.approved.length)}/${M(n.required)}`:M(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)}`:`${M(n.changes.length)} changes`}),n.pending.length>0&&(0,k.jsx)("span",{className:"muted",children:t?`waiting for ${ga(n.pending)}`:`${M(n.pending.length)} asked`})]})},aO=({host:e,words:t,overview:n,base:r,apiKey:i,onChanged:a})=>{let[o,s]=(0,le.useState)(""),[l,u]=(0,le.useState)(""),[c,d]=(0,le.useState)(null),[p,m]=(0,le.useState)(),[f,b]=(0,le.useState)(null),[v,h]=(0,le.useState)(null),g=async(x,C)=>{d(x),m(void 0);try{await C(),await a()}catch(I){m(ye(I))}finally{d(null)}},w=x=>{x.preventDefault();let C=o.trim();C&&g("add",async()=>{await re(`${r}/repos`,i,{method:"POST",body:{fullName:C,...l.trim()?{token:l.trim()}:{}}}),s(""),u("")})},E=x=>g(`add:${x}`,async()=>{await re(`${r}/repos`,i,{method:"POST",body:{fullName:x}}),h(C=>C&&C.filter(I=>I.fullName!==x))}),S=()=>g("picker",async()=>{let x=await re(`${r}/app/repositories`,i),C=new Set(n.repos.map(I=>I.fullName.toLowerCase()));h(x.repositories.filter(I=>!C.has(I.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:M(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(x=>{let C=x.pulls.filter(I=>I.checks==="failure").length;return(0,k.jsxs)("tr",{className:x.error?"repo-error":"",children:[(0,k.jsxs)("td",{children:[(0,k.jsx)("a",{href:x.url,target:"_blank",rel:"noreferrer",className:"entity-name",children:x.fullName}),x.error&&(0,k.jsx)("div",{className:"repo-problem",children:x.error})]}),(0,k.jsx)("td",{children:(0,k.jsx)("span",{className:"tag",children:x.auth==="app"?"GitHub App":"token"})}),(0,k.jsx)("td",{children:M(x.pulls.length)}),(0,k.jsx)("td",{className:C?"bad-text":"muted",children:M(C)}),(0,k.jsx)("td",{className:"muted",title:x.syncedAt,children:x.syncing?"syncing\\u2026":x.syncedAt?Oe(x.syncedAt):x.error?"never":"pending"}),(0,k.jsx)("td",{className:"auto",children:(0,k.jsx)("input",{type:"checkbox",checked:x.autoReview,disabled:c!==null||!n.review.available,"aria-label":`Auto-review ${x.fullName}`,title:n.review.available?void 0:"Reviews are unavailable on this gateway",onChange:I=>void g(`auto:${x.id}`,()=>re(`${r}/repos/${x.id}`,i,{method:"PUT",body:{autoReview:I.target.checked}}))})}),(0,k.jsx)("td",{className:"auto",children:(0,k.jsx)("input",{type:"checkbox",checked:x.autoPost,disabled:c!==null,"aria-label":`Auto-post reviews of ${x.fullName}`,onChange:I=>void g(`post:${x.id}`,()=>re(`${r}/repos/${x.id}`,i,{method:"PUT",body:{autoPost:I.target.checked}}))})}),(0,k.jsx)("td",{className:"auto",children:(0,k.jsx)("input",{type:"checkbox",checked:x.autoTriage,disabled:c!==null||!x.issuesSupported||!n.review.available,"aria-label":`Auto-triage ${x.fullName}`,title:x.issuesSupported?void 0:"This host has no issue tracker the plugin reads",onChange:I=>void g(`triage:${x.id}`,()=>re(`${r}/repos/${x.id}`,i,{method:"PUT",body:{autoTriage:I.target.checked}}))})}),(0,k.jsxs)("td",{className:"actions",children:[(0,k.jsx)("button",{type:"button",className:"ghost mini",disabled:c!==null,onClick:()=>void g(`sync:${x.id}`,()=>re(`${r}/repos/${x.id}/sync`,i,{method:"POST"})),children:c===`sync:${x.id}`?"\\u2026":"sync"})," ",f===x.id?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)("button",{type:"button",className:"danger mini",disabled:c!==null,onClick:()=>void g(`remove:${x.id}`,()=>re(`${r}/repos/${x.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(x.id),children:"remove"})]})]},x.id)})})]})}),(0,k.jsxs)("form",{className:"newkey create",onSubmit:w,children:[(0,k.jsx)("input",{placeholder:t.fullNameHint,value:o,onChange:x=>s(x.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:x=>u(x.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 S(),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(x=>(0,k.jsxs)("div",{className:"picker-row",children:[(0,k.jsx)("span",{className:"entity-name",children:x.fullName}),(0,k.jsx)("span",{className:"muted",children:x.account}),(0,k.jsx)("button",{type:"button",className:"mini",disabled:c!==null,onClick:()=>void E(x.fullName),children:c===`add:${x.fullName}`?"\\u2026":"watch"})]},x.fullName)),(0,k.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>h(null),children:"close"})]})]})},oO=({host:e,words:t,overview:n,base:r,apiKey:i,onChanged:a})=>{let[o,s]=(0,le.useState)(""),[l,u]=(0,le.useState)(""),[c,d]=(0,le.useState)(n.host.baseUrl),[p,m]=(0,le.useState)(n.me.name??"");(0,le.useEffect)(()=>m(n.me.name??""),[n.me.name]);let[f,b]=(0,le.useState)(!1),[v,h]=(0,le.useState)(),[g,w]=(0,le.useState)(),[E,S]=(0,le.useState)(!1);(0,le.useEffect)(()=>d(n.host.baseUrl),[n.host.baseUrl]);let x=async(I,$)=>{b(!0),h(void 0),w(void 0);try{await I(),await a(),w($)}catch(T){h(ye(T))}finally{b(!1)}},C=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 ${C?"ok":""}`,children:C?`installed as ${C.slug??C.appId}`:"not set up"})]}),g&&(0,k.jsx)("div",{className:"success-bar",children:g}),v&&(0,k.jsx)("div",{className:"error",children:v}),e==="github"&&(C?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)("dl",{className:"facts",children:[(0,k.jsx)("dt",{children:"App"}),(0,k.jsxs)("dd",{children:[C.name??C.slug??"GitHub App"," ",(0,k.jsxs)("span",{className:"muted",children:["\\xB7 id ",C.appId]})]}),C.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:C.installUrl,target:"_blank",rel:"noreferrer",children:C.installUrl})})]})]}),E?(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 x(()=>re(`${r}/app`,i,{method:"DELETE"}).then(()=>S(!1)),"GitHub App removed."),children:"remove App"}),(0,k.jsx)("button",{type:"button",className:"ghost",onClick:()=>S(!1),children:"keep"})]}):(0,k.jsx)("button",{type:"button",className:"ghost",disabled:f,onClick:()=>S(!0),children:"remove"})]}):(0,k.jsxs)("form",{className:"app-form",onSubmit:I=>{I.preventDefault(),x(()=>re(`${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:I=>s(I.target.value),"aria-label":"App ID",disabled:f,inputMode:"numeric"}),(0,k.jsx)("textarea",{placeholder:"-----BEGIN RSA PRIVATE KEY-----",value:l,onChange:I=>u(I.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:I=>{I.preventDefault(),x(()=>re(`${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":`${Tt[e]} URL`}),(0,k.jsx)("input",{value:c,onChange:I=>d(I.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:I=>{I.preventDefault(),x(()=>re(`${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 ",Tt[e],n.me.detected&&(0,k.jsxs)("em",{children:[" \\xB7 the token belongs to ",n.me.detected]})]}),(0,k.jsx)("input",{value:p,onChange:I=>m(I.target.value),"aria-label":`Your username on ${Tt[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."]})]})]})},JN=({host:e,words:t,overview:n,base:r,apiKey:i,onChanged:a,asking:o=!1,onSaved:s})=>{let[l,u]=(0,le.useState)(n.me.name??"");(0,le.useEffect)(()=>u(n.me.name??""),[n.me.name]);let[c,d]=(0,le.useState)(!1),[p,m]=(0,le.useState)(),f=l.trim().replace(/^@/,""),b=`\\u201C${Uf.mine}\\u201D`,v=async(g=f,w)=>{d(!0),m(void 0);try{await re(`${r}/me`,i,{method:"PUT",body:{me:g}}),s(g?`You are ${g} on ${Tt[e]}${w?`, ${w}`:""}. The ${t.nouns} waiting for your approval are under ${b}, and marked in the list.${w?" Not you? Change it under You on "+Tt[e]+" at the bottom of the page.":""}`:`Username cleared: ${b} is hidden until you set one.`),await a()}catch(E){m(ye(E))}finally{d(!1)}},h=qv(e);return(0,le.useEffect)(()=>{!h||n.me.name||(Vv(e),!(e==="github"&&!Wv(n.host.baseUrl))&&v(h,"taken from your GitHub sign-in in VS Code"))},[h,n.me.name]),(0,k.jsxs)("section",{className:`panel ${o?"ask-me":""}`,id:"you-on-host",children:[(0,k.jsx)("div",{className:"section-heading",children:(0,k.jsx)("h2",{children:o?`Who are you on ${Tt[e]}?`:`You on ${Tt[e]}`})}),o&&(0,k.jsxs)("p",{className:"ask-me-lead",children:["Your username gives the ",t.nouns," waiting for your approval a view of their own, ",b,", and marks them in the list. Only you see it; nothing is posted."]}),p&&(0,k.jsx)("div",{className:"error",children:p}),(0,k.jsxs)("form",{className:"newkey inline-setting",onSubmit:g=>{g.preventDefault(),v()},children:[(0,k.jsxs)("label",{children:[(0,k.jsx)("span",{className:"muted",children:"username"}),(0,k.jsx)("input",{id:"you-on-host-name",value:l,onChange:g=>u(g.target.value),"aria-label":`Your username on ${Tt[e]}`,placeholder:`your ${Tt[e]} username`,disabled:c,spellCheck:!1,autoFocus:o})]}),(0,k.jsx)("button",{type:"submit",className:o?"primary":"ghost",disabled:c||!f||f===(n.me.name??""),children:c?"\\u2026":"save"}),!o&&(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."]})]})]})},sO=e=>{let t=e.slice(e.lastIndexOf(".")+1).toLowerCase();return t===e.toLowerCase()?"text":t},lO=({review:e,noun:t,canAsk:n,onAsk:r})=>{let[i,a]=(0,le.useState)(""),[o,s]=(0,le.useState)(!1),[l,u]=(0,le.useState)(),[c,d]=(0,le.useState)(0);(0,le.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."]})]})]})]})},uO=({detail:e,words:t,review:n,host:r,me:i,onBack:a,onReview:o,onPost:s,onApprove:l,onAsk:u,member:c=!1})=>{let[d,p]=(0,le.useState)(!1),[m,f]=(0,le.useState)(),[b,v]=(0,le.useState)("comment"),[h,g]=(0,le.useState)(!1),[w,E]=(0,le.useState)(),{pull:S}=e,[x,C]=(0,le.useState)(e.reviewing),[I,$]=(0,le.useState)(),[T,te]=(0,le.useState)(0);(0,le.useEffect)(()=>C(e.reviewing),[e.reviewing]),(0,le.useEffect)(()=>{if(!x)return;te(0);let j=Date.now(),ce=setInterval(()=>te(Math.round((Date.now()-j)/1e3)),1e3);return()=>clearInterval(ce)},[x]);let H=async()=>{C(!0),$(void 0);try{await o()}catch(j){$(ye(j))}finally{C(!1)}},D=e.review&&e.review.headSha!==S.headSha,Y=Hf(S,i),L=()=>{p(!0),f(void 0),l().catch(j=>f(ye(j))).finally(()=>p(!1))};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:[S.repo,t.hash,S.number]}),(0,k.jsxs)("a",{href:S.url,target:"_blank",rel:"noreferrer",children:["open on ",Tt[r]]})]}),(0,k.jsxs)("span",{className:"links",children:[(0,k.jsx)(ya,{tone:Mf[S.checks],children:tO[S.checks]}),(0,k.jsx)(ya,{tone:iS[S.mergeable],children:rS[S.mergeable]}),(0,k.jsx)(ya,{tone:oS[S.review],children:aS[S.review]}),!c&&Y!=="yours"&&Y!=="approved"&&(0,k.jsx)("button",{type:"button",className:"primary mini",disabled:d,onClick:L,title:`Approve on ${Tt[r]} as the repository\'s token`,children:d?"approving\\u2026":"approve"})]})]}),m&&(0,k.jsx)("div",{className:"error",children:m}),(0,k.jsxs)("h3",{className:"pull-title",children:[S.draft&&(0,k.jsx)("span",{className:"tag",children:"draft"})," ",S.title," ",(0,k.jsx)(sS,{pull:S,me:i})]}),(0,k.jsxs)("div",{className:"meta",children:[(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"by"}),S.author]}),(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"branch"}),(0,k.jsx)("code",{children:S.headRef})," \\u2192 ",(0,k.jsx)("code",{children:S.baseRef})]}),(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"updated"}),Oe(S.updatedAt)]}),S.approvals&&(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"approvals"}),(0,k.jsx)(uS,{pull:S,long:!0})]}),S.changedFiles!==void 0&&(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"changes"}),Fe(S.changedFiles,"file"),", ",(0,k.jsxs)("span",{className:"ins-text",children:["+",M(S.additions??0)]})," ",(0,k.jsxs)("span",{className:"del-text",children:["\\u2212",M(S.deletions??0)]})]}),S.labels.length>0&&(0,k.jsxs)("span",{children:[(0,k.jsx)("span",{className:"meta-k",children:"labels"}),S.labels.map(j=>(0,k.jsx)("span",{className:"tag",children:j},j))]})]}),S.checkRuns.length>0&&(0,k.jsx)("div",{className:"checks",children:S.checkRuns.map((j,ce)=>(0,k.jsx)("span",{className:`pill-s ${Mf[j.state]}`,children:j.url?(0,k.jsx)("a",{href:j.url,target:"_blank",rel:"noreferrer",children:j.name}):j.name},`${j.name}-${ce}`))}),(0,k.jsx)("h3",{className:"sub",children:"Review"}),x?(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 ",T,"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 H(),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]}),I&&(0,k.jsx)("span",{className:"bad-text",children:I})]}),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]}),D&&(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"&&!(c&&e.review.postedAt)&&(0,k.jsxs)("div",{className:"review-actions",children:[c?(0,k.jsx)("span",{className:"muted",children:"as a comment"}):(0,k.jsxs)("select",{value:b,onChange:j=>v(j.target.value),disabled:h,"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:h,onClick:()=>{g(!0),E(void 0),s(b).catch(j=>E(ye(j))).finally(()=>g(!1))},children:h?"posting\\u2026":e.review.postedAt?`post again to ${Tt[r]}`:`post to ${Tt[r]}`}),w&&(0,k.jsx)("span",{className:"bad-text",children:w})]}),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"&&!x&&(0,k.jsx)(lO,{review:e.review,noun:t.noun,canAsk:n.available&&!!n.alias,onAsk:u})]}):!x&&(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:M(e.files.length)})]}),(0,k.jsxs)("div",{className:"turns",children:[e.files.map(j=>(0,k.jsx)(WN,{patch:j.patch??"",language:sO(j.path),title:(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)("span",{className:`tag file-${j.status}`,children:j.status})," ",j.previousPath?`${j.previousPath} \\u2192 `:"",j.path," ",(0,k.jsxs)("span",{className:"ins-text",children:["+",M(j.additions)]})," ",(0,k.jsxs)("span",{className:"del-text",children:["\\u2212",M(j.deletions)]}),j.truncated&&(0,k.jsx)("span",{className:"muted",children:" \\xB7 cut at 60k characters"})]})},`${j.status}:${j.path}`)),e.moreFiles>0&&(0,k.jsxs)("div",{className:"empty",children:[Fe(e.moreFiles,"more file")," not shown."]})]})]})},cO=({words:e,overview:t,base:n,apiKey:r,onChanged:i})=>{let[a,o]=(0,le.useState)(!1),[s,l]=(0,le.useState)(),{review:u}=t,c=t.repos.filter(p=>p.autoReview).length,d=async p=>{o(!0),l(void 0);try{await re(`${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.`:`${M(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."]})]})]})},eS={high:"bad",medium:"warn",low:""},dO={high:0,medium:1,low:2},cS={all:"all",untriaged:"not triaged",high:"high priority",duplicates:"duplicates",unanswered:"reply pending",failed:"triage failed"},pO={unanswered:"Triaged with a suggested reply that nobody has posted yet"},jf=Object.keys(cS),tS=(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"}],nS={view:"all",repo:"",author:"",label:"",age:"",sort:{key:"updated",dir:"desc"}},mO=e=>{if(typeof e!="object"||e===null)return!1;let t=e,n=t.sort;return jf.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")},fO=({host:e,overview:t,base:n,apiKey:r,review:i,onChanged:a})=>{let[o,s]=(0,le.useState)(null),[l,u]=(0,le.useState)(null),[c,d]=(0,le.useState)(""),[p,m]=(0,le.useState)(null),[f,b]=(0,le.useState)(),[v,h]=Of(`twinny-server.issues.${e}`,nS,mO),[g,w]=(0,le.useState)(""),E=t.repos.filter(O=>O.issuesSupported),S=(0,le.useMemo)(()=>E.flatMap(O=>O.issues.map(y=>({repo:O,issue:y,triage:O.triage[y.number]}))),[E]),x=(0,le.useMemo)(()=>{let O=g.trim().toLowerCase();return S.filter(({repo:y})=>!v.repo||y.id===v.repo).filter(({issue:y})=>!v.author||y.author===v.author).filter(({issue:y})=>!v.label||y.labels.includes(v.label)).filter(({issue:y})=>Df(y.updatedAt,v.age)).filter(({issue:y})=>!O||y.title.toLowerCase().includes(O)||y.author.toLowerCase().includes(O)||String(y.number)===O||y.labels.some(_=>_.toLowerCase().includes(O)))},[S,v.repo,v.author,v.label,v.age,g]),C=(0,le.useMemo)(()=>Ff(x.filter(({triage:O})=>tS(O,v.view)),v.sort.dir,({issue:O,triage:y})=>{switch(v.sort.key){case"updated":return Date.parse(O.updatedAt);case"created":return Date.parse(O.createdAt);case"number":return O.number;case"title":return O.title;case"author":return O.author;case"comments":return O.comments;case"priority":return y?.priority?dO[y.priority]:void 0}}),[x,v.view,v.sort]),I=(0,le.useMemo)(()=>Object.fromEntries(jf.map(O=>[O,x.filter(({triage:y})=>tS(y,O)).length])),[x]),$=(0,le.useMemo)(()=>ha(S.map(({issue:O})=>O.author)),[S]),T=(0,le.useMemo)(()=>ha(S.flatMap(({issue:O})=>O.labels)),[S]),te=v.view!=="all"||!!(v.repo||v.author||v.label||v.age||g.trim()),H=(O,y)=>h(_=>({..._,[O]:y})),D=O=>h(y=>({...y,sort:zf(y.sort,O,du(cu,O))}));(0,le.useEffect)(()=>{if(!o){u(null);return}let O=!1;return u(null),re(`${n}/repos/${o.repoId}/issues/${o.number}`,r).then(y=>{O||(u(y),d(y.triage?.reply??""))}).catch(y=>!O&&b(ye(y))),()=>{O=!0}},[o,n,r]);let Y=async(O,y)=>{m(O),b(void 0);try{await y(),await a()}catch(_){b(ye(_))}finally{m(null)}},L=(O,y)=>Y(`triage:${O}:${y}`,async()=>{let _=await re(`${n}/repos/${O}/issues/${y}/triage`,r,{method:"POST"});o?.repoId===O&&o.number===y&&(u(U=>U&&{...U,triage:_.triage}),d(_.triage.reply))}),j=(O,y,_)=>Y(`post:${_}`,async()=>{let U=await re(`${n}/repos/${O}/issues/${y}/triage/post`,r,{method:"POST",body:_==="reply"?{labels:!1,replyText:c}:{reply:!1}});u(N=>N&&{...N,triage:U.triage})});if(E.length===0)return null;let ce=S.filter(O=>!O.triage).length,K=S.filter(O=>O.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:M(C.length)})]}),(0,k.jsxs)("span",{className:"links",children:[K>0&&(0,k.jsxs)("span",{className:"pill-s bad",children:[M(K)," high priority"]}),(0,k.jsx)("span",{className:"muted",children:ce?`${M(ce)} not triaged`:"all triaged"})]})]}),f&&(0,k.jsx)("div",{className:"error",children:f}),S.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:jf.map(O=>(0,k.jsxs)("button",{type:"button",className:v.view===O?"on":"",onClick:()=>H("view",O),title:pO[O],children:[cS[O],(0,k.jsx)("span",{className:"chip-count",children:M(I[O])})]},O))}),(0,k.jsx)("input",{type:"search",className:"search",placeholder:"title, author, label or number",value:g,onChange:O=>w(O.target.value),"aria-label":"Search issues"})]}),(0,k.jsxs)("div",{className:"toolbar filters",children:[E.length>1&&(0,k.jsx)(Bn,{label:"repository",value:v.repo,onChange:O=>H("repo",O),any:"every repository",options:E.map(O=>({value:O.id,label:O.fullName}))}),(0,k.jsx)(Bn,{label:"author",value:v.author,onChange:O=>H("author",O),any:"anyone",options:$.map(O=>({value:O,label:O}))}),T.length>0&&(0,k.jsx)(Bn,{label:"label",value:v.label,onChange:O=>H("label",O),any:"any label",options:T.map(O=>({value:O,label:O}))}),(0,k.jsx)(Bn,{label:"activity",value:v.age,onChange:O=>H("age",O),options:_f}),te&&(0,k.jsx)("button",{type:"button",className:"link",onClick:()=>{h(O=>({...nS,sort:O.sort})),w("")},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:O=>H("sort",{key:O.target.value,dir:du(cu,O.target.value)}),"aria-label":"Order issues by",children:cu.map(O=>(0,k.jsx)("option",{value:O.key,children:O.label},O.key))}),(0,k.jsx)("button",{type:"button",className:"ghost mini dir",onClick:()=>H("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"})]})]})]}),C.length===0?(0,k.jsx)("div",{className:"empty",children:S.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)(en,{column:"title",sort:v.sort,onSort:D,children:"issue"}),(0,k.jsx)(en,{column:"author",sort:v.sort,onSort:D,children:"author"}),(0,k.jsx)(en,{column:"priority",sort:v.sort,onSort:D,children:"triage"}),(0,k.jsx)(en,{column:"comments",sort:v.sort,onSort:D,className:"num",children:"comments"}),(0,k.jsx)(en,{column:"updated",sort:v.sort,onSort:D,children:"updated"}),(0,k.jsx)("th",{})]})}),(0,k.jsx)("tbody",{children:C.map(({repo:O,issue:y,triage:_})=>{let U=o?.repoId===O.id&&o.number===y.number,N=`${O.id}:${y.number}`;return(0,k.jsxs)(le.default.Fragment,{children:[(0,k.jsxs)("tr",{className:"pull-row",onClick:()=>s(U?null:{repoId:O.id,number:y.number}),children:[(0,k.jsxs)("td",{children:[(0,k.jsx)("div",{className:"entity-name",children:y.title}),(0,k.jsxs)("div",{className:"key-id muted",children:[E.length>1?`${O.fullName} `:"","#",y.number,y.labels.map(F=>(0,k.jsx)("span",{className:"tag",children:F},F))]})]}),(0,k.jsx)("td",{children:y.author}),(0,k.jsx)("td",{children:_?_.status==="failed"?(0,k.jsx)("span",{className:"pill-s bad",children:"failed"}):(0,k.jsxs)(k.Fragment,{children:[_.priority&&(0,k.jsx)("span",{className:`pill-s ${eS[_.priority]}`,children:_.priority})," ",_.duplicateOf!==void 0&&(0,k.jsxs)("span",{className:"tag stale",children:["dup of #",_.duplicateOf]}),_.labels.map(F=>(0,k.jsx)("span",{className:`tag ${_.labeled?"reviewed":""}`,children:F},F)),_.replied&&(0,k.jsx)("span",{className:"tag reviewed",children:"replied"})]}):(0,k.jsx)("span",{className:"muted",children:"\\u2013"})}),(0,k.jsx)("td",{className:`num ${y.comments?"":"muted"}`,children:M(y.comments)}),(0,k.jsx)("td",{className:"muted",title:`updated ${y.updatedAt}\nopened ${y.createdAt}`,children:Oe(y.updatedAt)}),(0,k.jsx)("td",{className:"actions",onClick:F=>F.stopPropagation(),children:(0,k.jsx)("button",{type:"button",className:"ghost mini",disabled:p!==null||!i.alias,onClick:()=>void L(O.id,y.number),children:p===`triage:${O.id}:${y.number}`?"\\u2026":_?"triage again":"triage"})})]}),U&&(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:y.url,target:"_blank",rel:"noreferrer",children:["open #",y.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 ${eS[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(F=>(0,k.jsx)("span",{className:"tag",children:F},F)),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 j(O.id,y.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:F=>d(F.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 j(O.id,y.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)})})]})})]})},dS=({host:e,apiKey:t,member:n=!1})=>{let r=QL[e],i=`/twinny/v1/admin/plugins/${e}/api`,[a,o]=(0,le.useState)(null),[s,l]=(0,le.useState)(),[u,c]=Of(`twinny-server.pulls.${e}`,ZN,eO),[d,p]=(0,le.useState)(""),[m,f]=(0,le.useState)(null),[b,v]=(0,le.useState)(null),[h,g]=(0,le.useState)(),[w,E]=(0,le.useState)(!1),S=(0,le.useCallback)(async()=>{try{o(await re(`${i}/`,t)),l(void 0)}catch(N){N instanceof cn&&N.status===409?l(N.message):l(ye(N))}},[i,t]);(0,le.useEffect)(()=>{S();let N=setInterval(()=>{document.visibilityState==="visible"&&S()},6e4);return()=>clearInterval(N)},[S]),(0,le.useEffect)(()=>{if(!m){v(null);return}let N=!1;return v(null),g(void 0),re(`${i}/repos/${m.repoId}/pulls/${m.number}`,t).then(F=>{N||v(F)}).catch(F=>{N||g(ye(F))}),()=>{N=!0}},[m,i,t]);let x=async()=>{E(!0);try{await re(`${i}/sync`,t,{method:"POST"}),await S()}catch(N){l(ye(N))}finally{E(!1)}},C=(0,le.useMemo)(()=>a?.repos.flatMap(N=>N.pulls.map(F=>({repo:N,pull:F,brief:N.reviews[F.number]})))??[],[a]),I=(0,le.useMemo)(()=>{let N=d.trim().toLowerCase();return C.filter(({repo:F})=>!u.repo||F.id===u.repo).filter(({pull:F})=>!u.author||F.author===u.author).filter(({pull:F})=>!u.label||F.labels.includes(u.label)).filter(({pull:F})=>!u.base||F.baseRef===u.base).filter(({pull:F})=>Df(F.updatedAt,u.age)).filter(({pull:F})=>!N||F.title.toLowerCase().includes(N)||F.author.toLowerCase().includes(N)||String(F.number)===N||F.headRef.toLowerCase().includes(N)||F.labels.some(z=>z.toLowerCase().includes(N)))},[C,u.repo,u.author,u.label,u.base,u.age,d]),$=(0,le.useMemo)(()=>u.drafts?I:I.filter(({pull:N})=>!N.draft),[I,u.drafts]),T=a?.me.name,[te,H]=(0,le.useState)(),D=(0,le.useMemo)(()=>Ff((u.quick==="drafts"?I:$).filter(({pull:N,brief:F})=>$f(N,u.quick,F,T)),u.sort.dir,({pull:N})=>iO(N,u.sort.key)),[$,I,u.quick,u.sort,T]),Y=(0,le.useMemo)(()=>Object.fromEntries(lu.map(N=>[N,(N==="drafts"?I:$).filter(({pull:F,brief:z})=>$f(F,N,z,T)).length])),[$,I,T]),L=(0,le.useMemo)(()=>Object.fromEntries(lu.map(N=>[N,C.filter(({pull:F,brief:z})=>$f(F,N,z,T)).length])),[C,T]),j=(0,le.useMemo)(()=>ha(C.map(({pull:N})=>N.author)),[C]),ce=(0,le.useMemo)(()=>ha(C.flatMap(({pull:N})=>N.labels)),[C]),K=(0,le.useMemo)(()=>ha(C.map(({pull:N})=>N.baseRef)),[C]),O=u.quick!=="all"||u.drafts||!!(u.repo||u.author||u.label||u.base||u.age||d.trim()),y=u.drafts||u.quick==="drafts"?0:I.filter(({pull:N})=>N.draft).length,_=(N,F)=>c(z=>({...z,[N]:F})),U=N=>c(F=>({...F,sort:zf(F.sort,N,du(uu,N))}));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}),Tt[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 x(),disabled:w,children:w?"syncing\\u2026":"sync now"})]})]}),s&&(0,k.jsx)("div",{className:"error-bar",children:s}),te&&(0,k.jsxs)("div",{className:"success-bar with-close",children:[(0,k.jsx)("span",{children:te}),(0,k.jsx)("button",{type:"button",className:"link",onClick:()=>H(void 0),"aria-label":"Dismiss",children:"ok"})]}),n&&!a.me.name&&(0,k.jsx)(JN,{host:e,words:r,overview:a,base:i,apiKey:t,onChanged:S,asking:!0,onSaved:H}),(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:M(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:M(L.all)})]}),(0,k.jsxs)("div",{className:`tile ${L.failing?"bad":""}`,children:[(0,k.jsx)("div",{className:"label",children:"failing checks"}),(0,k.jsx)("div",{className:"value",children:M(L.failing)})]}),(0,k.jsxs)("div",{className:`tile ${L.conflicts?"bad":""}`,children:[(0,k.jsx)("div",{className:"label",children:"conflicts"}),(0,k.jsx)("div",{className:"value",children:M(L.conflicts)})]}),(0,k.jsxs)("div",{className:"tile",children:[(0,k.jsx)("div",{className:"label",children:"awaiting review"}),(0,k.jsx)("div",{className:"value",children:M(L.review)})]}),(0,k.jsxs)("div",{className:`tile ${L.ready?"attention":""}`,children:[(0,k.jsx)("div",{className:"label",children:"ready to merge"}),(0,k.jsx)("div",{className:"value",children:M(L.ready)})]})]}),m?b?(0,k.jsx)(uO,{detail:b,words:r,host:e,member:n,review:a.review,me:T,onBack:()=>f(null),onReview:async()=>{let N=await re(`${i}/repos/${m.repoId}/pulls/${m.number}/review`,t,{method:"POST"});v(F=>F&&{...F,review:N.review,reviewing:!1}),S()},onPost:async N=>{let F=await re(`${i}/repos/${m.repoId}/pulls/${m.number}/review/post`,t,{method:"POST",body:{as:N}});v(z=>z&&{...z,review:F.review}),S()},onApprove:async()=>{let N=await re(`${i}/repos/${m.repoId}/pulls/${m.number}/approve`,t,{method:"POST"});v(F=>F&&{...F,pull:N.pull}),S()},onAsk:async N=>{let F=await re(`${i}/repos/${m.repoId}/pulls/${m.number}/review/ask`,t,{method:"POST",body:{question:N}});v(z=>z&&{...z,review:F.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:M(D.length)})]})}),(0,k.jsxs)("div",{className:"toolbar",children:[(0,k.jsx)("span",{className:"chips",role:"group","aria-label":"View",children:lu.filter(N=>N!=="mine"||T!==void 0).map(N=>(0,k.jsxs)("button",{type:"button",className:u.quick===N?"on":"",onClick:()=>_("quick",N),title:N==="mine"?`${XN.mine} (you are ${T})`:XN[N],children:[Uf[N],(0,k.jsx)("span",{className:"chip-count",children:M(Y[N])})]},N))}),(0,k.jsx)("input",{type:"search",className:"search",placeholder:"title, author, branch, label or number",value:d,onChange:N=>p(N.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:N=>_("repo",N),any:`every ${r.repoNoun}`,options:a.repos.map(N=>({value:N.id,label:N.fullName}))}),(0,k.jsx)(Bn,{label:"author",value:u.author,onChange:N=>_("author",N),any:"anyone",options:j.map(N=>({value:N,label:N}))}),ce.length>0&&(0,k.jsx)(Bn,{label:"label",value:u.label,onChange:N=>_("label",N),any:"any label",options:ce.map(N=>({value:N,label:N}))}),K.length>1&&(0,k.jsx)(Bn,{label:"into",value:u.base,onChange:N=>_("base",N),any:"any branch",options:K.map(N=>({value:N,label:N}))}),(0,k.jsx)(Bn,{label:"activity",value:u.age,onChange:N=>_("age",N),options:_f}),(0,k.jsx)("button",{type:"button",className:`mini toggle ${u.drafts?"on":"ghost"}`,onClick:()=>_("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${y?` \\xB7 ${M(y)}`:""}`}),O&&(0,k.jsx)("button",{type:"button",className:"link",onClick:()=>{c(N=>({...ZN,sort:N.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:N=>_("sort",{key:N.target.value,dir:du(uu,N.target.value)}),"aria-label":"Order by",children:uu.map(N=>(0,k.jsx)("option",{value:N.key,children:N.label},N.key))}),(0,k.jsx)("button",{type:"button",className:"ghost mini dir",onClick:()=>_("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"})]})]}),D.length===0?(0,k.jsx)("div",{className:"empty",children:C.length===0?`No open ${r.nouns}.`:y&&I.length===y?`Only drafts (${M(y)}), 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)(en,{column:"title",sort:u.sort,onSort:U,children:r.noun}),(0,k.jsx)(en,{column:"author",sort:u.sort,onSort:U,children:"author"}),(0,k.jsx)(en,{column:"size",sort:u.sort,onSort:U,className:"num",title:"Lines added and removed",children:"size"}),(0,k.jsx)(en,{column:"checks",sort:u.sort,onSort:U,children:"checks"}),(0,k.jsx)(en,{column:"merge",sort:u.sort,onSort:U,children:"merge"}),(0,k.jsx)(en,{column:"review",sort:u.sort,onSort:U,children:"review"}),(0,k.jsx)(en,{column:"updated",sort:u.sort,onSort:U,children:"updated"}),(0,k.jsx)("th",{})]})}),(0,k.jsx)("tbody",{children:D.map(({repo:N,pull:F})=>(0,k.jsxs)("tr",{className:`pull-row ${lS(F,T)?"needs-me":""}`,onClick:()=>f({repoId:N.id,number:F.number}),tabIndex:0,onKeyDown:z=>z.key==="Enter"&&f({repoId:N.id,number:F.number}),children:[(0,k.jsxs)("td",{children:[(0,k.jsxs)("div",{className:"entity-name",children:[F.draft&&(0,k.jsx)("span",{className:"tag",children:"draft"})," ",F.title]}),(0,k.jsxs)("div",{className:"key-id muted pull-sub",children:[(0,k.jsxs)("span",{className:"pull-ref",children:[a.repos.length>1?`${N.fullName} `:"",r.hash,F.number]}),(0,k.jsxs)("span",{className:"pull-branches",children:[(0,k.jsx)("code",{children:F.headRef})," \\u2192 ",(0,k.jsx)("code",{children:F.baseRef})]})]}),(Hf(F,T)!==void 0||F.labels.length>0)&&(0,k.jsxs)("div",{className:"pull-tags",children:[(0,k.jsx)(sS,{pull:F,me:T}),F.labels.map(z=>(0,k.jsx)("span",{className:"tag",children:z},z))]})]}),(0,k.jsx)("td",{children:F.author}),(0,k.jsx)("td",{className:"num size",title:F.changedFiles!==void 0?Fe(F.changedFiles,"file changed","files changed"):void 0,children:F.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:["+",M(F.additions??0)]})," ",(0,k.jsxs)("span",{className:"del-text",children:["\\u2212",M(F.deletions??0)]})]})}),(0,k.jsx)("td",{children:(0,k.jsx)(ya,{tone:Mf[F.checks],title:F.checkRuns.map(z=>`${z.name}: ${z.state}`).join(`\n`),children:F.checks==="none"?"none":`${M(F.checkRuns.filter(z=>z.state==="success").length)}/${M(F.checkRuns.length)}`})}),(0,k.jsx)("td",{children:(0,k.jsx)(ya,{tone:iS[F.mergeable],children:rS[F.mergeable]})}),(0,k.jsxs)("td",{children:[(0,k.jsx)(ya,{tone:oS[F.review],children:aS[F.review]}),(0,k.jsx)(uS,{pull:F})]}),(0,k.jsx)("td",{className:"muted",title:`updated ${F.updatedAt}\nopened ${F.createdAt}`,children:Oe(F.updatedAt)}),(0,k.jsx)("td",{className:"actions",onClick:z=>z.stopPropagation(),children:(0,k.jsx)("a",{href:F.url,target:"_blank",rel:"noreferrer",className:"open-link",title:`Open ${r.hash}${F.number} on ${Tt[e]}`,onKeyDown:z=>z.stopPropagation(),children:"open \\u2197"})})]},`${N.id}:${F.number}`))})]})})]}),(0,k.jsx)(fO,{host:e,overview:a,base:i,apiKey:t,review:a.review,onChanged:S}),n?a.me.name?(0,k.jsx)(JN,{host:e,words:r,overview:a,base:i,apiKey:t,onChanged:S,onSaved:H}):null:(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(aO,{host:e,words:r,overview:a,base:i,apiKey:t,onChanged:S}),(0,k.jsx)(cO,{words:r,overview:a,base:i,apiKey:t,onChanged:S}),(0,k.jsx)(oO,{host:e,words:r,overview:a,base:i,apiKey:t,onChanged:S})]})]}):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}),Tt[e]]})})};var fe=ne(Ce()),hO={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=hO[e];return n?(0,fe.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,fe.jsx)("path",{fill:"currentColor",d:n.path})}):null},pS=({plugins:e,licensed:t,onToggle:n,people:r,onShare:i,onOpen:a,onNavigate:o})=>{let[s,l]=(0,qf.useState)(null),[u,c]=(0,qf.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,fe.jsxs)(fe.Fragment,{children:[(0,fe.jsxs)("div",{className:"page-title",children:[(0,fe.jsx)("h2",{children:"Plugins"}),(0,fe.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,fe.jsxs)("div",{className:"confirm-bar",children:[(0,fe.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,fe.jsx)("button",{type:"button",className:"primary",onClick:()=>o("plan"),children:"Plan & licence"})]}),u&&(0,fe.jsx)("div",{className:"error-bar",children:u}),(0,fe.jsx)("div",{className:"plugin-grid",children:e.map(m=>(0,fe.jsxs)("section",{className:`panel plugin ${m.enabled?"on":""}`,children:[(0,fe.jsxs)("div",{className:"section-heading",children:[(0,fe.jsxs)("h2",{className:"plugin-name",children:[(0,fe.jsx)(it,{id:m.id,size:22}),m.name]}),(0,fe.jsx)("span",{className:`pill-s ${m.enabled?"ok":""}`,children:m.enabled?"on":"off"})]}),(0,fe.jsx)("p",{className:"plugin-description",children:m.description}),(0,fe.jsxs)("div",{className:"row-actions",children:[(0,fe.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,fe.jsx)("button",{type:"button",className:"link",onClick:()=>a(m.id),children:"open"})]}),m.shareable&&m.access&&(0,fe.jsx)(QN,{access:m.access,people:r,onSave:f=>i(m.id,f)})]},m.id))})]})},_n=({tiles:e=4,rows:t=5,title:n})=>(0,fe.jsxs)("div",{className:"skeleton-page","aria-busy":"true","aria-label":"Loading",children:[(0,fe.jsxs)("div",{className:"page-title",children:[n??(0,fe.jsx)("span",{className:"skeleton",style:{width:120,height:24}}),(0,fe.jsx)("span",{className:"skeleton",style:{width:360,height:14}})]}),(0,fe.jsx)("div",{className:"tiles",children:Array.from({length:e},(r,i)=>(0,fe.jsxs)("div",{className:"tile",children:[(0,fe.jsx)("div",{className:"label",children:(0,fe.jsx)("span",{className:"skeleton",style:{width:"60%",height:11}})}),(0,fe.jsx)("div",{className:"value",children:(0,fe.jsx)("span",{className:"skeleton",style:{width:40,height:22}})})]},i))}),(0,fe.jsxs)("section",{className:"panel",children:[(0,fe.jsxs)("div",{className:"section-heading",children:[(0,fe.jsx)("span",{className:"skeleton",style:{width:160,height:12}}),(0,fe.jsx)("span",{className:"skeleton",style:{width:220,height:24}})]}),(0,fe.jsx)("div",{className:"skeleton-rows",children:Array.from({length:t},(r,i)=>(0,fe.jsxs)("div",{className:"skeleton-row",children:[(0,fe.jsx)("span",{className:"skeleton",style:{width:`${55-i%3*8}%`,height:13}}),(0,fe.jsx)("span",{className:"skeleton",style:{width:70,height:18,borderRadius:999}}),(0,fe.jsx)("span",{className:"skeleton",style:{width:84,height:18,borderRadius:999}}),(0,fe.jsx)("span",{className:"skeleton",style:{width:60,height:12}})]},i))})]}),(0,fe.jsxs)("section",{className:"panel",children:[(0,fe.jsx)("div",{className:"section-heading",children:(0,fe.jsx)("span",{className:"skeleton",style:{width:120,height:12}})}),(0,fe.jsx)("div",{className:"skeleton-rows",children:Array.from({length:2},(r,i)=>(0,fe.jsxs)("div",{className:"skeleton-row",children:[(0,fe.jsx)("span",{className:"skeleton",style:{width:"30%",height:13}}),(0,fe.jsx)("span",{className:"skeleton",style:{width:50,height:18}}),(0,fe.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,fe.jsx)(dS,{host:e,apiKey:t,member:n}):n?(0,fe.jsx)("div",{className:"empty",children:"This plugin has no page for developers."}):e==="backups"?(0,fe.jsx)(Yv,{apiKey:t}):e==="oidc"?(0,fe.jsx)(YN,{apiKey:t}):e==="context"?(0,fe.jsx)(KN,{apiKey:t}):e==="slack"||e==="discord"||e==="teams"?(0,fe.jsx)(GN,{host:e,apiKey:t}):(0,fe.jsx)("div",{className:"empty",children:"This plugin has no page."});var st=ne(Ce()),Vf="plugin:",gO=()=>{let e=location.hash.replace(/^#/,"");return e.startsWith(Vf)?e.slice(Vf.length):void 0},mS=({apiKey:e,who:t,onSignOut:n})=>{let[r,i]=(0,nr.useState)(null),[a,o]=(0,nr.useState)(),[s,l]=(0,nr.useState)(gO),u=(0,nr.useCallback)(p=>{l(p);try{history.replaceState(null,"",`#${Vf}${p}`)}catch{}},[]),c=(0,nr.useCallback)(async()=>{try{let p=await re("/twinny/v1/admin/plugins",e);i(p.plugins),o(void 0)}catch(p){if(p instanceof cn&&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=ne(Ye());var de=ne(Ce()),yO=e=>e.requests&&e.ok/e.requests<.9?"revoked":"",fS=({t:e,whole:t,max:n,currency:r})=>(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)("td",{className:"num",children:(0,de.jsxs)("span",{className:"share",children:[(0,de.jsx)("span",{className:"share-fill",style:{width:`${e.requests/Math.max(1,n)*100}%`}}),(0,de.jsx)("span",{className:"share-text",children:M(e.requests)})]})}),(0,de.jsx)("td",{className:"num muted",children:Zi(e.requests,t)}),(0,de.jsx)("td",{className:`num ${yO(e)}`,children:Zi(e.ok,e.requests)}),(0,de.jsx)("td",{className:`num ${e.failed?"revoked":"muted"}`,children:M(e.failed)}),(0,de.jsx)("td",{className:"num muted",children:M(e.cancelled)}),(0,de.jsx)("td",{className:"num",children:e.counted?Nt(e.promptTokens):(0,de.jsx)("span",{className:"muted",children:"\\u2013"})}),(0,de.jsx)("td",{className:"num",children:e.counted?Nt(e.completionTokens):(0,de.jsx)("span",{className:"muted",children:"\\u2013"})}),r&&(0,de.jsx)("td",{className:"num",children:e.cost!==void 0?Wf(e.cost,r):(0,de.jsx)("span",{className:"muted",children:"\\u2013"})}),(0,de.jsx)("td",{className:"num",children:e.requests?Dt(e.ms/e.requests):"\\u2013"}),(0,de.jsx)("td",{className:"num",children:e.indexing.runs?(0,de.jsxs)("span",{title:`${M(e.indexing.calls)} embedding calls${e.indexing.texts?`, ${M(e.indexing.texts)} texts`:""}`,children:[M(e.indexing.runs),e.indexing.texts?(0,de.jsxs)("span",{className:"muted",children:[" \\xB7 ",Nt(e.indexing.texts)," texts"]}):null]}):(0,de.jsx)("span",{className:"muted",children:"\\u2013"})})]}),Wf=(e,t)=>`${e<.01&&e>0?"<0.01":e.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})} ${t}`,vO=e=>(0,de.jsxs)(de.Fragment,{children:[(0,de.jsx)("th",{className:"num",children:"Requests"}),(0,de.jsx)("th",{className:"num",children:"Share"}),(0,de.jsx)("th",{className:"num",children:"OK"}),(0,de.jsx)("th",{className:"num",children:"Failed"}),(0,de.jsx)("th",{className:"num",children:"Cancelled"}),(0,de.jsx)("th",{className:"num",children:"Prompt tok"}),(0,de.jsx)("th",{className:"num",children:"Output tok"}),e&&(0,de.jsx)("th",{className:"num",children:"Cost"}),(0,de.jsx)("th",{className:"num",children:"Avg"}),(0,de.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"})]}),hS=({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,de.jsxs)("button",{type:"button",className:a===p?"on":"ghost",onClick:()=>o(p),children:[m,(0,de.jsx)("span",{className:"chip-count",children:M(f)})]},p);return(0,de.jsxs)(de.Fragment,{children:[(0,de.jsxs)("div",{className:"page-title",children:[(0,de.jsx)("h2",{children:"Usage"}),(0,de.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,de.jsxs)("section",{className:"panel",children:[(0,de.jsxs)("div",{className:"section-heading",children:[(0,de.jsx)("h2",{children:a==="key"?"By developer":a==="model"?"By model":a==="peer"?"By teammate\'s computer":"By developer and model"}),(0,de.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,de.jsx)("div",{className:"scroll",children:(0,de.jsxs)("table",{className:"usage",children:[(0,de.jsx)("thead",{children:(0,de.jsxs)("tr",{children:[(a==="key"||a==="key-model")&&(0,de.jsx)("th",{children:"Developer"}),(a==="model"||a==="key-model")&&(0,de.jsx)("th",{children:"Model"}),a==="peer"&&(0,de.jsx)("th",{children:"Computer"}),vO(e.currency)]})}),(0,de.jsx)("tbody",{children:u.map(p=>(0,de.jsxs)("tr",{children:[p.key!==void 0&&(0,de.jsxs)("td",{children:[(0,de.jsx)("span",{className:"dot",style:{background:r(p.key)}}),p.key]}),p.model!==void 0&&(0,de.jsxs)("td",{children:[l.has(p.model)&&(0,de.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,de.jsx)("td",{children:p.peer}),(0,de.jsx)(fS,{t:p.totals,whole:s,max:c,currency:e.currency})]},p.id))}),(0,de.jsx)("tfoot",{children:(0,de.jsxs)("tr",{children:[(0,de.jsx)("td",{colSpan:a==="key-model"?2:1,children:"Everyone"}),(0,de.jsx)(fS,{t:e.total,whole:s,max:e.total.requests,currency:e.currency})]})})]})}):(0,de.jsxs)("div",{className:"empty",children:["No requests in the last ",n,". Usage appears as developers use chat, autocomplete and embeddings through the gateway."]})]})]})};var G=ne(Ce()),fu="var(--other)",bO=(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},kO=({summary:e,series:t})=>{let n=bO(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 x=r.get(S),C=t.map($=>x?.byKey[$.name]??0),I=x?Object.entries(x.byKey).filter(([$])=>!i.has($)).reduce(($,[,T])=>$+T,0):0;return{day:S,counts:C,other:I,total:x?.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,m=l-d-c,f=p/a.length,b=Math.max(4,Math.min(28,f*.6)),v=S=>d+m-S/o*m,h=[0,Math.round(o/2),o],g=Math.ceil(a.length/10),w=a.length<=14,E=a.some(S=>S.other>0);return e.total.requests?(0,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)("svg",{className:"chart",viewBox:`0 0 ${s} ${l}`,role:"img","aria-label":"Requests per day by key",children:[h.map(S=>(0,G.jsxs)("g",{children:[(0,G.jsx)("line",{className:"grid",x1:u,x2:s-8,y1:v(S),y2:v(S)}),(0,G.jsx)("text",{x:u-6,y:v(S)+3,textAnchor:"end",children:M(S)})]},S)),a.map((S,x)=>{let C=u+x*f+(f-b)/2,I=0,$=[...S.counts.map((T,te)=>({n:T,color:t[te].color,name:t[te].name})),{n:S.other,color:fu,name:"other"}];return(0,G.jsxs)("g",{children:[$.map(T=>{if(!T.n)return null;let te=v(I+T.n),H=v(I)-te;return I+=T.n,(0,G.jsx)("rect",{className:"seg",x:C,y:te,width:b,height:H,rx:I===S.total?3:0,fill:T.color,children:(0,G.jsx)("title",{children:`${S.day} \\xB7 ${T.name}: ${M(T.n)} of ${M(S.total)}`})},T.name)}),w&&S.total>0&&(0,G.jsx)("text",{className:"label",x:C+b/2,y:v(S.total)-4,textAnchor:"middle",children:M(S.total)}),x%g===0&&(0,G.jsx)("text",{x:C+b/2,y:l-6,textAnchor:"middle",children:S.day.slice(5)})]},S.day)})]}),(0,G.jsxs)("div",{className:"legend",children:[t.map(S=>(0,G.jsxs)("span",{children:[(0,G.jsx)("i",{style:{background:S.color}}),S.name]},S.name)),E&&(0,G.jsxs)("span",{children:[(0,G.jsx)("i",{style:{background:fu}}),"other"]})]})]}):(0,G.jsx)("div",{className:"empty",children:"No requests in this period."})},gS=({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,G.jsxs)("div",{className:"bars",children:[s.map(c=>(0,G.jsxs)("div",{className:"bar-row",title:`${M(c.totals.requests)} of ${M(t)} requests`,children:[(0,G.jsxs)("span",{className:"bar-name",children:[n&&(0,G.jsx)("i",{className:"dot",style:{background:n(c.name)}}),c.name,c.note]}),(0,G.jsx)("span",{className:"bar-track",children:(0,G.jsx)("span",{className:"bar-fill",style:{width:`${c.totals.requests/u*100}%`,background:n?n(c.name):"var(--accent)"}})}),(0,G.jsxs)("span",{className:"bar-value",children:[a?a(c.totals):M(c.totals.requests),(0,G.jsxs)("span",{className:"muted",children:[" \\xB7 ",Zi(c.totals.requests,t)]})]})]},c.name)),l.length>0&&(0,G.jsxs)("div",{className:"bar-row muted",children:[(0,G.jsx)("span",{className:"bar-name",children:Fe(l.length,"more")}),(0,G.jsx)("span",{className:"bar-track"}),(0,G.jsx)("span",{className:"bar-value",children:M(l.reduce((c,d)=>c+d.totals.requests,0))})]})]}):(0,G.jsx)("div",{className:"empty",children:i})},yS=({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,G.jsxs)(G.Fragment,{children:[(0,G.jsxs)("div",{className:"page-title",children:[(0,G.jsx)("h2",{children:"Overview"}),(0,G.jsxs)("p",{children:["The last ",r,", and whether the backends answer right now."]})]}),c.length>0&&(0,G.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,G.jsx)("button",{type:"button",className:"link",onClick:()=>o("models"),children:"Check the provider"}),"."]}),(0,G.jsxs)("section",{className:"tiles",children:[(0,G.jsxs)("div",{className:"tile",children:[(0,G.jsx)("div",{className:"label",children:"Requests"}),(0,G.jsx)("div",{className:"value",children:M(s.requests)}),(0,G.jsxs)("div",{className:"sub",children:[s.requests?`${M(Math.round(s.requests/d))} a day on average`:"none in this period",s.indexing.runs?` \\xB7 ${Fe(s.indexing.runs,"indexing run")}`:""]})]}),(0,G.jsxs)("div",{className:`tile ${m!==null&&m<90?"bad":""}`,children:[(0,G.jsx)("div",{className:"label",children:"Succeeded"}),(0,G.jsx)("div",{className:"value",children:m===null?"\\u2013":`${m}%`}),(0,G.jsxs)("div",{className:"sub",children:[s.failed?(0,G.jsxs)("span",{className:"revoked",children:[M(s.failed)," failed"]}):"none failed",s.cancelled?` \\xB7 ${M(s.cancelled)} cancelled`:""]})]}),(0,G.jsxs)("div",{className:"tile",children:[(0,G.jsx)("div",{className:"label",children:"Developers active"}),(0,G.jsxs)("div",{className:"value",children:[M(u),(0,G.jsxs)("small",{children:["of ",M(l.length)]})]}),(0,G.jsx)("div",{className:"sub",children:(0,G.jsx)("button",{type:"button",className:"link",onClick:()=>o("people"),children:l.length===u?"everyone with a key":`${M(l.length-u)} idle`})})]}),(0,G.jsxs)("div",{className:"tile",children:[(0,G.jsx)("div",{className:"label",children:"Tokens"}),(0,G.jsx)("div",{className:"value",children:s.counted?(0,G.jsxs)(G.Fragment,{children:[Nt(s.promptTokens),(0,G.jsxs)("small",{children:["\\u2192 ",Nt(s.completionTokens)]})]}):"\\u2013"}),(0,G.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,G.jsxs)("div",{className:"tile",children:[(0,G.jsx)("div",{className:"label",children:"Cost"}),(0,G.jsx)("div",{className:"value",children:Wf(s.cost??0,t.currency)}),(0,G.jsx)("div",{className:"sub",children:"at the prices set per alias"})]}),(0,G.jsxs)("div",{className:"tile",children:[(0,G.jsx)("div",{className:"label",children:"Avg latency"}),(0,G.jsx)("div",{className:"value",children:s.requests?Dt(s.ms/s.requests):"\\u2013"}),(0,G.jsx)("div",{className:"sub",children:e.backends.length===1?`${e.backends[0].provider} answers in ${Dt(e.backends[0].ms)}`:e.backends.length?`backends answer in ${Dt(Math.min(...e.backends.map(f=>f.ms)))} to ${Dt(Math.max(...e.backends.map(f=>f.ms)))}`:"no backends configured"})]})]}),(0,G.jsxs)("section",{className:"panel",children:[(0,G.jsx)("h2",{children:"Requests per day"}),(0,G.jsx)(kO,{summary:t,series:i})]}),(0,G.jsxs)("div",{className:"grid-2",children:[(0,G.jsxs)("section",{className:"panel",children:[(0,G.jsxs)("div",{className:"section-heading",children:[(0,G.jsx)("h2",{children:"Developers"}),(0,G.jsxs)("span",{className:"links",children:[l.every(f=>f.admin)&&(0,G.jsx)("button",{type:"button",className:"link",onClick:()=>o("people"),children:"invite people"}),(0,G.jsx)("button",{type:"button",className:"link",onClick:()=>o("usage"),children:"full usage"})]})]}),(0,G.jsx)(gS,{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,G.jsxs)("section",{className:"panel",children:[(0,G.jsxs)("div",{className:"section-heading",children:[(0,G.jsx)("h2",{children:"Models"}),(0,G.jsx)("button",{type:"button",className:"link",onClick:()=>o("models"),children:"providers & models"})]}),(0,G.jsx)(gS,{rows:Object.entries(t.byModel).map(([f,b])=>({name:f,totals:b,note:p.has(f)?(0,G.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,G.jsxs)("section",{className:"panel",children:[(0,G.jsxs)("div",{className:"section-heading",children:[(0,G.jsx)("h2",{children:"Backends"}),(0,G.jsx)("span",{className:"muted",children:"Checked live when this page loads"})]}),e.backends.length?(0,G.jsx)("div",{className:"backends",children:e.backends.map(f=>{let b=e.models.filter(v=>v.provider===f.provider);return(0,G.jsxs)("div",{className:`backend ${f.ok?"":"down"}`,children:[(0,G.jsxs)("div",{className:"backend-head",children:[(0,G.jsx)("span",{className:"entity-name",children:f.provider}),(0,G.jsx)("span",{className:`pill-s ${f.ok?"ok":"bad"}`,children:f.ok?`answering \\xB7 ${Dt(f.ms)}`:`down \\xB7 ${f.kind??"unreachable"}`}),f.peers!==void 0&&(0,G.jsxs)("span",{className:"muted",children:[Fe(f.peers,"teammate\'s computer","teammates\' computers")," ","connected"]})]}),(0,G.jsx)("div",{className:"backend-models",children:b.length?b.map(v=>(0,G.jsxs)("span",{className:"tag",title:v.ok?"serving":"not serving",children:[(0,G.jsx)("i",{className:`status-dot ${v.ok?"ok":"bad"}`}),v.id,t.byModel[v.id]?(0,G.jsxs)("span",{className:"muted",children:["\\xA0\\xB7 ",Fe(t.byModel[v.id].requests,"request")]}):null]},v.id)):(0,G.jsx)("span",{className:"muted",children:"no models use this provider"})})]},f.provider)})}):(0,G.jsxs)("div",{className:"empty",children:["No providers configured."," ",(0,G.jsx)("button",{type:"button",className:"link",onClick:()=>o("models"),children:"Add one"}),"."]})]})]})};var ke=ne(Ye());var R=ne(Ce()),Kf=()=>{let{origin:e,pathname:t}=window.location;return`${e}${t.replace(/\\/admin(\\/.*)?$/,"")}`.replace(/\\/+$/,"")},Gf="twinny-server.invite-address",wO=()=>{try{return localStorage.getItem(Gf)??""}catch{return""}},xO=e=>{try{e&&e!==Kf()?localStorage.setItem(Gf,e):localStorage.removeItem(Gf)}catch{}},NO=({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)(),[g,w]=(0,ke.useState)(null),[E,S]=(0,ke.useState)(null),[x,C]=(0,ke.useState)(()=>Date.now()),[I,$]=(0,ke.useState)(()=>wO()||Kf()),T=(0,ke.useCallback)(async()=>{try{let{invites:K}=await re("/twinny/v1/admin/invites",e);a(K),C(Date.now())}catch{}},[e]);(0,ke.useEffect)(()=>{T()},[T]);let te=!!o.trim()&&n.includes(o.trim()),H=t===0&&!(te&&c),D=async K=>{if(K.preventDefault(),!(f||!o.trim())){b(!0),h(void 0);try{let O=await re("/twinny/v1/admin/invites",e,{method:"POST",body:{name:o.trim(),admin:l,...te&&c?{replace:!0}:{}}});xO(I.trim()),m(O),s(""),u(!1),d(!1),w(null),S(null),await T()}catch(O){h(O instanceof Error?O.message:String(O))}finally{b(!1)}}},Y=async K=>{b(!0),h(void 0);try{await re(`/twinny/v1/admin/invites/${K.id}`,e,{method:"DELETE"}),p?.invite.id===K.id&&m(null),await T()}catch(O){h(O instanceof Error?O.message:String(O))}finally{b(!1)}},L=p?ho(I.trim()||Kf(),p.code):"",j=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): ${L}`,"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`):"",ce=async K=>{try{await navigator.clipboard.writeText(K==="link"?L:j),w(K),S(null),setTimeout(()=>w(null),2e3)}catch{S(K)}};return(0,R.jsxs)(R.Fragment,{children:[v&&(0,R.jsx)("div",{className:"error",children:v}),(0,R.jsxs)("form",{className:"newkey create",onSubmit:K=>void D(K),children:[(0,R.jsx)("input",{value:o,onChange:K=>s(K.target.value),placeholder:"developer name or username","aria-label":"Key name for the invite",disabled:f,autoFocus:!0}),(0,R.jsx)("input",{type:"url",value:I,onChange:K=>$(K.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,R.jsxs)("label",{className:"signin-admin",children:[(0,R.jsx)("input",{type:"checkbox",checked:l,onChange:K=>u(K.target.checked),disabled:f})," admin"]}),te&&(0,R.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,R.jsx)("input",{type:"checkbox",checked:c,onChange:K=>d(K.target.checked),disabled:f})," replace existing key"]}),(0,R.jsx)("button",{type:"submit",className:"primary",disabled:f||!o.trim()||!I.trim()||te&&!c||H,title:o.trim()?te&&!c?`${o.trim()} already has an active key: tick "replace existing key", or use another name`:H?"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"}),H&&r&&(0,R.jsx)("button",{type:"button",className:"link",onClick:r,children:"every seat is taken: add seats"})]}),p&&(0,R.jsxs)("div",{className:"created",children:[(0,R.jsxs)("div",{children:["Invite for ",(0,R.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,R.jsx)("code",{className:"secret",children:L}),E&&(0,R.jsxs)("div",{children:[(0,R.jsx)("p",{className:"hint",role:"status",children:"Clipboard access is unavailable. Select the text below and copy it."}),(0,R.jsx)("textarea",{"aria-label":"Invite text to copy",readOnly:!0,autoFocus:!0,rows:E==="message"?8:3,style:{width:"100%",boxSizing:"border-box"},value:E==="message"?j:L,onFocus:K=>K.currentTarget.select()})]}),(0,R.jsxs)("div",{className:"row",children:[(0,R.jsx)("button",{type:"button",onClick:()=>void ce("link"),children:g==="link"?"copied":"copy link"}),(0,R.jsx)("button",{type:"button",onClick:()=>void ce("message"),children:g==="message"?"copied":"copy a message to send"}),(0,R.jsx)("button",{type:"button",className:"ghost",onClick:()=>m(null),children:"done"})]})]}),i.length>0&&(0,R.jsx)("div",{className:"scroll",children:(0,R.jsxs)("table",{className:"rows",children:[(0,R.jsx)("thead",{children:(0,R.jsxs)("tr",{children:[(0,R.jsx)("th",{children:"Key name"}),(0,R.jsx)("th",{children:"Made by"}),(0,R.jsx)("th",{children:"Sent"}),(0,R.jsx)("th",{children:"Expires"}),(0,R.jsx)("th",{})]})}),(0,R.jsx)("tbody",{children:i.map(K=>(0,R.jsxs)("tr",{className:"static",children:[(0,R.jsxs)("td",{children:[(0,R.jsx)("b",{children:K.name}),K.admin?(0,R.jsx)("span",{className:"pill-s",children:" admin"}):null,K.replace?(0,R.jsx)("span",{className:"pill-s",children:" replace"}):null]}),(0,R.jsx)("td",{className:"muted",children:K.createdBy}),(0,R.jsx)("td",{className:"muted",title:Sr(K.createdAt),children:Oe(K.createdAt,x)}),(0,R.jsx)("td",{className:"muted",children:go(K.expiresAt,x)}),(0,R.jsx)("td",{className:"actions",children:(0,R.jsx)("button",{type:"button",className:"ghost",disabled:f,onClick:()=>void Y(K),children:"withdraw"})})]},K.id))})]})}),(0,R.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."})]})},SO=({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,g]=(0,ke.useState)(),[w,E]=(0,ke.useState)(()=>Date.now()),S=(0,ke.useCallback)(async()=>{try{let{requests:C}=await re("/twinny/v1/admin/signin",e);o(C),n?.(C.length),E(Date.now())}catch{}},[e,n]);(0,ke.useEffect)(()=>{S();let C=setInterval(()=>void S(),4e3);return()=>clearInterval(C)},[S]);let x=async(C,I)=>{f(C),v(void 0),g(void 0);try{let $=(s[C]??a.find(D=>D.userCode===C)?.name??"").trim(),T=i.includes($)&&d[C]===!0,te=I==="approve"?{name:$,admin:u[C]===!0,...T?{replace:!0}:{}}:void 0,H=await re(`/twinny/v1/admin/signin/${C}/${I}`,e,{method:"POST",body:te});g(I!=="approve"?`Denied ${C}.`:H.replaced?`New key made for ${H.name}; their old key is revoked. Their VS Code picks it up within a few seconds.`:`Key made for ${H.name}. Their VS Code picks it up within a few seconds.`),await S(),I==="approve"&&t()}catch($){v($ instanceof Error?$.message:String($))}finally{f(null)}};return(0,R.jsxs)(R.Fragment,{children:[h&&(0,R.jsx)("div",{className:"success-bar",children:h}),b&&(0,R.jsx)("div",{className:"error",children:b}),a.length?(0,R.jsx)("div",{className:"scroll",children:(0,R.jsxs)("table",{className:"rows",children:[(0,R.jsx)("thead",{children:(0,R.jsxs)("tr",{children:[(0,R.jsx)("th",{children:"Code"}),(0,R.jsx)("th",{children:"Key name"}),(0,R.jsx)("th",{children:"Machine"}),(0,R.jsx)("th",{children:"Requested"}),(0,R.jsx)("th",{children:"Expires"}),(0,R.jsx)("th",{})]})}),(0,R.jsx)("tbody",{children:a.map(C=>{let I=(s[C.userCode]??C.name??"").trim(),$=Date.parse(C.expiresAt)<=w,T=!!I&&i.includes(I),te=T&&d[C.userCode]===!0;return(0,R.jsxs)("tr",{className:"static",children:[(0,R.jsx)("td",{children:(0,R.jsx)("code",{className:"signin-code",children:C.userCode})}),(0,R.jsxs)("td",{children:[(0,R.jsx)("input",{value:s[C.userCode]??C.name??"",onChange:H=>l({...s,[C.userCode]:H.target.value}),placeholder:"developer name","aria-label":`Key name for ${C.userCode}`,disabled:m===C.userCode}),(0,R.jsxs)("label",{className:"signin-admin",children:[(0,R.jsx)("input",{type:"checkbox",checked:u[C.userCode]===!0,onChange:H=>c({...u,[C.userCode]:H.target.checked}),disabled:m===C.userCode})," admin"]}),T&&(0,R.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,R.jsx)("input",{type:"checkbox",checked:te,onChange:H=>p({...d,[C.userCode]:H.target.checked}),disabled:m===C.userCode})," ","replace existing key"]})]}),(0,R.jsx)("td",{className:"muted",children:C.machine??"\\u2013"}),(0,R.jsx)("td",{className:"muted",title:Sr(C.createdAt),children:Oe(C.createdAt,w)}),(0,R.jsx)("td",{className:$?"revoked":"muted",children:go(C.expiresAt,w)}),(0,R.jsxs)("td",{className:"actions",children:[(0,R.jsx)("button",{type:"button",className:"primary",disabled:m===C.userCode||!I||$||T&&!te||r===0&&!te,title:I?T&&!te?`${I} already has an active key: tick "replace existing key", or use another name`:te?`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 x(C.userCode,"approve"),children:"approve"}),(0,R.jsx)("button",{type:"button",className:"ghost",disabled:m===C.userCode,onClick:()=>void x(C.userCode,"deny"),children:"deny"})]})]},C.userCode)})})]})}):(0,R.jsxs)("div",{className:"empty",children:["No one is waiting. A developer asks for a key from ",(0,R.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,R.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."})]})},EO=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}},CO=({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,g]=(0,ke.useState)(!1),[w,E]=(0,ke.useState)(!1),[S,x]=(0,ke.useState)(!1),[C,I]=(0,ke.useState)(null),[$,T]=(0,ke.useState)(),[te,H]=(0,ke.useState)(),[D,Y]=(0,ke.useState)(!1),[L,j]=(0,ke.useState)(null),{totals:ce,lastDay:K}=(0,ke.useMemo)(()=>EO(i),[i]),O=n?n.used>=n.seats:!1,y=(0,ke.useMemo)(()=>{let q=e.filter(ae=>!ae.revokedAt);return{all:e.length,active:q.length,admins:q.filter(ae=>ae.admin).length,unseated:q.filter(ae=>l.has(ae.name)).length,revoked:e.length-q.length}},[e,l]),_=(0,ke.useMemo)(()=>{let q=d.trim().toLowerCase(),ae=he=>{if(q&&!he.name.toLowerCase().includes(q)&&!he.id.includes(q))return!1;switch(u){case"active":return!he.revokedAt;case"admins":return!he.revokedAt&&he.admin===!0;case"unseated":return!he.revokedAt&&l.has(he.name);case"revoked":return!!he.revokedAt;default:return!0}};return e.filter(ae).sort((he,ft)=>!he.revokedAt!=!ft.revokedAt?he.revokedAt?1:-1:he.revokedAt&&ft.revokedAt?ft.revokedAt.localeCompare(he.revokedAt):he.name.localeCompare(ft.name))},[e,u,d,l]),U=async q=>{if(q.preventDefault(),!(!b.trim()||S)){x(!0),T(void 0),H(void 0);try{I(await o(b.trim(),h,h&&w)),v(""),g(!1),E(!1),Y(!1),f(!1),u==="revoked"&&c("active")}catch(ae){T(ae instanceof Error?ae.message:String(ae))}finally{x(!1)}}},N=async()=>{if(C)try{await navigator.clipboard.writeText(C.key),Y(!0)}catch{}},F=async q=>{x(!0),T(void 0),H(void 0);try{await s(q.id),H(`Revoked ${q.name}. Their editor is refused from the next request on.${u==="all"||u==="revoked"?"":" It is listed under Revoked."}`)}catch(ae){T(ae instanceof Error?ae.message:String(ae))}finally{x(!1),j(null)}},z=(q,ae,he)=>(0,R.jsxs)("button",{type:"button",className:u===q?"on":"ghost",onClick:()=>c(q),disabled:q!=="all"&&q!=="active"&&he===0&&u!==q,children:[ae,(0,R.jsx)("span",{className:"chip-count",children:M(he)})]},q);return(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)("div",{className:"toolbar",children:[(0,R.jsxs)("span",{className:"chips",role:"group","aria-label":"Show",children:[z("active","Active",y.active),z("admins","Admins",y.admins),y.unseated>0&&z("unseated","No seat",y.unseated),z("revoked","Revoked",y.revoked),z("all","All",y.all)]}),(0,R.jsx)("input",{className:"search",type:"search",placeholder:"find by name or id",value:d,onChange:q=>p(q.target.value),"aria-label":"Find a key"}),!m&&(0,R.jsx)("button",{type:"button",className:"primary",disabled:S||O,title:O?"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,R.jsxs)("form",{className:"newkey create",onSubmit:U,children:[(0,R.jsx)("input",{placeholder:"developer name, e.g. alice",value:b,onChange:q=>v(q.target.value),"aria-label":"Key name",disabled:S,autoFocus:!0}),(0,R.jsxs)("label",{children:[(0,R.jsx)("input",{type:"checkbox",checked:h,onChange:q=>g(q.target.checked),disabled:S})," admin: may open this page"]}),h&&(0,R.jsxs)("label",{title:"Sees everything on the admin page, changes nothing",children:[(0,R.jsx)("input",{type:"checkbox",checked:w,onChange:q=>E(q.target.checked)}),"read-only"]}),(0,R.jsx)("button",{type:"submit",className:"primary",disabled:S||!b.trim()||O,children:S?"\\u2026":"create key"}),(0,R.jsx)("button",{type:"button",className:"ghost",disabled:S,onClick:()=>{f(!1),v(""),g(!1)},children:"cancel"}),(0,R.jsx)("span",{className:"muted",children:"Letters, digits, . _ @ and -; up to 64 characters. The secret is shown once."})]}),C&&(0,R.jsxs)("div",{className:"created",children:[(0,R.jsxs)("div",{children:["Key for ",(0,R.jsx)("b",{children:C.record.name}),C.record.admin?" (admin)":"",". Shown once; only its hash is kept. Send it over a channel you trust."]}),(0,R.jsx)("code",{className:"secret",children:C.key}),(0,R.jsxs)("div",{className:"row",children:[(0,R.jsx)("button",{type:"button",onClick:N,children:D?"copied":"copy"}),(0,R.jsx)("button",{type:"button",className:"ghost",onClick:()=>I(null),children:"done"})]})]}),$&&(0,R.jsx)("div",{className:"error",children:$}),te&&(0,R.jsx)("div",{className:"success-bar",children:te}),_.length?(0,R.jsx)("div",{className:"scroll",children:(0,R.jsxs)("table",{className:"rows",children:[(0,R.jsx)("thead",{children:(0,R.jsxs)("tr",{children:[(0,R.jsx)("th",{children:"Key"}),(0,R.jsx)("th",{children:"Status"}),(0,R.jsx)("th",{children:"Created"}),(0,R.jsx)("th",{children:"Last active"}),(0,R.jsx)("th",{className:"num",children:"Requests"}),(0,R.jsx)("th",{className:"num",children:"Tokens"}),(0,R.jsx)("th",{})]})}),(0,R.jsxs)("tbody",{children:[_.map(q=>{let ae=ce[q.name],he=!q.revokedAt;return(0,R.jsxs)("tr",{className:`static ${he?"":"dim"}`,children:[(0,R.jsxs)("td",{children:[(0,R.jsx)("span",{className:"entity-name",children:q.name}),q.admin&&(0,R.jsx)("span",{className:"tag admin",children:"admin"}),q.readOnly&&(0,R.jsx)("span",{className:"tag admin",children:"read-only"}),q.name===r&&(0,R.jsx)("span",{className:"tag you",children:"you"}),(0,R.jsx)("div",{className:"key-id muted mono",title:"The key\'s id, for twinny-server keys revoke",children:q.id})]}),(0,R.jsx)("td",{children:q.revokedAt?(0,R.jsxs)("span",{className:"pill-s bad",title:`Revoked ${Sr(q.revokedAt)}`,children:["revoked ",Oe(q.revokedAt)]}):l.has(q.name)?(0,R.jsx)("span",{className:"pill-s bad",title:"Refused until seats are added or other keys revoked",children:"no seat"}):(0,R.jsx)("span",{className:"pill-s ok",children:"active"})}),(0,R.jsx)("td",{className:"muted",title:Sr(q.createdAt),children:Oe(q.createdAt)}),(0,R.jsx)("td",{className:"muted",title:K[q.name]?void 0:`Nothing in the last ${a}`,children:K[q.name]??"\\u2013"}),(0,R.jsx)("td",{className:"num",children:ae?(0,R.jsxs)("span",{title:`${M(ae.ok)} ok, ${M(ae.failed)} failed, ${M(ae.cancelled)} cancelled`,children:[M(ae.requests),ae.failed>0&&(0,R.jsxs)("span",{className:"revoked",children:[" \\xB7 ",M(ae.failed)," failed"]})]}):(0,R.jsx)("span",{className:"muted",children:"0"})}),(0,R.jsx)("td",{className:"num",children:ae&&ae.counted?(0,R.jsxs)("span",{title:`${M(ae.promptTokens)} prompt, ${M(ae.completionTokens)} output`,children:[Nt(ae.promptTokens),(0,R.jsx)("span",{className:"muted",children:" \\u2192 "}),Nt(ae.completionTokens)]}):(0,R.jsx)("span",{className:"muted",children:"\\u2013"})}),(0,R.jsx)("td",{className:"actions",children:he&&q.name!==r&&(L===q.id?(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)("button",{type:"button",className:"danger",disabled:S,onClick:()=>void F(q),title:`Revoke ${q.name}`,children:"confirm"}),(0,R.jsx)("button",{type:"button",className:"ghost",onClick:()=>j(null),children:"keep"})]}):(0,R.jsx)("button",{type:"button",className:"ghost",disabled:S,onClick:()=>j(q.id),children:"revoke"}))})]},q.id)}),t&&(u==="active"||u==="all")&&!d.trim()&&(0,R.jsxs)("tr",{className:"static",children:[(0,R.jsxs)("td",{children:[(0,R.jsx)("span",{className:"entity-name",children:"shared"}),(0,R.jsx)("div",{className:"key-id muted",children:"the shared token"})]}),(0,R.jsx)("td",{children:(0,R.jsx)("span",{className:"pill-s ok",title:"Retire it by setting auth.tokenEnv to null",children:"active"})}),(0,R.jsx)("td",{className:"muted",children:"\\u2013"}),(0,R.jsx)("td",{className:"muted",children:K.shared??"\\u2013"}),(0,R.jsx)("td",{className:"num",children:ce.shared?M(ce.shared.requests):(0,R.jsx)("span",{className:"muted",children:"0"})}),(0,R.jsx)("td",{className:"num muted",children:"\\u2013"}),(0,R.jsx)("td",{className:"actions"})]})]})]})}):(0,R.jsx)("div",{className:"empty",children:d.trim()?(0,R.jsxs)(R.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."})]})},AO=({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 re("/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 re(`/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,R.jsx)("div",{className:"error",children:o}):(0,R.jsx)("div",{className:"loading",children:"Loading\\u2026"});let p=t?.byPeer??{};return(0,R.jsxs)(R.Fragment,{children:[o&&(0,R.jsx)("div",{className:"error",children:o}),n.configured?n.peers.length?(0,R.jsx)("div",{className:"scroll",children:(0,R.jsxs)("table",{className:"rows",children:[(0,R.jsx)("thead",{children:(0,R.jsxs)("tr",{children:[(0,R.jsx)("th",{children:"Computer"}),(0,R.jsx)("th",{children:"Server"}),(0,R.jsx)("th",{children:"Models"}),(0,R.jsx)("th",{className:"num",children:"Running"}),(0,R.jsx)("th",{className:"num",children:"Served"}),(0,R.jsx)("th",{children:"Since"}),(0,R.jsx)("th",{})]})}),(0,R.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,R.jsxs)("tr",{className:"static",children:[(0,R.jsxs)("td",{children:[(0,R.jsx)("span",{className:"entity-name",children:m.key}),(0,R.jsxs)("span",{className:"muted",children:["@",m.machine]})]}),(0,R.jsxs)("td",{className:"muted",children:[m.backend,b&&(0,R.jsx)("span",{className:"revoked",children:" \\xB7 not answering"})]}),(0,R.jsx)("td",{title:m.models.join(", "),children:f.length?f.join(", "):(0,R.jsxs)("span",{className:"muted",children:["none the pool wants (",m.models.length," local)"]})}),(0,R.jsxs)("td",{className:"num",children:[M(m.inflight),(0,R.jsxs)("span",{className:"muted",children:[" / ",M(m.slots)]})]}),(0,R.jsxs)("td",{className:"num",title:v?`${M(v.requests)} in the selected period`:void 0,children:[M(m.served),m.failed>0&&(0,R.jsxs)("span",{className:"revoked",children:[" \\xB7 ",M(m.failed)," failed"]})]}),(0,R.jsx)("td",{className:"muted",title:Sr(m.connectedAt),children:Oe(m.connectedAt,l)}),(0,R.jsx)("td",{className:"actions",children:(0,R.jsx)("button",{type:"button",className:"ghost",disabled:i===m.id,onClick:()=>void d(m),children:"disconnect"})})]},m.id)})})]})}):(0,R.jsxs)("div",{className:"empty",children:["Nobody is sharing right now. The pool wants ",n.wanted.length?n.wanted.map(m=>(0,R.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,R.jsxs)("div",{className:"empty",children:["No team pool yet. Add a ",(0,R.jsx)("b",{children:"Team members\' computers"})," provider under Providers & models and point aliases at it; developers then see ",(0,R.jsx)("b",{children:"Share this computer with the team"})," in Twinny."]}),(0,R.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."})]})},vS=({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,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)("div",{className:"page-title",children:[(0,R.jsx)("h2",{children:"People"}),(0,R.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,R.jsxs)("section",{className:"tiles",children:[(0,R.jsxs)("div",{className:`tile ${p&&p.used>=p.seats?"bad":""}`,children:[(0,R.jsx)("div",{className:"label",children:"Active keys"}),(0,R.jsxs)("div",{className:"value",children:[M(p?p.used:d.length),p&&(0,R.jsxs)("small",{children:["of ",M(p.seats)," seats"]})]})]}),(0,R.jsxs)("div",{className:"tile",children:[(0,R.jsxs)("div",{className:"label",children:["Active in ",r]}),(0,R.jsxs)("div",{className:"value",children:[M(f),(0,R.jsxs)("small",{children:["of ",M(d.length)]})]})]}),(0,R.jsxs)("div",{className:"tile",children:[(0,R.jsx)("div",{className:"label",children:"Admins"}),(0,R.jsx)("div",{className:"value",children:M(d.filter(b=>b.admin).length)})]}),(0,R.jsxs)("div",{className:`tile ${a?"attention":""}`,children:[(0,R.jsx)("div",{className:"label",children:"Waiting to sign in"}),(0,R.jsx)("div",{className:"value",children:M(a)})]}),(0,R.jsxs)("div",{className:"tile",children:[(0,R.jsx)("div",{className:"label",children:"Revoked"}),(0,R.jsx)("div",{className:"value",children:M(t.keys.length-d.length)})]})]}),p&&p.unseated.length>0&&(0,R.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,R.jsx)("button",{type:"button",className:"link",onClick:()=>c("plan"),children:"Add seats"})]}),p&&p.unseated.length===0&&p.used>=p.seats&&(0,R.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,R.jsx)("button",{type:"button",className:"link",onClick:()=>c("plan"),children:"Add seats"})]}),(0,R.jsxs)("section",{className:"panel",children:[(0,R.jsxs)("h2",{children:["Invite",(0,R.jsxs)("span",{className:"count",children:[Fe(d.length,"person","people")," on the team"]})]}),(0,R.jsx)(NO,{apiKey:e,seatsLeft:m,activeNames:d.map(b=>b.name),onSeatsFull:()=>c("plan")})]}),(0,R.jsxs)("section",{className:"panel",children:[(0,R.jsxs)("h2",{children:["Sign-in requests",a>0&&(0,R.jsxs)("span",{className:"count",children:[M(a)," waiting"]})]}),(0,R.jsx)(SO,{apiKey:e,onChanged:s,onCount:o,seatsLeft:m,activeNames:d.map(b=>b.name)})]}),(0,R.jsxs)("section",{className:"panel",children:[(0,R.jsxs)("h2",{children:["Keys",(0,R.jsx)("span",{className:"count",children:Fe(t.keys.length,"key")})]}),(0,R.jsx)(CO,{...t,me:i,usage:n,period:r,onCreate:l,onRevoke:u})]}),(0,R.jsxs)("section",{className:"panel",children:[(0,R.jsx)("h2",{children:"Sharing their computer"}),(0,R.jsx)(AO,{apiKey:e,usage:n})]})]})};var va=ne(Ye());var me=ne(Ce()),bS="https://docs.twinny.dev/teams/licensing/",TO="https://buy.stripe.com/eVq00igUndD80qW6AR7Zu00",RO={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)"},IO=e=>Math.ceil((Date.parse(e)-Date.now())/864e5),kS=({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)),g=IO(e.expiresAt??""),w=async(E,S)=>{s(!0),u(void 0),d(void 0);try{await E(),a(""),m(!1),d(S)}catch(x){u(x instanceof Error?x.message:String(x))}finally{s(!1)}};return(0,me.jsxs)(me.Fragment,{children:[(0,me.jsxs)("div",{className:"page-title",children:[(0,me.jsx)("h2",{children:"Plan & licence"}),(0,me.jsx)("p",{children:"Seats are active keys. A licence raises the limit and switches on team features."})]}),c&&(0,me.jsx)("div",{className:"success-bar",children:c}),l&&(0,me.jsx)("div",{className:"error-bar",children:l}),(0,me.jsx)("div",{children:(0,me.jsxs)("section",{className:`panel plan ${f||b?"attention":""}`,children:[(0,me.jsxs)("div",{className:"section-heading",children:[(0,me.jsx)("h2",{children:"Plan"}),(0,me.jsx)("span",{className:`pill-s ${f||b?"bad":"ok"}`,children:RO[e.status]})]}),(0,me.jsxs)("div",{className:"plan-headline",children:[e.org?e.org:"Free plan",e.expiresAt&&(0,me.jsxs)("span",{className:`muted ${g<30?"revoked":""}`,children:[" ","\\xB7 ",g<0?`expired ${Fe(-g,"day")} ago`:g===0?"expires today":`${Fe(g,"day")} left`]})]}),(0,me.jsx)("p",{className:f?"plan-note attention":"plan-note",children:e.message}),(0,me.jsxs)("div",{className:"meter-row",children:[(0,me.jsxs)("span",{className:"meter-label",children:[(0,me.jsx)("b",{children:M(e.used)})," of ",(0,me.jsx)("b",{children:M(e.seats)})," seats used"]}),(0,me.jsx)("span",{className:`meter ${b?"bad":h>=90?"warn":""}`,children:(0,me.jsx)("span",{className:"meter-fill",style:{width:`${h}%`}})}),(0,me.jsx)("button",{type:"button",className:"link",onClick:()=>r("people"),children:"people"})]}),e.unseated.length>0&&(0,me.jsxs)("p",{className:"plan-note attention",children:["No seat, refused until seats are added or keys revoked: ",e.unseated.join(", "),"."]}),(0,me.jsxs)("dl",{className:"facts",children:[e.licenseId&&(0,me.jsxs)(me.Fragment,{children:[(0,me.jsx)("dt",{children:"Licence"}),(0,me.jsx)("dd",{className:"mono",children:e.licenseId})]}),e.expiresAt&&(0,me.jsxs)(me.Fragment,{children:[(0,me.jsx)("dt",{children:"Valid until"}),(0,me.jsx)("dd",{children:e.expiresAt.slice(0,10)})]}),e.email&&(0,me.jsxs)(me.Fragment,{children:[(0,me.jsx)("dt",{children:"Contact"}),(0,me.jsx)("dd",{children:e.email})]}),!v&&(0,me.jsxs)(me.Fragment,{children:[(0,me.jsx)("dt",{children:"Includes"}),(0,me.jsxs)("dd",{children:[Fe(e.seats,"seat"),", every model and provider, usage reporting, sign-in approval"]})]})]})]})}),(0,me.jsxs)("section",{className:"panel",children:[(0,me.jsxs)("div",{className:"section-heading",children:[(0,me.jsx)("h2",{children:v?"Replace the licence":"Install a licence"}),(0,me.jsx)("span",{className:"muted",children:"One token, signed by Twinny"})]}),(0,me.jsxs)("form",{className:"newkey",onSubmit:E=>{E.preventDefault(),i.trim()&&w(()=>t(i.trim()),"Licence installed. Seats and features apply at once.")},children:[(0,me.jsx)("input",{placeholder:"paste a licence token (twl1.\\u2026)",value:i,onChange:E=>a(E.target.value),"aria-label":"Licence token",disabled:o,spellCheck:!1}),(0,me.jsx)("button",{type:"submit",className:"primary",disabled:o||!i.trim(),children:o?"\\u2026":v?"replace licence":"install licence"}),v&&(p?(0,me.jsxs)(me.Fragment,{children:[(0,me.jsx)("button",{type:"button",className:"danger",disabled:o,onClick:()=>void w(n,"Licence removed. The gateway is on the free plan."),children:"remove licence"}),(0,me.jsx)("button",{type:"button",className:"ghost",onClick:()=>m(!1),children:"keep"})]}):(0,me.jsx)("button",{type:"button",className:"ghost",disabled:o,onClick:()=>m(!0),children:"remove"}))]}),(0,me.jsx)("div",{className:"hint",children:v?(0,me.jsxs)(me.Fragment,{children:["Replacing takes effect immediately; removing drops the gateway to the free plan and keys beyond its seats are refused. See"," ",(0,me.jsx)("a",{href:bS,target:"_blank",rel:"noreferrer",children:"Teams and licensing"}),e.email?(0,me.jsxs)(me.Fragment,{children:[" or contact ",e.email]}):null,"."]}):(0,me.jsxs)(me.Fragment,{children:["Need more seats or the team features?"," ",(0,me.jsx)("a",{href:TO,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,me.jsx)("a",{href:bS,target:"_blank",rel:"noreferrer",children:"Teams and licensing"})," ","for the plans."]})})]})]})};var we=ne(Ye());var P=ne(Ce()),Zf=["chat","fim","embeddings"],ba={chat:"Chat",fim:"Autocomplete",embeddings:"Embeddings"},LO=["ok","error","cancelled"],OO=["24h","7d","30d","90d"],_O=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},Jf=({route:e})=>(0,P.jsx)("span",{className:`tag route-${e}`,children:ba[e]}),hu=({record:e})=>e.outcome==="ok"?(0,P.jsx)("span",{className:"pill-s ok",children:e.ended==="client"?"ok \\xB7 stopped":"ok"}):e.outcome==="cancelled"?(0,P.jsx)("span",{className:"pill-s warn",children:"cancelled"}):(0,P.jsx)("span",{className:"pill-s bad",children:"error"}),NS=({usage:e})=>!e||e.promptTokens===void 0&&e.completionTokens===void 0?(0,P.jsx)("span",{className:"muted",children:"\\u2013"}):(0,P.jsxs)("span",{title:`${M(e.promptTokens??0)} prompt tokens, ${M(e.completionTokens??0)} output tokens`,children:[Nt(e.promptTokens??0),(0,P.jsx)("span",{className:"muted",children:" \\u2192 "}),Nt(e.completionTokens??0)]}),DO=({text:e,term:t})=>{if(!t)return(0,P.jsx)(P.Fragment,{children:e});let n=e.toLowerCase().indexOf(t.toLowerCase());return n<0?(0,P.jsx)(P.Fragment,{children:e}):(0,P.jsxs)(P.Fragment,{children:[e.slice(0,n),(0,P.jsx)("mark",{children:e.slice(n,n+t.length)}),e.slice(n+t.length)]})},Yf=({value:e,options:t,onChange:n,label:r})=>(0,P.jsx)("span",{className:"chips",role:"group","aria-label":r,children:t.map(i=>(0,P.jsxs)("button",{type:"button",className:i.value===e?"on":"ghost",onClick:()=>n(i.value),children:[i.label,i.count!==void 0&&(0,P.jsx)("span",{className:"chip-count",children:M(i.count)})]},i.value))}),FO=({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=Zf.filter(h=>t.settings[h]),v=async()=>{u(!0),d(void 0),m(void 0);try{let h=await re("/twinny/v1/admin/config",e);await re("/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,P.jsxs)("section",{className:"panel settings-strip",children:[(0,P.jsxs)("div",{className:"section-heading",children:[(0,P.jsx)("h2",{children:"What is kept"}),(0,P.jsxs)("span",{className:"editor-actions",children:[(0,P.jsx)("span",{className:`pill-s ${n?"ok":"warn"}`,children:n?"licensed":"needs a licence"}),!i&&(0,P.jsx)("button",{type:"button",className:"ghost mini",onClick:()=>a(!0),children:"change"})]})]}),i?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)("fieldset",{className:"policy-rule",children:[(0,P.jsx)("legend",{children:"Requests"}),Zf.map(h=>(0,P.jsxs)("label",{className:"policy-option",children:[(0,P.jsx)("input",{type:"checkbox",checked:o[h],disabled:l,onChange:g=>s({...o,[h]:g.target.checked})}),(0,P.jsxs)("span",{children:[(0,P.jsx)("b",{children:ba[h]}),(0,P.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,P.jsxs)("label",{className:"config-field",style:{maxWidth:260,marginTop:12},children:[(0,P.jsx)("span",{children:"Keep records for (days)"}),(0,P.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,P.jsxs)("div",{className:"editor-actions",style:{marginTop:12},children:[(0,P.jsx)("button",{className:"primary",disabled:!f||l,onClick:()=>void v(),children:l?"Saving\\u2026":"Save"}),(0,P.jsx)("button",{className:"ghost",disabled:l,onClick:()=>{s(t.settings),a(!1)},children:f?"Discard":"Cancel"})]})]}):(0,P.jsxs)("p",{className:"config-hint",style:{margin:0},children:[b.length?(0,P.jsxs)(P.Fragment,{children:["Recording ",(0,P.jsx)("b",{children:b.map(h=>ba[h]).join(", ")})," for ",(0,P.jsx)("b",{children:Fe(t.settings.retentionDays,"day")})]}):(0,P.jsxs)(P.Fragment,{children:["Recording is ",(0,P.jsx)("b",{children:"off"})," for every feature"]}),!n&&b.length>0&&(0,P.jsx)(P.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,P.jsx)("code",{children:t.store.kind})," at ",(0,P.jsx)("code",{children:t.store.location}),"."]}),c&&(0,P.jsx)("div",{className:"error",style:{marginTop:10},children:c}),p&&(0,P.jsx)("div",{className:"success-bar",style:{marginTop:10,marginBottom:0},children:p})]})},zO=e=>typeof e=="string"?e:JSON.stringify(e,null,2),$O=(e,t=110)=>{let n=e.trim().split(`\n`)[0]??"";return n.length>t?`${n.slice(0,t)}\\u2026`:n},Qf=({text:e,raw:t,language:n})=>t||n?(0,P.jsx)(gi,{code:e,language:n??"markdown",bare:!0,wrap:!0}):(0,P.jsx)(yi,{text:e}),MO=({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,P.jsxs)("div",{className:"turns",children:[i.map((o,s)=>{let l=zO(o.content),u=typeof o.content!="string";return o.role==="system"?(0,P.jsxs)("details",{className:"turn system",children:[(0,P.jsxs)("summary",{children:[(0,P.jsx)("span",{className:"role",children:"system"}),(0,P.jsx)("span",{className:"muted summary-text",children:$O(l)}),(0,P.jsxs)("span",{className:"muted summary-len",children:[Nt(l.length)," chars"]})]}),(0,P.jsx)("div",{className:"turn-body",children:(0,P.jsx)(Qf,{text:l,raw:t,language:u?"json":void 0})})]},s):(0,P.jsxs)("div",{className:`turn ${o.role??""}`,children:[(0,P.jsxs)("div",{className:"turn-head",children:[(0,P.jsx)("span",{className:"role",children:o.role??"?"}),(0,P.jsx)($n,{text:l})]}),(0,P.jsx)("div",{className:"turn-body",children:(0,P.jsx)(Qf,{text:l,raw:t,language:u?"json":void 0})})]},s)}),(0,P.jsxs)("div",{className:"turn assistant reply",children:[(0,P.jsxs)("div",{className:"turn-head",children:[(0,P.jsxs)("span",{className:"role",children:["assistant \\xB7 ",(0,P.jsx)(hu,{record:e})]}),a&&(0,P.jsx)($n,{text:a})]}),(0,P.jsx)("div",{className:"turn-body",children:a?(0,P.jsx)(Qf,{text:a,raw:t}):(0,P.jsx)("div",{className:"muted",children:e.outcome==="ok"?"The reply was empty.":"No reply was produced."})})]})]})},Xf=24,wS=(e,t)=>{let n=0;for(let r=0;r<t&&r<e.length;r++)e.charCodeAt(r)===10&&n++;return n},BO=({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)(()=>Rf(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=wS(u,a.startsWith(`\n`)?d.start+1:d.start),f=wS(u,Math.max(d.start,d.end-1)),b=s?0:Math.max(0,m-Xf),v=s?p.length-1:Math.min(p.length-1,f+Xf),h=b===0?0:p.slice(0,b).join(`\n`).length+1,g=p.slice(b,v+1).join(`\n`),w=b,E=p.length-1-v,S=a?f-m+1:0;return(0,P.jsxs)("div",{className:"turns",children:[(0,P.jsxs)("div",{className:"code listing fim",children:[(0,P.jsxs)("div",{className:"code-bar",children:[(0,P.jsxs)("span",{className:"code-lang",children:[c==="text"?"code":c,(0,P.jsx)("span",{className:"muted",children:" \\xB7 "}),a?(0,P.jsxs)(P.Fragment,{children:["completion of ",Nt(a.length)," chars on ",S===1?`line ${m+1}`:`lines ${m+1}\\u2013${f+1}`]}):(0,P.jsxs)("span",{className:"muted",children:[e.outcome==="ok"?"empty completion":"no completion"," at line ",m+1]}),(0,P.jsx)("span",{className:"muted",children:" \\xB7 "}),(0,P.jsx)(hu,{record:e}),e.ended==="client"&&(0,P.jsx)("span",{className:"muted",children:" \\xB7 the editor stopped reading here"})]}),(0,P.jsxs)("span",{className:"code-actions",children:[(w>0||E>0||s)&&(0,P.jsx)("button",{type:"button",className:"mini ghost",onClick:()=>l(!s),children:s?`${Xf} lines around the completion`:`show all ${M(p.length)} lines`}),a&&(0,P.jsx)($n,{text:a,label:"copy completion"}),(0,P.jsx)($n,{text:u,label:"copy file"})]})]}),w>0&&(0,P.jsxs)("div",{className:"fim-fold",children:[Fe(w,"line")," above"]}),(0,P.jsx)(VN,{code:g,language:c,insert:{start:d.start-h,end:d.end-h},startingLineNumber:b+1}),E>0&&(0,P.jsxs)("div",{className:"fim-fold below",children:[Fe(E,"line")," below"]})]}),o&&(0,P.jsxs)("details",{className:"advanced-fields",style:{margin:"4px 0 0"},children:[(0,P.jsxs)("summary",{children:["The prompt as sent to the model, template applied (",Nt(o.length)," chars)"]}),(0,P.jsx)("div",{style:{marginTop:8},children:(0,P.jsx)(gi,{code:o,language:"text",title:"templated prompt",wrap:!0})})]})]})},jO=({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,P.jsxs)("div",{className:"turns",children:[r.map((a,o)=>(0,P.jsx)(gi,{code:String(a??""),language:Rf(String(a??"")),title:`input ${o+1} of ${r.length}`,wrap:!0},o)),(0,P.jsxs)("div",{className:"muted",children:[Fe(i,"vector")," of ",M(Number(n.dimensions??0))," dimensions returned. Vectors are never kept."]})]})},UO=({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,P.jsxs)("section",{className:"panel record",ref:s,"aria-label":"Opened record",children:[(0,P.jsxs)("div",{className:"section-heading",children:[(0,P.jsxs)("h2",{className:"record-title",children:[(0,P.jsx)(Jf,{route:e.route}),(0,P.jsx)("b",{children:e.key}),(0,P.jsxs)("span",{className:"muted",title:e.at,children:[Zr(e.at)," UTC \\xB7 ",Oe(e.at)]})]}),(0,P.jsxs)("span",{className:"editor-actions",children:[(0,P.jsxs)("span",{className:"muted",children:[t+1," of ",M(n)]}),(0,P.jsx)("button",{type:"button",className:"ghost mini",disabled:t<=0,onClick:()=>r(-1),title:"Newer (\\u2191 / k)",children:"\\u2191 newer"}),(0,P.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,P.jsxs)("span",{className:"chips",role:"group","aria-label":"View as",children:[(0,P.jsx)("button",{type:"button",className:a?"ghost":"on",onClick:()=>o(!1),children:"rendered"}),(0,P.jsx)("button",{type:"button",className:a?"on":"ghost",onClick:()=>o(!0),children:"raw"})]}),(0,P.jsx)($n,{text:l,label:"copy JSON"}),(0,P.jsx)("button",{type:"button",className:"ghost mini",onClick:i,title:"Close (Esc)",children:"close"})]})]}),(0,P.jsxs)("div",{className:"meta",children:[(0,P.jsxs)("span",{children:[(0,P.jsx)("span",{className:"meta-k",children:"model"}),e.model??e.alias,e.model&&e.model!==e.alias&&(0,P.jsxs)("span",{className:"muted",children:[" as ",e.alias]})]}),e.provider&&(0,P.jsxs)("span",{children:[(0,P.jsx)("span",{className:"meta-k",children:"provider"}),e.provider]}),(0,P.jsxs)("span",{children:[(0,P.jsx)("span",{className:"meta-k",children:"outcome"}),(0,P.jsx)(hu,{record:e})]}),(0,P.jsxs)("span",{children:[(0,P.jsx)("span",{className:"meta-k",children:"took"}),Dt(e.ms)]}),(0,P.jsxs)("span",{children:[(0,P.jsx)("span",{className:"meta-k",children:"tokens"}),(0,P.jsx)(NS,{usage:e.usage})]}),(0,P.jsxs)("span",{children:[(0,P.jsx)("span",{className:"meta-k",children:"id"}),(0,P.jsx)("span",{className:"muted",children:e.id})]})]}),e.route==="chat"?(0,P.jsx)(MO,{record:e,raw:a}):e.route==="fim"?(0,P.jsx)(BO,{record:e}):(0,P.jsx)(jO,{record:e})]})},xS=({record:e,selected:t,now:n,term:r,onOpen:i,nested:a})=>(0,P.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,P.jsx)("td",{className:"muted",title:`${Zr(e.at)} UTC`,children:Oe(e.at,n)}),(0,P.jsx)("td",{children:e.key}),(0,P.jsx)("td",{children:(0,P.jsx)(Jf,{route:e.route})}),(0,P.jsx)("td",{className:"muted",children:e.model??e.alias}),(0,P.jsx)("td",{children:(0,P.jsx)(hu,{record:e})}),(0,P.jsx)("td",{className:"num",children:Dt(e.ms)}),(0,P.jsx)("td",{className:"num",children:(0,P.jsx)(NS,{usage:e.usage})}),(0,P.jsx)("td",{className:"preview",children:(0,P.jsx)(DO,{text:e.preview,term:r})})]}),SS=({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)([]),[g,w]=(0,we.useState)(null),[E,S]=(0,we.useState)(),[x,C]=(0,we.useState)(!1),[I,$]=(0,we.useState)(!1),[T,te]=(0,we.useState)(null),[H,D]=(0,we.useState)(()=>Date.now()),Y=t.includes("recording");(0,we.useEffect)(()=>{let ie=window.setTimeout(()=>m(c.trim()),300);return()=>window.clearTimeout(ie)},[c]);let L=(0,we.useCallback)(()=>{let ie=new URLSearchParams;return n&&ie.set("route",n),i&&ie.set("outcome",i),o&&ie.set("key",o),ie.set("since",l),p&&ie.set("q",p),ie.set("limit","200"),ie},[n,i,o,l,p]),j=(0,we.useRef)(0),ce=(0,we.useCallback)(async()=>{C(!0),S(void 0),j.current=0;try{b(await re(`/twinny/v1/admin/recordings?${L().toString()}`,e)),h([]),D(Date.now())}catch(ie){S(ie instanceof cn&&ie.status===503?"This gateway was started without recording support.":ye(ie))}finally{C(!1)}},[e,L]);(0,we.useEffect)(()=>{ce()},[ce]);let K=(0,we.useMemo)(()=>f?[...f.records,...v]:[],[f,v]),O=(0,we.useMemo)(()=>_O(K),[K]),[y,_]=(0,we.useState)(()=>new Set),U=ie=>_(Ee=>{let _e=new Set(Ee);return _e.has(ie)?_e.delete(ie):_e.add(ie),_e}),N=g?K.findIndex(ie=>ie.id===g.id):-1,F=async()=>{let ie=f?.nextBefore;if(!(!ie||I)){$(!0);try{let Ee=L();Ee.set("before",ie);let _e=await re(`/twinny/v1/admin/recordings?${Ee.toString()}`,e);h(Rt=>[...Rt,..._e.records]),b(Rt=>Rt&&{...Rt,nextBefore:_e.nextBefore})}catch(Ee){S(ye(Ee))}finally{$(!1)}}};(0,we.useEffect)(()=>{!f?.nextBefore||I||x||O.length>=15||j.current>=3||(j.current++,F())},[O,f,I,x]);let z=(0,we.useCallback)(async ie=>{try{w(await re(`/twinny/v1/admin/recordings/${ie}`,e))}catch(Ee){S(ye(Ee))}},[e]),q=(0,we.useCallback)(ie=>{if(N<0)return;let Ee=K[N+ie];Ee&&z(Ee.id)},[N,K,z]);(0,we.useEffect)(()=>{if(!g)return;let ie=Ee=>{let _e=Ee.target;_e&&/^(INPUT|TEXTAREA|SELECT)$/.test(_e.tagName)||(Ee.key==="ArrowDown"||Ee.key==="j"?(Ee.preventDefault(),q(1)):Ee.key==="ArrowUp"||Ee.key==="k"?(Ee.preventDefault(),q(-1)):Ee.key==="Escape"&&w(null))};return window.addEventListener("keydown",ie),()=>window.removeEventListener("keydown",ie)},[g,q]);let ae=async ie=>{te(ie);try{let Ee=L();Ee.set("format",ie);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 Rt=await _e.blob(),It=URL.createObjectURL(Rt),ki=document.createElement("a");ki.href=It,ki.download=`twinny-recordings-${n||"all"}-${ie}.jsonl`,ki.click(),setTimeout(()=>URL.revokeObjectURL(It),1e4)}catch(Ee){S(ye(Ee))}finally{te(null)}},he=!!(n||i||o||p),ft=()=>{r(""),a(""),s(""),d(""),m("")},tt=f?.summary.active??[],tn=(0,we.useMemo)(()=>{let ie={},Ee={};for(let _e of O){let Rt=_e.kind==="run"?"embeddings":_e.record.route,It=_e.kind==="run"?_e.failed?"error":"ok":_e.record.outcome;ie[Rt]=(ie[Rt]??0)+1,Ee[It]=(Ee[It]??0)+1}return{byRoute:ie,byOutcome:Ee}},[O]),jn=O.filter(ie=>ie.kind==="run").length,bi=Y||K.length>0||he;return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)("div",{className:"page-title",children:[(0,P.jsx)("h2",{children:"Recordings"}),(0,P.jsx)("p",{children:f?tt.length?`${Fe(f.summary.store.count,"record")} kept. Recording ${tt.map(ie=>ba[ie]).join(", ")} now.`:`${Fe(f.summary.store.count,"record")} kept. Nothing is being recorded now.`:"The content of requests, for review and for training data."})]}),E&&(0,P.jsx)("div",{className:"error-bar",children:E}),(0,P.jsxs)("section",{className:"panel",children:[(0,P.jsxs)("div",{className:"section-heading",children:[(0,P.jsxs)("h2",{children:["Records",f&&(0,P.jsxs)("span",{className:"count",children:[M(O.length),f.nextBefore?"+":""," shown",jn?` \\xB7 ${Fe(jn,"indexing run")} folded`:""]})]}),(0,P.jsxs)("span",{className:"editor-actions",children:[bi&&(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("button",{className:"ghost mini",disabled:!!T||!K.length,onClick:()=>void ae("training"),title:"Successful, complete examples as prompt/completion JSON lines",children:T==="training"?"exporting\\u2026":"export training data"}),(0,P.jsx)("button",{className:"ghost mini",disabled:!!T||!K.length,onClick:()=>void ae("raw"),title:"Every matching record as stored",children:T==="raw"?"exporting\\u2026":"export raw"})]}),(0,P.jsx)("button",{className:"ghost mini",disabled:x,onClick:()=>void ce(),children:x?"\\u2026":"refresh"})]})]}),bi&&(0,P.jsxs)("div",{className:"toolbar",children:[(0,P.jsx)(Yf,{label:"Feature",value:n,onChange:r,options:[{value:"",label:"All"},...Zf.map(ie=>({value:ie,label:ba[ie],count:n===""?tn.byRoute[ie]??0:void 0}))]}),(0,P.jsx)(Yf,{label:"Outcome",value:i,onChange:a,options:[{value:"",label:"Any outcome"},...LO.map(ie=>({value:ie,label:ie,count:i===""?tn.byOutcome[ie]??0:void 0}))]}),(0,P.jsxs)("select",{"aria-label":"Developer",value:o,onChange:ie=>s(ie.target.value),children:[(0,P.jsx)("option",{value:"",children:"Everyone"}),(f?.keys??[]).map(ie=>(0,P.jsx)("option",{value:ie,children:ie},ie))]}),(0,P.jsx)(Yf,{label:"Period",value:l,onChange:u,options:OO.map(ie=>({value:ie,label:ie}))}),(0,P.jsx)("input",{className:"search",type:"search",placeholder:"search prompts and replies",value:c,onChange:ie=>d(ie.target.value),"aria-label":"Search"}),he&&(0,P.jsx)("button",{type:"button",className:"ghost mini",onClick:ft,children:"clear filters"})]}),K.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:"When"}),(0,P.jsx)("th",{children:"Who"}),(0,P.jsx)("th",{children:"Feature"}),(0,P.jsx)("th",{children:"Model"}),(0,P.jsx)("th",{children:"Outcome"}),(0,P.jsx)("th",{className:"num",children:"Took"}),(0,P.jsx)("th",{className:"num",children:"Tokens"}),(0,P.jsx)("th",{children:"Content"})]})}),(0,P.jsx)("tbody",{children:O.map(ie=>{if(ie.kind==="record")return(0,P.jsx)(xS,{record:ie.record,selected:g?.id===ie.record.id,now:H,term:p,onOpen:z},ie.record.id);let Ee=ie.calls[0],_e=y.has(ie.id),Rt=!!g&&ie.calls.some(It=>It.id===g.id);return(0,P.jsxs)(we.default.Fragment,{children:[(0,P.jsxs)("tr",{className:`run ${Rt&&!_e?"selected":""}`,onClick:()=>U(ie.id),tabIndex:0,onKeyDown:It=>It.key==="Enter"&&U(ie.id),"aria-expanded":_e,title:_e?"Fold the run":"Show each call",children:[(0,P.jsxs)("td",{className:"muted",title:`${Zr(ie.calls[ie.calls.length-1].at)} \\u2013 ${Zr(Ee.at)} UTC`,children:[(0,P.jsx)("span",{className:"caret",children:_e?"\\u25BE":"\\u25B8"}),Oe(Ee.at,H)]}),(0,P.jsx)("td",{children:Ee.key}),(0,P.jsx)("td",{children:(0,P.jsx)(Jf,{route:"embeddings"})}),(0,P.jsx)("td",{className:"muted",children:Ee.model??Ee.alias}),(0,P.jsx)("td",{children:ie.failed?(0,P.jsxs)("span",{className:"pill-s bad",children:[Fe(ie.failed,"call")," failed"]}):(0,P.jsx)("span",{className:"pill-s ok",children:"ok"})}),(0,P.jsx)("td",{className:"num",children:Dt(ie.ms)}),(0,P.jsx)("td",{className:"num muted",children:"\\u2013"}),(0,P.jsxs)("td",{className:"preview",children:[(0,P.jsx)("b",{children:"Indexing run"})," \\xB7 ",Fe(ie.calls.length,"call")]})]}),_e&&ie.calls.map(It=>(0,P.jsx)(xS,{record:It,selected:g?.id===It.id,now:H,term:p,onOpen:z,nested:!0},It.id))]},ie.id)})})]})}):(0,P.jsx)("div",{className:"empty",children:f?he?(0,P.jsxs)(P.Fragment,{children:["Nothing matches these filters in the last ",l,"."," ",(0,P.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(ie=>ba[ie].toLowerCase()).join(" and ")}.`:Y?"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.":x?"Loading\\u2026":""}),f?.nextBefore&&(0,P.jsxs)("div",{className:"editor-actions",style:{marginTop:10},children:[(0,P.jsx)("button",{className:"ghost",disabled:I,onClick:()=>void F(),children:I?"loading\\u2026":"load older"}),(0,P.jsx)("span",{className:"muted",children:"Click a row to open it. \\u2191 \\u2193 move between records, Esc closes."})]}),!f?.nextBefore&&K.length>0&&(0,P.jsx)("div",{className:"hint",children:"Click a row to open it. \\u2191 \\u2193 move between records, Esc closes."})]}),g&&(0,P.jsx)(UO,{record:g,index:N,total:K.length,onStep:q,onClose:()=>w(null)}),f&&(0,P.jsx)(FO,{apiKey:e,summary:f.summary,licensed:Y,onSaved:()=>void ce()})]})};var X=ne(Ce()),HO=["24h","7d","30d"],gu="twinny-server.admin-key",ES="twinny-server.admin-view",vu=document.documentElement.dataset.demo==="1",vi="demo",TS=["var(--s1)","var(--s2)","var(--s3)","var(--s4)","var(--s5)","var(--s6)"],qO=TS.length,VO=new Set(["overview","usage","people","models"]),bu=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),WO=()=>{try{let e=new URLSearchParams(location.hash.replace(/^#/,"")),t=e.get("link");if(!t)return;Hv(e);let n=e.get("view");return history.replaceState(null,"",n&&bu(n)?`#${n}`:location.pathname+location.search),t}catch{return}},yu=WO(),KO=()=>{let[e,t]=(0,Pe.useState)(null),[n,r]=(0,Pe.useState)(!1),[i,a]=(0,Pe.useState)(),o=async()=>{r(!0);try{let s=await re("/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,X.jsxs)("div",{className:"demo-bar",children:[(0,X.jsxs)("span",{children:[(0,X.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,X.jsx)("span",{className:"spacer"}),e?(0,X.jsxs)("span",{children:["VS Code should be opening as ",(0,X.jsx)("b",{children:e.name}),", a guest for ",M(e.guestMinutes)," minutes. ",(0,X.jsx)("a",{href:ho(window.location.origin,e.code),children:"Open again"})]}):(0,X.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,X.jsx)("span",{className:"demo-error",children:i})]})},GO=()=>(0,X.jsx)("main",{className:"signin",children:(0,X.jsxs)("section",{className:"card",children:[(0,X.jsxs)("h1",{children:["twinny",(0,X.jsx)("span",{children:"-server"})]}),(0,X.jsx)("p",{className:"muted",children:"Signing you in\\u2026"})]})}),YO=({onKey:e,error:t})=>{let[n,r]=(0,Pe.useState)("");return(0,X.jsx)("main",{className:"signin",children:(0,X.jsxs)("section",{className:"card",children:[(0,X.jsxs)("h1",{children:["twinny",(0,X.jsx)("span",{children:"-server"})]}),(0,X.jsx)("p",{children:"Sign in with your gateway key."}),(0,X.jsxs)("form",{onSubmit:a=>{a.preventDefault(),n.trim()&&e(n.trim())},children:[(0,X.jsx)("input",{type:"password",autoFocus:!0,placeholder:"tsk_\\u2026",value:n,onChange:a=>r(a.target.value),"aria-label":"Gateway key"}),(0,X.jsx)("button",{type:"submit",className:"primary",children:"Open"})]}),t&&(0,X.jsx)("div",{className:"error",children:t}),(0,X.jsxs)("div",{className:"hint",children:["Connected to this gateway in VS Code? Open it from there and you are signed in without a key: ",(0,X.jsx)("b",{children:"Providers \\u2192 Your team\'s plugins \\u2192 Open"}),", or ",(0,X.jsx)("b",{children:"Twinny - Open your team\'s plugins"})," from the command palette."]}),(0,X.jsxs)("div",{className:"hint",children:["An admin key opens everything; make one on the server with ",(0,X.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."]}),vu&&(0,X.jsx)("div",{className:"hint",children:(0,X.jsx)("button",{type:"button",className:"ghost",onClick:()=>e(vi),children:"Back to the demo"})})]})})},QO=()=>{let[e,t]=(0,Pe.useState)(()=>{if(yu)return null;try{return sessionStorage.getItem(gu)??(vu?vi:null)}catch{return vu?vi:null}}),[n,r]=(0,Pe.useState)(!!yu),[i,a]=(0,Pe.useState)(null),[o,s]=(0,Pe.useState)("7d"),[l,u]=(0,Pe.useState)(null),[c,d]=(0,Pe.useState)(),[p,m]=(0,Pe.useState)(),[f,b]=(0,Pe.useState)(!1),[v,h]=(0,Pe.useState)(()=>{try{let z=location.hash.replace(/^#/,"");if(bu(z))return z;let q=sessionStorage.getItem(ES);return bu(q)?q:"overview"}catch{return"overview"}}),[g,w]=(0,Pe.useState)(0),[E,S]=(0,Pe.useState)(null),x=(0,Pe.useCallback)(z=>{h(z);try{sessionStorage.setItem(ES,z),history.replaceState(null,"",`#${z}`)}catch{}},[]);(0,Pe.useEffect)(()=>{let z=()=>{let q=location.hash.replace(/^#/,"");bu(q)&&h(q)};return window.addEventListener("hashchange",z),()=>window.removeEventListener("hashchange",z)},[]);let C=(0,Pe.useCallback)(()=>{try{sessionStorage.removeItem(gu)}catch{}t(null),a(null),u(null)},[]);(0,Pe.useEffect)(()=>{if(!yu)return;let z=!1;return zv(yu).then(q=>{z||t(q.key)}).catch(q=>{if(z)return;let ae=null;try{ae=sessionStorage.getItem(gu)}catch{}ae?t(ae):m(ye(q))}).finally(()=>{z||r(!1)}),()=>{z=!0}},[]),(0,Pe.useEffect)(()=>{if(!e)return;let z=!1;return re("/twinny/v1/whoami",e).then(q=>{if(!z){if(q.shared){m("The shared token does not open this page. Sign in with a key of your own."),C();return}m(void 0),a(q);try{e!==vi&&sessionStorage.setItem(gu,e)}catch{}}}).catch(q=>{z||(m(ye(q)),C())}),()=>{z=!0}},[e,C]);let I=(0,Pe.useCallback)(async()=>{if(!(!e||!i?.admin)){b(!0);try{let[z,q,ae,he]=await Promise.all([re("/twinny/v1/status",e),re(`/twinny/v1/admin/usage?since=${o}`,e),re("/twinny/v1/admin/keys",e),re("/twinny/v1/admin/plugins",e).catch(()=>({plugins:[],licensed:!1}))]);u({status:z,usage:q,keys:ae,plugins:he.plugins,pluginsLicensed:he.licensed}),S(Date.now()),d(void 0)}catch(z){if(z instanceof cn&&(z.status===401||z.status===403)){m(z.message),C();return}d(ye(z))}finally{b(!1)}}},[e,i,o,C]);(0,Pe.useEffect)(()=>{I()},[I]),(0,Pe.useEffect)(()=>{if(!i)return;let z=setInterval(()=>{document.visibilityState==="visible"&&I()},6e4);return()=>clearInterval(z)},[i,I]);let $=(0,Pe.useCallback)(async(z,q,ae=!1)=>{if(!e)throw new Error("Not signed in.");let he=await re("/twinny/v1/admin/keys",e,{method:"POST",body:{name:z,admin:q,...ae?{readOnly:!0}:{}}});return await I(),he},[e,I]),T=(0,Pe.useCallback)(async z=>{if(!e)throw new Error("Not signed in.");await re(`/twinny/v1/admin/keys/${z}/revoke`,e,{method:"POST"}),await I()},[e,I]),te=(0,Pe.useCallback)(async z=>{if(!e)throw new Error("Not signed in.");await re("/twinny/v1/admin/license",e,{method:"PUT",body:{token:z}}),await I()},[e,I]),H=(0,Pe.useCallback)(async(z,q)=>{if(!e)throw new Error("Not signed in.");await re(`/twinny/v1/admin/plugins/${z}/${q?"enable":"disable"}`,e,{method:"POST"}),await I()},[e,I]),D=(0,Pe.useCallback)(async(z,q)=>{if(!e)throw new Error("Not signed in.");await re(`/twinny/v1/admin/plugins/${z}/access`,e,{method:"PUT",body:q}),await I()},[e,I]),Y=(0,Pe.useCallback)(z=>{m(z),C()},[C]),L=(0,Pe.useCallback)(async()=>{if(!e)throw new Error("Not signed in.");await re("/twinny/v1/admin/license",e,{method:"DELETE"}),await I()},[e,I]),j=(0,Pe.useMemo)(()=>l?Object.entries(l.usage.byKey).sort((q,ae)=>ae[1].requests-q[1].requests||q[0].localeCompare(ae[0])).map(([q])=>q).slice(0,qO).map((q,ae)=>({name:q,color:TS[ae]})):[],[l]),ce=z=>j.find(q=>q.name===z)?.color??fu;if(n||e&&!i&&!p)return(0,X.jsx)(GO,{});if(!e||!i)return(0,X.jsx)(YO,{onKey:t,error:p});if(!i.admin)return(0,X.jsx)(mS,{apiKey:e,who:i,onSignOut:Y});let K=l?.status.backends.filter(z=>!z.ok)??[],O=l?.keys.plan,y=!!O&&O.status!=="free"&&O.status!=="licensed",_=O?.features??[],U=(z,q)=>(0,X.jsx)("button",{className:v===z?"on":"",onClick:()=>x(z),"aria-current":v===z?"page":void 0,children:q},z),N=l?.plugins.filter(z=>z.enabled)??[],F=v.startsWith("plugin:")?v.slice(7):void 0;return(0,X.jsxs)("div",{className:"app",children:[(0,X.jsxs)("header",{className:"top",children:[(0,X.jsxs)("h1",{children:["twinny",(0,X.jsx)("span",{children:"-server"})]}),l&&(0,X.jsxs)("button",{type:"button",className:`pill ${K.length?"bad":"ok"}`,onClick:()=>x("overview"),title:"Live backend checks; open the overview",children:[(0,X.jsx)("i",{}),K.length?`${K.length} of ${l.status.backends.length} backends down: ${K.map(z=>z.provider).join(", ")}`:`${l.status.backends.length} backend${l.status.backends.length===1?"":"s"} answering`]}),(0,X.jsx)("span",{className:"spacer"}),VO.has(v)&&(0,X.jsx)("span",{className:"chips",role:"group","aria-label":"Period",children:HO.map(z=>(0,X.jsx)("button",{className:z===o?"on":"ghost",onClick:()=>s(z),children:z},z))}),(0,X.jsx)("button",{className:"ghost",onClick:()=>void I(),disabled:f,title:E?`Refreshed ${new Date(E).toLocaleTimeString()}; refreshes itself every minute`:void 0,children:f?"\\u2026":"refresh"}),(0,X.jsx)("span",{className:"who",title:"Signed in with this admin key",children:i.key}),(0,X.jsx)("button",{className:"ghost",onClick:C,children:e===vi?"admin sign in":"sign out"})]}),vu&&e===vi&&(0,X.jsx)(KO,{}),(0,X.jsxs)("div",{className:"shell",children:[(0,X.jsxs)("nav",{className:"sidenav","aria-label":"Admin sections",children:[(0,X.jsx)("div",{className:"group",children:"Monitor"}),U("overview",(0,X.jsxs)(X.Fragment,{children:["Overview",K.length>0&&(0,X.jsx)("span",{className:"badge bad",children:M(K.length)})]})),U("usage","Usage"),(0,X.jsx)("div",{className:"group",children:"Team"}),U("people",(0,X.jsxs)(X.Fragment,{children:["People",g>0&&(0,X.jsx)("span",{className:"badge",children:M(g)})]})),U("policy","Policy"),U("recordings","Recordings"),U("audit","Audit log"),(0,X.jsx)("div",{className:"group",children:"Gateway"}),U("models","Providers & models"),U("plan",(0,X.jsxs)(X.Fragment,{children:["Plan & licence",y&&(0,X.jsx)("span",{className:"badge bad",children:"!"})]})),(0,X.jsx)("div",{className:"group",children:"Plugins"}),U("plugins",(0,X.jsxs)(X.Fragment,{children:["Store",N.length>0&&(0,X.jsx)("span",{className:"badge",children:M(N.length)})]})),N.map(z=>U(`plugin:${z.id}`,(0,X.jsxs)("span",{className:"nav-plugin",children:[(0,X.jsx)(it,{id:z.id,size:14}),z.name]})))]}),(0,X.jsxs)("div",{className:"main",children:[c&&(0,X.jsx)("div",{className:"error-bar",children:c}),!l&&!c&&(0,X.jsx)("div",{className:"loading",children:"Loading\\u2026"}),(0,X.jsx)("div",{hidden:v!=="recordings",children:v==="recordings"&&(0,X.jsx)(SS,{apiKey:e,features:_})}),(0,X.jsx)("div",{hidden:v!=="audit",children:v==="audit"&&(0,X.jsx)(jv,{apiKey:e})}),(0,X.jsx)("div",{hidden:v!=="models"&&v!=="policy",children:(0,X.jsx)(Uv,{apiKey:e,onSaved:()=>void I(),features:_,section:v==="policy"?"policy":"models",status:l?.status,usage:l?.usage,period:o,onNavigate:x})}),l&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)("div",{hidden:v!=="overview",children:(0,X.jsx)(yS,{status:l.status,usage:l.usage,keys:l.keys,period:o,series:j,colorOf:ce,onNavigate:x})}),(0,X.jsx)("div",{hidden:v!=="usage",children:(0,X.jsx)(hS,{summary:l.usage,status:l.status,period:o,colorOf:ce})}),(0,X.jsx)("div",{hidden:v!=="people",children:(0,X.jsx)(vS,{apiKey:e,keys:l.keys,usage:l.usage,period:o,me:i.key,pending:g,onPending:w,onChanged:()=>void I(),onCreate:$,onRevoke:T,onNavigate:x})}),(0,X.jsx)("div",{hidden:v!=="plan",children:O&&(0,X.jsx)(kS,{plan:O,onInstall:te,onRemove:L,onNavigate:x})}),(0,X.jsx)("div",{hidden:v!=="plugins",children:(0,X.jsx)(pS,{plugins:l.plugins,licensed:l.pluginsLicensed,onToggle:H,people:l.keys.keys.filter(z=>!z.revokedAt&&!z.admin).map(z=>z.name),onShare:D,onOpen:z=>x(`plugin:${z}`),onNavigate:x})}),F&&(0,X.jsx)("div",{children:N.some(z=>z.id===F)?(0,X.jsx)(pu,{id:F,apiKey:e},F):(0,X.jsxs)("div",{className:"empty",children:["This plugin is switched off."," ",(0,X.jsx)("button",{type:"button",className:"link",onClick:()=>x("plugins"),children:"plugins"})]})})]})]})]})]})},CS=document.getElementById("root");CS&&(0,AS.createRoot)(CS).render((0,X.jsx)(QO,{}));})();\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); }
|
|
@@ -147589,7 +147822,7 @@ table.pulls td { vertical-align: top; }
|
|
|
147589
147822
|
.app-form input { max-width: 200px; }
|
|
147590
147823
|
.app-form textarea, textarea { font: 12px/1.4 var(--mono); color: var(--ink); background: var(--bg); border: 1px solid var(--line); border-radius: 4px; padding: 6px 10px; resize: vertical; }
|
|
147591
147824
|
.app-form textarea:focus, textarea:focus { outline: 1px solid var(--accent); outline-offset: 1px; }
|
|
147592
|
-
.inline-setting { margin: 0; }
|
|
147825
|
+
.inline-setting { margin: 0; align-items: flex-end; }
|
|
147593
147826
|
.inline-setting label { display: flex; flex-direction: column; align-items: stretch; gap: 4px; flex: 1 1 260px; }
|
|
147594
147827
|
.inline-setting label input { background: var(--bg); }
|
|
147595
147828
|
|
|
@@ -147724,6 +147957,12 @@ table.pulls .open-link:hover, table.pulls .open-link:focus-visible { color: var(
|
|
|
147724
147957
|
.filter.sort { flex-basis: 100%; }
|
|
147725
147958
|
.filter.sort select { flex: 1; max-width: none; }
|
|
147726
147959
|
}
|
|
147960
|
+
|
|
147961
|
+
/* A developer with no name on the host yet: asked at the top of the plugin's page. */
|
|
147962
|
+
.panel.ask-me { border-color: var(--accent); }
|
|
147963
|
+
.ask-me-lead { margin: 0 0 12px; color: var(--ink-2); line-height: 1.5; }
|
|
147964
|
+
.success-bar.with-close { display: flex; align-items: flex-start; gap: 12px; }
|
|
147965
|
+
.success-bar.with-close > span { flex: 1; }
|
|
147727
147966
|
` : "";
|
|
147728
147967
|
var FALLBACK = `<main class="signin"><section class="card"><h1>twinny-server</h1>
|
|
147729
147968
|
<p>The admin page was not bundled into this build. Run <code>npm run build</code> in the repository and use the packaged <code>cli.js</code>.</p></section></main>`;
|
|
@@ -147743,6 +147982,52 @@ ${js ? `<script>${js.replace(/<\/script/gi, "<\\/script")}</script>` : ""}
|
|
|
147743
147982
|
</html>
|
|
147744
147983
|
`;
|
|
147745
147984
|
|
|
147985
|
+
// src/gateway/page-links.ts
|
|
147986
|
+
var import_node_crypto27 = require("node:crypto");
|
|
147987
|
+
var PAGE_LINK_TTL_MS = 6e4;
|
|
147988
|
+
var MAX_PAGE_LINKS = 200;
|
|
147989
|
+
var MAX_PAGE_LINKS_PER_NAME = 5;
|
|
147990
|
+
var CODE_BYTES = 32;
|
|
147991
|
+
var CODE_PATTERN2 = /^[0-9a-f]{64}$/;
|
|
147992
|
+
var PageLinks = class {
|
|
147993
|
+
constructor(_now = Date.now) {
|
|
147994
|
+
this._now = _now;
|
|
147995
|
+
this._records = /* @__PURE__ */ new Map();
|
|
147996
|
+
}
|
|
147997
|
+
get size() {
|
|
147998
|
+
this.prune();
|
|
147999
|
+
return this._records.size;
|
|
148000
|
+
}
|
|
148001
|
+
/** A fresh code for this key. The oldest outstanding code gives way when there are too many. */
|
|
148002
|
+
mint(key3, name) {
|
|
148003
|
+
this.prune();
|
|
148004
|
+
const mine = [...this._records.entries()].filter(([, record]) => record.name === name);
|
|
148005
|
+
if (mine.length >= MAX_PAGE_LINKS_PER_NAME) this.dropOldest(mine);
|
|
148006
|
+
if (this._records.size >= MAX_PAGE_LINKS) this.dropOldest([...this._records.entries()]);
|
|
148007
|
+
const now = this._now();
|
|
148008
|
+
const code = (0, import_node_crypto27.randomBytes)(CODE_BYTES).toString("hex");
|
|
148009
|
+
this._records.set(code, { key: key3, name, createdAt: now, expiresAt: now + PAGE_LINK_TTL_MS });
|
|
148010
|
+
return { code, expiresAt: new Date(now + PAGE_LINK_TTL_MS).toISOString() };
|
|
148011
|
+
}
|
|
148012
|
+
/** The key behind a code, once; undefined for a code that is used, expired, unknown or malformed. */
|
|
148013
|
+
open(code) {
|
|
148014
|
+
this.prune();
|
|
148015
|
+
if (typeof code !== "string" || !CODE_PATTERN2.test(code)) return void 0;
|
|
148016
|
+
const record = this._records.get(code);
|
|
148017
|
+
if (!record) return void 0;
|
|
148018
|
+
this._records.delete(code);
|
|
148019
|
+
return { key: record.key, name: record.name };
|
|
148020
|
+
}
|
|
148021
|
+
dropOldest(entries) {
|
|
148022
|
+
const oldest = entries.sort((a6, b6) => a6[1].createdAt - b6[1].createdAt)[0];
|
|
148023
|
+
if (oldest) this._records.delete(oldest[0]);
|
|
148024
|
+
}
|
|
148025
|
+
prune() {
|
|
148026
|
+
const now = this._now();
|
|
148027
|
+
for (const [code, record] of this._records) if (record.expiresAt <= now) this._records.delete(code);
|
|
148028
|
+
}
|
|
148029
|
+
};
|
|
148030
|
+
|
|
147746
148031
|
// src/gateway/reply.ts
|
|
147747
148032
|
var sendJson2 = (res, status, value, headers = {}) => {
|
|
147748
148033
|
const text2 = JSON.stringify(value);
|
|
@@ -147881,9 +148166,9 @@ var SeatBook = class {
|
|
|
147881
148166
|
};
|
|
147882
148167
|
|
|
147883
148168
|
// src/gateway/signin.ts
|
|
147884
|
-
var
|
|
148169
|
+
var import_node_crypto28 = require("node:crypto");
|
|
147885
148170
|
var CODE_ALPHABET = "BCDFGHJKMNPQRSTVWXYZ23456789";
|
|
147886
|
-
var
|
|
148171
|
+
var CODE_PATTERN3 = /^[BCDFGHJKMNPQRSTVWXYZ23456789]{4}-[BCDFGHJKMNPQRSTVWXYZ23456789]{4}$/;
|
|
147887
148172
|
var DEVICE_CODE_BYTES = 32;
|
|
147888
148173
|
var DEVICE_CODE_PATTERN = /^[0-9a-f]{64}$/;
|
|
147889
148174
|
var SIGNIN_TTL_MS = 10 * 6e4;
|
|
@@ -147896,10 +148181,10 @@ var clean2 = (value, pattern) => {
|
|
|
147896
148181
|
const text2 = value.trim();
|
|
147897
148182
|
return pattern.test(text2) ? text2 : void 0;
|
|
147898
148183
|
};
|
|
147899
|
-
var isUserCode = (value) => typeof value === "string" &&
|
|
148184
|
+
var isUserCode = (value) => typeof value === "string" && CODE_PATTERN3.test(value.trim().toUpperCase());
|
|
147900
148185
|
var normalizeUserCode = (value) => value.trim().toUpperCase();
|
|
147901
148186
|
var newUserCode = () => {
|
|
147902
|
-
const pick = () => CODE_ALPHABET[(0,
|
|
148187
|
+
const pick = () => CODE_ALPHABET[(0, import_node_crypto28.randomInt)(CODE_ALPHABET.length)];
|
|
147903
148188
|
const half = () => pick() + pick() + pick() + pick();
|
|
147904
148189
|
return `${half()}-${half()}`;
|
|
147905
148190
|
};
|
|
@@ -147928,7 +148213,7 @@ var SignInRequests = class {
|
|
|
147928
148213
|
}
|
|
147929
148214
|
let userCode = newUserCode();
|
|
147930
148215
|
while (this.byUserCode(userCode)) userCode = newUserCode();
|
|
147931
|
-
const deviceCode = (0,
|
|
148216
|
+
const deviceCode = (0, import_node_crypto28.randomBytes)(DEVICE_CODE_BYTES).toString("hex");
|
|
147932
148217
|
const record = {
|
|
147933
148218
|
deviceCode,
|
|
147934
148219
|
userCode,
|
|
@@ -148226,7 +148511,7 @@ var parseSince = (value, now = /* @__PURE__ */ new Date()) => {
|
|
|
148226
148511
|
// src/gateway/server.ts
|
|
148227
148512
|
var HEALTH_PATH = "/healthz";
|
|
148228
148513
|
var METRICS_PATH = "/metrics";
|
|
148229
|
-
var ADMIN_PATH =
|
|
148514
|
+
var ADMIN_PATH = GATEWAY_PAGE_PATH;
|
|
148230
148515
|
var ADMIN_API_PREFIX = "/twinny/v1/admin/";
|
|
148231
148516
|
var SHARED_PRINCIPAL = "shared";
|
|
148232
148517
|
var GatewayListenError = class extends Error {
|
|
@@ -148237,15 +148522,21 @@ var GatewayListenError = class extends Error {
|
|
|
148237
148522
|
}
|
|
148238
148523
|
};
|
|
148239
148524
|
var MINUTE_MS2 = 6e4;
|
|
148525
|
+
var matchPluginRoute = (route) => {
|
|
148526
|
+
const match = /^plugins\/([a-z][a-z0-9-]{1,31})(?:\/(enable|disable|access|api)(?:\/(.*))?)?$/.exec(route);
|
|
148527
|
+
return match ? { id: match[1], ...match[2] ? { action: match[2] } : {}, ...match[3] !== void 0 ? { rest: match[3] } : {} } : void 0;
|
|
148528
|
+
};
|
|
148529
|
+
var normalPluginPath = (rest) => (rest ?? "").replace(/\/+$/, "");
|
|
148530
|
+
var sendPluginFailure = (res, error) => sendJson2(res, error instanceof PluginError ? error.status : 400, { error: { message: messageOf(error) } });
|
|
148240
148531
|
var tokenMatches = (presented, expected) => {
|
|
148241
148532
|
if (!presented) return false;
|
|
148242
148533
|
const a6 = Buffer.from(presented, "utf8");
|
|
148243
148534
|
const b6 = Buffer.from(expected, "utf8");
|
|
148244
148535
|
if (a6.length !== b6.length) {
|
|
148245
|
-
(0,
|
|
148536
|
+
(0, import_node_crypto29.timingSafeEqual)(b6, b6);
|
|
148246
148537
|
return false;
|
|
148247
148538
|
}
|
|
148248
|
-
return (0,
|
|
148539
|
+
return (0, import_node_crypto29.timingSafeEqual)(a6, b6);
|
|
148249
148540
|
};
|
|
148250
148541
|
var bearerOf = (header2) => {
|
|
148251
148542
|
const match = /^Bearer\s+(\S+)\s*$/i.exec(header2 || "");
|
|
@@ -148254,9 +148545,14 @@ var bearerOf = (header2) => {
|
|
|
148254
148545
|
var GatewayServer = class {
|
|
148255
148546
|
constructor(_options) {
|
|
148256
148547
|
this._options = _options;
|
|
148548
|
+
this._pageLinks = new PageLinks();
|
|
148257
148549
|
this._draining = false;
|
|
148258
148550
|
this._nextId = 1;
|
|
148259
|
-
this._server = import_node_http2.default.createServer(
|
|
148551
|
+
this._server = import_node_http2.default.createServer(
|
|
148552
|
+
(req, res) => void this.handle(req, res).catch(
|
|
148553
|
+
(error) => this.crashed(req, res, error)
|
|
148554
|
+
)
|
|
148555
|
+
);
|
|
148260
148556
|
this._server.on(
|
|
148261
148557
|
"upgrade",
|
|
148262
148558
|
(req, socket, head) => this.handleUpgrade(req, socket, head)
|
|
@@ -148451,10 +148747,17 @@ var GatewayServer = class {
|
|
|
148451
148747
|
/**
|
|
148452
148748
|
* The admin API behind the page: usage for everyone, the key list and
|
|
148453
148749
|
* nothing a developer's own key could not already learn about itself.
|
|
148454
|
-
* Admin keys only
|
|
148750
|
+
* Admin keys only, but for the plugins an admin shared with a developer;
|
|
148751
|
+
* the shared token is never an admin and never a developer.
|
|
148455
148752
|
*/
|
|
148456
148753
|
async handleAdmin(url, req, res, auth) {
|
|
148754
|
+
const route = url.pathname.slice(ADMIN_API_PREFIX.length).replace(/\/+$/, "");
|
|
148457
148755
|
if (!auth.admin) {
|
|
148756
|
+
if (!auth.shared && !this._seats.isGuest(auth.principal) && (route === "plugins" || route.startsWith("plugins/"))) {
|
|
148757
|
+
await this.handleMemberPlugins(route, url, req, res, auth.principal);
|
|
148758
|
+
return;
|
|
148759
|
+
}
|
|
148760
|
+
req.resume();
|
|
148458
148761
|
sendRefusal(
|
|
148459
148762
|
res,
|
|
148460
148763
|
403,
|
|
@@ -148464,7 +148767,6 @@ var GatewayServer = class {
|
|
|
148464
148767
|
this._options.log.warn({ event: "admin.refused", key: auth.principal });
|
|
148465
148768
|
return;
|
|
148466
148769
|
}
|
|
148467
|
-
const route = url.pathname.slice(ADMIN_API_PREFIX.length).replace(/\/+$/, "");
|
|
148468
148770
|
if (route === "provider-models") {
|
|
148469
148771
|
if (req.method !== "POST") {
|
|
148470
148772
|
sendMethodNotAllowed(
|
|
@@ -148996,7 +149298,7 @@ var GatewayServer = class {
|
|
|
148996
149298
|
}
|
|
148997
149299
|
const made = invites.create(
|
|
148998
149300
|
{
|
|
148999
|
-
name: guestName((0,
|
|
149301
|
+
name: guestName((0, import_node_crypto29.randomBytes)(3).toString("hex")),
|
|
149000
149302
|
createdBy: DEMO_VISITOR,
|
|
149001
149303
|
ttlMs: demo.inviteTtlMs
|
|
149002
149304
|
},
|
|
@@ -149230,14 +149532,31 @@ var GatewayServer = class {
|
|
|
149230
149532
|
});
|
|
149231
149533
|
return;
|
|
149232
149534
|
}
|
|
149233
|
-
const match =
|
|
149234
|
-
|
|
149235
|
-
);
|
|
149236
|
-
if (!match || !plugins.has(match[1])) {
|
|
149535
|
+
const match = matchPluginRoute(route);
|
|
149536
|
+
if (!match || !plugins.has(match.id)) {
|
|
149237
149537
|
sendMessage(res, 404, "No such plugin.");
|
|
149238
149538
|
return;
|
|
149239
149539
|
}
|
|
149240
|
-
const
|
|
149540
|
+
const { id, action, rest } = match;
|
|
149541
|
+
if (action === "access") {
|
|
149542
|
+
if (rest !== void 0) {
|
|
149543
|
+
sendMessage(res, 404, "Not found.");
|
|
149544
|
+
return;
|
|
149545
|
+
}
|
|
149546
|
+
if (req.method === "GET") {
|
|
149547
|
+
sendJson2(res, 200, { access: plugins.access(id) });
|
|
149548
|
+
return;
|
|
149549
|
+
}
|
|
149550
|
+
if (req.method !== "PUT") {
|
|
149551
|
+
sendMethodNotAllowed(res, ["GET", "PUT"], "Use GET or PUT for who a plugin is shared with.");
|
|
149552
|
+
return;
|
|
149553
|
+
}
|
|
149554
|
+
const access = plugins.setAccess(id, await readJsonBody(req));
|
|
149555
|
+
this._options.log.info({ event: "plugin.access-changed", key: auth.principal, reason: id });
|
|
149556
|
+
this.audit(req, auth.principal, "plugin.access-changed", id, { everyone: access.everyone, people: access.people.length });
|
|
149557
|
+
sendJson2(res, 200, { access });
|
|
149558
|
+
return;
|
|
149559
|
+
}
|
|
149241
149560
|
if (action === "enable" || action === "disable") {
|
|
149242
149561
|
if (req.method !== "POST") {
|
|
149243
149562
|
sendMethodNotAllowed(res, ["POST"], "Switching a plugin is POST.");
|
|
@@ -149257,26 +149576,69 @@ var GatewayServer = class {
|
|
|
149257
149576
|
sendMessage(res, 404, "Not found.");
|
|
149258
149577
|
return;
|
|
149259
149578
|
}
|
|
149260
|
-
|
|
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);
|
|
149579
|
+
await this.forwardToPlugin(plugins, id, rest ?? "", url, req, res, auth.principal, false);
|
|
149271
149580
|
} catch (error) {
|
|
149272
|
-
|
|
149273
|
-
|
|
149274
|
-
|
|
149275
|
-
|
|
149581
|
+
req.resume();
|
|
149582
|
+
sendPluginFailure(res, error);
|
|
149583
|
+
}
|
|
149584
|
+
}
|
|
149585
|
+
/**
|
|
149586
|
+
* A developer on the admin API: the plugins shared with them and, of
|
|
149587
|
+
* those, the routes each plugin names as a developer's. Switching,
|
|
149588
|
+
* sharing and every other admin route stay refused.
|
|
149589
|
+
*/
|
|
149590
|
+
async handleMemberPlugins(route, url, req, res, principal) {
|
|
149591
|
+
const plugins = this._options.plugins;
|
|
149592
|
+
if (!plugins) {
|
|
149593
|
+
req.resume();
|
|
149594
|
+
sendMessage(res, 404, "This gateway has no plugins.");
|
|
149595
|
+
return;
|
|
149596
|
+
}
|
|
149597
|
+
try {
|
|
149598
|
+
if (route === "plugins") {
|
|
149599
|
+
if (req.method !== "GET") {
|
|
149600
|
+
req.resume();
|
|
149601
|
+
sendMethodNotAllowed(res, ["GET"], "Use GET to list plugins.");
|
|
149602
|
+
return;
|
|
149276
149603
|
}
|
|
149277
|
-
|
|
149604
|
+
sendJson2(res, 200, { plugins: plugins.listFor(principal), licensed: plugins.licensed });
|
|
149605
|
+
return;
|
|
149606
|
+
}
|
|
149607
|
+
const match = matchPluginRoute(route);
|
|
149608
|
+
if (!match || !match.action || !plugins.has(match.id)) {
|
|
149609
|
+
req.resume();
|
|
149610
|
+
sendMessage(res, 404, "No such plugin.");
|
|
149611
|
+
return;
|
|
149612
|
+
}
|
|
149613
|
+
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.";
|
|
149614
|
+
if (refusal2) {
|
|
149615
|
+
req.resume();
|
|
149616
|
+
sendRefusal(res, 403, "authentication", refusal2);
|
|
149617
|
+
this._options.log.warn({ event: "plugin.member-refused", key: principal, reason: match.id });
|
|
149618
|
+
return;
|
|
149619
|
+
}
|
|
149620
|
+
await this.forwardToPlugin(plugins, match.id, match.rest ?? "", url, req, res, principal, true);
|
|
149621
|
+
} catch (error) {
|
|
149622
|
+
req.resume();
|
|
149623
|
+
sendPluginFailure(res, error);
|
|
149278
149624
|
}
|
|
149279
149625
|
}
|
|
149626
|
+
/** Hands one request to a plugin's own routes and audits what it changed. */
|
|
149627
|
+
async forwardToPlugin(plugins, id, rest, url, req, res, principal, member5) {
|
|
149628
|
+
const path21 = normalPluginPath(rest);
|
|
149629
|
+
const answer = await plugins.handle(id, {
|
|
149630
|
+
method: req.method ?? "GET",
|
|
149631
|
+
path: path21,
|
|
149632
|
+
query: url.searchParams,
|
|
149633
|
+
body: () => readJsonBody(req, 256 * 1024),
|
|
149634
|
+
principal,
|
|
149635
|
+
...member5 ? { member: true } : {}
|
|
149636
|
+
});
|
|
149637
|
+
req.resume();
|
|
149638
|
+
if (req.method !== "GET" && answer.status < 400)
|
|
149639
|
+
this.audit(req, principal, "plugin.write", id, { method: req.method ?? "", path: path21, ...member5 ? { member: true } : {} });
|
|
149640
|
+
sendPlugin(res, answer);
|
|
149641
|
+
}
|
|
149280
149642
|
/** A plugin's browser-facing routes: no credential; the plugin decides what to show. */
|
|
149281
149643
|
async handlePublicPlugin(id, rest, url, req, res) {
|
|
149282
149644
|
const plugins = this._options.plugins;
|
|
@@ -149434,6 +149796,63 @@ var GatewayServer = class {
|
|
|
149434
149796
|
);
|
|
149435
149797
|
}
|
|
149436
149798
|
}
|
|
149799
|
+
/**
|
|
149800
|
+
* Page links, both sides. Asking takes the developer's own key: the
|
|
149801
|
+
* shared token and a demo's guests have no page to open. Opening takes
|
|
149802
|
+
* no credential, since the code is one, and hands back the key that
|
|
149803
|
+
* asked, once, if it still works.
|
|
149804
|
+
*/
|
|
149805
|
+
async handlePageLink(pathname, req, res) {
|
|
149806
|
+
if (req.method !== "POST") {
|
|
149807
|
+
req.resume();
|
|
149808
|
+
sendMethodNotAllowed(res, ["POST"], "Page links are POST only.");
|
|
149809
|
+
return;
|
|
149810
|
+
}
|
|
149811
|
+
if (this._draining) {
|
|
149812
|
+
req.resume();
|
|
149813
|
+
sendMessage(res, 503, "The gateway is shutting down.");
|
|
149814
|
+
return;
|
|
149815
|
+
}
|
|
149816
|
+
if (pathname === `${REMOTE_PROTOCOL_BASE}${REMOTE_PAGE_LINK_PATH}`) {
|
|
149817
|
+
req.resume();
|
|
149818
|
+
const auth = this.authenticate(req.headers.authorization);
|
|
149819
|
+
if ("refused" in auth) {
|
|
149820
|
+
sendError2(res, new InferenceError("authentication", auth.refused), { "WWW-Authenticate": "Bearer" });
|
|
149821
|
+
return;
|
|
149822
|
+
}
|
|
149823
|
+
if (auth.shared || auth.visitor || this._seats.isGuest(auth.principal)) {
|
|
149824
|
+
sendRefusal(
|
|
149825
|
+
res,
|
|
149826
|
+
403,
|
|
149827
|
+
"authentication",
|
|
149828
|
+
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."
|
|
149829
|
+
);
|
|
149830
|
+
return;
|
|
149831
|
+
}
|
|
149832
|
+
const link = this._pageLinks.mint(bearerOf(req.headers.authorization), auth.principal);
|
|
149833
|
+
this._options.log.info({ event: "page-link.made", key: auth.principal });
|
|
149834
|
+
sendJson2(res, 201, link);
|
|
149835
|
+
return;
|
|
149836
|
+
}
|
|
149837
|
+
try {
|
|
149838
|
+
const body = await readJsonBody(req, 4 * 1024);
|
|
149839
|
+
const opened = this._pageLinks.open(body.code);
|
|
149840
|
+
if (!opened) {
|
|
149841
|
+
sendMessage(res, 410, "This sign-in link was used already or has expired. Open the page from VS Code again.");
|
|
149842
|
+
return;
|
|
149843
|
+
}
|
|
149844
|
+
const auth = this.authenticate(`Bearer ${opened.key}`);
|
|
149845
|
+
if ("refused" in auth) {
|
|
149846
|
+
sendError2(res, new InferenceError("authentication", auth.refused));
|
|
149847
|
+
return;
|
|
149848
|
+
}
|
|
149849
|
+
this._options.log.info({ event: "page-link.opened", key: opened.name });
|
|
149850
|
+
this.audit(req, opened.name, "page.signed-in", opened.name, { link: true, ...auth.admin ? { admin: true } : {} });
|
|
149851
|
+
sendJson2(res, 200, { key: opened.key, name: opened.name });
|
|
149852
|
+
} catch (error) {
|
|
149853
|
+
sendMessage(res, 400, messageOf(error));
|
|
149854
|
+
}
|
|
149855
|
+
}
|
|
149437
149856
|
/**
|
|
149438
149857
|
* The licence: read the plan, install a token, or remove it. Installing
|
|
149439
149858
|
* verifies the signature first; a bad token changes nothing. The token
|
|
@@ -149493,6 +149912,26 @@ var GatewayServer = class {
|
|
|
149493
149912
|
);
|
|
149494
149913
|
}
|
|
149495
149914
|
}
|
|
149915
|
+
/**
|
|
149916
|
+
* The last resort for a request whose handler threw: the reason goes to
|
|
149917
|
+
* the log for the operator, the caller gets a 500 that says nothing of
|
|
149918
|
+
* it, and the process carries on. Without this the rejection is
|
|
149919
|
+
* unhandled, which ends a Node process.
|
|
149920
|
+
*/
|
|
149921
|
+
crashed(req, res, error) {
|
|
149922
|
+
try {
|
|
149923
|
+
this._options.log.error({
|
|
149924
|
+
event: "request.crashed",
|
|
149925
|
+
route: (req.url || "/").split("?")[0],
|
|
149926
|
+
reason: messageOf(error)
|
|
149927
|
+
});
|
|
149928
|
+
req.resume();
|
|
149929
|
+
if (res.headersSent || res.writableEnded) res.destroy();
|
|
149930
|
+
else sendRefusal(res, 500, "inference-failure", "The gateway failed.");
|
|
149931
|
+
} catch {
|
|
149932
|
+
res.destroy();
|
|
149933
|
+
}
|
|
149934
|
+
}
|
|
149496
149935
|
async handle(req, res) {
|
|
149497
149936
|
let url;
|
|
149498
149937
|
try {
|
|
@@ -149562,6 +150001,10 @@ var GatewayServer = class {
|
|
|
149562
150001
|
await this.handleJoin(req, res);
|
|
149563
150002
|
return;
|
|
149564
150003
|
}
|
|
150004
|
+
if (url.pathname === `${REMOTE_PROTOCOL_BASE}${REMOTE_PAGE_LINK_PATH}` || url.pathname === `${REMOTE_PROTOCOL_BASE}${REMOTE_PAGE_LINK_OPEN_PATH}`) {
|
|
150005
|
+
await this.handlePageLink(url.pathname, req, res);
|
|
150006
|
+
return;
|
|
150007
|
+
}
|
|
149565
150008
|
if (url.pathname === `${REMOTE_PROTOCOL_BASE}${DEMO_INVITE_PATH}`) {
|
|
149566
150009
|
this.handleDemoInvite(req, res);
|
|
149567
150010
|
return;
|
|
@@ -150460,7 +150903,7 @@ var runServe = async (argv, io = defaultServeIo()) => {
|
|
|
150460
150903
|
for (const line of describeConfig(config)) io.out(line);
|
|
150461
150904
|
io.out(` health: ${address.url}${HEALTH_PATH}`);
|
|
150462
150905
|
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} (
|
|
150906
|
+
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
150907
|
);
|
|
150465
150908
|
if (demo) {
|
|
150466
150909
|
io.out(
|