@google/gemini-cli-core 0.37.0-preview.2 → 0.38.0-preview.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 (449) hide show
  1. package/README.md +58 -50
  2. package/dist/docs/changelogs/index.md +25 -0
  3. package/dist/docs/changelogs/latest.md +353 -362
  4. package/dist/docs/changelogs/preview.md +399 -366
  5. package/dist/docs/cli/plan-mode.md +1 -0
  6. package/dist/docs/cli/sandbox.md +52 -0
  7. package/dist/docs/cli/settings.md +17 -14
  8. package/dist/docs/core/remote-agents.md +14 -18
  9. package/dist/docs/core/subagents.md +63 -27
  10. package/dist/docs/get-started/authentication.md +2 -2
  11. package/dist/docs/get-started/installation.md +7 -0
  12. package/dist/docs/hooks/index.md +6 -6
  13. package/dist/docs/reference/configuration.md +41 -11
  14. package/dist/docs/reference/keyboard-shortcuts.md +14 -9
  15. package/dist/docs/reference/tools.md +4 -4
  16. package/dist/docs/release-confidence.md +0 -6
  17. package/dist/docs/releases.md +4 -0
  18. package/dist/docs/tools/mcp-server.md +3 -3
  19. package/dist/docs/tools/web-fetch.md +3 -0
  20. package/dist/src/agent/agent-session.test.js +14 -6
  21. package/dist/src/agent/agent-session.test.js.map +1 -1
  22. package/dist/src/agent/event-translator.js +2 -1
  23. package/dist/src/agent/event-translator.js.map +1 -1
  24. package/dist/src/agent/event-translator.test.js +1 -0
  25. package/dist/src/agent/event-translator.test.js.map +1 -1
  26. package/dist/src/agent/legacy-agent-session.d.ts +47 -4
  27. package/dist/src/agent/legacy-agent-session.js +38 -15
  28. package/dist/src/agent/legacy-agent-session.js.map +1 -1
  29. package/dist/src/agent/legacy-agent-session.test.js +60 -73
  30. package/dist/src/agent/legacy-agent-session.test.js.map +1 -1
  31. package/dist/src/agent/mock.js +7 -1
  32. package/dist/src/agent/mock.js.map +1 -1
  33. package/dist/src/agent/mock.test.js +1 -1
  34. package/dist/src/agent/mock.test.js.map +1 -1
  35. package/dist/src/agent/types.d.ts +34 -1
  36. package/dist/src/agents/agent-scheduler.js +6 -1
  37. package/dist/src/agents/agent-scheduler.js.map +1 -1
  38. package/dist/src/agents/agent-scheduler.test.js +38 -0
  39. package/dist/src/agents/agent-scheduler.test.js.map +1 -1
  40. package/dist/src/agents/auth-provider/api-key-provider.test.js +18 -2
  41. package/dist/src/agents/auth-provider/api-key-provider.test.js.map +1 -1
  42. package/dist/src/agents/auth-provider/value-resolver.test.js +30 -0
  43. package/dist/src/agents/auth-provider/value-resolver.test.js.map +1 -1
  44. package/dist/src/agents/browser/analyzeScreenshot.js +36 -6
  45. package/dist/src/agents/browser/analyzeScreenshot.js.map +1 -1
  46. package/dist/src/agents/browser/analyzeScreenshot.test.js +35 -3
  47. package/dist/src/agents/browser/analyzeScreenshot.test.js.map +1 -1
  48. package/dist/src/agents/browser/browserAgentFactory.d.ts +8 -0
  49. package/dist/src/agents/browser/browserAgentFactory.js +174 -118
  50. package/dist/src/agents/browser/browserAgentFactory.js.map +1 -1
  51. package/dist/src/agents/browser/browserAgentFactory.test.js +70 -1
  52. package/dist/src/agents/browser/browserAgentFactory.test.js.map +1 -1
  53. package/dist/src/agents/browser/browserAgentInvocation.js +29 -2
  54. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  55. package/dist/src/agents/browser/browserAgentInvocation.test.js +51 -5
  56. package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
  57. package/dist/src/agents/browser/browserManager.d.ts +38 -0
  58. package/dist/src/agents/browser/browserManager.js +117 -6
  59. package/dist/src/agents/browser/browserManager.js.map +1 -1
  60. package/dist/src/agents/browser/browserManager.test.js +156 -2
  61. package/dist/src/agents/browser/browserManager.test.js.map +1 -1
  62. package/dist/src/agents/browser/modelAvailability.d.ts +5 -0
  63. package/dist/src/agents/browser/modelAvailability.js +12 -0
  64. package/dist/src/agents/browser/modelAvailability.js.map +1 -1
  65. package/dist/src/agents/local-executor.d.ts +5 -0
  66. package/dist/src/agents/local-executor.js +98 -181
  67. package/dist/src/agents/local-executor.js.map +1 -1
  68. package/dist/src/agents/local-executor.test.js +386 -101
  69. package/dist/src/agents/local-executor.test.js.map +1 -1
  70. package/dist/src/agents/memory-manager-agent.js +1 -0
  71. package/dist/src/agents/memory-manager-agent.js.map +1 -1
  72. package/dist/src/agents/memory-manager-agent.test.js +6 -0
  73. package/dist/src/agents/memory-manager-agent.test.js.map +1 -1
  74. package/dist/src/agents/registry.js +3 -10
  75. package/dist/src/agents/registry.js.map +1 -1
  76. package/dist/src/agents/skill-extraction-agent.d.ts +24 -0
  77. package/dist/src/agents/skill-extraction-agent.js +269 -0
  78. package/dist/src/agents/skill-extraction-agent.js.map +1 -0
  79. package/dist/src/agents/types.d.ts +11 -0
  80. package/dist/src/code_assist/admin/admin_controls.js +1 -1
  81. package/dist/src/code_assist/admin/admin_controls.js.map +1 -1
  82. package/dist/src/code_assist/experiments/flagNames.d.ts +1 -0
  83. package/dist/src/code_assist/experiments/flagNames.js +1 -0
  84. package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
  85. package/dist/src/code_assist/server.js +1 -1
  86. package/dist/src/code_assist/server.js.map +1 -1
  87. package/dist/src/commands/memory.js +1 -1
  88. package/dist/src/commands/memory.js.map +1 -1
  89. package/dist/src/config/config.d.ts +34 -31
  90. package/dist/src/config/config.js +101 -38
  91. package/dist/src/config/config.js.map +1 -1
  92. package/dist/src/config/config.test.js +102 -15
  93. package/dist/src/config/config.test.js.map +1 -1
  94. package/dist/src/config/extensions/integrity.js +1 -1
  95. package/dist/src/config/extensions/integrity.js.map +1 -1
  96. package/dist/src/config/projectRegistry.js +5 -3
  97. package/dist/src/config/projectRegistry.js.map +1 -1
  98. package/dist/src/config/scoped-config.d.ts +30 -0
  99. package/dist/src/config/scoped-config.js +69 -0
  100. package/dist/src/config/scoped-config.js.map +1 -0
  101. package/dist/src/config/scoped-config.test.d.ts +6 -0
  102. package/dist/src/config/scoped-config.test.js +161 -0
  103. package/dist/src/config/scoped-config.test.js.map +1 -0
  104. package/dist/src/config/storage.d.ts +2 -0
  105. package/dist/src/config/storage.js +7 -2
  106. package/dist/src/config/storage.js.map +1 -1
  107. package/dist/src/config/storage.test.js +7 -7
  108. package/dist/src/config/storage.test.js.map +1 -1
  109. package/dist/src/confirmation-bus/types.d.ts +2 -2
  110. package/dist/src/context/agentHistoryProvider.d.ts +1 -1
  111. package/dist/src/context/agentHistoryProvider.js +1 -5
  112. package/dist/src/context/agentHistoryProvider.js.map +1 -1
  113. package/dist/src/context/agentHistoryProvider.test.js +2 -39
  114. package/dist/src/context/agentHistoryProvider.test.js.map +1 -1
  115. package/dist/src/context/contextCompressionService.d.ts +30 -0
  116. package/dist/src/context/contextCompressionService.js +405 -0
  117. package/dist/src/context/contextCompressionService.js.map +1 -0
  118. package/dist/src/context/contextCompressionService.test.d.ts +1 -0
  119. package/dist/src/context/contextCompressionService.test.js +253 -0
  120. package/dist/src/context/contextCompressionService.test.js.map +1 -0
  121. package/dist/src/context/{contextManager.d.ts → memoryContextManager.d.ts} +1 -1
  122. package/dist/src/context/{contextManager.js → memoryContextManager.js} +2 -2
  123. package/dist/src/context/memoryContextManager.js.map +1 -0
  124. package/dist/src/context/{contextManager.test.js → memoryContextManager.test.js} +22 -28
  125. package/dist/src/context/memoryContextManager.test.js.map +1 -0
  126. package/dist/src/context/profiles.d.ts +7 -0
  127. package/dist/src/context/profiles.js +21 -0
  128. package/dist/src/context/profiles.js.map +1 -0
  129. package/dist/src/context/toolDistillationService.test.js +3 -0
  130. package/dist/src/context/toolDistillationService.test.js.map +1 -1
  131. package/dist/src/context/types.d.ts +36 -0
  132. package/dist/src/context/types.js.map +1 -0
  133. package/dist/src/core/baseLlmClient.js +1 -1
  134. package/dist/src/core/baseLlmClient.js.map +1 -1
  135. package/dist/src/core/baseLlmClient.test.js +1 -0
  136. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  137. package/dist/src/core/client.js +1 -1
  138. package/dist/src/core/client.js.map +1 -1
  139. package/dist/src/core/client.test.js +7 -6
  140. package/dist/src/core/client.test.js.map +1 -1
  141. package/dist/src/core/geminiChat.js +8 -0
  142. package/dist/src/core/geminiChat.js.map +1 -1
  143. package/dist/src/core/geminiChat.test.js +1 -0
  144. package/dist/src/core/geminiChat.test.js.map +1 -1
  145. package/dist/src/core/geminiChat_network_retry.test.js +1 -0
  146. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  147. package/dist/src/core/logger.js +4 -4
  148. package/dist/src/core/logger.js.map +1 -1
  149. package/dist/src/core/logger.test.js +1 -1
  150. package/dist/src/core/logger.test.js.map +1 -1
  151. package/dist/src/core/loggingContentGenerator.js +1 -1
  152. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  153. package/dist/src/generated/git-commit.d.ts +2 -2
  154. package/dist/src/generated/git-commit.js +2 -2
  155. package/dist/src/hooks/hookEventHandler.js +8 -0
  156. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  157. package/dist/src/hooks/hookRunner.js +9 -5
  158. package/dist/src/hooks/hookRunner.js.map +1 -1
  159. package/dist/src/hooks/hookRunner.test.js +20 -3
  160. package/dist/src/hooks/hookRunner.test.js.map +1 -1
  161. package/dist/src/hooks/hookSystem.d.ts +2 -0
  162. package/dist/src/hooks/hookSystem.js +1 -0
  163. package/dist/src/hooks/hookSystem.js.map +1 -1
  164. package/dist/src/hooks/hookTranslator.js +20 -13
  165. package/dist/src/hooks/hookTranslator.js.map +1 -1
  166. package/dist/src/hooks/hookTranslator.test.js +36 -0
  167. package/dist/src/hooks/hookTranslator.test.js.map +1 -1
  168. package/dist/src/hooks/types.d.ts +2 -0
  169. package/dist/src/ide/ide-client.js +3 -3
  170. package/dist/src/ide/ide-client.js.map +1 -1
  171. package/dist/src/ide/ide-connection-utils.js +1 -1
  172. package/dist/src/ide/ide-connection-utils.js.map +1 -1
  173. package/dist/src/ide/ide-installer.js +3 -3
  174. package/dist/src/ide/ide-installer.js.map +1 -1
  175. package/dist/src/ide/process-utils.js +3 -3
  176. package/dist/src/ide/process-utils.js.map +1 -1
  177. package/dist/src/index.d.ts +4 -1
  178. package/dist/src/index.js +5 -1
  179. package/dist/src/index.js.map +1 -1
  180. package/dist/src/output/json-formatter.js +2 -1
  181. package/dist/src/output/json-formatter.js.map +1 -1
  182. package/dist/src/policy/config.test.js +21 -20
  183. package/dist/src/policy/config.test.js.map +1 -1
  184. package/dist/src/policy/policies/memory-manager.toml +11 -1
  185. package/dist/src/policy/policies/plan.toml +4 -3
  186. package/dist/src/policy/policies/read-only.toml +6 -0
  187. package/dist/src/policy/policies/sandbox-default.toml +2 -3
  188. package/dist/src/policy/policy-engine.js +23 -0
  189. package/dist/src/policy/policy-engine.js.map +1 -1
  190. package/dist/src/policy/policy-engine.test.js +129 -1
  191. package/dist/src/policy/policy-engine.test.js.map +1 -1
  192. package/dist/src/policy/sandboxPolicyManager.d.ts +26 -1
  193. package/dist/src/policy/sandboxPolicyManager.js +41 -12
  194. package/dist/src/policy/sandboxPolicyManager.js.map +1 -1
  195. package/dist/src/policy/sandboxPolicyManager.test.d.ts +6 -0
  196. package/dist/src/policy/sandboxPolicyManager.test.js +61 -0
  197. package/dist/src/policy/sandboxPolicyManager.test.js.map +1 -0
  198. package/dist/src/policy/workspace-policy.test.js +18 -15
  199. package/dist/src/policy/workspace-policy.test.js.map +1 -1
  200. package/dist/src/prompts/snippets.js +6 -3
  201. package/dist/src/prompts/snippets.js.map +1 -1
  202. package/dist/src/prompts/snippets.legacy.js +6 -2
  203. package/dist/src/prompts/snippets.legacy.js.map +1 -1
  204. package/dist/src/prompts/utils.test.js +7 -5
  205. package/dist/src/prompts/utils.test.js.map +1 -1
  206. package/dist/src/safety/built-in.js +1 -1
  207. package/dist/src/safety/built-in.js.map +1 -1
  208. package/dist/src/sandbox/linux/LinuxSandboxManager.d.ts +4 -4
  209. package/dist/src/sandbox/linux/LinuxSandboxManager.js +47 -191
  210. package/dist/src/sandbox/linux/LinuxSandboxManager.js.map +1 -1
  211. package/dist/src/sandbox/linux/LinuxSandboxManager.test.js +33 -395
  212. package/dist/src/sandbox/linux/LinuxSandboxManager.test.js.map +1 -1
  213. package/dist/src/sandbox/linux/bwrapArgsBuilder.d.ts +24 -0
  214. package/dist/src/sandbox/linux/bwrapArgsBuilder.js +200 -0
  215. package/dist/src/sandbox/linux/bwrapArgsBuilder.js.map +1 -0
  216. package/dist/src/sandbox/linux/bwrapArgsBuilder.test.d.ts +6 -0
  217. package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js +247 -0
  218. package/dist/src/sandbox/linux/bwrapArgsBuilder.test.js.map +1 -0
  219. package/dist/src/sandbox/macos/MacOsSandboxManager.d.ts +3 -0
  220. package/dist/src/sandbox/macos/MacOsSandboxManager.js +12 -5
  221. package/dist/src/sandbox/macos/MacOsSandboxManager.js.map +1 -1
  222. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js +20 -0
  223. package/dist/src/sandbox/macos/MacOsSandboxManager.test.js.map +1 -1
  224. package/dist/src/sandbox/macos/baseProfile.d.ts +1 -1
  225. package/dist/src/sandbox/macos/baseProfile.js +28 -4
  226. package/dist/src/sandbox/macos/baseProfile.js.map +1 -1
  227. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js +1 -1
  228. package/dist/src/sandbox/macos/seatbeltArgsBuilder.js.map +1 -1
  229. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js +2 -1
  230. package/dist/src/sandbox/macos/seatbeltArgsBuilder.test.js.map +1 -1
  231. package/dist/src/sandbox/utils/fsUtils.js +8 -6
  232. package/dist/src/sandbox/utils/fsUtils.js.map +1 -1
  233. package/dist/src/sandbox/utils/fsUtils.test.d.ts +6 -0
  234. package/dist/src/sandbox/utils/fsUtils.test.js +43 -0
  235. package/dist/src/sandbox/utils/fsUtils.test.js.map +1 -0
  236. package/dist/src/sandbox/utils/proactivePermissions.d.ts +19 -0
  237. package/dist/src/sandbox/utils/proactivePermissions.js +163 -0
  238. package/dist/src/sandbox/utils/proactivePermissions.js.map +1 -0
  239. package/dist/src/sandbox/utils/proactivePermissions.test.d.ts +6 -0
  240. package/dist/src/sandbox/utils/proactivePermissions.test.js +145 -0
  241. package/dist/src/sandbox/utils/proactivePermissions.test.js.map +1 -0
  242. package/dist/src/sandbox/utils/sandboxDenialUtils.d.ts +16 -1
  243. package/dist/src/sandbox/utils/sandboxDenialUtils.js +98 -24
  244. package/dist/src/sandbox/utils/sandboxDenialUtils.js.map +1 -1
  245. package/dist/src/sandbox/utils/sandboxDenialUtils.test.js +152 -1
  246. package/dist/src/sandbox/utils/sandboxDenialUtils.test.js.map +1 -1
  247. package/dist/src/sandbox/utils/sandboxReadWriteUtils.js +4 -0
  248. package/dist/src/sandbox/utils/sandboxReadWriteUtils.js.map +1 -1
  249. package/dist/src/sandbox/windows/GeminiSandbox.cs +90 -42
  250. package/dist/src/sandbox/windows/WindowsSandboxManager.d.ts +4 -0
  251. package/dist/src/sandbox/windows/WindowsSandboxManager.js +65 -60
  252. package/dist/src/sandbox/windows/WindowsSandboxManager.js.map +1 -1
  253. package/dist/src/sandbox/windows/WindowsSandboxManager.test.js +99 -54
  254. package/dist/src/sandbox/windows/WindowsSandboxManager.test.js.map +1 -1
  255. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.d.ts +2 -1
  256. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js +19 -18
  257. package/dist/src/sandbox/windows/windowsSandboxDenialUtils.js.map +1 -1
  258. package/dist/src/scheduler/scheduler.js +1 -1
  259. package/dist/src/scheduler/scheduler.js.map +1 -1
  260. package/dist/src/scheduler/scheduler_hooks.test.js +1 -1
  261. package/dist/src/scheduler/scheduler_hooks.test.js.map +1 -1
  262. package/dist/src/scheduler/tool-executor.js +1 -1
  263. package/dist/src/scheduler/tool-executor.js.map +1 -1
  264. package/dist/src/scheduler/tool-executor.test.js +1 -1
  265. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  266. package/dist/src/services/executionLifecycleService.d.ts +1 -0
  267. package/dist/src/services/executionLifecycleService.js +3 -0
  268. package/dist/src/services/executionLifecycleService.js.map +1 -1
  269. package/dist/src/services/gitService.js +1 -1
  270. package/dist/src/services/gitService.js.map +1 -1
  271. package/dist/src/services/memoryService.d.ts +65 -0
  272. package/dist/src/services/memoryService.js +511 -0
  273. package/dist/src/services/memoryService.js.map +1 -0
  274. package/dist/src/services/memoryService.test.d.ts +6 -0
  275. package/dist/src/services/memoryService.test.js +563 -0
  276. package/dist/src/services/memoryService.test.js.map +1 -0
  277. package/dist/src/services/sandboxManager.d.ts +17 -0
  278. package/dist/src/services/sandboxManager.integration.test.js +18 -11
  279. package/dist/src/services/sandboxManager.integration.test.js.map +1 -1
  280. package/dist/src/services/sandboxManager.js +20 -0
  281. package/dist/src/services/sandboxManager.js.map +1 -1
  282. package/dist/src/services/sandboxManager.test.js +84 -56
  283. package/dist/src/services/sandboxManager.test.js.map +1 -1
  284. package/dist/src/services/sandboxManagerFactory.js +2 -5
  285. package/dist/src/services/sandboxManagerFactory.js.map +1 -1
  286. package/dist/src/services/sandboxedFileSystemService.js +14 -3
  287. package/dist/src/services/sandboxedFileSystemService.js.map +1 -1
  288. package/dist/src/services/sandboxedFileSystemService.test.js +29 -14
  289. package/dist/src/services/sandboxedFileSystemService.test.js.map +1 -1
  290. package/dist/src/services/shellExecutionService.d.ts +16 -1
  291. package/dist/src/services/shellExecutionService.js +70 -10
  292. package/dist/src/services/shellExecutionService.js.map +1 -1
  293. package/dist/src/services/shellExecutionService.test.js +65 -4
  294. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  295. package/dist/src/services/worktreeService.test.js +7 -7
  296. package/dist/src/services/worktreeService.test.js.map +1 -1
  297. package/dist/src/skills/skillLoader.d.ts +8 -0
  298. package/dist/src/skills/skillLoader.js +1 -1
  299. package/dist/src/skills/skillLoader.js.map +1 -1
  300. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +29 -1
  301. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +101 -0
  302. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  303. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +167 -0
  304. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  305. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +9 -1
  306. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +20 -1
  307. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  308. package/dist/src/telemetry/loggers.d.ts +22 -0
  309. package/dist/src/telemetry/loggers.js +40 -1
  310. package/dist/src/telemetry/loggers.js.map +1 -1
  311. package/dist/src/telemetry/metrics.d.ts +108 -0
  312. package/dist/src/telemetry/metrics.js +177 -0
  313. package/dist/src/telemetry/metrics.js.map +1 -1
  314. package/dist/src/telemetry/metrics.test.js +254 -0
  315. package/dist/src/telemetry/metrics.test.js.map +1 -1
  316. package/dist/src/tools/complete-task.d.ts +29 -0
  317. package/dist/src/tools/complete-task.js +123 -0
  318. package/dist/src/tools/complete-task.js.map +1 -0
  319. package/dist/src/tools/complete-task.test.d.ts +6 -0
  320. package/dist/src/tools/complete-task.test.js +114 -0
  321. package/dist/src/tools/complete-task.test.js.map +1 -0
  322. package/dist/src/tools/definitions/base-declarations.d.ts +2 -0
  323. package/dist/src/tools/definitions/base-declarations.js +3 -0
  324. package/dist/src/tools/definitions/base-declarations.js.map +1 -1
  325. package/dist/src/tools/definitions/coreTools.d.ts +1 -1
  326. package/dist/src/tools/definitions/coreTools.js +1 -1
  327. package/dist/src/tools/definitions/coreTools.js.map +1 -1
  328. package/dist/src/tools/definitions/dynamic-declaration-helpers.js +4 -0
  329. package/dist/src/tools/definitions/dynamic-declaration-helpers.js.map +1 -1
  330. package/dist/src/tools/definitions/model-family-sets/default-legacy.js +3 -3
  331. package/dist/src/tools/definitions/model-family-sets/default-legacy.js.map +1 -1
  332. package/dist/src/tools/definitions/model-family-sets/gemini-3.js +3 -3
  333. package/dist/src/tools/definitions/model-family-sets/gemini-3.js.map +1 -1
  334. package/dist/src/tools/grep.test.js +2 -2
  335. package/dist/src/tools/grep.test.js.map +1 -1
  336. package/dist/src/tools/jit-context.js +3 -3
  337. package/dist/src/tools/jit-context.js.map +1 -1
  338. package/dist/src/tools/jit-context.test.js +15 -13
  339. package/dist/src/tools/jit-context.test.js.map +1 -1
  340. package/dist/src/tools/mcp-client.js +1 -1
  341. package/dist/src/tools/mcp-client.js.map +1 -1
  342. package/dist/src/tools/mcp-tool.test.js +1 -1
  343. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  344. package/dist/src/tools/ripGrep.test.js +1 -1
  345. package/dist/src/tools/ripGrep.test.js.map +1 -1
  346. package/dist/src/tools/shell.d.ts +7 -4
  347. package/dist/src/tools/shell.js +255 -37
  348. package/dist/src/tools/shell.js.map +1 -1
  349. package/dist/src/tools/shell.test.js +182 -8
  350. package/dist/src/tools/shell.test.js.map +1 -1
  351. package/dist/src/tools/shellBackgroundTools.d.ts +38 -0
  352. package/dist/src/tools/shellBackgroundTools.integration.test.d.ts +6 -0
  353. package/dist/src/tools/shellBackgroundTools.integration.test.js +86 -0
  354. package/dist/src/tools/shellBackgroundTools.integration.test.js.map +1 -0
  355. package/dist/src/tools/shellBackgroundTools.js +186 -0
  356. package/dist/src/tools/shellBackgroundTools.js.map +1 -0
  357. package/dist/src/tools/shellBackgroundTools.test.d.ts +6 -0
  358. package/dist/src/tools/shellBackgroundTools.test.js +230 -0
  359. package/dist/src/tools/shellBackgroundTools.test.js.map +1 -0
  360. package/dist/src/tools/shell_proactive.test.d.ts +6 -0
  361. package/dist/src/tools/shell_proactive.test.js +122 -0
  362. package/dist/src/tools/shell_proactive.test.js.map +1 -0
  363. package/dist/src/tools/tool-names.d.ts +3 -3
  364. package/dist/src/tools/tool-names.js +3 -2
  365. package/dist/src/tools/tool-names.js.map +1 -1
  366. package/dist/src/tools/tools.js +1 -1
  367. package/dist/src/tools/tools.js.map +1 -1
  368. package/dist/src/tools/web-fetch.js +8 -8
  369. package/dist/src/tools/web-fetch.js.map +1 -1
  370. package/dist/src/tools/web-fetch.test.js +5 -5
  371. package/dist/src/tools/web-fetch.test.js.map +1 -1
  372. package/dist/src/tools/xcode-mcp-fix-transport.js +1 -1
  373. package/dist/src/tools/xcode-mcp-fix-transport.js.map +1 -1
  374. package/dist/src/utils/bfsFileSearch.js +3 -6
  375. package/dist/src/utils/bfsFileSearch.js.map +1 -1
  376. package/dist/src/utils/checkpointUtils.js +11 -8
  377. package/dist/src/utils/checkpointUtils.js.map +1 -1
  378. package/dist/src/utils/compatibility.js +0 -7
  379. package/dist/src/utils/compatibility.js.map +1 -1
  380. package/dist/src/utils/compatibility.test.js +0 -9
  381. package/dist/src/utils/compatibility.test.js.map +1 -1
  382. package/dist/src/utils/editor.js +3 -0
  383. package/dist/src/utils/editor.js.map +1 -1
  384. package/dist/src/utils/errorParsing.js +2 -2
  385. package/dist/src/utils/errorParsing.js.map +1 -1
  386. package/dist/src/utils/events.d.ts +12 -0
  387. package/dist/src/utils/events.js +7 -0
  388. package/dist/src/utils/events.js.map +1 -1
  389. package/dist/src/utils/fetch.d.ts +1 -0
  390. package/dist/src/utils/fetch.js +22 -6
  391. package/dist/src/utils/fetch.js.map +1 -1
  392. package/dist/src/utils/fetch.test.js +26 -1
  393. package/dist/src/utils/fetch.test.js.map +1 -1
  394. package/dist/src/utils/fileUtils.js +1 -1
  395. package/dist/src/utils/fileUtils.js.map +1 -1
  396. package/dist/src/utils/filesearch/crawler.js +1 -1
  397. package/dist/src/utils/filesearch/crawler.js.map +1 -1
  398. package/dist/src/utils/filesearch/fileSearch.test.js +7 -2
  399. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  400. package/dist/src/utils/getPty.js +2 -2
  401. package/dist/src/utils/getPty.js.map +1 -1
  402. package/dist/src/utils/gitIgnoreParser.js +2 -2
  403. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  404. package/dist/src/utils/gitUtils.js +2 -2
  405. package/dist/src/utils/gitUtils.js.map +1 -1
  406. package/dist/src/utils/googleErrors.js +5 -5
  407. package/dist/src/utils/googleErrors.js.map +1 -1
  408. package/dist/src/utils/ignoreFileParser.js +1 -1
  409. package/dist/src/utils/ignoreFileParser.js.map +1 -1
  410. package/dist/src/utils/memoryDiscovery.js +3 -7
  411. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  412. package/dist/src/utils/paths.d.ts +8 -0
  413. package/dist/src/utils/paths.js +37 -6
  414. package/dist/src/utils/paths.js.map +1 -1
  415. package/dist/src/utils/paths.test.js +61 -3
  416. package/dist/src/utils/paths.test.js.map +1 -1
  417. package/dist/src/utils/process-utils.js +2 -2
  418. package/dist/src/utils/process-utils.js.map +1 -1
  419. package/dist/src/utils/retry.js +7 -0
  420. package/dist/src/utils/retry.js.map +1 -1
  421. package/dist/src/utils/retry.test.js +41 -0
  422. package/dist/src/utils/retry.test.js.map +1 -1
  423. package/dist/src/utils/secure-browser-launcher.js +1 -1
  424. package/dist/src/utils/secure-browser-launcher.js.map +1 -1
  425. package/dist/src/utils/shell-utils.d.ts +9 -0
  426. package/dist/src/utils/shell-utils.integration.test.js +1 -1
  427. package/dist/src/utils/shell-utils.integration.test.js.map +1 -1
  428. package/dist/src/utils/shell-utils.js +43 -4
  429. package/dist/src/utils/shell-utils.js.map +1 -1
  430. package/dist/src/utils/shell-utils.test.js +13 -1
  431. package/dist/src/utils/shell-utils.test.js.map +1 -1
  432. package/dist/src/utils/systemEncoding.js +1 -1
  433. package/dist/src/utils/systemEncoding.js.map +1 -1
  434. package/dist/src/utils/terminalSerializer.d.ts +1 -0
  435. package/dist/src/utils/terminalSerializer.js +31 -8
  436. package/dist/src/utils/terminalSerializer.js.map +1 -1
  437. package/dist/src/utils/terminalSerializer.test.js +3 -2
  438. package/dist/src/utils/terminalSerializer.test.js.map +1 -1
  439. package/dist/src/utils/workspaceContext.js +2 -2
  440. package/dist/src/utils/workspaceContext.js.map +1 -1
  441. package/dist/tsconfig.tsbuildinfo +1 -1
  442. package/package.json +1 -1
  443. package/dist/google-gemini-cli-core-0.37.0-preview.1.tgz +0 -0
  444. package/dist/src/context/contextManager.js.map +0 -1
  445. package/dist/src/context/contextManager.test.js.map +0 -1
  446. package/dist/src/services/types.d.ts +0 -14
  447. package/dist/src/services/types.js.map +0 -1
  448. /package/dist/src/context/{contextManager.test.d.ts → memoryContextManager.test.d.ts} +0 -0
  449. /package/dist/src/{services → context}/types.js +0 -0
