@tec-explorer/skillpot 0.7.0 → 0.8.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  所有显著变更记录于此。格式遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),
4
4
  版本号遵循 [SemVer](https://semver.org/lang/zh-CN/)。
5
5
 
6
+ ## [0.8.0] - 2026-09-04
7
+
8
+ ### Added
9
+ - **`skillpot audit [--json]`**:审计每个 Agent 实际生效的 skill、来源与异常——外部同名占用(被绕过/遮蔽,error)、受管链接残留、声明开放但链接缺失(漂移)(产品计划 §9.4)
10
+ - **`update` / `--check` 携带文件级 diff**(新增/修改/删除),更新前即可看到将产生的变化(§9.2);CLI 表格与 GUI 维护页均展示
11
+ - **lint 安全规则扩展**(§9.1):SSH/云厂商凭据文件触碰、密钥类环境变量读取、curl POST/PUT 外发数据、向远端主机拷贝、清 shell 历史(反取证),附不误报的常规用例回归
12
+ - 产品计划 §10 更新为四条主线(安全纵深/团队对齐/覆盖验证/生态触达)并回填 M0-M2 完成状态
13
+
6
14
  ## [0.7.0] - 2026-09-04
7
15
 
8
16
  ### Added
package/README.md CHANGED
@@ -85,6 +85,7 @@ skillpot doctor # 体检:断链/漂移/同名冲突
85
85
  | `adopt [--from agents] [-f agents] [--move] [--dry-run]` | 收编已有 skill;`--move` 移动模式 |
86
86
  | `remove <skill>` | 卸载(撤下所有链接 + 删除文件) |
87
87
  | `doctor [--fix]` | 体检与自动修复 |
88
+ | `audit [--json]` | 审计:各 Agent 实际生效 skill、来源与被绕过/遮蔽 |
88
89
  | `lint [skill] [--strict]` | 安全与质量检查:frontmatter + 脚本高危模式 |
89
90
  | `update [skill] [--check]` | 检查/应用 git 来源 skill 的更新 |
90
91
  | `gui [--port] [--host] [--no-open]` | Web 控制台:开关矩阵/体检/收编/安装/市场/维护 |
package/dist/cli.mjs CHANGED
@@ -39109,7 +39109,28 @@ var DANGEROUS_PATTERNS = [
39109
39109
  [/\bcurl\s+[^\n|]*\|\s*(?:ba|z)?sh\b/, "curl \u7BA1\u9053\u6267\u884C\u811A\u672C"],
39110
39110
  [/\bwget\s+[^\n|]*\|\s*(?:ba|z)?sh\b/, "wget \u7BA1\u9053\u6267\u884C\u811A\u672C"],
39111
39111
  [/\bsudo\b/, "sudo \u63D0\u6743"],
39112
- [/\bchmod\s+777\b/, "chmod 777 \u5F00\u653E\u5199\u6743\u9650"]
39112
+ [/\bchmod\s+777\b/, "chmod 777 \u5F00\u653E\u5199\u6743\u9650"],
39113
+ // —— 凭据与敏感信息(§9.1:读取 env / credentials)——
39114
+ [/\.ssh[/']|\.aws[/']|\.kube[/']|\.netrc\b/, "\u89E6\u78B0 SSH/\u4E91\u5382\u5546\u51ED\u636E\u6587\u4EF6"],
39115
+ [
39116
+ /\b(?:API[_-]?KEY|APIKEY|SECRET[_-]?KEY|ACCESS[_-]?TOKEN|PRIVATE[_-]?KEY|AWS_SECRET[_-]?ACCESS[_-]?KEY)\b/i,
39117
+ "\u5F15\u7528\u5BC6\u94A5\u7C7B\u6807\u8BC6\u7B26"
39118
+ ],
39119
+ [/\bprintenv\b/, "printenv \u5BFC\u51FA\u73AF\u5883\u53D8\u91CF"],
39120
+ [
39121
+ /process\.env\.[A-Z_]*(?:KEY|TOKEN|SECRET|PASSWORD|CREDENTIAL)\w*/i,
39122
+ "\u8BFB\u53D6 Node \u5BC6\u94A5\u7C7B\u73AF\u5883\u53D8\u91CF"
39123
+ ],
39124
+ // —— 外发数据(§9.1:外发网络请求)——
39125
+ [
39126
+ /\bcurl\b[^\n]*(?:-X\s*(?:POST|PUT)\b|--data(?:-binary|-raw|-urlencode)?\b|--form\b|--upload-file\b|\s-T\s)/,
39127
+ "curl \u5411\u5916\u53D1\u9001\u6570\u636E\uFF08POST/PUT/\u4E0A\u4F20\uFF09"
39128
+ ],
39129
+ [/\bwget\b[^\n]*--(?:post-data|post-file)\b/, "wget \u5411\u5916\u53D1\u9001\u6570\u636E"],
39130
+ [/\bnc\b[^\n]*\s-e\b/, "nc -e \u8FDC\u7A0B\u6267\u884C/\u53CD\u5F39 shell"],
39131
+ [/\b(?:scp|rsync)\b[^\n]*\b\w+@(?!localhost|127\.0\.0\.1)/, "\u5411\u8FDC\u7AEF\u4E3B\u673A\u62F7\u8D1D\u6587\u4EF6"],
39132
+ // —— 反取证 ——
39133
+ [/\.(?:bash|zsh)_history/, "\u89E6\u78B0 shell \u5386\u53F2\u6587\u4EF6"]
39113
39134
  ];
39114
39135
  var SCRIPT_EXT = /\.(sh|bash|zsh|py|js|mjs|cjs|ts|rb|pl)$/;
39115
39136
  function lintSkill(dir) {
@@ -39320,25 +39341,114 @@ async function installFromMarket(url, subdir, opts = {}) {
39320
39341
  return addSkill(`${url}#${subdir}`, { name: opts.name, for: opts.for });
39321
39342
  }
39322
39343
 
39323
- // src/core/doctor.ts
39344
+ // src/tui/matrix.ts
39324
39345
  import fs8 from "node:fs";
39325
39346
  import path11 from "node:path";
39347
+ function deriveMatrix(agents) {
39348
+ const config = loadConfig();
39349
+ const skills = Object.keys(config.skills).sort();
39350
+ const list = agents ?? detectAll().map((r) => ({
39351
+ id: r.id,
39352
+ name: r.name,
39353
+ installed: r.installed,
39354
+ skillsDir: r.skillsDir
39355
+ }));
39356
+ const cells = {};
39357
+ for (const s of skills) {
39358
+ cells[s] = {};
39359
+ for (const a of list) {
39360
+ const target = path11.join(a.skillsDir, s);
39361
+ let actual = false;
39362
+ let managed = false;
39363
+ try {
39364
+ const st = fs8.lstatSync(target);
39365
+ actual = true;
39366
+ managed = st.isSymbolicLink() && fs8.realpathSync(target) === fs8.realpathSync(skillDir(s));
39367
+ } catch {
39368
+ }
39369
+ cells[s][a.id] = {
39370
+ enabled: config.skills[s].expose[a.id] === true,
39371
+ actual,
39372
+ managed
39373
+ };
39374
+ }
39375
+ }
39376
+ return { skills, agents: list, cells };
39377
+ }
39378
+
39379
+ // src/core/audit.ts
39380
+ function runAudit() {
39381
+ const matrix = deriveMatrix();
39382
+ const config = loadConfig();
39383
+ const agents = [];
39384
+ for (const a of matrix.agents) {
39385
+ if (!a.installed) continue;
39386
+ const active = [];
39387
+ const external = [];
39388
+ const findings = [];
39389
+ for (const skill of matrix.skills) {
39390
+ const cs = matrix.cells[skill]?.[a.id];
39391
+ if (!cs) continue;
39392
+ if (cs.actual && cs.managed) {
39393
+ active.push({
39394
+ skill,
39395
+ source: config.skills[skill]?.source ?? "\u672A\u767B\u8BB0\uFF08\u4E2D\u592E\u4ED3\u5E93\u5B58\u5728\u4F46 config \u7F3A\u5931\uFF09",
39396
+ enabled: cs.enabled
39397
+ });
39398
+ if (!cs.enabled) {
39399
+ findings.push({
39400
+ level: "warn",
39401
+ agent: a.id,
39402
+ message: `'${skill}' \u53D7\u7BA1\u94FE\u63A5\u4ECD\u5B58\u5728\uFF0C\u4F46\u77E9\u9635\u5DF2\u58F0\u660E\u5173\u95ED\uFF08disable \u6216 doctor --fix \u53EF\u6E05\u7406\uFF09`
39403
+ });
39404
+ }
39405
+ } else if (cs.actual && !cs.managed) {
39406
+ external.push({ name: skill, path: `${a.skillsDir}/${skill}` });
39407
+ if (cs.enabled) {
39408
+ findings.push({
39409
+ level: "error",
39410
+ agent: a.id,
39411
+ message: `'${skill}' \u58F0\u660E\u5BF9 ${a.id} \u5F00\u653E\uFF0C\u4F46\u8BE5\u4F4D\u7F6E\u88AB\u5916\u90E8\u540C\u540D\u6761\u76EE\u5360\u7528\u2014\u2014\u5B9E\u9645\u751F\u6548\u7684\u4E0D\u662F\u4E2D\u592E\u4ED3\u5E93\u7248\u672C\uFF08\u53EF\u80FD\u88AB\u7ED5\u8FC7/\u906E\u853D\uFF09`
39412
+ });
39413
+ }
39414
+ } else if (cs.enabled && !cs.actual) {
39415
+ findings.push({
39416
+ level: "warn",
39417
+ agent: a.id,
39418
+ message: `'${skill}' \u58F0\u660E\u5F00\u653E\u4F46\u94FE\u63A5\u7F3A\u5931\uFF08\u6F02\u79FB\uFF0Cdoctor --fix \u53EF\u91CD\u540C\u6B65\uFF09`
39419
+ });
39420
+ }
39421
+ }
39422
+ agents.push({
39423
+ agent: a.id,
39424
+ agentName: a.name,
39425
+ active,
39426
+ external,
39427
+ findings
39428
+ });
39429
+ }
39430
+ return { agents, generatedAt: (/* @__PURE__ */ new Date()).toISOString() };
39431
+ }
39432
+
39433
+ // src/core/doctor.ts
39434
+ import fs9 from "node:fs";
39435
+ import path12 from "node:path";
39326
39436
  function runDoctor() {
39327
39437
  const issues = [];
39328
39438
  const config = loadConfig();
39329
39439
  const state = loadState();
39330
39440
  const home = agentHome();
39331
39441
  for (const [name, entry] of Object.entries(config.skills)) {
39332
- if (!fs8.existsSync(path11.join(skillDir(name), "SKILL.md"))) {
39442
+ if (!fs9.existsSync(path12.join(skillDir(name), "SKILL.md"))) {
39333
39443
  issues.push({
39334
39444
  level: "error",
39335
39445
  message: `config \u4E2D\u7684 '${name}' \u5728\u4E2D\u592E\u4ED3\u5E93\u7F3A\u5931\uFF08source=${entry.source}\uFF09`
39336
39446
  });
39337
39447
  }
39338
39448
  }
39339
- if (fs8.existsSync(storeDir())) {
39340
- for (const e of fs8.readdirSync(storeDir(), { withFileTypes: true })) {
39341
- if (e.isDirectory() && !config.skills[e.name] && fs8.existsSync(path11.join(storeDir(), e.name, "SKILL.md"))) {
39449
+ if (fs9.existsSync(storeDir())) {
39450
+ for (const e of fs9.readdirSync(storeDir(), { withFileTypes: true })) {
39451
+ if (e.isDirectory() && !config.skills[e.name] && fs9.existsSync(path12.join(storeDir(), e.name, "SKILL.md"))) {
39342
39452
  issues.push({
39343
39453
  level: "warn",
39344
39454
  message: `\u4E2D\u592E\u4ED3\u5E93\u4E2D\u7684 '${e.name}' \u672A\u767B\u8BB0\u8FDB config\uFF08\u624B\u52A8\u62F7\u5165\uFF1F\uFF09`,
@@ -39350,7 +39460,7 @@ function runDoctor() {
39350
39460
  for (const link2 of state.links) {
39351
39461
  let st = null;
39352
39462
  try {
39353
- st = fs8.lstatSync(link2.link_path);
39463
+ st = fs9.lstatSync(link2.link_path);
39354
39464
  } catch {
39355
39465
  }
39356
39466
  if (!st) {
@@ -39368,7 +39478,7 @@ function runDoctor() {
39368
39478
  });
39369
39479
  continue;
39370
39480
  }
39371
- if (!fs8.existsSync(link2.link_path)) {
39481
+ if (!fs9.existsSync(link2.link_path)) {
39372
39482
  issues.push({
39373
39483
  level: "error",
39374
39484
  message: `\u65AD\u94FE\uFF1A${link2.link_path} \u6307\u5411\u7684\u76EE\u6807\u4E0D\u5B58\u5728`,
@@ -39378,19 +39488,19 @@ function runDoctor() {
39378
39488
  }
39379
39489
  for (const agent of AGENTS) {
39380
39490
  const dir = agent.skillsDir(home);
39381
- if (!fs8.existsSync(dir)) continue;
39491
+ if (!fs9.existsSync(dir)) continue;
39382
39492
  let entries = [];
39383
39493
  try {
39384
- entries = fs8.readdirSync(dir, { withFileTypes: true });
39494
+ entries = fs9.readdirSync(dir, { withFileTypes: true });
39385
39495
  } catch {
39386
39496
  continue;
39387
39497
  }
39388
39498
  for (const e of entries) {
39389
39499
  if (!e.isSymbolicLink()) continue;
39390
- const linkPath = path11.join(dir, e.name);
39500
+ const linkPath = path12.join(dir, e.name);
39391
39501
  let target = "";
39392
39502
  try {
39393
- target = fs8.readlinkSync(linkPath);
39503
+ target = fs9.readlinkSync(linkPath);
39394
39504
  } catch {
39395
39505
  continue;
39396
39506
  }
@@ -39406,8 +39516,8 @@ function runDoctor() {
39406
39516
  }
39407
39517
  for (const [name, entry] of Object.entries(config.skills)) {
39408
39518
  for (const agent of AGENTS) {
39409
- const target = path11.join(agent.skillsDir(home), name);
39410
- const exposed = fs8.existsSync(target);
39519
+ const target = path12.join(agent.skillsDir(home), name);
39520
+ const exposed = fs9.existsSync(target);
39411
39521
  const wanted = entry.expose[agent.id] === true;
39412
39522
  if (wanted && !exposed) {
39413
39523
  issues.push({
@@ -39432,7 +39542,7 @@ function fixDoctor() {
39432
39542
  state.links = state.links.filter((l) => {
39433
39543
  let ok = false;
39434
39544
  try {
39435
- ok = fs8.existsSync(l.link_path) && fs8.lstatSync(l.link_path).isSymbolicLink();
39545
+ ok = fs9.existsSync(l.link_path) && fs9.lstatSync(l.link_path).isSymbolicLink();
39436
39546
  } catch {
39437
39547
  ok = false;
39438
39548
  }
@@ -39445,10 +39555,10 @@ function fixDoctor() {
39445
39555
  saveState(state);
39446
39556
  const config = loadConfig();
39447
39557
  for (const [name, entry] of Object.entries(config.skills)) {
39448
- if (!fs8.existsSync(path11.join(skillDir(name), "SKILL.md"))) continue;
39558
+ if (!fs9.existsSync(path12.join(skillDir(name), "SKILL.md"))) continue;
39449
39559
  for (const agent of AGENTS) {
39450
- const target = path11.join(agent.skillsDir(agentHome()), name);
39451
- const exposed = fs8.existsSync(target);
39560
+ const target = path12.join(agent.skillsDir(agentHome()), name);
39561
+ const exposed = fs9.existsSync(target);
39452
39562
  const wanted = entry.expose[agent.id] === true;
39453
39563
  if (wanted && !exposed) {
39454
39564
  try {
@@ -39470,7 +39580,7 @@ function fixDoctor() {
39470
39580
  function isOurSymlink(target, state, skill, agentId) {
39471
39581
  let isLink = false;
39472
39582
  try {
39473
- isLink = fs8.lstatSync(target).isSymbolicLink();
39583
+ isLink = fs9.lstatSync(target).isSymbolicLink();
39474
39584
  } catch {
39475
39585
  return false;
39476
39586
  }
@@ -39481,13 +39591,13 @@ function isOurSymlink(target, state, skill, agentId) {
39481
39591
  if (inLedger) return true;
39482
39592
  let real = null;
39483
39593
  try {
39484
- real = fs8.realpathSync(target);
39594
+ real = fs9.realpathSync(target);
39485
39595
  } catch {
39486
39596
  return false;
39487
39597
  }
39488
39598
  let storeReal = null;
39489
39599
  try {
39490
- storeReal = fs8.realpathSync(skillDir(skill));
39600
+ storeReal = fs9.realpathSync(skillDir(skill));
39491
39601
  } catch {
39492
39602
  return false;
39493
39603
  }
@@ -39495,21 +39605,21 @@ function isOurSymlink(target, state, skill, agentId) {
39495
39605
  }
39496
39606
  function sameRealPath(a, b) {
39497
39607
  try {
39498
- return fs8.realpathSync(a) === fs8.realpathSync(b);
39608
+ return fs9.realpathSync(a) === fs9.realpathSync(b);
39499
39609
  } catch {
39500
39610
  return false;
39501
39611
  }
39502
39612
  }
39503
39613
 
39504
39614
  // src/core/adopt.ts
39505
- import fs9 from "node:fs";
39506
- import path12 from "node:path";
39615
+ import fs10 from "node:fs";
39616
+ import path13 from "node:path";
39507
39617
  function isManagedByStore(dir) {
39508
39618
  try {
39509
- if (!fs9.lstatSync(dir).isSymbolicLink()) return false;
39510
- const real = fs9.realpathSync(dir);
39511
- const storeReal = fs9.realpathSync(storeDir());
39512
- return real === storeReal || real.startsWith(storeReal + path12.sep);
39619
+ if (!fs10.lstatSync(dir).isSymbolicLink()) return false;
39620
+ const real = fs10.realpathSync(dir);
39621
+ const storeReal = fs10.realpathSync(storeDir());
39622
+ return real === storeReal || real.startsWith(storeReal + path13.sep);
39513
39623
  } catch {
39514
39624
  return false;
39515
39625
  }
@@ -39518,13 +39628,13 @@ function scanAgentSkills(agentId) {
39518
39628
  const agent = getAgent(agentId);
39519
39629
  if (!agent) throw new Error(`\u672A\u77E5 agent '${agentId}'`);
39520
39630
  const dir = agent.skillsDir(agentHome());
39521
- if (!fs9.existsSync(dir)) return [];
39631
+ if (!fs10.existsSync(dir)) return [];
39522
39632
  const out = [];
39523
- for (const e of fs9.readdirSync(dir, { withFileTypes: true })) {
39633
+ for (const e of fs10.readdirSync(dir, { withFileTypes: true })) {
39524
39634
  if (e.name.startsWith(".")) continue;
39525
39635
  if (!e.isDirectory() && !e.isSymbolicLink()) continue;
39526
- const p = path12.join(dir, e.name);
39527
- if (!fs9.existsSync(path12.join(p, "SKILL.md"))) continue;
39636
+ const p = path13.join(dir, e.name);
39637
+ if (!fs10.existsSync(path13.join(p, "SKILL.md"))) continue;
39528
39638
  out.push({ name: e.name, path: p });
39529
39639
  }
39530
39640
  return out;
@@ -39532,7 +39642,7 @@ function scanAgentSkills(agentId) {
39532
39642
  function scanAdoptable(agentId) {
39533
39643
  return scanAgentSkills(agentId).filter((s) => {
39534
39644
  try {
39535
- return !fs9.lstatSync(s.path).isSymbolicLink();
39645
+ return !fs10.lstatSync(s.path).isSymbolicLink();
39536
39646
  } catch {
39537
39647
  return false;
39538
39648
  }
@@ -39563,7 +39673,7 @@ function adoptSkills(opts = {}) {
39563
39673
  }
39564
39674
  let isOwnSymlink = false;
39565
39675
  try {
39566
- isOwnSymlink = fs9.lstatSync(skill.path).isSymbolicLink();
39676
+ isOwnSymlink = fs10.lstatSync(skill.path).isSymbolicLink();
39567
39677
  } catch {
39568
39678
  }
39569
39679
  if (isOwnSymlink) {
@@ -39583,7 +39693,7 @@ function adoptSkills(opts = {}) {
39583
39693
  items.push({ agent: agentId, name: skill.name, path: skill.path, status: "skipped-invalid", detail: "\u76EE\u5F55\u540D\u4E0D\u5408\u6CD5" });
39584
39694
  continue;
39585
39695
  }
39586
- const existsInStore = !!config.skills[name] || fs9.existsSync(skillDir(name));
39696
+ const existsInStore = !!config.skills[name] || fs10.existsSync(skillDir(name));
39587
39697
  if (opts.dryRun) {
39588
39698
  items.push({
39589
39699
  agent: agentId,
@@ -39640,7 +39750,7 @@ function adoptSkills(opts = {}) {
39640
39750
  saveConfig(config);
39641
39751
  for (const mv of pendingMoves) {
39642
39752
  try {
39643
- fs9.rmSync(mv.path, { recursive: true, force: true });
39753
+ fs10.rmSync(mv.path, { recursive: true, force: true });
39644
39754
  enableSkill(mv.name, [mv.agentId]);
39645
39755
  items.push({
39646
39756
  agent: mv.agentId,
@@ -39675,30 +39785,56 @@ function adoptSkills(opts = {}) {
39675
39785
  }
39676
39786
 
39677
39787
  // src/core/update.ts
39678
- import fs10 from "node:fs";
39788
+ import fs11 from "node:fs";
39679
39789
  import os3 from "node:os";
39680
- import path13 from "node:path";
39790
+ import path14 from "node:path";
39681
39791
  import { execFile as execFile3 } from "node:child_process";
39682
39792
  import { promisify as promisify3 } from "node:util";
39683
39793
  var execFileP3 = promisify3(execFile3);
39794
+ function diffTree(oldDir, newDir) {
39795
+ const IGNORED2 = /* @__PURE__ */ new Set([".git"]);
39796
+ const collect = (root) => {
39797
+ const map = /* @__PURE__ */ new Map();
39798
+ const walk = (d) => {
39799
+ for (const e of fs11.readdirSync(d, { withFileTypes: true })) {
39800
+ if (IGNORED2.has(e.name)) continue;
39801
+ const p = path14.join(d, e.name);
39802
+ if (e.isDirectory()) walk(p);
39803
+ else if (e.isFile()) map.set(path14.relative(root, p), p);
39804
+ }
39805
+ };
39806
+ walk(root);
39807
+ return map;
39808
+ };
39809
+ const oldFiles = collect(oldDir);
39810
+ const newFiles = collect(newDir);
39811
+ const diff2 = { added: [], removed: [], modified: [] };
39812
+ for (const [rel, p] of newFiles) {
39813
+ if (!oldFiles.has(rel)) diff2.added.push(rel);
39814
+ else if (fs11.readFileSync(p) !== fs11.readFileSync(oldFiles.get(rel))) diff2.modified.push(rel);
39815
+ }
39816
+ for (const rel of oldFiles.keys()) if (!newFiles.has(rel)) diff2.removed.push(rel);
39817
+ for (const k of ["added", "removed", "modified"]) diff2[k].sort();
39818
+ return diff2;
39819
+ }
39684
39820
  function parseGitSource(source) {
39685
39821
  return source.startsWith("git:") ? source.slice(4) : null;
39686
39822
  }
39687
39823
  async function fetchRemote(repoSpec) {
39688
39824
  const [url, sub] = repoSpec.split("#");
39689
- const cloneDir = fs10.mkdtempSync(path13.join(os3.tmpdir(), "skillpot-update-"));
39825
+ const cloneDir = fs11.mkdtempSync(path14.join(os3.tmpdir(), "skillpot-update-"));
39690
39826
  try {
39691
39827
  await execFileP3("git", ["clone", "--depth", "1", url, cloneDir], {
39692
39828
  timeout: 3e5,
39693
39829
  maxBuffer: 16 * 1024 * 1024
39694
39830
  });
39695
- const contentDir = sub ? path13.join(cloneDir, sub) : cloneDir;
39696
- if (!fs10.existsSync(path13.join(contentDir, "SKILL.md"))) {
39831
+ const contentDir = sub ? path14.join(cloneDir, sub) : cloneDir;
39832
+ if (!fs11.existsSync(path14.join(contentDir, "SKILL.md"))) {
39697
39833
  throw new Error(`\u8FDC\u7AEF ${sub ? `#${sub} ` : ""}\u4E2D\u6CA1\u6709 SKILL.md`);
39698
39834
  }
39699
39835
  return { checksum: dirChecksum(contentDir), cloneDir, sub };
39700
39836
  } catch (e) {
39701
- fs10.rmSync(cloneDir, { recursive: true, force: true });
39837
+ fs11.rmSync(cloneDir, { recursive: true, force: true });
39702
39838
  throw e;
39703
39839
  }
39704
39840
  }
@@ -39717,7 +39853,7 @@ async function updateSkills(name, opts = {}) {
39717
39853
  results.push({ skill: n, status: "local", detail: entry.source });
39718
39854
  continue;
39719
39855
  }
39720
- if (!fs10.existsSync(skillDir(n))) {
39856
+ if (!fs11.existsSync(skillDir(n))) {
39721
39857
  results.push({ skill: n, status: "error", detail: "\u4E2D\u592E\u4ED3\u5E93\u7F3A\u5931" });
39722
39858
  continue;
39723
39859
  }
@@ -39728,24 +39864,35 @@ async function updateSkills(name, opts = {}) {
39728
39864
  results.push({ skill: n, status: "up-to-date" });
39729
39865
  continue;
39730
39866
  }
39867
+ const srcDir = fetched.sub ? path14.join(fetched.cloneDir, fetched.sub) : fetched.cloneDir;
39868
+ const diff2 = diffTree(skillDir(n), srcDir);
39731
39869
  if (opts.check) {
39732
- results.push({ skill: n, status: "outdated", detail: `\u8FDC\u7AEF ${fetched.checksum.slice(0, 15)}` });
39870
+ results.push({
39871
+ skill: n,
39872
+ status: "outdated",
39873
+ detail: `\u8FDC\u7AEF ${fetched.checksum.slice(0, 15)}`,
39874
+ diff: diff2
39875
+ });
39733
39876
  continue;
39734
39877
  }
39735
- const staging = fs10.mkdtempSync(path13.join(os3.tmpdir(), "skillpot-new-"));
39878
+ const staging = fs11.mkdtempSync(path14.join(os3.tmpdir(), "skillpot-new-"));
39736
39879
  try {
39737
- const srcDir = fetched.sub ? path13.join(fetched.cloneDir, fetched.sub) : fetched.cloneDir;
39738
- fs10.cpSync(srcDir, staging, { recursive: true });
39739
- fs10.rmSync(skillDir(n), { recursive: true, force: true });
39740
- fs10.cpSync(staging, skillDir(n), { recursive: true });
39880
+ fs11.cpSync(srcDir, staging, { recursive: true });
39881
+ fs11.rmSync(skillDir(n), { recursive: true, force: true });
39882
+ fs11.cpSync(staging, skillDir(n), { recursive: true });
39741
39883
  } finally {
39742
- fs10.rmSync(staging, { recursive: true, force: true });
39884
+ fs11.rmSync(staging, { recursive: true, force: true });
39743
39885
  }
39744
39886
  entry.checksum = dirChecksum(skillDir(n));
39745
39887
  entry.installed_at = (/* @__PURE__ */ new Date()).toISOString();
39746
- results.push({ skill: n, status: "updated", detail: entry.checksum.slice(0, 15) });
39888
+ results.push({
39889
+ skill: n,
39890
+ status: "updated",
39891
+ detail: entry.checksum.slice(0, 15),
39892
+ diff: diff2
39893
+ });
39747
39894
  } finally {
39748
- fs10.rmSync(fetched.cloneDir, { recursive: true, force: true });
39895
+ fs11.rmSync(fetched.cloneDir, { recursive: true, force: true });
39749
39896
  }
39750
39897
  } catch (e) {
39751
39898
  results.push({ skill: n, status: "error", detail: e instanceof Error ? e.message : String(e) });
@@ -39759,21 +39906,21 @@ async function updateSkills(name, opts = {}) {
39759
39906
  import readline from "node:readline";
39760
39907
 
39761
39908
  // src/core/skill-detail.ts
39762
- import fs11 from "node:fs";
39763
- import path14 from "node:path";
39909
+ import fs12 from "node:fs";
39910
+ import path15 from "node:path";
39764
39911
  function readSkillDetail(name) {
39765
39912
  const dir = skillDir(name);
39766
- const mdPath = path14.join(dir, "SKILL.md");
39767
- if (!fs11.existsSync(mdPath)) return null;
39913
+ const mdPath = path15.join(dir, "SKILL.md");
39914
+ if (!fs12.existsSync(mdPath)) return null;
39768
39915
  const files = [];
39769
39916
  const walk = (d) => {
39770
- for (const e of fs11.readdirSync(d, { withFileTypes: true })) {
39771
- const p = path14.join(d, e.name);
39917
+ for (const e of fs12.readdirSync(d, { withFileTypes: true })) {
39918
+ const p = path15.join(d, e.name);
39772
39919
  if (e.isDirectory()) {
39773
- files.push(path14.relative(dir, p) + "/");
39920
+ files.push(path15.relative(dir, p) + "/");
39774
39921
  walk(p);
39775
39922
  } else {
39776
- files.push(path14.relative(dir, p));
39923
+ files.push(path15.relative(dir, p));
39777
39924
  }
39778
39925
  }
39779
39926
  };
@@ -39782,7 +39929,7 @@ function readSkillDetail(name) {
39782
39929
  name,
39783
39930
  meta: readSkillMeta(dir),
39784
39931
  files: files.sort(),
39785
- skillMd: fs11.readFileSync(mdPath, "utf8")
39932
+ skillMd: fs12.readFileSync(mdPath, "utf8")
39786
39933
  };
39787
39934
  }
39788
39935
 
@@ -39919,41 +40066,6 @@ import path16 from "node:path";
39919
40066
  import { spawn } from "node:child_process";
39920
40067
  import { fileURLToPath } from "node:url";
39921
40068
 
39922
- // src/tui/matrix.ts
39923
- import fs12 from "node:fs";
39924
- import path15 from "node:path";
39925
- function deriveMatrix(agents) {
39926
- const config = loadConfig();
39927
- const skills = Object.keys(config.skills).sort();
39928
- const list = agents ?? detectAll().map((r) => ({
39929
- id: r.id,
39930
- name: r.name,
39931
- installed: r.installed,
39932
- skillsDir: r.skillsDir
39933
- }));
39934
- const cells = {};
39935
- for (const s of skills) {
39936
- cells[s] = {};
39937
- for (const a of list) {
39938
- const target = path15.join(a.skillsDir, s);
39939
- let actual = false;
39940
- let managed = false;
39941
- try {
39942
- const st = fs12.lstatSync(target);
39943
- actual = true;
39944
- managed = st.isSymbolicLink() && fs12.realpathSync(target) === fs12.realpathSync(skillDir(s));
39945
- } catch {
39946
- }
39947
- cells[s][a.id] = {
39948
- enabled: config.skills[s].expose[a.id] === true,
39949
- actual,
39950
- managed
39951
- };
39952
- }
39953
- }
39954
- return { skills, agents: list, cells };
39955
- }
39956
-
39957
40069
  // src/tui/cells.ts
39958
40070
  var import_picocolors = __toESM(require_picocolors());
39959
40071
  function cellGlyph(cs) {
@@ -46288,6 +46400,45 @@ program2.command("doctor").description("\u4F53\u68C0\uFF1A\u65AD\u94FE\u3001expo
46288
46400
  printIssues(issues);
46289
46401
  })
46290
46402
  );
46403
+ program2.command("audit").description("\u5BA1\u8BA1\uFF1A\u6BCF\u4E2A Agent \u5B9E\u9645\u751F\u6548\u7684 skill\u3001\u6765\u6E90\u4E0E\u88AB\u7ED5\u8FC7/\u906E\u853D\u60C5\u51B5").option("--json", "\u4EE5 JSON \u8F93\u51FA").action(
46404
+ run((opts) => {
46405
+ const report = runAudit();
46406
+ if (opts.json) {
46407
+ console.log(JSON.stringify(report, null, 2));
46408
+ return;
46409
+ }
46410
+ for (const a of report.agents) {
46411
+ console.log(
46412
+ import_picocolors2.default.bold(`${a.agentName} (${a.agent})`) + ` \u2014 \u5B9E\u9645\u751F\u6548 ${a.active.length} \u4E2A`
46413
+ );
46414
+ if (a.active.length) {
46415
+ console.log(
46416
+ renderTable(
46417
+ ["Skill", "\u6765\u6E90", "\u58F0\u660E"],
46418
+ a.active.map((e) => [
46419
+ e.skill,
46420
+ e.source.length > 64 ? e.source.slice(0, 61) + "\u2026" : e.source,
46421
+ e.enabled ? "\u5F00\u653E" : import_picocolors2.default.yellow("\u5173\u95ED\uFF08\u94FE\u63A5\u6B8B\u7559\uFF09")
46422
+ ])
46423
+ )
46424
+ );
46425
+ } else {
46426
+ console.log(import_picocolors2.default.dim(" \uFF08\u65E0\u751F\u6548 skill\uFF09"));
46427
+ }
46428
+ for (const e of a.external) {
46429
+ console.log(import_picocolors2.default.yellow(`\u26A0 \u5916\u90E8\u540C\u540D\u6761\u76EE\uFF08\u975E\u672C\u5DE5\u5177\u521B\u5EFA\uFF09\uFF1A${e.path}`));
46430
+ }
46431
+ for (const f of a.findings) {
46432
+ console.log(f.level === "error" ? import_picocolors2.default.red(`\u2717 ${f.message}`) : import_picocolors2.default.yellow(`\u26A0 ${f.message}`));
46433
+ }
46434
+ console.log();
46435
+ }
46436
+ const total = report.agents.reduce((n, a) => n + a.findings.length, 0);
46437
+ console.log(
46438
+ total ? import_picocolors2.default.yellow(`\u5BA1\u8BA1\u5B8C\u6210\uFF0C\u5171 ${total} \u6761\u53D1\u73B0\uFF0C\u8BE6\u89C1\u4E0A\u8868`) : import_picocolors2.default.green("\u5BA1\u8BA1\u901A\u8FC7\uFF1A\u5404 Agent \u5B9E\u9645\u751F\u6548\u72B6\u6001\u4E0E\u77E9\u9635\u4E00\u81F4")
46439
+ );
46440
+ })
46441
+ );
46291
46442
  function printIssues(issues) {
46292
46443
  for (const i of issues) {
46293
46444
  const tag = i.level === "error" ? import_picocolors2.default.red("error") : import_picocolors2.default.yellow("warn ");
@@ -46375,7 +46526,20 @@ program2.command("update [skill]").description("\u68C0\u67E5\u5E76\u5E94\u7528 g
46375
46526
  console.log(
46376
46527
  renderTable(
46377
46528
  ["Skill", "\u72B6\u6001", "\u5907\u6CE8"],
46378
- results.map((r) => [r.skill, label[r.status] ?? r.status, r.detail ?? ""])
46529
+ results.map((r) => {
46530
+ let note = r.detail ?? "";
46531
+ if (r.diff) {
46532
+ const { added, modified, removed } = r.diff;
46533
+ const counts = [
46534
+ added.length ? `+${added.length}` : "",
46535
+ modified.length ? `~${modified.length}` : "",
46536
+ removed.length ? `-${removed.length}` : ""
46537
+ ].filter(Boolean).join(" ");
46538
+ const paths = [...added, ...modified, ...removed];
46539
+ note = `${note ? note + " " : ""}diff ${counts}\uFF08${paths.slice(0, 4).join("\u3001")}${paths.length > 4 ? " \u7B49" : ""}\uFF09`;
46540
+ }
46541
+ return [r.skill, label[r.status] ?? r.status, note];
46542
+ })
46379
46543
  )
46380
46544
  );
46381
46545
  })
@@ -37,4 +37,4 @@
37
37
  `+l[u].replace(" at new "," at ");return e.displayName&&s.includes("<anonymous>")&&(s=s.replace("<anonymous>",e.displayName)),s}while(1<=u&&0<=o);break}}}finally{Cl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?xn(e):""}function Oc(e){switch(e.tag){case 5:return xn(e.type);case 16:return xn("Lazy");case 13:return xn("Suspense");case 19:return xn("SuspenseList");case 0:case 2:case 15:return e=jl(e.type,!1),e;case 11:return e=jl(e.type.render,!1),e;case 1:return e=jl(e.type,!0),e;default:return""}}function bl(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 At:return"Fragment";case Ut:return"Portal";case Zl:return"Profiler";case Gi:return"StrictMode";case Jl:return"Suspense";case ql:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case as:return(e.displayName||"Context")+".Consumer";case ss:return(e._context.displayName||"Context")+".Provider";case Zi:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ji:return t=e.displayName||null,t!==null?t:bl(e.type)||"Memo";case qe:t=e._payload,e=e._init;try{return bl(e(t))}catch{}}return null}function Mc(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 bl(t);case 8:return t===Gi?"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 dt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function fs(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Dc(e){var t=fs(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 l=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(u){r=""+u,i.call(this,u)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(u){r=""+u},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function sr(e){e._valueTracker||(e._valueTracker=Dc(e))}function ds(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=fs(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Ir(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 ei(e,t){var n=t.checked;return W({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Bu(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=dt(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 ps(e,t){t=t.checked,t!=null&&Xi(e,"checked",t,!1)}function ti(e,t){ps(e,t);var n=dt(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")?ni(e,t.type,n):t.hasOwnProperty("defaultValue")&&ni(e,t.type,dt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Hu(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 ni(e,t,n){(t!=="number"||Ir(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Nn=Array.isArray;function Jt(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l<n.length;l++)t["$"+n[l]]=!0;for(n=0;n<e.length;n++)l=t.hasOwnProperty("$"+e[n].value),e[n].selected!==l&&(e[n].selected=l),l&&r&&(e[n].defaultSelected=!0)}else{for(n=""+dt(n),t=null,l=0;l<e.length;l++){if(e[l].value===n){e[l].selected=!0,r&&(e[l].defaultSelected=!0);return}t!==null||e[l].disabled||(t=e[l])}t!==null&&(t.selected=!0)}}function ri(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(x(91));return W({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Qu(e,t){var n=t.value;if(n==null){if(n=t.children,t=t.defaultValue,n!=null){if(t!=null)throw Error(x(92));if(Nn(n)){if(1<n.length)throw Error(x(93));n=n[0]}t=n}t==null&&(t=""),n=t}e._wrapperState={initialValue:dt(n)}}function ms(e,t){var n=dt(t.value),r=dt(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 Wu(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function hs(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 li(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?hs(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var ar,vs=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,n,r,l){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,l)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(ar=ar||document.createElement("div"),ar.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ar.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function In(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var jn={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},Ic=["Webkit","ms","Moz","O"];Object.keys(jn).forEach(function(e){Ic.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),jn[t]=jn[e]})});function gs(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||jn.hasOwnProperty(e)&&jn[e]?(""+t).trim():t+"px"}function ys(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,l=gs(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,l):e[n]=l}}var Fc=W({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 ii(e,t){if(t){if(Fc[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(x(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(x(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(x(61))}if(t.style!=null&&typeof t.style!="object")throw Error(x(62))}}function ui(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 oi=null;function qi(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var si=null,qt=null,bt=null;function Ku(e){if(e=tr(e)){if(typeof si!="function")throw Error(x(280));var t=e.stateNode;t&&(t=fl(t),si(e.stateNode,e.type,t))}}function ks(e){qt?bt?bt.push(e):bt=[e]:qt=e}function ws(){if(qt){var e=qt,t=bt;if(bt=qt=null,Ku(e),t)for(e=0;e<t.length;e++)Ku(t[e])}}function Ss(e,t){return e(t)}function xs(){}var _l=!1;function Ns(e,t,n){if(_l)return e(t,n);_l=!0;try{return Ss(e,t,n)}finally{_l=!1,(qt!==null||bt!==null)&&(xs(),ws())}}function Fn(e,t){var n=e.stateNode;if(n===null)return null;var r=fl(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(x(231,t,typeof n));return n}var ai=!1;if(Ke)try{var hn={};Object.defineProperty(hn,"passive",{get:function(){ai=!0}}),window.addEventListener("test",hn,hn),window.removeEventListener("test",hn,hn)}catch{ai=!1}function $c(e,t,n,r,l,i,u,o,s){var f=Array.prototype.slice.call(arguments,3);try{t.apply(n,f)}catch(v){this.onError(v)}}var _n=!1,Fr=null,$r=!1,ci=null,Uc={onError:function(e){_n=!0,Fr=e}};function Ac(e,t,n,r,l,i,u,o,s){_n=!1,Fr=null,$c.apply(Uc,arguments)}function Vc(e,t,n,r,l,i,u,o,s){if(Ac.apply(this,arguments),_n){if(_n){var f=Fr;_n=!1,Fr=null}else throw Error(x(198));$r||($r=!0,ci=f)}}function It(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 Es(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 Yu(e){if(It(e)!==e)throw Error(x(188))}function Bc(e){var t=e.alternate;if(!t){if(t=It(e),t===null)throw Error(x(188));return t!==e?null:e}for(var n=e,r=t;;){var l=n.return;if(l===null)break;var i=l.alternate;if(i===null){if(r=l.return,r!==null){n=r;continue}break}if(l.child===i.child){for(i=l.child;i;){if(i===n)return Yu(l),e;if(i===r)return Yu(l),t;i=i.sibling}throw Error(x(188))}if(n.return!==r.return)n=l,r=i;else{for(var u=!1,o=l.child;o;){if(o===n){u=!0,n=l,r=i;break}if(o===r){u=!0,r=l,n=i;break}o=o.sibling}if(!u){for(o=i.child;o;){if(o===n){u=!0,n=i,r=l;break}if(o===r){u=!0,r=i,n=l;break}o=o.sibling}if(!u)throw Error(x(189))}}if(n.alternate!==r)throw Error(x(190))}if(n.tag!==3)throw Error(x(188));return n.stateNode.current===n?e:t}function Cs(e){return e=Bc(e),e!==null?js(e):null}function js(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=js(e);if(t!==null)return t;e=e.sibling}return null}var _s=we.unstable_scheduleCallback,Xu=we.unstable_cancelCallback,Hc=we.unstable_shouldYield,Qc=we.unstable_requestPaint,Y=we.unstable_now,Wc=we.unstable_getCurrentPriorityLevel,bi=we.unstable_ImmediatePriority,Ps=we.unstable_UserBlockingPriority,Ur=we.unstable_NormalPriority,Kc=we.unstable_LowPriority,Ts=we.unstable_IdlePriority,ol=null,Ue=null;function Yc(e){if(Ue&&typeof Ue.onCommitFiberRoot=="function")try{Ue.onCommitFiberRoot(ol,e,void 0,(e.current.flags&128)===128)}catch{}}var Oe=Math.clz32?Math.clz32:Zc,Xc=Math.log,Gc=Math.LN2;function Zc(e){return e>>>=0,e===0?32:31-(Xc(e)/Gc|0)|0}var cr=64,fr=4194304;function En(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 Ar(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,l=e.suspendedLanes,i=e.pingedLanes,u=n&268435455;if(u!==0){var o=u&~l;o!==0?r=En(o):(i&=u,i!==0&&(r=En(i)))}else u=n&~l,u!==0?r=En(u):i!==0&&(r=En(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&l)&&(l=r&-r,i=t&-t,l>=i||l===16&&(i&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-Oe(t),l=1<<n,r|=e[n],t&=~l;return r}function Jc(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 qc(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,l=e.expirationTimes,i=e.pendingLanes;0<i;){var u=31-Oe(i),o=1<<u,s=l[u];s===-1?(!(o&n)||o&r)&&(l[u]=Jc(o,t)):s<=t&&(e.expiredLanes|=o),i&=~o}}function fi(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function zs(){var e=cr;return cr<<=1,!(cr&4194240)&&(cr=64),e}function Pl(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function bn(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Oe(t),e[t]=n}function bc(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 l=31-Oe(n),i=1<<l;t[l]=0,r[l]=-1,e[l]=-1,n&=~i}}function eu(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Oe(n),l=1<<r;l&t|e[r]&t&&(e[r]|=t),n&=~l}}var F=0;function Ls(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var Rs,tu,Os,Ms,Ds,di=!1,dr=[],lt=null,it=null,ut=null,$n=new Map,Un=new Map,et=[],ef="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 Gu(e,t){switch(e){case"focusin":case"focusout":lt=null;break;case"dragenter":case"dragleave":it=null;break;case"mouseover":case"mouseout":ut=null;break;case"pointerover":case"pointerout":$n.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Un.delete(t.pointerId)}}function vn(e,t,n,r,l,i){return e===null||e.nativeEvent!==i?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:i,targetContainers:[l]},t!==null&&(t=tr(t),t!==null&&tu(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,l!==null&&t.indexOf(l)===-1&&t.push(l),e)}function tf(e,t,n,r,l){switch(t){case"focusin":return lt=vn(lt,e,t,n,r,l),!0;case"dragenter":return it=vn(it,e,t,n,r,l),!0;case"mouseover":return ut=vn(ut,e,t,n,r,l),!0;case"pointerover":var i=l.pointerId;return $n.set(i,vn($n.get(i)||null,e,t,n,r,l)),!0;case"gotpointercapture":return i=l.pointerId,Un.set(i,vn(Un.get(i)||null,e,t,n,r,l)),!0}return!1}function Is(e){var t=Ct(e.target);if(t!==null){var n=It(t);if(n!==null){if(t=n.tag,t===13){if(t=Es(n),t!==null){e.blockedOn=t,Ds(e.priority,function(){Os(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 jr(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=pi(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);oi=r,n.target.dispatchEvent(r),oi=null}else return t=tr(n),t!==null&&tu(t),e.blockedOn=n,!1;t.shift()}return!0}function Zu(e,t,n){jr(e)&&n.delete(t)}function nf(){di=!1,lt!==null&&jr(lt)&&(lt=null),it!==null&&jr(it)&&(it=null),ut!==null&&jr(ut)&&(ut=null),$n.forEach(Zu),Un.forEach(Zu)}function gn(e,t){e.blockedOn===t&&(e.blockedOn=null,di||(di=!0,we.unstable_scheduleCallback(we.unstable_NormalPriority,nf)))}function An(e){function t(l){return gn(l,e)}if(0<dr.length){gn(dr[0],e);for(var n=1;n<dr.length;n++){var r=dr[n];r.blockedOn===e&&(r.blockedOn=null)}}for(lt!==null&&gn(lt,e),it!==null&&gn(it,e),ut!==null&&gn(ut,e),$n.forEach(t),Un.forEach(t),n=0;n<et.length;n++)r=et[n],r.blockedOn===e&&(r.blockedOn=null);for(;0<et.length&&(n=et[0],n.blockedOn===null);)Is(n),n.blockedOn===null&&et.shift()}var en=Ze.ReactCurrentBatchConfig,Vr=!0;function rf(e,t,n,r){var l=F,i=en.transition;en.transition=null;try{F=1,nu(e,t,n,r)}finally{F=l,en.transition=i}}function lf(e,t,n,r){var l=F,i=en.transition;en.transition=null;try{F=4,nu(e,t,n,r)}finally{F=l,en.transition=i}}function nu(e,t,n,r){if(Vr){var l=pi(e,t,n,r);if(l===null)$l(e,t,r,Br,n),Gu(e,r);else if(tf(l,e,t,n,r))r.stopPropagation();else if(Gu(e,r),t&4&&-1<ef.indexOf(e)){for(;l!==null;){var i=tr(l);if(i!==null&&Rs(i),i=pi(e,t,n,r),i===null&&$l(e,t,r,Br,n),i===l)break;l=i}l!==null&&r.stopPropagation()}else $l(e,t,r,null,n)}}var Br=null;function pi(e,t,n,r){if(Br=null,e=qi(r),e=Ct(e),e!==null)if(t=It(e),t===null)e=null;else if(n=t.tag,n===13){if(e=Es(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 Br=e,null}function Fs(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(Wc()){case bi:return 1;case Ps:return 4;case Ur:case Kc:return 16;case Ts:return 536870912;default:return 16}default:return 16}}var nt=null,ru=null,_r=null;function $s(){if(_r)return _r;var e,t=ru,n=t.length,r,l="value"in nt?nt.value:nt.textContent,i=l.length;for(e=0;e<n&&t[e]===l[e];e++);var u=n-e;for(r=1;r<=u&&t[n-r]===l[i-r];r++);return _r=l.slice(e,1<r?1-r:void 0)}function Pr(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 pr(){return!0}function Ju(){return!1}function xe(e){function t(n,r,l,i,u){this._reactName=n,this._targetInst=l,this.type=r,this.nativeEvent=i,this.target=u,this.currentTarget=null;for(var o in e)e.hasOwnProperty(o)&&(n=e[o],this[o]=n?n(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented!=null?i.defaultPrevented:i.returnValue===!1)?pr:Ju,this.isPropagationStopped=Ju,this}return W(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=pr)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=pr)},persist:function(){},isPersistent:pr}),t}var dn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},lu=xe(dn),er=W({},dn,{view:0,detail:0}),uf=xe(er),Tl,zl,yn,sl=W({},er,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:iu,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!==yn&&(yn&&e.type==="mousemove"?(Tl=e.screenX-yn.screenX,zl=e.screenY-yn.screenY):zl=Tl=0,yn=e),Tl)},movementY:function(e){return"movementY"in e?e.movementY:zl}}),qu=xe(sl),of=W({},sl,{dataTransfer:0}),sf=xe(of),af=W({},er,{relatedTarget:0}),Ll=xe(af),cf=W({},dn,{animationName:0,elapsedTime:0,pseudoElement:0}),ff=xe(cf),df=W({},dn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),pf=xe(df),mf=W({},dn,{data:0}),bu=xe(mf),hf={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},vf={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"},gf={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function yf(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=gf[e])?!!t[e]:!1}function iu(){return yf}var kf=W({},er,{key:function(e){if(e.key){var t=hf[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Pr(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?vf[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:iu,charCode:function(e){return e.type==="keypress"?Pr(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Pr(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),wf=xe(kf),Sf=W({},sl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),eo=xe(Sf),xf=W({},er,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:iu}),Nf=xe(xf),Ef=W({},dn,{propertyName:0,elapsedTime:0,pseudoElement:0}),Cf=xe(Ef),jf=W({},sl,{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}),_f=xe(jf),Pf=[9,13,27,32],uu=Ke&&"CompositionEvent"in window,Pn=null;Ke&&"documentMode"in document&&(Pn=document.documentMode);var Tf=Ke&&"TextEvent"in window&&!Pn,Us=Ke&&(!uu||Pn&&8<Pn&&11>=Pn),to=" ",no=!1;function As(e,t){switch(e){case"keyup":return Pf.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Vs(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Vt=!1;function zf(e,t){switch(e){case"compositionend":return Vs(t);case"keypress":return t.which!==32?null:(no=!0,to);case"textInput":return e=t.data,e===to&&no?null:e;default:return null}}function Lf(e,t){if(Vt)return e==="compositionend"||!uu&&As(e,t)?(e=$s(),_r=ru=nt=null,Vt=!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 Us&&t.locale!=="ko"?null:t.data;default:return null}}var Rf={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 ro(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!Rf[e.type]:t==="textarea"}function Bs(e,t,n,r){ks(r),t=Hr(t,"onChange"),0<t.length&&(n=new lu("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Tn=null,Vn=null;function Of(e){bs(e,0)}function al(e){var t=Qt(e);if(ds(t))return e}function Mf(e,t){if(e==="change")return t}var Hs=!1;if(Ke){var Rl;if(Ke){var Ol="oninput"in document;if(!Ol){var lo=document.createElement("div");lo.setAttribute("oninput","return;"),Ol=typeof lo.oninput=="function"}Rl=Ol}else Rl=!1;Hs=Rl&&(!document.documentMode||9<document.documentMode)}function io(){Tn&&(Tn.detachEvent("onpropertychange",Qs),Vn=Tn=null)}function Qs(e){if(e.propertyName==="value"&&al(Vn)){var t=[];Bs(t,Vn,e,qi(e)),Ns(Of,t)}}function Df(e,t,n){e==="focusin"?(io(),Tn=t,Vn=n,Tn.attachEvent("onpropertychange",Qs)):e==="focusout"&&io()}function If(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return al(Vn)}function Ff(e,t){if(e==="click")return al(t)}function $f(e,t){if(e==="input"||e==="change")return al(t)}function Uf(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var De=typeof Object.is=="function"?Object.is:Uf;function Bn(e,t){if(De(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 l=n[r];if(!Gl.call(t,l)||!De(e[l],t[l]))return!1}return!0}function uo(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function oo(e,t){var n=uo(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=uo(n)}}function Ws(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ws(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ks(){for(var e=window,t=Ir();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ir(e.document)}return t}function ou(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 Af(e){var t=Ks(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&Ws(n.ownerDocument.documentElement,n)){if(r!==null&&ou(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 l=n.textContent.length,i=Math.min(r.start,l);r=r.end===void 0?i:Math.min(r.end,l),!e.extend&&i>r&&(l=r,r=i,i=l),l=oo(n,i);var u=oo(n,r);l&&u&&(e.rangeCount!==1||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==u.node||e.focusOffset!==u.offset)&&(t=t.createRange(),t.setStart(l.node,l.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(u.node,u.offset)):(t.setEnd(u.node,u.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 Vf=Ke&&"documentMode"in document&&11>=document.documentMode,Bt=null,mi=null,zn=null,hi=!1;function so(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;hi||Bt==null||Bt!==Ir(r)||(r=Bt,"selectionStart"in r&&ou(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}),zn&&Bn(zn,r)||(zn=r,r=Hr(mi,"onSelect"),0<r.length&&(t=new lu("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=Bt)))}function mr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Ht={animationend:mr("Animation","AnimationEnd"),animationiteration:mr("Animation","AnimationIteration"),animationstart:mr("Animation","AnimationStart"),transitionend:mr("Transition","TransitionEnd")},Ml={},Ys={};Ke&&(Ys=document.createElement("div").style,"AnimationEvent"in window||(delete Ht.animationend.animation,delete Ht.animationiteration.animation,delete Ht.animationstart.animation),"TransitionEvent"in window||delete Ht.transitionend.transition);function cl(e){if(Ml[e])return Ml[e];if(!Ht[e])return e;var t=Ht[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Ys)return Ml[e]=t[n];return e}var Xs=cl("animationend"),Gs=cl("animationiteration"),Zs=cl("animationstart"),Js=cl("transitionend"),qs=new Map,ao="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 mt(e,t){qs.set(e,t),Dt(t,[e])}for(var Dl=0;Dl<ao.length;Dl++){var Il=ao[Dl],Bf=Il.toLowerCase(),Hf=Il[0].toUpperCase()+Il.slice(1);mt(Bf,"on"+Hf)}mt(Xs,"onAnimationEnd");mt(Gs,"onAnimationIteration");mt(Zs,"onAnimationStart");mt("dblclick","onDoubleClick");mt("focusin","onFocus");mt("focusout","onBlur");mt(Js,"onTransitionEnd");rn("onMouseEnter",["mouseout","mouseover"]);rn("onMouseLeave",["mouseout","mouseover"]);rn("onPointerEnter",["pointerout","pointerover"]);rn("onPointerLeave",["pointerout","pointerover"]);Dt("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Dt("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Dt("onBeforeInput",["compositionend","keypress","textInput","paste"]);Dt("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Dt("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Dt("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Cn="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(" "),Qf=new Set("cancel close invalid load scroll toggle".split(" ").concat(Cn));function co(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,Vc(r,t,void 0,e),e.currentTarget=null}function bs(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],l=r.event;r=r.listeners;e:{var i=void 0;if(t)for(var u=r.length-1;0<=u;u--){var o=r[u],s=o.instance,f=o.currentTarget;if(o=o.listener,s!==i&&l.isPropagationStopped())break e;co(l,o,f),i=s}else for(u=0;u<r.length;u++){if(o=r[u],s=o.instance,f=o.currentTarget,o=o.listener,s!==i&&l.isPropagationStopped())break e;co(l,o,f),i=s}}}if($r)throw e=ci,$r=!1,ci=null,e}function A(e,t){var n=t[wi];n===void 0&&(n=t[wi]=new Set);var r=e+"__bubble";n.has(r)||(ea(t,e,2,!1),n.add(r))}function Fl(e,t,n){var r=0;t&&(r|=4),ea(n,e,r,t)}var hr="_reactListening"+Math.random().toString(36).slice(2);function Hn(e){if(!e[hr]){e[hr]=!0,os.forEach(function(n){n!=="selectionchange"&&(Qf.has(n)||Fl(n,!1,e),Fl(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[hr]||(t[hr]=!0,Fl("selectionchange",!1,t))}}function ea(e,t,n,r){switch(Fs(t)){case 1:var l=rf;break;case 4:l=lf;break;default:l=nu}n=l.bind(null,t,n,e),l=void 0,!ai||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(l=!0),r?l!==void 0?e.addEventListener(t,n,{capture:!0,passive:l}):e.addEventListener(t,n,!0):l!==void 0?e.addEventListener(t,n,{passive:l}):e.addEventListener(t,n,!1)}function $l(e,t,n,r,l){var i=r;if(!(t&1)&&!(t&2)&&r!==null)e:for(;;){if(r===null)return;var u=r.tag;if(u===3||u===4){var o=r.stateNode.containerInfo;if(o===l||o.nodeType===8&&o.parentNode===l)break;if(u===4)for(u=r.return;u!==null;){var s=u.tag;if((s===3||s===4)&&(s=u.stateNode.containerInfo,s===l||s.nodeType===8&&s.parentNode===l))return;u=u.return}for(;o!==null;){if(u=Ct(o),u===null)return;if(s=u.tag,s===5||s===6){r=i=u;continue e}o=o.parentNode}}r=r.return}Ns(function(){var f=i,v=qi(n),h=[];e:{var m=qs.get(e);if(m!==void 0){var S=lu,w=e;switch(e){case"keypress":if(Pr(n)===0)break e;case"keydown":case"keyup":S=wf;break;case"focusin":w="focus",S=Ll;break;case"focusout":w="blur",S=Ll;break;case"beforeblur":case"afterblur":S=Ll;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":S=qu;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":S=sf;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":S=Nf;break;case Xs:case Gs:case Zs:S=ff;break;case Js:S=Cf;break;case"scroll":S=uf;break;case"wheel":S=_f;break;case"copy":case"cut":case"paste":S=pf;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":S=eo}var k=(t&4)!==0,O=!k&&e==="scroll",a=k?m!==null?m+"Capture":null:m;k=[];for(var c=f,p;c!==null;){p=c;var g=p.stateNode;if(p.tag===5&&g!==null&&(p=g,a!==null&&(g=Fn(c,a),g!=null&&k.push(Qn(c,g,p)))),O)break;c=c.return}0<k.length&&(m=new S(m,w,null,n,v),h.push({event:m,listeners:k}))}}if(!(t&7)){e:{if(m=e==="mouseover"||e==="pointerover",S=e==="mouseout"||e==="pointerout",m&&n!==oi&&(w=n.relatedTarget||n.fromElement)&&(Ct(w)||w[Ye]))break e;if((S||m)&&(m=v.window===v?v:(m=v.ownerDocument)?m.defaultView||m.parentWindow:window,S?(w=n.relatedTarget||n.toElement,S=f,w=w?Ct(w):null,w!==null&&(O=It(w),w!==O||w.tag!==5&&w.tag!==6)&&(w=null)):(S=null,w=f),S!==w)){if(k=qu,g="onMouseLeave",a="onMouseEnter",c="mouse",(e==="pointerout"||e==="pointerover")&&(k=eo,g="onPointerLeave",a="onPointerEnter",c="pointer"),O=S==null?m:Qt(S),p=w==null?m:Qt(w),m=new k(g,c+"leave",S,n,v),m.target=O,m.relatedTarget=p,g=null,Ct(v)===f&&(k=new k(a,c+"enter",w,n,v),k.target=p,k.relatedTarget=O,g=k),O=g,S&&w)t:{for(k=S,a=w,c=0,p=k;p;p=$t(p))c++;for(p=0,g=a;g;g=$t(g))p++;for(;0<c-p;)k=$t(k),c--;for(;0<p-c;)a=$t(a),p--;for(;c--;){if(k===a||a!==null&&k===a.alternate)break t;k=$t(k),a=$t(a)}k=null}else k=null;S!==null&&fo(h,m,S,k,!1),w!==null&&O!==null&&fo(h,O,w,k,!0)}}e:{if(m=f?Qt(f):window,S=m.nodeName&&m.nodeName.toLowerCase(),S==="select"||S==="input"&&m.type==="file")var N=Mf;else if(ro(m))if(Hs)N=$f;else{N=If;var T=Df}else(S=m.nodeName)&&S.toLowerCase()==="input"&&(m.type==="checkbox"||m.type==="radio")&&(N=Ff);if(N&&(N=N(e,f))){Bs(h,N,n,v);break e}T&&T(e,m,f),e==="focusout"&&(T=m._wrapperState)&&T.controlled&&m.type==="number"&&ni(m,"number",m.value)}switch(T=f?Qt(f):window,e){case"focusin":(ro(T)||T.contentEditable==="true")&&(Bt=T,mi=f,zn=null);break;case"focusout":zn=mi=Bt=null;break;case"mousedown":hi=!0;break;case"contextmenu":case"mouseup":case"dragend":hi=!1,so(h,n,v);break;case"selectionchange":if(Vf)break;case"keydown":case"keyup":so(h,n,v)}var _;if(uu)e:{switch(e){case"compositionstart":var P="onCompositionStart";break e;case"compositionend":P="onCompositionEnd";break e;case"compositionupdate":P="onCompositionUpdate";break e}P=void 0}else Vt?As(e,n)&&(P="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(P="onCompositionStart");P&&(Us&&n.locale!=="ko"&&(Vt||P!=="onCompositionStart"?P==="onCompositionEnd"&&Vt&&(_=$s()):(nt=v,ru="value"in nt?nt.value:nt.textContent,Vt=!0)),T=Hr(f,P),0<T.length&&(P=new bu(P,e,null,n,v),h.push({event:P,listeners:T}),_?P.data=_:(_=Vs(n),_!==null&&(P.data=_)))),(_=Tf?zf(e,n):Lf(e,n))&&(f=Hr(f,"onBeforeInput"),0<f.length&&(v=new bu("onBeforeInput","beforeinput",null,n,v),h.push({event:v,listeners:f}),v.data=_))}bs(h,t)})}function Qn(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Hr(e,t){for(var n=t+"Capture",r=[];e!==null;){var l=e,i=l.stateNode;l.tag===5&&i!==null&&(l=i,i=Fn(e,n),i!=null&&r.unshift(Qn(e,i,l)),i=Fn(e,t),i!=null&&r.push(Qn(e,i,l))),e=e.return}return r}function $t(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function fo(e,t,n,r,l){for(var i=t._reactName,u=[];n!==null&&n!==r;){var o=n,s=o.alternate,f=o.stateNode;if(s!==null&&s===r)break;o.tag===5&&f!==null&&(o=f,l?(s=Fn(n,i),s!=null&&u.unshift(Qn(n,s,o))):l||(s=Fn(n,i),s!=null&&u.push(Qn(n,s,o)))),n=n.return}u.length!==0&&e.push({event:t,listeners:u})}var Wf=/\r\n?/g,Kf=/\u0000|\uFFFD/g;function po(e){return(typeof e=="string"?e:""+e).replace(Wf,`
38
38
  `).replace(Kf,"")}function vr(e,t,n){if(t=po(t),po(e)!==t&&n)throw Error(x(425))}function Qr(){}var vi=null,gi=null;function yi(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 ki=typeof setTimeout=="function"?setTimeout:void 0,Yf=typeof clearTimeout=="function"?clearTimeout:void 0,mo=typeof Promise=="function"?Promise:void 0,Xf=typeof queueMicrotask=="function"?queueMicrotask:typeof mo<"u"?function(e){return mo.resolve(null).then(e).catch(Gf)}:ki;function Gf(e){setTimeout(function(){throw e})}function Ul(e,t){var n=t,r=0;do{var l=n.nextSibling;if(e.removeChild(n),l&&l.nodeType===8)if(n=l.data,n==="/$"){if(r===0){e.removeChild(l),An(t);return}r--}else n!=="$"&&n!=="$?"&&n!=="$!"||r++;n=l}while(n);An(t)}function ot(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 ho(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 pn=Math.random().toString(36).slice(2),$e="__reactFiber$"+pn,Wn="__reactProps$"+pn,Ye="__reactContainer$"+pn,wi="__reactEvents$"+pn,Zf="__reactListeners$"+pn,Jf="__reactHandles$"+pn;function Ct(e){var t=e[$e];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Ye]||n[$e]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=ho(e);e!==null;){if(n=e[$e])return n;e=ho(e)}return t}e=n,n=e.parentNode}return null}function tr(e){return e=e[$e]||e[Ye],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Qt(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(x(33))}function fl(e){return e[Wn]||null}var Si=[],Wt=-1;function ht(e){return{current:e}}function V(e){0>Wt||(e.current=Si[Wt],Si[Wt]=null,Wt--)}function $(e,t){Wt++,Si[Wt]=e.current,e.current=t}var pt={},oe=ht(pt),me=ht(!1),zt=pt;function ln(e,t){var n=e.type.contextTypes;if(!n)return pt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var l={},i;for(i in n)l[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function he(e){return e=e.childContextTypes,e!=null}function Wr(){V(me),V(oe)}function vo(e,t,n){if(oe.current!==pt)throw Error(x(168));$(oe,t),$(me,n)}function ta(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var l in r)if(!(l in t))throw Error(x(108,Mc(e)||"Unknown",l));return W({},n,r)}function Kr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||pt,zt=oe.current,$(oe,e),$(me,me.current),!0}function go(e,t,n){var r=e.stateNode;if(!r)throw Error(x(169));n?(e=ta(e,t,zt),r.__reactInternalMemoizedMergedChildContext=e,V(me),V(oe),$(oe,e)):V(me),$(me,n)}var Be=null,dl=!1,Al=!1;function na(e){Be===null?Be=[e]:Be.push(e)}function qf(e){dl=!0,na(e)}function vt(){if(!Al&&Be!==null){Al=!0;var e=0,t=F;try{var n=Be;for(F=1;e<n.length;e++){var r=n[e];do r=r(!0);while(r!==null)}Be=null,dl=!1}catch(l){throw Be!==null&&(Be=Be.slice(e+1)),_s(bi,vt),l}finally{F=t,Al=!1}}return null}var Kt=[],Yt=0,Yr=null,Xr=0,Ne=[],Ee=0,Lt=null,He=1,Qe="";function Nt(e,t){Kt[Yt++]=Xr,Kt[Yt++]=Yr,Yr=e,Xr=t}function ra(e,t,n){Ne[Ee++]=He,Ne[Ee++]=Qe,Ne[Ee++]=Lt,Lt=e;var r=He;e=Qe;var l=32-Oe(r)-1;r&=~(1<<l),n+=1;var i=32-Oe(t)+l;if(30<i){var u=l-l%5;i=(r&(1<<u)-1).toString(32),r>>=u,l-=u,He=1<<32-Oe(t)+l|n<<l|r,Qe=i+e}else He=1<<i|n<<l|r,Qe=e}function su(e){e.return!==null&&(Nt(e,1),ra(e,1,0))}function au(e){for(;e===Yr;)Yr=Kt[--Yt],Kt[Yt]=null,Xr=Kt[--Yt],Kt[Yt]=null;for(;e===Lt;)Lt=Ne[--Ee],Ne[Ee]=null,Qe=Ne[--Ee],Ne[Ee]=null,He=Ne[--Ee],Ne[Ee]=null}var ke=null,ye=null,B=!1,Re=null;function la(e,t){var n=Ce(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 yo(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,ke=e,ye=ot(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,ke=e,ye=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(n=Lt!==null?{id:He,overflow:Qe}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},n=Ce(18,null,null,0),n.stateNode=t,n.return=e,e.child=n,ke=e,ye=null,!0):!1;default:return!1}}function xi(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Ni(e){if(B){var t=ye;if(t){var n=t;if(!yo(e,t)){if(xi(e))throw Error(x(418));t=ot(n.nextSibling);var r=ke;t&&yo(e,t)?la(r,n):(e.flags=e.flags&-4097|2,B=!1,ke=e)}}else{if(xi(e))throw Error(x(418));e.flags=e.flags&-4097|2,B=!1,ke=e}}}function ko(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;ke=e}function gr(e){if(e!==ke)return!1;if(!B)return ko(e),B=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!yi(e.type,e.memoizedProps)),t&&(t=ye)){if(xi(e))throw ia(),Error(x(418));for(;t;)la(e,t),t=ot(t.nextSibling)}if(ko(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(x(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"){if(t===0){ye=ot(e.nextSibling);break e}t--}else n!=="$"&&n!=="$!"&&n!=="$?"||t++}e=e.nextSibling}ye=null}}else ye=ke?ot(e.stateNode.nextSibling):null;return!0}function ia(){for(var e=ye;e;)e=ot(e.nextSibling)}function un(){ye=ke=null,B=!1}function cu(e){Re===null?Re=[e]:Re.push(e)}var bf=Ze.ReactCurrentBatchConfig;function kn(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(x(309));var r=n.stateNode}if(!r)throw Error(x(147,e));var l=r,i=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===i?t.ref:(t=function(u){var o=l.refs;u===null?delete o[i]:o[i]=u},t._stringRef=i,t)}if(typeof e!="string")throw Error(x(284));if(!n._owner)throw Error(x(290,e))}return e}function yr(e,t){throw e=Object.prototype.toString.call(t),Error(x(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function wo(e){var t=e._init;return t(e._payload)}function ua(e){function t(a,c){if(e){var p=a.deletions;p===null?(a.deletions=[c],a.flags|=16):p.push(c)}}function n(a,c){if(!e)return null;for(;c!==null;)t(a,c),c=c.sibling;return null}function r(a,c){for(a=new Map;c!==null;)c.key!==null?a.set(c.key,c):a.set(c.index,c),c=c.sibling;return a}function l(a,c){return a=ft(a,c),a.index=0,a.sibling=null,a}function i(a,c,p){return a.index=p,e?(p=a.alternate,p!==null?(p=p.index,p<c?(a.flags|=2,c):p):(a.flags|=2,c)):(a.flags|=1048576,c)}function u(a){return e&&a.alternate===null&&(a.flags|=2),a}function o(a,c,p,g){return c===null||c.tag!==6?(c=Yl(p,a.mode,g),c.return=a,c):(c=l(c,p),c.return=a,c)}function s(a,c,p,g){var N=p.type;return N===At?v(a,c,p.props.children,g,p.key):c!==null&&(c.elementType===N||typeof N=="object"&&N!==null&&N.$$typeof===qe&&wo(N)===c.type)?(g=l(c,p.props),g.ref=kn(a,c,p),g.return=a,g):(g=Dr(p.type,p.key,p.props,null,a.mode,g),g.ref=kn(a,c,p),g.return=a,g)}function f(a,c,p,g){return c===null||c.tag!==4||c.stateNode.containerInfo!==p.containerInfo||c.stateNode.implementation!==p.implementation?(c=Xl(p,a.mode,g),c.return=a,c):(c=l(c,p.children||[]),c.return=a,c)}function v(a,c,p,g,N){return c===null||c.tag!==7?(c=Tt(p,a.mode,g,N),c.return=a,c):(c=l(c,p),c.return=a,c)}function h(a,c,p){if(typeof c=="string"&&c!==""||typeof c=="number")return c=Yl(""+c,a.mode,p),c.return=a,c;if(typeof c=="object"&&c!==null){switch(c.$$typeof){case or:return p=Dr(c.type,c.key,c.props,null,a.mode,p),p.ref=kn(a,null,c),p.return=a,p;case Ut:return c=Xl(c,a.mode,p),c.return=a,c;case qe:var g=c._init;return h(a,g(c._payload),p)}if(Nn(c)||mn(c))return c=Tt(c,a.mode,p,null),c.return=a,c;yr(a,c)}return null}function m(a,c,p,g){var N=c!==null?c.key:null;if(typeof p=="string"&&p!==""||typeof p=="number")return N!==null?null:o(a,c,""+p,g);if(typeof p=="object"&&p!==null){switch(p.$$typeof){case or:return p.key===N?s(a,c,p,g):null;case Ut:return p.key===N?f(a,c,p,g):null;case qe:return N=p._init,m(a,c,N(p._payload),g)}if(Nn(p)||mn(p))return N!==null?null:v(a,c,p,g,null);yr(a,p)}return null}function S(a,c,p,g,N){if(typeof g=="string"&&g!==""||typeof g=="number")return a=a.get(p)||null,o(c,a,""+g,N);if(typeof g=="object"&&g!==null){switch(g.$$typeof){case or:return a=a.get(g.key===null?p:g.key)||null,s(c,a,g,N);case Ut:return a=a.get(g.key===null?p:g.key)||null,f(c,a,g,N);case qe:var T=g._init;return S(a,c,p,T(g._payload),N)}if(Nn(g)||mn(g))return a=a.get(p)||null,v(c,a,g,N,null);yr(c,g)}return null}function w(a,c,p,g){for(var N=null,T=null,_=c,P=c=0,E=null;_!==null&&P<p.length;P++){_.index>P?(E=_,_=null):E=_.sibling;var C=m(a,_,p[P],g);if(C===null){_===null&&(_=E);break}e&&_&&C.alternate===null&&t(a,_),c=i(C,c,P),T===null?N=C:T.sibling=C,T=C,_=E}if(P===p.length)return n(a,_),B&&Nt(a,P),N;if(_===null){for(;P<p.length;P++)_=h(a,p[P],g),_!==null&&(c=i(_,c,P),T===null?N=_:T.sibling=_,T=_);return B&&Nt(a,P),N}for(_=r(a,_);P<p.length;P++)E=S(_,a,P,p[P],g),E!==null&&(e&&E.alternate!==null&&_.delete(E.key===null?P:E.key),c=i(E,c,P),T===null?N=E:T.sibling=E,T=E);return e&&_.forEach(function(I){return t(a,I)}),B&&Nt(a,P),N}function k(a,c,p,g){var N=mn(p);if(typeof N!="function")throw Error(x(150));if(p=N.call(p),p==null)throw Error(x(151));for(var T=N=null,_=c,P=c=0,E=null,C=p.next();_!==null&&!C.done;P++,C=p.next()){_.index>P?(E=_,_=null):E=_.sibling;var I=m(a,_,C.value,g);if(I===null){_===null&&(_=E);break}e&&_&&I.alternate===null&&t(a,_),c=i(I,c,P),T===null?N=I:T.sibling=I,T=I,_=E}if(C.done)return n(a,_),B&&Nt(a,P),N;if(_===null){for(;!C.done;P++,C=p.next())C=h(a,C.value,g),C!==null&&(c=i(C,c,P),T===null?N=C:T.sibling=C,T=C);return B&&Nt(a,P),N}for(_=r(a,_);!C.done;P++,C=p.next())C=S(_,a,P,C.value,g),C!==null&&(e&&C.alternate!==null&&_.delete(C.key===null?P:C.key),c=i(C,c,P),T===null?N=C:T.sibling=C,T=C);return e&&_.forEach(function(gt){return t(a,gt)}),B&&Nt(a,P),N}function O(a,c,p,g){if(typeof p=="object"&&p!==null&&p.type===At&&p.key===null&&(p=p.props.children),typeof p=="object"&&p!==null){switch(p.$$typeof){case or:e:{for(var N=p.key,T=c;T!==null;){if(T.key===N){if(N=p.type,N===At){if(T.tag===7){n(a,T.sibling),c=l(T,p.props.children),c.return=a,a=c;break e}}else if(T.elementType===N||typeof N=="object"&&N!==null&&N.$$typeof===qe&&wo(N)===T.type){n(a,T.sibling),c=l(T,p.props),c.ref=kn(a,T,p),c.return=a,a=c;break e}n(a,T);break}else t(a,T);T=T.sibling}p.type===At?(c=Tt(p.props.children,a.mode,g,p.key),c.return=a,a=c):(g=Dr(p.type,p.key,p.props,null,a.mode,g),g.ref=kn(a,c,p),g.return=a,a=g)}return u(a);case Ut:e:{for(T=p.key;c!==null;){if(c.key===T)if(c.tag===4&&c.stateNode.containerInfo===p.containerInfo&&c.stateNode.implementation===p.implementation){n(a,c.sibling),c=l(c,p.children||[]),c.return=a,a=c;break e}else{n(a,c);break}else t(a,c);c=c.sibling}c=Xl(p,a.mode,g),c.return=a,a=c}return u(a);case qe:return T=p._init,O(a,c,T(p._payload),g)}if(Nn(p))return w(a,c,p,g);if(mn(p))return k(a,c,p,g);yr(a,p)}return typeof p=="string"&&p!==""||typeof p=="number"?(p=""+p,c!==null&&c.tag===6?(n(a,c.sibling),c=l(c,p),c.return=a,a=c):(n(a,c),c=Yl(p,a.mode,g),c.return=a,a=c),u(a)):n(a,c)}return O}var on=ua(!0),oa=ua(!1),Gr=ht(null),Zr=null,Xt=null,fu=null;function du(){fu=Xt=Zr=null}function pu(e){var t=Gr.current;V(Gr),e._currentValue=t}function Ei(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 tn(e,t){Zr=e,fu=Xt=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(pe=!0),e.firstContext=null)}function _e(e){var t=e._currentValue;if(fu!==e)if(e={context:e,memoizedValue:t,next:null},Xt===null){if(Zr===null)throw Error(x(308));Xt=e,Zr.dependencies={lanes:0,firstContext:e}}else Xt=Xt.next=e;return t}var jt=null;function mu(e){jt===null?jt=[e]:jt.push(e)}function sa(e,t,n,r){var l=t.interleaved;return l===null?(n.next=n,mu(t)):(n.next=l.next,l.next=n),t.interleaved=n,Xe(e,r)}function Xe(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 be=!1;function hu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function aa(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 We(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function st(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,D&2){var l=r.pending;return l===null?t.next=t:(t.next=l.next,l.next=t),r.pending=t,Xe(e,n)}return l=r.interleaved,l===null?(t.next=t,mu(r)):(t.next=l.next,l.next=t),r.interleaved=t,Xe(e,n)}function Tr(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,eu(e,n)}}function So(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var l=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var u={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?l=i=u:i=i.next=u,n=n.next}while(n!==null);i===null?l=i=t:i=i.next=t}else l=i=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:i,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 Jr(e,t,n,r){var l=e.updateQueue;be=!1;var i=l.firstBaseUpdate,u=l.lastBaseUpdate,o=l.shared.pending;if(o!==null){l.shared.pending=null;var s=o,f=s.next;s.next=null,u===null?i=f:u.next=f,u=s;var v=e.alternate;v!==null&&(v=v.updateQueue,o=v.lastBaseUpdate,o!==u&&(o===null?v.firstBaseUpdate=f:o.next=f,v.lastBaseUpdate=s))}if(i!==null){var h=l.baseState;u=0,v=f=s=null,o=i;do{var m=o.lane,S=o.eventTime;if((r&m)===m){v!==null&&(v=v.next={eventTime:S,lane:0,tag:o.tag,payload:o.payload,callback:o.callback,next:null});e:{var w=e,k=o;switch(m=t,S=n,k.tag){case 1:if(w=k.payload,typeof w=="function"){h=w.call(S,h,m);break e}h=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=k.payload,m=typeof w=="function"?w.call(S,h,m):w,m==null)break e;h=W({},h,m);break e;case 2:be=!0}}o.callback!==null&&o.lane!==0&&(e.flags|=64,m=l.effects,m===null?l.effects=[o]:m.push(o))}else S={eventTime:S,lane:m,tag:o.tag,payload:o.payload,callback:o.callback,next:null},v===null?(f=v=S,s=h):v=v.next=S,u|=m;if(o=o.next,o===null){if(o=l.shared.pending,o===null)break;m=o,o=m.next,m.next=null,l.lastBaseUpdate=m,l.shared.pending=null}}while(!0);if(v===null&&(s=h),l.baseState=s,l.firstBaseUpdate=f,l.lastBaseUpdate=v,t=l.shared.interleaved,t!==null){l=t;do u|=l.lane,l=l.next;while(l!==t)}else i===null&&(l.shared.lanes=0);Ot|=u,e.lanes=u,e.memoizedState=h}}function xo(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var r=e[t],l=r.callback;if(l!==null){if(r.callback=null,r=n,typeof l!="function")throw Error(x(191,l));l.call(r)}}}var nr={},Ae=ht(nr),Kn=ht(nr),Yn=ht(nr);function _t(e){if(e===nr)throw Error(x(174));return e}function vu(e,t){switch($(Yn,t),$(Kn,e),$(Ae,nr),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:li(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=li(t,e)}V(Ae),$(Ae,t)}function sn(){V(Ae),V(Kn),V(Yn)}function ca(e){_t(Yn.current);var t=_t(Ae.current),n=li(t,e.type);t!==n&&($(Kn,e),$(Ae,n))}function gu(e){Kn.current===e&&(V(Ae),V(Kn))}var H=ht(0);function qr(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 Vl=[];function yu(){for(var e=0;e<Vl.length;e++)Vl[e]._workInProgressVersionPrimary=null;Vl.length=0}var zr=Ze.ReactCurrentDispatcher,Bl=Ze.ReactCurrentBatchConfig,Rt=0,Q=null,G=null,q=null,br=!1,Ln=!1,Xn=0,ed=0;function le(){throw Error(x(321))}function ku(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!De(e[n],t[n]))return!1;return!0}function wu(e,t,n,r,l,i){if(Rt=i,Q=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,zr.current=e===null||e.memoizedState===null?ld:id,e=n(r,l),Ln){i=0;do{if(Ln=!1,Xn=0,25<=i)throw Error(x(301));i+=1,q=G=null,t.updateQueue=null,zr.current=ud,e=n(r,l)}while(Ln)}if(zr.current=el,t=G!==null&&G.next!==null,Rt=0,q=G=Q=null,br=!1,t)throw Error(x(300));return e}function Su(){var e=Xn!==0;return Xn=0,e}function Fe(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return q===null?Q.memoizedState=q=e:q=q.next=e,q}function Pe(){if(G===null){var e=Q.alternate;e=e!==null?e.memoizedState:null}else e=G.next;var t=q===null?Q.memoizedState:q.next;if(t!==null)q=t,G=e;else{if(e===null)throw Error(x(310));G=e,e={memoizedState:G.memoizedState,baseState:G.baseState,baseQueue:G.baseQueue,queue:G.queue,next:null},q===null?Q.memoizedState=q=e:q=q.next=e}return q}function Gn(e,t){return typeof t=="function"?t(e):t}function Hl(e){var t=Pe(),n=t.queue;if(n===null)throw Error(x(311));n.lastRenderedReducer=e;var r=G,l=r.baseQueue,i=n.pending;if(i!==null){if(l!==null){var u=l.next;l.next=i.next,i.next=u}r.baseQueue=l=i,n.pending=null}if(l!==null){i=l.next,r=r.baseState;var o=u=null,s=null,f=i;do{var v=f.lane;if((Rt&v)===v)s!==null&&(s=s.next={lane:0,action:f.action,hasEagerState:f.hasEagerState,eagerState:f.eagerState,next:null}),r=f.hasEagerState?f.eagerState:e(r,f.action);else{var h={lane:v,action:f.action,hasEagerState:f.hasEagerState,eagerState:f.eagerState,next:null};s===null?(o=s=h,u=r):s=s.next=h,Q.lanes|=v,Ot|=v}f=f.next}while(f!==null&&f!==i);s===null?u=r:s.next=o,De(r,t.memoizedState)||(pe=!0),t.memoizedState=r,t.baseState=u,t.baseQueue=s,n.lastRenderedState=r}if(e=n.interleaved,e!==null){l=e;do i=l.lane,Q.lanes|=i,Ot|=i,l=l.next;while(l!==e)}else l===null&&(n.lanes=0);return[t.memoizedState,n.dispatch]}function Ql(e){var t=Pe(),n=t.queue;if(n===null)throw Error(x(311));n.lastRenderedReducer=e;var r=n.dispatch,l=n.pending,i=t.memoizedState;if(l!==null){n.pending=null;var u=l=l.next;do i=e(i,u.action),u=u.next;while(u!==l);De(i,t.memoizedState)||(pe=!0),t.memoizedState=i,t.baseQueue===null&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function fa(){}function da(e,t){var n=Q,r=Pe(),l=t(),i=!De(r.memoizedState,l);if(i&&(r.memoizedState=l,pe=!0),r=r.queue,xu(ha.bind(null,n,r,e),[e]),r.getSnapshot!==t||i||q!==null&&q.memoizedState.tag&1){if(n.flags|=2048,Zn(9,ma.bind(null,n,r,l,t),void 0,null),b===null)throw Error(x(349));Rt&30||pa(n,t,l)}return l}function pa(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Q.updateQueue,t===null?(t={lastEffect:null,stores:null},Q.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function ma(e,t,n,r){t.value=n,t.getSnapshot=r,va(t)&&ga(e)}function ha(e,t,n){return n(function(){va(t)&&ga(e)})}function va(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!De(e,n)}catch{return!0}}function ga(e){var t=Xe(e,1);t!==null&&Me(t,e,1,-1)}function No(e){var t=Fe();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Gn,lastRenderedState:e},t.queue=e,e=e.dispatch=rd.bind(null,Q,e),[t.memoizedState,e]}function Zn(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},t=Q.updateQueue,t===null?(t={lastEffect:null,stores:null},Q.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 ya(){return Pe().memoizedState}function Lr(e,t,n,r){var l=Fe();Q.flags|=e,l.memoizedState=Zn(1|t,n,void 0,r===void 0?null:r)}function pl(e,t,n,r){var l=Pe();r=r===void 0?null:r;var i=void 0;if(G!==null){var u=G.memoizedState;if(i=u.destroy,r!==null&&ku(r,u.deps)){l.memoizedState=Zn(t,n,i,r);return}}Q.flags|=e,l.memoizedState=Zn(1|t,n,i,r)}function Eo(e,t){return Lr(8390656,8,e,t)}function xu(e,t){return pl(2048,8,e,t)}function ka(e,t){return pl(4,2,e,t)}function wa(e,t){return pl(4,4,e,t)}function Sa(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 xa(e,t,n){return n=n!=null?n.concat([e]):null,pl(4,4,Sa.bind(null,t,e),n)}function Nu(){}function Na(e,t){var n=Pe();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ku(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ea(e,t){var n=Pe();t=t===void 0?null:t;var r=n.memoizedState;return r!==null&&t!==null&&ku(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Ca(e,t,n){return Rt&21?(De(n,t)||(n=zs(),Q.lanes|=n,Ot|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,pe=!0),e.memoizedState=n)}function td(e,t){var n=F;F=n!==0&&4>n?n:4,e(!0);var r=Bl.transition;Bl.transition={};try{e(!1),t()}finally{F=n,Bl.transition=r}}function ja(){return Pe().memoizedState}function nd(e,t,n){var r=ct(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},_a(e))Pa(t,n);else if(n=sa(e,t,n,r),n!==null){var l=ae();Me(n,e,r,l),Ta(n,t,r)}}function rd(e,t,n){var r=ct(e),l={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(_a(e))Pa(t,l);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var u=t.lastRenderedState,o=i(u,n);if(l.hasEagerState=!0,l.eagerState=o,De(o,u)){var s=t.interleaved;s===null?(l.next=l,mu(t)):(l.next=s.next,s.next=l),t.interleaved=l;return}}catch{}finally{}n=sa(e,t,l,r),n!==null&&(l=ae(),Me(n,e,r,l),Ta(n,t,r))}}function _a(e){var t=e.alternate;return e===Q||t!==null&&t===Q}function Pa(e,t){Ln=br=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ta(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,eu(e,n)}}var el={readContext:_e,useCallback:le,useContext:le,useEffect:le,useImperativeHandle:le,useInsertionEffect:le,useLayoutEffect:le,useMemo:le,useReducer:le,useRef:le,useState:le,useDebugValue:le,useDeferredValue:le,useTransition:le,useMutableSource:le,useSyncExternalStore:le,useId:le,unstable_isNewReconciler:!1},ld={readContext:_e,useCallback:function(e,t){return Fe().memoizedState=[e,t===void 0?null:t],e},useContext:_e,useEffect:Eo,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Lr(4194308,4,Sa.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Lr(4194308,4,e,t)},useInsertionEffect:function(e,t){return Lr(4,2,e,t)},useMemo:function(e,t){var n=Fe();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Fe();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=nd.bind(null,Q,e),[r.memoizedState,e]},useRef:function(e){var t=Fe();return e={current:e},t.memoizedState=e},useState:No,useDebugValue:Nu,useDeferredValue:function(e){return Fe().memoizedState=e},useTransition:function(){var e=No(!1),t=e[0];return e=td.bind(null,e[1]),Fe().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Q,l=Fe();if(B){if(n===void 0)throw Error(x(407));n=n()}else{if(n=t(),b===null)throw Error(x(349));Rt&30||pa(r,t,n)}l.memoizedState=n;var i={value:n,getSnapshot:t};return l.queue=i,Eo(ha.bind(null,r,i,e),[e]),r.flags|=2048,Zn(9,ma.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Fe(),t=b.identifierPrefix;if(B){var n=Qe,r=He;n=(r&~(1<<32-Oe(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Xn++,0<n&&(t+="H"+n.toString(32)),t+=":"}else n=ed++,t=":"+t+"r"+n.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},id={readContext:_e,useCallback:Na,useContext:_e,useEffect:xu,useImperativeHandle:xa,useInsertionEffect:ka,useLayoutEffect:wa,useMemo:Ea,useReducer:Hl,useRef:ya,useState:function(){return Hl(Gn)},useDebugValue:Nu,useDeferredValue:function(e){var t=Pe();return Ca(t,G.memoizedState,e)},useTransition:function(){var e=Hl(Gn)[0],t=Pe().memoizedState;return[e,t]},useMutableSource:fa,useSyncExternalStore:da,useId:ja,unstable_isNewReconciler:!1},ud={readContext:_e,useCallback:Na,useContext:_e,useEffect:xu,useImperativeHandle:xa,useInsertionEffect:ka,useLayoutEffect:wa,useMemo:Ea,useReducer:Ql,useRef:ya,useState:function(){return Ql(Gn)},useDebugValue:Nu,useDeferredValue:function(e){var t=Pe();return G===null?t.memoizedState=e:Ca(t,G.memoizedState,e)},useTransition:function(){var e=Ql(Gn)[0],t=Pe().memoizedState;return[e,t]},useMutableSource:fa,useSyncExternalStore:da,useId:ja,unstable_isNewReconciler:!1};function ze(e,t){if(e&&e.defaultProps){t=W({},t),e=e.defaultProps;for(var n in e)t[n]===void 0&&(t[n]=e[n]);return t}return t}function Ci(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:W({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var ml={isMounted:function(e){return(e=e._reactInternals)?It(e)===e:!1},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=ae(),l=ct(e),i=We(r,l);i.payload=t,n!=null&&(i.callback=n),t=st(e,i,l),t!==null&&(Me(t,e,l,r),Tr(t,e,l))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=ae(),l=ct(e),i=We(r,l);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=st(e,i,l),t!==null&&(Me(t,e,l,r),Tr(t,e,l))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=ae(),r=ct(e),l=We(n,r);l.tag=2,t!=null&&(l.callback=t),t=st(e,l,r),t!==null&&(Me(t,e,r,n),Tr(t,e,r))}};function Co(e,t,n,r,l,i,u){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,i,u):t.prototype&&t.prototype.isPureReactComponent?!Bn(n,r)||!Bn(l,i):!0}function za(e,t,n){var r=!1,l=pt,i=t.contextType;return typeof i=="object"&&i!==null?i=_e(i):(l=he(t)?zt:oe.current,r=t.contextTypes,i=(r=r!=null)?ln(e,l):pt),t=new t(n,i),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=ml,e.stateNode=t,t._reactInternals=e,r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=l,e.__reactInternalMemoizedMaskedChildContext=i),t}function jo(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&&ml.enqueueReplaceState(t,t.state,null)}function ji(e,t,n,r){var l=e.stateNode;l.props=n,l.state=e.memoizedState,l.refs={},hu(e);var i=t.contextType;typeof i=="object"&&i!==null?l.context=_e(i):(i=he(t)?zt:oe.current,l.context=ln(e,i)),l.state=e.memoizedState,i=t.getDerivedStateFromProps,typeof i=="function"&&(Ci(e,t,i,n),l.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof l.getSnapshotBeforeUpdate=="function"||typeof l.UNSAFE_componentWillMount!="function"&&typeof l.componentWillMount!="function"||(t=l.state,typeof l.componentWillMount=="function"&&l.componentWillMount(),typeof l.UNSAFE_componentWillMount=="function"&&l.UNSAFE_componentWillMount(),t!==l.state&&ml.enqueueReplaceState(l,l.state,null),Jr(e,n,l,r),l.state=e.memoizedState),typeof l.componentDidMount=="function"&&(e.flags|=4194308)}function an(e,t){try{var n="",r=t;do n+=Oc(r),r=r.return;while(r);var l=n}catch(i){l=`
39
39
  Error generating stack: `+i.message+`
40
- `+i.stack}return{value:e,source:t,stack:l,digest:null}}function Wl(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function _i(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var od=typeof WeakMap=="function"?WeakMap:Map;function La(e,t,n){n=We(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){nl||(nl=!0,Fi=r),_i(e,t)},n}function Ra(e,t,n){n=We(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var l=t.value;n.payload=function(){return r(l)},n.callback=function(){_i(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){_i(e,t),typeof r!="function"&&(at===null?at=new Set([this]):at.add(this));var u=t.stack;this.componentDidCatch(t.value,{componentStack:u!==null?u:""})}),n}function _o(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new od;var l=new Set;r.set(t,l)}else l=r.get(t),l===void 0&&(l=new Set,r.set(t,l));l.has(n)||(l.add(n),e=Sd.bind(null,e,t,n),t.then(e,e))}function Po(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 To(e,t,n,r,l){return e.mode&1?(e.flags|=65536,e.lanes=l,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=We(-1,1),t.tag=2,st(n,t,1))),n.lanes|=1),e)}var sd=Ze.ReactCurrentOwner,pe=!1;function se(e,t,n,r){t.child=e===null?oa(t,null,n,r):on(t,e.child,n,r)}function zo(e,t,n,r,l){n=n.render;var i=t.ref;return tn(t,l),r=wu(e,t,n,r,i,l),n=Su(),e!==null&&!pe?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,Ge(e,t,l)):(B&&n&&su(t),t.flags|=1,se(e,t,r,l),t.child)}function Lo(e,t,n,r,l){if(e===null){var i=n.type;return typeof i=="function"&&!Lu(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,Oa(e,t,i,r,l)):(e=Dr(n.type,null,r,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&l)){var u=i.memoizedProps;if(n=n.compare,n=n!==null?n:Bn,n(u,r)&&e.ref===t.ref)return Ge(e,t,l)}return t.flags|=1,e=ft(i,r),e.ref=t.ref,e.return=t,t.child=e}function Oa(e,t,n,r,l){if(e!==null){var i=e.memoizedProps;if(Bn(i,r)&&e.ref===t.ref)if(pe=!1,t.pendingProps=r=i,(e.lanes&l)!==0)e.flags&131072&&(pe=!0);else return t.lanes=e.lanes,Ge(e,t,l)}return Pi(e,t,n,r,l)}function Ma(e,t,n){var r=t.pendingProps,l=r.children,i=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},$(Zt,ge),ge|=n;else{if(!(n&1073741824))return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,$(Zt,ge),ge|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=i!==null?i.baseLanes:n,$(Zt,ge),ge|=r}else i!==null?(r=i.baseLanes|n,t.memoizedState=null):r=n,$(Zt,ge),ge|=r;return se(e,t,l,n),t.child}function Da(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Pi(e,t,n,r,l){var i=he(n)?zt:oe.current;return i=ln(t,i),tn(t,l),n=wu(e,t,n,r,i,l),r=Su(),e!==null&&!pe?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,Ge(e,t,l)):(B&&r&&su(t),t.flags|=1,se(e,t,n,l),t.child)}function Ro(e,t,n,r,l){if(he(n)){var i=!0;Kr(t)}else i=!1;if(tn(t,l),t.stateNode===null)Rr(e,t),za(t,n,r),ji(t,n,r,l),r=!0;else if(e===null){var u=t.stateNode,o=t.memoizedProps;u.props=o;var s=u.context,f=n.contextType;typeof f=="object"&&f!==null?f=_e(f):(f=he(n)?zt:oe.current,f=ln(t,f));var v=n.getDerivedStateFromProps,h=typeof v=="function"||typeof u.getSnapshotBeforeUpdate=="function";h||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(o!==r||s!==f)&&jo(t,u,r,f),be=!1;var m=t.memoizedState;u.state=m,Jr(t,r,u,l),s=t.memoizedState,o!==r||m!==s||me.current||be?(typeof v=="function"&&(Ci(t,n,v,r),s=t.memoizedState),(o=be||Co(t,n,o,r,m,s,f))?(h||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount()),typeof u.componentDidMount=="function"&&(t.flags|=4194308)):(typeof u.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),u.props=r,u.state=s,u.context=f,r=o):(typeof u.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{u=t.stateNode,aa(e,t),o=t.memoizedProps,f=t.type===t.elementType?o:ze(t.type,o),u.props=f,h=t.pendingProps,m=u.context,s=n.contextType,typeof s=="object"&&s!==null?s=_e(s):(s=he(n)?zt:oe.current,s=ln(t,s));var S=n.getDerivedStateFromProps;(v=typeof S=="function"||typeof u.getSnapshotBeforeUpdate=="function")||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(o!==h||m!==s)&&jo(t,u,r,s),be=!1,m=t.memoizedState,u.state=m,Jr(t,r,u,l);var w=t.memoizedState;o!==h||m!==w||me.current||be?(typeof S=="function"&&(Ci(t,n,S,r),w=t.memoizedState),(f=be||Co(t,n,f,r,m,w,s)||!1)?(v||typeof u.UNSAFE_componentWillUpdate!="function"&&typeof u.componentWillUpdate!="function"||(typeof u.componentWillUpdate=="function"&&u.componentWillUpdate(r,w,s),typeof u.UNSAFE_componentWillUpdate=="function"&&u.UNSAFE_componentWillUpdate(r,w,s)),typeof u.componentDidUpdate=="function"&&(t.flags|=4),typeof u.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof u.componentDidUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=w),u.props=r,u.state=w,u.context=s,r=f):(typeof u.componentDidUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),r=!1)}return Ti(e,t,n,r,i,l)}function Ti(e,t,n,r,l,i){Da(e,t);var u=(t.flags&128)!==0;if(!r&&!u)return l&&go(t,n,!1),Ge(e,t,i);r=t.stateNode,sd.current=t;var o=u&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&u?(t.child=on(t,e.child,null,i),t.child=on(t,null,o,i)):se(e,t,o,i),t.memoizedState=r.state,l&&go(t,n,!0),t.child}function Ia(e){var t=e.stateNode;t.pendingContext?vo(e,t.pendingContext,t.pendingContext!==t.context):t.context&&vo(e,t.context,!1),vu(e,t.containerInfo)}function Oo(e,t,n,r,l){return un(),cu(l),t.flags|=256,se(e,t,n,r),t.child}var zi={dehydrated:null,treeContext:null,retryLane:0};function Li(e){return{baseLanes:e,cachePool:null,transitions:null}}function Fa(e,t,n){var r=t.pendingProps,l=H.current,i=!1,u=(t.flags&128)!==0,o;if((o=u)||(o=e!==null&&e.memoizedState===null?!1:(l&2)!==0),o?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(l|=1),$(H,l&1),e===null)return Ni(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):(u=r.children,e=r.fallback,i?(r=t.mode,i=t.child,u={mode:"hidden",children:u},!(r&1)&&i!==null?(i.childLanes=0,i.pendingProps=u):i=gl(u,r,0,null),e=Tt(e,r,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=Li(n),t.memoizedState=zi,e):Eu(t,u));if(l=e.memoizedState,l!==null&&(o=l.dehydrated,o!==null))return ad(e,t,u,r,o,l,n);if(i){i=r.fallback,u=t.mode,l=e.child,o=l.sibling;var s={mode:"hidden",children:r.children};return!(u&1)&&t.child!==l?(r=t.child,r.childLanes=0,r.pendingProps=s,t.deletions=null):(r=ft(l,s),r.subtreeFlags=l.subtreeFlags&14680064),o!==null?i=ft(o,i):(i=Tt(i,u,n,null),i.flags|=2),i.return=t,r.return=t,r.sibling=i,t.child=r,r=i,i=t.child,u=e.child.memoizedState,u=u===null?Li(n):{baseLanes:u.baseLanes|n,cachePool:null,transitions:u.transitions},i.memoizedState=u,i.childLanes=e.childLanes&~n,t.memoizedState=zi,r}return i=e.child,e=i.sibling,r=ft(i,{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 Eu(e,t){return t=gl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function kr(e,t,n,r){return r!==null&&cu(r),on(t,e.child,null,n),e=Eu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function ad(e,t,n,r,l,i,u){if(n)return t.flags&256?(t.flags&=-257,r=Wl(Error(x(422))),kr(e,t,u,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=r.fallback,l=t.mode,r=gl({mode:"visible",children:r.children},l,0,null),i=Tt(i,l,u,null),i.flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,t.mode&1&&on(t,e.child,null,u),t.child.memoizedState=Li(u),t.memoizedState=zi,i);if(!(t.mode&1))return kr(e,t,u,null);if(l.data==="$!"){if(r=l.nextSibling&&l.nextSibling.dataset,r)var o=r.dgst;return r=o,i=Error(x(419)),r=Wl(i,r,void 0),kr(e,t,u,r)}if(o=(u&e.childLanes)!==0,pe||o){if(r=b,r!==null){switch(u&-u){case 4:l=2;break;case 16:l=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:l=32;break;case 536870912:l=268435456;break;default:l=0}l=l&(r.suspendedLanes|u)?0:l,l!==0&&l!==i.retryLane&&(i.retryLane=l,Xe(e,l),Me(r,e,l,-1))}return zu(),r=Wl(Error(x(421))),kr(e,t,u,r)}return l.data==="$?"?(t.flags|=128,t.child=e.child,t=xd.bind(null,e),l._reactRetry=t,null):(e=i.treeContext,ye=ot(l.nextSibling),ke=t,B=!0,Re=null,e!==null&&(Ne[Ee++]=He,Ne[Ee++]=Qe,Ne[Ee++]=Lt,He=e.id,Qe=e.overflow,Lt=t),t=Eu(t,r.children),t.flags|=4096,t)}function Mo(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ei(e.return,t,n)}function Kl(e,t,n,r,l){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:l}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=l)}function $a(e,t,n){var r=t.pendingProps,l=r.revealOrder,i=r.tail;if(se(e,t,r.children,n),r=H.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&&Mo(e,n,t);else if(e.tag===19)Mo(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($(H,r),!(t.mode&1))t.memoizedState=null;else switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&qr(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),Kl(t,!1,l,n,i);break;case"backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&qr(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}Kl(t,!0,n,null,i);break;case"together":Kl(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Rr(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Ge(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Ot|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(x(153));if(t.child!==null){for(e=t.child,n=ft(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=ft(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function cd(e,t,n){switch(t.tag){case 3:Ia(t),un();break;case 5:ca(t);break;case 1:he(t.type)&&Kr(t);break;case 4:vu(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,l=t.memoizedProps.value;$(Gr,r._currentValue),r._currentValue=l;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?($(H,H.current&1),t.flags|=128,null):n&t.child.childLanes?Fa(e,t,n):($(H,H.current&1),e=Ge(e,t,n),e!==null?e.sibling:null);$(H,H.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return $a(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),$(H,H.current),r)break;return null;case 22:case 23:return t.lanes=0,Ma(e,t,n)}return Ge(e,t,n)}var Ua,Ri,Aa,Va;Ua=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}};Ri=function(){};Aa=function(e,t,n,r){var l=e.memoizedProps;if(l!==r){e=t.stateNode,_t(Ae.current);var i=null;switch(n){case"input":l=ei(e,l),r=ei(e,r),i=[];break;case"select":l=W({},l,{value:void 0}),r=W({},r,{value:void 0}),i=[];break;case"textarea":l=ri(e,l),r=ri(e,r),i=[];break;default:typeof l.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Qr)}ii(n,r);var u;n=null;for(f in l)if(!r.hasOwnProperty(f)&&l.hasOwnProperty(f)&&l[f]!=null)if(f==="style"){var o=l[f];for(u in o)o.hasOwnProperty(u)&&(n||(n={}),n[u]="")}else f!=="dangerouslySetInnerHTML"&&f!=="children"&&f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&f!=="autoFocus"&&(Dn.hasOwnProperty(f)?i||(i=[]):(i=i||[]).push(f,null));for(f in r){var s=r[f];if(o=l!=null?l[f]:void 0,r.hasOwnProperty(f)&&s!==o&&(s!=null||o!=null))if(f==="style")if(o){for(u in o)!o.hasOwnProperty(u)||s&&s.hasOwnProperty(u)||(n||(n={}),n[u]="");for(u in s)s.hasOwnProperty(u)&&o[u]!==s[u]&&(n||(n={}),n[u]=s[u])}else n||(i||(i=[]),i.push(f,n)),n=s;else f==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,o=o?o.__html:void 0,s!=null&&o!==s&&(i=i||[]).push(f,s)):f==="children"?typeof s!="string"&&typeof s!="number"||(i=i||[]).push(f,""+s):f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&(Dn.hasOwnProperty(f)?(s!=null&&f==="onScroll"&&A("scroll",e),i||o===s||(i=[])):(i=i||[]).push(f,s))}n&&(i=i||[]).push("style",n);var f=i;(t.updateQueue=f)&&(t.flags|=4)}};Va=function(e,t,n,r){n!==r&&(t.flags|=4)};function wn(e,t){if(!B)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 ie(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags&14680064,r|=l.flags&14680064,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function fd(e,t,n){var r=t.pendingProps;switch(au(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ie(t),null;case 1:return he(t.type)&&Wr(),ie(t),null;case 3:return r=t.stateNode,sn(),V(me),V(oe),yu(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(gr(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Re!==null&&(Ai(Re),Re=null))),Ri(e,t),ie(t),null;case 5:gu(t);var l=_t(Yn.current);if(n=t.type,e!==null&&t.stateNode!=null)Aa(e,t,n,r,l),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(x(166));return ie(t),null}if(e=_t(Ae.current),gr(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[$e]=t,r[Wn]=i,e=(t.mode&1)!==0,n){case"dialog":A("cancel",r),A("close",r);break;case"iframe":case"object":case"embed":A("load",r);break;case"video":case"audio":for(l=0;l<Cn.length;l++)A(Cn[l],r);break;case"source":A("error",r);break;case"img":case"image":case"link":A("error",r),A("load",r);break;case"details":A("toggle",r);break;case"input":Bu(r,i),A("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},A("invalid",r);break;case"textarea":Qu(r,i),A("invalid",r)}ii(n,i),l=null;for(var u in i)if(i.hasOwnProperty(u)){var o=i[u];u==="children"?typeof o=="string"?r.textContent!==o&&(i.suppressHydrationWarning!==!0&&vr(r.textContent,o,e),l=["children",o]):typeof o=="number"&&r.textContent!==""+o&&(i.suppressHydrationWarning!==!0&&vr(r.textContent,o,e),l=["children",""+o]):Dn.hasOwnProperty(u)&&o!=null&&u==="onScroll"&&A("scroll",r)}switch(n){case"input":sr(r),Hu(r,i,!0);break;case"textarea":sr(r),Wu(r);break;case"select":case"option":break;default:typeof i.onClick=="function"&&(r.onclick=Qr)}r=l,t.updateQueue=r,r!==null&&(t.flags|=4)}else{u=l.nodeType===9?l:l.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=hs(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=u.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=u.createElement(n,{is:r.is}):(e=u.createElement(n),n==="select"&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,n),e[$e]=t,e[Wn]=r,Ua(e,t,!1,!1),t.stateNode=e;e:{switch(u=ui(n,r),n){case"dialog":A("cancel",e),A("close",e),l=r;break;case"iframe":case"object":case"embed":A("load",e),l=r;break;case"video":case"audio":for(l=0;l<Cn.length;l++)A(Cn[l],e);l=r;break;case"source":A("error",e),l=r;break;case"img":case"image":case"link":A("error",e),A("load",e),l=r;break;case"details":A("toggle",e),l=r;break;case"input":Bu(e,r),l=ei(e,r),A("invalid",e);break;case"option":l=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},l=W({},r,{value:void 0}),A("invalid",e);break;case"textarea":Qu(e,r),l=ri(e,r),A("invalid",e);break;default:l=r}ii(n,l),o=l;for(i in o)if(o.hasOwnProperty(i)){var s=o[i];i==="style"?ys(e,s):i==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,s!=null&&vs(e,s)):i==="children"?typeof s=="string"?(n!=="textarea"||s!=="")&&In(e,s):typeof s=="number"&&In(e,""+s):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(Dn.hasOwnProperty(i)?s!=null&&i==="onScroll"&&A("scroll",e):s!=null&&Xi(e,i,s,u))}switch(n){case"input":sr(e),Hu(e,r,!1);break;case"textarea":sr(e),Wu(e);break;case"option":r.value!=null&&e.setAttribute("value",""+dt(r.value));break;case"select":e.multiple=!!r.multiple,i=r.value,i!=null?Jt(e,!!r.multiple,i,!1):r.defaultValue!=null&&Jt(e,!!r.multiple,r.defaultValue,!0);break;default:typeof l.onClick=="function"&&(e.onclick=Qr)}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 ie(t),null;case 6:if(e&&t.stateNode!=null)Va(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(x(166));if(n=_t(Yn.current),_t(Ae.current),gr(t)){if(r=t.stateNode,n=t.memoizedProps,r[$e]=t,(i=r.nodeValue!==n)&&(e=ke,e!==null))switch(e.tag){case 3:vr(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&vr(r.nodeValue,n,(e.mode&1)!==0)}i&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[$e]=t,t.stateNode=r}return ie(t),null;case 13:if(V(H),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(B&&ye!==null&&t.mode&1&&!(t.flags&128))ia(),un(),t.flags|=98560,i=!1;else if(i=gr(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(x(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(x(317));i[$e]=t}else un(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;ie(t),i=!1}else Re!==null&&(Ai(Re),Re=null),i=!0;if(!i)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||H.current&1?Z===0&&(Z=3):zu())),t.updateQueue!==null&&(t.flags|=4),ie(t),null);case 4:return sn(),Ri(e,t),e===null&&Hn(t.stateNode.containerInfo),ie(t),null;case 10:return pu(t.type._context),ie(t),null;case 17:return he(t.type)&&Wr(),ie(t),null;case 19:if(V(H),i=t.memoizedState,i===null)return ie(t),null;if(r=(t.flags&128)!==0,u=i.rendering,u===null)if(r)wn(i,!1);else{if(Z!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(u=qr(e),u!==null){for(t.flags|=128,wn(i,!1),r=u.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)i=n,e=r,i.flags&=14680066,u=i.alternate,u===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=u.childLanes,i.lanes=u.lanes,i.child=u.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=u.memoizedProps,i.memoizedState=u.memoizedState,i.updateQueue=u.updateQueue,i.type=u.type,e=u.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return $(H,H.current&1|2),t.child}e=e.sibling}i.tail!==null&&Y()>cn&&(t.flags|=128,r=!0,wn(i,!1),t.lanes=4194304)}else{if(!r)if(e=qr(u),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),wn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!u.alternate&&!B)return ie(t),null}else 2*Y()-i.renderingStartTime>cn&&n!==1073741824&&(t.flags|=128,r=!0,wn(i,!1),t.lanes=4194304);i.isBackwards?(u.sibling=t.child,t.child=u):(n=i.last,n!==null?n.sibling=u:t.child=u,i.last=u)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Y(),t.sibling=null,n=H.current,$(H,r?n&1|2:n&1),t):(ie(t),null);case 22:case 23:return Tu(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?ge&1073741824&&(ie(t),t.subtreeFlags&6&&(t.flags|=8192)):ie(t),null;case 24:return null;case 25:return null}throw Error(x(156,t.tag))}function dd(e,t){switch(au(t),t.tag){case 1:return he(t.type)&&Wr(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return sn(),V(me),V(oe),yu(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return gu(t),null;case 13:if(V(H),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(x(340));un()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return V(H),null;case 4:return sn(),null;case 10:return pu(t.type._context),null;case 22:case 23:return Tu(),null;case 24:return null;default:return null}}var wr=!1,ue=!1,pd=typeof WeakSet=="function"?WeakSet:Set,j=null;function Gt(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){K(e,t,r)}else n.current=null}function Oi(e,t,n){try{n()}catch(r){K(e,t,r)}}var Do=!1;function md(e,t){if(vi=Vr,e=Ks(),ou(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 l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var u=0,o=-1,s=-1,f=0,v=0,h=e,m=null;t:for(;;){for(var S;h!==n||l!==0&&h.nodeType!==3||(o=u+l),h!==i||r!==0&&h.nodeType!==3||(s=u+r),h.nodeType===3&&(u+=h.nodeValue.length),(S=h.firstChild)!==null;)m=h,h=S;for(;;){if(h===e)break t;if(m===n&&++f===l&&(o=u),m===i&&++v===r&&(s=u),(S=h.nextSibling)!==null)break;h=m,m=h.parentNode}h=S}n=o===-1||s===-1?null:{start:o,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(gi={focusedElem:e,selectionRange:n},Vr=!1,j=t;j!==null;)if(t=j,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,j=e;else for(;j!==null;){t=j;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var k=w.memoizedProps,O=w.memoizedState,a=t.stateNode,c=a.getSnapshotBeforeUpdate(t.elementType===t.type?k:ze(t.type,k),O);a.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var p=t.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(x(163))}}catch(g){K(t,t.return,g)}if(e=t.sibling,e!==null){e.return=t.return,j=e;break}j=t.return}return w=Do,Do=!1,w}function Rn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Oi(t,n,i)}l=l.next}while(l!==r)}}function hl(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 Mi(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 Ba(e){var t=e.alternate;t!==null&&(e.alternate=null,Ba(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[$e],delete t[Wn],delete t[wi],delete t[Zf],delete t[Jf])),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 Ha(e){return e.tag===5||e.tag===3||e.tag===4}function Io(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ha(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 Di(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=Qr));else if(r!==4&&(e=e.child,e!==null))for(Di(e,t,n),e=e.sibling;e!==null;)Di(e,t,n),e=e.sibling}function Ii(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(Ii(e,t,n),e=e.sibling;e!==null;)Ii(e,t,n),e=e.sibling}var ee=null,Le=!1;function Je(e,t,n){for(n=n.child;n!==null;)Qa(e,t,n),n=n.sibling}function Qa(e,t,n){if(Ue&&typeof Ue.onCommitFiberUnmount=="function")try{Ue.onCommitFiberUnmount(ol,n)}catch{}switch(n.tag){case 5:ue||Gt(n,t);case 6:var r=ee,l=Le;ee=null,Je(e,t,n),ee=r,Le=l,ee!==null&&(Le?(e=ee,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ee.removeChild(n.stateNode));break;case 18:ee!==null&&(Le?(e=ee,n=n.stateNode,e.nodeType===8?Ul(e.parentNode,n):e.nodeType===1&&Ul(e,n),An(e)):Ul(ee,n.stateNode));break;case 4:r=ee,l=Le,ee=n.stateNode.containerInfo,Le=!0,Je(e,t,n),ee=r,Le=l;break;case 0:case 11:case 14:case 15:if(!ue&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,u=i.destroy;i=i.tag,u!==void 0&&(i&2||i&4)&&Oi(n,t,u),l=l.next}while(l!==r)}Je(e,t,n);break;case 1:if(!ue&&(Gt(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(o){K(n,t,o)}Je(e,t,n);break;case 21:Je(e,t,n);break;case 22:n.mode&1?(ue=(r=ue)||n.memoizedState!==null,Je(e,t,n),ue=r):Je(e,t,n);break;default:Je(e,t,n)}}function Fo(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new pd),t.forEach(function(r){var l=Nd.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Te(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var l=n[r];try{var i=e,u=t,o=u;e:for(;o!==null;){switch(o.tag){case 5:ee=o.stateNode,Le=!1;break e;case 3:ee=o.stateNode.containerInfo,Le=!0;break e;case 4:ee=o.stateNode.containerInfo,Le=!0;break e}o=o.return}if(ee===null)throw Error(x(160));Qa(i,u,l),ee=null,Le=!1;var s=l.alternate;s!==null&&(s.return=null),l.return=null}catch(f){K(l,t,f)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Wa(t,e),t=t.sibling}function Wa(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Te(t,e),Ie(e),r&4){try{Rn(3,e,e.return),hl(3,e)}catch(k){K(e,e.return,k)}try{Rn(5,e,e.return)}catch(k){K(e,e.return,k)}}break;case 1:Te(t,e),Ie(e),r&512&&n!==null&&Gt(n,n.return);break;case 5:if(Te(t,e),Ie(e),r&512&&n!==null&&Gt(n,n.return),e.flags&32){var l=e.stateNode;try{In(l,"")}catch(k){K(e,e.return,k)}}if(r&4&&(l=e.stateNode,l!=null)){var i=e.memoizedProps,u=n!==null?n.memoizedProps:i,o=e.type,s=e.updateQueue;if(e.updateQueue=null,s!==null)try{o==="input"&&i.type==="radio"&&i.name!=null&&ps(l,i),ui(o,u);var f=ui(o,i);for(u=0;u<s.length;u+=2){var v=s[u],h=s[u+1];v==="style"?ys(l,h):v==="dangerouslySetInnerHTML"?vs(l,h):v==="children"?In(l,h):Xi(l,v,h,f)}switch(o){case"input":ti(l,i);break;case"textarea":ms(l,i);break;case"select":var m=l._wrapperState.wasMultiple;l._wrapperState.wasMultiple=!!i.multiple;var S=i.value;S!=null?Jt(l,!!i.multiple,S,!1):m!==!!i.multiple&&(i.defaultValue!=null?Jt(l,!!i.multiple,i.defaultValue,!0):Jt(l,!!i.multiple,i.multiple?[]:"",!1))}l[Wn]=i}catch(k){K(e,e.return,k)}}break;case 6:if(Te(t,e),Ie(e),r&4){if(e.stateNode===null)throw Error(x(162));l=e.stateNode,i=e.memoizedProps;try{l.nodeValue=i}catch(k){K(e,e.return,k)}}break;case 3:if(Te(t,e),Ie(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{An(t.containerInfo)}catch(k){K(e,e.return,k)}break;case 4:Te(t,e),Ie(e);break;case 13:Te(t,e),Ie(e),l=e.child,l.flags&8192&&(i=l.memoizedState!==null,l.stateNode.isHidden=i,!i||l.alternate!==null&&l.alternate.memoizedState!==null||(_u=Y())),r&4&&Fo(e);break;case 22:if(v=n!==null&&n.memoizedState!==null,e.mode&1?(ue=(f=ue)||v,Te(t,e),ue=f):Te(t,e),Ie(e),r&8192){if(f=e.memoizedState!==null,(e.stateNode.isHidden=f)&&!v&&e.mode&1)for(j=e,v=e.child;v!==null;){for(h=j=v;j!==null;){switch(m=j,S=m.child,m.tag){case 0:case 11:case 14:case 15:Rn(4,m,m.return);break;case 1:Gt(m,m.return);var w=m.stateNode;if(typeof w.componentWillUnmount=="function"){r=m,n=m.return;try{t=r,w.props=t.memoizedProps,w.state=t.memoizedState,w.componentWillUnmount()}catch(k){K(r,n,k)}}break;case 5:Gt(m,m.return);break;case 22:if(m.memoizedState!==null){Uo(h);continue}}S!==null?(S.return=m,j=S):Uo(h)}v=v.sibling}e:for(v=null,h=e;;){if(h.tag===5){if(v===null){v=h;try{l=h.stateNode,f?(i=l.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none"):(o=h.stateNode,s=h.memoizedProps.style,u=s!=null&&s.hasOwnProperty("display")?s.display:null,o.style.display=gs("display",u))}catch(k){K(e,e.return,k)}}}else if(h.tag===6){if(v===null)try{h.stateNode.nodeValue=f?"":h.memoizedProps}catch(k){K(e,e.return,k)}}else if((h.tag!==22&&h.tag!==23||h.memoizedState===null||h===e)&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===e)break e;for(;h.sibling===null;){if(h.return===null||h.return===e)break e;v===h&&(v=null),h=h.return}v===h&&(v=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:Te(t,e),Ie(e),r&4&&Fo(e);break;case 21:break;default:Te(t,e),Ie(e)}}function Ie(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(Ha(n)){var r=n;break e}n=n.return}throw Error(x(160))}switch(r.tag){case 5:var l=r.stateNode;r.flags&32&&(In(l,""),r.flags&=-33);var i=Io(e);Ii(e,i,l);break;case 3:case 4:var u=r.stateNode.containerInfo,o=Io(e);Di(e,o,u);break;default:throw Error(x(161))}}catch(s){K(e,e.return,s)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function hd(e,t,n){j=e,Ka(e)}function Ka(e,t,n){for(var r=(e.mode&1)!==0;j!==null;){var l=j,i=l.child;if(l.tag===22&&r){var u=l.memoizedState!==null||wr;if(!u){var o=l.alternate,s=o!==null&&o.memoizedState!==null||ue;o=wr;var f=ue;if(wr=u,(ue=s)&&!f)for(j=l;j!==null;)u=j,s=u.child,u.tag===22&&u.memoizedState!==null?Ao(l):s!==null?(s.return=u,j=s):Ao(l);for(;i!==null;)j=i,Ka(i),i=i.sibling;j=l,wr=o,ue=f}$o(e)}else l.subtreeFlags&8772&&i!==null?(i.return=l,j=i):$o(e)}}function $o(e){for(;j!==null;){var t=j;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:ue||hl(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!ue)if(n===null)r.componentDidMount();else{var l=t.elementType===t.type?n.memoizedProps:ze(t.type,n.memoizedProps);r.componentDidUpdate(l,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;i!==null&&xo(t,i,r);break;case 3:var u=t.updateQueue;if(u!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}xo(t,u,n)}break;case 5:var o=t.stateNode;if(n===null&&t.flags&4){n=o;var s=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":s.autoFocus&&n.focus();break;case"img":s.src&&(n.src=s.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var f=t.alternate;if(f!==null){var v=f.memoizedState;if(v!==null){var h=v.dehydrated;h!==null&&An(h)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(x(163))}ue||t.flags&512&&Mi(t)}catch(m){K(t,t.return,m)}}if(t===e){j=null;break}if(n=t.sibling,n!==null){n.return=t.return,j=n;break}j=t.return}}function Uo(e){for(;j!==null;){var t=j;if(t===e){j=null;break}var n=t.sibling;if(n!==null){n.return=t.return,j=n;break}j=t.return}}function Ao(e){for(;j!==null;){var t=j;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{hl(4,t)}catch(s){K(t,n,s)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var l=t.return;try{r.componentDidMount()}catch(s){K(t,l,s)}}var i=t.return;try{Mi(t)}catch(s){K(t,i,s)}break;case 5:var u=t.return;try{Mi(t)}catch(s){K(t,u,s)}}}catch(s){K(t,t.return,s)}if(t===e){j=null;break}var o=t.sibling;if(o!==null){o.return=t.return,j=o;break}j=t.return}}var vd=Math.ceil,tl=Ze.ReactCurrentDispatcher,Cu=Ze.ReactCurrentOwner,je=Ze.ReactCurrentBatchConfig,D=0,b=null,X=null,ne=0,ge=0,Zt=ht(0),Z=0,Jn=null,Ot=0,vl=0,ju=0,On=null,de=null,_u=0,cn=1/0,Ve=null,nl=!1,Fi=null,at=null,Sr=!1,rt=null,rl=0,Mn=0,$i=null,Or=-1,Mr=0;function ae(){return D&6?Y():Or!==-1?Or:Or=Y()}function ct(e){return e.mode&1?D&2&&ne!==0?ne&-ne:bf.transition!==null?(Mr===0&&(Mr=zs()),Mr):(e=F,e!==0||(e=window.event,e=e===void 0?16:Fs(e.type)),e):1}function Me(e,t,n,r){if(50<Mn)throw Mn=0,$i=null,Error(x(185));bn(e,n,r),(!(D&2)||e!==b)&&(e===b&&(!(D&2)&&(vl|=n),Z===4&&tt(e,ne)),ve(e,r),n===1&&D===0&&!(t.mode&1)&&(cn=Y()+500,dl&&vt()))}function ve(e,t){var n=e.callbackNode;qc(e,t);var r=Ar(e,e===b?ne:0);if(r===0)n!==null&&Xu(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&Xu(n),t===1)e.tag===0?qf(Vo.bind(null,e)):na(Vo.bind(null,e)),Xf(function(){!(D&6)&&vt()}),n=null;else{switch(Ls(r)){case 1:n=bi;break;case 4:n=Ps;break;case 16:n=Ur;break;case 536870912:n=Ts;break;default:n=Ur}n=ec(n,Ya.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Ya(e,t){if(Or=-1,Mr=0,D&6)throw Error(x(327));var n=e.callbackNode;if(nn()&&e.callbackNode!==n)return null;var r=Ar(e,e===b?ne:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=ll(e,r);else{t=r;var l=D;D|=2;var i=Ga();(b!==e||ne!==t)&&(Ve=null,cn=Y()+500,Pt(e,t));do try{kd();break}catch(o){Xa(e,o)}while(!0);du(),tl.current=i,D=l,X!==null?t=0:(b=null,ne=0,t=Z)}if(t!==0){if(t===2&&(l=fi(e),l!==0&&(r=l,t=Ui(e,l))),t===1)throw n=Jn,Pt(e,0),tt(e,r),ve(e,Y()),n;if(t===6)tt(e,r);else{if(l=e.current.alternate,!(r&30)&&!gd(l)&&(t=ll(e,r),t===2&&(i=fi(e),i!==0&&(r=i,t=Ui(e,i))),t===1))throw n=Jn,Pt(e,0),tt(e,r),ve(e,Y()),n;switch(e.finishedWork=l,e.finishedLanes=r,t){case 0:case 1:throw Error(x(345));case 2:Et(e,de,Ve);break;case 3:if(tt(e,r),(r&130023424)===r&&(t=_u+500-Y(),10<t)){if(Ar(e,0)!==0)break;if(l=e.suspendedLanes,(l&r)!==r){ae(),e.pingedLanes|=e.suspendedLanes&l;break}e.timeoutHandle=ki(Et.bind(null,e,de,Ve),t);break}Et(e,de,Ve);break;case 4:if(tt(e,r),(r&4194240)===r)break;for(t=e.eventTimes,l=-1;0<r;){var u=31-Oe(r);i=1<<u,u=t[u],u>l&&(l=u),r&=~i}if(r=l,r=Y()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*vd(r/1960))-r,10<r){e.timeoutHandle=ki(Et.bind(null,e,de,Ve),r);break}Et(e,de,Ve);break;case 5:Et(e,de,Ve);break;default:throw Error(x(329))}}}return ve(e,Y()),e.callbackNode===n?Ya.bind(null,e):null}function Ui(e,t){var n=On;return e.current.memoizedState.isDehydrated&&(Pt(e,t).flags|=256),e=ll(e,t),e!==2&&(t=de,de=n,t!==null&&Ai(t)),e}function Ai(e){de===null?de=e:de.push.apply(de,e)}function gd(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 l=n[r],i=l.getSnapshot;l=l.value;try{if(!De(i(),l))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 tt(e,t){for(t&=~ju,t&=~vl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Oe(t),r=1<<n;e[n]=-1,t&=~r}}function Vo(e){if(D&6)throw Error(x(327));nn();var t=Ar(e,0);if(!(t&1))return ve(e,Y()),null;var n=ll(e,t);if(e.tag!==0&&n===2){var r=fi(e);r!==0&&(t=r,n=Ui(e,r))}if(n===1)throw n=Jn,Pt(e,0),tt(e,t),ve(e,Y()),n;if(n===6)throw Error(x(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Et(e,de,Ve),ve(e,Y()),null}function Pu(e,t){var n=D;D|=1;try{return e(t)}finally{D=n,D===0&&(cn=Y()+500,dl&&vt())}}function Mt(e){rt!==null&&rt.tag===0&&!(D&6)&&nn();var t=D;D|=1;var n=je.transition,r=F;try{if(je.transition=null,F=1,e)return e()}finally{F=r,je.transition=n,D=t,!(D&6)&&vt()}}function Tu(){ge=Zt.current,V(Zt)}function Pt(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,Yf(n)),X!==null)for(n=X.return;n!==null;){var r=n;switch(au(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Wr();break;case 3:sn(),V(me),V(oe),yu();break;case 5:gu(r);break;case 4:sn();break;case 13:V(H);break;case 19:V(H);break;case 10:pu(r.type._context);break;case 22:case 23:Tu()}n=n.return}if(b=e,X=e=ft(e.current,null),ne=ge=t,Z=0,Jn=null,ju=vl=Ot=0,de=On=null,jt!==null){for(t=0;t<jt.length;t++)if(n=jt[t],r=n.interleaved,r!==null){n.interleaved=null;var l=r.next,i=n.pending;if(i!==null){var u=i.next;i.next=l,r.next=u}n.pending=r}jt=null}return e}function Xa(e,t){do{var n=X;try{if(du(),zr.current=el,br){for(var r=Q.memoizedState;r!==null;){var l=r.queue;l!==null&&(l.pending=null),r=r.next}br=!1}if(Rt=0,q=G=Q=null,Ln=!1,Xn=0,Cu.current=null,n===null||n.return===null){Z=1,Jn=t,X=null;break}e:{var i=e,u=n.return,o=n,s=t;if(t=ne,o.flags|=32768,s!==null&&typeof s=="object"&&typeof s.then=="function"){var f=s,v=o,h=v.tag;if(!(v.mode&1)&&(h===0||h===11||h===15)){var m=v.alternate;m?(v.updateQueue=m.updateQueue,v.memoizedState=m.memoizedState,v.lanes=m.lanes):(v.updateQueue=null,v.memoizedState=null)}var S=Po(u);if(S!==null){S.flags&=-257,To(S,u,o,i,t),S.mode&1&&_o(i,f,t),t=S,s=f;var w=t.updateQueue;if(w===null){var k=new Set;k.add(s),t.updateQueue=k}else w.add(s);break e}else{if(!(t&1)){_o(i,f,t),zu();break e}s=Error(x(426))}}else if(B&&o.mode&1){var O=Po(u);if(O!==null){!(O.flags&65536)&&(O.flags|=256),To(O,u,o,i,t),cu(an(s,o));break e}}i=s=an(s,o),Z!==4&&(Z=2),On===null?On=[i]:On.push(i),i=u;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t;var a=La(i,s,t);So(i,a);break e;case 1:o=s;var c=i.type,p=i.stateNode;if(!(i.flags&128)&&(typeof c.getDerivedStateFromError=="function"||p!==null&&typeof p.componentDidCatch=="function"&&(at===null||!at.has(p)))){i.flags|=65536,t&=-t,i.lanes|=t;var g=Ra(i,o,t);So(i,g);break e}}i=i.return}while(i!==null)}Ja(n)}catch(N){t=N,X===n&&n!==null&&(X=n=n.return);continue}break}while(!0)}function Ga(){var e=tl.current;return tl.current=el,e===null?el:e}function zu(){(Z===0||Z===3||Z===2)&&(Z=4),b===null||!(Ot&268435455)&&!(vl&268435455)||tt(b,ne)}function ll(e,t){var n=D;D|=2;var r=Ga();(b!==e||ne!==t)&&(Ve=null,Pt(e,t));do try{yd();break}catch(l){Xa(e,l)}while(!0);if(du(),D=n,tl.current=r,X!==null)throw Error(x(261));return b=null,ne=0,Z}function yd(){for(;X!==null;)Za(X)}function kd(){for(;X!==null&&!Hc();)Za(X)}function Za(e){var t=ba(e.alternate,e,ge);e.memoizedProps=e.pendingProps,t===null?Ja(e):X=t,Cu.current=null}function Ja(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=dd(n,t),n!==null){n.flags&=32767,X=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Z=6,X=null;return}}else if(n=fd(n,t,ge),n!==null){X=n;return}if(t=t.sibling,t!==null){X=t;return}X=t=e}while(t!==null);Z===0&&(Z=5)}function Et(e,t,n){var r=F,l=je.transition;try{je.transition=null,F=1,wd(e,t,n,r)}finally{je.transition=l,F=r}return null}function wd(e,t,n,r){do nn();while(rt!==null);if(D&6)throw Error(x(327));n=e.finishedWork;var l=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(x(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(bc(e,i),e===b&&(X=b=null,ne=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||Sr||(Sr=!0,ec(Ur,function(){return nn(),null})),i=(n.flags&15990)!==0,n.subtreeFlags&15990||i){i=je.transition,je.transition=null;var u=F;F=1;var o=D;D|=4,Cu.current=null,md(e,n),Wa(n,e),Af(gi),Vr=!!vi,gi=vi=null,e.current=n,hd(n),Qc(),D=o,F=u,je.transition=i}else e.current=n;if(Sr&&(Sr=!1,rt=e,rl=l),i=e.pendingLanes,i===0&&(at=null),Yc(n.stateNode),ve(e,Y()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)l=t[n],r(l.value,{componentStack:l.stack,digest:l.digest});if(nl)throw nl=!1,e=Fi,Fi=null,e;return rl&1&&e.tag!==0&&nn(),i=e.pendingLanes,i&1?e===$i?Mn++:(Mn=0,$i=e):Mn=0,vt(),null}function nn(){if(rt!==null){var e=Ls(rl),t=je.transition,n=F;try{if(je.transition=null,F=16>e?16:e,rt===null)var r=!1;else{if(e=rt,rt=null,rl=0,D&6)throw Error(x(331));var l=D;for(D|=4,j=e.current;j!==null;){var i=j,u=i.child;if(j.flags&16){var o=i.deletions;if(o!==null){for(var s=0;s<o.length;s++){var f=o[s];for(j=f;j!==null;){var v=j;switch(v.tag){case 0:case 11:case 15:Rn(8,v,i)}var h=v.child;if(h!==null)h.return=v,j=h;else for(;j!==null;){v=j;var m=v.sibling,S=v.return;if(Ba(v),v===f){j=null;break}if(m!==null){m.return=S,j=m;break}j=S}}}var w=i.alternate;if(w!==null){var k=w.child;if(k!==null){w.child=null;do{var O=k.sibling;k.sibling=null,k=O}while(k!==null)}}j=i}}if(i.subtreeFlags&2064&&u!==null)u.return=i,j=u;else e:for(;j!==null;){if(i=j,i.flags&2048)switch(i.tag){case 0:case 11:case 15:Rn(9,i,i.return)}var a=i.sibling;if(a!==null){a.return=i.return,j=a;break e}j=i.return}}var c=e.current;for(j=c;j!==null;){u=j;var p=u.child;if(u.subtreeFlags&2064&&p!==null)p.return=u,j=p;else e:for(u=c;j!==null;){if(o=j,o.flags&2048)try{switch(o.tag){case 0:case 11:case 15:hl(9,o)}}catch(N){K(o,o.return,N)}if(o===u){j=null;break e}var g=o.sibling;if(g!==null){g.return=o.return,j=g;break e}j=o.return}}if(D=l,vt(),Ue&&typeof Ue.onPostCommitFiberRoot=="function")try{Ue.onPostCommitFiberRoot(ol,e)}catch{}r=!0}return r}finally{F=n,je.transition=t}}return!1}function Bo(e,t,n){t=an(n,t),t=La(e,t,1),e=st(e,t,1),t=ae(),e!==null&&(bn(e,1,t),ve(e,t))}function K(e,t,n){if(e.tag===3)Bo(e,e,n);else for(;t!==null;){if(t.tag===3){Bo(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(at===null||!at.has(r))){e=an(n,e),e=Ra(t,e,1),t=st(t,e,1),e=ae(),t!==null&&(bn(t,1,e),ve(t,e));break}}t=t.return}}function Sd(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=ae(),e.pingedLanes|=e.suspendedLanes&n,b===e&&(ne&n)===n&&(Z===4||Z===3&&(ne&130023424)===ne&&500>Y()-_u?Pt(e,0):ju|=n),ve(e,t)}function qa(e,t){t===0&&(e.mode&1?(t=fr,fr<<=1,!(fr&130023424)&&(fr=4194304)):t=1);var n=ae();e=Xe(e,t),e!==null&&(bn(e,t,n),ve(e,n))}function xd(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qa(e,n)}function Nd(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(x(314))}r!==null&&r.delete(t),qa(e,n)}var ba;ba=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||me.current)pe=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return pe=!1,cd(e,t,n);pe=!!(e.flags&131072)}else pe=!1,B&&t.flags&1048576&&ra(t,Xr,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Rr(e,t),e=t.pendingProps;var l=ln(t,oe.current);tn(t,n),l=wu(null,t,r,e,l,n);var i=Su();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,he(r)?(i=!0,Kr(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,hu(t),l.updater=ml,t.stateNode=l,l._reactInternals=t,ji(t,r,e,n),t=Ti(null,t,r,!0,i,n)):(t.tag=0,B&&i&&su(t),se(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Rr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Cd(r),e=ze(r,e),l){case 0:t=Pi(null,t,r,e,n);break e;case 1:t=Ro(null,t,r,e,n);break e;case 11:t=zo(null,t,r,e,n);break e;case 14:t=Lo(null,t,r,ze(r.type,e),n);break e}throw Error(x(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Pi(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Ro(e,t,r,l,n);case 3:e:{if(Ia(t),e===null)throw Error(x(387));r=t.pendingProps,i=t.memoizedState,l=i.element,aa(e,t),Jr(t,r,null,n);var u=t.memoizedState;if(r=u.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:u.cache,pendingSuspenseBoundaries:u.pendingSuspenseBoundaries,transitions:u.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=an(Error(x(423)),t),t=Oo(e,t,r,n,l);break e}else if(r!==l){l=an(Error(x(424)),t),t=Oo(e,t,r,n,l);break e}else for(ye=ot(t.stateNode.containerInfo.firstChild),ke=t,B=!0,Re=null,n=oa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(un(),r===l){t=Ge(e,t,n);break e}se(e,t,r,n)}t=t.child}return t;case 5:return ca(t),e===null&&Ni(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,u=l.children,yi(r,l)?u=null:i!==null&&yi(r,i)&&(t.flags|=32),Da(e,t),se(e,t,u,n),t.child;case 6:return e===null&&Ni(t),null;case 13:return Fa(e,t,n);case 4:return vu(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=on(t,null,r,n):se(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),zo(e,t,r,l,n);case 7:return se(e,t,t.pendingProps,n),t.child;case 8:return se(e,t,t.pendingProps.children,n),t.child;case 12:return se(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,u=l.value,$(Gr,r._currentValue),r._currentValue=u,i!==null)if(De(i.value,u)){if(i.children===l.children&&!me.current){t=Ge(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var o=i.dependencies;if(o!==null){u=i.child;for(var s=o.firstContext;s!==null;){if(s.context===r){if(i.tag===1){s=We(-1,n&-n),s.tag=2;var f=i.updateQueue;if(f!==null){f=f.shared;var v=f.pending;v===null?s.next=s:(s.next=v.next,v.next=s),f.pending=s}}i.lanes|=n,s=i.alternate,s!==null&&(s.lanes|=n),Ei(i.return,n,t),o.lanes|=n;break}s=s.next}}else if(i.tag===10)u=i.type===t.type?null:i.child;else if(i.tag===18){if(u=i.return,u===null)throw Error(x(341));u.lanes|=n,o=u.alternate,o!==null&&(o.lanes|=n),Ei(u,n,t),u=i.sibling}else u=i.child;if(u!==null)u.return=i;else for(u=i;u!==null;){if(u===t){u=null;break}if(i=u.sibling,i!==null){i.return=u.return,u=i;break}u=u.return}i=u}se(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,tn(t,n),l=_e(l),r=r(l),t.flags|=1,se(e,t,r,n),t.child;case 14:return r=t.type,l=ze(r,t.pendingProps),l=ze(r.type,l),Lo(e,t,r,l,n);case 15:return Oa(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Rr(e,t),t.tag=1,he(r)?(e=!0,Kr(t)):e=!1,tn(t,n),za(t,r,l),ji(t,r,l,n),Ti(null,t,r,!0,e,n);case 19:return $a(e,t,n);case 22:return Ma(e,t,n)}throw Error(x(156,t.tag))};function ec(e,t){return _s(e,t)}function Ed(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 Ce(e,t,n,r){return new Ed(e,t,n,r)}function Lu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Cd(e){if(typeof e=="function")return Lu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Zi)return 11;if(e===Ji)return 14}return 2}function ft(e,t){var n=e.alternate;return n===null?(n=Ce(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 Dr(e,t,n,r,l,i){var u=2;if(r=e,typeof e=="function")Lu(e)&&(u=1);else if(typeof e=="string")u=5;else e:switch(e){case At:return Tt(n.children,l,i,t);case Gi:u=8,l|=8;break;case Zl:return e=Ce(12,n,t,l|2),e.elementType=Zl,e.lanes=i,e;case Jl:return e=Ce(13,n,t,l),e.elementType=Jl,e.lanes=i,e;case ql:return e=Ce(19,n,t,l),e.elementType=ql,e.lanes=i,e;case cs:return gl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ss:u=10;break e;case as:u=9;break e;case Zi:u=11;break e;case Ji:u=14;break e;case qe:u=16,r=null;break e}throw Error(x(130,e==null?e:typeof e,""))}return t=Ce(u,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function Tt(e,t,n,r){return e=Ce(7,e,r,t),e.lanes=n,e}function gl(e,t,n,r){return e=Ce(22,e,r,t),e.elementType=cs,e.lanes=n,e.stateNode={isHidden:!1},e}function Yl(e,t,n){return e=Ce(6,e,null,t),e.lanes=n,e}function Xl(e,t,n){return t=Ce(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function jd(e,t,n,r,l){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=Pl(0),this.expirationTimes=Pl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Ru(e,t,n,r,l,i,u,o,s){return e=new jd(e,t,n,o,s),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Ce(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},hu(i),e}function _d(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Ut,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function tc(e){if(!e)return pt;e=e._reactInternals;e:{if(It(e)!==e||e.tag!==1)throw Error(x(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(he(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(x(171))}if(e.tag===1){var n=e.type;if(he(n))return ta(e,n,t)}return t}function nc(e,t,n,r,l,i,u,o,s){return e=Ru(n,r,!0,e,l,i,u,o,s),e.context=tc(null),n=e.current,r=ae(),l=ct(n),i=We(r,l),i.callback=t??null,st(n,i,l),e.current.lanes=l,bn(e,l,r),ve(e,r),e}function yl(e,t,n,r){var l=t.current,i=ae(),u=ct(l);return n=tc(n),t.context===null?t.context=n:t.pendingContext=n,t=We(i,u),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=st(l,t,u),e!==null&&(Me(e,l,u,i),Tr(e,l,u)),u}function il(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 Ho(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Ou(e,t){Ho(e,t),(e=e.alternate)&&Ho(e,t)}function Pd(){return null}var rc=typeof reportError=="function"?reportError:function(e){console.error(e)};function Mu(e){this._internalRoot=e}kl.prototype.render=Mu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(x(409));yl(e,t,null,null)};kl.prototype.unmount=Mu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Mt(function(){yl(null,e,null,null)}),t[Ye]=null}};function kl(e){this._internalRoot=e}kl.prototype.unstable_scheduleHydration=function(e){if(e){var t=Ms();e={blockedOn:null,target:e,priority:t};for(var n=0;n<et.length&&t!==0&&t<et[n].priority;n++);et.splice(n,0,e),n===0&&Is(e)}};function Du(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function wl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Qo(){}function Td(e,t,n,r,l){if(l){if(typeof r=="function"){var i=r;r=function(){var f=il(u);i.call(f)}}var u=nc(t,r,e,0,null,!1,!1,"",Qo);return e._reactRootContainer=u,e[Ye]=u.current,Hn(e.nodeType===8?e.parentNode:e),Mt(),u}for(;l=e.lastChild;)e.removeChild(l);if(typeof r=="function"){var o=r;r=function(){var f=il(s);o.call(f)}}var s=Ru(e,0,!1,null,null,!1,!1,"",Qo);return e._reactRootContainer=s,e[Ye]=s.current,Hn(e.nodeType===8?e.parentNode:e),Mt(function(){yl(t,s,n,r)}),s}function Sl(e,t,n,r,l){var i=n._reactRootContainer;if(i){var u=i;if(typeof l=="function"){var o=l;l=function(){var s=il(u);o.call(s)}}yl(t,u,e,l)}else u=Td(n,t,e,l,r);return il(u)}Rs=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=En(t.pendingLanes);n!==0&&(eu(t,n|1),ve(t,Y()),!(D&6)&&(cn=Y()+500,vt()))}break;case 13:Mt(function(){var r=Xe(e,1);if(r!==null){var l=ae();Me(r,e,1,l)}}),Ou(e,1)}};tu=function(e){if(e.tag===13){var t=Xe(e,134217728);if(t!==null){var n=ae();Me(t,e,134217728,n)}Ou(e,134217728)}};Os=function(e){if(e.tag===13){var t=ct(e),n=Xe(e,t);if(n!==null){var r=ae();Me(n,e,t,r)}Ou(e,t)}};Ms=function(){return F};Ds=function(e,t){var n=F;try{return F=e,t()}finally{F=n}};si=function(e,t,n){switch(t){case"input":if(ti(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 l=fl(r);if(!l)throw Error(x(90));ds(r),ti(r,l)}}}break;case"textarea":ms(e,n);break;case"select":t=n.value,t!=null&&Jt(e,!!n.multiple,t,!1)}};Ss=Pu;xs=Mt;var zd={usingClientEntryPoint:!1,Events:[tr,Qt,fl,ks,ws,Pu]},Sn={findFiberByHostInstance:Ct,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Ld={bundleType:Sn.bundleType,version:Sn.version,rendererPackageName:Sn.rendererPackageName,rendererConfig:Sn.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Ze.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Cs(e),e===null?null:e.stateNode},findFiberByHostInstance:Sn.findFiberByHostInstance||Pd,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var xr=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!xr.isDisabled&&xr.supportsFiber)try{ol=xr.inject(Ld),Ue=xr}catch{}}Se.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=zd;Se.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Du(t))throw Error(x(200));return _d(e,t,null,n)};Se.createRoot=function(e,t){if(!Du(e))throw Error(x(299));var n=!1,r="",l=rc;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(l=t.onRecoverableError)),t=Ru(e,1,!1,null,null,n,!1,r,l),e[Ye]=t.current,Hn(e.nodeType===8?e.parentNode:e),new Mu(t)};Se.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(x(188)):(e=Object.keys(e).join(","),Error(x(268,e)));return e=Cs(t),e=e===null?null:e.stateNode,e};Se.flushSync=function(e){return Mt(e)};Se.hydrate=function(e,t,n){if(!wl(t))throw Error(x(200));return Sl(null,e,t,!0,n)};Se.hydrateRoot=function(e,t,n){if(!Du(e))throw Error(x(405));var r=n!=null&&n.hydratedSources||null,l=!1,i="",u=rc;if(n!=null&&(n.unstable_strictMode===!0&&(l=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onRecoverableError!==void 0&&(u=n.onRecoverableError)),t=nc(t,null,e,1,n??null,l,!1,i,u),e[Ye]=t.current,Hn(e),r)for(e=0;e<r.length;e++)n=r[e],l=n._getVersion,l=l(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,l]:t.mutableSourceEagerHydrationData.push(n,l);return new kl(t)};Se.render=function(e,t,n){if(!wl(t))throw Error(x(200));return Sl(null,e,t,!1,n)};Se.unmountComponentAtNode=function(e){if(!wl(e))throw Error(x(40));return e._reactRootContainer?(Mt(function(){Sl(null,null,e,!1,function(){e._reactRootContainer=null,e[Ye]=null})}),!0):!1};Se.unstable_batchedUpdates=Pu;Se.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!wl(n))throw Error(x(200));if(e==null||e._reactInternals===void 0)throw Error(x(38));return Sl(e,t,n,!1,r)};Se.version="18.3.1-next-f1338f8080-20240426";function lc(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(lc)}catch(e){console.error(e)}}lc(),ls.exports=Se;var Rd=ls.exports,ic,Wo=Rd;ic=Wo.createRoot,Wo.hydrateRoot;const Od=new URLSearchParams(location.search),Ko=Od.get("token");Ko&&(sessionStorage.setItem("skillpot-token",Ko),history.replaceState(null,"",location.pathname));function Vi(){return sessionStorage.getItem("skillpot-token")??""}async function te(e,t={}){const n=await fetch(e,{method:t.method??"GET",headers:{"content-type":"application/json",...Vi()?{"x-skillpot-token":Vi()}:{}},body:t.body===void 0?void 0:JSON.stringify(t.body)}),r=await n.json().catch(()=>({}));if(!n.ok)throw new Error((r==null?void 0:r.error)??`HTTP ${n.status}`);return r}const Md=[{id:"all",label:"全部"},{id:"enabled",label:"已开放"},{id:"issue",label:"异常/漂移"}];function Dd(e){return e.enabled&&e.managed?"cell ok":e.enabled&&!e.actual?"cell warn":e.enabled&&e.actual&&!e.managed?"cell conflict":!e.enabled&&e.managed?"cell warn":!e.enabled&&e.actual?"cell conflict":"cell muted"}function Id(e){return e.enabled&&e.managed?"✓":e.enabled&&!e.actual?"⚠":e.enabled&&e.actual&&!e.managed||!e.enabled&&e.managed?"!":!e.enabled&&e.actual?"×":"·"}function Fd(e){return e.enabled&&e.managed?"已开放(symlink 受管)":e.enabled&&!e.actual?"漂移:声明开放但链接缺失,点击重建":e.enabled&&e.actual&&!e.managed?"冲突:被外部同名条目占用,点击也不生效":!e.enabled&&e.managed?"异常:已关闭但受管链接仍在,点击撤下":!e.enabled&&e.actual?"外部同名占用:非本工具创建,点击无效":"未开放,点击开放"}function $d({state:e,reload:t,toast:n,onOpenDetail:r}){const[l,i]=z.useState(null),[u,o]=z.useState(""),[s,f]=z.useState("all"),[v,h]=z.useState(20),{matrix:m}=e,S=z.useMemo(()=>{const a=u.trim().toLowerCase();return m.skills.filter(c=>{if(a&&!c.toLowerCase().includes(a))return!1;if(s==="all")return!0;const p=m.agents.map(g=>{var N;return(N=m.cells[c])==null?void 0:N[g.id]});return s==="enabled"?p.some(g=>g==null?void 0:g.enabled):p.some(g=>g&&(g.enabled&&!g.actual||g.enabled&&g.actual&&!g.managed||!g.enabled&&g.managed))})},[m,u,s]),w=z.useMemo(()=>S.slice(0,v),[S,v]),k=async(a,c)=>{if(l)return;const p=c?"开放":"关闭";if(window.confirm(`确认对该 Agent ${p}全部 skill?`)){i(`bulk:${a}`);try{const g=await te("/api/bulk",{method:"POST",body:{agent:a,enable:c}});n(`已${p} ${g.changed.length} 个 skill${g.skipped.length?`,跳过 ${g.skipped.length} 个`:""}`,g.changed.length===0),await t()}catch(g){n(g.message,!0)}finally{i(null)}}},O=async(a,c)=>{const p=`${a}@${c}`;if(!l){i(p);try{const g=await te("/api/toggle",{method:"POST",body:{skill:a,agent:c}});n(g.message,!g.ok),await t()}catch(g){n(g.message,!0)}finally{i(null)}}};return m.skills.length?d.jsxs("div",{className:"matrix-wrap",children:[d.jsxs("div",{className:"toolbar",children:[d.jsx("input",{className:"input grow",placeholder:"搜索 skill 名…",value:u,onChange:a=>{o(a.target.value),h(20)}}),d.jsx("div",{className:"segment",children:Md.map(a=>d.jsx("button",{className:s===a.id?"seg-btn active":"seg-btn",onClick:()=>{f(a.id),h(20)},children:a.label},a.id))}),d.jsxs("span",{className:"dim small",children:[S.length,"/",m.skills.length]})]}),d.jsxs("table",{className:"matrix",children:[d.jsx("thead",{children:d.jsxs("tr",{children:[d.jsx("th",{className:"skill-col",children:"Skill"}),m.agents.map(a=>d.jsxs("th",{className:a.installed?"":"agent-off",title:a.skillsDir,children:[d.jsx("div",{children:a.name}),!a.installed&&d.jsx("span",{className:"dim",children:"(未检测到)"}),d.jsxs("span",{className:"col-bulk",children:[d.jsx("button",{className:"bulk-btn",title:`对 ${a.name} 开放全部 skill`,disabled:l!==null,onClick:()=>k(a.id,!0),children:"全开"}),d.jsx("button",{className:"bulk-btn",title:`对 ${a.name} 关闭全部 skill`,disabled:l!==null,onClick:()=>k(a.id,!1),children:"全停"})]})]},a.id))]})}),d.jsx("tbody",{children:w.map(a=>{var c;return d.jsxs("tr",{children:[d.jsx("td",{className:"skill-name link",title:((c=e.skills[a])==null?void 0:c.source)??"",onClick:()=>r(a),children:a}),m.agents.map(p=>{var N;const g=(N=m.cells[a])==null?void 0:N[p.id];return g?d.jsx("td",{className:Dd(g)+(l===`${a}@${p.id}`?" busy":""),title:Fd(g),onClick:()=>O(a,p.id),children:Id(g)},p.id):d.jsx("td",{className:"cell muted",children:"·"},p.id)})]},a)})})]}),S.length>v&&d.jsx("div",{className:"load-more",children:d.jsxs("button",{className:"btn",onClick:()=>h(a=>a+20),children:["加载更多(已显示 ",v,"/",S.length,")"]})}),S.length===0&&d.jsx("p",{className:"dim",style:{textAlign:"center",marginTop:16},children:"没有匹配的 skill(换个关键词或切回「全部」)。"}),d.jsxs("p",{className:"legend",children:["✓ 已开放 ⚠ 漂移(声明开放但链接缺失) ! 链接状态异常 × 外部同名占用 · 未开放",d.jsx("span",{className:"dim",children:" · 点击单元格切换(重启示例会话后生效)"})]})]}):d.jsxs("div",{className:"empty",children:[d.jsx("p",{children:"中央仓库为空。"}),d.jsxs("p",{className:"dim",children:["运行 ",d.jsx("code",{children:"skillpot adopt"})," 收编各 Agent 已有 skill(",d.jsx("code",{children:"--move"})," 为移动模式), 或 ",d.jsx("code",{children:"skillpot add"})," 安装。安装后即可在此切换开关。"]})]})}const Ud={error:"错误",warn:"警告",info:"提示"},Ad={resync:"自动修复:重新同步 symlink","drop-ledger":"自动修复:清理失效台账",adopt:"需人工确认:运行 skillpot adopt 收编"};function Vd({rev:e,toast:t}){const[n,r]=z.useState(null),[l,i]=z.useState(!1),u=z.useCallback(()=>{te("/api/doctor").then(f=>r(f.issues)).catch(f=>t(f.message,!0))},[t]);z.useEffect(()=>{u()},[u,e]);const o=async()=>{if(!l){i(!0);try{const f=await te("/api/doctor/fix",{method:"POST"});r(f.remaining),f.fixed.length?t(`已修复 ${f.fixed.length} 项`):t("没有可自动修复的项")}catch(f){t(f.message,!0)}finally{i(!1)}}};if(!n)return d.jsx("div",{className:"loading",children:"体检中…"});const s=n.filter(f=>f.fix&&f.fix!=="adopt").length;return d.jsxs("div",{className:"doctor",children:[d.jsxs("div",{className:"doctor-head",children:[d.jsx("h2",{children:n.length===0?"✓ 未发现问题":`发现 ${n.length} 个问题(错误 ${n.filter(f=>f.level==="error").length} / 警告 ${n.filter(f=>f.level==="warn").length})`}),n.length>0&&d.jsx("button",{className:"btn",onClick:o,disabled:l||s===0,children:l?"修复中…":s>0?`全部修复(${s} 项可自动修复)`:"无可自动修复项"})]}),n.length===0?d.jsx("p",{className:"dim",children:"config、中央仓库与各 Agent 目录三方一致。enable/disable 后记得重启示例会话。"}):d.jsx("ul",{className:"issue-list",children:n.map((f,v)=>d.jsxs("li",{className:`issue level-${f.level}`,children:[d.jsx("span",{className:`badge badge-${f.level}`,children:Ud[f.level]}),d.jsx("span",{className:"issue-msg",children:f.message}),f.fix&&d.jsxs("span",{className:"fix-hint",children:["(",Ad[f.fix],")"]})]},v))})]})}const Bd={imported:"已导入",linked:"已链接(move)",exists:"同名跳过","skipped-managed":"已受管","skipped-invalid":"跳过","dry-run":"待收编"},Hd={"up-to-date":"= 已是最新",outdated:"↑ 有更新",updated:"✔ 已更新",local:"· 本地来源",error:"✗ 失败"},Qd=[{key:"imported",label:"导入"},{key:"linked",label:"链接"},{key:"exists",label:"同名跳过"},{key:"skipped",label:"其他跳过"}];function Wd({rev:e,reload:t,toast:n}){const[r,l]=z.useState(null),[i,u]=z.useState(new Set),[o,s]=z.useState(!0),[f,v]=z.useState(!1),[h,m]=z.useState(!1),[S,w]=z.useState(null),[k,O]=z.useState(""),a=(E,C)=>`${E}\0${C}`,c=z.useCallback(()=>{te("/api/adopt").then(E=>{l(E.agents),u(new Set(E.agents.flatMap(C=>C.skills.filter(I=>I.valid).map(I=>a(C.id,I.name)))))}).catch(E=>n(E.message,!0))},[n]);z.useEffect(()=>{c()},[c,e]);const p=k.trim().toLowerCase(),g=r===null?null:r.map(E=>({...E,skills:E.skills.filter(C=>!p||C.name.toLowerCase().includes(p)||C.path.toLowerCase().includes(p))})),N=(g??[]).reduce((E,C)=>E+C.skills.length,0),T=E=>{u(C=>{const I=new Set(C);return I.has(E)?I.delete(E):I.add(E),I})},_=async()=>{if(h||!r)return;const E=r.flatMap(C=>C.skills.filter(I=>i.has(a(C.id,I.name))).map(I=>({agent:C.id,name:I.name})));if(!E.length){n("没有勾选任何可收编项",!0);return}m(!0);try{const C=await te("/api/adopt",{method:"POST",body:{picks:E,move:o,enableFor:f?[...new Set(E.map(I=>I.agent))]:[]}});w(C),n(`收编完成:导入 ${C.imported}、链接 ${C.linked}`),await t(),c()}catch(C){n(C.message,!0)}finally{m(!1)}};if(!r)return d.jsx("div",{className:"loading",children:"扫描各 Agent 目录中…"});const P=r.reduce((E,C)=>E+C.skills.length,0);return d.jsxs("div",{className:"panel",children:[d.jsxs("div",{className:"doctor-head",children:[d.jsxs("h2",{children:["收编已有 skill",P>0?`(发现 ${P} 个)`:""]}),d.jsx("button",{className:"btn",onClick:_,disabled:h||P===0||i.size===0,children:h?"收编中…":`收编勾选项(${i.size})`})]}),P>0&&d.jsxs("div",{className:"toolbar",children:[d.jsx("input",{className:"input grow",placeholder:"搜索名称 / 路径…",value:k,onChange:E=>O(E.target.value)}),d.jsxs("span",{className:"dim small",children:[N,"/",P]})]}),d.jsxs("div",{className:"form-row options",children:[d.jsxs("label",{className:"pick",children:[d.jsx("input",{type:"checkbox",checked:o,onChange:E=>s(E.target.checked)}),"移动模式(内容拷入后,原目录替换为 symlink,来源 Agent 继续可用)"]}),d.jsxs("label",{className:"pick",children:[d.jsx("input",{type:"checkbox",checked:f,onChange:E=>v(E.target.checked)}),"收编后开放给其来源 Agent"]})]}),P===0?d.jsx("p",{className:"dim",children:"各已安装 Agent 的 skills 目录下没有可收编的真实目录(受管 symlink 与外部链接会自动跳过)。"}):g.filter(E=>E.skills.length>0).map(E=>d.jsxs("div",{className:"adopt-group",children:[d.jsx("div",{className:"adopt-agent",children:E.name}),E.skills.map(C=>{const I=a(E.id,C.name);return d.jsxs("label",{className:C.valid?"adopt-item":"adopt-item off",children:[d.jsx("input",{type:"checkbox",disabled:!C.valid,checked:i.has(I),onChange:()=>T(I)}),d.jsx("span",{className:"mono",children:C.name}),d.jsx("span",{className:"dim small path",children:C.path}),C.inStore&&d.jsx("span",{className:"badge badge-warn",children:"仓库已有同名,move 时替换为 symlink"}),!C.valid&&d.jsx("span",{className:"badge badge-error",children:"目录名不合法"})]},I)})]},E.id)),S&&d.jsxs("div",{className:"result-box",children:[d.jsxs("div",{className:"result-title",children:["收编完成:",Qd.map(E=>`${E.label} ${S[E.key]}`).join(" · ")]}),S.items.filter(E=>E.detail&&E.status!=="imported"&&E.status!=="linked").map((E,C)=>d.jsxs("div",{className:"dim small",children:[E.agent,"/",E.name,":",Bd[E.status],E.detail?` — ${E.detail}`:""]},C))]})]})}function Kd({agents:e,reload:t,toast:n}){const[r,l]=z.useState(""),[i,u]=z.useState(""),[o,s]=z.useState(new Set),[f,v]=z.useState(!1),[h,m]=z.useState(null),S=k=>{s(O=>{const a=new Set(O);return a.has(k)?a.delete(k):a.add(k),a})},w=async()=>{if(!f){v(!0),m(null);try{const k=await te("/api/add",{method:"POST",body:{source:r.trim(),name:i.trim()||void 0,for:[...o]}});m(k),n(`已安装 ${k.name}`),l(""),u(""),await t()}catch(k){n(k.message,!0)}finally{v(!1)}}};return d.jsxs("div",{className:"panel",children:[d.jsx("h2",{children:"安装 skill"}),d.jsxs("p",{className:"dim",children:["本地目录或 git URL(支持 ",d.jsx("code",{children:"repo#subdir"})," 定位子目录)。安装后内容拷入中央仓库, 默认不对任何 Agent 开放。"]}),d.jsx("div",{className:"form-row",children:d.jsx("input",{className:"input grow",placeholder:"~/path/to/my-skill 或 https://github.com/owner/skills.git#subdir",value:r,onChange:k=>l(k.target.value)})}),d.jsxs("div",{className:"form-row",children:[d.jsx("input",{className:"input",style:{width:220},placeholder:"skill 名(可选)",value:i,onChange:k=>u(k.target.value)}),d.jsx("div",{className:"agent-picker",children:e.map(k=>d.jsxs("label",{className:k.installed?"pick":"pick off",children:[d.jsx("input",{type:"checkbox",disabled:!k.installed,checked:o.has(k.id),onChange:()=>S(k.id)}),k.name]},k.id))})]}),d.jsx("button",{className:"btn",onClick:w,disabled:f||!r.trim(),children:f?"安装中…(git 来源需克隆,可能稍慢)":"安装"}),h&&d.jsxs("div",{className:"result-box",children:[d.jsxs("div",{className:"result-title",children:["✔ ",h.name]}),h.description&&d.jsx("div",{className:"dim",children:h.description.slice(0,160)}),d.jsxs("div",{className:"dim mono small",children:["source: ",h.source," · checksum: ",h.checksum.slice(0,18),"…"]}),h.enabled.length>0&&d.jsxs("div",{children:["已开放给:",h.enabled.join("、")]}),h.skipped.map((k,O)=>d.jsxs("div",{className:"warn-text",children:["⚠ ",k.agent,": ",k.reason]},O)),h.lint.length>0&&d.jsxs("div",{className:"lint-box",children:[d.jsxs("div",{className:"dim",children:["安装即体检,发现 ",h.lint.length," 个问题:"]}),h.lint.map((k,O)=>d.jsxs("div",{className:k.level==="error"?"warn-text":"dim",children:[k.level==="error"?"✗":"⚠"," ",k.message]},O))]})]})]})}const Yd=e=>e.startsWith("git:");function Xd({skills:e,reload:t,toast:n,onOpenDetail:r}){const[l,i]=z.useState(null),[u,o]=z.useState(!1),[s,f]=z.useState(null),[v,h]=z.useState(""),m=v.trim().toLowerCase(),S=e.filter(a=>!m||a.name.toLowerCase().includes(m)||a.source.toLowerCase().includes(m)),w=async()=>{if(!u){o(!0);try{const a=await te("/api/update",{method:"POST",body:{check:!0}});i(a.results),await t()}catch(a){n(a.message,!0)}finally{o(!1)}}},k=async a=>{if(!s){f(a);try{const c=await te("/api/update",{method:"POST",body:{skill:a,check:!1}});i(p=>p?p.map(g=>c.results.find(N=>N.skill===a)??g):c.results),n(`${a} 更新操作完成`),await t()}catch(c){n(c.message,!0)}finally{f(null)}}},O=a=>l==null?void 0:l.find(c=>c.skill===a);return e.length?d.jsxs("div",{className:"panel",children:[d.jsxs("div",{className:"doctor-head",children:[d.jsx("h2",{children:"维护"}),d.jsx("button",{className:"btn",onClick:w,disabled:u,children:u?"检查中…(需克隆远端,可能稍慢)":"检查更新(git 来源)"})]}),d.jsx("p",{className:"dim",children:"git 来源的 skill 可原位更新(symlink 指向不变,无需重连);本地来源跳过。点击 skill 名查看详情与卸载。"}),e.length>0&&d.jsxs("div",{className:"toolbar",children:[d.jsx("input",{className:"input grow",placeholder:"搜索名称 / 来源…",value:v,onChange:a=>h(a.target.value)}),d.jsxs("span",{className:"dim small",children:[S.length,"/",e.length]})]}),d.jsxs("table",{className:"matrix update-table",children:[d.jsx("thead",{children:d.jsxs("tr",{children:[d.jsx("th",{className:"skill-col",children:"Skill"}),d.jsx("th",{children:"来源"}),d.jsx("th",{children:"状态"}),d.jsx("th",{children:"操作"})]})}),d.jsx("tbody",{children:S.map(a=>{const c=O(a.name),p=Yd(a.source);return d.jsxs("tr",{children:[d.jsx("td",{className:"skill-name link",onClick:()=>r(a.name),children:a.name}),d.jsx("td",{className:"dim small mono src",title:a.source,children:a.source}),d.jsxs("td",{className:(c==null?void 0:c.status)==="outdated"?"warn-text":"",children:[c?Hd[c.status]:"—",(c==null?void 0:c.detail)&&d.jsxs("span",{className:"dim small",children:[" ",c.detail]})]}),d.jsx("td",{children:p?d.jsx("button",{className:"btn small-btn",disabled:s!==null||(c==null?void 0:c.status)!=="outdated",onClick:()=>k(a.name),title:(c==null?void 0:c.status)==="outdated"?"应用更新":"先检查更新",children:s===a.name?"更新中…":"更新"}):d.jsx("span",{className:"dim small",children:"—"})})]},a.name)})})]})]}):d.jsxs("div",{className:"panel",children:[d.jsx("h2",{children:"维护"}),d.jsx("p",{className:"dim",children:"中央仓库为空。先安装或收编 skill。"})]})}const Nr=20;function Gd({rev:e,reload:t,toast:n}){const[r,l]=z.useState(null),[i,u]=z.useState(""),[o,s]=z.useState(null),[f,v]=z.useState(!1),[h,m]=z.useState(""),[S,w]=z.useState(null),[k,O]=z.useState(!1),[a,c]=z.useState(""),[p,g]=z.useState(""),[N,T]=z.useState(""),[_,P]=z.useState(Nr),E=z.useCallback(async()=>{const y=await te("/api/market/sources");return l(y.sources),y.sources},[]),C=z.useCallback(async(y,L=!1)=>{v(!0),s(null),P(Nr);try{const R=await te(`/api/market/scan?url=${encodeURIComponent(y)}${L?"&refresh=1":""}`);s(R.skills),m(R.cloned?"已重新克隆":"来自本地缓存")}catch(R){n(R.message,!0),s([])}finally{v(!1)}},[n]);z.useEffect(()=>{E().then(y=>{y.length&&u(y[0].url)}).catch(y=>n(y.message,!0))},[]),z.useEffect(()=>{i&&C(i)},[i,C,e]);const I=y=>{y!==i&&u(y)},gt=async()=>{if(a.trim())try{const y=await te("/api/market/sources/add",{method:"POST",body:{url:a.trim(),name:p.trim()||void 0}});n(`已添加源 ${y.source.name}`),c(""),g(""),O(!1);const L=await E();u(y.source.url)}catch(y){n(y.message,!0)}},yt=async y=>{if(window.confirm("确认移除该自定义源?(不会卸载已安装的 skill)"))try{await te("/api/market/sources/remove",{method:"POST",body:{url:y}});const L=await E();i===y&&u(L.length?L[0].url:""),n("已移除源")}catch(L){n(L.message,!0)}},rr=async y=>{if(!S){w(y.subdir);try{const L=await te("/api/market/install",{method:"POST",body:{url:i,subdir:y.subdir}});n(`已安装 ${L.name}`),s(R=>R&&R.map(U=>U.subdir===y.subdir?{...U,installed:!0}:U)),await t()}catch(L){n(L.message,!0)}finally{w(null)}}},kt=z.useMemo(()=>{const y=N.trim().toLowerCase();return y?(o??[]).filter(L=>L.name.toLowerCase().includes(y)||L.description.toLowerCase().includes(y)||L.subdir.toLowerCase().includes(y)):o??[]},[o,N]),Ft=z.useMemo(()=>kt.slice(0,_),[kt,_]);if(!r)return d.jsx("div",{className:"loading",children:"加载源…"});const wt=r.find(y=>y.url===i);return d.jsxs("div",{className:"panel",children:[d.jsxs("div",{className:"doctor-head",children:[d.jsx("h2",{children:"市场"}),d.jsx("button",{className:"btn",onClick:()=>O(y=>!y),children:k?"取消":"添加源"})]}),k&&d.jsxs("div",{className:"form-row",children:[d.jsx("input",{className:"input grow",placeholder:"git 仓库地址,如 https://github.com/owner/skills.git",value:a,onChange:y=>c(y.target.value)}),d.jsx("input",{className:"input",style:{width:160},placeholder:"名称(可选)",value:p,onChange:y=>g(y.target.value)}),d.jsx("button",{className:"btn",onClick:gt,disabled:!a.trim(),children:"确定"})]}),d.jsxs("div",{className:"form-row",children:[r.map(y=>d.jsxs("button",{className:y.url===i?"seg-btn active":"seg-btn",onClick:()=>I(y.url),title:y.url,children:[y.name,y.builtin&&d.jsx("span",{className:"dim",children:"(内置)"})]},y.url)),wt&&!wt.builtin&&d.jsx("button",{className:"seg-btn danger-btn",onClick:()=>yt(wt.url),children:"移除此源"})]}),d.jsxs("div",{className:"form-row",style:{justifyContent:"space-between"},children:[d.jsx("span",{className:"dim small mono",children:i}),d.jsx("button",{className:"btn small-btn",onClick:()=>C(i,!0),disabled:f,children:f?"克隆/扫描中…(首次较慢)":"刷新"})]}),d.jsxs("div",{className:"toolbar",children:[d.jsx("input",{className:"input grow",placeholder:"搜索名称 / 说明 / 子目录…",value:N,onChange:y=>{T(y.target.value),P(Nr)}}),d.jsx("span",{className:"dim small",children:f?"扫描中…":`${kt.length}/${(o??[]).length} · ${h}`})]}),o?o.length===0?d.jsx("p",{className:"dim",children:"该仓库中没有找到 SKILL.md 目录。"}):d.jsxs(d.Fragment,{children:[Ft.length===0?d.jsx("p",{className:"dim",children:"没有匹配的 skill(换个关键词试试)。"}):d.jsxs("table",{className:"matrix update-table",children:[d.jsx("thead",{children:d.jsxs("tr",{children:[d.jsx("th",{className:"skill-col",children:"Skill"}),d.jsx("th",{children:"说明"}),d.jsx("th",{children:"子目录"}),d.jsx("th",{children:"操作"})]})}),d.jsx("tbody",{children:Ft.map(y=>d.jsxs("tr",{children:[d.jsx("td",{className:"skill-name",children:y.name}),d.jsx("td",{className:"dim small",children:y.description.slice(0,90)}),d.jsx("td",{className:"dim small mono",children:y.subdir}),d.jsx("td",{children:y.installed?d.jsx("span",{className:"dim small",children:"已安装"}):d.jsx("button",{className:"btn small-btn",disabled:S!==null,onClick:()=>rr(y),children:S===y.subdir?"安装中…":"安装"})})]},y.subdir))})]}),kt.length>_&&d.jsx("div",{className:"load-more",children:d.jsxs("button",{className:"btn",onClick:()=>P(y=>y+Nr),children:["加载更多(已显示 ",_,"/",kt.length,")"]})}),d.jsx("p",{className:"legend",children:"安装 = 拷贝进中央仓库,默认不对任何 Agent 开放(去「开关矩阵」打勾或安装时先收着)。 官方源中 docx/pdf/pptx/xlsx 为 source-available 许可,使用前请阅原仓库说明。"})]}):null]})}function Zd({skill:e,onClose:t,reload:n,toast:r}){var f;const[l,i]=z.useState(null),[u,o]=z.useState(!1);z.useEffect(()=>{te(`/api/skill/${encodeURIComponent(e)}`).then(i).catch(v=>{r(v.message,!0),t()})},[e]);const s=async()=>{if(!u&&window.confirm(`确认卸载 ${e}?将撤下所有 Agent 的链接并删除中央仓库内容,不可恢复。`)){o(!0);try{await te("/api/remove",{method:"POST",body:{skill:e}}),r(`已卸载 ${e}`),await n(),t()}catch(v){r(v.message,!0),o(!1)}}};return d.jsx("div",{className:"modal-mask",onClick:t,children:d.jsxs("div",{className:"modal",onClick:v=>v.stopPropagation(),children:[d.jsxs("div",{className:"modal-head",children:[d.jsx("h2",{children:e}),d.jsxs("div",{className:"modal-actions",children:[d.jsx("button",{className:"btn danger",onClick:s,disabled:u,children:u?"卸载中…":"卸载"}),d.jsx("button",{className:"tab",onClick:t,children:"关闭"})]})]}),l?d.jsxs(d.Fragment,{children:[((f=l.meta)==null?void 0:f.description)&&d.jsx("p",{children:l.meta.description}),l.lint.length>0&&d.jsxs("div",{className:"lint-box",children:[d.jsxs("div",{className:"dim",children:["lint:",l.lint.length," 个问题"]}),l.lint.map((v,h)=>d.jsxs("div",{className:v.level==="error"?"warn-text":"dim",children:[v.level==="error"?"✗":"⚠"," ",v.message]},h))]}),d.jsxs("div",{className:"detail-files",children:[d.jsxs("div",{className:"dim",children:["文件(",l.files.length,")"]}),d.jsx("div",{className:"file-list mono small",children:l.files.map(v=>d.jsx("div",{children:v},v))})]}),d.jsx("pre",{className:"skill-md",children:l.skillMd})]}):d.jsx("div",{className:"loading",children:"加载详情…"})]})})}const Jd=[{id:"matrix",label:"开关矩阵"},{id:"doctor",label:"体检"},{id:"adopt",label:"收编"},{id:"add",label:"安装"},{id:"market",label:"市场"},{id:"update",label:"维护"}];function qd(){const[e,t]=z.useState("matrix"),[n,r]=z.useState(null),[l,i]=z.useState([]),[u,o]=z.useState(null),[s,f]=z.useState(0),v=z.useRef(void 0),h=z.useCallback((w,k=!1)=>{const O=Date.now()+Math.random();i(a=>[...a,{id:O,text:w,bad:k}]),setTimeout(()=>i(a=>a.filter(c=>c.id!==O)),4e3)},[]),m=z.useCallback(()=>te("/api/state").then(r).catch(w=>h(w.message,!0)),[h]);z.useEffect(()=>{m()},[m]),z.useEffect(()=>{const w=Vi(),k=new EventSource("/api/events"+(w?`?token=${encodeURIComponent(w)}`:""));return k.onmessage=()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{f(O=>O+1),m()},150)},()=>k.close()},[m]);const S=n?Object.keys(n.skills).length:0;return d.jsxs("div",{className:"app",children:[d.jsxs("header",{className:"topbar",children:[d.jsxs("div",{className:"brand",children:["🍲 SkillPot ",d.jsxs("span",{className:"ver",children:["v",(n==null?void 0:n.version)??"…"]})]}),d.jsx("nav",{className:"tabs",children:Jd.map(w=>d.jsx("button",{className:e===w.id?"tab active":"tab",onClick:()=>t(w.id),children:w.label},w.id))}),d.jsxs("div",{className:"meta",children:[S," 个 skill · 中央仓库 ~/.skillpot"]})]}),d.jsx("main",{className:"content",children:n?e==="matrix"?d.jsx($d,{state:n,reload:m,toast:h,onOpenDetail:o}):e==="doctor"?d.jsx(Vd,{rev:s,toast:h}):e==="adopt"?d.jsx(Wd,{rev:s,reload:m,toast:h}):e==="add"?d.jsx(Kd,{agents:n.matrix.agents,reload:m,toast:h}):e==="market"?d.jsx(Gd,{rev:s,reload:m,toast:h}):d.jsx(Xd,{skills:Object.entries(n.skills).map(([w,k])=>({name:w,source:k.source})).sort((w,k)=>w.name.localeCompare(k.name)),reload:m,toast:h,onOpenDetail:o}):d.jsx("div",{className:"loading",children:"加载中…(首次会探测本机 Agent,可能需要数秒)"})}),u&&d.jsx(Zd,{skill:u,onClose:()=>o(null),reload:m,toast:h}),d.jsx("div",{className:"toasts",children:l.map(w=>d.jsx("div",{className:w.bad?"toast bad":"toast",children:w.text},w.id))})]})}ic(document.getElementById("root")).render(d.jsx(qd,{}));
40
+ `+i.stack}return{value:e,source:t,stack:l,digest:null}}function Wl(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function _i(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var od=typeof WeakMap=="function"?WeakMap:Map;function La(e,t,n){n=We(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){nl||(nl=!0,Fi=r),_i(e,t)},n}function Ra(e,t,n){n=We(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var l=t.value;n.payload=function(){return r(l)},n.callback=function(){_i(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){_i(e,t),typeof r!="function"&&(at===null?at=new Set([this]):at.add(this));var u=t.stack;this.componentDidCatch(t.value,{componentStack:u!==null?u:""})}),n}function _o(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new od;var l=new Set;r.set(t,l)}else l=r.get(t),l===void 0&&(l=new Set,r.set(t,l));l.has(n)||(l.add(n),e=Sd.bind(null,e,t,n),t.then(e,e))}function Po(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 To(e,t,n,r,l){return e.mode&1?(e.flags|=65536,e.lanes=l,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=We(-1,1),t.tag=2,st(n,t,1))),n.lanes|=1),e)}var sd=Ze.ReactCurrentOwner,pe=!1;function se(e,t,n,r){t.child=e===null?oa(t,null,n,r):on(t,e.child,n,r)}function zo(e,t,n,r,l){n=n.render;var i=t.ref;return tn(t,l),r=wu(e,t,n,r,i,l),n=Su(),e!==null&&!pe?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,Ge(e,t,l)):(B&&n&&su(t),t.flags|=1,se(e,t,r,l),t.child)}function Lo(e,t,n,r,l){if(e===null){var i=n.type;return typeof i=="function"&&!Lu(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,Oa(e,t,i,r,l)):(e=Dr(n.type,null,r,t,t.mode,l),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&l)){var u=i.memoizedProps;if(n=n.compare,n=n!==null?n:Bn,n(u,r)&&e.ref===t.ref)return Ge(e,t,l)}return t.flags|=1,e=ft(i,r),e.ref=t.ref,e.return=t,t.child=e}function Oa(e,t,n,r,l){if(e!==null){var i=e.memoizedProps;if(Bn(i,r)&&e.ref===t.ref)if(pe=!1,t.pendingProps=r=i,(e.lanes&l)!==0)e.flags&131072&&(pe=!0);else return t.lanes=e.lanes,Ge(e,t,l)}return Pi(e,t,n,r,l)}function Ma(e,t,n){var r=t.pendingProps,l=r.children,i=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},$(Zt,ge),ge|=n;else{if(!(n&1073741824))return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,$(Zt,ge),ge|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=i!==null?i.baseLanes:n,$(Zt,ge),ge|=r}else i!==null?(r=i.baseLanes|n,t.memoizedState=null):r=n,$(Zt,ge),ge|=r;return se(e,t,l,n),t.child}function Da(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function Pi(e,t,n,r,l){var i=he(n)?zt:oe.current;return i=ln(t,i),tn(t,l),n=wu(e,t,n,r,i,l),r=Su(),e!==null&&!pe?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~l,Ge(e,t,l)):(B&&r&&su(t),t.flags|=1,se(e,t,n,l),t.child)}function Ro(e,t,n,r,l){if(he(n)){var i=!0;Kr(t)}else i=!1;if(tn(t,l),t.stateNode===null)Rr(e,t),za(t,n,r),ji(t,n,r,l),r=!0;else if(e===null){var u=t.stateNode,o=t.memoizedProps;u.props=o;var s=u.context,f=n.contextType;typeof f=="object"&&f!==null?f=_e(f):(f=he(n)?zt:oe.current,f=ln(t,f));var v=n.getDerivedStateFromProps,h=typeof v=="function"||typeof u.getSnapshotBeforeUpdate=="function";h||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(o!==r||s!==f)&&jo(t,u,r,f),be=!1;var m=t.memoizedState;u.state=m,Jr(t,r,u,l),s=t.memoizedState,o!==r||m!==s||me.current||be?(typeof v=="function"&&(Ci(t,n,v,r),s=t.memoizedState),(o=be||Co(t,n,o,r,m,s,f))?(h||typeof u.UNSAFE_componentWillMount!="function"&&typeof u.componentWillMount!="function"||(typeof u.componentWillMount=="function"&&u.componentWillMount(),typeof u.UNSAFE_componentWillMount=="function"&&u.UNSAFE_componentWillMount()),typeof u.componentDidMount=="function"&&(t.flags|=4194308)):(typeof u.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=s),u.props=r,u.state=s,u.context=f,r=o):(typeof u.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{u=t.stateNode,aa(e,t),o=t.memoizedProps,f=t.type===t.elementType?o:ze(t.type,o),u.props=f,h=t.pendingProps,m=u.context,s=n.contextType,typeof s=="object"&&s!==null?s=_e(s):(s=he(n)?zt:oe.current,s=ln(t,s));var S=n.getDerivedStateFromProps;(v=typeof S=="function"||typeof u.getSnapshotBeforeUpdate=="function")||typeof u.UNSAFE_componentWillReceiveProps!="function"&&typeof u.componentWillReceiveProps!="function"||(o!==h||m!==s)&&jo(t,u,r,s),be=!1,m=t.memoizedState,u.state=m,Jr(t,r,u,l);var w=t.memoizedState;o!==h||m!==w||me.current||be?(typeof S=="function"&&(Ci(t,n,S,r),w=t.memoizedState),(f=be||Co(t,n,f,r,m,w,s)||!1)?(v||typeof u.UNSAFE_componentWillUpdate!="function"&&typeof u.componentWillUpdate!="function"||(typeof u.componentWillUpdate=="function"&&u.componentWillUpdate(r,w,s),typeof u.UNSAFE_componentWillUpdate=="function"&&u.UNSAFE_componentWillUpdate(r,w,s)),typeof u.componentDidUpdate=="function"&&(t.flags|=4),typeof u.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof u.componentDidUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=w),u.props=r,u.state=w,u.context=s,r=f):(typeof u.componentDidUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof u.getSnapshotBeforeUpdate!="function"||o===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),r=!1)}return Ti(e,t,n,r,i,l)}function Ti(e,t,n,r,l,i){Da(e,t);var u=(t.flags&128)!==0;if(!r&&!u)return l&&go(t,n,!1),Ge(e,t,i);r=t.stateNode,sd.current=t;var o=u&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&u?(t.child=on(t,e.child,null,i),t.child=on(t,null,o,i)):se(e,t,o,i),t.memoizedState=r.state,l&&go(t,n,!0),t.child}function Ia(e){var t=e.stateNode;t.pendingContext?vo(e,t.pendingContext,t.pendingContext!==t.context):t.context&&vo(e,t.context,!1),vu(e,t.containerInfo)}function Oo(e,t,n,r,l){return un(),cu(l),t.flags|=256,se(e,t,n,r),t.child}var zi={dehydrated:null,treeContext:null,retryLane:0};function Li(e){return{baseLanes:e,cachePool:null,transitions:null}}function Fa(e,t,n){var r=t.pendingProps,l=H.current,i=!1,u=(t.flags&128)!==0,o;if((o=u)||(o=e!==null&&e.memoizedState===null?!1:(l&2)!==0),o?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(l|=1),$(H,l&1),e===null)return Ni(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):(u=r.children,e=r.fallback,i?(r=t.mode,i=t.child,u={mode:"hidden",children:u},!(r&1)&&i!==null?(i.childLanes=0,i.pendingProps=u):i=gl(u,r,0,null),e=Tt(e,r,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=Li(n),t.memoizedState=zi,e):Eu(t,u));if(l=e.memoizedState,l!==null&&(o=l.dehydrated,o!==null))return ad(e,t,u,r,o,l,n);if(i){i=r.fallback,u=t.mode,l=e.child,o=l.sibling;var s={mode:"hidden",children:r.children};return!(u&1)&&t.child!==l?(r=t.child,r.childLanes=0,r.pendingProps=s,t.deletions=null):(r=ft(l,s),r.subtreeFlags=l.subtreeFlags&14680064),o!==null?i=ft(o,i):(i=Tt(i,u,n,null),i.flags|=2),i.return=t,r.return=t,r.sibling=i,t.child=r,r=i,i=t.child,u=e.child.memoizedState,u=u===null?Li(n):{baseLanes:u.baseLanes|n,cachePool:null,transitions:u.transitions},i.memoizedState=u,i.childLanes=e.childLanes&~n,t.memoizedState=zi,r}return i=e.child,e=i.sibling,r=ft(i,{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 Eu(e,t){return t=gl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function kr(e,t,n,r){return r!==null&&cu(r),on(t,e.child,null,n),e=Eu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function ad(e,t,n,r,l,i,u){if(n)return t.flags&256?(t.flags&=-257,r=Wl(Error(x(422))),kr(e,t,u,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=r.fallback,l=t.mode,r=gl({mode:"visible",children:r.children},l,0,null),i=Tt(i,l,u,null),i.flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,t.mode&1&&on(t,e.child,null,u),t.child.memoizedState=Li(u),t.memoizedState=zi,i);if(!(t.mode&1))return kr(e,t,u,null);if(l.data==="$!"){if(r=l.nextSibling&&l.nextSibling.dataset,r)var o=r.dgst;return r=o,i=Error(x(419)),r=Wl(i,r,void 0),kr(e,t,u,r)}if(o=(u&e.childLanes)!==0,pe||o){if(r=b,r!==null){switch(u&-u){case 4:l=2;break;case 16:l=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:l=32;break;case 536870912:l=268435456;break;default:l=0}l=l&(r.suspendedLanes|u)?0:l,l!==0&&l!==i.retryLane&&(i.retryLane=l,Xe(e,l),Me(r,e,l,-1))}return zu(),r=Wl(Error(x(421))),kr(e,t,u,r)}return l.data==="$?"?(t.flags|=128,t.child=e.child,t=xd.bind(null,e),l._reactRetry=t,null):(e=i.treeContext,ye=ot(l.nextSibling),ke=t,B=!0,Re=null,e!==null&&(Ne[Ee++]=He,Ne[Ee++]=Qe,Ne[Ee++]=Lt,He=e.id,Qe=e.overflow,Lt=t),t=Eu(t,r.children),t.flags|=4096,t)}function Mo(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ei(e.return,t,n)}function Kl(e,t,n,r,l){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:l}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=l)}function $a(e,t,n){var r=t.pendingProps,l=r.revealOrder,i=r.tail;if(se(e,t,r.children,n),r=H.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&&Mo(e,n,t);else if(e.tag===19)Mo(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($(H,r),!(t.mode&1))t.memoizedState=null;else switch(l){case"forwards":for(n=t.child,l=null;n!==null;)e=n.alternate,e!==null&&qr(e)===null&&(l=n),n=n.sibling;n=l,n===null?(l=t.child,t.child=null):(l=n.sibling,n.sibling=null),Kl(t,!1,l,n,i);break;case"backwards":for(n=null,l=t.child,t.child=null;l!==null;){if(e=l.alternate,e!==null&&qr(e)===null){t.child=l;break}e=l.sibling,l.sibling=n,n=l,l=e}Kl(t,!0,n,null,i);break;case"together":Kl(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Rr(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Ge(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Ot|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(x(153));if(t.child!==null){for(e=t.child,n=ft(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=ft(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function cd(e,t,n){switch(t.tag){case 3:Ia(t),un();break;case 5:ca(t);break;case 1:he(t.type)&&Kr(t);break;case 4:vu(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,l=t.memoizedProps.value;$(Gr,r._currentValue),r._currentValue=l;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?($(H,H.current&1),t.flags|=128,null):n&t.child.childLanes?Fa(e,t,n):($(H,H.current&1),e=Ge(e,t,n),e!==null?e.sibling:null);$(H,H.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return $a(e,t,n);t.flags|=128}if(l=t.memoizedState,l!==null&&(l.rendering=null,l.tail=null,l.lastEffect=null),$(H,H.current),r)break;return null;case 22:case 23:return t.lanes=0,Ma(e,t,n)}return Ge(e,t,n)}var Ua,Ri,Aa,Va;Ua=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}};Ri=function(){};Aa=function(e,t,n,r){var l=e.memoizedProps;if(l!==r){e=t.stateNode,_t(Ae.current);var i=null;switch(n){case"input":l=ei(e,l),r=ei(e,r),i=[];break;case"select":l=W({},l,{value:void 0}),r=W({},r,{value:void 0}),i=[];break;case"textarea":l=ri(e,l),r=ri(e,r),i=[];break;default:typeof l.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=Qr)}ii(n,r);var u;n=null;for(f in l)if(!r.hasOwnProperty(f)&&l.hasOwnProperty(f)&&l[f]!=null)if(f==="style"){var o=l[f];for(u in o)o.hasOwnProperty(u)&&(n||(n={}),n[u]="")}else f!=="dangerouslySetInnerHTML"&&f!=="children"&&f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&f!=="autoFocus"&&(Dn.hasOwnProperty(f)?i||(i=[]):(i=i||[]).push(f,null));for(f in r){var s=r[f];if(o=l!=null?l[f]:void 0,r.hasOwnProperty(f)&&s!==o&&(s!=null||o!=null))if(f==="style")if(o){for(u in o)!o.hasOwnProperty(u)||s&&s.hasOwnProperty(u)||(n||(n={}),n[u]="");for(u in s)s.hasOwnProperty(u)&&o[u]!==s[u]&&(n||(n={}),n[u]=s[u])}else n||(i||(i=[]),i.push(f,n)),n=s;else f==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,o=o?o.__html:void 0,s!=null&&o!==s&&(i=i||[]).push(f,s)):f==="children"?typeof s!="string"&&typeof s!="number"||(i=i||[]).push(f,""+s):f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&(Dn.hasOwnProperty(f)?(s!=null&&f==="onScroll"&&A("scroll",e),i||o===s||(i=[])):(i=i||[]).push(f,s))}n&&(i=i||[]).push("style",n);var f=i;(t.updateQueue=f)&&(t.flags|=4)}};Va=function(e,t,n,r){n!==r&&(t.flags|=4)};function wn(e,t){if(!B)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 ie(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags&14680064,r|=l.flags&14680064,l.return=e,l=l.sibling;else for(l=e.child;l!==null;)n|=l.lanes|l.childLanes,r|=l.subtreeFlags,r|=l.flags,l.return=e,l=l.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function fd(e,t,n){var r=t.pendingProps;switch(au(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ie(t),null;case 1:return he(t.type)&&Wr(),ie(t),null;case 3:return r=t.stateNode,sn(),V(me),V(oe),yu(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(gr(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Re!==null&&(Ai(Re),Re=null))),Ri(e,t),ie(t),null;case 5:gu(t);var l=_t(Yn.current);if(n=t.type,e!==null&&t.stateNode!=null)Aa(e,t,n,r,l),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(x(166));return ie(t),null}if(e=_t(Ae.current),gr(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[$e]=t,r[Wn]=i,e=(t.mode&1)!==0,n){case"dialog":A("cancel",r),A("close",r);break;case"iframe":case"object":case"embed":A("load",r);break;case"video":case"audio":for(l=0;l<Cn.length;l++)A(Cn[l],r);break;case"source":A("error",r);break;case"img":case"image":case"link":A("error",r),A("load",r);break;case"details":A("toggle",r);break;case"input":Bu(r,i),A("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!i.multiple},A("invalid",r);break;case"textarea":Qu(r,i),A("invalid",r)}ii(n,i),l=null;for(var u in i)if(i.hasOwnProperty(u)){var o=i[u];u==="children"?typeof o=="string"?r.textContent!==o&&(i.suppressHydrationWarning!==!0&&vr(r.textContent,o,e),l=["children",o]):typeof o=="number"&&r.textContent!==""+o&&(i.suppressHydrationWarning!==!0&&vr(r.textContent,o,e),l=["children",""+o]):Dn.hasOwnProperty(u)&&o!=null&&u==="onScroll"&&A("scroll",r)}switch(n){case"input":sr(r),Hu(r,i,!0);break;case"textarea":sr(r),Wu(r);break;case"select":case"option":break;default:typeof i.onClick=="function"&&(r.onclick=Qr)}r=l,t.updateQueue=r,r!==null&&(t.flags|=4)}else{u=l.nodeType===9?l:l.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=hs(n)),e==="http://www.w3.org/1999/xhtml"?n==="script"?(e=u.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=u.createElement(n,{is:r.is}):(e=u.createElement(n),n==="select"&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,n),e[$e]=t,e[Wn]=r,Ua(e,t,!1,!1),t.stateNode=e;e:{switch(u=ui(n,r),n){case"dialog":A("cancel",e),A("close",e),l=r;break;case"iframe":case"object":case"embed":A("load",e),l=r;break;case"video":case"audio":for(l=0;l<Cn.length;l++)A(Cn[l],e);l=r;break;case"source":A("error",e),l=r;break;case"img":case"image":case"link":A("error",e),A("load",e),l=r;break;case"details":A("toggle",e),l=r;break;case"input":Bu(e,r),l=ei(e,r),A("invalid",e);break;case"option":l=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},l=W({},r,{value:void 0}),A("invalid",e);break;case"textarea":Qu(e,r),l=ri(e,r),A("invalid",e);break;default:l=r}ii(n,l),o=l;for(i in o)if(o.hasOwnProperty(i)){var s=o[i];i==="style"?ys(e,s):i==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,s!=null&&vs(e,s)):i==="children"?typeof s=="string"?(n!=="textarea"||s!=="")&&In(e,s):typeof s=="number"&&In(e,""+s):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(Dn.hasOwnProperty(i)?s!=null&&i==="onScroll"&&A("scroll",e):s!=null&&Xi(e,i,s,u))}switch(n){case"input":sr(e),Hu(e,r,!1);break;case"textarea":sr(e),Wu(e);break;case"option":r.value!=null&&e.setAttribute("value",""+dt(r.value));break;case"select":e.multiple=!!r.multiple,i=r.value,i!=null?Jt(e,!!r.multiple,i,!1):r.defaultValue!=null&&Jt(e,!!r.multiple,r.defaultValue,!0);break;default:typeof l.onClick=="function"&&(e.onclick=Qr)}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 ie(t),null;case 6:if(e&&t.stateNode!=null)Va(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(x(166));if(n=_t(Yn.current),_t(Ae.current),gr(t)){if(r=t.stateNode,n=t.memoizedProps,r[$e]=t,(i=r.nodeValue!==n)&&(e=ke,e!==null))switch(e.tag){case 3:vr(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&vr(r.nodeValue,n,(e.mode&1)!==0)}i&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[$e]=t,t.stateNode=r}return ie(t),null;case 13:if(V(H),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(B&&ye!==null&&t.mode&1&&!(t.flags&128))ia(),un(),t.flags|=98560,i=!1;else if(i=gr(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(x(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(x(317));i[$e]=t}else un(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;ie(t),i=!1}else Re!==null&&(Ai(Re),Re=null),i=!0;if(!i)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||H.current&1?Z===0&&(Z=3):zu())),t.updateQueue!==null&&(t.flags|=4),ie(t),null);case 4:return sn(),Ri(e,t),e===null&&Hn(t.stateNode.containerInfo),ie(t),null;case 10:return pu(t.type._context),ie(t),null;case 17:return he(t.type)&&Wr(),ie(t),null;case 19:if(V(H),i=t.memoizedState,i===null)return ie(t),null;if(r=(t.flags&128)!==0,u=i.rendering,u===null)if(r)wn(i,!1);else{if(Z!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(u=qr(e),u!==null){for(t.flags|=128,wn(i,!1),r=u.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)i=n,e=r,i.flags&=14680066,u=i.alternate,u===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=u.childLanes,i.lanes=u.lanes,i.child=u.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=u.memoizedProps,i.memoizedState=u.memoizedState,i.updateQueue=u.updateQueue,i.type=u.type,e=u.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return $(H,H.current&1|2),t.child}e=e.sibling}i.tail!==null&&Y()>cn&&(t.flags|=128,r=!0,wn(i,!1),t.lanes=4194304)}else{if(!r)if(e=qr(u),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),wn(i,!0),i.tail===null&&i.tailMode==="hidden"&&!u.alternate&&!B)return ie(t),null}else 2*Y()-i.renderingStartTime>cn&&n!==1073741824&&(t.flags|=128,r=!0,wn(i,!1),t.lanes=4194304);i.isBackwards?(u.sibling=t.child,t.child=u):(n=i.last,n!==null?n.sibling=u:t.child=u,i.last=u)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Y(),t.sibling=null,n=H.current,$(H,r?n&1|2:n&1),t):(ie(t),null);case 22:case 23:return Tu(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?ge&1073741824&&(ie(t),t.subtreeFlags&6&&(t.flags|=8192)):ie(t),null;case 24:return null;case 25:return null}throw Error(x(156,t.tag))}function dd(e,t){switch(au(t),t.tag){case 1:return he(t.type)&&Wr(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return sn(),V(me),V(oe),yu(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return gu(t),null;case 13:if(V(H),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(x(340));un()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return V(H),null;case 4:return sn(),null;case 10:return pu(t.type._context),null;case 22:case 23:return Tu(),null;case 24:return null;default:return null}}var wr=!1,ue=!1,pd=typeof WeakSet=="function"?WeakSet:Set,j=null;function Gt(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){K(e,t,r)}else n.current=null}function Oi(e,t,n){try{n()}catch(r){K(e,t,r)}}var Do=!1;function md(e,t){if(vi=Vr,e=Ks(),ou(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 l=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var u=0,o=-1,s=-1,f=0,v=0,h=e,m=null;t:for(;;){for(var S;h!==n||l!==0&&h.nodeType!==3||(o=u+l),h!==i||r!==0&&h.nodeType!==3||(s=u+r),h.nodeType===3&&(u+=h.nodeValue.length),(S=h.firstChild)!==null;)m=h,h=S;for(;;){if(h===e)break t;if(m===n&&++f===l&&(o=u),m===i&&++v===r&&(s=u),(S=h.nextSibling)!==null)break;h=m,m=h.parentNode}h=S}n=o===-1||s===-1?null:{start:o,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(gi={focusedElem:e,selectionRange:n},Vr=!1,j=t;j!==null;)if(t=j,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,j=e;else for(;j!==null;){t=j;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var k=w.memoizedProps,O=w.memoizedState,a=t.stateNode,c=a.getSnapshotBeforeUpdate(t.elementType===t.type?k:ze(t.type,k),O);a.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var p=t.stateNode.containerInfo;p.nodeType===1?p.textContent="":p.nodeType===9&&p.documentElement&&p.removeChild(p.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(x(163))}}catch(g){K(t,t.return,g)}if(e=t.sibling,e!==null){e.return=t.return,j=e;break}j=t.return}return w=Do,Do=!1,w}function Rn(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var l=r=r.next;do{if((l.tag&e)===e){var i=l.destroy;l.destroy=void 0,i!==void 0&&Oi(t,n,i)}l=l.next}while(l!==r)}}function hl(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 Mi(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 Ba(e){var t=e.alternate;t!==null&&(e.alternate=null,Ba(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[$e],delete t[Wn],delete t[wi],delete t[Zf],delete t[Jf])),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 Ha(e){return e.tag===5||e.tag===3||e.tag===4}function Io(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Ha(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 Di(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=Qr));else if(r!==4&&(e=e.child,e!==null))for(Di(e,t,n),e=e.sibling;e!==null;)Di(e,t,n),e=e.sibling}function Ii(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(Ii(e,t,n),e=e.sibling;e!==null;)Ii(e,t,n),e=e.sibling}var ee=null,Le=!1;function Je(e,t,n){for(n=n.child;n!==null;)Qa(e,t,n),n=n.sibling}function Qa(e,t,n){if(Ue&&typeof Ue.onCommitFiberUnmount=="function")try{Ue.onCommitFiberUnmount(ol,n)}catch{}switch(n.tag){case 5:ue||Gt(n,t);case 6:var r=ee,l=Le;ee=null,Je(e,t,n),ee=r,Le=l,ee!==null&&(Le?(e=ee,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ee.removeChild(n.stateNode));break;case 18:ee!==null&&(Le?(e=ee,n=n.stateNode,e.nodeType===8?Ul(e.parentNode,n):e.nodeType===1&&Ul(e,n),An(e)):Ul(ee,n.stateNode));break;case 4:r=ee,l=Le,ee=n.stateNode.containerInfo,Le=!0,Je(e,t,n),ee=r,Le=l;break;case 0:case 11:case 14:case 15:if(!ue&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){l=r=r.next;do{var i=l,u=i.destroy;i=i.tag,u!==void 0&&(i&2||i&4)&&Oi(n,t,u),l=l.next}while(l!==r)}Je(e,t,n);break;case 1:if(!ue&&(Gt(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(o){K(n,t,o)}Je(e,t,n);break;case 21:Je(e,t,n);break;case 22:n.mode&1?(ue=(r=ue)||n.memoizedState!==null,Je(e,t,n),ue=r):Je(e,t,n);break;default:Je(e,t,n)}}function Fo(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new pd),t.forEach(function(r){var l=Nd.bind(null,e,r);n.has(r)||(n.add(r),r.then(l,l))})}}function Te(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var l=n[r];try{var i=e,u=t,o=u;e:for(;o!==null;){switch(o.tag){case 5:ee=o.stateNode,Le=!1;break e;case 3:ee=o.stateNode.containerInfo,Le=!0;break e;case 4:ee=o.stateNode.containerInfo,Le=!0;break e}o=o.return}if(ee===null)throw Error(x(160));Qa(i,u,l),ee=null,Le=!1;var s=l.alternate;s!==null&&(s.return=null),l.return=null}catch(f){K(l,t,f)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Wa(t,e),t=t.sibling}function Wa(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Te(t,e),Ie(e),r&4){try{Rn(3,e,e.return),hl(3,e)}catch(k){K(e,e.return,k)}try{Rn(5,e,e.return)}catch(k){K(e,e.return,k)}}break;case 1:Te(t,e),Ie(e),r&512&&n!==null&&Gt(n,n.return);break;case 5:if(Te(t,e),Ie(e),r&512&&n!==null&&Gt(n,n.return),e.flags&32){var l=e.stateNode;try{In(l,"")}catch(k){K(e,e.return,k)}}if(r&4&&(l=e.stateNode,l!=null)){var i=e.memoizedProps,u=n!==null?n.memoizedProps:i,o=e.type,s=e.updateQueue;if(e.updateQueue=null,s!==null)try{o==="input"&&i.type==="radio"&&i.name!=null&&ps(l,i),ui(o,u);var f=ui(o,i);for(u=0;u<s.length;u+=2){var v=s[u],h=s[u+1];v==="style"?ys(l,h):v==="dangerouslySetInnerHTML"?vs(l,h):v==="children"?In(l,h):Xi(l,v,h,f)}switch(o){case"input":ti(l,i);break;case"textarea":ms(l,i);break;case"select":var m=l._wrapperState.wasMultiple;l._wrapperState.wasMultiple=!!i.multiple;var S=i.value;S!=null?Jt(l,!!i.multiple,S,!1):m!==!!i.multiple&&(i.defaultValue!=null?Jt(l,!!i.multiple,i.defaultValue,!0):Jt(l,!!i.multiple,i.multiple?[]:"",!1))}l[Wn]=i}catch(k){K(e,e.return,k)}}break;case 6:if(Te(t,e),Ie(e),r&4){if(e.stateNode===null)throw Error(x(162));l=e.stateNode,i=e.memoizedProps;try{l.nodeValue=i}catch(k){K(e,e.return,k)}}break;case 3:if(Te(t,e),Ie(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{An(t.containerInfo)}catch(k){K(e,e.return,k)}break;case 4:Te(t,e),Ie(e);break;case 13:Te(t,e),Ie(e),l=e.child,l.flags&8192&&(i=l.memoizedState!==null,l.stateNode.isHidden=i,!i||l.alternate!==null&&l.alternate.memoizedState!==null||(_u=Y())),r&4&&Fo(e);break;case 22:if(v=n!==null&&n.memoizedState!==null,e.mode&1?(ue=(f=ue)||v,Te(t,e),ue=f):Te(t,e),Ie(e),r&8192){if(f=e.memoizedState!==null,(e.stateNode.isHidden=f)&&!v&&e.mode&1)for(j=e,v=e.child;v!==null;){for(h=j=v;j!==null;){switch(m=j,S=m.child,m.tag){case 0:case 11:case 14:case 15:Rn(4,m,m.return);break;case 1:Gt(m,m.return);var w=m.stateNode;if(typeof w.componentWillUnmount=="function"){r=m,n=m.return;try{t=r,w.props=t.memoizedProps,w.state=t.memoizedState,w.componentWillUnmount()}catch(k){K(r,n,k)}}break;case 5:Gt(m,m.return);break;case 22:if(m.memoizedState!==null){Uo(h);continue}}S!==null?(S.return=m,j=S):Uo(h)}v=v.sibling}e:for(v=null,h=e;;){if(h.tag===5){if(v===null){v=h;try{l=h.stateNode,f?(i=l.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none"):(o=h.stateNode,s=h.memoizedProps.style,u=s!=null&&s.hasOwnProperty("display")?s.display:null,o.style.display=gs("display",u))}catch(k){K(e,e.return,k)}}}else if(h.tag===6){if(v===null)try{h.stateNode.nodeValue=f?"":h.memoizedProps}catch(k){K(e,e.return,k)}}else if((h.tag!==22&&h.tag!==23||h.memoizedState===null||h===e)&&h.child!==null){h.child.return=h,h=h.child;continue}if(h===e)break e;for(;h.sibling===null;){if(h.return===null||h.return===e)break e;v===h&&(v=null),h=h.return}v===h&&(v=null),h.sibling.return=h.return,h=h.sibling}}break;case 19:Te(t,e),Ie(e),r&4&&Fo(e);break;case 21:break;default:Te(t,e),Ie(e)}}function Ie(e){var t=e.flags;if(t&2){try{e:{for(var n=e.return;n!==null;){if(Ha(n)){var r=n;break e}n=n.return}throw Error(x(160))}switch(r.tag){case 5:var l=r.stateNode;r.flags&32&&(In(l,""),r.flags&=-33);var i=Io(e);Ii(e,i,l);break;case 3:case 4:var u=r.stateNode.containerInfo,o=Io(e);Di(e,o,u);break;default:throw Error(x(161))}}catch(s){K(e,e.return,s)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function hd(e,t,n){j=e,Ka(e)}function Ka(e,t,n){for(var r=(e.mode&1)!==0;j!==null;){var l=j,i=l.child;if(l.tag===22&&r){var u=l.memoizedState!==null||wr;if(!u){var o=l.alternate,s=o!==null&&o.memoizedState!==null||ue;o=wr;var f=ue;if(wr=u,(ue=s)&&!f)for(j=l;j!==null;)u=j,s=u.child,u.tag===22&&u.memoizedState!==null?Ao(l):s!==null?(s.return=u,j=s):Ao(l);for(;i!==null;)j=i,Ka(i),i=i.sibling;j=l,wr=o,ue=f}$o(e)}else l.subtreeFlags&8772&&i!==null?(i.return=l,j=i):$o(e)}}function $o(e){for(;j!==null;){var t=j;if(t.flags&8772){var n=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:ue||hl(5,t);break;case 1:var r=t.stateNode;if(t.flags&4&&!ue)if(n===null)r.componentDidMount();else{var l=t.elementType===t.type?n.memoizedProps:ze(t.type,n.memoizedProps);r.componentDidUpdate(l,n.memoizedState,r.__reactInternalSnapshotBeforeUpdate)}var i=t.updateQueue;i!==null&&xo(t,i,r);break;case 3:var u=t.updateQueue;if(u!==null){if(n=null,t.child!==null)switch(t.child.tag){case 5:n=t.child.stateNode;break;case 1:n=t.child.stateNode}xo(t,u,n)}break;case 5:var o=t.stateNode;if(n===null&&t.flags&4){n=o;var s=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":s.autoFocus&&n.focus();break;case"img":s.src&&(n.src=s.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var f=t.alternate;if(f!==null){var v=f.memoizedState;if(v!==null){var h=v.dehydrated;h!==null&&An(h)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(x(163))}ue||t.flags&512&&Mi(t)}catch(m){K(t,t.return,m)}}if(t===e){j=null;break}if(n=t.sibling,n!==null){n.return=t.return,j=n;break}j=t.return}}function Uo(e){for(;j!==null;){var t=j;if(t===e){j=null;break}var n=t.sibling;if(n!==null){n.return=t.return,j=n;break}j=t.return}}function Ao(e){for(;j!==null;){var t=j;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{hl(4,t)}catch(s){K(t,n,s)}break;case 1:var r=t.stateNode;if(typeof r.componentDidMount=="function"){var l=t.return;try{r.componentDidMount()}catch(s){K(t,l,s)}}var i=t.return;try{Mi(t)}catch(s){K(t,i,s)}break;case 5:var u=t.return;try{Mi(t)}catch(s){K(t,u,s)}}}catch(s){K(t,t.return,s)}if(t===e){j=null;break}var o=t.sibling;if(o!==null){o.return=t.return,j=o;break}j=t.return}}var vd=Math.ceil,tl=Ze.ReactCurrentDispatcher,Cu=Ze.ReactCurrentOwner,je=Ze.ReactCurrentBatchConfig,D=0,b=null,X=null,ne=0,ge=0,Zt=ht(0),Z=0,Jn=null,Ot=0,vl=0,ju=0,On=null,de=null,_u=0,cn=1/0,Ve=null,nl=!1,Fi=null,at=null,Sr=!1,rt=null,rl=0,Mn=0,$i=null,Or=-1,Mr=0;function ae(){return D&6?Y():Or!==-1?Or:Or=Y()}function ct(e){return e.mode&1?D&2&&ne!==0?ne&-ne:bf.transition!==null?(Mr===0&&(Mr=zs()),Mr):(e=F,e!==0||(e=window.event,e=e===void 0?16:Fs(e.type)),e):1}function Me(e,t,n,r){if(50<Mn)throw Mn=0,$i=null,Error(x(185));bn(e,n,r),(!(D&2)||e!==b)&&(e===b&&(!(D&2)&&(vl|=n),Z===4&&tt(e,ne)),ve(e,r),n===1&&D===0&&!(t.mode&1)&&(cn=Y()+500,dl&&vt()))}function ve(e,t){var n=e.callbackNode;qc(e,t);var r=Ar(e,e===b?ne:0);if(r===0)n!==null&&Xu(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(n!=null&&Xu(n),t===1)e.tag===0?qf(Vo.bind(null,e)):na(Vo.bind(null,e)),Xf(function(){!(D&6)&&vt()}),n=null;else{switch(Ls(r)){case 1:n=bi;break;case 4:n=Ps;break;case 16:n=Ur;break;case 536870912:n=Ts;break;default:n=Ur}n=ec(n,Ya.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function Ya(e,t){if(Or=-1,Mr=0,D&6)throw Error(x(327));var n=e.callbackNode;if(nn()&&e.callbackNode!==n)return null;var r=Ar(e,e===b?ne:0);if(r===0)return null;if(r&30||r&e.expiredLanes||t)t=ll(e,r);else{t=r;var l=D;D|=2;var i=Ga();(b!==e||ne!==t)&&(Ve=null,cn=Y()+500,Pt(e,t));do try{kd();break}catch(o){Xa(e,o)}while(!0);du(),tl.current=i,D=l,X!==null?t=0:(b=null,ne=0,t=Z)}if(t!==0){if(t===2&&(l=fi(e),l!==0&&(r=l,t=Ui(e,l))),t===1)throw n=Jn,Pt(e,0),tt(e,r),ve(e,Y()),n;if(t===6)tt(e,r);else{if(l=e.current.alternate,!(r&30)&&!gd(l)&&(t=ll(e,r),t===2&&(i=fi(e),i!==0&&(r=i,t=Ui(e,i))),t===1))throw n=Jn,Pt(e,0),tt(e,r),ve(e,Y()),n;switch(e.finishedWork=l,e.finishedLanes=r,t){case 0:case 1:throw Error(x(345));case 2:Et(e,de,Ve);break;case 3:if(tt(e,r),(r&130023424)===r&&(t=_u+500-Y(),10<t)){if(Ar(e,0)!==0)break;if(l=e.suspendedLanes,(l&r)!==r){ae(),e.pingedLanes|=e.suspendedLanes&l;break}e.timeoutHandle=ki(Et.bind(null,e,de,Ve),t);break}Et(e,de,Ve);break;case 4:if(tt(e,r),(r&4194240)===r)break;for(t=e.eventTimes,l=-1;0<r;){var u=31-Oe(r);i=1<<u,u=t[u],u>l&&(l=u),r&=~i}if(r=l,r=Y()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*vd(r/1960))-r,10<r){e.timeoutHandle=ki(Et.bind(null,e,de,Ve),r);break}Et(e,de,Ve);break;case 5:Et(e,de,Ve);break;default:throw Error(x(329))}}}return ve(e,Y()),e.callbackNode===n?Ya.bind(null,e):null}function Ui(e,t){var n=On;return e.current.memoizedState.isDehydrated&&(Pt(e,t).flags|=256),e=ll(e,t),e!==2&&(t=de,de=n,t!==null&&Ai(t)),e}function Ai(e){de===null?de=e:de.push.apply(de,e)}function gd(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 l=n[r],i=l.getSnapshot;l=l.value;try{if(!De(i(),l))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 tt(e,t){for(t&=~ju,t&=~vl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Oe(t),r=1<<n;e[n]=-1,t&=~r}}function Vo(e){if(D&6)throw Error(x(327));nn();var t=Ar(e,0);if(!(t&1))return ve(e,Y()),null;var n=ll(e,t);if(e.tag!==0&&n===2){var r=fi(e);r!==0&&(t=r,n=Ui(e,r))}if(n===1)throw n=Jn,Pt(e,0),tt(e,t),ve(e,Y()),n;if(n===6)throw Error(x(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Et(e,de,Ve),ve(e,Y()),null}function Pu(e,t){var n=D;D|=1;try{return e(t)}finally{D=n,D===0&&(cn=Y()+500,dl&&vt())}}function Mt(e){rt!==null&&rt.tag===0&&!(D&6)&&nn();var t=D;D|=1;var n=je.transition,r=F;try{if(je.transition=null,F=1,e)return e()}finally{F=r,je.transition=n,D=t,!(D&6)&&vt()}}function Tu(){ge=Zt.current,V(Zt)}function Pt(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(n!==-1&&(e.timeoutHandle=-1,Yf(n)),X!==null)for(n=X.return;n!==null;){var r=n;switch(au(r),r.tag){case 1:r=r.type.childContextTypes,r!=null&&Wr();break;case 3:sn(),V(me),V(oe),yu();break;case 5:gu(r);break;case 4:sn();break;case 13:V(H);break;case 19:V(H);break;case 10:pu(r.type._context);break;case 22:case 23:Tu()}n=n.return}if(b=e,X=e=ft(e.current,null),ne=ge=t,Z=0,Jn=null,ju=vl=Ot=0,de=On=null,jt!==null){for(t=0;t<jt.length;t++)if(n=jt[t],r=n.interleaved,r!==null){n.interleaved=null;var l=r.next,i=n.pending;if(i!==null){var u=i.next;i.next=l,r.next=u}n.pending=r}jt=null}return e}function Xa(e,t){do{var n=X;try{if(du(),zr.current=el,br){for(var r=Q.memoizedState;r!==null;){var l=r.queue;l!==null&&(l.pending=null),r=r.next}br=!1}if(Rt=0,q=G=Q=null,Ln=!1,Xn=0,Cu.current=null,n===null||n.return===null){Z=1,Jn=t,X=null;break}e:{var i=e,u=n.return,o=n,s=t;if(t=ne,o.flags|=32768,s!==null&&typeof s=="object"&&typeof s.then=="function"){var f=s,v=o,h=v.tag;if(!(v.mode&1)&&(h===0||h===11||h===15)){var m=v.alternate;m?(v.updateQueue=m.updateQueue,v.memoizedState=m.memoizedState,v.lanes=m.lanes):(v.updateQueue=null,v.memoizedState=null)}var S=Po(u);if(S!==null){S.flags&=-257,To(S,u,o,i,t),S.mode&1&&_o(i,f,t),t=S,s=f;var w=t.updateQueue;if(w===null){var k=new Set;k.add(s),t.updateQueue=k}else w.add(s);break e}else{if(!(t&1)){_o(i,f,t),zu();break e}s=Error(x(426))}}else if(B&&o.mode&1){var O=Po(u);if(O!==null){!(O.flags&65536)&&(O.flags|=256),To(O,u,o,i,t),cu(an(s,o));break e}}i=s=an(s,o),Z!==4&&(Z=2),On===null?On=[i]:On.push(i),i=u;do{switch(i.tag){case 3:i.flags|=65536,t&=-t,i.lanes|=t;var a=La(i,s,t);So(i,a);break e;case 1:o=s;var c=i.type,p=i.stateNode;if(!(i.flags&128)&&(typeof c.getDerivedStateFromError=="function"||p!==null&&typeof p.componentDidCatch=="function"&&(at===null||!at.has(p)))){i.flags|=65536,t&=-t,i.lanes|=t;var g=Ra(i,o,t);So(i,g);break e}}i=i.return}while(i!==null)}Ja(n)}catch(N){t=N,X===n&&n!==null&&(X=n=n.return);continue}break}while(!0)}function Ga(){var e=tl.current;return tl.current=el,e===null?el:e}function zu(){(Z===0||Z===3||Z===2)&&(Z=4),b===null||!(Ot&268435455)&&!(vl&268435455)||tt(b,ne)}function ll(e,t){var n=D;D|=2;var r=Ga();(b!==e||ne!==t)&&(Ve=null,Pt(e,t));do try{yd();break}catch(l){Xa(e,l)}while(!0);if(du(),D=n,tl.current=r,X!==null)throw Error(x(261));return b=null,ne=0,Z}function yd(){for(;X!==null;)Za(X)}function kd(){for(;X!==null&&!Hc();)Za(X)}function Za(e){var t=ba(e.alternate,e,ge);e.memoizedProps=e.pendingProps,t===null?Ja(e):X=t,Cu.current=null}function Ja(e){var t=e;do{var n=t.alternate;if(e=t.return,t.flags&32768){if(n=dd(n,t),n!==null){n.flags&=32767,X=n;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Z=6,X=null;return}}else if(n=fd(n,t,ge),n!==null){X=n;return}if(t=t.sibling,t!==null){X=t;return}X=t=e}while(t!==null);Z===0&&(Z=5)}function Et(e,t,n){var r=F,l=je.transition;try{je.transition=null,F=1,wd(e,t,n,r)}finally{je.transition=l,F=r}return null}function wd(e,t,n,r){do nn();while(rt!==null);if(D&6)throw Error(x(327));n=e.finishedWork;var l=e.finishedLanes;if(n===null)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(x(177));e.callbackNode=null,e.callbackPriority=0;var i=n.lanes|n.childLanes;if(bc(e,i),e===b&&(X=b=null,ne=0),!(n.subtreeFlags&2064)&&!(n.flags&2064)||Sr||(Sr=!0,ec(Ur,function(){return nn(),null})),i=(n.flags&15990)!==0,n.subtreeFlags&15990||i){i=je.transition,je.transition=null;var u=F;F=1;var o=D;D|=4,Cu.current=null,md(e,n),Wa(n,e),Af(gi),Vr=!!vi,gi=vi=null,e.current=n,hd(n),Qc(),D=o,F=u,je.transition=i}else e.current=n;if(Sr&&(Sr=!1,rt=e,rl=l),i=e.pendingLanes,i===0&&(at=null),Yc(n.stateNode),ve(e,Y()),t!==null)for(r=e.onRecoverableError,n=0;n<t.length;n++)l=t[n],r(l.value,{componentStack:l.stack,digest:l.digest});if(nl)throw nl=!1,e=Fi,Fi=null,e;return rl&1&&e.tag!==0&&nn(),i=e.pendingLanes,i&1?e===$i?Mn++:(Mn=0,$i=e):Mn=0,vt(),null}function nn(){if(rt!==null){var e=Ls(rl),t=je.transition,n=F;try{if(je.transition=null,F=16>e?16:e,rt===null)var r=!1;else{if(e=rt,rt=null,rl=0,D&6)throw Error(x(331));var l=D;for(D|=4,j=e.current;j!==null;){var i=j,u=i.child;if(j.flags&16){var o=i.deletions;if(o!==null){for(var s=0;s<o.length;s++){var f=o[s];for(j=f;j!==null;){var v=j;switch(v.tag){case 0:case 11:case 15:Rn(8,v,i)}var h=v.child;if(h!==null)h.return=v,j=h;else for(;j!==null;){v=j;var m=v.sibling,S=v.return;if(Ba(v),v===f){j=null;break}if(m!==null){m.return=S,j=m;break}j=S}}}var w=i.alternate;if(w!==null){var k=w.child;if(k!==null){w.child=null;do{var O=k.sibling;k.sibling=null,k=O}while(k!==null)}}j=i}}if(i.subtreeFlags&2064&&u!==null)u.return=i,j=u;else e:for(;j!==null;){if(i=j,i.flags&2048)switch(i.tag){case 0:case 11:case 15:Rn(9,i,i.return)}var a=i.sibling;if(a!==null){a.return=i.return,j=a;break e}j=i.return}}var c=e.current;for(j=c;j!==null;){u=j;var p=u.child;if(u.subtreeFlags&2064&&p!==null)p.return=u,j=p;else e:for(u=c;j!==null;){if(o=j,o.flags&2048)try{switch(o.tag){case 0:case 11:case 15:hl(9,o)}}catch(N){K(o,o.return,N)}if(o===u){j=null;break e}var g=o.sibling;if(g!==null){g.return=o.return,j=g;break e}j=o.return}}if(D=l,vt(),Ue&&typeof Ue.onPostCommitFiberRoot=="function")try{Ue.onPostCommitFiberRoot(ol,e)}catch{}r=!0}return r}finally{F=n,je.transition=t}}return!1}function Bo(e,t,n){t=an(n,t),t=La(e,t,1),e=st(e,t,1),t=ae(),e!==null&&(bn(e,1,t),ve(e,t))}function K(e,t,n){if(e.tag===3)Bo(e,e,n);else for(;t!==null;){if(t.tag===3){Bo(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(at===null||!at.has(r))){e=an(n,e),e=Ra(t,e,1),t=st(t,e,1),e=ae(),t!==null&&(bn(t,1,e),ve(t,e));break}}t=t.return}}function Sd(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),t=ae(),e.pingedLanes|=e.suspendedLanes&n,b===e&&(ne&n)===n&&(Z===4||Z===3&&(ne&130023424)===ne&&500>Y()-_u?Pt(e,0):ju|=n),ve(e,t)}function qa(e,t){t===0&&(e.mode&1?(t=fr,fr<<=1,!(fr&130023424)&&(fr=4194304)):t=1);var n=ae();e=Xe(e,t),e!==null&&(bn(e,t,n),ve(e,n))}function xd(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),qa(e,n)}function Nd(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;l!==null&&(n=l.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(x(314))}r!==null&&r.delete(t),qa(e,n)}var ba;ba=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||me.current)pe=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return pe=!1,cd(e,t,n);pe=!!(e.flags&131072)}else pe=!1,B&&t.flags&1048576&&ra(t,Xr,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Rr(e,t),e=t.pendingProps;var l=ln(t,oe.current);tn(t,n),l=wu(null,t,r,e,l,n);var i=Su();return t.flags|=1,typeof l=="object"&&l!==null&&typeof l.render=="function"&&l.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,he(r)?(i=!0,Kr(t)):i=!1,t.memoizedState=l.state!==null&&l.state!==void 0?l.state:null,hu(t),l.updater=ml,t.stateNode=l,l._reactInternals=t,ji(t,r,e,n),t=Ti(null,t,r,!0,i,n)):(t.tag=0,B&&i&&su(t),se(null,t,l,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Rr(e,t),e=t.pendingProps,l=r._init,r=l(r._payload),t.type=r,l=t.tag=Cd(r),e=ze(r,e),l){case 0:t=Pi(null,t,r,e,n);break e;case 1:t=Ro(null,t,r,e,n);break e;case 11:t=zo(null,t,r,e,n);break e;case 14:t=Lo(null,t,r,ze(r.type,e),n);break e}throw Error(x(306,r,""))}return t;case 0:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Pi(e,t,r,l,n);case 1:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Ro(e,t,r,l,n);case 3:e:{if(Ia(t),e===null)throw Error(x(387));r=t.pendingProps,i=t.memoizedState,l=i.element,aa(e,t),Jr(t,r,null,n);var u=t.memoizedState;if(r=u.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:u.cache,pendingSuspenseBoundaries:u.pendingSuspenseBoundaries,transitions:u.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){l=an(Error(x(423)),t),t=Oo(e,t,r,n,l);break e}else if(r!==l){l=an(Error(x(424)),t),t=Oo(e,t,r,n,l);break e}else for(ye=ot(t.stateNode.containerInfo.firstChild),ke=t,B=!0,Re=null,n=oa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(un(),r===l){t=Ge(e,t,n);break e}se(e,t,r,n)}t=t.child}return t;case 5:return ca(t),e===null&&Ni(t),r=t.type,l=t.pendingProps,i=e!==null?e.memoizedProps:null,u=l.children,yi(r,l)?u=null:i!==null&&yi(r,i)&&(t.flags|=32),Da(e,t),se(e,t,u,n),t.child;case 6:return e===null&&Ni(t),null;case 13:return Fa(e,t,n);case 4:return vu(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=on(t,null,r,n):se(e,t,r,n),t.child;case 11:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),zo(e,t,r,l,n);case 7:return se(e,t,t.pendingProps,n),t.child;case 8:return se(e,t,t.pendingProps.children,n),t.child;case 12:return se(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,l=t.pendingProps,i=t.memoizedProps,u=l.value,$(Gr,r._currentValue),r._currentValue=u,i!==null)if(De(i.value,u)){if(i.children===l.children&&!me.current){t=Ge(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var o=i.dependencies;if(o!==null){u=i.child;for(var s=o.firstContext;s!==null;){if(s.context===r){if(i.tag===1){s=We(-1,n&-n),s.tag=2;var f=i.updateQueue;if(f!==null){f=f.shared;var v=f.pending;v===null?s.next=s:(s.next=v.next,v.next=s),f.pending=s}}i.lanes|=n,s=i.alternate,s!==null&&(s.lanes|=n),Ei(i.return,n,t),o.lanes|=n;break}s=s.next}}else if(i.tag===10)u=i.type===t.type?null:i.child;else if(i.tag===18){if(u=i.return,u===null)throw Error(x(341));u.lanes|=n,o=u.alternate,o!==null&&(o.lanes|=n),Ei(u,n,t),u=i.sibling}else u=i.child;if(u!==null)u.return=i;else for(u=i;u!==null;){if(u===t){u=null;break}if(i=u.sibling,i!==null){i.return=u.return,u=i;break}u=u.return}i=u}se(e,t,l.children,n),t=t.child}return t;case 9:return l=t.type,r=t.pendingProps.children,tn(t,n),l=_e(l),r=r(l),t.flags|=1,se(e,t,r,n),t.child;case 14:return r=t.type,l=ze(r,t.pendingProps),l=ze(r.type,l),Lo(e,t,r,l,n);case 15:return Oa(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,l=t.pendingProps,l=t.elementType===r?l:ze(r,l),Rr(e,t),t.tag=1,he(r)?(e=!0,Kr(t)):e=!1,tn(t,n),za(t,r,l),ji(t,r,l,n),Ti(null,t,r,!0,e,n);case 19:return $a(e,t,n);case 22:return Ma(e,t,n)}throw Error(x(156,t.tag))};function ec(e,t){return _s(e,t)}function Ed(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 Ce(e,t,n,r){return new Ed(e,t,n,r)}function Lu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Cd(e){if(typeof e=="function")return Lu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Zi)return 11;if(e===Ji)return 14}return 2}function ft(e,t){var n=e.alternate;return n===null?(n=Ce(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 Dr(e,t,n,r,l,i){var u=2;if(r=e,typeof e=="function")Lu(e)&&(u=1);else if(typeof e=="string")u=5;else e:switch(e){case At:return Tt(n.children,l,i,t);case Gi:u=8,l|=8;break;case Zl:return e=Ce(12,n,t,l|2),e.elementType=Zl,e.lanes=i,e;case Jl:return e=Ce(13,n,t,l),e.elementType=Jl,e.lanes=i,e;case ql:return e=Ce(19,n,t,l),e.elementType=ql,e.lanes=i,e;case cs:return gl(n,l,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ss:u=10;break e;case as:u=9;break e;case Zi:u=11;break e;case Ji:u=14;break e;case qe:u=16,r=null;break e}throw Error(x(130,e==null?e:typeof e,""))}return t=Ce(u,n,t,l),t.elementType=e,t.type=r,t.lanes=i,t}function Tt(e,t,n,r){return e=Ce(7,e,r,t),e.lanes=n,e}function gl(e,t,n,r){return e=Ce(22,e,r,t),e.elementType=cs,e.lanes=n,e.stateNode={isHidden:!1},e}function Yl(e,t,n){return e=Ce(6,e,null,t),e.lanes=n,e}function Xl(e,t,n){return t=Ce(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function jd(e,t,n,r,l){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=Pl(0),this.expirationTimes=Pl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Pl(0),this.identifierPrefix=r,this.onRecoverableError=l,this.mutableSourceEagerHydrationData=null}function Ru(e,t,n,r,l,i,u,o,s){return e=new jd(e,t,n,o,s),t===1?(t=1,i===!0&&(t|=8)):t=0,i=Ce(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},hu(i),e}function _d(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Ut,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}function tc(e){if(!e)return pt;e=e._reactInternals;e:{if(It(e)!==e||e.tag!==1)throw Error(x(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(he(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(x(171))}if(e.tag===1){var n=e.type;if(he(n))return ta(e,n,t)}return t}function nc(e,t,n,r,l,i,u,o,s){return e=Ru(n,r,!0,e,l,i,u,o,s),e.context=tc(null),n=e.current,r=ae(),l=ct(n),i=We(r,l),i.callback=t??null,st(n,i,l),e.current.lanes=l,bn(e,l,r),ve(e,r),e}function yl(e,t,n,r){var l=t.current,i=ae(),u=ct(l);return n=tc(n),t.context===null?t.context=n:t.pendingContext=n,t=We(i,u),t.payload={element:e},r=r===void 0?null:r,r!==null&&(t.callback=r),e=st(l,t,u),e!==null&&(Me(e,l,u,i),Tr(e,l,u)),u}function il(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 Ho(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Ou(e,t){Ho(e,t),(e=e.alternate)&&Ho(e,t)}function Pd(){return null}var rc=typeof reportError=="function"?reportError:function(e){console.error(e)};function Mu(e){this._internalRoot=e}kl.prototype.render=Mu.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(x(409));yl(e,t,null,null)};kl.prototype.unmount=Mu.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Mt(function(){yl(null,e,null,null)}),t[Ye]=null}};function kl(e){this._internalRoot=e}kl.prototype.unstable_scheduleHydration=function(e){if(e){var t=Ms();e={blockedOn:null,target:e,priority:t};for(var n=0;n<et.length&&t!==0&&t<et[n].priority;n++);et.splice(n,0,e),n===0&&Is(e)}};function Du(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function wl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Qo(){}function Td(e,t,n,r,l){if(l){if(typeof r=="function"){var i=r;r=function(){var f=il(u);i.call(f)}}var u=nc(t,r,e,0,null,!1,!1,"",Qo);return e._reactRootContainer=u,e[Ye]=u.current,Hn(e.nodeType===8?e.parentNode:e),Mt(),u}for(;l=e.lastChild;)e.removeChild(l);if(typeof r=="function"){var o=r;r=function(){var f=il(s);o.call(f)}}var s=Ru(e,0,!1,null,null,!1,!1,"",Qo);return e._reactRootContainer=s,e[Ye]=s.current,Hn(e.nodeType===8?e.parentNode:e),Mt(function(){yl(t,s,n,r)}),s}function Sl(e,t,n,r,l){var i=n._reactRootContainer;if(i){var u=i;if(typeof l=="function"){var o=l;l=function(){var s=il(u);o.call(s)}}yl(t,u,e,l)}else u=Td(n,t,e,l,r);return il(u)}Rs=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=En(t.pendingLanes);n!==0&&(eu(t,n|1),ve(t,Y()),!(D&6)&&(cn=Y()+500,vt()))}break;case 13:Mt(function(){var r=Xe(e,1);if(r!==null){var l=ae();Me(r,e,1,l)}}),Ou(e,1)}};tu=function(e){if(e.tag===13){var t=Xe(e,134217728);if(t!==null){var n=ae();Me(t,e,134217728,n)}Ou(e,134217728)}};Os=function(e){if(e.tag===13){var t=ct(e),n=Xe(e,t);if(n!==null){var r=ae();Me(n,e,t,r)}Ou(e,t)}};Ms=function(){return F};Ds=function(e,t){var n=F;try{return F=e,t()}finally{F=n}};si=function(e,t,n){switch(t){case"input":if(ti(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 l=fl(r);if(!l)throw Error(x(90));ds(r),ti(r,l)}}}break;case"textarea":ms(e,n);break;case"select":t=n.value,t!=null&&Jt(e,!!n.multiple,t,!1)}};Ss=Pu;xs=Mt;var zd={usingClientEntryPoint:!1,Events:[tr,Qt,fl,ks,ws,Pu]},Sn={findFiberByHostInstance:Ct,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Ld={bundleType:Sn.bundleType,version:Sn.version,rendererPackageName:Sn.rendererPackageName,rendererConfig:Sn.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Ze.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=Cs(e),e===null?null:e.stateNode},findFiberByHostInstance:Sn.findFiberByHostInstance||Pd,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var xr=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!xr.isDisabled&&xr.supportsFiber)try{ol=xr.inject(Ld),Ue=xr}catch{}}Se.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=zd;Se.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Du(t))throw Error(x(200));return _d(e,t,null,n)};Se.createRoot=function(e,t){if(!Du(e))throw Error(x(299));var n=!1,r="",l=rc;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onRecoverableError!==void 0&&(l=t.onRecoverableError)),t=Ru(e,1,!1,null,null,n,!1,r,l),e[Ye]=t.current,Hn(e.nodeType===8?e.parentNode:e),new Mu(t)};Se.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(x(188)):(e=Object.keys(e).join(","),Error(x(268,e)));return e=Cs(t),e=e===null?null:e.stateNode,e};Se.flushSync=function(e){return Mt(e)};Se.hydrate=function(e,t,n){if(!wl(t))throw Error(x(200));return Sl(null,e,t,!0,n)};Se.hydrateRoot=function(e,t,n){if(!Du(e))throw Error(x(405));var r=n!=null&&n.hydratedSources||null,l=!1,i="",u=rc;if(n!=null&&(n.unstable_strictMode===!0&&(l=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onRecoverableError!==void 0&&(u=n.onRecoverableError)),t=nc(t,null,e,1,n??null,l,!1,i,u),e[Ye]=t.current,Hn(e),r)for(e=0;e<r.length;e++)n=r[e],l=n._getVersion,l=l(n._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[n,l]:t.mutableSourceEagerHydrationData.push(n,l);return new kl(t)};Se.render=function(e,t,n){if(!wl(t))throw Error(x(200));return Sl(null,e,t,!1,n)};Se.unmountComponentAtNode=function(e){if(!wl(e))throw Error(x(40));return e._reactRootContainer?(Mt(function(){Sl(null,null,e,!1,function(){e._reactRootContainer=null,e[Ye]=null})}),!0):!1};Se.unstable_batchedUpdates=Pu;Se.unstable_renderSubtreeIntoContainer=function(e,t,n,r){if(!wl(n))throw Error(x(200));if(e==null||e._reactInternals===void 0)throw Error(x(38));return Sl(e,t,n,!1,r)};Se.version="18.3.1-next-f1338f8080-20240426";function lc(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(lc)}catch(e){console.error(e)}}lc(),ls.exports=Se;var Rd=ls.exports,ic,Wo=Rd;ic=Wo.createRoot,Wo.hydrateRoot;const Od=new URLSearchParams(location.search),Ko=Od.get("token");Ko&&(sessionStorage.setItem("skillpot-token",Ko),history.replaceState(null,"",location.pathname));function Vi(){return sessionStorage.getItem("skillpot-token")??""}async function te(e,t={}){const n=await fetch(e,{method:t.method??"GET",headers:{"content-type":"application/json",...Vi()?{"x-skillpot-token":Vi()}:{}},body:t.body===void 0?void 0:JSON.stringify(t.body)}),r=await n.json().catch(()=>({}));if(!n.ok)throw new Error((r==null?void 0:r.error)??`HTTP ${n.status}`);return r}const Md=[{id:"all",label:"全部"},{id:"enabled",label:"已开放"},{id:"issue",label:"异常/漂移"}];function Dd(e){return e.enabled&&e.managed?"cell ok":e.enabled&&!e.actual?"cell warn":e.enabled&&e.actual&&!e.managed?"cell conflict":!e.enabled&&e.managed?"cell warn":!e.enabled&&e.actual?"cell conflict":"cell muted"}function Id(e){return e.enabled&&e.managed?"✓":e.enabled&&!e.actual?"⚠":e.enabled&&e.actual&&!e.managed||!e.enabled&&e.managed?"!":!e.enabled&&e.actual?"×":"·"}function Fd(e){return e.enabled&&e.managed?"已开放(symlink 受管)":e.enabled&&!e.actual?"漂移:声明开放但链接缺失,点击重建":e.enabled&&e.actual&&!e.managed?"冲突:被外部同名条目占用,点击也不生效":!e.enabled&&e.managed?"异常:已关闭但受管链接仍在,点击撤下":!e.enabled&&e.actual?"外部同名占用:非本工具创建,点击无效":"未开放,点击开放"}function $d({state:e,reload:t,toast:n,onOpenDetail:r}){const[l,i]=z.useState(null),[u,o]=z.useState(""),[s,f]=z.useState("all"),[v,h]=z.useState(20),{matrix:m}=e,S=z.useMemo(()=>{const a=u.trim().toLowerCase();return m.skills.filter(c=>{if(a&&!c.toLowerCase().includes(a))return!1;if(s==="all")return!0;const p=m.agents.map(g=>{var N;return(N=m.cells[c])==null?void 0:N[g.id]});return s==="enabled"?p.some(g=>g==null?void 0:g.enabled):p.some(g=>g&&(g.enabled&&!g.actual||g.enabled&&g.actual&&!g.managed||!g.enabled&&g.managed))})},[m,u,s]),w=z.useMemo(()=>S.slice(0,v),[S,v]),k=async(a,c)=>{if(l)return;const p=c?"开放":"关闭";if(window.confirm(`确认对该 Agent ${p}全部 skill?`)){i(`bulk:${a}`);try{const g=await te("/api/bulk",{method:"POST",body:{agent:a,enable:c}});n(`已${p} ${g.changed.length} 个 skill${g.skipped.length?`,跳过 ${g.skipped.length} 个`:""}`,g.changed.length===0),await t()}catch(g){n(g.message,!0)}finally{i(null)}}},O=async(a,c)=>{const p=`${a}@${c}`;if(!l){i(p);try{const g=await te("/api/toggle",{method:"POST",body:{skill:a,agent:c}});n(g.message,!g.ok),await t()}catch(g){n(g.message,!0)}finally{i(null)}}};return m.skills.length?d.jsxs("div",{className:"matrix-wrap",children:[d.jsxs("div",{className:"toolbar",children:[d.jsx("input",{className:"input grow",placeholder:"搜索 skill 名…",value:u,onChange:a=>{o(a.target.value),h(20)}}),d.jsx("div",{className:"segment",children:Md.map(a=>d.jsx("button",{className:s===a.id?"seg-btn active":"seg-btn",onClick:()=>{f(a.id),h(20)},children:a.label},a.id))}),d.jsxs("span",{className:"dim small",children:[S.length,"/",m.skills.length]})]}),d.jsxs("table",{className:"matrix",children:[d.jsx("thead",{children:d.jsxs("tr",{children:[d.jsx("th",{className:"skill-col",children:"Skill"}),m.agents.map(a=>d.jsxs("th",{className:a.installed?"":"agent-off",title:a.skillsDir,children:[d.jsx("div",{children:a.name}),!a.installed&&d.jsx("span",{className:"dim",children:"(未检测到)"}),d.jsxs("span",{className:"col-bulk",children:[d.jsx("button",{className:"bulk-btn",title:`对 ${a.name} 开放全部 skill`,disabled:l!==null,onClick:()=>k(a.id,!0),children:"全开"}),d.jsx("button",{className:"bulk-btn",title:`对 ${a.name} 关闭全部 skill`,disabled:l!==null,onClick:()=>k(a.id,!1),children:"全停"})]})]},a.id))]})}),d.jsx("tbody",{children:w.map(a=>{var c;return d.jsxs("tr",{children:[d.jsx("td",{className:"skill-name link",title:((c=e.skills[a])==null?void 0:c.source)??"",onClick:()=>r(a),children:a}),m.agents.map(p=>{var N;const g=(N=m.cells[a])==null?void 0:N[p.id];return g?d.jsx("td",{className:Dd(g)+(l===`${a}@${p.id}`?" busy":""),title:Fd(g),onClick:()=>O(a,p.id),children:Id(g)},p.id):d.jsx("td",{className:"cell muted",children:"·"},p.id)})]},a)})})]}),S.length>v&&d.jsx("div",{className:"load-more",children:d.jsxs("button",{className:"btn",onClick:()=>h(a=>a+20),children:["加载更多(已显示 ",v,"/",S.length,")"]})}),S.length===0&&d.jsx("p",{className:"dim",style:{textAlign:"center",marginTop:16},children:"没有匹配的 skill(换个关键词或切回「全部」)。"}),d.jsxs("p",{className:"legend",children:["✓ 已开放 ⚠ 漂移(声明开放但链接缺失) ! 链接状态异常 × 外部同名占用 · 未开放",d.jsx("span",{className:"dim",children:" · 点击单元格切换(重启示例会话后生效)"})]})]}):d.jsxs("div",{className:"empty",children:[d.jsx("p",{children:"中央仓库为空。"}),d.jsxs("p",{className:"dim",children:["运行 ",d.jsx("code",{children:"skillpot adopt"})," 收编各 Agent 已有 skill(",d.jsx("code",{children:"--move"})," 为移动模式), 或 ",d.jsx("code",{children:"skillpot add"})," 安装。安装后即可在此切换开关。"]})]})}const Ud={error:"错误",warn:"警告",info:"提示"},Ad={resync:"自动修复:重新同步 symlink","drop-ledger":"自动修复:清理失效台账",adopt:"需人工确认:运行 skillpot adopt 收编"};function Vd({rev:e,toast:t}){const[n,r]=z.useState(null),[l,i]=z.useState(!1),u=z.useCallback(()=>{te("/api/doctor").then(f=>r(f.issues)).catch(f=>t(f.message,!0))},[t]);z.useEffect(()=>{u()},[u,e]);const o=async()=>{if(!l){i(!0);try{const f=await te("/api/doctor/fix",{method:"POST"});r(f.remaining),f.fixed.length?t(`已修复 ${f.fixed.length} 项`):t("没有可自动修复的项")}catch(f){t(f.message,!0)}finally{i(!1)}}};if(!n)return d.jsx("div",{className:"loading",children:"体检中…"});const s=n.filter(f=>f.fix&&f.fix!=="adopt").length;return d.jsxs("div",{className:"doctor",children:[d.jsxs("div",{className:"doctor-head",children:[d.jsx("h2",{children:n.length===0?"✓ 未发现问题":`发现 ${n.length} 个问题(错误 ${n.filter(f=>f.level==="error").length} / 警告 ${n.filter(f=>f.level==="warn").length})`}),n.length>0&&d.jsx("button",{className:"btn",onClick:o,disabled:l||s===0,children:l?"修复中…":s>0?`全部修复(${s} 项可自动修复)`:"无可自动修复项"})]}),n.length===0?d.jsx("p",{className:"dim",children:"config、中央仓库与各 Agent 目录三方一致。enable/disable 后记得重启示例会话。"}):d.jsx("ul",{className:"issue-list",children:n.map((f,v)=>d.jsxs("li",{className:`issue level-${f.level}`,children:[d.jsx("span",{className:`badge badge-${f.level}`,children:Ud[f.level]}),d.jsx("span",{className:"issue-msg",children:f.message}),f.fix&&d.jsxs("span",{className:"fix-hint",children:["(",Ad[f.fix],")"]})]},v))})]})}const Bd={imported:"已导入",linked:"已链接(move)",exists:"同名跳过","skipped-managed":"已受管","skipped-invalid":"跳过","dry-run":"待收编"},Hd={"up-to-date":"= 已是最新",outdated:"↑ 有更新",updated:"✔ 已更新",local:"· 本地来源",error:"✗ 失败"},Qd=[{key:"imported",label:"导入"},{key:"linked",label:"链接"},{key:"exists",label:"同名跳过"},{key:"skipped",label:"其他跳过"}];function Wd({rev:e,reload:t,toast:n}){const[r,l]=z.useState(null),[i,u]=z.useState(new Set),[o,s]=z.useState(!0),[f,v]=z.useState(!1),[h,m]=z.useState(!1),[S,w]=z.useState(null),[k,O]=z.useState(""),a=(E,C)=>`${E}\0${C}`,c=z.useCallback(()=>{te("/api/adopt").then(E=>{l(E.agents),u(new Set(E.agents.flatMap(C=>C.skills.filter(I=>I.valid).map(I=>a(C.id,I.name)))))}).catch(E=>n(E.message,!0))},[n]);z.useEffect(()=>{c()},[c,e]);const p=k.trim().toLowerCase(),g=r===null?null:r.map(E=>({...E,skills:E.skills.filter(C=>!p||C.name.toLowerCase().includes(p)||C.path.toLowerCase().includes(p))})),N=(g??[]).reduce((E,C)=>E+C.skills.length,0),T=E=>{u(C=>{const I=new Set(C);return I.has(E)?I.delete(E):I.add(E),I})},_=async()=>{if(h||!r)return;const E=r.flatMap(C=>C.skills.filter(I=>i.has(a(C.id,I.name))).map(I=>({agent:C.id,name:I.name})));if(!E.length){n("没有勾选任何可收编项",!0);return}m(!0);try{const C=await te("/api/adopt",{method:"POST",body:{picks:E,move:o,enableFor:f?[...new Set(E.map(I=>I.agent))]:[]}});w(C),n(`收编完成:导入 ${C.imported}、链接 ${C.linked}`),await t(),c()}catch(C){n(C.message,!0)}finally{m(!1)}};if(!r)return d.jsx("div",{className:"loading",children:"扫描各 Agent 目录中…"});const P=r.reduce((E,C)=>E+C.skills.length,0);return d.jsxs("div",{className:"panel",children:[d.jsxs("div",{className:"doctor-head",children:[d.jsxs("h2",{children:["收编已有 skill",P>0?`(发现 ${P} 个)`:""]}),d.jsx("button",{className:"btn",onClick:_,disabled:h||P===0||i.size===0,children:h?"收编中…":`收编勾选项(${i.size})`})]}),P>0&&d.jsxs("div",{className:"toolbar",children:[d.jsx("input",{className:"input grow",placeholder:"搜索名称 / 路径…",value:k,onChange:E=>O(E.target.value)}),d.jsxs("span",{className:"dim small",children:[N,"/",P]})]}),d.jsxs("div",{className:"form-row options",children:[d.jsxs("label",{className:"pick",children:[d.jsx("input",{type:"checkbox",checked:o,onChange:E=>s(E.target.checked)}),"移动模式(内容拷入后,原目录替换为 symlink,来源 Agent 继续可用)"]}),d.jsxs("label",{className:"pick",children:[d.jsx("input",{type:"checkbox",checked:f,onChange:E=>v(E.target.checked)}),"收编后开放给其来源 Agent"]})]}),P===0?d.jsx("p",{className:"dim",children:"各已安装 Agent 的 skills 目录下没有可收编的真实目录(受管 symlink 与外部链接会自动跳过)。"}):g.filter(E=>E.skills.length>0).map(E=>d.jsxs("div",{className:"adopt-group",children:[d.jsx("div",{className:"adopt-agent",children:E.name}),E.skills.map(C=>{const I=a(E.id,C.name);return d.jsxs("label",{className:C.valid?"adopt-item":"adopt-item off",children:[d.jsx("input",{type:"checkbox",disabled:!C.valid,checked:i.has(I),onChange:()=>T(I)}),d.jsx("span",{className:"mono",children:C.name}),d.jsx("span",{className:"dim small path",children:C.path}),C.inStore&&d.jsx("span",{className:"badge badge-warn",children:"仓库已有同名,move 时替换为 symlink"}),!C.valid&&d.jsx("span",{className:"badge badge-error",children:"目录名不合法"})]},I)})]},E.id)),S&&d.jsxs("div",{className:"result-box",children:[d.jsxs("div",{className:"result-title",children:["收编完成:",Qd.map(E=>`${E.label} ${S[E.key]}`).join(" · ")]}),S.items.filter(E=>E.detail&&E.status!=="imported"&&E.status!=="linked").map((E,C)=>d.jsxs("div",{className:"dim small",children:[E.agent,"/",E.name,":",Bd[E.status],E.detail?` — ${E.detail}`:""]},C))]})]})}function Kd({agents:e,reload:t,toast:n}){const[r,l]=z.useState(""),[i,u]=z.useState(""),[o,s]=z.useState(new Set),[f,v]=z.useState(!1),[h,m]=z.useState(null),S=k=>{s(O=>{const a=new Set(O);return a.has(k)?a.delete(k):a.add(k),a})},w=async()=>{if(!f){v(!0),m(null);try{const k=await te("/api/add",{method:"POST",body:{source:r.trim(),name:i.trim()||void 0,for:[...o]}});m(k),n(`已安装 ${k.name}`),l(""),u(""),await t()}catch(k){n(k.message,!0)}finally{v(!1)}}};return d.jsxs("div",{className:"panel",children:[d.jsx("h2",{children:"安装 skill"}),d.jsxs("p",{className:"dim",children:["本地目录或 git URL(支持 ",d.jsx("code",{children:"repo#subdir"})," 定位子目录)。安装后内容拷入中央仓库, 默认不对任何 Agent 开放。"]}),d.jsx("div",{className:"form-row",children:d.jsx("input",{className:"input grow",placeholder:"~/path/to/my-skill 或 https://github.com/owner/skills.git#subdir",value:r,onChange:k=>l(k.target.value)})}),d.jsxs("div",{className:"form-row",children:[d.jsx("input",{className:"input",style:{width:220},placeholder:"skill 名(可选)",value:i,onChange:k=>u(k.target.value)}),d.jsx("div",{className:"agent-picker",children:e.map(k=>d.jsxs("label",{className:k.installed?"pick":"pick off",children:[d.jsx("input",{type:"checkbox",disabled:!k.installed,checked:o.has(k.id),onChange:()=>S(k.id)}),k.name]},k.id))})]}),d.jsx("button",{className:"btn",onClick:w,disabled:f||!r.trim(),children:f?"安装中…(git 来源需克隆,可能稍慢)":"安装"}),h&&d.jsxs("div",{className:"result-box",children:[d.jsxs("div",{className:"result-title",children:["✔ ",h.name]}),h.description&&d.jsx("div",{className:"dim",children:h.description.slice(0,160)}),d.jsxs("div",{className:"dim mono small",children:["source: ",h.source," · checksum: ",h.checksum.slice(0,18),"…"]}),h.enabled.length>0&&d.jsxs("div",{children:["已开放给:",h.enabled.join("、")]}),h.skipped.map((k,O)=>d.jsxs("div",{className:"warn-text",children:["⚠ ",k.agent,": ",k.reason]},O)),h.lint.length>0&&d.jsxs("div",{className:"lint-box",children:[d.jsxs("div",{className:"dim",children:["安装即体检,发现 ",h.lint.length," 个问题:"]}),h.lint.map((k,O)=>d.jsxs("div",{className:k.level==="error"?"warn-text":"dim",children:[k.level==="error"?"✗":"⚠"," ",k.message]},O))]})]})]})}const Yd=e=>e.startsWith("git:");function Xd({skills:e,reload:t,toast:n,onOpenDetail:r}){const[l,i]=z.useState(null),[u,o]=z.useState(!1),[s,f]=z.useState(null),[v,h]=z.useState(""),m=v.trim().toLowerCase(),S=e.filter(a=>!m||a.name.toLowerCase().includes(m)||a.source.toLowerCase().includes(m)),w=async()=>{if(!u){o(!0);try{const a=await te("/api/update",{method:"POST",body:{check:!0}});i(a.results),await t()}catch(a){n(a.message,!0)}finally{o(!1)}}},k=async a=>{if(!s){f(a);try{const c=await te("/api/update",{method:"POST",body:{skill:a,check:!1}});i(p=>p?p.map(g=>c.results.find(N=>N.skill===a)??g):c.results),n(`${a} 更新操作完成`),await t()}catch(c){n(c.message,!0)}finally{f(null)}}},O=a=>l==null?void 0:l.find(c=>c.skill===a);return e.length?d.jsxs("div",{className:"panel",children:[d.jsxs("div",{className:"doctor-head",children:[d.jsx("h2",{children:"维护"}),d.jsx("button",{className:"btn",onClick:w,disabled:u,children:u?"检查中…(需克隆远端,可能稍慢)":"检查更新(git 来源)"})]}),d.jsx("p",{className:"dim",children:"git 来源的 skill 可原位更新(symlink 指向不变,无需重连);本地来源跳过。点击 skill 名查看详情与卸载。"}),e.length>0&&d.jsxs("div",{className:"toolbar",children:[d.jsx("input",{className:"input grow",placeholder:"搜索名称 / 来源…",value:v,onChange:a=>h(a.target.value)}),d.jsxs("span",{className:"dim small",children:[S.length,"/",e.length]})]}),d.jsxs("table",{className:"matrix update-table",children:[d.jsx("thead",{children:d.jsxs("tr",{children:[d.jsx("th",{className:"skill-col",children:"Skill"}),d.jsx("th",{children:"来源"}),d.jsx("th",{children:"状态"}),d.jsx("th",{children:"操作"})]})}),d.jsx("tbody",{children:S.map(a=>{const c=O(a.name),p=Yd(a.source);return d.jsxs("tr",{children:[d.jsx("td",{className:"skill-name link",onClick:()=>r(a.name),children:a.name}),d.jsx("td",{className:"dim small mono src",title:a.source,children:a.source}),d.jsxs("td",{className:(c==null?void 0:c.status)==="outdated"?"warn-text":"",children:[c?Hd[c.status]:"—",(c==null?void 0:c.diff)&&d.jsxs("span",{className:"dim small",children:[" ","diff +",c.diff.added.length," ~",c.diff.modified.length," -",c.diff.removed.length]}),(c==null?void 0:c.detail)&&d.jsxs("span",{className:"dim small",children:[" ",c.detail]})]}),d.jsx("td",{children:p?d.jsx("button",{className:"btn small-btn",disabled:s!==null||(c==null?void 0:c.status)!=="outdated",onClick:()=>k(a.name),title:(c==null?void 0:c.status)==="outdated"?"应用更新":"先检查更新",children:s===a.name?"更新中…":"更新"}):d.jsx("span",{className:"dim small",children:"—"})})]},a.name)})})]})]}):d.jsxs("div",{className:"panel",children:[d.jsx("h2",{children:"维护"}),d.jsx("p",{className:"dim",children:"中央仓库为空。先安装或收编 skill。"})]})}const Nr=20;function Gd({rev:e,reload:t,toast:n}){const[r,l]=z.useState(null),[i,u]=z.useState(""),[o,s]=z.useState(null),[f,v]=z.useState(!1),[h,m]=z.useState(""),[S,w]=z.useState(null),[k,O]=z.useState(!1),[a,c]=z.useState(""),[p,g]=z.useState(""),[N,T]=z.useState(""),[_,P]=z.useState(Nr),E=z.useCallback(async()=>{const y=await te("/api/market/sources");return l(y.sources),y.sources},[]),C=z.useCallback(async(y,L=!1)=>{v(!0),s(null),P(Nr);try{const R=await te(`/api/market/scan?url=${encodeURIComponent(y)}${L?"&refresh=1":""}`);s(R.skills),m(R.cloned?"已重新克隆":"来自本地缓存")}catch(R){n(R.message,!0),s([])}finally{v(!1)}},[n]);z.useEffect(()=>{E().then(y=>{y.length&&u(y[0].url)}).catch(y=>n(y.message,!0))},[]),z.useEffect(()=>{i&&C(i)},[i,C,e]);const I=y=>{y!==i&&u(y)},gt=async()=>{if(a.trim())try{const y=await te("/api/market/sources/add",{method:"POST",body:{url:a.trim(),name:p.trim()||void 0}});n(`已添加源 ${y.source.name}`),c(""),g(""),O(!1);const L=await E();u(y.source.url)}catch(y){n(y.message,!0)}},yt=async y=>{if(window.confirm("确认移除该自定义源?(不会卸载已安装的 skill)"))try{await te("/api/market/sources/remove",{method:"POST",body:{url:y}});const L=await E();i===y&&u(L.length?L[0].url:""),n("已移除源")}catch(L){n(L.message,!0)}},rr=async y=>{if(!S){w(y.subdir);try{const L=await te("/api/market/install",{method:"POST",body:{url:i,subdir:y.subdir}});n(`已安装 ${L.name}`),s(R=>R&&R.map(U=>U.subdir===y.subdir?{...U,installed:!0}:U)),await t()}catch(L){n(L.message,!0)}finally{w(null)}}},kt=z.useMemo(()=>{const y=N.trim().toLowerCase();return y?(o??[]).filter(L=>L.name.toLowerCase().includes(y)||L.description.toLowerCase().includes(y)||L.subdir.toLowerCase().includes(y)):o??[]},[o,N]),Ft=z.useMemo(()=>kt.slice(0,_),[kt,_]);if(!r)return d.jsx("div",{className:"loading",children:"加载源…"});const wt=r.find(y=>y.url===i);return d.jsxs("div",{className:"panel",children:[d.jsxs("div",{className:"doctor-head",children:[d.jsx("h2",{children:"市场"}),d.jsx("button",{className:"btn",onClick:()=>O(y=>!y),children:k?"取消":"添加源"})]}),k&&d.jsxs("div",{className:"form-row",children:[d.jsx("input",{className:"input grow",placeholder:"git 仓库地址,如 https://github.com/owner/skills.git",value:a,onChange:y=>c(y.target.value)}),d.jsx("input",{className:"input",style:{width:160},placeholder:"名称(可选)",value:p,onChange:y=>g(y.target.value)}),d.jsx("button",{className:"btn",onClick:gt,disabled:!a.trim(),children:"确定"})]}),d.jsxs("div",{className:"form-row",children:[r.map(y=>d.jsxs("button",{className:y.url===i?"seg-btn active":"seg-btn",onClick:()=>I(y.url),title:y.url,children:[y.name,y.builtin&&d.jsx("span",{className:"dim",children:"(内置)"})]},y.url)),wt&&!wt.builtin&&d.jsx("button",{className:"seg-btn danger-btn",onClick:()=>yt(wt.url),children:"移除此源"})]}),d.jsxs("div",{className:"form-row",style:{justifyContent:"space-between"},children:[d.jsx("span",{className:"dim small mono",children:i}),d.jsx("button",{className:"btn small-btn",onClick:()=>C(i,!0),disabled:f,children:f?"克隆/扫描中…(首次较慢)":"刷新"})]}),d.jsxs("div",{className:"toolbar",children:[d.jsx("input",{className:"input grow",placeholder:"搜索名称 / 说明 / 子目录…",value:N,onChange:y=>{T(y.target.value),P(Nr)}}),d.jsx("span",{className:"dim small",children:f?"扫描中…":`${kt.length}/${(o??[]).length} · ${h}`})]}),o?o.length===0?d.jsx("p",{className:"dim",children:"该仓库中没有找到 SKILL.md 目录。"}):d.jsxs(d.Fragment,{children:[Ft.length===0?d.jsx("p",{className:"dim",children:"没有匹配的 skill(换个关键词试试)。"}):d.jsxs("table",{className:"matrix update-table",children:[d.jsx("thead",{children:d.jsxs("tr",{children:[d.jsx("th",{className:"skill-col",children:"Skill"}),d.jsx("th",{children:"说明"}),d.jsx("th",{children:"子目录"}),d.jsx("th",{children:"操作"})]})}),d.jsx("tbody",{children:Ft.map(y=>d.jsxs("tr",{children:[d.jsx("td",{className:"skill-name",children:y.name}),d.jsx("td",{className:"dim small",children:y.description.slice(0,90)}),d.jsx("td",{className:"dim small mono",children:y.subdir}),d.jsx("td",{children:y.installed?d.jsx("span",{className:"dim small",children:"已安装"}):d.jsx("button",{className:"btn small-btn",disabled:S!==null,onClick:()=>rr(y),children:S===y.subdir?"安装中…":"安装"})})]},y.subdir))})]}),kt.length>_&&d.jsx("div",{className:"load-more",children:d.jsxs("button",{className:"btn",onClick:()=>P(y=>y+Nr),children:["加载更多(已显示 ",_,"/",kt.length,")"]})}),d.jsx("p",{className:"legend",children:"安装 = 拷贝进中央仓库,默认不对任何 Agent 开放(去「开关矩阵」打勾或安装时先收着)。 官方源中 docx/pdf/pptx/xlsx 为 source-available 许可,使用前请阅原仓库说明。"})]}):null]})}function Zd({skill:e,onClose:t,reload:n,toast:r}){var f;const[l,i]=z.useState(null),[u,o]=z.useState(!1);z.useEffect(()=>{te(`/api/skill/${encodeURIComponent(e)}`).then(i).catch(v=>{r(v.message,!0),t()})},[e]);const s=async()=>{if(!u&&window.confirm(`确认卸载 ${e}?将撤下所有 Agent 的链接并删除中央仓库内容,不可恢复。`)){o(!0);try{await te("/api/remove",{method:"POST",body:{skill:e}}),r(`已卸载 ${e}`),await n(),t()}catch(v){r(v.message,!0),o(!1)}}};return d.jsx("div",{className:"modal-mask",onClick:t,children:d.jsxs("div",{className:"modal",onClick:v=>v.stopPropagation(),children:[d.jsxs("div",{className:"modal-head",children:[d.jsx("h2",{children:e}),d.jsxs("div",{className:"modal-actions",children:[d.jsx("button",{className:"btn danger",onClick:s,disabled:u,children:u?"卸载中…":"卸载"}),d.jsx("button",{className:"tab",onClick:t,children:"关闭"})]})]}),l?d.jsxs(d.Fragment,{children:[((f=l.meta)==null?void 0:f.description)&&d.jsx("p",{children:l.meta.description}),l.lint.length>0&&d.jsxs("div",{className:"lint-box",children:[d.jsxs("div",{className:"dim",children:["lint:",l.lint.length," 个问题"]}),l.lint.map((v,h)=>d.jsxs("div",{className:v.level==="error"?"warn-text":"dim",children:[v.level==="error"?"✗":"⚠"," ",v.message]},h))]}),d.jsxs("div",{className:"detail-files",children:[d.jsxs("div",{className:"dim",children:["文件(",l.files.length,")"]}),d.jsx("div",{className:"file-list mono small",children:l.files.map(v=>d.jsx("div",{children:v},v))})]}),d.jsx("pre",{className:"skill-md",children:l.skillMd})]}):d.jsx("div",{className:"loading",children:"加载详情…"})]})})}const Jd=[{id:"matrix",label:"开关矩阵"},{id:"doctor",label:"体检"},{id:"adopt",label:"收编"},{id:"add",label:"安装"},{id:"market",label:"市场"},{id:"update",label:"维护"}];function qd(){const[e,t]=z.useState("matrix"),[n,r]=z.useState(null),[l,i]=z.useState([]),[u,o]=z.useState(null),[s,f]=z.useState(0),v=z.useRef(void 0),h=z.useCallback((w,k=!1)=>{const O=Date.now()+Math.random();i(a=>[...a,{id:O,text:w,bad:k}]),setTimeout(()=>i(a=>a.filter(c=>c.id!==O)),4e3)},[]),m=z.useCallback(()=>te("/api/state").then(r).catch(w=>h(w.message,!0)),[h]);z.useEffect(()=>{m()},[m]),z.useEffect(()=>{const w=Vi(),k=new EventSource("/api/events"+(w?`?token=${encodeURIComponent(w)}`:""));return k.onmessage=()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{f(O=>O+1),m()},150)},()=>k.close()},[m]);const S=n?Object.keys(n.skills).length:0;return d.jsxs("div",{className:"app",children:[d.jsxs("header",{className:"topbar",children:[d.jsxs("div",{className:"brand",children:["🍲 SkillPot ",d.jsxs("span",{className:"ver",children:["v",(n==null?void 0:n.version)??"…"]})]}),d.jsx("nav",{className:"tabs",children:Jd.map(w=>d.jsx("button",{className:e===w.id?"tab active":"tab",onClick:()=>t(w.id),children:w.label},w.id))}),d.jsxs("div",{className:"meta",children:[S," 个 skill · 中央仓库 ~/.skillpot"]})]}),d.jsx("main",{className:"content",children:n?e==="matrix"?d.jsx($d,{state:n,reload:m,toast:h,onOpenDetail:o}):e==="doctor"?d.jsx(Vd,{rev:s,toast:h}):e==="adopt"?d.jsx(Wd,{rev:s,reload:m,toast:h}):e==="add"?d.jsx(Kd,{agents:n.matrix.agents,reload:m,toast:h}):e==="market"?d.jsx(Gd,{rev:s,reload:m,toast:h}):d.jsx(Xd,{skills:Object.entries(n.skills).map(([w,k])=>({name:w,source:k.source})).sort((w,k)=>w.name.localeCompare(k.name)),reload:m,toast:h,onOpenDetail:o}):d.jsx("div",{className:"loading",children:"加载中…(首次会探测本机 Agent,可能需要数秒)"})}),u&&d.jsx(Zd,{skill:u,onClose:()=>o(null),reload:m,toast:h}),d.jsx("div",{className:"toasts",children:l.map(w=>d.jsx("div",{className:w.bad?"toast bad":"toast",children:w.text},w.id))})]})}ic(document.getElementById("root")).render(d.jsx(qd,{}));
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>SkillPot 控制台</title>
7
- <script type="module" crossorigin src="/assets/index-CQEycW9r.js"></script>
7
+ <script type="module" crossorigin src="/assets/index-DN1MQ9V0.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/assets/index-D5a5y70Q.css">
9
9
  </head>
10
10
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tec-explorer/skillpot",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Cross-agent skill manager: install once, expose per coding agent (Claude Code / ZCode / Codex / OpenCode / Gemini CLI / DeepSeek CLI / Cursor).",
5
5
  "repository": {
6
6
  "type": "git",