@serjm/deepseek-code 0.4.2 → 0.4.5

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 (72) hide show
  1. package/CHANGELOG.md +75 -0
  2. package/README.md +72 -108
  3. package/README.ru.md +73 -108
  4. package/dist/api/index.d.ts +9 -0
  5. package/dist/api/index.d.ts.map +1 -1
  6. package/dist/api/index.js +65 -2
  7. package/dist/api/index.js.map +1 -1
  8. package/dist/cli/index.d.ts +1 -0
  9. package/dist/cli/index.d.ts.map +1 -1
  10. package/dist/cli/index.js +15 -8
  11. package/dist/cli/index.js.map +1 -1
  12. package/dist/cli/interactive.d.ts.map +1 -1
  13. package/dist/cli/interactive.js +65 -3
  14. package/dist/cli/interactive.js.map +1 -1
  15. package/dist/commands/index.d.ts.map +1 -1
  16. package/dist/commands/index.js +63 -41
  17. package/dist/commands/index.js.map +1 -1
  18. package/dist/config/defaults.d.ts.map +1 -1
  19. package/dist/config/defaults.js +8 -7
  20. package/dist/config/defaults.js.map +1 -1
  21. package/dist/core/agent-loop.d.ts +44 -2
  22. package/dist/core/agent-loop.d.ts.map +1 -1
  23. package/dist/core/agent-loop.js +318 -59
  24. package/dist/core/agent-loop.js.map +1 -1
  25. package/dist/core/i18n.d.ts +3 -0
  26. package/dist/core/i18n.d.ts.map +1 -1
  27. package/dist/core/i18n.js +9 -0
  28. package/dist/core/i18n.js.map +1 -1
  29. package/dist/core/metrics.d.ts +3 -1
  30. package/dist/core/metrics.d.ts.map +1 -1
  31. package/dist/core/metrics.js +34 -5
  32. package/dist/core/metrics.js.map +1 -1
  33. package/dist/tools/bash.d.ts.map +1 -1
  34. package/dist/tools/bash.js +299 -20
  35. package/dist/tools/bash.js.map +1 -1
  36. package/dist/tools/chrome.d.ts.map +1 -1
  37. package/dist/tools/chrome.js +1 -0
  38. package/dist/tools/chrome.js.map +1 -1
  39. package/dist/tools/glob.d.ts.map +1 -1
  40. package/dist/tools/glob.js +40 -3
  41. package/dist/tools/glob.js.map +1 -1
  42. package/dist/tools/grep.d.ts.map +1 -1
  43. package/dist/tools/grep.js +69 -13
  44. package/dist/tools/grep.js.map +1 -1
  45. package/dist/tools/read.d.ts.map +1 -1
  46. package/dist/tools/read.js +91 -0
  47. package/dist/tools/read.js.map +1 -1
  48. package/dist/tools/types.d.ts +21 -1
  49. package/dist/tools/types.d.ts.map +1 -1
  50. package/dist/tools/types.js +34 -0
  51. package/dist/tools/types.js.map +1 -1
  52. package/dist/ui/app.d.ts.map +1 -1
  53. package/dist/ui/app.js +234 -162
  54. package/dist/ui/app.js.map +1 -1
  55. package/dist/ui/chat-view.d.ts +24 -3
  56. package/dist/ui/chat-view.d.ts.map +1 -1
  57. package/dist/ui/chat-view.js +116 -58
  58. package/dist/ui/chat-view.js.map +1 -1
  59. package/dist/ui/input-bar.d.ts.map +1 -1
  60. package/dist/ui/input-bar.js +38 -4
  61. package/dist/ui/input-bar.js.map +1 -1
  62. package/dist/ui/setup-wizard.js +1 -1
  63. package/dist/ui/setup-wizard.js.map +1 -1
  64. package/dist/ui/status-bar.d.ts +5 -1
  65. package/dist/ui/status-bar.d.ts.map +1 -1
  66. package/dist/ui/status-bar.js +10 -4
  67. package/dist/ui/status-bar.js.map +1 -1
  68. package/dist/utils/logger.d.ts +15 -0
  69. package/dist/utils/logger.d.ts.map +1 -1
  70. package/dist/utils/logger.js +47 -0
  71. package/dist/utils/logger.js.map +1 -1
  72. package/package.json +3 -2
@@ -8,10 +8,17 @@ import { join } from 'node:path';
8
8
  import { platform, release, type } from 'node:os';
9
9
  import { MetricsCollector } from './metrics.js';
10
10
  import { hooksManager } from './hooks.js';
11
+ const DEFAULT_MAX_ITERATIONS = 200;
12
+ const DEFAULT_AUTO_COMPACT = {
13
+ enabled: true,
14
+ thresholdPercent: 70,
15
+ keepRecentMessages: 8,
16
+ minMessages: 18,
17
+ };
11
18
  /**
12
19
  * Build a dynamic system prompt with project context.
13
20
  */