@@ -26,6 +26,11 @@ function createMockDeps(overrides) {
26
26
  const mockConfig = {
27
27
  getMaxSessionTurns: vi.fn().mockReturnValue(-1),
28
28
  getModel: vi.fn().mockReturnValue('gemini-2.5-pro'),
29
+ getGeminiClient: vi.fn().mockReturnValue(mockClient),
30
+ getMessageBus: vi.fn().mockImplementation(() => ({
31
+ subscribe: vi.fn(),
32
+ unsubscribe: vi.fn(),
33
+ })),
29
34
  };
30
35
  return {
31
36
  client: mockClient,
@@ -33,6 +38,7 @@ function createMockDeps(overrides) {
33
38
  config: mockConfig,
34
39
  promptId: 'test-prompt',
35
40
  streamId: 'test-stream',
41
+ getPreferredEditor: vi.fn().mockReturnValue(undefined),
36
42
  ...overrides,
37
43
  };
38
44
  }
@@ -50,6 +56,14 @@ function makeToolRequest(callId, name) {
50
56
  prompt_id: 'p1',
51
57
  };
52
58
  }
59
+ function makeMessageSend(text, displayContent) {
60
+ return {
61
+ message: {
62
+ content: [{ type: 'text', text }],
63
+ ...(displayContent ? { displayContent } : {}),
64
+ },
65
+ };
66
+ }
53
67
  function makeCompletedToolCall(callId, name, responseText) {
54
68
  return {
55
69
  status: CoreToolCallStatus.Success,
@@ -95,9 +109,7 @@ describe('LegacyAgentSession', () => {
95
109
  },
96
110
  ]));
