@itphx/synth-core 0.2.0 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/definitions/protected-paths.json +36 -0
- package/definitions/shell-policy.json +36 -0
- package/dist/auth/local.d.ts +14 -0
- package/dist/auth/local.d.ts.map +1 -1
- package/dist/auth/local.js +63 -11
- package/dist/auth/local.js.map +1 -1
- package/dist/auth/local.test.js +59 -0
- package/dist/auth/local.test.js.map +1 -1
- package/dist/definitions/protected-paths.json +36 -0
- package/dist/definitions/shell-policy.json +36 -0
- package/dist/engine/agents/definitions/admin.json +3 -1
- package/dist/engine/agents/definitions/analyst.json +3 -1
- package/dist/engine/agents/definitions/assistant.json +2 -2
- package/dist/engine/agents/definitions/auditor.json +4 -1
- package/dist/engine/agents/definitions/developer.json +4 -1
- package/dist/engine/agents/definitions/devops.json +4 -1
- package/dist/engine/agents/definitions/explore.json +3 -3
- package/dist/engine/agents/definitions/general.json +2 -2
- package/dist/engine/agents/definitions/pm.json +5 -1
- package/dist/engine/agents/definitions/qa.json +4 -1
- package/dist/engine/agents/definitions/title.json +2 -2
- package/dist/engine/agents/index.d.ts +4 -0
- package/dist/engine/agents/index.d.ts.map +1 -1
- package/dist/engine/agents/index.js +9 -3
- package/dist/engine/agents/index.js.map +1 -1
- package/dist/engine/agents/mode.d.ts +5 -3
- package/dist/engine/agents/mode.d.ts.map +1 -1
- package/dist/engine/agents/mode.js +6 -6
- package/dist/engine/agents/mode.js.map +1 -1
- package/dist/engine/agents/mode.test.js +9 -3
- package/dist/engine/agents/mode.test.js.map +1 -1
- package/dist/engine/agents/normalize.d.ts +9 -0
- package/dist/engine/agents/normalize.d.ts.map +1 -0
- package/dist/engine/agents/normalize.js +22 -0
- package/dist/engine/agents/normalize.js.map +1 -0
- package/dist/engine/agents/normalize.test.d.ts +2 -0
- package/dist/engine/agents/normalize.test.d.ts.map +1 -0
- package/dist/engine/agents/normalize.test.js +37 -0
- package/dist/engine/agents/normalize.test.js.map +1 -0
- package/dist/engine/agents/registry.d.ts +2 -1
- package/dist/engine/agents/registry.d.ts.map +1 -1
- package/dist/engine/agents/registry.js +7 -6
- package/dist/engine/agents/registry.js.map +1 -1
- package/dist/engine/agents/registry.test.js +24 -0
- package/dist/engine/agents/registry.test.js.map +1 -1
- package/dist/engine/context/config.d.ts +43 -6
- package/dist/engine/context/config.d.ts.map +1 -1
- package/dist/engine/context/config.js +123 -26
- package/dist/engine/context/config.js.map +1 -1
- package/dist/engine/context/config.security.test.d.ts +2 -0
- package/dist/engine/context/config.security.test.d.ts.map +1 -0
- package/dist/engine/context/config.security.test.js +82 -0
- package/dist/engine/context/config.security.test.js.map +1 -0
- package/dist/engine/context/config.test.js +199 -10
- package/dist/engine/context/config.test.js.map +1 -1
- package/dist/engine/context/optimizer.d.ts +20 -1
- package/dist/engine/context/optimizer.d.ts.map +1 -1
- package/dist/engine/context/optimizer.js +63 -29
- package/dist/engine/context/optimizer.js.map +1 -1
- package/dist/engine/context/optimizer.test.js +156 -0
- package/dist/engine/context/optimizer.test.js.map +1 -1
- package/dist/engine/gateway/gateway-provider.d.ts +4 -0
- package/dist/engine/gateway/gateway-provider.d.ts.map +1 -1
- package/dist/engine/gateway/gateway-provider.js +7 -2
- package/dist/engine/gateway/gateway-provider.js.map +1 -1
- package/dist/engine/gateway/gateway-provider.test.js +3 -3
- package/dist/engine/gateway/gateway-provider.test.js.map +1 -1
- package/dist/engine/gateway/input-guard.d.ts.map +1 -1
- package/dist/engine/gateway/input-guard.js +2 -1
- package/dist/engine/gateway/input-guard.js.map +1 -1
- package/dist/engine/gateway/secret-detector.d.ts.map +1 -1
- package/dist/engine/gateway/secret-detector.js +2 -3
- package/dist/engine/gateway/secret-detector.js.map +1 -1
- package/dist/engine/gateway/secret-detector.test.js +4 -4
- package/dist/engine/gateway/secret-detector.test.js.map +1 -1
- package/dist/engine/llm-error.d.ts +23 -0
- package/dist/engine/llm-error.d.ts.map +1 -0
- package/dist/engine/llm-error.js +86 -0
- package/dist/engine/llm-error.js.map +1 -0
- package/dist/engine/llm-error.test.d.ts +2 -0
- package/dist/engine/llm-error.test.d.ts.map +1 -0
- package/dist/engine/llm-error.test.js +101 -0
- package/dist/engine/llm-error.test.js.map +1 -0
- package/dist/engine/orchestrator-deny-abort.test.d.ts +2 -0
- package/dist/engine/orchestrator-deny-abort.test.d.ts.map +1 -0
- package/dist/engine/orchestrator-deny-abort.test.js +414 -0
- package/dist/engine/orchestrator-deny-abort.test.js.map +1 -0
- package/dist/engine/orchestrator-error.test.d.ts +2 -0
- package/dist/engine/orchestrator-error.test.d.ts.map +1 -0
- package/dist/engine/orchestrator-error.test.js +136 -0
- package/dist/engine/orchestrator-error.test.js.map +1 -0
- package/dist/engine/orchestrator.d.ts +123 -10
- package/dist/engine/orchestrator.d.ts.map +1 -1
- package/dist/engine/orchestrator.js +791 -181
- package/dist/engine/orchestrator.js.map +1 -1
- package/dist/engine/orchestrator.test.js +723 -0
- package/dist/engine/orchestrator.test.js.map +1 -1
- package/dist/engine/permission/approval.d.ts.map +1 -1
- package/dist/engine/permission/approval.js +29 -10
- package/dist/engine/permission/approval.js.map +1 -1
- package/dist/engine/permission/approval.test.js +57 -0
- package/dist/engine/permission/approval.test.js.map +1 -1
- package/dist/engine/permission/evaluator.d.ts +13 -0
- package/dist/engine/permission/evaluator.d.ts.map +1 -1
- package/dist/engine/permission/evaluator.js +121 -22
- package/dist/engine/permission/evaluator.js.map +1 -1
- package/dist/engine/permission/evaluator.test.js +188 -4
- package/dist/engine/permission/evaluator.test.js.map +1 -1
- package/dist/engine/permission/groups.d.ts.map +1 -1
- package/dist/engine/permission/groups.js +19 -1
- package/dist/engine/permission/groups.js.map +1 -1
- package/dist/engine/permission/integration.test.js +165 -4
- package/dist/engine/permission/integration.test.js.map +1 -1
- package/dist/engine/plan.integration.test.js +142 -33
- package/dist/engine/plan.integration.test.js.map +1 -1
- package/dist/engine/router/micro/tasks/classify-intent.d.ts.map +1 -1
- package/dist/engine/router/micro/tasks/classify-intent.js +24 -18
- package/dist/engine/router/micro/tasks/classify-intent.js.map +1 -1
- package/dist/engine/router/micro/tasks/classify-intent.test.js +4 -4
- package/dist/engine/router/micro/tasks/classify-intent.test.js.map +1 -1
- package/dist/engine/router/micro/tasks/enum-decision.d.ts.map +1 -1
- package/dist/engine/router/micro/tasks/enum-decision.js +14 -8
- package/dist/engine/router/micro/tasks/enum-decision.js.map +1 -1
- package/dist/engine/router/micro/tasks/enum-decision.test.js +2 -2
- package/dist/engine/router/micro/tasks/enum-decision.test.js.map +1 -1
- package/dist/engine/router/micro/tasks/small-talk.d.ts.map +1 -1
- package/dist/engine/router/micro/tasks/small-talk.js +20 -17
- package/dist/engine/router/micro/tasks/small-talk.js.map +1 -1
- package/dist/engine/router/micro/types.d.ts +2 -0
- package/dist/engine/router/micro/types.d.ts.map +1 -1
- package/dist/engine/router/provider-pool.d.ts +2 -2
- package/dist/engine/router/provider-pool.d.ts.map +1 -1
- package/dist/engine/router/provider-pool.js +5 -3
- package/dist/engine/router/provider-pool.js.map +1 -1
- package/dist/engine/router/quality-checker.d.ts.map +1 -1
- package/dist/engine/router/quality-checker.js +15 -14
- package/dist/engine/router/quality-checker.js.map +1 -1
- package/dist/engine/router/router.d.ts +2 -2
- package/dist/engine/router/router.d.ts.map +1 -1
- package/dist/engine/router/router.js +8 -5
- package/dist/engine/router/router.js.map +1 -1
- package/dist/engine/router/utils.d.ts +2 -2
- package/dist/engine/router/utils.d.ts.map +1 -1
- package/dist/engine/router/utils.js +2 -1
- package/dist/engine/router/utils.js.map +1 -1
- package/dist/engine/security/index.d.ts +6 -0
- package/dist/engine/security/index.d.ts.map +1 -1
- package/dist/engine/security/index.js +3 -0
- package/dist/engine/security/index.js.map +1 -1
- package/dist/engine/security/integration.test.js +11 -11
- package/dist/engine/security/integration.test.js.map +1 -1
- package/dist/engine/security/prompt-injection.d.ts +1 -1
- package/dist/engine/security/prompt-injection.d.ts.map +1 -1
- package/dist/engine/security/prompt-injection.js +2 -1
- package/dist/engine/security/prompt-injection.js.map +1 -1
- package/dist/engine/security/prompt-injection.test.js +1 -1
- package/dist/engine/security/prompt-injection.test.js.map +1 -1
- package/dist/engine/security/protected-paths-store.d.ts +56 -0
- package/dist/engine/security/protected-paths-store.d.ts.map +1 -0
- package/dist/engine/security/protected-paths-store.js +239 -0
- package/dist/engine/security/protected-paths-store.js.map +1 -0
- package/dist/engine/security/protected-paths.d.ts +54 -0
- package/dist/engine/security/protected-paths.d.ts.map +1 -0
- package/dist/engine/security/protected-paths.js +193 -0
- package/dist/engine/security/protected-paths.js.map +1 -0
- package/dist/engine/security/protected-paths.test.d.ts +2 -0
- package/dist/engine/security/protected-paths.test.d.ts.map +1 -0
- package/dist/engine/security/protected-paths.test.js +166 -0
- package/dist/engine/security/protected-paths.test.js.map +1 -0
- package/dist/engine/security/shell-guard.d.ts +117 -0
- package/dist/engine/security/shell-guard.d.ts.map +1 -0
- package/dist/engine/security/shell-guard.js +578 -0
- package/dist/engine/security/shell-guard.js.map +1 -0
- package/dist/engine/security/shell-guard.test.d.ts +2 -0
- package/dist/engine/security/shell-guard.test.d.ts.map +1 -0
- package/dist/engine/security/shell-guard.test.js +378 -0
- package/dist/engine/security/shell-guard.test.js.map +1 -0
- package/dist/engine/system-messages.d.ts +237 -0
- package/dist/engine/system-messages.d.ts.map +1 -0
- package/dist/engine/system-messages.js +276 -0
- package/dist/engine/system-messages.js.map +1 -0
- package/dist/engine/system-messages.test.d.ts +2 -0
- package/dist/engine/system-messages.test.d.ts.map +1 -0
- package/dist/engine/system-messages.test.js +81 -0
- package/dist/engine/system-messages.test.js.map +1 -0
- package/dist/engine/tools/abort.d.ts +21 -0
- package/dist/engine/tools/abort.d.ts.map +1 -0
- package/dist/engine/tools/abort.js +44 -0
- package/dist/engine/tools/abort.js.map +1 -0
- package/dist/engine/tools/classify-conversation.d.ts.map +1 -1
- package/dist/engine/tools/classify-conversation.js +7 -2
- package/dist/engine/tools/classify-conversation.js.map +1 -1
- package/dist/engine/tools/fs-read.d.ts.map +1 -1
- package/dist/engine/tools/fs-read.js +17 -6
- package/dist/engine/tools/fs-read.js.map +1 -1
- package/dist/engine/tools/fs-read.test.js +43 -0
- package/dist/engine/tools/fs-read.test.js.map +1 -1
- package/dist/engine/tools/fs-write.d.ts.map +1 -1
- package/dist/engine/tools/fs-write.js +47 -17
- package/dist/engine/tools/fs-write.js.map +1 -1
- package/dist/engine/tools/git.d.ts +2 -1
- package/dist/engine/tools/git.d.ts.map +1 -1
- package/dist/engine/tools/git.js +85 -17
- package/dist/engine/tools/git.js.map +1 -1
- package/dist/engine/tools/git.test.js +39 -0
- package/dist/engine/tools/git.test.js.map +1 -1
- package/dist/engine/tools/index.d.ts.map +1 -1
- package/dist/engine/tools/index.js +16 -2
- package/dist/engine/tools/index.js.map +1 -1
- package/dist/engine/tools/json-schema.js +38 -0
- package/dist/engine/tools/json-schema.js.map +1 -1
- package/dist/engine/tools/json-schema.test.d.ts +2 -0
- package/dist/engine/tools/json-schema.test.d.ts.map +1 -0
- package/dist/engine/tools/json-schema.test.js +40 -0
- package/dist/engine/tools/json-schema.test.js.map +1 -0
- package/dist/engine/tools/path-utils.d.ts.map +1 -1
- package/dist/engine/tools/path-utils.js +24 -0
- package/dist/engine/tools/path-utils.js.map +1 -1
- package/dist/engine/tools/path-utils.test.js +15 -0
- package/dist/engine/tools/path-utils.test.js.map +1 -1
- package/dist/engine/tools/plan.d.ts +11 -3
- package/dist/engine/tools/plan.d.ts.map +1 -1
- package/dist/engine/tools/plan.js +326 -95
- package/dist/engine/tools/plan.js.map +1 -1
- package/dist/engine/tools/plan.test.js +161 -47
- package/dist/engine/tools/plan.test.js.map +1 -1
- package/dist/engine/tools/project-context.d.ts.map +1 -1
- package/dist/engine/tools/project-context.js +54 -42
- package/dist/engine/tools/project-context.js.map +1 -1
- package/dist/engine/tools/project-context.test.js +37 -22
- package/dist/engine/tools/project-context.test.js.map +1 -1
- package/dist/engine/tools/project-manage.d.ts +24 -0
- package/dist/engine/tools/project-manage.d.ts.map +1 -0
- package/dist/engine/tools/project-manage.js +311 -0
- package/dist/engine/tools/project-manage.js.map +1 -0
- package/dist/engine/tools/project-manage.test.d.ts +2 -0
- package/dist/engine/tools/project-manage.test.d.ts.map +1 -0
- package/dist/engine/tools/project-manage.test.js +196 -0
- package/dist/engine/tools/project-manage.test.js.map +1 -0
- package/dist/engine/tools/read-reference.d.ts.map +1 -1
- package/dist/engine/tools/read-reference.js +10 -5
- package/dist/engine/tools/read-reference.js.map +1 -1
- package/dist/engine/tools/read-reference.test.js +5 -2
- package/dist/engine/tools/read-reference.test.js.map +1 -1
- package/dist/engine/tools/search.d.ts.map +1 -1
- package/dist/engine/tools/search.js +16 -6
- package/dist/engine/tools/search.js.map +1 -1
- package/dist/engine/tools/shell.d.ts.map +1 -1
- package/dist/engine/tools/shell.js +17 -4
- package/dist/engine/tools/shell.js.map +1 -1
- package/dist/engine/tools/shell.test.js +63 -1
- package/dist/engine/tools/shell.test.js.map +1 -1
- package/dist/engine/tools/task-resume.d.ts +93 -0
- package/dist/engine/tools/task-resume.d.ts.map +1 -0
- package/dist/engine/tools/task-resume.js +269 -0
- package/dist/engine/tools/task-resume.js.map +1 -0
- package/dist/engine/tools/task-resume.test.d.ts +2 -0
- package/dist/engine/tools/task-resume.test.d.ts.map +1 -0
- package/dist/engine/tools/task-resume.test.js +423 -0
- package/dist/engine/tools/task-resume.test.js.map +1 -0
- package/dist/engine/tools/task.d.ts +81 -2
- package/dist/engine/tools/task.d.ts.map +1 -1
- package/dist/engine/tools/task.js +898 -471
- package/dist/engine/tools/task.js.map +1 -1
- package/dist/engine/tools/task.test.js +371 -3
- package/dist/engine/tools/task.test.js.map +1 -1
- package/dist/engine/tools/todo.d.ts +27 -1
- package/dist/engine/tools/todo.d.ts.map +1 -1
- package/dist/engine/tools/todo.js +320 -14
- package/dist/engine/tools/todo.js.map +1 -1
- package/dist/engine/tools/todo.test.js +150 -48
- package/dist/engine/tools/todo.test.js.map +1 -1
- package/dist/engine/tools/web.d.ts.map +1 -1
- package/dist/engine/tools/web.js +65 -18
- package/dist/engine/tools/web.js.map +1 -1
- package/dist/engine/tools/web.test.js +94 -2
- package/dist/engine/tools/web.test.js.map +1 -1
- package/dist/events/bus.d.ts +7 -0
- package/dist/events/bus.d.ts.map +1 -1
- package/dist/events/bus.js +26 -3
- package/dist/events/bus.js.map +1 -1
- package/dist/events/bus.test.js +46 -0
- package/dist/events/bus.test.js.map +1 -1
- package/dist/index.d.ts +11 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +0 -1
- package/dist/logger.js.map +1 -1
- package/dist/main.js +250 -10
- package/dist/main.js.map +1 -1
- package/dist/prompts/roles/ADMIN.en.md +12 -11
- package/dist/prompts/roles/ADMIN.ru.md +12 -11
- package/dist/prompts/roles/ANALYST.en.md +12 -11
- package/dist/prompts/roles/ANALYST.ru.md +12 -11
- package/dist/prompts/roles/ASSISTANT.en.md +12 -11
- package/dist/prompts/roles/ASSISTANT.ru.md +12 -11
- package/dist/prompts/roles/AUDITOR.en.md +12 -11
- package/dist/prompts/roles/AUDITOR.ru.md +12 -11
- package/dist/prompts/roles/DEVELOPER.en.md +12 -11
- package/dist/prompts/roles/DEVELOPER.ru.md +12 -11
- package/dist/prompts/roles/DEVOPS.en.md +12 -11
- package/dist/prompts/roles/DEVOPS.ru.md +12 -11
- package/dist/prompts/roles/PM.en.md +12 -11
- package/dist/prompts/roles/PM.ru.md +12 -11
- package/dist/prompts/roles/QA.en.md +12 -11
- package/dist/prompts/roles/QA.ru.md +12 -11
- package/dist/prompts/roles/TITLE.en.md +30 -0
- package/dist/prompts/roles/TITLE.ru.md +3 -11
- package/dist/prompts/security/ask-protected-path.en.md +1 -0
- package/dist/prompts/security/ask-protected-path.ru.md +1 -0
- package/dist/prompts/security/deny-command.en.md +1 -0
- package/dist/prompts/security/deny-command.ru.md +1 -0
- package/dist/prompts/security/deny-protected-dir.en.md +1 -0
- package/dist/prompts/security/deny-protected-dir.ru.md +1 -0
- package/dist/prompts/security/deny-protected-path.en.md +1 -0
- package/dist/prompts/security/deny-protected-path.ru.md +1 -0
- package/dist/prompts/subagents/explore.en.md +23 -0
- package/dist/prompts/subagents/general.en.md +19 -0
- package/dist/prompts/system/MODE_ACT.en.md +20 -0
- package/{prompts/modes/act.md → dist/prompts/system/MODE_ACT.ru.md} +2 -0
- package/dist/prompts/system/MODE_PLAN.en.md +22 -0
- package/dist/prompts/{modes/plan.md → system/MODE_PLAN.ru.md} +4 -3
- package/dist/prompts/system/MODE_YOLO.en.md +22 -0
- package/{prompts/modes/yolo.md → dist/prompts/system/MODE_YOLO.ru.md} +2 -0
- package/dist/prompts/system/PLAN_GUIDE.en.md +36 -0
- package/dist/prompts/system/PLAN_GUIDE.ru.md +33 -0
- package/dist/prompts/system/PLAN_MODE_AUTO.en.md +11 -0
- package/dist/prompts/system/PLAN_MODE_AUTO.ru.md +12 -0
- package/dist/prompts/system/PLAN_MODE_STRICT_APPROVED.en.md +8 -0
- package/dist/prompts/system/PLAN_MODE_STRICT_APPROVED.ru.md +8 -0
- package/dist/prompts/system/PLAN_MODE_STRICT_NOT_APPROVED.en.md +7 -0
- package/dist/prompts/system/PLAN_MODE_STRICT_NOT_APPROVED.ru.md +7 -0
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +28 -2
- package/dist/providers/anthropic.js.map +1 -1
- package/dist/providers/base.d.ts +20 -1
- package/dist/providers/base.d.ts.map +1 -1
- package/dist/providers/base.js +17 -0
- package/dist/providers/base.js.map +1 -1
- package/dist/providers/exceptions.d.ts.map +1 -1
- package/dist/providers/exceptions.js +3 -2
- package/dist/providers/exceptions.js.map +1 -1
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +4 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/ollama.d.ts +23 -0
- package/dist/providers/ollama.d.ts.map +1 -1
- package/dist/providers/ollama.js +128 -12
- package/dist/providers/ollama.js.map +1 -1
- package/dist/providers/ollama.test.d.ts +2 -0
- package/dist/providers/ollama.test.d.ts.map +1 -0
- package/dist/providers/ollama.test.js +129 -0
- package/dist/providers/ollama.test.js.map +1 -0
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +82 -9
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/openai.test.d.ts +2 -0
- package/dist/providers/openai.test.d.ts.map +1 -0
- package/dist/providers/openai.test.js +84 -0
- package/dist/providers/openai.test.js.map +1 -0
- package/dist/providers/remote.d.ts +60 -0
- package/dist/providers/remote.d.ts.map +1 -0
- package/dist/providers/remote.js +394 -0
- package/dist/providers/remote.js.map +1 -0
- package/dist/providers/remote.test.d.ts +2 -0
- package/dist/providers/remote.test.d.ts.map +1 -0
- package/dist/providers/remote.test.js +258 -0
- package/dist/providers/remote.test.js.map +1 -0
- package/dist/providers/stream-error.test.d.ts +2 -0
- package/dist/providers/stream-error.test.d.ts.map +1 -0
- package/dist/providers/stream-error.test.js +63 -0
- package/dist/providers/stream-error.test.js.map +1 -0
- package/dist/providers/timeout.test.d.ts +2 -0
- package/dist/providers/timeout.test.d.ts.map +1 -0
- package/dist/providers/timeout.test.js +129 -0
- package/dist/providers/timeout.test.js.map +1 -0
- package/dist/queue/processor.d.ts +22 -0
- package/dist/queue/processor.d.ts.map +1 -1
- package/dist/queue/processor.js +150 -25
- package/dist/queue/processor.js.map +1 -1
- package/dist/queue/processor.test.d.ts +2 -0
- package/dist/queue/processor.test.d.ts.map +1 -0
- package/dist/queue/processor.test.js +211 -0
- package/dist/queue/processor.test.js.map +1 -0
- package/dist/remote/aggregate.d.ts +43 -0
- package/dist/remote/aggregate.d.ts.map +1 -0
- package/dist/remote/aggregate.js +84 -0
- package/dist/remote/aggregate.js.map +1 -0
- package/dist/remote/aggregate.test.d.ts +2 -0
- package/dist/remote/aggregate.test.d.ts.map +1 -0
- package/dist/remote/aggregate.test.js +120 -0
- package/dist/remote/aggregate.test.js.map +1 -0
- package/dist/remote/client.d.ts +142 -0
- package/dist/remote/client.d.ts.map +1 -0
- package/dist/remote/client.js +290 -0
- package/dist/remote/client.js.map +1 -0
- package/dist/remote/client.test.d.ts +2 -0
- package/dist/remote/client.test.d.ts.map +1 -0
- package/dist/remote/client.test.js +176 -0
- package/dist/remote/client.test.js.map +1 -0
- package/dist/remote/connection.d.ts +66 -0
- package/dist/remote/connection.d.ts.map +1 -0
- package/dist/remote/connection.js +298 -0
- package/dist/remote/connection.js.map +1 -0
- package/dist/remote/connection.test.d.ts +2 -0
- package/dist/remote/connection.test.d.ts.map +1 -0
- package/dist/remote/connection.test.js +323 -0
- package/dist/remote/connection.test.js.map +1 -0
- package/dist/remote/credentials.d.ts +13 -0
- package/dist/remote/credentials.d.ts.map +1 -0
- package/dist/remote/credentials.js +81 -0
- package/dist/remote/credentials.js.map +1 -0
- package/dist/remote/credentials.test.d.ts +2 -0
- package/dist/remote/credentials.test.d.ts.map +1 -0
- package/dist/remote/credentials.test.js +69 -0
- package/dist/remote/credentials.test.js.map +1 -0
- package/dist/remote/device-flow.d.ts +72 -0
- package/dist/remote/device-flow.d.ts.map +1 -0
- package/dist/remote/device-flow.js +229 -0
- package/dist/remote/device-flow.js.map +1 -0
- package/dist/remote/device-flow.test.d.ts +2 -0
- package/dist/remote/device-flow.test.d.ts.map +1 -0
- package/dist/remote/device-flow.test.js +103 -0
- package/dist/remote/device-flow.test.js.map +1 -0
- package/dist/remote/event-bridge.d.ts +46 -0
- package/dist/remote/event-bridge.d.ts.map +1 -0
- package/dist/remote/event-bridge.js +218 -0
- package/dist/remote/event-bridge.js.map +1 -0
- package/dist/remote/event-bridge.test.d.ts +2 -0
- package/dist/remote/event-bridge.test.d.ts.map +1 -0
- package/dist/remote/event-bridge.test.js +240 -0
- package/dist/remote/event-bridge.test.js.map +1 -0
- package/dist/remote/index.d.ts +19 -0
- package/dist/remote/index.d.ts.map +1 -0
- package/dist/remote/index.js +11 -0
- package/dist/remote/index.js.map +1 -0
- package/dist/remote/session.d.ts +72 -0
- package/dist/remote/session.d.ts.map +1 -0
- package/dist/remote/session.js +248 -0
- package/dist/remote/session.js.map +1 -0
- package/dist/remote/session.test.d.ts +2 -0
- package/dist/remote/session.test.d.ts.map +1 -0
- package/dist/remote/session.test.js +482 -0
- package/dist/remote/session.test.js.map +1 -0
- package/dist/remote/transfer.d.ts +75 -0
- package/dist/remote/transfer.d.ts.map +1 -0
- package/dist/remote/transfer.js +491 -0
- package/dist/remote/transfer.js.map +1 -0
- package/dist/remote/transfer.test.d.ts +2 -0
- package/dist/remote/transfer.test.d.ts.map +1 -0
- package/dist/remote/transfer.test.js +416 -0
- package/dist/remote/transfer.test.js.map +1 -0
- package/dist/remote/types.d.ts +28 -0
- package/dist/remote/types.d.ts.map +1 -0
- package/dist/remote/types.js +10 -0
- package/dist/remote/types.js.map +1 -0
- package/dist/server/app.d.ts +62 -1
- package/dist/server/app.d.ts.map +1 -1
- package/dist/server/app.js +393 -27
- package/dist/server/app.js.map +1 -1
- package/dist/server/app.proxy.test.d.ts +2 -0
- package/dist/server/app.proxy.test.d.ts.map +1 -0
- package/dist/server/app.proxy.test.js +193 -0
- package/dist/server/app.proxy.test.js.map +1 -0
- package/dist/server/app.remote.test.d.ts +2 -0
- package/dist/server/app.remote.test.d.ts.map +1 -0
- package/dist/server/app.remote.test.js +674 -0
- package/dist/server/app.remote.test.js.map +1 -0
- package/dist/server/chat.d.ts.map +1 -1
- package/dist/server/chat.js +18 -2
- package/dist/server/chat.js.map +1 -1
- package/dist/server/proxy.d.ts +14 -0
- package/dist/server/proxy.d.ts.map +1 -0
- package/dist/server/proxy.js +93 -0
- package/dist/server/proxy.js.map +1 -0
- package/dist/server/routes/agents.d.ts.map +1 -1
- package/dist/server/routes/agents.js +39 -23
- package/dist/server/routes/agents.js.map +1 -1
- package/dist/server/routes/auth.d.ts +26 -2
- package/dist/server/routes/auth.d.ts.map +1 -1
- package/dist/server/routes/auth.js +269 -36
- package/dist/server/routes/auth.js.map +1 -1
- package/dist/server/routes/auth.test.d.ts +2 -0
- package/dist/server/routes/auth.test.d.ts.map +1 -0
- package/dist/server/routes/auth.test.js +466 -0
- package/dist/server/routes/auth.test.js.map +1 -0
- package/dist/server/routes/fs.d.ts +2 -1
- package/dist/server/routes/fs.d.ts.map +1 -1
- package/dist/server/routes/fs.js +340 -7
- package/dist/server/routes/fs.js.map +1 -1
- package/dist/server/routes/hybrid.d.ts +32 -0
- package/dist/server/routes/hybrid.d.ts.map +1 -0
- package/dist/server/routes/hybrid.js +21 -0
- package/dist/server/routes/hybrid.js.map +1 -0
- package/dist/server/routes/hybrid.test.d.ts +2 -0
- package/dist/server/routes/hybrid.test.d.ts.map +1 -0
- package/dist/server/routes/hybrid.test.js +454 -0
- package/dist/server/routes/hybrid.test.js.map +1 -0
- package/dist/server/routes/messages.d.ts +2 -1
- package/dist/server/routes/messages.d.ts.map +1 -1
- package/dist/server/routes/messages.js +104 -1
- package/dist/server/routes/messages.js.map +1 -1
- package/dist/server/routes/models.cache.test.d.ts +2 -0
- package/dist/server/routes/models.cache.test.d.ts.map +1 -0
- package/dist/server/routes/models.cache.test.js +59 -0
- package/dist/server/routes/models.cache.test.js.map +1 -0
- package/dist/server/routes/models.d.ts +9 -1
- package/dist/server/routes/models.d.ts.map +1 -1
- package/dist/server/routes/models.js +38 -3
- package/dist/server/routes/models.js.map +1 -1
- package/dist/server/routes/models.remote.test.d.ts +2 -0
- package/dist/server/routes/models.remote.test.d.ts.map +1 -0
- package/dist/server/routes/models.remote.test.js +101 -0
- package/dist/server/routes/models.remote.test.js.map +1 -0
- package/dist/server/routes/project-transfer.d.ts +16 -0
- package/dist/server/routes/project-transfer.d.ts.map +1 -0
- package/dist/server/routes/project-transfer.js +141 -0
- package/dist/server/routes/project-transfer.js.map +1 -0
- package/dist/server/routes/project-transfer.test.d.ts +2 -0
- package/dist/server/routes/project-transfer.test.d.ts.map +1 -0
- package/dist/server/routes/project-transfer.test.js +199 -0
- package/dist/server/routes/project-transfer.test.js.map +1 -0
- package/dist/server/routes/projects.d.ts +2 -1
- package/dist/server/routes/projects.d.ts.map +1 -1
- package/dist/server/routes/projects.js +101 -5
- package/dist/server/routes/projects.js.map +1 -1
- package/dist/server/routes/providers.d.ts +1 -1
- package/dist/server/routes/providers.d.ts.map +1 -1
- package/dist/server/routes/providers.js +3 -1
- package/dist/server/routes/providers.js.map +1 -1
- package/dist/server/routes/providers.test.d.ts +2 -0
- package/dist/server/routes/providers.test.d.ts.map +1 -0
- package/dist/server/routes/providers.test.js +58 -0
- package/dist/server/routes/providers.test.js.map +1 -0
- package/dist/server/routes/queue.d.ts +2 -1
- package/dist/server/routes/queue.d.ts.map +1 -1
- package/dist/server/routes/queue.js +180 -18
- package/dist/server/routes/queue.js.map +1 -1
- package/dist/server/routes/sessions.d.ts +9 -1
- package/dist/server/routes/sessions.d.ts.map +1 -1
- package/dist/server/routes/sessions.js +269 -18
- package/dist/server/routes/sessions.js.map +1 -1
- package/dist/server/routes/sessions.test.js +102 -2
- package/dist/server/routes/sessions.test.js.map +1 -1
- package/dist/server/routes/settings.d.ts +6 -1
- package/dist/server/routes/settings.d.ts.map +1 -1
- package/dist/server/routes/settings.js +138 -0
- package/dist/server/routes/settings.js.map +1 -1
- package/dist/server/routes/settings.test.js +65 -1
- package/dist/server/routes/settings.test.js.map +1 -1
- package/dist/server/serialize.d.ts +11 -3
- package/dist/server/serialize.d.ts.map +1 -1
- package/dist/server/serialize.js +11 -3
- package/dist/server/serialize.js.map +1 -1
- package/dist/sessions/auto-title.d.ts +1 -1
- package/dist/sessions/auto-title.d.ts.map +1 -1
- package/dist/sessions/auto-title.js +24 -13
- package/dist/sessions/auto-title.js.map +1 -1
- package/dist/sessions/manager.d.ts +1 -2
- package/dist/sessions/manager.d.ts.map +1 -1
- package/dist/sessions/manager.js +11 -36
- package/dist/sessions/manager.js.map +1 -1
- package/dist/sessions/manager.test.js +2 -10
- package/dist/sessions/manager.test.js.map +1 -1
- package/dist/storage/file-store.d.ts.map +1 -1
- package/dist/storage/file-store.js +2 -6
- package/dist/storage/file-store.js.map +1 -1
- package/dist/storage/file-store.test.js +1 -6
- package/dist/storage/file-store.test.js.map +1 -1
- package/dist/storage/project-store.d.ts.map +1 -1
- package/dist/storage/project-store.js +12 -0
- package/dist/storage/project-store.js.map +1 -1
- package/dist/storage/runtime-settings.d.ts +25 -1
- package/dist/storage/runtime-settings.d.ts.map +1 -1
- package/dist/storage/runtime-settings.js +31 -0
- package/dist/storage/runtime-settings.js.map +1 -1
- package/package.json +10 -5
- package/prompts/roles/TITLE.en.md +30 -0
- package/prompts/security/ask-protected-path.en.md +1 -0
- package/prompts/security/ask-protected-path.ru.md +1 -0
- package/prompts/security/deny-command.en.md +1 -0
- package/prompts/security/deny-command.ru.md +1 -0
- package/prompts/security/deny-protected-dir.en.md +1 -0
- package/prompts/security/deny-protected-dir.ru.md +1 -0
- package/prompts/security/deny-protected-path.en.md +1 -0
- package/prompts/security/deny-protected-path.ru.md +1 -0
- package/prompts/subagents/explore.en.md +23 -0
- package/prompts/subagents/general.en.md +19 -0
- package/prompts/system/MODE_ACT.en.md +20 -0
- package/{dist/prompts/modes/act.md → prompts/system/MODE_ACT.ru.md} +2 -0
- package/prompts/system/MODE_PLAN.en.md +22 -0
- package/{dist/prompts/prompts/modes/plan.md → prompts/system/MODE_PLAN.ru.md} +4 -3
- package/prompts/system/MODE_YOLO.en.md +22 -0
- package/{dist/prompts/prompts/modes/yolo.md → prompts/system/MODE_YOLO.ru.md} +2 -0
- package/prompts/system/PLAN_GUIDE.en.md +36 -0
- package/prompts/system/PLAN_GUIDE.ru.md +33 -0
- package/prompts/system/PLAN_MODE_AUTO.en.md +11 -0
- package/prompts/system/PLAN_MODE_AUTO.ru.md +12 -0
- package/prompts/system/PLAN_MODE_STRICT_APPROVED.en.md +8 -0
- package/prompts/system/PLAN_MODE_STRICT_APPROVED.ru.md +8 -0
- package/prompts/system/PLAN_MODE_STRICT_NOT_APPROVED.en.md +7 -0
- package/prompts/system/PLAN_MODE_STRICT_NOT_APPROVED.ru.md +7 -0
- package/dist/dictionaries/dictionaries/coding.en.yaml +0 -20
- package/dist/dictionaries/dictionaries/coding.ru.yaml +0 -22
- package/dist/dictionaries/dictionaries/coding.tools.yaml +0 -12
- package/dist/dictionaries/dictionaries/enum.en.yaml +0 -54
- package/dist/dictionaries/dictionaries/enum.ru.yaml +0 -67
- package/dist/dictionaries/dictionaries/injection.en.yaml +0 -51
- package/dist/dictionaries/dictionaries/injection.ru.yaml +0 -51
- package/dist/dictionaries/dictionaries/intents.en.yaml +0 -68
- package/dist/dictionaries/dictionaries/intents.ru.yaml +0 -78
- package/dist/dictionaries/dictionaries/research.en.yaml +0 -17
- package/dist/dictionaries/dictionaries/research.ru.yaml +0 -17
- package/dist/dictionaries/dictionaries/small-talk.en.yaml +0 -67
- package/dist/dictionaries/dictionaries/small-talk.ru.yaml +0 -81
- package/dist/prompts/modes/yolo.md +0 -20
- package/dist/prompts/prompts/modes/act.md +0 -18
- package/dist/prompts/prompts/roles/ADMIN.en.md +0 -33
- package/dist/prompts/prompts/roles/ADMIN.ru.md +0 -33
- package/dist/prompts/prompts/roles/ANALYST.en.md +0 -33
- package/dist/prompts/prompts/roles/ANALYST.ru.md +0 -33
- package/dist/prompts/prompts/roles/ASSISTANT.en.md +0 -38
- package/dist/prompts/prompts/roles/ASSISTANT.ru.md +0 -38
- package/dist/prompts/prompts/roles/AUDITOR.en.md +0 -33
- package/dist/prompts/prompts/roles/AUDITOR.ru.md +0 -33
- package/dist/prompts/prompts/roles/DEVELOPER.en.md +0 -42
- package/dist/prompts/prompts/roles/DEVELOPER.ru.md +0 -42
- package/dist/prompts/prompts/roles/DEVOPS.en.md +0 -35
- package/dist/prompts/prompts/roles/DEVOPS.ru.md +0 -35
- package/dist/prompts/prompts/roles/PM.en.md +0 -33
- package/dist/prompts/prompts/roles/PM.ru.md +0 -33
- package/dist/prompts/prompts/roles/QA.en.md +0 -33
- package/dist/prompts/prompts/roles/QA.ru.md +0 -33
- package/dist/prompts/prompts/roles/TITLE.ru.md +0 -30
- package/dist/prompts/prompts/subagents/explore.ru.md +0 -23
- package/dist/prompts/prompts/subagents/general.ru.md +0 -19
- package/dist/prompts/prompts/system/COMPRESSED_DIALOG.en.md +0 -5
- package/dist/prompts/prompts/system/COMPRESSED_DIALOG.ru.md +0 -5
- package/dist/prompts/prompts/system/INTERVIEW.en.md +0 -18
- package/dist/prompts/prompts/system/INTERVIEW.ru.md +0 -18
- package/dist/prompts/prompts/system/PARTICIPANTS_NOTICE.en.md +0 -7
- package/dist/prompts/prompts/system/PARTICIPANTS_NOTICE.ru.md +0 -7
- package/dist/prompts/prompts/system/ROLES_DESCRIPTION.en.md +0 -16
- package/dist/prompts/prompts/system/ROLES_DESCRIPTION.ru.md +0 -16
- package/dist/prompts/prompts/system/ROUTING.en.md +0 -13
- package/dist/prompts/prompts/system/ROUTING.md +0 -6
- package/dist/prompts/prompts/system/ROUTING.ru.md +0 -13
- package/dist/prompts/prompts/system/RULES.en.md +0 -10
- package/dist/prompts/prompts/system/RULES.md +0 -10
- package/dist/prompts/prompts/system/RULES.ru.md +0 -10
- package/dist/prompts/prompts/system/STICKY_NOTES.en.md +0 -6
- package/dist/prompts/prompts/system/STICKY_NOTES.ru.md +0 -6
- package/dist/prompts/prompts/system/SUMMARIZER.en.md +0 -54
- package/dist/prompts/prompts/system/SUMMARIZER.ru.md +0 -54
- package/dist/prompts/prompts/system/USER_CONTEXT.en.md +0 -5
- package/dist/prompts/prompts/system/USER_CONTEXT.ru.md +0 -5
- package/dist/prompts/system/ROUTING.md +0 -6
- package/dist/prompts/system/RULES.md +0 -10
- package/dist/server/routes/i18n.d.ts +0 -3
- package/dist/server/routes/i18n.d.ts.map +0 -1
- package/dist/server/routes/i18n.js +0 -83
- package/dist/server/routes/i18n.js.map +0 -1
- package/prompts/modes/plan.md +0 -20
- package/prompts/system/ROUTING.md +0 -6
- package/prompts/system/RULES.md +0 -10
- /package/dist/prompts/{prompts/system → system}/GATEWAY.en.md +0 -0
- /package/dist/prompts/{prompts/system → system}/GATEWAY.ru.md +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/engine/tools/task.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/engine/tools/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAI7D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI/C,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACjH,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC9H,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG/E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAyClE,MAAM,0BAA0B,GAAG,EAAE,CAAC;AACtC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,0FAA0F;AAC1F,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AACtD,uEAAuE;AACvE,MAAM,CAAC,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AAU5D;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAqC,EACrC,YAAoB,EACpB,QAA4B,EAC5B,gBAAoC;IAEpC,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,GAAG,YAAY,IAAI,IAAI,KAAK,CAAC,CAAC;QACxF,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBAAC,OAAO,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,WAAW,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC;QAC3E,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC;gBAAC,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,MAAM,OAAO,GAAuC;QAClD,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM;QAC1B,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,WAAW;QACpC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM;QAC1B,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ;QAC9B,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM;QAC7B,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM;QAC3B,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM;QAC1B,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM;KAC5B,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM;QACjC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;QAC1D,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,OAAO,EAAE,GAAG,CAAC,SAAS;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAkB,EAClB,eAAuB,EACvB,cAAsB,EACtB,GAAY,EACZ,KAAa,EACb,YAAsB;IAEtB,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG;QACd,UAAU,EAAE,cAAc;QAC1B,OAAO,EAAE,UAAU;QACnB,KAAK;KACN,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAC3D,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,qBAAqB,EAAE;QACvD,GAAG,OAAO;QACV,gBAAgB,EAAE,cAAc;KACjC,CAAC,CAAC;IACH,IAAI,YAAY,EAAE,CAAC;QACjB,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,uBAAuB,EAAE;YACzD,OAAO,EAAE,gBAAgB,CAAC,YAAY,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC,IAAI,EAAE,MAAM;IACZ,WAAW,EACT,sEAAsE;UACpE,kGAAkG;UAClG,kDAAkD;UAClD,0FAA0F;IAC9F,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;QACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QAC/E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QACnE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QAC9E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QACvF,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;aACtE,QAAQ,CAAC,iJAAiJ,CAAC;QAC9J,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;aACtD,QAAQ,CAAC,uEAAuE,CAAC;QACpF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aACzB,QAAQ,CAAC,iCAAiC,CAAC;QAC9C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC5B,QAAQ,CAAC,oCAAoC,CAAC;QACjD,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;aACrE,QAAQ,CAAC,kEAAkE,CAAC;KAChF,CAAC;IACF,YAAY,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC;IACnC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QACtP,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,IAUrB,CAAC;QACF,MAAM,KAAK,GAAG,GAAG,CAAC,KAA8B,CAAC;QAEjD,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,CAAC;YAC9C,OAAO;gBACL,OAAO,EAAE,EAAE,CAAC,uBAAuB,CAAC;gBACpC,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,OAAO,EAAE,EAAE,CAAC,yBAAyB,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7I,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAClE,OAAO;gBACL,OAAO,EAAE,EAAE,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3G,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAgB,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC;QAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,IAAI,cAAc,CAAC;QAC5D,MAAM,YAAY,GAAG,qBAAqB,CACxC,QAAQ,EACR,MAAM,CAAC,aAAa,EACpB,KAAK,CAAC,qBAAqB,EAAE,QAAQ,EACrC,KAAK,CAAC,aAAa,EAAE,gBAAgB,CACtC,CAAC;QACF,MAAM,KAAK,GAA6B,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,0BAA0B,CAAC;QAEjE,gEAAgE;QAChE,MAAM,qBAAqB,GAA6B,EAAE,CAAC;QAC3D,IAAI,MAAM,CAAC,KAAK;YAAE,qBAAqB,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7D,IAAI,MAAM,CAAC,QAAQ;YAAE,qBAAqB,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACtE,IAAI,QAAQ,EAAE,cAAc;YAAE,qBAAqB,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC7F,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC5B,IAAI,MAAM,CAAC,gBAAgB,KAAK,MAAM,EAAE,CAAC;gBACvC,qBAAqB,CAAC,cAAc,GAAG,KAAK,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,qBAAqB,CAAC,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAClE,CAAC;QACH,CAAC;QACD,6EAA6E;QAC7E,MAAM,kBAAkB,GAAG,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC;QACxD,IAAI,kBAAkB,EAAE,OAAO,IAAI,MAAM,CAAC,gBAAgB,KAAK,MAAM,EAAE,CAAC;YACtE,qBAAqB,CAAC,cAAc,GAAG,IAAI,CAAC;YAC5C,sEAAsE;YACtE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,kBAAkB,CAAC,KAAK,EAAE,CAAC;gBAC9C,qBAAqB,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC;YACzD,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,EAAE,CAAC;gBACpD,qBAAqB,CAAC,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,IAAI,cAAkC,CAAC;QACvC,IAAI,aAAa,GAAc,EAAE,CAAC;QAClC,IAAI,eAAe,GAAG,EAAE,CAAC;QAEzB,oFAAoF;QACpF,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE3E,oEAAoE;QACpE,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC7E,IAAI,aAAa,EAAE,CAAC;oBAClB,8DAA8D;oBAC9D,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACzE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBAC1E,CAAC;oBACD,MAAM,aAAa,GAAG,WAAW,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;oBAElG,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;wBAChC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE;4BACnE,KAAK,EAAE,EAAE,CAAC,uBAAuB,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;yBACxE,CAAC,CAAC;wBACH,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;wBAChC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;wBACnC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;wBACrC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;wBAC/B,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAAC;wBACjJ,MAAM,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;wBAC/C,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC;wBACzB,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAChC,CAAC;yBAAM,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;wBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC;wBAC3E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE;4BACnE,YAAY,EAAE,QAAQ;4BACtB,KAAK,EAAE,EAAE,CAAC,uBAAuB,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;yBACxE,CAAC,CAAC;wBACH,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;wBAChC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;wBACnC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;wBACrC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;wBAC/B,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAAC;wBACjJ,MAAM,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;wBAC/C,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC;wBACzB,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAChC,CAAC;yBAAM,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;wBACvC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,EAAE;4BACnE,KAAK,EAAE,EAAE,CAAC,uBAAuB,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;yBACxE,CAAC,CAAC;wBACH,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;wBAChC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;wBACnC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;wBACrC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;wBAC/B,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAAC;wBACjJ,MAAM,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;wBAC/C,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC;wBACzB,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC;wBAE9B,IAAI,CAAC;4BACH,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,gBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;4BACjE,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gCACvB,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,EAAE;oCACpD,GAAG,UAAU;oCACb,EAAE,EAAE,UAAU,EAAE;oCAChB,MAAM,EAAE,OAAO;oCACf,MAAM,EAAE,KAAK;iCACd,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,yDAAyD;wBAC3D,CAAC;wBAED,+DAA+D;wBAC/D,4DAA4D;wBAC5D,CAAC;4BACC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;4BACpE,IAAI,KAAK,EAAE,CAAC;gCACV,IAAI,OAAO,GAAG,KAAK,CAAC;gCACpB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oCACjC,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;wCACtD,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;wCACpB,OAAO,GAAG,IAAI,CAAC;oCACjB,CAAC;gCACH,CAAC;gCACD,IAAI,OAAO,EAAE,CAAC;oCACZ,MAAM,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gCAClD,CAAC;gCACD,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC;4BACjC,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,sBAAsB;wBACtB,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC;4BACrD,KAAK,EAAE,EAAE,CAAC,uBAAuB,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;4BACvE,SAAS,EAAE,aAAa,CAAC,SAAS;4BAClC,MAAM,EAAE,aAAa,CAAC,MAAM;4BAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS;4BACzB,aAAa,EAAE,UAAU;4BACzB,QAAQ,EAAE,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,qBAAqB,EAAE;yBACpJ,CAAC,CAAC;wBACH,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;wBACpC,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;wBACtC,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC;wBAChC,MAAM,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBAChD,cAAc,GAAG,KAAK,CAAC,EAAE,CAAC;oBAC5B,CAAC;oBAED,IAAI,KAAK,CAAC,QAAQ,IAAI,cAAc,EAAE,CAAC;wBACrC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;wBACpE,IAAI,KAAK,EAAE,CAAC;4BACV,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;wBACtF,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,+CAA+C;YACjD,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,MAAM,eAAe,GAAG,CAAC,GAAG,EAAE;YAC5B,IAAI,MAAM,GAAG,YAAY,CAAC;YAE1B,sEAAsE;YACtE,yDAAyD;YACzD,IAAI,WAAW,KAAK,MAAM,IAAI,eAAe,EAAE,CAAC;gBAC9C,MAAM,IAAI,uGAAuG,eAAe,EAAE,CAAC;YACrI,CAAC;YAED,IAAI,WAAW,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC3E,IAAI,UAAU,EAAE,OAAO,EAAE,CAAC;oBACxB,MAAM,IAAI,yBAAyB,UAAU,CAAC,OAAO,EAAE,CAAC;gBAC1D,CAAC;YACH,CAAC;YAED,gEAAgE;YAChE,qEAAqE;YACrE,MAAM,cAAc,GAAG,KAAK,CAAC,qBAAqB,CAAC;YACnD,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,EAAE,OAAO,IAAI,CAAC,cAAc,EAAE,cAAc,KAAK,KAAK,CAAC,CAAC;YACjG,MAAM,iBAAiB,GAAG,cAAc,IAAI,qBAAqB,CAAC,KAAK,IAAI,qBAAqB,CAAC,QAAQ,CAAC;YAC1G,IAAI,iBAAiB,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBAC5C,MAAM,IAAI,GAAG,cAAc,EAAE,QAAQ,IAAI,IAAI,CAAC;gBAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,EAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAEzE,kCAAkC;gBAClC,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC;gBAC9C,MAAM,gBAAgB,GAAG,cAAc,EAAE,cAAc,CAAC;gBACxD,MAAM,YAAY,GAAa,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,GAAsD,EAAE,SAA8C,EAAE,EAAE;oBACtI,IAAI,GAAG,EAAE,QAAQ,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC;wBAChC,YAAY,CAAC,IAAI,CAAC,KAAK,GAAG,gBAAgB,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;oBAC3E,CAAC;yBAAM,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;wBACjD,YAAY,CAAC,IAAI,CAAC,KAAK,GAAG,mBAAmB,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC;oBAC1F,CAAC;gBACH,CAAC,CAAC;gBACF,OAAO,CAAC,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC/D,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gBACzD,OAAO,CAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACrE,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;oBACxC,CAAC,CAAC,kCAAkC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC9D,CAAC,CAAC,EAAE,CAAC;gBAEP,MAAM,YAAY,GAAG,QAAQ;oBAC3B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3E,CAAC,CAAC,CAAC,mBAAmB;wBACnB,0DAA0D;wBAC1D,6DAA6D;wBAC7D,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrC,8EAA8E,CAAC,CAAC;gBAErF,MAAM,IAAI,YAAY,CAAC;YACzB,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,EAAE,CAAC;QAEL,sEAAsE;QACtE,IAAI,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC;QACvC,IAAI,mBAA8F,CAAC;QACnG,MAAM,cAAc,GAAG,KAAK,CAAC,qBAAqB,CAAC;QACnD,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,cAAc,EAAE,cAAc,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;YAC1F,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;oBACvC,eAAe,EAAE,cAAe;oBAChC,WAAW,EAAE,MAAM,CAAC,MAAM;oBAC1B,YAAY,EAAE,eAAe;iBAC9B,CAAC,CAAC;gBACH,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC/D,IAAI,cAAc,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,cAAc,EAAE,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC3H,iBAAiB,GAAG,cAAc,CAAC;oBACnC,mBAAmB,GAAG;wBACpB,YAAY,EAAE,QAAQ,CAAC,YAAY;wBACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;wBAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;qBAC5B,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,iCAAiC;YACnC,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAiB;YAC7B;gBACE,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,QAAiB;gBACvB,OAAO,EAAE,eAAe;gBACxB,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;gBAC1D,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,EAAE;aACb;SACF,CAAC;QAEF,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,QAAQ,CAAC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ;oBAAE,SAAS;gBACzC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAe;YAChC,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,MAAe;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;YAC1D,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE7B,qCAAqC;QACrC,IAAI,cAAc,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAY;oBACvB,EAAE,EAAE,UAAU,EAAE;oBAChB,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,GAAG,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC;oBAC7B,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACpC,OAAO,EAAE,MAAM,CAAC,MAAM;oBACtB,SAAS,EAAE,MAAM,EAAE;oBACnB,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,KAAK,CAAC,eAAe;oBAChC,MAAM,EAAE,KAAK,CAAC,eAAe;iBAC9B,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;gBAC/E,IAAI,OAAO,EAAE,CAAC;oBACZ,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;oBACjC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACnB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;wBACxC,MAAM,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAU,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;oBACpH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,cAAc;YAChB,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,OAAO,WAAW,CAAC;YACjB,YAAY,EAAE,MAAM,CAAC,aAAa;YAClC,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW;YACX,QAAQ;YACR,YAAY;YACZ,eAAe;YACf,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAClC,QAAQ,EAAE,iBAAiB;YAC3B,KAAK;YACL,cAAc;YACd,eAAe,EAAE,KAAK,CAAC,SAAU;YACjC,mBAAmB;YACnB,KAAK;YACL,GAAG;YACH,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAwCF,+EAA+E;AAC/E,KAAK,UAAU,cAAc,CAAC,EAAU,EAAE,SAAwB;IAChE,MAAM,QAAQ,GAAG,GAAG,CAAC;IACrB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,OAAO,MAAM,GAAG,EAAE,EAAE,CAAC;QACnB,IAAI,SAAS,EAAE;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACrF,MAAM,IAAI,QAAQ,CAAC;IACrB,CAAC;IACD,OAAO,SAAS,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAyB;IACzD,MAAM,EACJ,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAChD,YAAY,EAAE,eAAe,EAAE,eAAe,EAC9C,QAAQ,EAAE,iBAAiB,EAC3B,KAAK,EAAE,UAAU,EACjB,cAAc,EAAE,eAAe,EAC/B,KAAK,EAAE,GAAG,GACX,GAAG,MAAM,CAAC;IACX,IAAI,KAAK,GAAG,UAAU,CAAC;IACvB,IAAI,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAE9B,MAAM,iBAAiB,GAAG,CAAC,CAAC,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC,MAAM,CAAC,iBAAiB;QAC1B,CAAC,CAAC,QAAQ,CAAC;IAEb,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK;WACvC,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IACrE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAE7F,0EAA0E;IAC1E,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAE3E,mEAAmE;IACnE,MAAM,QAAQ,GAAiB;QAC7B;YACE,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,QAAiB;YACvB,OAAO,EAAE,eAAe;YACxB,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;YAC1D,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,EAAE;SACb;QACD,GAAG,eAAe;KACnB,CAAC;IAEF,MAAM,WAAW,GAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAE7G,6EAA6E;IAC7E,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,IAAI,GAAG,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IACnF,IAAI,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;QAC7B,WAAW,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,WAAW,EAAE,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,0EAA0E;IAC1E,6EAA6E;IAC7E,yEAAyE;IACzE,mEAAmE;IACnE,MAAM,cAAc,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAClE,MAAM,oBAAoB,GAAG,IAAI,yBAAyB,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,QAAQ,EAAE,CAAC,CAAC;IAC7F,IAAI,gBAAgB,GAAgB,KAAK,CAAC;IAC1C,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,aAAa,GAAa,MAAM,CAAC;IACrC,IAAI,oBAAqG,CAAC;IAC1G,IAAI,cAAc,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YACpE,IAAI,KAAK,EAAE,CAAC;gBACV,gBAAgB,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC;gBACvC,iBAAiB,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAChD,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,IAAI,MAAM,CAAC;gBAClD,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC;YACxD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oCAAoC;QACtC,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,kEAAkE;IAClE,yEAAyE;IACzE,qEAAqE;IACrE,IAAI,gBAAgB,CAAC,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,KAAK,EAAE,CAAC;QAClF,MAAM,QAAQ,GAAiB,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACpC,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;YAC3C,IAAI,iBAAiB,CAAC,QAAQ,EAAE,YAAY,CAAC;gBAAE,SAAS;YACxD,wEAAwE;YACxE,IAAI,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,oBAAoB,EAAE,CAAC;gBACvE,MAAM,YAAY,GAAG,sBAAsB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;gBAC5E,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI;oBAAE,SAAS;YACnD,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,KAAK,GAAG,QAAQ,CAAC;IACnB,CAAC;IAED,sEAAsE;IACtE,+DAA+D;IAC/D,oEAAoE;IACpE,gEAAgE;IAChE,wCAAwC;IACxC,MAAM,oBAAoB,GAAG,KAAK,IAAmB,EAAE;QACrD,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,cAAc;YAAE,OAAO;QACrD,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC3E,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC;gBAClC,MAAM,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAEvD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnB,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,iBAAiB,EAAE;wBACxD,UAAU,EAAE,cAAc;qBAC3B,CAAC,CAAC;oBACH,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,uBAAuB,EAAE;wBAC/D,OAAO,EAAE,gBAAgB,CAAC,YAAY,CAAC;qBACxC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;IACH,CAAC,CAAC;IAEF,mEAAmE;IACnE,MAAM,eAAe,GAAG,KAAK,EAAE,GAAY,EAAiB,EAAE;QAC5D,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,cAAc;YAAE,OAAO;QACrD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAC3E,IAAI,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBACxC,MAAM,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACnH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;QAChB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC9C,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,cAAc,GAAG,KAAK,CAAC;QAE3B,MAAM,oBAAoB,GAA+C,EAAE,CAAC;QAC5E,MAAM,4BAA4B,GAA+C,EAAE,CAAC;QACpF,MAAM,oBAAoB,GAIrB,EAAE,CAAC;QAER,yEAAyE;QACzE,oEAAoE;QACpE,uEAAuE;QACvE,uEAAuE;QACvE,MAAM,aAAa,GAAG,KAAK,EACzB,cAAsB,EACtB,gBAAwB,EACH,EAAE;YACvB,qEAAqE;YACrE,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,eAAe,CAAC;oBACpB,EAAE,EAAE,UAAU,EAAE;oBAChB,IAAI,EAAE,WAAW,CAAC,SAAS;oBAC3B,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;oBACrC,OAAO,EAAE,cAAc;oBACvB,SAAS,EAAE,MAAM,EAAE;oBACnB,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,YAAY;oBACvB,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,QAAQ,EAAE;wBACR,SAAS,EAAE,KAAK,CAAC,QAAQ;wBACzB,OAAO,EAAE,IAAI;wBACb,WAAW,EAAE,IAAI;qBAClB;iBACF,CAAC,CAAC;YACL,CAAC;YAED,iDAAiD;YACjD,MAAM,cAAc,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAC;YAClD,MAAM,eAAe,CAAC;gBACpB,EAAE,EAAE,UAAU,EAAE;gBAChB,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,GAAG,EAAE,CAAC;gBACN,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;gBACrC,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE,MAAM,EAAE;gBACnB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,YAAY;gBACvB,QAAQ,EAAE;oBACR,SAAS,EAAE,KAAK,CAAC,QAAQ;oBACzB,UAAU,EAAE,MAAM;oBAClB,WAAW,EAAE,IAAI;oBACjB,IAAI,EAAE,QAAQ,CAAC,sBAAsB,CAAC;iBACvC;aACF,CAAC,CAAC;YAEH,iCAAiC;YACjC,MAAM,oBAAoB,EAAE,CAAC;YAE7B,8EAA8E;YAC9E,MAAM,cAAc,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC;gBACpD,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBACpD,CAAC,CAAC,MAAM,CAAC;YACX,OAAO;gBACL,OAAO,EAAE;oBACP,eAAe;oBACf,YAAY,WAAW,YAAY;oBACnC,kCAAkC;oBAClC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,qBAAqB,cAAc,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrF,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,qBAAqB,cAAc,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrF,oBAAoB,cAAc,oBAAoB;oBACtD,EAAE,CAAC,gCAAgC,CAAC;oBACpC,gBAAgB;iBACjB,CAAC,IAAI,CAAC,IAAI,CAAC;gBACZ,QAAQ,EAAE;oBACR,aAAa,EAAE,YAAY;oBAC3B,WAAW,EAAE,WAAW;oBACxB,YAAY,EAAE,WAAW;oBACzB,KAAK,EAAE,SAAS;oBAChB,gBAAgB,EAAE,cAAc;oBAChC,UAAU,EAAE,MAAM;oBAClB,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;oBAC9E,cAAc,EAAE,cAAc,IAAI,SAAS;iBAC5C;aACF,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,SAAS,GAAG,iBAAiB,EAAE,CAAC;YACrC,IAAI,SAAS,EAAE;gBAAE,MAAM;YAEvB,IAAI,kBAAkB,GAAG,EAAE,CAAC;YAC5B,IAAI,SAAS,GAA0C,EAAE,CAAC;YAC1D,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,sBAAsB,GAAG,EAAE,CAAC;YAChC,IAAI,uBAAuB,GAAG,CAAC,CAAC;YAEhC,mEAAmE;YACnE,yEAAyE;YACzE,8DAA8D;YAC9D,0EAA0E;YAC1E,yEAAyE;YACzE,oEAAoE;YACpE,qEAAqE;YACrE,IAAI,UAAU,GAAmE,IAAI,CAAC;YACtF,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,gBAAgB,EAAE,OAAO,EAAE,EAAE,CAAC;gBAC7D,IAAI,SAAS,EAAE;oBAAE,MAAM;gBACvB,IAAI,CAAC;oBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,iBAAiB,CAAC,SAAS,CACnD,QAAQ,EACR,YAAY,IAAI,SAAS,EACzB,KAA8C,EAC9C,SAAS,EACT,WAAW,CACZ,EAAE,CAAC;wBACF,IAAI,SAAS,EAAE;4BAAE,MAAM;wBACvB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;4BAClB,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC;4BACnC,SAAS,GAAI,KAA4C,CAAC,SAAmB,IAAI,SAAS,CAAC;wBAC7F,CAAC;6BAAM,CAAC;4BACN,kBAAkB,IAAI,KAAK,CAAC,OAAO,CAAC;4BACpC,MAAM,cAAc,GAAI,KAA4C,CAAC,SAA+B,CAAC;4BACrG,IAAI,cAAc;gCAAE,SAAS,GAAG,cAAc,CAAC;wBACjD,CAAC;wBACD,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAClD,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;wBAC9B,CAAC;wBAED,+DAA+D;wBAC/D,2EAA2E;wBAC3E,IAAI,OAAO,EAAE,CAAC;4BACZ,MAAM,aAAa,GAAG,SAAS,IAAI,EAAE,CAAC;4BACtC,MAAM,WAAW,GAAG,kBAAkB,IAAI,EAAE,CAAC;4BAC7C,IAAI,aAAa,KAAK,sBAAsB,IAAI,WAAW,CAAC,MAAM,KAAK,uBAAuB,EAAE,CAAC;gCAC/F,OAAO,CAAC,mBAAmB,EAAE;oCAC3B,SAAS,EAAE,KAAK,CAAC,QAAQ;oCACzB,UAAU,EAAE,KAAK,CAAC,SAAS;oCAC3B,cAAc,EAAE,KAAK,CAAC,MAAM;oCAC5B,SAAS,EAAE,aAAa;oCACxB,OAAO,EAAE,WAAW;oCACpB,SAAS;iCACV,CAAC,CAAC;gCACH,sBAAsB,GAAG,aAAa,CAAC;gCACvC,uBAAuB,GAAG,WAAW,CAAC,MAAM,CAAC;4BAC/C,CAAC;wBACH,CAAC;oBACH,CAAC;oBACD,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM;gBACR,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,6DAA6D;oBAC7D,kEAAkE;oBAClE,IAAI,SAAS,EAAE;wBAAE,MAAM;oBACvB,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAClE,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBAC7C,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAC;wBACzE,yDAAyD;wBACzD,UAAU,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;wBAC1D,MAAM;oBACR,CAAC;oBACD,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAClF,OAAO,EAAE,CAAC,gBAAgB,EAAE;wBAC1B,SAAS,EAAE,KAAK,CAAC,QAAQ;wBACzB,UAAU,EAAE,KAAK,CAAC,SAAS;wBAC3B,gBAAgB,EAAE,cAAc;wBAChC,cAAc,EAAE,KAAK,CAAC,MAAM;wBAC5B,OAAO;wBACP,WAAW,EAAE,gBAAgB;wBAC7B,QAAQ,EAAE,KAAK;wBACf,UAAU,EAAE,SAAS;wBACrB,KAAK,EAAE,QAAQ;qBAChB,CAAC,CAAC;oBACH,IAAI,MAAM,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC;wBAAE,MAAM;oBAClD,iDAAiD;oBACjD,kBAAkB,GAAG,EAAE,CAAC;oBACxB,SAAS,GAAG,EAAE,CAAC;oBACf,SAAS,GAAG,EAAE,CAAC;oBACf,sBAAsB,GAAG,EAAE,CAAC;oBAC5B,uBAAuB,GAAG,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACf,qEAAqE;gBACrE,mEAAmE;gBACnE,wEAAwE;gBACxE,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;gBACrC,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1E,MAAM,MAAM,GAAG,QAAQ,GAAG,CAAC;oBACzB,CAAC,CAAC,wCAAiD;oBACnD,CAAC,CAAC,0BAAmC,CAAC;gBACxC,MAAM,OAAO,GAAG,QAAQ,GAAG,CAAC;oBAC1B,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1D,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC1B,MAAM,eAAe,CAAC;oBACpB,EAAE,EAAE,UAAU,EAAE;oBAChB,IAAI,EAAE,WAAW,CAAC,KAAK;oBACvB,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAC9B,OAAO,EAAE,OAAO;oBAChB,SAAS,EAAE,MAAM,EAAE;oBACnB,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,KAAK;oBACb,SAAS,EAAE,YAAY;oBACvB,QAAQ,EAAE;wBACR,SAAS,EAAE,KAAK,CAAC,QAAQ;wBACzB,KAAK,EAAE,IAAI;wBACX,QAAQ;wBACR,WAAW,EAAE,gBAAgB;wBAC7B,UAAU,EAAE,UAAU,CAAC,SAAS;wBAChC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;qBAChG;iBACF,CAAC,CAAC;gBACH,MAAM,oBAAoB,EAAE,CAAC;gBAC7B,OAAO;oBACL,OAAO,EAAE;wBACP,eAAe;wBACf,YAAY,WAAW,YAAY;wBACnC,wBAAwB;wBACxB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,qBAAqB,cAAc,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrF,aAAa,QAAQ,aAAa;wBAClC,OAAO;wBACP,gBAAgB;qBACjB,CAAC,IAAI,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE;wBACR,aAAa,EAAE,YAAY;wBAC3B,WAAW,EAAE,WAAW;wBACxB,YAAY,EAAE,WAAW;wBACzB,KAAK,EAAE,SAAS;wBAChB,gBAAgB,EAAE,cAAc;wBAChC,KAAK,EAAE,IAAI;wBACX,QAAQ;wBACR,WAAW,EAAE,gBAAgB;wBAC7B,UAAU,EAAE,UAAU,CAAC,SAAS;wBAChC,UAAU,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;qBAC/E;iBACF,CAAC;YACJ,CAAC;YAED,iEAAiE;YACjE,gEAAgE;YAChE,+DAA+D;YAC/D,iEAAiE;YACjE,6BAA6B;YAC7B,IAAI,SAAS,EAAE,EAAE,CAAC;gBAChB,OAAO,MAAM,aAAa,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;YAC5D,CAAC;YAED,mEAAmE;YACnE,sEAAsE;YACtE,0DAA0D;YAC1D,MAAM,aAAa,GAAG,SAAS,CAAC;YAChC,IAAI,SAAS,EAAE,CAAC;gBACd,oBAAoB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;YAC3E,CAAC;YAED,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,YAAY,GAAG,kBAAkB,CAAC;gBAClC,IAAI,SAAS;oBAAE,iBAAiB,GAAG,SAAS,CAAC;gBAE7C,yDAAyD;gBACzD,IAAI,cAAc,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;oBAC3C,IAAI,CAAC;wBACH,MAAM,YAAY,GAAY;4BAC5B,EAAE,EAAE,UAAU,EAAE;4BAChB,IAAI,EAAE,WAAW,CAAC,SAAS;4BAC3B,GAAG,EAAE,CAAC;4BACN,MAAM,EAAE,OAAO;4BACf,KAAK,EAAE,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;4BACzC,OAAO,EAAE,kBAAkB;4BAC3B,SAAS,EAAE,MAAM,EAAE;4BACnB,QAAQ,EAAE,KAAK;4BACf,MAAM,EAAE,KAAK;4BACb,MAAM,EAAE,KAAK;4BACb,SAAS,EAAE,YAAY;4BACvB,6DAA6D;4BAC7D,uDAAuD;4BACvD,qEAAqE;4BACrE,8DAA8D;4BAC9D,SAAS,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC;gCACxC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;gCAC7D,CAAC,CAAC,SAAS;4BACb,8DAA8D;4BAC9D,iEAAiE;4BACjE,4CAA4C;4BAC5C,QAAQ,EAAE;gCACR,SAAS,EAAE,KAAK,CAAC,QAAQ;gCACzB,GAAG,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCAClF,GAAG,CAAC,4BAA4B,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC/G;yBACF,CAAC;wBACF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;wBACpF,IAAI,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;4BACxC,MAAM,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;wBACnH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,cAAc;oBAChB,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,IAAI,kBAAkB,EAAE,CAAC;gBACvB,4BAA4B,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7E,CAAC;YAED,SAAS,EAAE,CAAC;YAEZ,4DAA4D;YAC5D,IAAI,cAAc,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBAC3C,IAAI,CAAC;oBACH,MAAM,YAAY,GAAY;wBAC5B,EAAE,EAAE,UAAU,EAAE;wBAChB,IAAI,EAAE,WAAW,CAAC,SAAS;wBAC3B,GAAG,EAAE,CAAC;wBACN,MAAM,EAAE,OAAO;wBACf,KAAK,EAAE,CAAC,YAAY,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;wBAC/C,OAAO,EAAE,kBAAkB,IAAI,EAAE;wBACjC,SAAS,EAAE,MAAM,EAAE;wBACnB,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE,KAAK;wBACb,SAAS,EAAE,YAAY;wBACvB,SAAS,EAAE,SAAS,IAAI,SAAS;wBACjC,2DAA2D;wBAC3D,8DAA8D;wBAC9D,2DAA2D;wBAC3D,SAAS;wBACT,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE;qBAC1D,CAAC;oBACF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;oBACpF,IAAI,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;wBAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;wBACxC,MAAM,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;oBACnH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,cAAc;gBAChB,CAAC;YACH,CAAC;YAED,QAAQ,CAAC,IAAI,CAAC;gBACZ,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,kBAAkB,IAAI,EAAE;gBACjC,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;gBAC1D,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,EAAE;gBACZ,OAAO,EAAE,SAAS;aACnB,CAAC,CAAC;YAEH,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAI,EAAE,CAAC,EAAa,IAAI,WAAW,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACpG,MAAM,IAAI,GAAG,EAAE,CAAC,QAAqF,CAAC;gBACtG,IAAI,CAAC,IAAI,EAAE,IAAI;oBAAE,SAAS;gBAE1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC3B,IAAI,QAAiC,CAAC;gBACtC,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;oBACvC,IAAI,CAAC;wBAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC;wBAAC,QAAQ,GAAG,EAAE,CAAC;oBAAC,CAAC;gBACzE,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;gBAClC,CAAC;gBAED,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAE7C,MAAM,OAAO,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1D,MAAM,SAAS,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACtD,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBAEpC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;oBACnB,MAAM,OAAO,GAAe;wBAC1B,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM;wBACpB,OAAO,EAAE,EAAE,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;wBAC3E,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;wBAC1D,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;wBAC5C,UAAU,EAAE,IAAI;qBACjB,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAEvB,IAAI,cAAc,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;wBAC3C,IAAI,CAAC;4BACH,MAAM,aAAa,GAAY;gCAC7B,EAAE,EAAE,UAAU,EAAE;gCAChB,IAAI,EAAE,WAAW,CAAC,IAAI;gCACtB,GAAG,EAAE,CAAC;gCACN,MAAM,EAAE,OAAO;gCACf,KAAK,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gCACtC,OAAO,EAAE,OAAO,CAAC,OAAO;gCACxB,SAAS,EAAE,MAAM,EAAE;gCACnB,QAAQ,EAAE,KAAK;gCACf,MAAM,EAAE,KAAK;gCACb,MAAM,EAAE,KAAK;gCACb,UAAU,EAAE,IAAI;gCAChB,QAAQ,EAAE;oCACR,SAAS,EAAE,KAAK,CAAC,QAAQ;oCACzB,UAAU,EAAE,IAAI;oCAChB,SAAS,EAAE,QAAQ;oCACnB,IAAI,EAAE,QAAQ;iCACf;6BACF,CAAC;4BACF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;4BACrF,IAAI,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gCAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gCACxC,MAAM,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;4BACnH,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;4BACP,cAAc;wBAChB,CAAC;oBACH,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,OAAO,EAAE,CAAC,mBAAmB,EAAE;oBAC7B,SAAS,EAAE,KAAK,CAAC,QAAQ;oBACzB,UAAU,EAAE,KAAK,CAAC,SAAS;oBAC3B,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,QAAQ;oBACd,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,aAAa;oBACxB,8DAA8D;oBAC9D,8DAA8D;oBAC9D,cAAc,EAAE,KAAK,CAAC,MAAM;iBAC7B,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClD,IAAI,UAAsB,CAAC;gBAC3B,IAAI,kBAAkB,GAAG,KAAK,CAAC;gBAE/B,oEAAoE;gBACpE,gEAAgE;gBAChE,MAAM,kBAAkB,GAAG,cAAc,CAAC,KAAK,CAAC;oBAC9C,QAAQ;oBACR,MAAM,EAAE,QAAQ;oBAChB,UAAU,EAAE,GAAG,CAAC,UAAU;oBAC1B,YAAY,EAAE,OAAO,EAAE,YAAY;oBACnC,WAAW,EAAE,gBAAgB;oBAC7B,QAAQ,EAAE,aAAa;oBACvB,YAAY,EAAE,iBAAiB;oBAC/B,eAAe,EAAE,oBAAoB;oBACrC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;oBAC3C,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,SAAS;oBACjD,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;iBACnD,CAAC,CAAC;gBAEH,IAAI,kBAAkB,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;oBACzC,UAAU,GAAG;wBACX,OAAO,EAAE,KAAK,CAAC,aAAa,IAAI,kBAAkB,CAAC,SAAS;4BAC1D,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;mCACnG,sBAAsB,kBAAkB,CAAC,MAAM,EAAE,CAAC;4BACvD,CAAC,CAAC,sBAAsB,kBAAkB,CAAC,MAAM,EAAE;wBACrD,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE;4BACR,GAAG,CAAC,kBAAkB,CAAC,SAAS;gCAC9B,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,YAAY,kBAAkB,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,kBAAkB,CAAC,MAA4C,CAAC,EAAE;gCACtJ,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,gCAAgC,CAAC,EAAE,CAAC;4BACzD,UAAU,EAAE;gCACV,MAAM,EAAE,MAAM;gCACd,MAAM,EAAE,kBAAkB,CAAC,MAAM;gCACjC,YAAY,EAAE,kBAAkB,CAAC,WAAW;6BAC7C;yBACF;qBACF,CAAC;gBACJ,CAAC;qBAAM,IAAI,kBAAkB,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;oBAC/C,4DAA4D;oBAC5D,wDAAwD;oBACxD,MAAM,iBAAiB,GAAG,KAAK,CAAC,aAAa,IAAI,kBAAkB,CAAC,SAAS;wBAC3E,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;+BACnG,kBAAkB,CAAC,MAAM,CAAC;wBAC/B,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;oBAC9B,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,eAAe,CACzD,KAAK,CAAC,SAAU,EAChB;wBACE,UAAU,EAAE,YAAY,IAAI,EAAE;wBAC9B,MAAM,EAAE,IAAI;wBACZ,QAAQ;wBACR,SAAS,EAAE,QAAQ;wBACnB,MAAM,EAAE,iBAAiB;qBAC1B,EACD,iBAAiB,CAAC,YAAY,CAC/B,CAAC;oBACF,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBACtB,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;4BAC5B,qEAAqE;4BACrE,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;4BAC5C,IAAI,cAAc,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gCAC3C,IAAI,CAAC;oCACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;oCACpE,IAAI,KAAK,EAAE,CAAC;wCACV,KAAK,CAAC,QAAQ,CAAC,UAAU,GAAG,EAAE,GAAG,iBAAiB,EAAE,CAAC;wCACrD,MAAM,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oCAClD,CAAC;gCACH,CAAC;gCAAC,MAAM,CAAC;oCACP,cAAc;gCAChB,CAAC;4BACH,CAAC;wBACH,CAAC;wBACD,IAAI,OAAO,EAAE,CAAC;4BACZ,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;4BACvD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gCACrB,UAAU,GAAG;oCACX,OAAO,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oCACnJ,OAAO,EAAE,IAAI;oCACb,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;iCACpE,CAAC;4BACJ,CAAC;iCAAM,CAAC;gCACN,IAAI,CAAC;oCACH,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;wCAC/C,GAAG,GAAG;wCACN,WAAW,EAAE,GAAG,CAAC,WAAW;wCAC5B,KAAK,EAAE,KAA2C;qCACnD,CAAC,CAAC;gCACL,CAAC;gCAAC,OAAO,SAAS,EAAE,CAAC;oCACnB,UAAU,GAAG;wCACX,OAAO,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;wCAC5E,OAAO,EAAE,IAAI;wCACb,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;qCACpE,CAAC;gCACJ,CAAC;4BACH,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,UAAU,GAAG;gCACX,OAAO,EAAE,EAAE,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gCACjD,OAAO,EAAE,IAAI;gCACb,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;6BACnE,CAAC;wBACJ,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO;4BAC1B,CAAC,CAAC,EAAE,CAAC,wBAAwB,CAAC;4BAC9B,CAAC,CAAC,QAAQ,CAAC,aAAa;gCACtB,CAAC,CAAC,EAAE,CAAC,+BAA+B,CAAC;gCACrC,CAAC,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC;wBAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,aAAa,IAAI,kBAAkB,CAAC,SAAS;4BAClE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC;mCACnG,sBAAsB,kBAAkB,CAAC,MAAM,EAAE,CAAC;4BACvD,CAAC,CAAC,sBAAsB,kBAAkB,CAAC,MAAM,EAAE,CAAC;wBACtD,UAAU,GAAG;4BACX,OAAO,EAAE,GAAG,QAAQ,KAAK,GAAG,GAAG;4BAC/B,OAAO,EAAE,IAAI;4BACb,QAAQ,EAAE;gCACR,GAAG,CAAC,kBAAkB,CAAC,SAAS;oCAC9B,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,YAAY,kBAAkB,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,kBAAkB,CAAC,MAA4C,CAAC,EAAE;oCACtJ,CAAC,CAAC,EAAE,CAAC;gCACP,UAAU,EAAE;oCACV,MAAM,EAAE,MAAM;oCACd,MAAM,EAAE,kBAAkB,CAAC,MAAM;oCACjC,YAAY,EAAE,kBAAkB,CAAC,WAAW;iCAC7C;6BACF;yBACF,CAAC;wBACF,kBAAkB,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;oBACpE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,6BAA6B;oBAC7B,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;wBACvD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;4BACrB,UAAU,GAAG;gCACX,OAAO,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gCACnJ,OAAO,EAAE,IAAI;6BACd,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC;gCACH,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE;oCAC/C,GAAG,GAAG;oCACN,WAAW,EAAE,GAAG,CAAC,WAAW;oCAC5B,KAAK,EAAE,KAA2C;iCACnD,CAAC,CAAC;4BACL,CAAC;4BAAC,OAAO,SAAS,EAAE,CAAC;gCACnB,UAAU,GAAG;oCACX,OAAO,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;oCAC5E,OAAO,EAAE,IAAI;oCACb,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;iCACpE,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG;4BACX,OAAO,EAAE,EAAE,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;4BACjD,OAAO,EAAE,IAAI;4BACb,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE;yBACnE,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,OAAO,EAAE,CAAC,kBAAkB,EAAE;oBAC5B,SAAS,EAAE,KAAK,CAAC,QAAQ;oBACzB,UAAU,EAAE,KAAK,CAAC,SAAS;oBAC3B,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,UAAU;oBAClB,SAAS,EAAE,aAAa;oBACxB,cAAc,EAAE,KAAK,CAAC,MAAM;iBAC7B,CAAC,CAAC;gBAEH,oBAAoB,CAAC,IAAI,CAAC;oBACxB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,QAAQ;oBACd,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE;oBACpE,UAAU,EAAE,WAAW;oBACvB,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACtC,SAAS,EAAE,aAAa;iBACzB,CAAC,CAAC;gBAEH,MAAM,gBAAgB,GAAe;oBACnC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM;oBACpB,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;oBAC1D,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;oBAC5C,UAAU,EAAE,IAAI;iBACjB,CAAC;gBACF,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAEhC,0CAA0C;gBAC1C,IAAI,cAAc,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;oBAC3C,IAAI,CAAC;wBACH,MAAM,aAAa,GAAY;4BAC7B,EAAE,EAAE,UAAU,EAAE;4BAChB,IAAI,EAAE,WAAW,CAAC,IAAI;4BACtB,GAAG,EAAE,CAAC;4BACN,MAAM,EAAE,OAAO;4BACf,KAAK,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;4BACzC,OAAO,EAAE,UAAU,CAAC,OAAO;4BAC3B,SAAS,EAAE,MAAM,EAAE;4BACnB,QAAQ,EAAE,KAAK;4BACf,MAAM,EAAE,KAAK;4BACb,MAAM,EAAE,KAAK;4BACb,UAAU,EAAE,IAAI;4BAChB,QAAQ,EAAE;gCACR,SAAS,EAAE,KAAK,CAAC,QAAQ;gCACzB,UAAU,EAAE,IAAI;gCAChB,SAAS,EAAE,QAAQ;gCACnB,IAAI,EAAE,QAAQ;6BACf;yBACF,CAAC;wBACF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;wBACrF,IAAI,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;4BACxC,MAAM,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAE,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;wBACnH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,cAAc;oBAChB,CAAC;gBACH,CAAC;gBAED,wEAAwE;gBACxE,IAAI,kBAAkB,EAAE,CAAC;oBACvB,cAAc,GAAG,IAAI,CAAC;oBACtB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,OAAO,EAAE,CAAC,gBAAgB,EAAE;gBAC1B,SAAS,EAAE,KAAK,CAAC,QAAQ;gBACzB,UAAU,EAAE,KAAK,CAAC,SAAS;gBAC3B,SAAS,EAAE,aAAa;gBACxB,gBAAgB,EAAE,SAAS,CAAC,MAAM;aACnC,CAAC,CAAC;YAEH,IAAI,cAAc;gBAAE,MAAM;QAC5B,CAAC;QAED,sEAAsE;QACtE,iEAAiE;QACjE,gDAAgD;QAChD,IAAI,SAAS,EAAE,EAAE,CAAC;YAChB,OAAO,MAAM,aAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,cAAc,IAAI,CAAC,YAAY,EAAE,CAAC;YACpC,YAAY,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,IAAI,EAAE,CAAC,qBAAqB,CAAC,CAAC;QAEzD,gEAAgE;QAChE,IAAI,MAA2B,CAAC;QAChC,IAAI,QAA4B,CAAC;QACjC,IAAI,aAAa,GAAG,MAAM,CAAC;QAC3B,MAAM,aAAa,GAAG,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC;QACrD,MAAM,iBAAiB,GAAG,KAAK,CAAC,qBAAqB,EAAE,iBAAiB,CAAC;QACzE,MAAM,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,IAAI,aAAa,EAAE,OAAO,IAAI,KAAK,CAAC;QAExF,IAAI,KAAK,CAAC,WAAW,IAAI,iBAAiB,IAAI,YAAY,IAAI,mBAAmB,EAAE,CAAC;YAClF,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,YAAY,EAAE;oBAClE,YAAY,EAAE,mBAAmB,CAAC,YAAY;oBAC9C,SAAS,EAAE,mBAAmB,CAAC,SAAS;oBACxC,MAAM,EAAE,mBAAmB,CAAC,QAAQ;oBACpC,QAAQ,EAAE,mBAAmB,CAAC,QAAQ;iBACvC,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC;gBAChC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;gBACvB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAE3B,2CAA2C;gBAC3C,IAAI,cAAc,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;oBAC3C,IAAI,CAAC;wBACH,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;wBAC3E,IAAI,YAAY,EAAE,CAAC;4BACjB,MAAM,gBAAgB,GAAG,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE;iCAC1D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,SAAS,CAAC,CAAC;4BAC/C,IAAI,gBAAgB,EAAE,CAAC;gCACrB,gBAAgB,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;gCACzC,gBAAgB,CAAC,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;gCAC7C,MAAM,KAAK,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;4BACzD,CAAC;wBACH,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,cAAc;oBAChB,CAAC;gBACH,CAAC;gBAED,wCAAwC;gBACxC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBACnB,MAAM,gBAAgB,GAAG,iBAAiB,EAAE,gBAAgB,IAAI,aAAa,EAAE,gBAAgB,CAAC;oBAChG,MAAM,aAAa,GAAG,iBAAiB,EAAE,aAAa,IAAI,aAAa,EAAE,aAAa,CAAC;oBACvF,IAAI,gBAAgB,IAAI,aAAa,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;wBAC3D,MAAM,UAAU,GAAG;4BACjB,YAAY,EAAE,gBAAgB;4BAC9B,SAAS,EAAE,aAAa;4BACxB,MAAM,EAAE,qBAAqB;4BAC7B,QAAQ,EAAE,SAAS;yBACpB,CAAC;wBACF,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;wBACtE,IAAI,mBAAmB,EAAE,CAAC;4BACxB,IAAI,CAAC;gCACH,iEAAiE;gCACjE,MAAM,UAAU,GAAiB,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC;gCAChD,uDAAuD;gCACvD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gCACtD,IAAI,OAAO;oCAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gCACtC,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAC/C,UAAU,EACV,YAAY,IAAI,SAAS,EACzB,SAAS,EACT,KAAK,CACN,CAAC;gCACF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oCACvB,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC;oCAClC,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;oCACnC,MAAM,GAAG,IAAI,CAAC;oCACd,QAAQ,GAAG,EAAE,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;oCAClH,mBAAmB,GAAG;wCACpB,YAAY,EAAE,gBAAgB;wCAC9B,SAAS,EAAE,aAAa;wCACxB,QAAQ,EAAE,qBAAqB;qCAChC,CAAC;gCACJ,CAAC;4BACH,CAAC;4BAAC,MAAM,CAAC;gCACP,mDAAmD;4BACrD,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,oBAAoB,EAAE,CAAC;QAE7B,iEAAiE;QACjE,MAAM,YAAY,GAAG,MAAM,KAAK,SAAS;YACvC,CAAC,CAAC,kBAAkB,MAAM,aAAa,QAAQ,IAAI,EAAE,OAAO;YAC5D,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,aAAa,GAAG,mBAAmB,IAAI,mBAAmB,CAAC,QAAQ,KAAK,SAAS;YACrF,CAAC,CAAC,wBAAwB,mBAAmB,CAAC,QAAQ,eAAe,mBAAmB,CAAC,YAAY,YAAY,mBAAmB,CAAC,SAAS,OAAO;YACrJ,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,aAAa,GAAG,MAAM,KAAK,KAAK;YACpC,CAAC,CAAC,6CAA6C,QAAQ,IAAI,gBAAgB,EAAE;YAC7E,CAAC,CAAC,EAAE,CAAC;QACP,qEAAqE;QACrE,mDAAmD;QACnD,MAAM,iBAAiB,GAAG,cAAc;YACtC,CAAC,CAAC,qBAAqB,cAAc,uBAAuB;YAC5D,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO;YACL,OAAO,EAAE,2BAA2B,WAAW,eAAe,YAAY,GAAG,aAAa,GAAG,iBAAiB,KAAK,aAAa,GAAG,aAAa,kBAAkB;YAClK,QAAQ,EAAE;gBACR,aAAa,EAAE,YAAY;gBAC3B,WAAW,EAAE,WAAW;gBACxB,YAAY,EAAE,WAAW;gBACzB,KAAK,EAAE,SAAS;gBAChB,gBAAgB,EAAE,cAAc;gBAChC,SAAS,EAAE,iBAAiB,IAAI,SAAS;gBACzC,gBAAgB,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;gBACpF,wBAAwB,EAAE,4BAA4B,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,SAAS;gBAC5G,UAAU,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS;gBAC9E,aAAa,EAAE,YAAY,IAAI,SAAS;gBACxC,OAAO,EAAE,MAAM;gBACf,SAAS,EAAE,QAAQ,IAAI,SAAS;gBAChC,gBAAgB,EAAE,mBAAmB,EAAE,QAAQ;gBAC/C,gBAAgB,EAAE,mBAAmB,EAAE,YAAY;gBACnD,aAAa,EAAE,mBAAmB,EAAE,SAAS;aAC9C;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,EAAE,CAAC,0BAA0B,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACnF,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE;SAC1C,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -19,7 +19,7 @@ function makeMockAgentRegistry(subagents = ['explore']) {
|
|
|
19
19
|
if (subagents.includes(id)) {
|
|
20
20
|
return {
|
|
21
21
|
id,
|
|
22
|
-
agentMode: 'subagent',
|
|
22
|
+
agentMode: ['subagent'],
|
|
23
23
|
subagentPrompt: 'You are a test subagent.',
|
|
24
24
|
maxSteps: 1,
|
|
25
25
|
};
|
|
@@ -191,7 +191,7 @@ describe('taskTool — context modes', () => {
|
|
|
191
191
|
it('возвращает ошибку без provider в ctx.extra', async () => {
|
|
192
192
|
const result = await taskTool.execute({ description: 'test', prompt: 'hello', subagent_type: 'explore' }, { ...baseCtx, extra: {} });
|
|
193
193
|
expect(result.isError).toBe(true);
|
|
194
|
-
expect(result.content).toContain('
|
|
194
|
+
expect(result.content).toContain('provider or agent registry unavailable');
|
|
195
195
|
});
|
|
196
196
|
// ─── SessionManager: mode 'inherit' создаёт форк с сообщениями ─────
|
|
197
197
|
it('inherit mode: child session содержит все сообщения родителя с origin=inherited', async () => {
|
|
@@ -404,7 +404,22 @@ describe('taskTool — context modes', () => {
|
|
|
404
404
|
},
|
|
405
405
|
});
|
|
406
406
|
expect(result.isError).toBe(true);
|
|
407
|
-
expect(result.content).toContain('
|
|
407
|
+
expect(result.content).toContain('not found');
|
|
408
|
+
});
|
|
409
|
+
it('возвращает ошибку, если агент не имеет класса subagent', async () => {
|
|
410
|
+
const result = await taskTool.execute({ description: 'test', prompt: 'hello', subagent_type: 'developer' }, {
|
|
411
|
+
...baseCtx,
|
|
412
|
+
extra: {
|
|
413
|
+
provider: makeMockProvider(),
|
|
414
|
+
agentRegistry: {
|
|
415
|
+
get: () => ({ id: 'developer', agentMode: ['primary'] }),
|
|
416
|
+
getSubagents: () => [{ id: 'explore' }],
|
|
417
|
+
getToolsForAgent: () => [],
|
|
418
|
+
},
|
|
419
|
+
},
|
|
420
|
+
});
|
|
421
|
+
expect(result.isError).toBe(true);
|
|
422
|
+
expect(result.content).toContain('cannot be used as a subagent');
|
|
408
423
|
});
|
|
409
424
|
// ─── EventBus: session.created публикуется в родительскую сессию ──
|
|
410
425
|
it('публикует session.created в EventBus родителя', async () => {
|
|
@@ -704,4 +719,357 @@ describe('taskTool × permissions саб-агента (AD-029)', () => {
|
|
|
704
719
|
unsub();
|
|
705
720
|
});
|
|
706
721
|
});
|
|
722
|
+
/** Провайдер саб-агента: первый вызов — execute_shell с cat ~/.ssh/id_rsa. */
|
|
723
|
+
class MockSubagentShellProvider {
|
|
724
|
+
_calls = 0;
|
|
725
|
+
async *chatAsync() {
|
|
726
|
+
this._calls++;
|
|
727
|
+
if (this._calls === 1) {
|
|
728
|
+
yield {
|
|
729
|
+
content: '',
|
|
730
|
+
isFinal: true,
|
|
731
|
+
toolCalls: [{
|
|
732
|
+
id: 'call_shell',
|
|
733
|
+
function: { name: 'execute_shell', arguments: JSON.stringify({ command: 'cat ~/.ssh/id_rsa' }) },
|
|
734
|
+
}],
|
|
735
|
+
};
|
|
736
|
+
}
|
|
737
|
+
else {
|
|
738
|
+
yield { content: 'готово', isFinal: true, toolCalls: [] };
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
model = 'test-model';
|
|
742
|
+
name = 'test-provider';
|
|
743
|
+
}
|
|
744
|
+
describe('taskTool × shellPolicy саб-агента (B3/B5)', () => {
|
|
745
|
+
let store;
|
|
746
|
+
let sessionManager;
|
|
747
|
+
let eventBus;
|
|
748
|
+
let tmpDir;
|
|
749
|
+
const SHELL_POLICY = {
|
|
750
|
+
deniedPaths: ['~/.ssh/id_rsa'],
|
|
751
|
+
deniedPrefixes: ['~/.ssh'],
|
|
752
|
+
approvalPaths: [],
|
|
753
|
+
deniedCommandPrefixes: [],
|
|
754
|
+
};
|
|
755
|
+
beforeEach(async () => {
|
|
756
|
+
tmpDir = await mkdtemp(join(tmpdir(), 'synth-task-shell-'));
|
|
757
|
+
store = new FileStore({ dataDir: tmpDir });
|
|
758
|
+
sessionManager = new SessionManager(store);
|
|
759
|
+
eventBus = new EventBus();
|
|
760
|
+
});
|
|
761
|
+
afterEach(async () => {
|
|
762
|
+
await rm(tmpDir, { recursive: true, force: true });
|
|
763
|
+
});
|
|
764
|
+
it('B3: shellPolicy родителя применяется к execute_shell саб-агента (deny на cat ~/.ssh/id_rsa)', async () => {
|
|
765
|
+
const parent = await sessionManager.createSession({ title: 'Parent' });
|
|
766
|
+
const toolRegistry = createToolRegistry();
|
|
767
|
+
const result = await taskTool.execute({ description: 'test', prompt: 'прочитай ключ', subagent_type: 'explore' }, {
|
|
768
|
+
sessionId: parent.id,
|
|
769
|
+
messageId: 'm1',
|
|
770
|
+
abortSignal: new AbortController().signal,
|
|
771
|
+
workingDir: tmpDir,
|
|
772
|
+
extra: {
|
|
773
|
+
provider: new MockSubagentShellProvider(),
|
|
774
|
+
sessionManager,
|
|
775
|
+
eventBus,
|
|
776
|
+
sessionId: parent.id,
|
|
777
|
+
agentRegistry: makeMockAgentRegistry(),
|
|
778
|
+
toolRegistry,
|
|
779
|
+
shellPolicy: SHELL_POLICY,
|
|
780
|
+
},
|
|
781
|
+
});
|
|
782
|
+
expect(result.isError).toBeFalsy();
|
|
783
|
+
const childId = result.metadata.child_session_id;
|
|
784
|
+
const child = (await sessionManager.getSession(childId));
|
|
785
|
+
const toolMsg = child.messages.find((m) => m.role === MessageRole.TOOL);
|
|
786
|
+
expect(toolMsg).toBeDefined();
|
|
787
|
+
expect(toolMsg.content).toContain('Permission denied');
|
|
788
|
+
expect(toolMsg.content).toContain('id_rsa');
|
|
789
|
+
});
|
|
790
|
+
it('B5: саб-агент в plan-режиме не получает write/git-тулы (режимная фильтрация)', async () => {
|
|
791
|
+
const parent = await sessionManager.createSession({ title: 'Parent' });
|
|
792
|
+
parent.mode = 'plan';
|
|
793
|
+
await sessionManager.updateSession(parent);
|
|
794
|
+
let capturedTools;
|
|
795
|
+
const capturingProvider = {
|
|
796
|
+
chatAsync: vi.fn().mockImplementation(async function* (_messages, _system, tools) {
|
|
797
|
+
capturedTools = tools;
|
|
798
|
+
yield { isFinal: true, content: 'OK', toolCalls: [] };
|
|
799
|
+
}),
|
|
800
|
+
model: 'test-model',
|
|
801
|
+
name: 'test-provider',
|
|
802
|
+
};
|
|
803
|
+
const toolRegistry = createToolRegistry();
|
|
804
|
+
const agentRegistry = {
|
|
805
|
+
...makeMockAgentRegistry(),
|
|
806
|
+
getToolsForAgent: () => toolRegistry.toLLMFormat(),
|
|
807
|
+
};
|
|
808
|
+
await taskTool.execute({ description: 'test', prompt: 'hello', subagent_type: 'explore', context_mode: 'none' }, {
|
|
809
|
+
sessionId: parent.id,
|
|
810
|
+
messageId: 'm1',
|
|
811
|
+
abortSignal: new AbortController().signal,
|
|
812
|
+
workingDir: tmpDir,
|
|
813
|
+
extra: {
|
|
814
|
+
provider: capturingProvider,
|
|
815
|
+
sessionManager,
|
|
816
|
+
eventBus,
|
|
817
|
+
sessionId: parent.id,
|
|
818
|
+
agentRegistry,
|
|
819
|
+
toolRegistry,
|
|
820
|
+
},
|
|
821
|
+
});
|
|
822
|
+
const names = capturedTools.map((t) => t.function.name);
|
|
823
|
+
expect(names).not.toContain('write_file');
|
|
824
|
+
expect(names).not.toContain('edit_file');
|
|
825
|
+
expect(names).not.toContain('git_commit');
|
|
826
|
+
expect(names).toContain('read_file');
|
|
827
|
+
expect(names).toContain('execute_shell');
|
|
828
|
+
});
|
|
829
|
+
it('B5: в act-режиме список тулов не фильтруется', async () => {
|
|
830
|
+
const parent = await sessionManager.createSession({ title: 'Parent' });
|
|
831
|
+
let capturedTools;
|
|
832
|
+
const capturingProvider = {
|
|
833
|
+
chatAsync: vi.fn().mockImplementation(async function* (_messages, _system, tools) {
|
|
834
|
+
capturedTools = tools;
|
|
835
|
+
yield { isFinal: true, content: 'OK', toolCalls: [] };
|
|
836
|
+
}),
|
|
837
|
+
model: 'test-model',
|
|
838
|
+
name: 'test-provider',
|
|
839
|
+
};
|
|
840
|
+
const toolRegistry = createToolRegistry();
|
|
841
|
+
const agentRegistry = {
|
|
842
|
+
...makeMockAgentRegistry(),
|
|
843
|
+
getToolsForAgent: () => toolRegistry.toLLMFormat(),
|
|
844
|
+
};
|
|
845
|
+
await taskTool.execute({ description: 'test', prompt: 'hello', subagent_type: 'explore', context_mode: 'none' }, {
|
|
846
|
+
sessionId: parent.id,
|
|
847
|
+
messageId: 'm1',
|
|
848
|
+
abortSignal: new AbortController().signal,
|
|
849
|
+
workingDir: tmpDir,
|
|
850
|
+
extra: {
|
|
851
|
+
provider: capturingProvider,
|
|
852
|
+
sessionManager,
|
|
853
|
+
eventBus,
|
|
854
|
+
sessionId: parent.id,
|
|
855
|
+
agentRegistry,
|
|
856
|
+
toolRegistry,
|
|
857
|
+
},
|
|
858
|
+
});
|
|
859
|
+
const names = capturedTools.map((t) => t.function.name);
|
|
860
|
+
expect(names).toContain('write_file');
|
|
861
|
+
expect(names).toContain('git_commit');
|
|
862
|
+
expect(names).toContain('read_file');
|
|
863
|
+
});
|
|
864
|
+
});
|
|
865
|
+
/**
|
|
866
|
+
* Провайдер саб-агента, реагирующий на отмену (cancelToken):
|
|
867
|
+
* итерация 0 — текст + вызов read_file; итерация 1 — длинный стрим,
|
|
868
|
+
* который прекращается сразу после отмены (раньше игнорировал её).
|
|
869
|
+
*/
|
|
870
|
+
function makeAbortableSubagentProvider(state) {
|
|
871
|
+
return {
|
|
872
|
+
model: 'test-model',
|
|
873
|
+
name: 'test-provider',
|
|
874
|
+
chatAsync: vi.fn().mockImplementation(async function* (_messages, _systemPrompt, _tools, _debugCollector, ct) {
|
|
875
|
+
const n = state.calls++;
|
|
876
|
+
if (n === 0) {
|
|
877
|
+
yield {
|
|
878
|
+
isFinal: true,
|
|
879
|
+
content: 'Изучаю файлы проекта...',
|
|
880
|
+
toolCalls: [{
|
|
881
|
+
id: 'sub_call_1',
|
|
882
|
+
function: { name: 'read_file', arguments: JSON.stringify({ file_path: 'a.txt' }) },
|
|
883
|
+
}],
|
|
884
|
+
};
|
|
885
|
+
return;
|
|
886
|
+
}
|
|
887
|
+
yield { isFinal: false, content: 'Частичный ответ: начал работу. ' };
|
|
888
|
+
for (let i = 0; i < 300; i++) {
|
|
889
|
+
if (ct?.cancelled)
|
|
890
|
+
return;
|
|
891
|
+
yield { isFinal: false, content: `фрагмент-${i} ` };
|
|
892
|
+
await new Promise((r) => setTimeout(r, 5));
|
|
893
|
+
}
|
|
894
|
+
yield { isFinal: true, content: 'РАБОТА ЗАВЕРШЕНА ПОЛНОСТЬЮ', toolCalls: [] };
|
|
895
|
+
}),
|
|
896
|
+
};
|
|
897
|
+
}
|
|
898
|
+
describe('taskTool × отмена и ошибки (abort / provider error)', () => {
|
|
899
|
+
let store;
|
|
900
|
+
let sessionManager;
|
|
901
|
+
let eventBus;
|
|
902
|
+
let tmpDir;
|
|
903
|
+
beforeEach(async () => {
|
|
904
|
+
tmpDir = await mkdtemp(join(tmpdir(), 'synth-task-abort-'));
|
|
905
|
+
store = new FileStore({ dataDir: tmpDir });
|
|
906
|
+
sessionManager = new SessionManager(store);
|
|
907
|
+
eventBus = new EventBus();
|
|
908
|
+
});
|
|
909
|
+
afterEach(async () => {
|
|
910
|
+
await rm(tmpDir, { recursive: true, force: true });
|
|
911
|
+
});
|
|
912
|
+
function makeMultiStepRegistry() {
|
|
913
|
+
return {
|
|
914
|
+
get: (id) => {
|
|
915
|
+
if (id === 'explore') {
|
|
916
|
+
return { id, agentMode: ['subagent'], subagentPrompt: 'You are a test subagent.', maxSteps: 5 };
|
|
917
|
+
}
|
|
918
|
+
return undefined;
|
|
919
|
+
},
|
|
920
|
+
getSubagents: () => [{ id: 'explore' }],
|
|
921
|
+
getToolsForAgent: () => [],
|
|
922
|
+
};
|
|
923
|
+
}
|
|
924
|
+
it('abort во время работы task: сабагент останавливается, tool_result содержит маркер отмены, частичный текст, шаги и child_session_id', async () => {
|
|
925
|
+
const parent = await sessionManager.createSession({ title: 'Parent' });
|
|
926
|
+
const state = { calls: 0 };
|
|
927
|
+
const provider = makeAbortableSubagentProvider(state);
|
|
928
|
+
const ac = new AbortController();
|
|
929
|
+
const promise = taskTool.execute({ description: 'long task', prompt: 'hello', subagent_type: 'explore' }, {
|
|
930
|
+
sessionId: parent.id,
|
|
931
|
+
messageId: 'm1',
|
|
932
|
+
abortSignal: ac.signal,
|
|
933
|
+
workingDir: tmpDir,
|
|
934
|
+
extra: {
|
|
935
|
+
provider,
|
|
936
|
+
sessionManager,
|
|
937
|
+
eventBus,
|
|
938
|
+
sessionId: parent.id,
|
|
939
|
+
agentRegistry: makeMultiStepRegistry(),
|
|
940
|
+
toolRegistry: createToolRegistry(),
|
|
941
|
+
},
|
|
942
|
+
});
|
|
943
|
+
// Ждём запуска второй итерации (долгий стрим), затем «Стоп»
|
|
944
|
+
await vi.waitFor(() => expect(state.calls).toBe(2), { timeout: 3000 });
|
|
945
|
+
ac.abort();
|
|
946
|
+
const result = await promise;
|
|
947
|
+
// Сабагент НЕ прошёл все итерации: третья LLM-итерация не началась
|
|
948
|
+
expect(state.calls).toBe(2);
|
|
949
|
+
expect(result.isError).toBeFalsy();
|
|
950
|
+
// tool_result: маркер отмены + частичный текст + шаги + child_session_id
|
|
951
|
+
expect(result.content).toContain('<status>stopped_by_user</status>');
|
|
952
|
+
expect(result.content).toContain('<child_session_id>');
|
|
953
|
+
expect(result.content).toContain('Частичный ответ: начал работу');
|
|
954
|
+
expect(result.content).toContain('<steps_completed>');
|
|
955
|
+
expect(result.content).toContain('read_file');
|
|
956
|
+
expect(result.content).not.toContain('РАБОТА ЗАВЕРШЕНА ПОЛНОСТЬЮ');
|
|
957
|
+
// metadata-маркеры
|
|
958
|
+
expect(result.metadata.stopped_by).toBe('user');
|
|
959
|
+
expect(result.metadata.interrupted).toBe(true);
|
|
960
|
+
expect(result.metadata.child_session_id).toBeDefined();
|
|
961
|
+
const toolCalls = result.metadata.tool_calls;
|
|
962
|
+
expect(toolCalls).toHaveLength(1);
|
|
963
|
+
expect(toolCalls[0].name).toBe('read_file');
|
|
964
|
+
// Частичный стрим оборванной итерации сохранён в истории дочерней сессии
|
|
965
|
+
const childSessionId = result.metadata.child_session_id;
|
|
966
|
+
const child = (await sessionManager.getSession(childSessionId));
|
|
967
|
+
expect(child).toBeDefined();
|
|
968
|
+
const partialMsg = child.messages.find((m) => m.metadata?.partial === true);
|
|
969
|
+
expect(partialMsg).toBeDefined();
|
|
970
|
+
expect(partialMsg.content).toContain('Частичный ответ: начал работу');
|
|
971
|
+
// Промпт и выполненный tool-call тоже в истории дочерней сессии
|
|
972
|
+
expect(child.messages.some((m) => m.role === MessageRole.USER && m.content === 'hello')).toBe(true);
|
|
973
|
+
expect(child.messages.some((m) => m.role === MessageRole.TOOL)).toBe(true);
|
|
974
|
+
// Маркер прерывания
|
|
975
|
+
const stopMarker = child.messages.find((m) => m.metadata?.stopped_by === 'user');
|
|
976
|
+
expect(stopMarker).toBeDefined();
|
|
977
|
+
// Последним сообщением должен быть маркер остановки (частичный текст перед ним)
|
|
978
|
+
expect(child.messages[child.messages.length - 1].metadata?.stopped_by).toBe('user');
|
|
979
|
+
});
|
|
980
|
+
it('abort по внешнему сигналу уже в aborted-состоянии: task немедленно останавливается', async () => {
|
|
981
|
+
const parent = await sessionManager.createSession({ title: 'Parent' });
|
|
982
|
+
const state = { calls: 0 };
|
|
983
|
+
const provider = makeAbortableSubagentProvider(state);
|
|
984
|
+
const ac = new AbortController();
|
|
985
|
+
ac.abort();
|
|
986
|
+
const result = await taskTool.execute({ description: 'pre-aborted', prompt: 'hello', subagent_type: 'explore' }, {
|
|
987
|
+
sessionId: parent.id,
|
|
988
|
+
messageId: 'm1',
|
|
989
|
+
abortSignal: ac.signal,
|
|
990
|
+
workingDir: tmpDir,
|
|
991
|
+
extra: {
|
|
992
|
+
provider,
|
|
993
|
+
sessionManager,
|
|
994
|
+
eventBus,
|
|
995
|
+
sessionId: parent.id,
|
|
996
|
+
agentRegistry: makeMultiStepRegistry(),
|
|
997
|
+
toolRegistry: createToolRegistry(),
|
|
998
|
+
},
|
|
999
|
+
});
|
|
1000
|
+
// Провайдер вообще не вызван — отмена наступила до первого стрима
|
|
1001
|
+
expect(state.calls).toBe(0);
|
|
1002
|
+
expect(result.content).toContain('<status>stopped_by_user</status>');
|
|
1003
|
+
expect(result.content).toContain('<child_session_id>');
|
|
1004
|
+
expect(result.metadata.stopped_by).toBe('user');
|
|
1005
|
+
});
|
|
1006
|
+
it('ошибка провайдера внутри task: tool_result содержит описание ошибки + child_session_id, история дочерней сессии сохранена', async () => {
|
|
1007
|
+
const parent = await sessionManager.createSession({ title: 'Parent' });
|
|
1008
|
+
const provider = {
|
|
1009
|
+
model: 'test-model',
|
|
1010
|
+
name: 'test-provider',
|
|
1011
|
+
chatAsync: vi.fn().mockImplementation(async function* () {
|
|
1012
|
+
yield { isFinal: false, content: '' };
|
|
1013
|
+
throw new Error('provider down');
|
|
1014
|
+
}),
|
|
1015
|
+
};
|
|
1016
|
+
const result = await taskTool.execute({ description: 'broken task', prompt: 'hello', subagent_type: 'explore' }, {
|
|
1017
|
+
sessionId: parent.id,
|
|
1018
|
+
messageId: 'm1',
|
|
1019
|
+
abortSignal: new AbortController().signal,
|
|
1020
|
+
workingDir: tmpDir,
|
|
1021
|
+
extra: {
|
|
1022
|
+
provider,
|
|
1023
|
+
sessionManager,
|
|
1024
|
+
eventBus,
|
|
1025
|
+
sessionId: parent.id,
|
|
1026
|
+
agentRegistry: makeMultiStepRegistry(),
|
|
1027
|
+
toolRegistry: createToolRegistry(),
|
|
1028
|
+
// Быстрый backoff — дефолтные 5/15/30с сделали бы тест медленным
|
|
1029
|
+
retry: { maxRetries: 3, delaysMs: [10, 10, 10] },
|
|
1030
|
+
},
|
|
1031
|
+
});
|
|
1032
|
+
expect(result.isError).toBe(true);
|
|
1033
|
+
expect(result.content).toContain('provider down');
|
|
1034
|
+
expect(result.content).toContain('<status>error</status>');
|
|
1035
|
+
expect(result.content).toContain('<child_session_id>');
|
|
1036
|
+
// Retry исчерпан: 3 попытки прежде чем вернуть ошибку
|
|
1037
|
+
expect(provider.chatAsync).toHaveBeenCalledTimes(3);
|
|
1038
|
+
expect(result.metadata.attempts).toBe(3);
|
|
1039
|
+
expect(result.metadata.max_retries).toBe(3);
|
|
1040
|
+
const childSessionId = result.metadata.child_session_id;
|
|
1041
|
+
expect(childSessionId).toBeDefined();
|
|
1042
|
+
expect(result.metadata.error).toBe(true);
|
|
1043
|
+
// История дочерней сессии сохранена: промпт + сообщение об ошибке
|
|
1044
|
+
const child = (await sessionManager.getSession(childSessionId));
|
|
1045
|
+
expect(child.messages.some((m) => m.role === MessageRole.USER && m.content === 'hello')).toBe(true);
|
|
1046
|
+
const errMsg = child.messages.find((m) => m.metadata?.error === true);
|
|
1047
|
+
expect(errMsg).toBeDefined();
|
|
1048
|
+
expect(errMsg.content).toContain('provider down');
|
|
1049
|
+
expect(errMsg.metadata.attempts).toBe(3);
|
|
1050
|
+
});
|
|
1051
|
+
it('обычный (не прерванный) результат содержит child_session_id в content внутри <task_result>', async () => {
|
|
1052
|
+
const parent = await sessionManager.createSession({ title: 'Parent' });
|
|
1053
|
+
const result = await taskTool.execute({ description: 'test', prompt: 'hello', subagent_type: 'explore', context_mode: 'none' }, {
|
|
1054
|
+
sessionId: parent.id,
|
|
1055
|
+
messageId: 'm1',
|
|
1056
|
+
abortSignal: new AbortController().signal,
|
|
1057
|
+
workingDir: tmpDir,
|
|
1058
|
+
extra: {
|
|
1059
|
+
provider: makeMockProvider(),
|
|
1060
|
+
sessionManager,
|
|
1061
|
+
eventBus,
|
|
1062
|
+
sessionId: parent.id,
|
|
1063
|
+
agentRegistry: makeMockAgentRegistry(),
|
|
1064
|
+
},
|
|
1065
|
+
});
|
|
1066
|
+
expect(result.isError).toBeFalsy();
|
|
1067
|
+
expect(result.content).toContain('<task_result>');
|
|
1068
|
+
expect(result.content).toContain('</task_result>');
|
|
1069
|
+
const match = result.content.match(/<child_session_id>([^<]+)<\/child_session_id>/);
|
|
1070
|
+
expect(match).not.toBeNull();
|
|
1071
|
+
// id из content совпадает с id из metadata
|
|
1072
|
+
expect(match[1]).toBe(result.metadata.child_session_id);
|
|
1073
|
+
});
|
|
1074
|
+
});
|
|
707
1075
|
//# sourceMappingURL=task.test.js.map
|