14
- function buildSystemPrompt(cwd, approvalMode) {
21
+ export function buildSystemPrompt(cwd, approvalMode) {
15
22
  const osInfo = `${type()} ${release()} (${platform()})`;
16
23
  let projectInfo = '';
17
24
  if (cwd) {
@@ -81,43 +88,114 @@ function buildSystemPrompt(cwd, approvalMode) {
81
88
  if (locale === 'zh')
82
89
  responseLanguage = 'Chinese';
83
90
  const languageSection = `\n## Language\n- Respond in ${responseLanguage} unless the user explicitly asks otherwise.`;
84
- return `You are DeepSeek Code, an AI-powered CLI agent for software development.
85
-
86
- You have access to a set of tools that allow you to read, write, and edit files, run shell commands, search code, and use a real browser when rendered UI or web behavior matters.${projectInfo}${capabilitiesSection}${languageSection}
87
-
88
- ## Guidelines
89
- 1. **Plan first** — Before making changes, explore the codebase to understand the context.
90
- 2. **Use the right tool** — Choose the most appropriate tool for each task.
91
- 3. **Be precise** — When editing files, provide exact text matches.
92
- 4. **Verify** — After changes, run tests or linting to ensure correctness.
93
- 5. **Explain** — After completing a task, summarize what was done.
94
-
95
- ## Tool Usage
96
- - Read files with \`read_file\` before editing them
97
- - Search with \`grep_search\` or \`glob\` to find relevant code
98
- - Use \`run_shell_command\` to run build/test commands
99
- - Create or overwrite files with \`write_file\`
100
- - Make targeted edits with \`edit\` (prefer over write_file for small changes)
101
- - Use \`chrome\` proactively for UI flows, localhost app validation, rendered DOM state, screenshots, console logs, and network inspection
102
-
103
- When you need to run multiple tools, call them one at a time and wait for results before deciding the next step.
104
-
105
- ## Important
106
- - ALWAYS use absolute paths when referring to files. The project root is \`${cwd || 'the current working directory'}\`.
107
- - When asked to audit or explore the project, start with \`glob\`, \`grep_search\`, and targeted reads to discover structure.
108
- - If the task implies a browser or rendered UI check, do not wait for the user to explicitly say "open browser" before using \`chrome\`.
109
- - Do NOT guess file paths use \`glob\` or \`grep_search\` to discover them first.
110
- - When asked about your capabilities, answer based on the tools listed in the "Current Mode" section above. Do NOT claim you lack tools that are listed there but blocked by mode — instead explain that the current mode restricts them.
111
- - If the user asks "what tools do you have" or "what are your capabilities", refer to this prompt's tool list. If write_file or edit are listed as blocked, explain that they exist but are restricted in the current mode.
112
- - **CRITICAL: Never claim an action was performed without an actual tool call.** Do not say "opening browser", "running eval", "taking screenshot", "passing captcha", "navigating to page", or any other action unless you have actually called the corresponding tool and received a result. If a tool call was not made, state honestly that it was not executed. If a tool is blocked by the current mode, do not promise to use it — explain that it is unavailable in this mode. If a captcha or site protection is encountered, do not claim to bypass it — stop and report the issue honestly.
113
- - **CRITICAL: No post-factum reports without tool calls.** If Tool uses is 0 in the current response, do not claim "I checked the log", "I reviewed the previous run", "step X was successful", or any other retrospective analysis. You may only say: "I did not perform a check right now. Based on visible context I can assume..." Always separate findings into: **Verified** (confirmed by actual tool calls this turn), **Assumption** (inferred from visible context), **Not checked** (not examined this turn). Do not write "successful" for a step that was not actually executed or has no saved result. Use the \`/last-browser-test\` command to retrieve the last saved browser test report — do not reconstruct it from memory.
114
-
115
- ## Honest Reporting
116
- - Do not claim files were changed unless tool results include changed=true or files=\`<list>\`.
117
- - Do not claim a change was verified unless tool results include verified=true.
118
- - Do not claim tests/checks passed unless you actually ran the command and saw success.
119
- - If no files changed, say "No files changed".
120
- - Final report must match tool results and Execution Summary.`;
91
+ return `You are DeepSeek Code, an AI-powered CLI agent for software development.
92
+
93
+ You have access to a set of tools that allow you to read, write, and edit files, run shell commands, search code, and use a real browser when rendered UI or web behavior matters.${projectInfo}${capabilitiesSection}${languageSection}
94
+
95
+ ## Guidelines
96
+ 1. **Plan first** — Before making changes, explore the codebase to understand the context.
97
+ 2. **Use the right tool** — Choose the most appropriate tool for each task.
98
+ 3. **Be precise** — When editing files, provide exact text matches.
99
+ 4. **Verify** — After changes, run tests or linting to ensure correctness.
100
+ 5. **Explain** — After completing a task, summarize what was done.
101
+
102
+ ## Tool Usage
103
+ - Read files with \`read_file\` before editing them
104
+ - Search with \`grep_search\` or \`glob\` to find relevant code
105
+ - Use \`run_shell_command\` to run build/test commands
106
+ - Create or overwrite files with \`write_file\`
107
+ - Make targeted edits with \`edit\` (prefer over write_file for small changes)
108
+ - Use \`chrome\` proactively for UI flows, localhost app validation, rendered DOM state, screenshots, console logs, and network inspection
109
+
110
+ When you need to run multiple tools, call them one at a time and wait for results before deciding the next step.
111
+
112
+ ## Workspace Boundary Policy
113
+ - The current working directory is the active project workspace. Do not silently switch to another project path inside shell commands.
114
+ - If \`write_file\`, \`edit\`, or \`read_file\` says a path is outside the workspace, stop and report the mismatch. Do not bypass the restriction by using shell redirection, PowerShell here-strings, Python scripts, or temporary generator scripts.
115
+ - If the user intended a different folder, ask them to restart/open the CLI in that folder or confirm the correct workspace.
116
+ - Avoid generating project files through ad-hoc scripts such as \`gen_helper.py\`, \`diag.py\`, or \`fix_pkg.py\`. Use the file tools for file content and remove any temporary helper before the final report.
117
+
118
+ ## Windows Shell Policy
119
+ - The OS is listed in Project Context. If it is Windows or \`win32\`, write shell commands for PowerShell/cmd compatibility.
120
+ - On Windows, do not assume Unix tools exist. Avoid \`sed\`, \`head\`, \`tail\`, \`cat\`, \`grep\`, \`find\`, \`xargs\`, \`rm\`, \`touch\`, or Bash-specific syntax unless you first verified the command exists.
121
+ - On Windows, never use \`mkdir -p\`; it can create a literal \`-p\` directory. Use \`New-Item -ItemType Directory -Force <path>\` or \`mkdir <path>\` without \`-p\`.
122
+ - Prefer built-in tools over shell for repository inspection: use \`read_file\` for file content, \`grep_search\` for text search, and \`glob\` for file discovery.
123
+ - For Windows shell reads, prefer PowerShell commands such as \`Get-Content\`, \`Select-String\`, \`Get-ChildItem\`, \`Test-Path\`, \`Remove-Item\`, and \`New-Item\`.
124
+ - The shell tool automatically runs recognized PowerShell cmdlets through PowerShell on Windows. Plain commands such as \`npm\`, \`node\`, \`git\`, and \`npx\` run normally.
125
+ - Do not mix Bash/cmd chaining syntax with PowerShell cmdlets in the same command. Avoid \`cd path && Remove-Item ...\`; use separate tool calls or PowerShell-compatible \`Set-Location path; Remove-Item ...\` with explicit error checks.
126
+ - If a command fails because of shell incompatibility, retry with an OS-compatible command and report the failed attempt honestly.
127
+ - Never use broad process-kill commands such as \`taskkill /F /IM node.exe\`, \`Stop-Process -Name node\`, \`pkill node\`, or \`killall node\`. They can terminate the agent, the user's IDE terminal, and unrelated dev servers. Stop only a specific process you started and can identify by PID.
128
+
129
+ ## Important
130
+ - ALWAYS use absolute paths when referring to files. The project root is \`${cwd || 'the current working directory'}\`.
131
+ - When asked to audit or explore the project, start with \`glob\`, \`grep_search\`, and targeted reads to discover structure.
132
+ - If the task implies a browser or rendered UI check, do not wait for the user to explicitly say "open browser" before using \`chrome\`.
133
+ - Do NOT guess file paths — use \`glob\` or \`grep_search\` to discover them first.
134
+ - When asked about your capabilities, answer based on the tools listed in the "Current Mode" section above. Do NOT claim you lack tools that are listed there but blocked by mode — instead explain that the current mode restricts them.
135
+ - If the user asks "what tools do you have" or "what are your capabilities", refer to this prompt's tool list. If write_file or edit are listed as blocked, explain that they exist but are restricted in the current mode.
136
+ - **CRITICAL: Never claim an action was performed without an actual tool call.** Do not say "opening browser", "running eval", "taking screenshot", "passing captcha", "navigating to page", or any other action unless you have actually called the corresponding tool and received a result. If a tool call was not made, state honestly that it was not executed. If a tool is blocked by the current mode, do not promise to use it — explain that it is unavailable in this mode. If a captcha or site protection is encountered, do not claim to bypass it — stop and report the issue honestly.
137
+ - **CRITICAL: No post-factum reports without tool calls.** If Tool uses is 0 in the current response, do not claim "I checked the log", "I reviewed the previous run", "step X was successful", or any other retrospective analysis. You may only say: "I did not perform a check right now. Based on visible context I can assume..." Always separate findings into: **Verified** (confirmed by actual tool calls this turn), **Assumption** (inferred from visible context), **Not checked** (not examined this turn). Do not write "successful" for a step that was not actually executed or has no saved result. Use the \`/last-browser-test\` command to retrieve the last saved browser test report — do not reconstruct it from memory.
138
+
139
+ ## Honest Reporting
140
+ - Do not claim files were changed unless tool results include changed=true or files=\`<list>\`.
141
+ - Do not claim a change was verified unless tool results include verified=true.
142
+ - Do not claim tests/checks passed unless you actually ran the command and saw success.
143
+ - If no files changed, say "No files changed".
144
+ - Final report must match tool results and Execution Summary.
145
+ - Final report must start with a quality verdict: **Passed**, **Partial**, or **Failed**.
146
+ - If there were failed tool calls, failed browser/chrome calls, a budget/iteration stop, or skipped required acceptance checks, the verdict cannot be **Passed** unless every failure is explicitly classified as non-critical and the required check later succeeded.
147
+ - For web/UI projects, include a **Browser proof** block with the URL tested, page title, console error count, screenshot/rendered-state verdict, and whether Chrome/browser calls passed or failed. If browser proof was not performed, put it under **Not checked** and do not call the UI production-ready.
148
+ - For UI/product-design tasks, visual acceptance is required. If the rendered screenshot is blank, sparse, sidebar-only, broken, or clearly below the requested quality, say **Partial** or **Failed** and list the next visual iteration instead of claiming the project is complete.
149
+
150
+ ## Failed Tool Calls Policy
151
+ - If any tool/shell command failed during the run, mention it in the final report.
152
+ - Explain whether each failure was **critical** (blocked the task goal) or **non-critical** (retried successfully, fallback worked, or unrelated to the task).
153
+ - Do not write "all checks passed" or "everything succeeded" if there were failed tool calls, unless you clearly separate successful required checks from non-critical failed attempts.
154
+ - If a failed command was retried successfully, say so explicitly (e.g., "first attempt failed, retry succeeded").
155
+ - If a failed command produced a temporary file or other side effect, clean it up or mention it in the report.
156
+
157
+ ## Execution Policy
158
+ 1. **Minimal reading**: for a small task, first locate the target with as few reads as possible. Usually 1-2 read_file calls and 1 edit is enough. Do not run a broad grep/glob if you already know the file.
159
+ 2. **Do not repeat identical tool calls**: do not call read_file/grep_search/glob with the same arguments twice unless you have reason to believe the file changed.
160
+ 3. **Checks**: run lint/typecheck/build/test only after making changes. Do not run the same check multiple times without a new edit. If you did not run a check, do not claim it passed.
161
+ 4. **Temporary files**: do not create lint_out.txt, test_out.txt, err.txt, temp/debug scripts, one-off files like "1", or scratch files unnecessarily. Prefer command output in the tool result over redirected files. If you created a temporary file, remove it before the final report. Before the final report, check the working tree or otherwise verify no junk temp files remain. If cleanup failed or was not checked, say so explicitly.
162
+ 5. **Report**: the final report must match the real tool results. Only mention what you actually read, changed, or verified. If no files were changed, explicitly say "No files changed". If there were errors, report them — do not hide them.
163
+ 6. **Stop**: when the goal is achieved and checks are done — stop. Do not continue looking for extra issues without the user asking. Do not refactor beyond the task scope.
164
+
165
+ ## Source of Truth Policy
166
+ 1. **Do not invent** versions, release notes, dates, features, links, metrics, prices, or user/project facts.
167
+ 2. **Source files/data** provided by the user are the source of truth.
168
+ 3. **For release/version info**, use package.json, CHANGELOG.md, Git tags, npm, or GitHub Releases only if actually read/checked.
169
+ 4. **Unchecked facts** must be labeled as assumption or not verified.
170
+ 5. **Generated demo projects**: placeholder content is allowed only if explicitly requested.
171
+ 6. **Do not present** invented content as real project history.
172
+ 7. **If data is missing**, ask for it or write "Not verified" — never guess.
173
+
174
+ ## Project Acceptance Policy
175
+ 1. **For web projects**, build success alone is not enough. Verify that:
176
+ - install/build succeeds;
177
+ - dev server starts successfully;
178
+ - the main page opens in a browser;
179
+ - no framework error overlay (Nuxt/Vite/Next/etc.);
180
+ - browser console has no critical errors;
181
+ - the repository has an appropriate .gitignore for the stack;
182
+ - git status has no junk files (.idea/, node_modules/, .nuxt/, .output/, dist/, temp files, screenshots, logs).
183
+ 2. **Runtime/container verification is adaptive**, not Podman-only:
184
+ - first inspect available tooling and project files before choosing a path;
185
+ - if Docker Compose is available, use docker compose;
186
+ - if Podman/Podman Compose is available, use podman compose or podman-compose;
187
+ - if no container runtime is available, use the native package manager/dev server and report container verification as Not checked;
188
+ - do not spend many repeated attempts on one runtime. After two similar runtime failures, switch strategy or report the blocker.
189
+ 3. **For container-first projects**:
190
+ - keep one clear container entrypoint path (Dockerfile or Containerfile) and ensure compose references it correctly;
191
+ - verify build inside the container;
192
+ - expose the correct host/port;
193
+ - add .dockerignore or .containerignore as appropriate.
194
+ 4. **If browser, git-hygiene, or container verification was not performed**, do not claim the project is fully verified.
195
+ 5. **In the final report**, separate:
196
+ - Verified
197
+ - Not checked
198
+ - Known issues`;
121
199
  }
122
200
  /**
123
201
  * AgentLoop — manages the "request → tool call → result → next request" cycle.
@@ -134,13 +212,15 @@ export class AgentLoop extends EventEmitter {
134
212
  toolCallHistory = new Map();
135
213
  metrics = new MetricsCollector();
136
214
  iterationCount = 0;
215
+ followUpSeq = 0;
216
+ lastCompactedAtMessageCount = 0;
137
217
  constructor(config, options = {}) {
138
218
  super();
139
219
  this.api = new DeepSeekAPI(config);
140
220
  this.model = config.model;
141
221
  const defaultSystemPrompt = buildSystemPrompt(options.cwd || process.cwd(), options.approvalMode);
142
222
  this.options = {
143
- maxIterations: 100,
223
+ maxIterations: DEFAULT_MAX_ITERATIONS,
144
224
  toolTimeout: 30000,
145
225
  approvalMode: 'default',
146
226
  cwd: process.cwd(),
@@ -150,9 +230,13 @@ export class AgentLoop extends EventEmitter {
150
230
  onReasoningChunk: () => { },
151
231
  onResponse: () => { },
152
232
  onError: () => { },
233
+ onCompactStart: () => { },
234
+ onCompactProgress: () => { },
235
+ onCompactEnd: () => { },
153
236
  onApprovalRequest: async () => true,
154
237
  systemPrompt: defaultSystemPrompt,
155
238
  signal: undefined,
239
+ autoCompact: DEFAULT_AUTO_COMPACT,
156
240
  ...options,
157
241
  };
158
242
  this.tools = getToolsForMode(this.options.approvalMode);
@@ -173,6 +257,21 @@ export class AgentLoop extends EventEmitter {
173
257
  getMetrics() {
174
258
  return this.metrics;
175
259
  }
260
+ /**
261
+ * Add a user follow-up message during an active agent loop.
262
+ * The message will be picked up on the next API iteration.
263
+ * Does NOT start a new loop or reset state.
264
+ */
265
+ addUserFollowUp(content) {
266
+ const trimmed = content?.trim();
267
+ if (!trimmed)
268
+ return;
269
+ this.followUpSeq++;
270
+ this.messages.push({
271
+ role: 'user',
272
+ content: `User follow-up while task was running:\n${trimmed}`,
273
+ });
274
+ }
176
275
  /**
177
276
  * Set approval mode — updates which tools are available and rebuilds system prompt.
178
277
  */
@@ -223,37 +322,36 @@ export class AgentLoop extends EventEmitter {
223
322
  projectDir: this.options.cwd,
224
323
  messageCount: this.messages.length,
225
324
  }).catch(() => { });
226
- while (this.iterationCount < Math.min(this.options.maxIterations, this.options.budget?.maxIterations ?? this.options.maxIterations)) {
325
+ while (this.iterationCount < this.getIterationLimit()) {
227
326
  this.iterationCount++;
228
327
  // Budget: check maxToolCalls at top of each iteration
229
328
  if (this.checkBudgetHalt()) {
230
329
  return this.buildBudgetHaltMessage();
231
330
  }
232
331
  try {
332
+ await this.maybeAutoCompact();
233
333
  // Use streaming chat to get real-time output
234
334
  // Budget: check maxApiCalls before API call
235
335
  if (this.options.budget?.maxApiCalls && this.metrics.apiCalls >= this.options.budget.maxApiCalls) {
236
336
  return this.buildBudgetHaltMessage();
237
337
  }
338
+ // Cancelled before we even start the request — nothing to drain.
339
+ if (this.options.signal?.aborted) {
340
+ return this.finishCancelled();
341
+ }
342
+ const followUpSeqAtRequestStart = this.followUpSeq;
238
343
  const stream = this.api.streamChat(this.messages, openAITools);
239
344
  let responseContent = '';
240
345
  let toolCalls = [];
241
- // Check for cancellation
242
- if (this.options.signal?.aborted) {
243
- const cancelledMsg = i18n.t('agentCancelled');
244
- this.messages.push({ role: 'assistant', content: cancelledMsg });
245
- this.options.onResponse(cancelledMsg);
246
- this.finalizeSession();
247
- return cancelledMsg;
248
- }
346
+ // Cooperative cancellation: once aborted we stop acting on chunks but keep
347
+ // draining the stream to its natural end. Breaking out early would tear
348
+ // down the streaming socket mid-flight, which hard-crashed the process on
349
+ // Windows. The UI already shows the paused state immediately.
350
+ let cancelledDuringStream = false;
249
351
  for await (const chunk of stream) {
250
- // Check for cancellation during streaming
251
352
  if (this.options.signal?.aborted) {
252
- const cancelledMsg = i18n.t('agentCancelled');
253
- this.messages.push({ role: 'assistant', content: cancelledMsg });
254
- this.options.onResponse(cancelledMsg);
255
- this.finalizeSession();
256
- return cancelledMsg;
353
+ cancelledDuringStream = true;
354
+ continue;
257
355
  }
258
356
  if (chunk.type === 'usage' && chunk.usage) {
259
357
  this.metrics.recordUsage(chunk.usage);
@@ -279,6 +377,10 @@ export class AgentLoop extends EventEmitter {
279
377
  }
280
378
  }
281
379
  }
380
+ // Stream drained — if the user cancelled mid-stream, stop here cleanly.
381
+ if (cancelledDuringStream || this.options.signal?.aborted) {
382
+ return this.finishCancelled();
383
+ }
282
384
  // Budget: catch limits reached during streaming usage accounting.
283
385
  if (this.checkBudgetHalt()) {
284
386
  return this.buildBudgetHaltMessage();
@@ -394,7 +496,8 @@ export class AgentLoop extends EventEmitter {
394
496
  try {
395
497
  const toolResult = await this.executeTool(tc.function.name, args);
396
498
  const duration = Date.now() - startTime;
397
- this.metrics.recordToolCallEnd(tc.function.name, toolResult.success);
499
+ const toolLabel = this.buildToolCallLabel(tc.function.name, args);
500
+ this.metrics.recordToolCallEnd(tc.function.name, toolResult.success, toolLabel, toolResult.success ? undefined : toolResult.error);
398
501
  toolCallEvent.status = toolResult.success ? 'completed' : 'failed';
399
502
  toolCallEvent.result = toolResult.output;
400
503
  toolCallEvent.error = toolResult.error;
@@ -424,7 +527,8 @@ export class AgentLoop extends EventEmitter {
424
527
  catch (err) {
425
528
  const duration = Date.now() - startTime;
426
529
  const errorMsg = err.message;
427
- this.metrics.recordToolCallEnd(tc.function.name, false);
530
+ const toolLabel = this.buildToolCallLabel(tc.function.name, args);
531
+ this.metrics.recordToolCallEnd(tc.function.name, false, toolLabel, errorMsg);
428
532
  toolCallEvent.status = 'failed';
429
533
  toolCallEvent.error = errorMsg;
430
534
  toolCallEvent.durationMs = duration;
@@ -453,6 +557,11 @@ export class AgentLoop extends EventEmitter {
453
557
  const fallback = 'I have completed the requested actions. What else would you like me to do?';
454
558
  this.messages.push({ role: 'assistant', content: fallback });
455
559
  this.options.onResponse(fallback);
560
+ // Check if a follow-up arrived while the API request was streaming
561
+ if (this.followUpSeq > followUpSeqAtRequestStart) {
562
+ // Follow-up received during this request — continue loop instead of finishing
563
+ continue;
564
+ }
456
565
  this.finalizeSession();
457
566
  const summary = this.metrics.getSummary(this.model);
458
567
  this.options.onStreamChunk(summary);
@@ -460,6 +569,11 @@ export class AgentLoop extends EventEmitter {
460
569
  }
461
570
  this.messages.push({ role: 'assistant', content: responseContent });
462
571
  this.options.onResponse(responseContent);
572
+ // Check if a follow-up arrived while this API request was streaming
573
+ if (this.followUpSeq > followUpSeqAtRequestStart) {
574
+ // Follow-up received during the stream — continue loop, skip finalization
575
+ continue;
576
+ }
463
577
  // Output execution summary
464
578
  this.finalizeSession();
465
579
  const summary = this.metrics.getSummary(this.model);
@@ -468,20 +582,165 @@ export class AgentLoop extends EventEmitter {
468
582
  }
469
583
  catch (err) {
470
584
  const error = err;
585
+ // If the user cancelled, treat any resulting error as a clean stop.
586
+ if (this.options.signal?.aborted) {
587
+ return this.finishCancelled();
588
+ }
471
589
  this.options.onError(error);
472
590
  throw error;
473
591
  }
474
592
  }
475
593
  // Max iterations reached
476
- const timeoutMsg = `Агент достиг максимального числа итераций (${this.options.maxIterations}). Задача может быть не завершена.`;
594
+ const timeoutMsg = `Агент достиг максимального числа итераций (${this.getIterationLimit()}). Задача может быть не завершена.`;
477
595
  this.messages.push({ role: 'assistant', content: timeoutMsg });
478
596
  this.options.onResponse(timeoutMsg);
479
597
  this.finalizeSession();
598
+ const summary = this.metrics.getSummary(this.model);
599
+ this.options.onStreamChunk(summary);
480
600
  return timeoutMsg;
481
601
  }
602
+ /** Record a clean user-cancellation result and finalize the session. */
603
+ finishCancelled() {
604
+ const cancelledMsg = i18n.t('agentCancelled');
605
+ this.messages.push({ role: 'assistant', content: cancelledMsg });
606
+ this.options.onResponse(cancelledMsg);
607
+ this.finalizeSession();
608
+ return cancelledMsg;
609
+ }
610
+ getIterationLimit() {
611
+ const budgetLimit = this.options.budget?.maxIterations;
612
+ if (budgetLimit && budgetLimit > 0) {
613
+ return Math.min(this.options.maxIterations, budgetLimit);
614
+ }
615
+ return this.options.maxIterations;
616
+ }
617
+ getAutoCompactOptions() {
618
+ return {
619
+ ...DEFAULT_AUTO_COMPACT,
620
+ ...(this.options.autoCompact ?? {}),
621
+ };
622
+ }
623
+ async maybeAutoCompact() {
624
+ const compact = this.getAutoCompactOptions();
625
+ if (!compact.enabled)
626
+ return;
627
+ const contextPercent = this.metrics.getCurrentWindowPercent();
628
+ const beforeMessages = this.messages.length;
629
+ if (contextPercent < compact.thresholdPercent)
630
+ return;
631
+ if (beforeMessages < compact.minMessages)
632
+ return;
633
+ if (beforeMessages <= this.lastCompactedAtMessageCount + compact.keepRecentMessages)
634
+ return;
635
+ const startEvent = {
636
+ phase: 'start',
637
+ progress: 5,
638
+ contextPercent,
639
+ beforeMessages,
640
+ };
641
+ this.options.onCompactStart(startEvent);
642
+ this.options.onCompactProgress({ ...startEvent, phase: 'summarizing', progress: 35 });
643
+ try {
644
+ const result = await this.api.chat([
645
+ {
646
+ role: 'system',
647
+ content: 'Compress the conversation for continuation. Preserve concrete user goals, decisions, file paths, commands, failures, verification results, pending work, and constraints. Do not invent facts. Return concise bullet points.',
648
+ },
649
+ {
650
+ role: 'user',
651
+ content: this.buildCompactTranscript(),
652
+ },
653
+ ]);
654
+ if (result.usage) {
655
+ this.metrics.recordUsage(result.usage);
656
+ }
657
+ const summary = result.content.trim() || 'Auto-compaction completed, but the summarizer returned an empty summary.';
658
+ this.options.onCompactProgress({
659
+ phase: 'replacing',
660
+ progress: 80,
661
+ contextPercent,
662
+ beforeMessages,
663
+ });
664
+ const systemMsg = this.messages.find(m => m.role === 'system');
665
+ this.messages = [
666
+ ...(systemMsg ? [systemMsg] : []),
667
+ {
668
+ role: 'assistant',
669
+ content: `**Context Auto-Compacted**\n\nOriginal messages: ${beforeMessages}\nPrevious context: ${contextPercent}% of window\n\n${summary}`,
670
+ },
671
+ ];
672
+ this.lastCompactedAtMessageCount = this.messages.length;
673
+ this.options.onCompactEnd({
674
+ phase: 'done',
675
+ progress: 100,
676
+ contextPercent,
677
+ beforeMessages,
678
+ afterMessages: this.messages.length,
679
+ });
680
+ }
681
+ catch (err) {
682
+ this.options.onCompactEnd({
683
+ phase: 'failed',
684
+ progress: 100,
685
+ contextPercent,
686
+ beforeMessages,
687
+ error: err.message,
688
+ });
689
+ throw err;
690
+ }
691
+ }
692
+ buildCompactTranscript() {
693
+ return this.messages
694
+ .filter(message => message.role !== 'system')
695
+ .map((message, index) => {
696
+ const content = typeof message.content === 'string'
697
+ ? message.content
698
+ : JSON.stringify(message.content);
699
+ const toolCalls = message.tool_calls?.length ? ` tool_calls=${message.tool_calls.map(tc => tc.function.name).join(',')}` : '';
700
+ return `#${index + 1} ${message.role}${toolCalls}\n${content.slice(0, 8000)}`;
701
+ })
702
+ .join('\n\n---\n\n');
703
+ }
482
704
  /**
483
- * Parse tool arguments from JSON string.
705
+ * Build a short human-readable label for a tool call.
706
+ * Used in Execution Summary to identify which files/commands failed.
484
707
  */
708
+ buildToolCallLabel(toolName, args) {
709
+ try {
710
+ switch (toolName) {
711
+ case 'run_shell_command': {
712
+ const cmd = args.command ?? args.cmd ?? '';
713
+ if (typeof cmd === 'string' && cmd.length > 0) {
714
+ return cmd.length > 120 ? cmd.slice(0, 117) + '...' : cmd;
715
+ }
716
+ break;
717
+ }
718
+ case 'read_file':
719
+ case 'edit':
720
+ case 'write_file': {
721
+ const path = args.path ?? args.file_path ?? args.file ?? '';
722
+ if (typeof path === 'string' && path.length > 0) {
723
+ return path.length > 120 ? path.slice(0, 117) + '...' : path;
724
+ }
725
+ break;
726
+ }
727
+ case 'grep_search':
728
+ case 'glob': {
729
+ const pattern = args.pattern ?? '';
730
+ if (typeof pattern === 'string' && pattern.length > 0) {
731
+ return pattern.length > 120 ? pattern.slice(0, 117) + '...' : pattern;
732
+ }
733
+ break;
734
+ }
735
+ }
736
+ // Fallback: serialize first meaningful string value
737
+ const fallback = JSON.stringify(args);
738
+ return fallback.length > 120 ? fallback.slice(0, 117) + '...' : fallback;
739
+ }
740
+ catch {
741
+ return String(args);
742
+ }
743
+ }
485
744
  /**
486
745
  * Check if any budget limit has been exceeded (called at top of each iteration).
487
746
  * Returns the field name that exceeded or null if all good.
@@ -589,7 +848,7 @@ export class AgentLoop extends EventEmitter {
589
848
  };
590
849
  }
591
850
  try {
592
- const result = await def.tool.execute(args);
851
+ const result = await def.tool.execute(args, this.options.signal);
593
852
  return {
594
853
  success: result.success,
595
854
  output: result.output,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../../src/core/agent-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../../src/core/agent-loop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,iBAAiB,CAAA;AAC/D,OAAO,EAAkE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAC/H,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAmFzC,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAClC,MAAM,oBAAoB,GAAiC;IACzD,OAAO,EAAE,IAAI;IACb,gBAAgB,EAAE,EAAE;IACpB,kBAAkB,EAAE,CAAC;IACrB,WAAW,EAAE,EAAE;CAChB,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAE,GAAY,EAAE,YAA2B;IAC1E,MAAM,MAAM,GAAG,GAAG,IAAI,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,GAAG,CAAA;IACvD,IAAI,WAAW,GAAG,EAAE,CAAA;IAEpB,IAAI,GAAG,EAAE,CAAC;QACR,WAAW,IAAI,wBAAwB,CAAA;QACvC,WAAW,IAAI,8BAA8B,GAAG,MAAM,CAAA;QACtD,WAAW,IAAI,aAAa,MAAM,IAAI,CAAA;QAEtC,4DAA4D;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;QACzC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;gBACtD,IAAI,GAAG,CAAC,IAAI;oBAAE,WAAW,IAAI,kBAAkB,GAAG,CAAC,IAAI,IAAI,CAAA;gBAC3D,IAAI,GAAG,CAAC,OAAO;oBAAE,WAAW,IAAI,kBAAkB,GAAG,CAAC,OAAO,IAAI,CAAA;gBACjE,IAAI,GAAG,CAAC,WAAW;oBAAE,WAAW,IAAI,sBAAsB,GAAG,CAAC,WAAW,IAAI,CAAA;YAC/E,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;YACzD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC7F,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACzF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,WAAW,IAAI,uCAAuC,CAAA;gBACtD,WAAW,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC7C,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBACxB,WAAW,IAAI,eAAe,OAAO,CAAC,MAAM,GAAG,EAAE,eAAe,CAAA;gBAClE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;QAED,gCAAgC;QAChC,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAAa,CAAC,CAAA;QAC/G,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACtE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,WAAW,IAAI,sBAAsB,CAAA;YACrC,WAAW,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjE,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAA;IAClC,MAAM,IAAI,GAAG,YAAY,IAAI,SAAS,CAAA;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;IAC/B,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAE9D,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACvC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAA;QAClB,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAC3C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kCAAkC,CAAA;QAChE,OAAO,SAAS,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,WAAW,GAAG,IAAI,EAAE,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,MAAM,mBAAmB,GAAG;QAC1B,sBAAsB,IAAI,EAAE;QAC5B,EAAE;QACF,GAAG,aAAa;KACjB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEZ,IAAI,gBAAgB,GAAG,SAAS,CAAA;IAChC,IAAI,MAAM,KAAK,IAAI;QAAE,gBAAgB,GAAG,SAAS,CAAA;IACjD,IAAI,MAAM,KAAK,IAAI;QAAE,gBAAgB,GAAG,SAAS,CAAA;IAEjD,MAAM,eAAe,GAAG,+BAA+B,gBAAgB,6CAA6C,CAAA;IAEpH,OAAO;;oLAE2K,WAAW,GAAG,mBAAmB,GAAG,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6EAqC1J,GAAG,IAAI,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoEjG,CAAA;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,SAAU,SAAQ,YAAY;IACjC,GAAG,CAAa;IAChB,KAAK,CAAQ;IACb,KAAK,CAAkB;IACvB,OAAO,CAAuE;IAC9E,QAAQ,GAAkB,EAAE,CAAA;IAC5B,eAAe,GAA+B,IAAI,GAAG,EAAE,CAAA;IACvD,OAAO,GAAqB,IAAI,gBAAgB,EAAE,CAAA;IAClD,cAAc,GAAG,CAAC,CAAA;IAClB,WAAW,GAAG,CAAC,CAAA;IACf,2BAA2B,GAAG,CAAC,CAAA;IAEvC,YAAa,MAAsB,EAAE,UAA4B,EAAE;QACjE,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,GAAG,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,CAAA;QAClC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;QACzB,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;QACjG,IAAI,CAAC,OAAO,GAAG;YACb,aAAa,EAAE,sBAAsB;YACrC,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,SAAS;YACvB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;YACpB,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;YACtB,aAAa,EAAE,GAAG,EAAE,GAAE,CAAC;YACvB,gBAAgB,EAAE,GAAG,EAAE,GAAE,CAAC;YAC1B,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;YACpB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;YACjB,cAAc,EAAE,GAAG,EAAE,GAAE,CAAC;YACxB,iBAAiB,EAAE,GAAG,EAAE,GAAE,CAAC;YAC3B,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;YACtB,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;YACnC,YAAY,EAAE,mBAAmB;YACjC,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,oBAAoB;YACjC,GAAG,OAAO;SACmB,CAAA;QAC/B,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IACzD,CAAC;IAED,sCAAsC;IACtC,WAAW;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3B,CAAC;IAED,oDAAoD;IACpD,kBAAkB;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,sCAAsC;IACtC,iBAAiB;QACf,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED,iDAAiD;IACjD,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAE,OAAe;QAC9B,MAAM,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,CAAA;QAC/B,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,IAAI,CAAC,WAAW,EAAE,CAAA;QAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,2CAA2C,OAAO,EAAE;SAC9D,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,eAAe,CAAE,IAAkB;QACjC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAA;QAChC,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;QAClC,+CAA+C;QAC/C,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACrE,yCAAyC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;QAChE,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAA;QAChF,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAE,MAAc,EAAE,OAAuB;QAChD,IAAI,CAAC,cAAc,GAAG,CAAC,CAAA;QACvB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAA;QAE5B,2BAA2B;QAC3B,IAAI,CAAC,QAAQ,GAAG;YACd,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACtD,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAClB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;SAClC,CAAA;QAED,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAE,QAAuB;QACjD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3B,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,WAAW;QACvB,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAE7C,6CAA6C;QAC7C,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAEjD,iCAAiC;QACjC,MAAM,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAC3C,KAAK,EAAE,gBAAgB;YACvB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;YAC5B,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;SACnC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QAElB,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC,cAAc,EAAE,CAAA;YAErB,sDAAsD;YACtD,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAA;YACtC,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBAE7B,6CAA6C;gBAC7C,4CAA4C;gBAC5C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;oBACjG,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAA;gBACtC,CAAC;gBAED,iEAAiE;gBACjE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBACjC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;gBAC/B,CAAC;gBAED,MAAM,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAA;gBAClD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;gBAC9D,IAAI,eAAe,GAAG,EAAE,CAAA;gBACxB,IAAI,SAAS,GAIR,EAAE,CAAA;gBAEP,2EAA2E;gBAC3E,wEAAwE;gBACxE,0EAA0E;gBAC1E,8DAA8D;gBAC9D,IAAI,qBAAqB,GAAG,KAAK,CAAA;gBAEjC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACjC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;wBACjC,qBAAqB,GAAG,IAAI,CAAA;wBAC5B,SAAQ;oBACV,CAAC;oBAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAC1C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;oBACvC,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBACtC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;oBAC9C,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACjC,eAAe,IAAI,KAAK,CAAC,OAAO,CAAA;wBAChC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;oBAC3C,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBACrC,gCAAgC;wBAChC,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BACvC,SAAS,CAAC,IAAI,CAAC;gCACb,EAAE,EAAE,KAAK,CAAC,UAAU;gCACpB,IAAI,EAAE,UAAU;gCAChB,QAAQ,EAAE;oCACR,IAAI,EAAE,KAAK,CAAC,QAAQ;oCACpB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;iCACjD;6BACF,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,wEAAwE;gBACxE,IAAI,qBAAqB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBAC1D,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;gBAC/B,CAAC;gBAED,kEAAkE;gBAClE,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;oBAC3B,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAA;gBACtC,CAAC;gBAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;oBACxF,mEAAmE;oBACnE,qDAAqD;oBACrD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;wBACjG,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAA;oBACtC,CAAC;oBAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;oBACtE,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;wBACzB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;wBAC9C,iEAAiE;wBACjE,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;4BAC3B,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAA;wBACtC,CAAC;oBACH,CAAC;oBAED,IAAI,cAAc,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpE,SAAS,GAAG,cAAc,CAAC,SAAS,CAAA;wBACpC,eAAe,GAAG,cAAc,CAAC,OAAO,IAAI,EAAE,CAAA;oBAChD,CAAC;yBAAM,IAAI,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9E,eAAe,GAAG,cAAc,CAAC,OAAO,CAAA;wBACxC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;oBAC7C,CAAC;yBAAM,CAAC;wBACN,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAA;wBAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;wBAC5D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;wBACjC,OAAO,QAAQ,CAAA;oBACjB,CAAC;gBACH,CAAC;gBAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,mDAAmD;oBACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACjB,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,eAAe;wBACxB,UAAU,EAAE,SAAS;qBACtB,CAAC,CAAA;oBAEF,yBAAyB;oBACzB,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;wBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;wBACvD,MAAM,aAAa,GAAkB;4BACnC,EAAE,EAAE,EAAE,CAAC,EAAE;4BACT,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI;4BACtB,SAAS,EAAE,IAAI;4BACf,MAAM,EAAE,SAAS;yBAClB,CAAA;wBAED,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;wBAC9C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;wBAEtC,2DAA2D;wBAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;wBACvD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;4BACzB,sDAAsD;4BACtD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gCACjC,aAAa,CAAC,MAAM,GAAG,UAAU,CAAA;gCACjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;gCAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oCACjB,IAAI,EAAE,MAAM;oCACZ,OAAO,EAAE,cAAc,EAAE,CAAC,QAAQ,CAAC,IAAI,kCAAkC;oCACzE,YAAY,EAAE,EAAE,CAAC,EAAE;iCACpB,CAAC,CAAA;gCACF,SAAQ;4BACV,CAAC;4BACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CACnD,EAAE,CAAC,QAAQ,CAAC,IAAI,EAChB,IAAI,EACJ,QAAQ,CACT,CAAA;4BACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gCACd,aAAa,CAAC,MAAM,GAAG,UAAU,CAAA;gCACjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;gCAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oCACjB,IAAI,EAAE,MAAM;oCACZ,OAAO,EAAE,cAAc,EAAE,CAAC,QAAQ,CAAC,IAAI,qBAAqB;oCAC5D,YAAY,EAAE,EAAE,CAAC,EAAE;iCACpB,CAAC,CAAA;gCACF,SAAQ;4BACV,CAAC;4BACD,mEAAmE;4BACnE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gCACjC,aAAa,CAAC,MAAM,GAAG,UAAU,CAAA;gCACjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;gCAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oCACjB,IAAI,EAAE,MAAM;oCACZ,OAAO,EAAE,cAAc,EAAE,CAAC,QAAQ,CAAC,IAAI,2BAA2B;oCAClE,YAAY,EAAE,EAAE,CAAC,EAAE;iCACpB,CAAC,CAAA;gCACF,SAAQ;4BACV,CAAC;wBACH,CAAC;wBAED,6CAA6C;wBAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;4BACpG,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAA;wBACtC,CAAC;wBAED,6BAA6B;wBAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;4BAC1E,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;4BAChE,IAAI,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gCACtD,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAA;4BACtC,CAAC;wBACH,CAAC;wBAED,iCAAiC;wBACjC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,IAAI,CAAC,mBAAmB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC/G,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,mBAAmB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;4BAC3F,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gCACvD,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAA;4BACtC,CAAC;wBACH,CAAC;wBAED,mBAAmB;wBACnB,aAAa,CAAC,MAAM,GAAG,SAAS,CAAA;wBAChC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;wBACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;wBAC9C,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;wBAElD,MAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAA;wBACzC,IAAI,CAAC;4BACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;4BACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;4BACvC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;4BAEjE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;4BAElI,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAA;4BAClE,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;4BACxC,aAAa,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAA;4BACtC,aAAa,CAAC,UAAU,GAAG,QAAQ,CAAA;4BACnC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;4BAC1C,aAAa,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;4BAC5C,aAAa,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAA;4BACpD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;4BAE9C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gCACxB,UAAU,EAAE,EAAE,CAAC,EAAE;gCACjB,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI;gCAC1B,OAAO,EAAE,UAAU,CAAC,OAAO;gCAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;gCACzB,UAAU,EAAE,QAAQ;gCACpB,KAAK,EAAE,UAAU,CAAC,KAAK;6BACxB,CAAC,CAAA;4BAEF,qCAAqC;4BACrC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gCACjB,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC;gCACpD,YAAY,EAAE,EAAE,CAAC,EAAE;6BACpB,CAAC,CAAA;4BAEF,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;gCAC3B,OAAO,IAAI,CAAC,sBAAsB,EAAE,CAAA;4BACtC,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;4BACvC,MAAM,QAAQ,GAAI,GAAa,CAAC,OAAO,CAAA;4BACvC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;4BAEjE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;4BAE5E,aAAa,CAAC,MAAM,GAAG,QAAQ,CAAA;4BAC/B,aAAa,CAAC,KAAK,GAAG,QAAQ,CAAA;4BAC9B,aAAa,CAAC,UAAU,GAAG,QAAQ,CAAA;4BACnC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;4BAE9C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gCACxB,UAAU,EAAE,EAAE,CAAC,EAAE;gCACjB,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI;gCAC1B,OAAO,EAAE,KAAK;gCACd,MAAM,EAAE,EAAE;gCACV,UAAU,EAAE,QAAQ;gCACpB,KAAK,EAAE,QAAQ;6BAChB,CAAC,CAAA;4BAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gCACjB,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,IAAI,sBAAsB,QAAQ,EAAE;gCAClE,YAAY,EAAE,EAAE,CAAC,EAAE;6BACpB,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC;oBAED,0CAA0C;oBAC1C,SAAQ;gBACV,CAAC;gBAED,gCAAgC;gBAChC,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5D,yFAAyF;oBACzF,MAAM,QAAQ,GAAG,4EAA4E,CAAA;oBAC7F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAA;oBAC5D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;oBACjC,mEAAmE;oBACnE,IAAI,IAAI,CAAC,WAAW,GAAG,yBAAyB,EAAE,CAAC;wBACjD,8EAA8E;wBAC9E,SAAQ;oBACV,CAAC;oBACD,IAAI,CAAC,eAAe,EAAE,CAAA;oBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACnD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;oBACnC,OAAO,QAAQ,CAAA;gBACjB,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAA;gBACnE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;gBAExC,oEAAoE;gBACpE,IAAI,IAAI,CAAC,WAAW,GAAG,yBAAyB,EAAE,CAAC;oBACjD,0EAA0E;oBAC1E,SAAQ;gBACV,CAAC;gBAED,2BAA2B;gBAC3B,IAAI,CAAC,eAAe,EAAE,CAAA;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACnD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;gBAEnC,OAAO,eAAe,CAAA;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,GAAY,CAAA;gBAC1B,oEAAoE;gBACpE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBACjC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAA;gBAC/B,CAAC;gBACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAC3B,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,UAAU,GAAG,8CAA8C,IAAI,CAAC,iBAAiB,EAAE,oCAAoC,CAAA;QAC7H,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;QAC9D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QACnC,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QACnC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,wEAAwE;IAChE,eAAe;QACrB,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;QAC7C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAA;QAChE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;QACrC,IAAI,CAAC,eAAe,EAAE,CAAA;QACtB,OAAO,YAAY,CAAA;IACrB,CAAC;IAEO,iBAAiB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAA;QACtD,IAAI,WAAW,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAA;QAC1D,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAA;IACnC,CAAC;IAEO,qBAAqB;QAC3B,OAAO;YACL,GAAG,oBAAoB;YACvB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;SACpC,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAC5C,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,OAAM;QAE5B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAA;QAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;QAC3C,IAAI,cAAc,GAAG,OAAO,CAAC,gBAAgB;YAAE,OAAM;QACrD,IAAI,cAAc,GAAG,OAAO,CAAC,WAAW;YAAE,OAAM;QAChD,IAAI,cAAc,IAAI,IAAI,CAAC,2BAA2B,GAAG,OAAO,CAAC,kBAAkB;YAAE,OAAM;QAE3F,MAAM,UAAU,GAAqB;YACnC,KAAK,EAAE,OAAO;YACd,QAAQ,EAAE,CAAC;YACX,cAAc;YACd,cAAc;SACf,CAAA;QACD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QACvC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;QAErF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBACjC;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,8NAA8N;iBACxO;gBACD;oBACE,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE;iBACvC;aACF,CAAC,CAAA;YAEF,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACxC,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,0EAA0E,CAAA;YACnH,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;gBAC7B,KAAK,EAAE,WAAW;gBAClB,QAAQ,EAAE,EAAE;gBACZ,cAAc;gBACd,cAAc;aACf,CAAC,CAAA;YAEF,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;YAC9D,IAAI,CAAC,QAAQ,GAAG;gBACd,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC;oBACE,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,oDAAoD,cAAc,uBAAuB,cAAc,kBAAkB,OAAO,EAAE;iBAC5I;aACF,CAAA;YACD,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;YAEvD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gBACxB,KAAK,EAAE,MAAM;gBACb,QAAQ,EAAE,GAAG;gBACb,cAAc;gBACd,cAAc;gBACd,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;aACpC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;gBACxB,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,GAAG;gBACb,cAAc;gBACd,cAAc;gBACd,KAAK,EAAG,GAAa,CAAC,OAAO;aAC9B,CAAC,CAAA;YACF,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IAEO,sBAAsB;QAC5B,OAAO,IAAI,CAAC,QAAQ;aACjB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;aAC5C,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACtB,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;gBACjD,CAAC,CAAC,OAAO,CAAC,OAAO;gBACjB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YACnC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;YAC7H,OAAO,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAA;QAC/E,CAAC,CAAC;aACD,IAAI,CAAC,aAAa,CAAC,CAAA;IACxB,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAE,QAAgB,EAAE,IAA6B;QACzE,IAAI,CAAC;YACH,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,mBAAmB,CAAC,CAAC,CAAC;oBACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,IAAI,EAAE,CAAA;oBAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9C,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA;oBAC3D,CAAC;oBACD,MAAK;gBACP,CAAC;gBACD,KAAK,WAAW,CAAC;gBACjB,KAAK,MAAM,CAAC;gBACZ,KAAK,YAAY,CAAC,CAAC,CAAC;oBAClB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;oBAC3D,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAChD,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;oBAC9D,CAAC;oBACD,MAAK;gBACP,CAAC;gBACD,KAAK,aAAa,CAAC;gBACnB,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;oBAClC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtD,OAAO,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;oBACvE,CAAC;oBACD,MAAK;gBACP,CAAC;YACH,CAAC;YACD,oDAAoD;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACrC,OAAO,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAA;QAC1E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QAEzB,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY;YAAE,OAAO,IAAI,CAAA;QACrF,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAW;YAAE,OAAO,IAAI,CAAA;QAClF,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,aAAa;YAAE,OAAO,IAAI,CAAA;QAEpF,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;OAGG;IACK,sBAAsB;QAC5B,IAAI,CAAC,eAAe,EAAE,CAAA;QAEtB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAO,CAAA;QAEnC,2BAA2B;QAC3B,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,IAAI,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC,CAAA;QAChF,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;QAC7E,CAAC;QACD,IAAI,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YACxE,OAAO,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC,CAAA;QAC/E,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAA;QAEnF,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;QACxC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACzD,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC;aAC3C,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,MAAM,GAAG,GAAG;YACV,2CAA2C,SAAS,GAAG;YACvD,gBAAgB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACvC,iBAAiB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YACzC,iBAAiB,QAAQ,EAAE;YAC3B,iBAAiB,IAAI,CAAC,cAAc,EAAE;YACtC,EAAE;YACF,oEAAoE;SACrE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEZ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAA;QACvD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;QAEtC,2BAA2B;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACnD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAEnC,OAAO,GAAG,CAAA;IACZ,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;QACpE,CAAC;IACH,CAAC;IAED,kBAAkB;IACV,cAAc,CAAE,OAAe;QACrC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAA;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAA;QACX,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAE,QAAgB;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAA;QAC1D,OAAO,GAAG,EAAE,QAAQ,IAAI,QAAQ,CAAA;IAClC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,IAAY,EACZ,IAA6B;QAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QACtD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,4BAA4B,IAAI,GAAG,EAAE,CAAA;QACnF,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC;YACH,IAAI,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,kCAAkC,IAAI,MAAO,GAAa,CAAC,OAAO,EAAE;aAC5E,CAAA;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAChE,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAG,GAAa,CAAC,OAAO;aAC9B,CAAA;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CACtB,MAA4H,EAC5H,UAAkB;QAElB,MAAM,eAAe,GAAG,KAAK,CAAA,CAAC,2BAA2B;QACzD,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;QAE1B,IAAI,MAAM,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YACpC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;gBACvC,sBAAsB,MAAM,CAAC,MAAM,GAAG,eAAe,SAAS,CAAA;QAClE,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,yBAAyB,UAAU,SAAS,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAA;QACpF,CAAC;QAED,IAAI,SAAS,GAAG,gBAAgB,UAAU,SAAS,MAAM,EAAE,CAAA;QAE3D,gFAAgF;QAChF,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7H,MAAM,SAAS,GAAa,EAAE,CAAA;YAC9B,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS;gBAAE,SAAS,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;YAC7E,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAAE,SAAS,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAA;YAChF,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACnH,SAAS,IAAI,sBAAsB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QAC5D,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CACF"}
@@ -71,6 +71,9 @@ interface LocaleStrings {
71
71
  apiErrorNetwork: string;
72
72
  apiErrorTimeout: string;
73
73
  ctrlCHint: string;
74
+ agentPaused: string;
75
+ agentPausedHint: string;
76
+ paused: string;
74
77
  }
75
78
  export declare class I18n {
76
79
  private locale;