97
111
  const session = new LegacyAgentSession(deps);
98
- const result = await session.send({
99
- message: [{ type: 'text', text: 'hi' }],
100
- });
112
+ const result = await session.send(makeMessageSend('hi'));
101
113
  expect(result.streamId).toBe('test-stream');
102
114
  });
103
115
  it('records the sent user message in the trajectory before send resolves', async () => {
@@ -110,12 +122,19 @@ describe('LegacyAgentSession', () => {
110
122
  ]));
111
123
  const session = new LegacyAgentSession(deps);
112
124
  const { streamId } = await session.send({
113
- message: [{ type: 'text', text: 'hi' }],
125
+ message: {
126
+ content: [{ type: 'text', text: 'hi' }],
127
+ displayContent: 'raw input',
128
+ },
114
129
  _meta: { source: 'user-test' },
115
130
  });
116
131
  const userMessage = session.events.find((e) => e.type === 'message' && e.role === 'user' && e.streamId === streamId);
117
- expect(userMessage?.content).toEqual([{ type: 'text', text: 'hi' }]);
132
+ expect(userMessage?.content).toEqual([
133
+ { type: 'text', text: 'raw input' },
134
+ ]);
118
135
  expect(userMessage?._meta).toEqual({ source: 'user-test' });
136
+ await vi.advanceTimersByTimeAsync(0);
137
+ expect(sendMock).toHaveBeenCalledWith([{ text: 'hi' }], expect.any(AbortSignal), 'test-prompt', undefined, false, 'raw input');
119
138
  await collectEvents(session, { streamId: streamId ?? undefined });
120
139
  });
