@aiwayds/dsh-tui-pi 2.18.2 → 2.20.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.
Files changed (106) hide show
  1. package/README.md +12 -43
  2. package/README.zh-CN.md +11 -42
  3. package/lib/agents.js +67 -52
  4. package/lib/agents.js.map +1 -1
  5. package/lib/ask-user.d.ts +122 -3
  6. package/lib/ask-user.js +335 -41
  7. package/lib/ask-user.js.map +1 -1
  8. package/lib/attachments.js +8 -3
  9. package/lib/attachments.js.map +1 -1
  10. package/lib/btw.d.ts +4 -2
  11. package/lib/btw.js +22 -16
  12. package/lib/btw.js.map +1 -1
  13. package/lib/custom-provider.js +34 -28
  14. package/lib/custom-provider.js.map +1 -1
  15. package/lib/footer.d.ts +9 -8
  16. package/lib/footer.js +36 -18
  17. package/lib/footer.js.map +1 -1
  18. package/lib/hard-exit.d.ts +36 -0
  19. package/lib/hard-exit.js +64 -0
  20. package/lib/hard-exit.js.map +1 -0
  21. package/lib/history-fork.d.ts +2 -2
  22. package/lib/history-fork.js +12 -9
  23. package/lib/history-fork.js.map +1 -1
  24. package/lib/history-turns.d.ts +4 -2
  25. package/lib/history-turns.js +7 -3
  26. package/lib/history-turns.js.map +1 -1
  27. package/lib/history.js +57 -45
  28. package/lib/history.js.map +1 -1
  29. package/lib/hotkeys.js +44 -33
  30. package/lib/hotkeys.js.map +1 -1
  31. package/lib/i18n/index.d.ts +54 -0
  32. package/lib/i18n/index.js +98 -0
  33. package/lib/i18n/index.js.map +1 -0
  34. package/lib/i18n/registry.d.ts +65 -0
  35. package/lib/i18n/registry.js +129 -0
  36. package/lib/i18n/registry.js.map +1 -0
  37. package/lib/index.js +219 -109
  38. package/lib/index.js.map +1 -1
  39. package/lib/language-ask.d.ts +98 -0
  40. package/lib/language-ask.js +118 -0
  41. package/lib/language-ask.js.map +1 -0
  42. package/lib/live-widgets.js +9 -8
  43. package/lib/live-widgets.js.map +1 -1
  44. package/lib/login.js +5 -4
  45. package/lib/login.js.map +1 -1
  46. package/lib/messages.d.ts +0 -4
  47. package/lib/messages.js +14 -15
  48. package/lib/messages.js.map +1 -1
  49. package/lib/model-profiles.js +32 -20
  50. package/lib/model-profiles.js.map +1 -1
  51. package/lib/panels.js +18 -17
  52. package/lib/panels.js.map +1 -1
  53. package/lib/preflight-projcache.js +9 -3
  54. package/lib/preflight-projcache.js.map +1 -1
  55. package/lib/preset-dialog.d.ts +3 -3
  56. package/lib/preset-dialog.js +20 -17
  57. package/lib/preset-dialog.js.map +1 -1
  58. package/lib/provider-catalog.d.ts +23 -7
  59. package/lib/provider-catalog.js +90 -68
  60. package/lib/provider-catalog.js.map +1 -1
  61. package/lib/queue-panel.d.ts +2 -2
  62. package/lib/queue-panel.js +13 -9
  63. package/lib/queue-panel.js.map +1 -1
  64. package/lib/repair-dialog.d.ts +4 -4
  65. package/lib/repair-dialog.js +23 -16
  66. package/lib/repair-dialog.js.map +1 -1
  67. package/lib/route-dialog.d.ts +3 -3
  68. package/lib/route-dialog.js +20 -14
  69. package/lib/route-dialog.js.map +1 -1
  70. package/lib/selectors.d.ts +15 -1
  71. package/lib/selectors.js +57 -23
  72. package/lib/selectors.js.map +1 -1
  73. package/lib/sessions.d.ts +47 -14
  74. package/lib/sessions.js +162 -53
  75. package/lib/sessions.js.map +1 -1
  76. package/lib/settings.d.ts +68 -9
  77. package/lib/settings.js +327 -78
  78. package/lib/settings.js.map +1 -1
  79. package/lib/skills-manager.js +27 -21
  80. package/lib/skills-manager.js.map +1 -1
  81. package/lib/skills.js +5 -4
  82. package/lib/skills.js.map +1 -1
  83. package/lib/startup-info.js +9 -3
  84. package/lib/startup-info.js.map +1 -1
  85. package/lib/steer-flow.d.ts +14 -4
  86. package/lib/steer-flow.js +24 -9
  87. package/lib/steer-flow.js.map +1 -1
  88. package/lib/stop-dialog.d.ts +2 -2
  89. package/lib/stop-dialog.js +16 -12
  90. package/lib/stop-dialog.js.map +1 -1
  91. package/lib/subagent-viewer.d.ts +3 -8
  92. package/lib/subagent-viewer.js +38 -62
  93. package/lib/subagent-viewer.js.map +1 -1
  94. package/lib/theme-preview.js +12 -11
  95. package/lib/theme-preview.js.map +1 -1
  96. package/lib/theme-settings.d.ts +44 -2
  97. package/lib/theme-settings.js +97 -54
  98. package/lib/theme-settings.js.map +1 -1
  99. package/lib/tui.js +2 -1
  100. package/lib/tui.js.map +1 -1
  101. package/locales/en.json +646 -0
  102. package/locales/ja.json +646 -0
  103. package/locales/ko.json +646 -0
  104. package/locales/zh-CN.json +646 -0
  105. package/package.json +2 -1
  106. package/skills/dsh-tui-pi-config/SKILL.md +14 -4
package/README.md CHANGED
@@ -28,6 +28,7 @@ https://github.com/user-attachments/assets/67a7c6ca-ff42-4005-b543-437ba61771bb
28
28
  - [**Themes**](docs/features/themes.md) — 20 built-in palettes (10 light + 10 dark) plus user theme discovery (`~/.dsh/themes/`); hot-switchable, `auto` follows your terminal.
29
29
  - [**Search, selection & images**](docs/features/search-selection-images.md) — `Ctrl+Shift+F` over the whole transcript, drag-select copies to the OS clipboard, attachments from web/Feishu render inline, LaTeX replies draw as Unicode math.
30
30
  - [**Slash commands**](docs/features/slash-commands.md) — `/model`, `/resume`, `/btw`, … plus everything dsh-native.
31
+ - [**Settings browser & UI languages**](docs/features/settings-i18n.md) — `/settings` edits everything in place (alphabetical categories, per-provider model lists, a Subagent group); `/language` switches the UI language from any surface.
31
32
  - [**Startup plugin tree**](docs/features/startup-tree.md) — every profile plugin with its installed npm version, printed at launch.
32
33
 
33
34
  ---
@@ -39,7 +40,7 @@ dsh plugin --profile tui add @aiwayds/dsh-tui-pi
39
40
  dsh --profile tui # launch (or: dsh-tui-pi)