121
140
  it('returns streamId before emitting agent_start', async () => {
@@ -131,9 +150,7 @@ describe('LegacyAgentSession', () => {
131
150
  session.subscribe((event) => {
132
151
  liveEvents.push(event);
133
152
  });
134
- const { streamId } = await session.send({
135
- message: [{ type: 'text', text: 'hi' }],
136
- });
153
+ const { streamId } = await session.send(makeMessageSend('hi'));
137
154
  expect(streamId).toBe('test-stream');
138
155
  expect(liveEvents.some((event) => event.type === 'agent_start')).toBe(false);
139
156
  await collectEvents(session, { streamId: streamId ?? undefined });
@@ -156,11 +173,9 @@ describe('LegacyAgentSession', () => {
156
173
  };
157
174
  })());
158
175
  const session = new LegacyAgentSession(deps);
159
- const { streamId } = await session.send({
160
- message: [{ type: 'text', text: 'first' }],
161
- });
176
+ const { streamId } = await session.send(makeMessageSend('first'));
162
177
  await vi.advanceTimersByTimeAsync(0);
163
- await expect(session.send({ message: [{ type: 'text', text: 'second' }] })).rejects.toThrow('cannot be called while a stream is active');
178
+ await expect(session.send(makeMessageSend('second'))).rejects.toThrow('cannot be called while a stream is active');
164
179
  resolveHang?.();
165
180
  await collectEvents(session, { streamId: streamId ?? undefined });
166
181
  });