40
41
  ```
41
42
 
42
- Legacy `session_projcache` records (missing `identity.isSeeded`/`identity.inheritedEventCount`, written before dsh 0.1.2-alpha.4 — predating the rc/stable floor of 0.1.5-rc.2 this plugin now targets) are migrated at the profile layer: the bundle patch replaces the stock `session-projection-cache` row with a wrapper (`@aiwayds/dsh-tui-pi/projcache`) that backfills the records while its module loads strictly before the stock plugin could open the domain and crash the boot — so every `dsh --profile tui` start is covered, launcher or not. Migration is idempotent, backs up every rewritten file next to the original, and never blocks startup. The `dsh-tui-pi` launcher additionally runs the same migration as a CLI preflight before `exec dsh`.
43
+ Legacy `session_projcache` records (written before dsh 0.1.2-alpha.4) are migrated automatically at profile load — idempotent, with per-file backups, never blocking startup; the `dsh-tui-pi` launcher runs the same preflight.
43
44
 
44
45
  Everything that used to need manual patching — the canvas background, the `@deepseek-ai` module closure, the compaction backend — now happens automatically. Upgrade an existing profile after a release:
45
46
 
@@ -60,20 +61,7 @@ The `dsh-tui-pi` bin shim is global and can stay; if you installed the package g
60
61
 
61
62
  The host cleans up the profile automatically: the `dsh.profile.bundles` entry is spliced and the whole patch layer goes away with the package — the stock `session-projection-cache` row re-enables, and the projcache wrapper, the `tool-ask-user` insert and its disable row all vanish.
62
63
 
63
- What stays on disk on purpose (deleting user data is destructive; a reinstall reuses all of it):
64
-
65
- - `~/.dsh/APPEND_SYSTEM.md` — auto-seeded system-prompt appendix (plugin-owned; delete by hand if unwanted)
66
- - `~/.dsh/tui-command-usage.json` — slash-command usage ranking
67
- - `~/.dsh/model-profiles.json` — model profiles (SHARED: read by dsh-subagent-registry and dsh-profile-switch; per-agent edits via /agents write it)
68
- - `~/.dsh/keybindings.json` — the dsh-tui app-key rows (host-shared file)
69
- - `~/.dsh/agents/*.md` and `~/.dsh/skills/` — user-editable agents/skills (shared with other plugins)
70
- - `.dsh-profile` pin files in project workspaces (written by /model profile pinning)
71
- - the `dsh-tui:` section of `~/.dsh/settings.yaml` — theme/panel/footer/retention/subagent limits
72
- - `~/.dsh/storages/session_projcache/` — the session projection cache, incl. `.bak-preflight-*` migration backups
73
-
74
- While the plugin runs, the retention janitor (default `maxCount: 100` / `maxAgeDays: 30`, configurable in the `dsh-tui` settings) deletes old session logs — uninstalling stops that, but already-deleted logs are gone.
75
-
76
- `scripts/install-font.mjs` mutates OS font/terminal state and has a documented backup; uninstall doesn't touch it.
64
+ User data stays on disk on purpose (deleting it is destructive; a reinstall reuses all of it): `~/.dsh/APPEND_SYSTEM.md`, `tui-command-usage.json`, `model-profiles.json`, `keybindings.json`, `~/.dsh/agents/` + `~/.dsh/skills/`, workspace `.dsh-profile` pins, the `dsh-tui:` settings section, and the session projection cache (incl. `.bak-preflight-*` migration backups). While the plugin runs, the retention janitor (default `maxCount: 100` / `maxAgeDays: 30`) deletes old session logs — uninstalling stops that, but already-deleted logs are gone. `scripts/install-font.mjs` mutates OS font/terminal state and has a documented backup; uninstall doesn't touch it.
77
65
 
78
66
  ---
79
67
 
@@ -121,39 +109,20 @@ Remap any app key through `~/.dsh/keybindings.json` (a partial JSON map, live-ap
121
109
 
122
110
  ## Configuration
123
111
 
124
- Every knob lives under the `dsh-tui` settings namespace in `~/.dsh/settings.yaml` (note the section name: `dsh-tui`). Theme / panel height / footer hints / icon set are `applies: 'live'` a committed change hot-applies to the running TUI, no restart:
125
-
126
- | Key | Default | Meaning |
127
- |---|---|---|
128
- | `theme` | `auto` | Color scheme: `auto` (follow the terminal) / `light` / `dark` / any registered theme name (`/theme` writes back to the same key) |
129
- | `panelHeight` | `'1'` | Think/tool panel height: `'1'` / `'5'` / `'7'` / `'10'` / `'all'` (full content) |
130
- | `maxAgents` | `4` | Max concurrently running subagents, `0` = unlimited (hot-tunable in `/agents → l` limits) |
131
- | `maxRounds` | `75` | Max assistant messages per subagent before a wrap-up request is injected; `0` = unlimited |
132
- | `maxRoundsGrace` | `7` | Grace rounds after the wrap-up before the child is force-stopped (session preserved, resumable); `0` = warn only |
133
- | `disableSubagent` | `true` | Disable the native `subagent` tool; delegation goes through registered agents (`~/.dsh/agents/*.md`); `subagent_fork`/`workflow`/`ralph` stay available |
134
- | `footerHints` | all `true` | Per-segment footer hint toggles: `send`/`stop`/`quit`/`quitEmpty`/`subagents`/`search`/`history` |
135
- | `cacheHitMode` | `lastMessage` | Footer CH segment scope: `lastMessage` — the latest assistant message's cache-hit rate, matching the pi-tui footer (default); `session` — cumulative over the whole session |
136
- | `iconSet` | `auto` | `auto`/`nerdfont`/`plain` — powerline glyphs adapt to your font; install a Nerd Font with `node scripts/install-font.mjs` |
137
- | `rememberPreset` | `true` | Remember the last `/preset` selection **per workspace** (keyed by directory) and start the next launch there — the first session composes under it instead of the server-side default. `false` always starts on the server default. The memory itself lives in `$DSH_HOME/workspace-presets.json` |
138
- | `favoriteModels` | `[]` | Favorite models (`provider/id`), pinned to the top of the `/model` picker |
139
- | `hiddenModels` | `[]` | Hidden models (`provider/id`), moved to the picker's Hidden section (`f` favorites / `h` hides inside the picker — both persist to these keys) |
140
-
141
- Session-store knobs (env overrides `DSH_TUI_RETENTION_*` / `DSH_TUI_RESUME_*`; precedence: settings.yaml > env > default):
112
+ Everything lives under the `dsh-tui` namespace of `~/.dsh/settings.yaml` but you rarely touch the file: **`/settings` browses and edits it in place** (searchable categories — Agent Presets / General / Models / Plugins / TUI with live values, per-field descriptions, and an add-provider flow under Models). Language, theme, panel height, footer hints and icon set hot-apply on change; the rest reads at the next launch.
113
+
114
+ Most knobs have sensible defaults and need no configuration. The few you might actually set:
142
115
 
143
116
  ```yaml
144
117
  dsh-tui:
145
- retention: # startup janitor for ~/.dsh/sessions DELETES old logs. Once per startup.
146
- maxCount: 100 # <= 0 disables the janitor
147
- maxAgeDays: 30
148
- minIdleHours: 24
149
- resume: # /resume display filter — only HIDES picker rows, never deletes.
150
- maxAgeDays: 30
151
- minBytes: 1024
118
+ language: zh-CN # UI language or just /language (asks on any surface; bundled: en, zh-CN, ja, ko)
119
+ theme: auto # auto / light / dark / any registered theme name — or /theme
120
+ maxAgents: 4 # subagent concurrency, 0 = unlimited (also tunable in /agents → l)
152
121
  ```
153
122
 
154
- Key remaps live in `~/.dsh/keybindings.json` (keyboard section above); `DSH_TUI_COPY_ON_SELECT=0` keeps drag-selection visual-only.
123
+ Adding a UI language is one JSON file in `~/.dsh/locales/` — a same-id file merges per key over the bundled one, a new id registers (details: [Settings browser & UI languages](docs/features/settings-i18n.md)). The session-store janitors (`retention` / `resume`) and ask-user timeouts (`askUser`) live in the same namespace with documented defaults.
155
124
 
156
- The plugin ships a bundled skill (`dsh-tui-pi-config`): ask the agent to "configure the TUI" and the guide loads automatically — it collects your choices interactively via ask_user_question (theme, panel height, subagent concurrency) and writes the `dsh-tui:` section for you. The full key table and the `DSH_TUI_*` env var list live in `skills/dsh-tui-pi-config/SKILL.md`.
125
+ The plugin ships a bundled skill (`dsh-tui-pi-config`): ask the agent to "configure the TUI" and it collects your choices interactively and writes the section for you. **The full key table and the `DSH_TUI_*` env var list live in [skills/dsh-tui-pi-config/SKILL.md](skills/dsh-tui-pi-config/SKILL.md).**
157
126
 
158
127
  ---
159
128
 
@@ -162,7 +131,7 @@ The plugin ships a bundled skill (`dsh-tui-pi-config`): ask the agent to "config
162
131
  ```sh
163
132
  pnpm check # tsc --noEmit
164
133
  pnpm build # emit lib/
165
- pnpm test # unit tests, node --test against lib/ (pretest builds; 1,100+ tests across 60+ files — the current baseline lives in AGENTS.md)
134
+ pnpm test # unit tests, node --test against lib/ (pretest builds — the current baseline lives in AGENTS.md)
166
135
  ```
167
136
 
168
137
  `pi-tui` runs pristine from npm — no patches, no fork. See [AGENTS.md](AGENTS.md) for the iron rules and quality gates.
package/README.zh-CN.md CHANGED
@@ -27,6 +27,7 @@ https://github.com/user-attachments/assets/67a7c6ca-ff42-4005-b543-437ba61771bb
27
27
  - [**Themes 主题**](docs/features/themes.md) —— 20 个内置配色(10 亮 + 10 暗)+ 用户主题目录发现(`~/.dsh/themes/`);热切换,`auto` 跟随终端。
28
28
  - [**搜索、选择与图片**](docs/features/search-selection-images.md) —— `Ctrl+Shift+F` 全文搜索、划选复制到系统剪贴板、web/飞书附件内联渲染、LaTeX 转 Unicode 数学。
29
29
  - [**斜杠命令**](docs/features/slash-commands.md) —— `/model`、`/resume`、`/btw`、`/profile-switch`……外加全部 dsh 原生命令。
30
+ - [**设置浏览器与界面语言**](docs/features/settings-i18n.md) —— `/settings` 就地浏览修改一切(字母序分类、每个 provider 的模型清单、Subagent 分组);`/language` 在任意 surface 切换界面语言。
30
31
  - [**启动插件树**](docs/features/startup-tree.md) —— 启动即打印每个 profile 插件及其安装的 npm 版本。
31
32
 
32
33
  ---
@@ -57,20 +58,7 @@ dsh plugin --profile <name> remove @aiwayds/dsh-tui-pi
57
58
 
58
59
  宿主会自动清理 profile:`dsh.profile.bundles` 条目被剪除,整层 patch 随包一起消失——原生的 `session-projection-cache` 行恢复启用,projcache wrapper、`tool-ask-user` 插入及其禁用行全部随之消失。
59
60
 
60
- 以下内容刻意留在磁盘上(删用户数据是破坏性的;重装会全部复用):
61
-
62
- - `~/.dsh/APPEND_SYSTEM.md` —— 自动播种的系统提示词附录(插件所有;不想要就手动删除)
63
- - `~/.dsh/tui-command-usage.json` —— 斜杠命令使用排行
64
- - `~/.dsh/model-profiles.json` —— 模型档案(与其他插件共享——dsh-subagent-registry 也读它)
65
- - `~/.dsh/keybindings.json` —— dsh-tui 的 app 按键行(宿主共享文件)
66
- - `~/.dsh/agents/*.md` 与 `~/.dsh/skills/` —— 用户可编辑的 agents/skills(与其他插件共享)
67
- - 项目工作区里的 `.dsh-profile` 固定文件(由 /model profile 固定时写入)
68
- - `~/.dsh/settings.yaml` 的 `dsh-tui:` 段 —— 主题/面板/footer/保留策略/subagent 限制
69
- - `~/.dsh/storages/session_projcache/` —— 会话投影缓存,含 `.bak-preflight-*` 迁移备份
70
-
71
- 插件运行期间,保留清理器(默认 `maxCount: 100` / `maxAgeDays: 30`,可在 `dsh-tui` 设置中调整)会删除旧会话日志——卸载后即停止,但已删除的日志找不回来。
72
-
73
- `scripts/install-font.mjs` 会改动 OS 字体/终端状态且有文档化的备份;卸载不会碰它。
61
+ 以下内容刻意留在磁盘上(删用户数据是破坏性的;重装会全部复用):`~/.dsh/APPEND_SYSTEM.md`、`tui-command-usage.json`、`model-profiles.json`、`keybindings.json`、`~/.dsh/agents/` 与 `~/.dsh/skills/`、工作区 `.dsh-profile` 固定文件、`settings.yaml` 的 `dsh-tui:` 段、会话投影缓存(含 `.bak-preflight-*` 迁移备份)。插件运行期间,保留清理器(默认 `maxCount: 100` / `maxAgeDays: 30`)会删除旧会话日志——卸载后即停止,但已删除的日志找不回来。`scripts/install-font.mjs` 会改动 OS 字体/终端状态且有文档化的备份;卸载不会碰它。
74
62
 
75
63
  ---
76
64
 
@@ -117,39 +105,20 @@ dsh plugin --profile tui add @aiwayds/dsh-topics-memory
117
105
 
118
106
  ## 配置
119
107
 
120
- 全部旋钮都在 `~/.dsh/settings.yaml` 的 `dsh-tui` settings 命名空间下(注意段名是 `dsh-tui`)。主题 / 面板高度 / footer 提示 / 图标集为 `applies: 'live'`——保存提交即热生效,无需重启:
121
-
122
- | 键 | 默认 | 作用 |
123
- |---|---|---|
124
- | `theme` | `auto` | 配色:`auto`(跟随终端)/`light`/`dark`/任意已注册主题名;`/theme` 写回同一段 |
125
- | `panelHeight` | `'1'` | think/tool 面板高度:`'1'`/`'5'`/`'7'`/`'10'`/`'all'`(完整内容) |
126
- | `maxAgents` | `4` | 并发子代理上限,`0` = 不限(`/agents → l` limits 面板可热调) |
127
- | `maxRounds` | `75` | 每个子代理的 assistant 消息数上限,到达后注入收尾请求;`0` = 不限 |
128
- | `maxRoundsGrace` | `7` | 收尾请求后的宽限轮数,超出即强制终止该子代理(会话保留可续聊/续跑);`0` = 仅警告不终止 |
129
- | `disableSubagent` | `true` | 禁原生 `subagent` 工具,委派改走 `~/.dsh/agents/*.md` 注册代理;`subagent_fork`/`workflow`/`ralph` 不受影响 |
130
- | `footerHints` | 全 `true` | footer 快捷键提示分段开关:`send`/`stop`/`quit`/`quitEmpty`/`subagents`/`search`/`history` |
131
- | `cacheHitMode` | `lastMessage` | footer CH 段口径:`lastMessage`——最新一条 assistant 消息的缓存命中率(与 pi-tui footer 一致,默认);`session`——全会话累计 |
132
- | `iconSet` | `auto` | `auto`/`nerdfont`/`plain`——powerline 字形自适应你的字体;用 `node scripts/install-font.mjs` 安装 Nerd Font |
133
- | `rememberPreset` | `true` | 按**工作区**(目录)记住最后一次 `/preset` 的选择,下次同目录启动直接用它——首个会话按它组合,而不是服务端默认。`false` 则始终用服务端默认。记忆本体存于 `$DSH_HOME/workspace-presets.json` |
134
- | `favoriteModels` | `[]` | 收藏模型(`provider/id`),钉在 `/model` 选择器顶部 |
135
- | `hiddenModels` | `[]` | 隐藏模型(`provider/id`),移入 `/model` 的 Hidden 区(选择器内 `f` 收藏 / `h` 隐藏,即写这两个键) |
136
-
137
- 会话存储相关的旋钮(env 覆盖 `DSH_TUI_RETENTION_*` / `DSH_TUI_RESUME_*`;优先级:settings.yaml > env > 默认值):
108
+ 所有配置都在 `~/.dsh/settings.yaml` 的 `dsh-tui` 命名空间下——但你很少需要直接碰文件:**`/settings` 就地浏览修改**(可搜索的一级分类——Agent Presets / General / Models / Plugins / TUI——实时值、逐字段描述,Models 下还有 add-provider 流程)。语言、主题、面板高度、footer 提示、图标集改动即热生效;其余下次启动读取。
109
+
110
+ 大多数旋钮都有合理默认值,无需配置。真正可能会设的就几项:
138
111
 
139
112
  ```yaml
140
113
  dsh-tui:
141
- retention: # ~/.dsh/sessions 的启动清理器——删除旧日志。每次启动跑一次。
142
- maxCount: 100 # <= 0 关闭清理器
143
- maxAgeDays: 30
144
- minIdleHours: 24
145
- resume: # /resume 显示过滤器——只隐藏选择器行,从不删除。
146
- maxAgeDays: 30
147
- minBytes: 1024
114
+ language: zh-CN # 界面语言——或直接 /language(任意 surface 可答;内置 en、zh-CN、ja、ko)
115
+ theme: auto # auto / light / dark / 任意已注册主题名——或 /theme
116
+ maxAgents: 4 # 子代理并发上限,0 = 不限(/agents → l 也可热调)
148
117
  ```
149
118
 
150
- 按键重映射见 `~/.dsh/keybindings.json`(上文键盘一节)。
119
+ 新增界面语言就是往 `~/.dsh/locales/` 放一个 JSON 文件——同名 id 按键合并到内置文件之上,新 id 直接注册(详见[设置浏览器与界面语言](docs/features/settings-i18n.md))。会话清理器(`retention` / `resume`)与 ask-user 超时(`askUser`)也在同一命名空间,默认值见文档。
151
120
 
152
- 插件内置了一个 skill(`dsh-tui-pi-config`):直接让 agent「帮我配置 TUI」,指南会自动加载——以 ask_user_question 问答方式逐项收集(主题、面板高度、子代理并发)并代写 `dsh-tui:` 段;全键表与 `DSH_TUI_*` 环境变量清单见 `skills/dsh-tui-pi-config/SKILL.md`。
121
+ 插件内置了一个 skill(`dsh-tui-pi-config`):直接让 agent「帮我配置 TUI」,它会问答式收集你的选择并代写配置段。**全键表与 `DSH_TUI_*` 环境变量清单见 [skills/dsh-tui-pi-config/SKILL.md](skills/dsh-tui-pi-config/SKILL.md)。**
153
122
 
154
123
  ---
155
124
 
@@ -158,7 +127,7 @@ dsh-tui:
158
127
  ```sh
159
128
  pnpm check # tsc --noEmit
160
129
  pnpm build # 输出 lib/
161
- pnpm test # 单元测试,node --test 对 lib/ 执行(pretest 构建;1100+ 测试、60+ 文件——当前基数见 AGENTS.md)
130
+ pnpm test # 单元测试,node --test 对 lib/ 执行(pretest 构建;当前基数见 AGENTS.md)
162
131
  ```
163
132
 
164
133
  `pi-tui` 从 npm 原样运行——无补丁、无 fork。铁律与质量门禁见 [AGENTS.md](AGENTS.md)。
package/lib/agents.js CHANGED
@@ -34,6 +34,7 @@ import { autoColumns, FieldPanel, PanelHost, TablePanel, ViewerPanel, } from "./
34
34
  import { openEffortPicker } from "./selectors.js";
35
35
  import { ansiFg, BOLD, RESET } from "./theme/index.js";
36
36
  import { clipToWidth } from "./text.js";
37
+ import { t } from "./i18n/index.js";
37
38
  /** zcode-style 8-color label palette — GitHub-flavored hexes, per theme. */
38
39
  const AGENT_COLORS = {
39
40
  red: '#d1242f',
@@ -69,7 +70,7 @@ function parseDeepInput(text) {
69
70
  if (trimmed === '')
70
71
  return { kind: 'keep' };
71
72
  if (!/^\d+$/.test(trimmed)) {
72
- return { kind: 'error', error: `expected a non-negative integer, got "${trimmed}"` };
73
+ return { kind: 'error', error: t('agentsmg.error.integer', { text: trimmed }) };
73
74
  }
74
75
  return { kind: 'value', value: Number(trimmed) };
75
76
  }
@@ -79,7 +80,7 @@ function parseLimitInput(text) {
79
80
  if (trimmed === '')
80
81
  return { kind: 'keep' };
81
82
  if (!/^\d+$/.test(trimmed)) {
82
- return { kind: 'error', error: `expected a non-negative integer, got "${trimmed}"` };
83
+ return { kind: 'error', error: t('agentsmg.error.integer', { text: trimmed }) };
83
84
  }
84
85
  return { kind: 'value', value: Number(trimmed) };
85
86
  }
@@ -88,10 +89,10 @@ function parseLimitInput(text) {
88
89
  * model cell shows the COMPOSED value (frontmatter ⊕ pinned profile). */
89
90
  function agentColumns(agents, cell) {
90
91
  return autoColumns([
91
- { key: 'name', title: 'name', cap: 16 },
92
- { key: 'model', title: 'model', cap: 30 },
93
- { key: 'deep', title: 'deep', align: 'right' },
94
- { key: 'description', title: 'description' },
92
+ { key: 'name', title: t('agentsmg.col.name'), cap: 16 },
93
+ { key: 'model', title: t('agentsmg.col.model'), cap: 30 },
94
+ { key: 'deep', title: t('agentsmg.col.deep'), align: 'right' },
95
+ { key: 'description', title: t('agentsmg.col.description') },
95
96
  ], agents, cell);
96
97
  }
97
98
  /** Cell text for one agent table row, model column COMPOSED (baseline ⊕
@@ -101,7 +102,7 @@ function agentCellFor(effective) {
101
102
  const meta = agent.meta;
102
103
  switch (column.key) {
103
104
  case 'name': return meta.displayName ?? meta.name;
104
- case 'model': return effective.get(meta.name)?.model ?? '(inherit)';
105
+ case 'model': return effective.get(meta.name)?.model ?? t('agentsmg.inherit');
105
106
  case 'deep': return String(meta.deep);
106
107
  default: return meta.description ?? '';
107
108
  }
@@ -152,9 +153,9 @@ async function pickAgentModel(ctx, tui, theme, meta, host) {
152
153
  resolve(value);
153
154
  };
154
155
  const list = new TablePanel(theme, {
155
- title: '● Model',
156
+ title: t('agentsmg.model.title'),
156
157
  // Auto layout: MODEL fits its content, PROVIDER runs to the edge.
157
- columns: autoColumns([{ key: 'label', title: 'Model', cap: 40 }, { key: 'description', title: 'Provider' }], models, (model, key) => (key === 'description' ? model.description ?? '' : model.label)),
158
+ columns: autoColumns([{ key: 'label', title: t('agentsmg.picker.colModel'), cap: 40 }, { key: 'description', title: t('agentsmg.picker.colProvider') }], models, (model, key) => (key === 'description' ? model.description ?? '' : model.label)),
158
159
  rows: models,
159
160
  renderCell: (model, column) => (column.key === 'description' ? model.description ?? '' : model.label),
160
161
  preselect: meta.model === undefined ? undefined : Math.max(0, models.findIndex(model => model.value === meta.model)),
@@ -234,7 +235,7 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
234
235
  let fieldsHandle;
235
236
  const host = new PanelHost(tui, theme, message => {
236
237
  restoreFocus();
237
- settle?.(`✘ failed to open the agents view: ${message}`);
238
+ settle?.(t('agentsmg.openFailed', { message }));
238
239
  });
239
240
  return new Promise(resolve => {
240
241
  settle = resolve;
@@ -244,12 +245,12 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
244
245
  : agents.findIndex(agent => agent.meta.name === pendingPreselect);
245
246
  pendingPreselect = undefined;
246
247
  const table = new TablePanel(theme, {
247
- title: '● Agents',
248
+ title: t('agentsmg.title'),
248
249
  columns: agentColumns(agents, (agent, key) => agentCellFor(effective)(agent, { key })),
249
250
  rows: agents,
250
251
  renderCell: agentCellFor(effective),
251
252
  preselect: preselectIndex !== undefined && preselectIndex >= 0 ? preselectIndex : undefined,
252
- footer: '↑↓ navigate · Enter open · Esc back · l limits',
253
+ footer: t('agentsmg.tableFooter'),
253
254
  // Defensive: an empty table (never shown, but guards the round-trip)
254
255
  // must not hand `undefined` to showFields.
255
256
  onSelect: agent => {
@@ -265,23 +266,27 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
265
266
  host.close();
266
267
  restoreFocus();
267
268
  if (changed.length > 0) {
268
- const seededNote = seed.seeded > 0 ? ` (seeded ${seed.seeded} from ${zcodeAgentsDir()})` : '';
269
- resolve(`Agents updated: ${changed.join(', ')}${seededNote}`);
269
+ const seededNote = seed.seeded > 0
270
+ ? t('agentsmg.seededNote', { n: seed.seeded, dir: zcodeAgentsDir() })
271
+ : '';
272
+ resolve(t('agentsmg.updated', { list: changed.join(', '), note: seededNote }));
270
273
  }
271
274
  else {
272
- resolve(seed.seeded > 0 ? `Seeded ${seed.seeded} agent(s) from ${zcodeAgentsDir()} — no changes.` : undefined);
275
+ resolve(seed.seeded > 0
276
+ ? t('agentsmg.seededOnly', { n: seed.seeded, dir: zcodeAgentsDir() })
277
+ : undefined);
273
278
  }
274
279
  };
275
280
  const showFields = (agent) => {
276
281
  const meta = agent.meta;
277
282
  const eff = effective.get(meta.name);
278
- const content = (meta.description ?? '(no description)').split('\n');
283
+ const content = (meta.description ?? t('agentsmg.noDescription')).split('\n');
279
284
  content.push(editTarget.kind === 'profile'
280
- ? `model/think edits apply to profile "${editTarget.name}" (workspace-scoped — the frontmatter baseline stays untouched)`
281
- : 'no workspace profile pin — edits write the frontmatter baseline (global)');
285
+ ? t('agentsmg.target.profile', { name: editTarget.name })
286
+ : t('agentsmg.target.frontmatter'));
282
287
  const fields = [
283
- { key: 'model', value: eff?.model ?? '(inherit — default model)', editable: true },
284
- { key: 'thinking', value: eff?.thinking ?? '(inherit)', editable: true },
288
+ { key: 'model', value: eff?.model ?? t('agentsmg.inheritDefault'), editable: true },
289
+ { key: 'thinking', value: eff?.thinking ?? t('agentsmg.inherit'), editable: true },
285
290
  { key: 'deep', value: String(meta.deep), editable: true },
286
291
  ];
287
292
  const view = new FieldPanel(theme, {
@@ -289,7 +294,7 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
289
294
  content,
290
295
  fields,
291
296
  status: () => detailStatus,
292
- footer: '↑↓ field · Enter edit (m model · t think · d deep) · v full prompt · Esc back',
297
+ footer: t('agentsmg.fieldsFooter'),
293
298
  shortcuts: {
294
299
  m: () => void changeModel(agent),
295
300
  t: () => void changeThinking(agent),
@@ -338,27 +343,27 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
338
343
  refreshEffective();
339
344
  if (!changed.includes(agent.meta.name))
340
345
  changed.push(agent.meta.name);
341
- const thinkText = picked.thinking !== null ? ` · think ${picked.thinking}` : '';
342
- const scopeNote = result.target.kind === 'profile' ? ` (profile "${result.target.name}")` : '';
343
- detailStatus = `saved ${agent.meta.name} ${picked.model}${thinkText}${scopeNote}`;
346
+ const thinkText = picked.thinking !== null ? t('agentsmg.thinkSuffix', { effort: picked.thinking }) : '';
347
+ const scopeNote = result.target.kind === 'profile' ? t('agentsmg.scopeNote', { name: result.target.name }) : '';
348
+ detailStatus = t('agentsmg.savedModel', { name: agent.meta.name, model: picked.model, think: thinkText, scope: scopeNote });
344
349
  showFields(agent);
345
350
  };
346
351
  const changeThinking = async (agent) => {
347
352
  const model = effective.get(agent.meta.name)?.model;
348
353
  if (model === undefined) {
349
- detailStatus = '✘ no model set — pick a model first (m)';
354
+ detailStatus = t('agentsmg.error.noModel');
350
355
  showFields(agent);
351
356
  return;
352
357
  }
353
358
  const llm = ctx.get('llm');
354
359
  if (llm === undefined) {
355
- detailStatus = '✘ llm service unavailable';
360
+ detailStatus = t('agentsmg.error.noLlm');
356
361
  showFields(agent);
357
362
  return;
358
363
  }
359
364
  const slash = model.indexOf('/');
360
365
  if (slash <= 0) {
361
- detailStatus = `✘ cannot resolve think levels for ${model}`;
366
+ detailStatus = t('agentsmg.error.noThinkLevels', { model });
362
367
  showFields(agent);
363
368
  return;
364
369
  }
@@ -370,7 +375,7 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
370
375
  efforts = undefined;
371
376
  }
372
377
  if (efforts === undefined || efforts.length === 0) {
373
- detailStatus = `✘ ${model} exposes no think levels`;
378
+ detailStatus = t('agentsmg.error.modelNoThink', { model });
374
379
  showFields(agent);
375
380
  return;
376
381
  }
@@ -392,15 +397,15 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
392
397
  refreshEffective();
393
398
  if (!changed.includes(agent.meta.name))
394
399
  changed.push(agent.meta.name);
395
- const scopeNote = result.target.kind === 'profile' ? ` (profile "${result.target.name}")` : '';
396
- detailStatus = `saved ${agent.meta.name} think ${thinking ?? 'inherit'}${scopeNote}`;
400
+ const scopeNote = result.target.kind === 'profile' ? t('agentsmg.scopeNote', { name: result.target.name }) : '';
401
+ detailStatus = t('agentsmg.savedThink', { name: agent.meta.name, effort: thinking ?? t('agentsmg.inheritWord'), scope: scopeNote });
397
402
  showFields(agent);
398
403
  };
399
404
  const showDeepEditor = (agent) => {
400
405
  let committed = false;
401
406
  const field = new EditField(tui, {
402
- title: `Max spawn depth — ${agent.meta.displayName ?? agent.meta.name}`,
403
- subtitle: '0 = this agent never spawns subagents · no unlimited',
407
+ title: t('agentsmg.deep.title', { name: agent.meta.displayName ?? agent.meta.name }),
408
+ subtitle: t('agentsmg.deep.subtitle'),
404
409
  initial: String(agent.meta.deep),
405
410
  parse: parseDeepInput,
406
411
  onCommit: async (parsed) => {
@@ -412,7 +417,7 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
412
417
  return { error };
413
418
  agent.meta.deep = n;
414
419
  committed = true;
415
- return { notice: `max depth ${n} saved — takes effect when this agent is spawned` };
420
+ return { notice: t('agentsmg.deep.saved', { n }) };
416
421
  },
417
422
  onDone: () => {
418
423
  // onDone fires on every terminal transition (commit, keep, Esc) —
@@ -420,7 +425,7 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
420
425
  if (committed) {
421
426
  if (!changed.includes(agent.meta.name))
422
427
  changed.push(agent.meta.name);
423
- detailStatus = `saved ${agent.meta.name} max depth ${agent.meta.deep}`;
428
+ detailStatus = t('agentsmg.deep.status', { name: agent.meta.name, n: agent.meta.deep });
424
429
  }
425
430
  showFields(agent);
426
431
  },
@@ -430,9 +435,9 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
430
435
  };
431
436
  const showBody = (agent) => {
432
437
  host.open(new ViewerPanel(theme, {
433
- title: `ⓘ ${agent.meta.displayName ?? agent.meta.name} · system prompt`,
438
+ title: t('agentsmg.body.title', { name: agent.meta.displayName ?? agent.meta.name }),
434
439
  lines: agent.body.split('\n'),
435
- footer: ' Esc to close',
440
+ footer: t('agentsmg.body.footer'),
436
441
  onClose: () => showFields(agent),
437
442
  }));
438
443
  };
@@ -445,28 +450,34 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
445
450
  const limits = readSubagentLimits(ctx);
446
451
  const stats = getStats?.();
447
452
  const fields = [
448
- { key: 'maxAgents', value: `${limits.maxAgents} · concurrent live children (0 = unlimited)`, editable: true },
449
- { key: 'maxRounds', value: `${limits.maxRounds} · assistant messages before wrap-up (0 = unlimited)`, editable: true },
450
- { key: 'maxRoundsGrace', value: `${limits.maxRoundsGrace} · wrap-up rounds before force-stop (0 = warn only)`, editable: true },
451
- { key: 'disableSubagent', value: `${limits.disableSubagent ? 'on' : 'off'} · native subagent tool`, editable: true },
452
- { key: 'registeredOnly', value: `${limits.registeredOnly ? 'on' : 'off'} · only use_agent may spawn (subagent/fork/workflow/ralph fenced)`, editable: true },
453
+ { key: 'maxAgents', value: t('agentsmg.limits.maxAgents', { n: limits.maxAgents }), editable: true },
454
+ { key: 'maxRounds', value: t('agentsmg.limits.maxRounds', { n: limits.maxRounds }), editable: true },
455
+ { key: 'maxRoundsGrace', value: t('agentsmg.limits.maxRoundsGrace', { n: limits.maxRoundsGrace }), editable: true },
456
+ { key: 'disableSubagent', value: t('agentsmg.limits.disableSubagent', { value: limits.disableSubagent ? t('agentsmg.on') : t('agentsmg.off') }), editable: true },
457
+ { key: 'registeredOnly', value: t('agentsmg.limits.registeredOnly', { value: limits.registeredOnly ? t('agentsmg.on') : t('agentsmg.off') }), editable: true },
453
458
  ];
454
459
  const content = [
455
- 'subagent delegation knobs — read live at every spawn / turn decision',
460
+ t('agentsmg.limits.intro'),
456
461
  ...(stats !== undefined
457
- ? [`runtime: ${stats.live} live · ${stats.allowed} admitted · ${stats.denied} denied`
458
- + ` · ${stats.pruned} pruned · ${stats.inFlight} in-flight (since TUI start)`]
462
+ ? [t('agentsmg.limits.runtime', {
463
+ live: stats.live,
464
+ allowed: stats.allowed,
465
+ denied: stats.denied,
466
+ pruned: stats.pruned,
467
+ inFlight: stats.inFlight,
468
+ })]
459
469
  : []),
460
470
  ...(agents.length === 0
461
- ? [`no agents in ${dir} yet — drop a markdown file to define one`, ...(broken.length > 0 ? [`${broken.length} broken file(s) ignored`] : [])]
471
+ ? [t('agentsmg.limits.noAgents', { dir }),
472
+ ...(broken.length > 0 ? [t('agentsmg.limits.broken', { n: broken.length })] : [])]
462
473
  : []),
463
474
  ];
464
475
  const panel = new FieldPanel(theme, {
465
- title: ansiFg(theme.palette.accent) + BOLD + '⚙ subagent' + RESET,
476
+ title: ansiFg(theme.palette.accent) + BOLD + t('agentsmg.limits.title') + RESET,
466
477
  content,
467
478
  fields,
468
479
  status: () => limitsStatus,
469
- footer: '↑↓ field · Enter edit (0 = unlimited) · d toggle subagent · r registered-only · Esc back',
480
+ footer: t('agentsmg.limits.footer'),
470
481
  shortcuts: { d: () => void toggleDisableSubagent(), r: () => void toggleRegisteredOnly() },
471
482
  onEdit: index => {
472
483
  if (index === 3)
@@ -491,8 +502,8 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
491
502
  const current = readSubagentLimits(ctx)[key];
492
503
  let committed = false;
493
504
  const field = new EditField(tui, {
494
- title: `${key} — subagent delegation limit (current ${current})`,
495
- subtitle: 'non-negative integer · 0 = unlimited · empty keeps the current value',
505
+ title: t('agentsmg.limit.title', { key, current }),
506
+ subtitle: t('agentsmg.limit.subtitle'),
496
507
  initial: String(current),
497
508
  parse: parseLimitInput,
498
509
  onCommit: async (parsed) => {
@@ -510,7 +521,7 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
510
521
  // only a real commit counts and flashes the status line.
511
522
  if (committed) {
512
523
  const n = readSubagentLimits(ctx)[key];
513
- limitsStatus = `${key} ${n} saved — applies to future subagent spawns`;
524
+ limitsStatus = t('agentsmg.limit.saved', { key, n });
514
525
  }
515
526
  showLimits();
516
527
  },
@@ -529,7 +540,9 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
529
540
  const error = await writeSubagentLimit(ctx, 'disableSubagent', next);
530
541
  limitsStatus = error !== undefined
531
542
  ? `✘ ${error}`
532
- : `subagent tool ${next ? 'disabled' : 'enabled'} — applies to future subagent spawns`;
543
+ : next
544
+ ? t('agentsmg.subagent.enabled')
545
+ : t('agentsmg.subagent.disabled');
533
546
  showLimits();
534
547
  };
535
548
  /**
@@ -543,7 +556,9 @@ export async function openAgentManager(ctx, tui, theme, restoreFocus, preselect,
543
556
  const error = await writeSubagentLimit(ctx, 'registeredOnly', next);
544
557
  limitsStatus = error !== undefined
545
558
  ? `✘ ${error}`
546
- : `registered-only fence ${next ? 'ON — only use_agent may spawn' : 'off — ad-hoc spawn tools available'}`;
559
+ : next
560
+ ? t('agentsmg.fence.on')
561
+ : t('agentsmg.fence.off');
547
562
  showLimits();
548
563
  };
549
564
  // No agent files? The manager still opens — straight into the limits
package/lib/agents.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agents.js","sourceRoot":"","sources":["../src/agents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,OAAO,EACL,cAAc,GAIf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,SAAS,EACT,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,sBAAsB,EACtB,cAAc,GAGf,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GAEnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAqB,MAAM,eAAe,CAAA;AAE5D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EACL,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EAEV,WAAW,GACZ,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAiB,MAAM,kBAAkB,CAAA;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AAEnC,4EAA4E;AAC5E,MAAM,YAAY,GAA2B;IAC3C,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;CAChB,CAAA;AAED;;0DAE0D;AAC1D,MAAM,iBAAiB,GAA2B;IAChD,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;CAChB,CAAA;AAED,0EAA0E;AAC1E,SAAS,aAAa,CAAC,KAAe,EAAE,IAAY;IAClD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAA;IACnE,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC;AAED,0EAA0E;AAC1E,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;IACjF,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;AAClD,CAAC;AAED,mFAAmF;AACnF,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IAC3B,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IAC3C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAA;IACjF,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;AAClD,CAAC;AAED;;0EAE0E;AAC1E,SAAS,YAAY,CACnB,MAA4B,EAC5B,IAA+C;IAE/C,OAAO,WAAW,CAChB;QACE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,mBAAmB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;QACvD,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;QACzD,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE;QACvE,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,0BAA0B,CAAC,EAAE;KAC7D,EACD,MAAM,EACN,IAAI,CACL,CAAA;AACH,CAAC;AAED;sEACsE;AACtE,SAAS,YAAY,CACnB,SAAkD;IAElD,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACvB,QAAQ,MAAM,CAAC,GAAG,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAA;YACjD,KAAK,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,kBAAkB,CAAC,CAAA;YAC7E,KAAK,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrC,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,IAAI,EAAE,CAAA;QACxC,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,uDAAuD;AACvD,SAAS,UAAU,CAAC,KAAe,EAAE,IAAe;IAClD,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACvD,MAAM,GAAG,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;IACzE,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;AACtE,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,cAAc,CAC3B,GAAY,EACZ,GAAQ,EACR,KAAe,EACf,IAAe,EACf,IAAe;IAEf,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAA;IACvC,MAAM,MAAM,GAAkE,EAAE,CAAA;IAChF,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,MAAM,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC;oBACV,KAAK,EAAE,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE;oBACnC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;oBAChD,WAAW,EAAE,QAAQ,CAAC,EAAE;iBACzB,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,6DAA6D,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAEzC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,wEAAwE;QACxE,sEAAsE;QACtE,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,MAAM,UAAU,GAAG,CAAC,KAA6D,EAAQ,EAAE;YACzF,IAAI,OAAO;gBAAE,OAAM;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC,CAAA;QACD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE;YACjC,KAAK,EAAE,CAAC,CAAC,sBAAsB,CAAC;YAChC,kEAAkE;YAClE,OAAO,EAAE,WAAW,CAClB,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,0BAA0B,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,6BAA6B,CAAC,EAAE,CAAC,EAClI,MAAM,EACN,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAChF;YACD,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;YACrG,SAAS,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC;YACpH,QAAQ,EAAE,IAAI,CAAC,EAAE;gBACf,KAAK,CAAC,KAAK,IAAI,EAAE;oBACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBACrC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;wBACf,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;wBACjD,OAAM;oBACR,CAAC;oBACD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;oBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;oBAC3C,IAAI,OAAsD,CAAA;oBAC1D,IAAI,CAAC;wBACH,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAA;oBAChF,CAAC;oBAAC,MAAM,CAAC,CAAC,uDAAuD,CAAC,CAAC;oBACnE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAClD,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;wBACjD,OAAM;oBACR,CAAC;oBACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAyC,CAAA;oBAC9D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,CAC7D,CAAA;oBACD,IAAI,MAAM,KAAK,SAAS;wBAAE,UAAU,CAAC,SAAS,CAAC,CAAA;yBAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;wBAAE,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;wBAClF,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;gBACjE,CAAC,CAAC,EAAE,CAAA;YACN,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;SACtC,CAAC,CAAA;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,MAAM,KAAK,SAAS;YAAE,UAAU,CAAC,SAAS,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAY,EACZ,GAAQ,EACR,KAAe,EACf,YAAwB,EACxB,SAAkB,EAClB,QAAoC;IAEpC,MAAM,GAAG,GAAG,SAAS,EAAE,CAAA;IACvB,sBAAsB,CAAC,GAAG,CAAC,CAAA;IAC3B,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;IAC/B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;IAE9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB;8EAC0E;IAC1E,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAA;IACrD;;qCAEiC;IACjC,MAAM,SAAS,GAAoC,IAAI,GAAG,EAAE,CAAA;IAC5D,MAAM,gBAAgB,GAAG,GAAS,EAAE;QAClC,SAAS,CAAC,KAAK,EAAE,CAAA;QACjB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;gBACjE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI;gBAC/B,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI;aACtC,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;QACxB,CAAC;IACH,CAAC,CAAA;IACD,gBAAgB,EAAE,CAAA;IAElB,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,IAAI,YAAgC,CAAA;IACpC,IAAI,YAAgC,CAAA;IACpC,IAAI,gBAAgB,GAAG,SAAS,CAAA;IAChC,wEAAwE;IACxE,IAAI,MAAyD,CAAA;IAC7D,qEAAqE;IACrE,IAAI,YAAuC,CAAA;IAE3C,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE;QAC/C,YAAY,EAAE,CAAA;QACd,MAAM,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IACjD,CAAC,CAAC,CAAA;IAEF,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,GAAG,OAAO,CAAA;QAEhB,MAAM,SAAS,GAAG,GAAS,EAAE;YAC3B,MAAM,cAAc,GAAG,gBAAgB,KAAK,SAAS;gBACnD,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAA;YACnE,gBAAgB,GAAG,SAAS,CAAA;YAC5B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE;gBAClC,KAAK,EAAE,CAAC,CAAC,gBAAgB,CAAC;gBAC1B,OAAO,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtF,IAAI,EAAE,MAAM;gBACZ,UAAU,EAAE,YAAY,CAAC,SAAS,CAAC;gBACnC,SAAS,EAAE,cAAc,KAAK,SAAS,IAAI,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;gBAC3F,MAAM,EAAE,CAAC,CAAC,sBAAsB,CAAC;gBACjC,qEAAqE;gBACrE,2CAA2C;gBAC3C,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAChB,IAAI,KAAK,KAAK,SAAS;wBAAE,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC5C,CAAC;gBACD,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE;gBAC9B,SAAS,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE;aAC7B,CAAC,CAAA;YACF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC,CAAA;QAED,MAAM,YAAY,GAAG,GAAS,EAAE;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAA;YACZ,YAAY,EAAE,CAAA;YACd,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;oBAChC,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,CAAC;oBACrE,CAAC,CAAC,EAAE,CAAA;gBACN,OAAO,CAAC,CAAC,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;YAChF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;oBACrB,CAAC,CAAC,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,EAAE,CAAC;oBACrE,CAAC,CAAC,SAAS,CAAC,CAAA;YAChB,CAAC;QACH,CAAC,CAAA;QAED,MAAM,UAAU,GAAG,CAAC,KAAgB,EAAQ,EAAE;YAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;YACvB,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACpC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAC7E,OAAO,CAAC,IAAI,CACV,UAAU,CAAC,IAAI,KAAK,SAAS;gBAC3B,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC;gBACzD,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CACrC,CAAA;YACD,MAAM,MAAM,GAAG;gBACb,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC,yBAAyB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACnF,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,IAAI,CAAC,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAClF,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC1D,CAAA;YACD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE;gBACjC,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC9B,OAAO;gBACP,MAAM;gBACN,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY;gBAC1B,MAAM,EAAE,CAAC,CAAC,uBAAuB,CAAC;gBAClC,SAAS,EAAE;oBACT,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC;oBAChC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,cAAc,CAAC,KAAK,CAAC;oBACnC,CAAC,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC;oBAC9B,CAAC,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;iBACzB;gBACD,MAAM,EAAE,KAAK,CAAC,EAAE;oBACd,IAAI,KAAK,KAAK,CAAC;wBAAE,KAAK,WAAW,CAAC,KAAK,CAAC,CAAA;yBACnC,IAAI,KAAK,KAAK,CAAC;wBAAE,KAAK,cAAc,CAAC,KAAK,CAAC,CAAA;;wBAC3C,cAAc,CAAC,KAAK,CAAC,CAAA;gBAC5B,CAAC;gBACD,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE;aAC5B,CAAC,CAAA;YACF,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC,CAAA;QAED;8EACsE;QACtE,MAAM,aAAa,GAAG,CAAC,KAAgB,EAAa,EAAE;YACpD,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC1C,OAAO,GAAG,KAAK,SAAS;gBACtB,CAAC,CAAC,KAAK,CAAC,IAAI;gBACZ,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAA;QACjE,CAAC,CAAA;QAED,MAAM,WAAW,GAAG,KAAK,EAAE,KAAgB,EAAiB,EAAE;YAC5D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAA;YAChF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,OAAM;YACR,CAAC;YACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;gBAC/D,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAA;YACrB,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,YAAY,GAAG,KAAK,MAAM,CAAC,KAAK,EAAE,CAAA;gBAClC,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,OAAM;YACR,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;gBAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAA;YACpD,CAAC;YACD,gBAAgB,EAAE,CAAA;YAClB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACxG,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC/G,YAAY,GAAG,CAAC,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YAC3H,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC,CAAA;QAED,MAAM,cAAc,GAAG,KAAK,EAAE,KAAgB,EAAiB,EAAE;YAC/D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAA;YACnD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,YAAY,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAA;gBAC1C,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,OAAM;YACR,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC1B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACtB,YAAY,GAAG,CAAC,CAAC,sBAAsB,CAAC,CAAA;gBACxC,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,OAAM;YACR,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAChC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,YAAY,GAAG,CAAC,CAAC,8BAA8B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC3D,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,OAAM;YACR,CAAC;YACD,IAAI,OAAsD,CAAA;YAC1D,IAAI,CAAC;gBACH,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAA;YAC1G,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,SAAS,CAAA;YACrB,CAAC;YACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClD,YAAY,GAAG,CAAC,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;gBAC1D,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,OAAM;YACR,CAAC;YACD,MAAM,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAyC,CAAA;YAC/F,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,CACzE,CAAA;YACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,OAAM;YACR,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;YACnE,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAA;YACjG,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC/B,YAAY,GAAG,KAAK,MAAM,CAAC,KAAK,EAAE,CAAA;gBAClC,UAAU,CAAC,KAAK,CAAC,CAAA;gBACjB,OAAM;YACR,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa;gBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,SAAS,CAAA;YACrF,gBAAgB,EAAE,CAAA;YAClB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC/G,YAAY,GAAG,CAAC,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;YACnI,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC,CAAA;QAED,MAAM,cAAc,GAAG,CAAC,KAAgB,EAAQ,EAAE;YAChD,IAAI,SAAS,GAAG,KAAK,CAAA;YACrB,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE;gBAC/B,KAAK,EAAE,CAAC,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpF,QAAQ,EAAE,CAAC,CAAC,wBAAwB,CAAC;gBACrC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChC,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;oBACvB,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;wBAAE,OAAO,SAAS,CAAA;oBAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,KAAe,CAAA;oBAChC,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;oBAC7D,IAAI,KAAK,KAAK,SAAS;wBAAE,OAAO,EAAE,KAAK,EAAE,CAAA;oBACzC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;oBACnB,SAAS,GAAG,IAAI,CAAA;oBAChB,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,qBAAqB,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;gBACpD,CAAC;gBACD,MAAM,EAAE,GAAG,EAAE;oBACX,kEAAkE;oBAClE,yCAAyC;oBACzC,IAAI,SAAS,EAAE,CAAC;wBACd,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;4BAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBACrE,YAAY,GAAG,CAAC,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;oBACzF,CAAC;oBACD,UAAU,CAAC,KAAK,CAAC,CAAA;gBACnB,CAAC;gBACD,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,YAAY,GAAG,KAAK,OAAO,EAAE,CAAA,CAAC,CAAC;aACtD,EAAE,KAAK,CAAC,CAAA;YACT,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC,CAAA;QAED,MAAM,QAAQ,GAAG,CAAC,KAAgB,EAAQ,EAAE;YAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE;gBAC/B,KAAK,EAAE,CAAC,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpF,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,CAAC,CAAC,sBAAsB,CAAC;gBACjC,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;aACjC,CAAC,CAAC,CAAA;QACL,CAAC,CAAA;QAED;;;;WAIG;QACH,MAAM,UAAU,GAAG,GAAS,EAAE;YAC5B,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;YACtC,MAAM,KAAK,GAAG,QAAQ,EAAE,EAAE,CAAA;YAC1B,MAAM,MAAM,GAAG;gBACb,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,2BAA2B,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACpG,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,2BAA2B,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACpG,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,gCAAgC,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACnH,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC,iCAAiC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACjK,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC,gCAAgC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;aAC/J,CAAA;YACD,MAAM,OAAO,GAAa;gBACxB,CAAC,CAAC,uBAAuB,CAAC;gBAC1B,GAAG,CAAC,KAAK,KAAK,SAAS;oBACrB,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,EAAE;4BAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;yBACzB,CAAC,CAAC;oBACL,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;oBACrB,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,EAAE,EAAE,GAAG,EAAE,CAAC;wBACrC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACtF,CAAC,CAAC,EAAE,CAAC;aACR,CAAA;YACD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE;gBAClC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,uBAAuB,CAAC,GAAG,KAAK;gBAC/E,OAAO;gBACP,MAAM;gBACN,MAAM,EAAE,GAAG,EAAE,CAAC,YAAY;gBAC1B,MAAM,EAAE,CAAC,CAAC,wBAAwB,CAAC;gBACnC,SAAS,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,qBAAqB,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,oBAAoB,EAAE,EAAE;gBAC1F,MAAM,EAAE,KAAK,CAAC,EAAE;oBACd,IAAI,KAAK,KAAK,CAAC;wBAAE,qBAAqB,EAAE,CAAA;yBACnC,IAAI,KAAK,KAAK,CAAC;wBAAE,oBAAoB,EAAE,CAAA;;wBACvC,SAAS,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;gBAC1F,CAAC;gBACD,qEAAqE;gBACrE,sEAAsE;gBACtE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;aACrE,CAAC,CAAA;YACF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC,CAAA;QAED;;;;WAIG;QACH,MAAM,SAAS,GAAG,CAAC,GAAiD,EAAQ,EAAE;YAC5E,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;YAC5C,IAAI,SAAS,GAAG,KAAK,CAAA;YACrB,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE;gBAC/B,KAAK,EAAE,CAAC,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;gBAClD,QAAQ,EAAE,CAAC,CAAC,yBAAyB,CAAC;gBACtC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;gBACxB,KAAK,EAAE,eAAe;gBACtB,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;oBACvB,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;wBAAE,OAAO,SAAS,CAAA;oBAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,KAAe,CAAA;oBAChC,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;oBACnD,IAAI,KAAK,KAAK,SAAS;wBAAE,OAAO,EAAE,KAAK,EAAE,CAAA;oBACzC,SAAS,GAAG,IAAI,CAAA;oBAChB,OAAO,SAAS,CAAA;gBAClB,CAAC;gBACD,MAAM,EAAE,GAAG,EAAE;oBACX,kEAAkE;oBAClE,yDAAyD;oBACzD,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;wBACtC,YAAY,GAAG,CAAC,CAAC,sBAAsB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;oBACtD,CAAC;oBACD,UAAU,EAAE,CAAA;gBACd,CAAC;gBACD,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,YAAY,GAAG,KAAK,OAAO,EAAE,CAAA,CAAC,CAAC;aACtD,EAAE,KAAK,CAAC,CAAA;YACT,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC,CAAA;QAED;;;;;WAKG;QACH,MAAM,qBAAqB,GAAG,KAAK,IAAmB,EAAE;YACtD,MAAM,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,eAAe,CAAA;YACrD,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAA;YACpE,YAAY,GAAG,KAAK,KAAK,SAAS;gBAChC,CAAC,CAAC,KAAK,KAAK,EAAE;gBACd,CAAC,CAAC,IAAI;oBACJ,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;oBAChC,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAA;YACrC,UAAU,EAAE,CAAA;QACd,CAAC,CAAA;QAED;;;;;WAKG;QACH,MAAM,oBAAoB,GAAG,KAAK,IAAmB,EAAE;YACrD,MAAM,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,cAAc,CAAA;YACpD,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAA;YACnE,YAAY,GAAG,KAAK,KAAK,SAAS;gBAChC,CAAC,CAAC,KAAK,KAAK,EAAE;gBACd,CAAC,CAAC,IAAI;oBACJ,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;oBACxB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;YAC7B,UAAU,EAAE,CAAA;QACd,CAAC,CAAA;QAED,qEAAqE;QACrE,2EAA2E;QAC3E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,UAAU,EAAE,CAAA;;YAChC,SAAS,EAAE,CAAA;IAClB,CAAC,CAAC,CAAA;AACJ,CAAC"}