@@ -182,15 +197,11 @@ describe('LegacyAgentSession', () => {
182
197
  },
183
198
  ]));
184
199
  const session = new LegacyAgentSession(deps);
185
- const first = await session.send({
186
- message: [{ type: 'text', text: 'first' }],
187
- });
200
+ const first = await session.send(makeMessageSend('first'));
188
201
  const firstEvents = await collectEvents(session, {
189
202
  streamId: first.streamId ?? undefined,
190
203
  });
191
- const second = await session.send({
192
- message: [{ type: 'text', text: 'second' }],
193
- });
204
+ const second = await session.send(makeMessageSend('second'));
194
205
  const secondEvents = await collectEvents(session, {
195
206
  streamId: second.streamId ?? undefined,
196
207
  });
@@ -218,7 +229,7 @@ describe('LegacyAgentSession', () => {
218
229
  },
219
230
  ]));
220
231
  const session = new LegacyAgentSession(deps);
221
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
232
+ await session.send(makeMessageSend('hi'));
222
233
  const events = await collectEvents(session);
223
234
  const types = events.map((e) => e.type);
224
235
  expect(types).toContain('agent_start');
@@ -258,7 +269,7 @@ describe('LegacyAgentSession', () => {
258
269
  makeCompletedToolCall('call-1', 'read_file', 'file contents'),
259
270
  ]);
260
271
  const session = new LegacyAgentSession(deps);
261
- await session.send({ message: [{ type: 'text', text: 'read a file' }] });
272
+ await session.send(makeMessageSend('read a file'));
262
273
  const events = await collectEvents(session);
263
274
  const types = events.map((e) => e.type);
264
275
  expect(types).toContain('tool_request');
@@ -308,9 +319,7 @@ describe('LegacyAgentSession', () => {
308
319
  const scheduleMock = deps.scheduler.schedule;
309
320
  scheduleMock.mockResolvedValueOnce([errorToolCall]);
310
321
  const session = new LegacyAgentSession(deps);
311
- await session.send({
312
- message: [{ type: 'text', text: 'write file' }],
313
- });
322
+ await session.send(makeMessageSend('write file'));
314
323
  const events = await collectEvents(session);
315
324
  const toolResp = events.find((e) => e.type === 'tool_response');
316
325
  expect(toolResp?.isError).toBe(true);
@@ -348,9 +357,7 @@ describe('LegacyAgentSession', () => {
348
357
  const scheduleMock = deps.scheduler.schedule;
349
358
  scheduleMock.mockResolvedValueOnce([stopToolCall]);
350
359
  const session = new LegacyAgentSession(deps);
351
- await session.send({
352
- message: [{ type: 'text', text: 'do something' }],
353
- });
360
+ await session.send(makeMessageSend('do something'));
354
361
  const events = await collectEvents(session);
355
362
  const streamEnd = events.find((e) => e.type === 'agent_end');
356
363
  expect(streamEnd?.reason).toBe('completed');
@@ -383,9 +390,7 @@ describe('LegacyAgentSession', () => {
383
390
  const scheduleMock = deps.scheduler.schedule;
384
391
  scheduleMock.mockResolvedValueOnce([fatalToolCall]);
385
392
  const session = new LegacyAgentSession(deps);
386
- await session.send({
387
- message: [{ type: 'text', text: 'write file' }],
388
- });
393
+ await session.send(makeMessageSend('write file'));
389
394
  const events = await collectEvents(session);
390
395
  const toolResp = events.find((e) => e.type === 'tool_response');
391
396
  expect(toolResp?.isError).toBe(true);
@@ -406,7 +411,7 @@ describe('LegacyAgentSession', () => {
406
411
  },
407
412
  ]));
408
413
  const session = new LegacyAgentSession(deps);
409
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
414
+ await session.send(makeMessageSend('hi'));
410
415
  const events = await collectEvents(session);
411
416
  const streamEnd = events.find((e) => e.type === 'agent_end');
412
417
  expect(streamEnd?.reason).toBe('completed');
@@ -426,7 +431,7 @@ describe('LegacyAgentSession', () => {
426
431
  },
427
432
  ]));
428
433
  const session = new LegacyAgentSession(deps);
429
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
434
+ await session.send(makeMessageSend('hi'));
430
435
  const events = await collectEvents(session);
431
436
  const blocked = events.find((e) => e.type === 'error' && e._meta?.['code'] === 'AGENT_EXECUTION_BLOCKED');
432
437
  expect(blocked?.fatal).toBe(false);
@@ -446,7 +451,7 @@ describe('LegacyAgentSession', () => {
446
451
  },
447
452
  ]));
448
453
  const session = new LegacyAgentSession(deps);
449
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
454
+ await session.send(makeMessageSend('hi'));
450
455
  const events = await collectEvents(session);
451
456
  const err = events.find((e) => e.type === 'error');
452
457
  expect(err?.message).toBe('API error');
@@ -464,7 +469,7 @@ describe('LegacyAgentSession', () => {
464
469
  },
465
470
  ]));
466
471
  const session = new LegacyAgentSession(deps);
467
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
472
+ await session.send(makeMessageSend('hi'));
468
473
  const events = await collectEvents(session);
469
474
  const warning = events.find((e) => e.type === 'error' && e._meta?.['code'] === 'LOOP_DETECTED');
470
475
  expect(warning).toBeDefined();
@@ -487,7 +492,7 @@ describe('LegacyAgentSession', () => {
487
492
  { type: GeminiEventType.Content, value: 'should not be reached' },
488
493
  ]));
489
494
  const session = new LegacyAgentSession(deps);
490
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
495
+ await session.send(makeMessageSend('hi'));
491
496
  const events = await collectEvents(session);
492
497
  const streamEnd = events.find((e) => e.type === 'agent_end');
493
498
  expect(streamEnd?.reason).toBe('max_turns');
@@ -502,7 +507,7 @@ describe('LegacyAgentSession', () => {
502
507
  const sendMock = deps.client.sendMessageStream;
503
508
  sendMock.mockReturnValue(makeStream([{ type: GeminiEventType.MaxSessionTurns }]));
504
509
  const session = new LegacyAgentSession(deps);
505
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
510
+ await session.send(makeMessageSend('hi'));
506
511
  const events = await collectEvents(session);
507
512
  const errorEvents = events.filter((e) => e.type === 'error');
508
513
  expect(errorEvents).toHaveLength(0);
@@ -527,9 +532,7 @@ describe('LegacyAgentSession', () => {
527
532
  throw abortError;
528
533
  })());
529
534
  const session = new LegacyAgentSession(deps);
530
- const { streamId } = await session.send({
531
- message: [{ type: 'text', text: 'hi' }],
532
- });
535
+ const { streamId } = await session.send(makeMessageSend('hi'));
533
536
  await vi.advanceTimersByTimeAsync(0);
534
537
  await session.abort();
535
538
  releaseAbort?.();
@@ -559,7 +562,7 @@ describe('LegacyAgentSession', () => {
559
562
  };
560
563
  })());
561
564
  const session = new LegacyAgentSession(deps);
562
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
565
+ await session.send(makeMessageSend('hi'));
563
566
  // Give the loop time to start processing
564
567
  await new Promise((r) => setTimeout(r, 50));
565
568
  // Abort and resolve the hang so the generator can finish
@@ -588,9 +591,7 @@ describe('LegacyAgentSession', () => {
588
591
  resolveSchedule = resolve;
589
592
  }));
590
593
  const session = new LegacyAgentSession(deps);
591
- const { streamId } = await session.send({
592
- message: [{ type: 'text', text: 'hi' }],
593
- });
594
+ const { streamId } = await session.send(makeMessageSend('hi'));
594
595
  await new Promise((resolve) => setTimeout(resolve, 25));
595
596
  await session.abort();
596
597
  resolveSchedule?.([makeCompletedToolCall('call-1', 'slow_tool', 'done')]);
@@ -614,7 +615,7 @@ describe('LegacyAgentSession', () => {
614
615
  },
615
616
  ]));
616
617
  const session = new LegacyAgentSession(deps);
617
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
618
+ await session.send(makeMessageSend('hi'));
618
619
  await collectEvents(session);
619
620
  expect(session.events.length).toBeGreaterThan(0);
620
621
  expect(session.events[0]?.type).toBe('message');
@@ -635,9 +636,7 @@ describe('LegacyAgentSession', () => {
635
636
  const unsubscribe = session.subscribe((event) => {
636
637
  liveEvents.push(event);
637
638
  });
638
- const { streamId } = await session.send({
639
- message: [{ type: 'text', text: 'hi' }],
640
- });
639
+ const { streamId } = await session.send(makeMessageSend('hi'));
641
640
  await collectEvents(session, { streamId: streamId ?? undefined });
642
641
  unsubscribe();
643
642
  expect(liveEvents.length).toBeGreaterThan(0);
@@ -662,17 +661,13 @@ describe('LegacyAgentSession', () => {
662
661
  },
663
662
  ]));
664
663
  const session = new LegacyAgentSession(deps);
665
- const first = await session.send({
666
- message: [{ type: 'text', text: 'first request' }],
667
- });
664
+ const first = await session.send(makeMessageSend('first request'));
668
665
  await collectEvents(session, { streamId: first.streamId ?? undefined });
669
666
  const liveEvents = [];
670
667
  const unsubscribe = session.subscribe((event) => {
671
668
  liveEvents.push(event);
672
669
  });
673
- const second = await session.send({
674
- message: [{ type: 'text', text: 'second request' }],
675
- });
670
+ const second = await session.send(makeMessageSend('second request'));
676
671
  await collectEvents(session, { streamId: second.streamId ?? undefined });
677
672
  unsubscribe();
678
673
  expect(liveEvents.length).toBeGreaterThan(0);
@@ -700,13 +695,9 @@ describe('LegacyAgentSession', () => {
700
695
  },
701
696
  ]));
702
697
  const session = new LegacyAgentSession(deps);
703
- const first = await session.send({
704
- message: [{ type: 'text', text: 'first request' }],
705
- });
698
+ const first = await session.send(makeMessageSend('first request'));
706
699
  await collectEvents(session, { streamId: first.streamId ?? undefined });
707
- const second = await session.send({
708
- message: [{ type: 'text', text: 'second request' }],
709
- });
700
+ const second = await session.send(makeMessageSend('second request'));
710
701
  await collectEvents(session, { streamId: second.streamId ?? undefined });
711
702
  const firstStreamEvents = await collectEvents(session, {
712
703
  streamId: first.streamId ?? undefined,
@@ -739,13 +730,9 @@ describe('LegacyAgentSession', () => {
739
730
  },
740
731
  ]));
741
732
  const session = new LegacyAgentSession(deps);
742
- const first = await session.send({
743
- message: [{ type: 'text', text: 'first request' }],
744
- });
733
+ const first = await session.send(makeMessageSend('first request'));
745
734
  await collectEvents(session, { streamId: first.streamId ?? undefined });
746
- await session.send({
747
- message: [{ type: 'text', text: 'second request' }],
748
- });
735
+ await session.send(makeMessageSend('second request'));
749
736
  await collectEvents(session);
750
737
  const firstAgentMessage = session.events.find((e) => e.type === 'message' &&
751
738
  e.role === 'agent' &&
@@ -775,7 +762,7 @@ describe('LegacyAgentSession', () => {
775
762
  },
776
763
  ]));
777
764
  const session = new LegacyAgentSession(deps);
778
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
765
+ await session.send(makeMessageSend('hi'));
779
766
  const events = await collectEvents(session);
780
767
  expect(events.length).toBeGreaterThan(0);
781
768
  expect(events[events.length - 1]?.type).toBe('agent_end');
@@ -789,7 +776,7 @@ describe('LegacyAgentSession', () => {
789
776
  },
790
777
  ]));
791
778
  const session = new LegacyAgentSession(deps);
792
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
779
+ await session.send(makeMessageSend('hi'));
793
780
  const events = await collectEvents(session);
794
781
  expect(events[events.length - 1]?.type).toBe('agent_end');
795
782
  });
@@ -827,7 +814,7 @@ describe('LegacyAgentSession', () => {
827
814
  makeCompletedToolCall('call-1', 'read_file', 'data'),
828
815
  ]);
829
816
  const session = new LegacyAgentSession(deps);
830
- await session.send({ message: [{ type: 'text', text: 'do it' }] });
817
+ await session.send(makeMessageSend('do it'));
831
818
  const events = await collectEvents(session);
832
819
  // Only one agent_end at the very end
833
820
  const streamEnds = events.filter((e) => e.type === 'agent_end');
@@ -864,7 +851,7 @@ describe('LegacyAgentSession', () => {
864
851
  makeCompletedToolCall('call-1', 'read_file', 'contents'),
865
852
  ]);
866
853
  const session = new LegacyAgentSession(deps);
867
- await session.send({ message: [{ type: 'text', text: 'go' }] });
854
+ await session.send(makeMessageSend('go'));
868
855
  const events = await collectEvents(session);
869
856
  // Should have at least one usage event from the intermediate Finished
870
857
  const usageEvents = events.filter((e) => e.type === 'usage');
@@ -880,7 +867,7 @@ describe('LegacyAgentSession', () => {
880
867
  throw new Error('Connection refused');
881
868
  });
882
869
  const session = new LegacyAgentSession(deps);
883
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
870
+ await session.send(makeMessageSend('hi'));
884
871
  const events = await collectEvents(session);
885
872
  const err = events.find((e) => e.type === 'error');
886
873
  expect(err?.message).toBe('Connection refused');
@@ -898,7 +885,7 @@ describe('LegacyAgentSession', () => {
898
885
  throw new FatalError('Disk full', 44);
899
886
  });
900
887
  const session = new LegacyAgentSession(deps);
901
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
888
+ await session.send(makeMessageSend('hi'));
902
889
  const events = await collectEvents(session);
903
890
  const err = events.find((e) => e.type === 'error');
904
891
  expect(err?.message).toBe('Disk full');
@@ -914,7 +901,7 @@ describe('LegacyAgentSession', () => {
914
901
  throw exitCodeError;
915
902
  });
916
903
  const session = new LegacyAgentSession(deps);
917
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
904
+ await session.send(makeMessageSend('hi'));
918
905
  const events = await collectEvents(session);
919
906
  const err = events.find((e) => e.type === 'error');
920
907
  expect(err?._meta?.['exitCode']).toBe(17);
@@ -927,7 +914,7 @@ describe('LegacyAgentSession', () => {
927
914
  throw codedError;
928
915
  });
929
916
  const session = new LegacyAgentSession(deps);
930
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
917
+ await session.send(makeMessageSend('hi'));
931
918
  const events = await collectEvents(session);
932
919
  const err = events.find((e) => e.type === 'error');
933
920
  expect(err?._meta?.['code']).toBe('ENOENT');
@@ -940,7 +927,7 @@ describe('LegacyAgentSession', () => {
940
927
  throw statusError;
941
928
  });
942
929
  const session = new LegacyAgentSession(deps);
943
- await session.send({ message: [{ type: 'text', text: 'hi' }] });
930
+ await session.send(makeMessageSend('hi'));
944
931
  const events = await collectEvents(session);
945
932
  const err = events.find((e) => e.type === 'error');
946
933
  expect(err?._meta?.['status']).toBe('RESOURCE_EXHAUSTED');
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-agent-session.test.js","sourceRoot":"","sources":["../../../src/agent/legacy-agent-session.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"legacy-agent-session.test.js","sourceRoot":"","sources":["../../../src/agent/legacy-agent-session.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAKvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAK3D,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,SAAS,cAAc,CACrB,SAA2C;IAE3C,MAAM,UAAU,GAAG;QACjB,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;QAC1B,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;YAC/B,wBAAwB,EAAE,EAAE,CAAC,EAAE,EAAE;SAClC,CAAC;QACF,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;KACvD,CAAC;IAEF,MAAM,aAAa,GAAG;QACpB,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;KACxC,CAAC;IAEF,MAAM,UAAU,GAAG;QACjB,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC/C,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,gBAAgB,CAAC;QACnD,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC;QACpD,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/C,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;YAClB,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;SACrB,CAAC,CAAC;KACJ,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,UAAqC;QAC7C,SAAS,EAAE,aAAqC;QAChD,MAAM,EAAE,UAA+B;QACvC,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,aAAa;QACvB,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;QACtD,GAAG,SAAS;KACuB,CAAC;AACxC,CAAC;AAED,KAAK,SAAS,CAAC,CAAC,UAAU,CACxB,MAAiC;IAEjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,MAAc,EAAE,IAAY;IACnD,OAAO;QACL,MAAM;QACN,IAAI;QACJ,IAAI,EAAE,EAAE;QACR,iBAAiB,EAAE,KAAK;QACxB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CACtB,IAAY,EACZ,cAAuB;IAEvB,OAAO;QACL,OAAO,EAAE;YACP,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACjC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C;KACF,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAC5B,MAAc,EACd,IAAY,EACZ,YAAoB;IAEpB,OAAO;QACL,MAAM,EAAE,kBAAkB,CAAC,OAAO;QAClC,OAAO,EAAE,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC;QACtC,QAAQ,EAAE;YACR,MAAM;YACN,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YACvC,aAAa,EAAE,SAAS;YACxB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,SAAS;SACrB;QAED,IAAI,EAAE,EAA6D;QAEnE,UAAU,EAAE,EAEH;KACW,CAAC;AACzB,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAA2B,EAC3B,OAAiD;IAEjD,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,MAAM,aAAa,GACjB,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9D,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,aAAa;QACrC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;QAC/B,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,QAAQ;AACR,8EAA8E;AAE9E,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,IAAsC,CAAC;IAE3C,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,GAAG,cAAc,EAAE,CAAC;QACxB,EAAE,CAAC,aAAa,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACjD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAEzD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC;gBACT;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBACtC,OAAO,EAAE;oBACP,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;oBACvC,cAAc,EAAE,WAAW;iBAC5B;gBACD,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;aAC/B,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CACrC,CAAC,CAAC,EAA8B,EAAE,CAChC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CACvE,CAAC;YACF,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC;gBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE;aACpC,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;YAC5D,MAAM,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YACrC,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACnC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAChB,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EACvB,aAAa,EACb,SAAS,EACT,KAAK,EACL,WAAW,CACZ,CAAC;YAEF,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC;gBACT;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAiB,EAAE,CAAC;YACpC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC1B,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAE/D,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACrC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CACnE,KAAK,CACN,CAAC;YAEF,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;YAClE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CACnE,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACvE,6BAA6B,CAC9B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,IAAI,WAAqC,CAAC;YAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,CAAC,KAAK,SAAS,CAAC;gBACd,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAClC,WAAW,GAAG,OAAO,CAAC;gBACxB,CAAC,CAAC,CAAC;gBACH,MAAM;oBACJ,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBACpC,CAAC;YAC/B,CAAC,CAAC,EAAE,CACL,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,MAAM,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAErC,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACnE,2CAA2C,CAC5C,CAAC;YAEF,WAAW,EAAE,EAAE,CAAC;YAChB,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ;iBACL,mBAAmB,CAClB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE;gBAC1D;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH;iBACA,mBAAmB,CAClB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE;gBAC3D;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEJ,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE;gBAC/C,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS;aACtC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7D,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE;gBAChD,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,SAAS;aACvC,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CACxC,CAAC,CAAC,EAA8B,EAAE,CAChC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAC5C,CAAC;YAEF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,CACJ,YAAY,CAAC,IAAI,CACf,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;gBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;gBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAChC,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,CACJ,YAAY,CAAC,IAAI,CACf,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;gBAC9B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;gBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CACjC,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACjD,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAClD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAErC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC5B,CAAC,CAAC,EAA8B,EAAE,CAChC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAC7C,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YAExE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAgC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAC5D,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,oCAAoC;YACpC,QAAQ,CAAC,mBAAmB,CAC1B,UAAU,CAAC;gBACT;oBACE,IAAI,EAAE,eAAe,CAAC,eAAe;oBACrC,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC;iBAC9C;gBACD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YACF,2CAA2C;YAC3C,QAAQ,CAAC,mBAAmB,CAC1B,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACjD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAoC,CAAC;YACzE,YAAY,CAAC,qBAAqB,CAAC;gBACjC,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,eAAe,CAAC;aAC9D,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAErC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,CAAC,CAAC,EAAmC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAClE,CAAC;YACF,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAExC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAoC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CACpE,CAAC;YACF,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC;gBAChC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE;aACxC,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEtC,6CAA6C;YAC7C,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,mBAAmB,CAC1B,UAAU,CAAC;gBACT;oBACE,IAAI,EAAE,eAAe,CAAC,eAAe;oBACrC,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC;iBAC/C;gBACD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YACF,QAAQ,CAAC,mBAAmB,CAC1B,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAClD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,aAAa,GAAsB;gBACvC,MAAM,EAAE,kBAAkB,CAAC,KAAK;gBAChC,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC;gBAChD,QAAQ,EAAE;oBACR,MAAM,EAAE,QAAQ;oBAChB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oBAClC,aAAa,EAAE,eAAe;oBAC9B,KAAK,EAAE,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBACrC,SAAS,EAAE,mBAAmB;iBAC/B;aACmB,CAAC;YAEvB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAoC,CAAC;YACzE,YAAY,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAEpD,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAoC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CACpE,CAAC;YACF,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,wCAAwC;YACxC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC;gBAChC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,EAAE;aAC5C,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC;gBACvC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE;aACxC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,mBAAmB,CAC1B,UAAU,CAAC;gBACT;oBACE,IAAI,EAAE,eAAe,CAAC,eAAe;oBACrC,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,gBAAgB,CAAC;iBACnD;gBACD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAsB;gBACtC,MAAM,EAAE,kBAAkB,CAAC,KAAK;gBAChC,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE,gBAAgB,CAAC;gBACpD,QAAQ,EAAE;oBACR,MAAM,EAAE,QAAQ;oBAChB,aAAa,EAAE,EAAE;oBACjB,aAAa,EAAE,SAAS;oBACxB,KAAK,EAAE,IAAI,KAAK,CAAC,mBAAmB,CAAC;oBACrC,SAAS,EAAE,aAAa,CAAC,cAAc;iBACxC;aACmB,CAAC;YAEvB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAoC,CAAC;YACzE,YAAY,CAAC,qBAAqB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YAEnD,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAgC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAC5D,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5C,gCAAgC;YAChC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,mBAAmB,CAC1B,UAAU,CAAC;gBACT;oBACE,IAAI,EAAE,eAAe,CAAC,eAAe;oBACrC,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC;iBAC/C;gBACD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,aAAa,GAAsB;gBACvC,MAAM,EAAE,kBAAkB,CAAC,KAAK;gBAChC,OAAO,EAAE,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC;gBAChD,QAAQ,EAAE;oBACR,MAAM,EAAE,QAAQ;oBAChB,aAAa,EAAE,EAAE;oBACjB,aAAa,EAAE,SAAS;oBACxB,KAAK,EAAE,IAAI,KAAK,CAAC,WAAW,CAAC;oBAC7B,SAAS,EAAE,aAAa,CAAC,aAAa;iBACvC;aACmB,CAAC;YAEvB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAoC,CAAC;YACzE,YAAY,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAEpD,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAoC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CACpE,CAAC;YACF,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YACzE,MAAM,CACJ,MAAM,CAAC,IAAI,CACT,CAAC,CAAC,EAA4B,EAAE,CAC9B,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CACzC,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEd,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAC/B,CAAC,CAAC,EAAgC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAC5D,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC;gBACT;oBACE,IAAI,EAAE,eAAe,CAAC,qBAAqB;oBAC3C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE;iBAC3D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAgC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAC5D,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC;gBACT;oBACE,IAAI,EAAE,eAAe,CAAC,qBAAqB;oBAC3C,KAAK,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE;iBACrC;gBACD,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE;gBACxD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,CAAC,CAAC,EAA4B,EAAE,CAC9B,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,yBAAyB,CACxE,CAAC;YACF,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YAE1E,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC5B,CAAC,CAAC,EAA8B,EAAE,CAChC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAC7C,CAAC;YACF,MAAM,CACJ,QAAQ,CAAC,IAAI,CACX,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;gBACnC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAC7C,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAgC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAC5D,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC;gBACT;oBACE,IAAI,EAAE,eAAe,CAAC,KAAK;oBAC3B,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE;iBACzC;aACF,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CACrB,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CACpD,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,2DAA2D;YAC3D,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,YAAY,EAAE;gBACtC,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE;gBACjE;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CACzB,CAAC,CAAC,EAA4B,EAAE,CAC9B,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,eAAe,CAC9D,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEnC,6DAA6D;YAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAC5B,CAAC,CAAC,EAA8B,EAAE,CAChC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAC7C,CAAC;YACF,MAAM,CACJ,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;gBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,CAChD,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,4CAA4C;YAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAgC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAC5D,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACtF,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,kBAE9B,CAAC;YACF,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE;aAClE,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAgC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAC5D,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC;gBAC9B,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC;aACb,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;YACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,CAAC,eAAe,EAAE,CAAC,CAAC,CACxD,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAC/B,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CACpD,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEpC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAC/B,CAAC,CAAC,EAAgC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAC5D,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC;gBAC9B,IAAI,EAAE,oBAAoB;aAC3B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,IAAI,YAAsC,CAAC;YAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,CAAC,KAAK,SAAS,CAAC;gBACd,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAClC,YAAY,GAAG,OAAO,CAAC;gBACzB,CAAC,CAAC,CAAC;gBACH,KAAK,CAAC,CAAC,EAAE,CAAC;gBACV,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;gBACxC,UAAU,CAAC,IAAI,GAAG,YAAY,CAAC;gBAC/B,MAAM,UAAU,CAAC;YACnB,CAAC,CAAC,EAAE,CACL,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,MAAM,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;YAErC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,YAAY,EAAE,EAAE,CAAC;YAEjB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE;gBAC1C,QAAQ,EAAE,QAAQ,IAAI,SAAS;aAChC,CAAC,CAAC;YACH,MAAM,CACJ,MAAM,CAAC,IAAI,CACT,CAAC,KAAK,EAAgC,EAAE,CACtC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,CACxC,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEd,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAC/B,CAAC,KAAK,EAAoC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CACxE,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,qEAAqE;YACrE,IAAI,WAAqC,CAAC;YAC1C,QAAQ,CAAC,eAAe,CACtB,CAAC,KAAK,SAAS,CAAC;gBACd,MAAM;oBACJ,IAAI,EAAE,eAAe,CAAC,OAAO;oBAC7B,KAAK,EAAE,OAAO;iBACY,CAAC;gBAC7B,4CAA4C;gBAC5C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAClC,WAAW,GAAG,OAAO,CAAC;gBACxB,CAAC,CAAC,CAAC;gBACH,MAAM;oBACJ,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBACpC,CAAC;YAC/B,CAAC,CAAC,EAAE,CACL,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAE1C,yCAAyC;YACzC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAE5C,yDAAyD;YACzD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,WAAW,EAAE,EAAE,CAAC;YAEhB,qBAAqB;YACrB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAgC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAC5D,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;YACzF,IAAI,eAAmE,CAAC;YACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC;gBACT;oBACE,IAAI,EAAE,eAAe,CAAC,eAAe;oBACrC,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC;iBAC9C;gBACD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAoC,CAAC;YACzE,YAAY,CAAC,eAAe,CAC1B,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,EAAE;gBAC3C,eAAe,GAAG,OAAO,CAAC;YAC5B,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAE/D,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACxD,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,eAAe,EAAE,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YAE1E,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE;gBAC1C,QAAQ,EAAE,QAAQ,IAAI,SAAS;aAChC,CAAC,CAAC;YACH,MAAM,CACJ,MAAM,CAAC,IAAI,CACT,CAAC,KAAK,EAAgC,EAAE,CACtC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,CACxC,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACd,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,IAAI,CACjE,KAAK,CACN,CAAC;YAEF,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAC/B,CAAC,KAAK,EAAoC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CACxE,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE;gBAC9C;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE7B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACjD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE;gBACvD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAiB,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC9C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;YAClE,WAAW,EAAE,CAAC;YAEd,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CACnE,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ;iBACL,mBAAmB,CAClB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE;gBACxD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH;iBACA,mBAAmB,CAClB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;gBACzD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEJ,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;YACnE,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;YAExE,MAAM,UAAU,GAAiB,EAAE,CAAC;YACpC,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC9C,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACrE,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;YACzE,WAAW,EAAE,CAAC;YAEd,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,CACJ,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,CAAC,CAChE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,CACJ,UAAU,CAAC,IAAI,CACb,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,IAAI,KAAK,SAAS;gBACxB,KAAK,CAAC,IAAI,KAAK,MAAM;gBACrB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;gBACjC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAC5C,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ;iBACL,mBAAmB,CAClB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE;gBACxD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH;iBACA,mBAAmB,CAClB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;gBACzD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEJ,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;YACnE,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;YAExE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACrE,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;YAEzE,MAAM,iBAAiB,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE;gBACrD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS;aACtC,CAAC,CAAC;YAEH,MAAM,CACJ,iBAAiB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,CACtE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,CACJ,iBAAiB,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,SAAS;gBACpB,CAAC,CAAC,IAAI,KAAK,OAAO;gBAClB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;gBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CACvC,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,CACJ,iBAAiB,CAAC,IAAI,CACpB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,SAAS;gBACpB,CAAC,CAAC,IAAI,KAAK,OAAO;gBAClB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;gBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CACxC,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ;iBACL,mBAAmB,CAClB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE;gBACxD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH;iBACA,mBAAmB,CAClB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;gBACzD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEJ,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;YACnE,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC;YAExE,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACtD,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE7B,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAC3C,CAAC,CAAC,EAA8B,EAAE,CAChC,CAAC,CAAC,IAAI,KAAK,SAAS;gBACpB,CAAC,CAAC,IAAI,KAAK,OAAO;gBAClB,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;gBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;gBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CACvC,CAAC;YACF,MAAM,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,CAAC;YAExC,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE;gBACjD,OAAO,EAAE,iBAAiB,EAAE,EAAE;aAC/B,CAAC,CAAC;YACH,MAAM,CACJ,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,CAAC,CAClE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YACxE,MAAM,CACJ,aAAa,CAAC,IAAI,CAChB,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,SAAS;gBACpB,CAAC,CAAC,IAAI,KAAK,OAAO;gBAClB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM;gBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CACxC,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBACjD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,eAAe,CACtB,UAAU,CAAC;gBACT;oBACE,IAAI,EAAE,eAAe,CAAC,KAAK;oBAC3B,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE;iBACzC;aACF,CAAC,CACH,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,qEAAqE;YACrE,QAAQ,CAAC,mBAAmB,CAC1B,UAAU,CAAC;gBACT;oBACE,IAAI,EAAE,eAAe,CAAC,eAAe;oBACrC,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC;iBAC9C;gBACD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE;wBACL,MAAM,EAAE,YAAY,CAAC,IAAI;wBACzB,aAAa,EAAE;4BACb,gBAAgB,EAAE,EAAE;4BACpB,oBAAoB,EAAE,EAAE;yBACzB;qBACF;iBACF;aACF,CAAC,CACH,CAAC;YACF,4BAA4B;YAC5B,QAAQ,CAAC,mBAAmB,CAC1B,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAClD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAoC,CAAC;YACzE,YAAY,CAAC,qBAAqB,CAAC;gBACjC,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC;aACrD,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,qCAAqC;YACrC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;YAChE,MAAM,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,mBAAmB,CAC1B,UAAU,CAAC;gBACT;oBACE,IAAI,EAAE,eAAe,CAAC,eAAe;oBACrC,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC;iBAC9C;gBACD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE;wBACL,MAAM,EAAE,YAAY,CAAC,IAAI;wBACzB,aAAa,EAAE;4BACb,gBAAgB,EAAE,GAAG;4BACrB,oBAAoB,EAAE,EAAE;yBACzB;qBACF;iBACF;aACF,CAAC,CACH,CAAC;YACF,QAAQ,CAAC,mBAAmB,CAC1B,UAAU,CAAC;gBACT,EAAE,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;gBAChD;oBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE;iBAC/D;aACF,CAAC,CACH,CAAC;YAEF,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAoC,CAAC;YACzE,YAAY,CAAC,qBAAqB,CAAC;gBACjC,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC;aACzD,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,sEAAsE;YACtE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAC/B,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CACpD,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACrD,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBAC/B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CACrB,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CACpD,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAChD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE9B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAgC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAC5D,CAAC;YACF,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,qCAAqC;YACrC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC1D,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBAC/B,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CACrB,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CACpD,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YAC9C,aAA8C,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC9D,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBAC/B,MAAM,aAAa,CAAC;YACtB,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CACrB,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CACpD,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtC,UAAuC,CAAC,IAAI,GAAG,QAAQ,CAAC;YACzD,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBAC/B,MAAM,UAAU,CAAC;YACnB,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CACrB,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CACpD,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAE5B,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAC7C,WAA0C,CAAC,MAAM,GAAG,oBAAoB,CAAC;YAC1E,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE;gBAC/B,MAAM,WAAW,CAAC;YACpB,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAE5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CACrB,CAAC,CAAC,EAA4B,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CACpD,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -83,10 +83,16 @@ export class MockAgentProtocol {
83
83
  (fallbackStreamId ??= `mock-stream-${this._nextStreamId++}`));
84
84
  // 1. User/Update event (BEFORE agent_start)
85
85
  if ('message' in payload && payload.message) {
86
+ const message = Array.isArray(payload.message)
87
+ ? { content: payload.message, displayContent: undefined }
88
+ : payload.message;
89
+ const userContent = message.displayContent
90
+ ? [{ type: 'text', text: message.displayContent }]
91
+ : message.content;
86
92
  eventsToEmit.push(normalize({
87
93
  type: 'message',
88
94
  role: 'user',
89
- content: payload.message,
95
+ content: userContent,
90
96
  _meta: payload._meta,
91
97
  }));
92
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../src/agent/mock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../../src/agent/mock.ts"],"names":[],"mappings":"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"}