@contraagent/ui 0.0.0-stage → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +137 -2
- package/custom-elements.json +7286 -0
- package/dist/adapters/check-rows.d.ts +20 -0
- package/dist/adapters/check-rows.d.ts.map +1 -0
- package/dist/adapters/check-rows.js +77 -0
- package/dist/adapters/check-rows.js.map +1 -0
- package/dist/adapters/filters.d.ts +29 -0
- package/dist/adapters/filters.d.ts.map +1 -0
- package/dist/adapters/filters.js +74 -0
- package/dist/adapters/filters.js.map +1 -0
- package/dist/adapters/graph/compound.d.ts +93 -0
- package/dist/adapters/graph/compound.d.ts.map +1 -0
- package/dist/adapters/graph/compound.js +322 -0
- package/dist/adapters/graph/compound.js.map +1 -0
- package/dist/adapters/graph/flow-index.d.ts +54 -0
- package/dist/adapters/graph/flow-index.d.ts.map +1 -0
- package/dist/adapters/graph/flow-index.js +129 -0
- package/dist/adapters/graph/flow-index.js.map +1 -0
- package/dist/adapters/graph/highlight.d.ts +14 -0
- package/dist/adapters/graph/highlight.d.ts.map +1 -0
- package/dist/adapters/graph/highlight.js +33 -0
- package/dist/adapters/graph/highlight.js.map +1 -0
- package/dist/adapters/graph/input.d.ts +50 -0
- package/dist/adapters/graph/input.d.ts.map +1 -0
- package/dist/adapters/graph/input.js +201 -0
- package/dist/adapters/graph/input.js.map +1 -0
- package/dist/adapters/graph/layer.d.ts +33 -0
- package/dist/adapters/graph/layer.d.ts.map +1 -0
- package/dist/adapters/graph/layer.js +94 -0
- package/dist/adapters/graph/layer.js.map +1 -0
- package/dist/adapters/graph/matrix.d.ts +62 -0
- package/dist/adapters/graph/matrix.d.ts.map +1 -0
- package/dist/adapters/graph/matrix.js +96 -0
- package/dist/adapters/graph/matrix.js.map +1 -0
- package/dist/adapters/graph/project.d.ts +49 -0
- package/dist/adapters/graph/project.d.ts.map +1 -0
- package/dist/adapters/graph/project.js +319 -0
- package/dist/adapters/graph/project.js.map +1 -0
- package/dist/adapters/graph/selection.d.ts +31 -0
- package/dist/adapters/graph/selection.d.ts.map +1 -0
- package/dist/adapters/graph/selection.js +48 -0
- package/dist/adapters/graph/selection.js.map +1 -0
- package/dist/adapters/graph/states.d.ts +6 -0
- package/dist/adapters/graph/states.d.ts.map +1 -0
- package/dist/adapters/graph/states.js +5 -0
- package/dist/adapters/graph/states.js.map +1 -0
- package/dist/adapters/graph/types.d.ts +141 -0
- package/dist/adapters/graph/types.d.ts.map +1 -0
- package/dist/adapters/graph/types.js +3 -0
- package/dist/adapters/graph/types.js.map +1 -0
- package/dist/adapters/graph/words.d.ts +48 -0
- package/dist/adapters/graph/words.d.ts.map +1 -0
- package/dist/adapters/graph/words.js +128 -0
- package/dist/adapters/graph/words.js.map +1 -0
- package/dist/adapters/index.d.ts +18 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +23 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/journal-columns.d.ts +21 -0
- package/dist/adapters/journal-columns.d.ts.map +1 -0
- package/dist/adapters/journal-columns.js +179 -0
- package/dist/adapters/journal-columns.js.map +1 -0
- package/dist/adapters/kpi-tiles.d.ts +47 -0
- package/dist/adapters/kpi-tiles.d.ts.map +1 -0
- package/dist/adapters/kpi-tiles.js +173 -0
- package/dist/adapters/kpi-tiles.js.map +1 -0
- package/dist/adapters/lanes.d.ts +31 -0
- package/dist/adapters/lanes.d.ts.map +1 -0
- package/dist/adapters/lanes.js +75 -0
- package/dist/adapters/lanes.js.map +1 -0
- package/dist/adapters/model-shares.d.ts +27 -0
- package/dist/adapters/model-shares.d.ts.map +1 -0
- package/dist/adapters/model-shares.js +52 -0
- package/dist/adapters/model-shares.js.map +1 -0
- package/dist/adapters/panel-body.d.ts +34 -0
- package/dist/adapters/panel-body.d.ts.map +1 -0
- package/dist/adapters/panel-body.js +90 -0
- package/dist/adapters/panel-body.js.map +1 -0
- package/dist/adapters/preflight.d.ts +12 -0
- package/dist/adapters/preflight.d.ts.map +1 -0
- package/dist/adapters/preflight.js +15 -0
- package/dist/adapters/preflight.js.map +1 -0
- package/dist/adapters/task-columns.d.ts +19 -0
- package/dist/adapters/task-columns.d.ts.map +1 -0
- package/dist/adapters/task-columns.js +107 -0
- package/dist/adapters/task-columns.js.map +1 -0
- package/dist/adapters/transcript/index.d.ts +6 -0
- package/dist/adapters/transcript/index.d.ts.map +1 -0
- package/dist/adapters/transcript/index.js +8 -0
- package/dist/adapters/transcript/index.js.map +1 -0
- package/dist/adapters/transcript/model.d.ts +42 -0
- package/dist/adapters/transcript/model.d.ts.map +1 -0
- package/dist/adapters/transcript/model.js +128 -0
- package/dist/adapters/transcript/model.js.map +1 -0
- package/dist/adapters/transcript/rounds.d.ts +15 -0
- package/dist/adapters/transcript/rounds.d.ts.map +1 -0
- package/dist/adapters/transcript/rounds.js +74 -0
- package/dist/adapters/transcript/rounds.js.map +1 -0
- package/dist/adapters/transcript/sections.d.ts +18 -0
- package/dist/adapters/transcript/sections.d.ts.map +1 -0
- package/dist/adapters/transcript/sections.js +69 -0
- package/dist/adapters/transcript/sections.js.map +1 -0
- package/dist/adapters/transcript/web.d.ts +12 -0
- package/dist/adapters/transcript/web.d.ts.map +1 -0
- package/dist/adapters/transcript/web.js +39 -0
- package/dist/adapters/transcript/web.js.map +1 -0
- package/dist/adapters/transcript/who.d.ts +15 -0
- package/dist/adapters/transcript/who.d.ts.map +1 -0
- package/dist/adapters/transcript/who.js +42 -0
- package/dist/adapters/transcript/who.js.map +1 -0
- package/dist/adapters/trends.d.ts +11 -0
- package/dist/adapters/trends.d.ts.map +1 -0
- package/dist/adapters/trends.js +316 -0
- package/dist/adapters/trends.js.map +1 -0
- package/dist/contraagent-ui.js +1028 -0
- package/dist/controllers/locale.d.ts +25 -0
- package/dist/controllers/locale.d.ts.map +1 -0
- package/dist/controllers/locale.js +33 -0
- package/dist/controllers/locale.js.map +1 -0
- package/dist/controllers/shortcuts.d.ts +29 -0
- package/dist/controllers/shortcuts.d.ts.map +1 -0
- package/dist/controllers/shortcuts.js +51 -0
- package/dist/controllers/shortcuts.js.map +1 -0
- package/dist/controllers/stream.d.ts +41 -0
- package/dist/controllers/stream.d.ts.map +1 -0
- package/dist/controllers/stream.js +90 -0
- package/dist/controllers/stream.js.map +1 -0
- package/dist/controllers/task-detail.d.ts +22 -0
- package/dist/controllers/task-detail.d.ts.map +1 -0
- package/dist/controllers/task-detail.js +50 -0
- package/dist/controllers/task-detail.js.map +1 -0
- package/dist/controllers/theme.d.ts +32 -0
- package/dist/controllers/theme.d.ts.map +1 -0
- package/dist/controllers/theme.js +56 -0
- package/dist/controllers/theme.js.map +1 -0
- package/dist/core/events.d.ts +107 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +5 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/i18n.d.ts +21 -0
- package/dist/core/i18n.d.ts.map +1 -0
- package/dist/core/i18n.js +71 -0
- package/dist/core/i18n.js.map +1 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +7 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/memory.d.ts +51 -0
- package/dist/core/memory.d.ts.map +1 -0
- package/dist/core/memory.js +174 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/scroll.d.ts +21 -0
- package/dist/core/scroll.d.ts.map +1 -0
- package/dist/core/scroll.js +74 -0
- package/dist/core/scroll.js.map +1 -0
- package/dist/core/view-route.d.ts +62 -0
- package/dist/core/view-route.d.ts.map +1 -0
- package/dist/core/view-route.js +143 -0
- package/dist/core/view-route.js.map +1 -0
- package/dist/core/view-router.d.ts +27 -0
- package/dist/core/view-router.d.ts.map +1 -0
- package/dist/core/view-router.js +57 -0
- package/dist/core/view-router.js.map +1 -0
- package/dist/define/all.d.ts +13 -0
- package/dist/define/all.d.ts.map +1 -0
- package/dist/define/all.js +14 -0
- package/dist/define/all.js.map +1 -0
- package/dist/define/contracts.d.ts +2 -0
- package/dist/define/contracts.d.ts.map +1 -0
- package/dist/define/contracts.js +3 -0
- package/dist/define/contracts.js.map +1 -0
- package/dist/define/definitions.d.ts +3 -0
- package/dist/define/definitions.d.ts.map +1 -0
- package/dist/define/definitions.js +4 -0
- package/dist/define/definitions.js.map +1 -0
- package/dist/define/journal-table.d.ts +2 -0
- package/dist/define/journal-table.d.ts.map +1 -0
- package/dist/define/journal-table.js +3 -0
- package/dist/define/journal-table.js.map +1 -0
- package/dist/define/kpis.d.ts +2 -0
- package/dist/define/kpis.d.ts.map +1 -0
- package/dist/define/kpis.js +3 -0
- package/dist/define/kpis.js.map +1 -0
- package/dist/define/monitor.d.ts +2 -0
- package/dist/define/monitor.d.ts.map +1 -0
- package/dist/define/monitor.js +3 -0
- package/dist/define/monitor.js.map +1 -0
- package/dist/define/overview.d.ts +2 -0
- package/dist/define/overview.d.ts.map +1 -0
- package/dist/define/overview.js +3 -0
- package/dist/define/overview.js.map +1 -0
- package/dist/define/pipeline-graph.d.ts +2 -0
- package/dist/define/pipeline-graph.d.ts.map +1 -0
- package/dist/define/pipeline-graph.js +3 -0
- package/dist/define/pipeline-graph.js.map +1 -0
- package/dist/define/procs.d.ts +3 -0
- package/dist/define/procs.d.ts.map +1 -0
- package/dist/define/procs.js +4 -0
- package/dist/define/procs.js.map +1 -0
- package/dist/define/task-table.d.ts +2 -0
- package/dist/define/task-table.d.ts.map +1 -0
- package/dist/define/task-table.js +3 -0
- package/dist/define/task-table.js.map +1 -0
- package/dist/define/task-view.d.ts +2 -0
- package/dist/define/task-view.d.ts.map +1 -0
- package/dist/define/task-view.js +3 -0
- package/dist/define/task-view.js.map +1 -0
- package/dist/define/timeline.d.ts +2 -0
- package/dist/define/timeline.d.ts.map +1 -0
- package/dist/define/timeline.js +3 -0
- package/dist/define/timeline.js.map +1 -0
- package/dist/define/transcript.d.ts +2 -0
- package/dist/define/transcript.d.ts.map +1 -0
- package/dist/define/transcript.js +3 -0
- package/dist/define/transcript.js.map +1 -0
- package/dist/elements/lists/ca-contracts.d.ts +46 -0
- package/dist/elements/lists/ca-contracts.d.ts.map +1 -0
- package/dist/elements/lists/ca-contracts.js +199 -0
- package/dist/elements/lists/ca-contracts.js.map +1 -0
- package/dist/elements/lists/ca-definitions.d.ts +41 -0
- package/dist/elements/lists/ca-definitions.d.ts.map +1 -0
- package/dist/elements/lists/ca-definitions.js +182 -0
- package/dist/elements/lists/ca-definitions.js.map +1 -0
- package/dist/elements/lists/ca-journal-table.d.ts +37 -0
- package/dist/elements/lists/ca-journal-table.d.ts.map +1 -0
- package/dist/elements/lists/ca-journal-table.js +170 -0
- package/dist/elements/lists/ca-journal-table.js.map +1 -0
- package/dist/elements/lists/ca-panel-body.d.ts +42 -0
- package/dist/elements/lists/ca-panel-body.d.ts.map +1 -0
- package/dist/elements/lists/ca-panel-body.js +210 -0
- package/dist/elements/lists/ca-panel-body.js.map +1 -0
- package/dist/elements/lists/ca-panel-view.d.ts +21 -0
- package/dist/elements/lists/ca-panel-view.d.ts.map +1 -0
- package/dist/elements/lists/ca-panel-view.js +59 -0
- package/dist/elements/lists/ca-panel-view.js.map +1 -0
- package/dist/elements/lists/ca-proc-tree.d.ts +16 -0
- package/dist/elements/lists/ca-proc-tree.d.ts.map +1 -0
- package/dist/elements/lists/ca-proc-tree.js +63 -0
- package/dist/elements/lists/ca-proc-tree.js.map +1 -0
- package/dist/elements/lists/ca-procs-view.d.ts +27 -0
- package/dist/elements/lists/ca-procs-view.d.ts.map +1 -0
- package/dist/elements/lists/ca-procs-view.js +91 -0
- package/dist/elements/lists/ca-procs-view.js.map +1 -0
- package/dist/elements/lists/ca-task-table.d.ts +33 -0
- package/dist/elements/lists/ca-task-table.d.ts.map +1 -0
- package/dist/elements/lists/ca-task-table.js +115 -0
- package/dist/elements/lists/ca-task-table.js.map +1 -0
- package/dist/elements/lists/index.d.ts +9 -0
- package/dist/elements/lists/index.d.ts.map +1 -0
- package/dist/elements/lists/index.js +9 -0
- package/dist/elements/lists/index.js.map +1 -0
- package/dist/elements/overview/ca-kpis.d.ts +32 -0
- package/dist/elements/overview/ca-kpis.d.ts.map +1 -0
- package/dist/elements/overview/ca-kpis.js +62 -0
- package/dist/elements/overview/ca-kpis.js.map +1 -0
- package/dist/elements/overview/ca-model-usage.d.ts +25 -0
- package/dist/elements/overview/ca-model-usage.d.ts.map +1 -0
- package/dist/elements/overview/ca-model-usage.js +118 -0
- package/dist/elements/overview/ca-model-usage.js.map +1 -0
- package/dist/elements/overview/ca-overview.d.ts +67 -0
- package/dist/elements/overview/ca-overview.d.ts.map +1 -0
- package/dist/elements/overview/ca-overview.js +463 -0
- package/dist/elements/overview/ca-overview.js.map +1 -0
- package/dist/elements/overview/ca-pipeline-graph.d.ts +211 -0
- package/dist/elements/overview/ca-pipeline-graph.d.ts.map +1 -0
- package/dist/elements/overview/ca-pipeline-graph.js +616 -0
- package/dist/elements/overview/ca-pipeline-graph.js.map +1 -0
- package/dist/elements/overview/ca-quota.d.ts +42 -0
- package/dist/elements/overview/ca-quota.d.ts.map +1 -0
- package/dist/elements/overview/ca-quota.js +179 -0
- package/dist/elements/overview/ca-quota.js.map +1 -0
- package/dist/elements/overview/ca-run-driver.d.ts +33 -0
- package/dist/elements/overview/ca-run-driver.d.ts.map +1 -0
- package/dist/elements/overview/ca-run-driver.js +146 -0
- package/dist/elements/overview/ca-run-driver.js.map +1 -0
- package/dist/elements/overview/ca-services.d.ts +25 -0
- package/dist/elements/overview/ca-services.d.ts.map +1 -0
- package/dist/elements/overview/ca-services.js +77 -0
- package/dist/elements/overview/ca-services.js.map +1 -0
- package/dist/elements/overview/ca-spend-breakdown.d.ts +24 -0
- package/dist/elements/overview/ca-spend-breakdown.d.ts.map +1 -0
- package/dist/elements/overview/ca-spend-breakdown.js +108 -0
- package/dist/elements/overview/ca-spend-breakdown.js.map +1 -0
- package/dist/elements/overview/ca-timeline.d.ts +28 -0
- package/dist/elements/overview/ca-timeline.d.ts.map +1 -0
- package/dist/elements/overview/ca-timeline.js +72 -0
- package/dist/elements/overview/ca-timeline.js.map +1 -0
- package/dist/elements/overview/ca-workers.d.ts +23 -0
- package/dist/elements/overview/ca-workers.d.ts.map +1 -0
- package/dist/elements/overview/ca-workers.js +86 -0
- package/dist/elements/overview/ca-workers.js.map +1 -0
- package/dist/elements/overview/index.d.ts +11 -0
- package/dist/elements/overview/index.d.ts.map +1 -0
- package/dist/elements/overview/index.js +11 -0
- package/dist/elements/overview/index.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/actions.d.ts +16 -0
- package/dist/elements/overview/pipeline-graph/actions.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/actions.js +42 -0
- package/dist/elements/overview/pipeline-graph/actions.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/crumbs.d.ts +15 -0
- package/dist/elements/overview/pipeline-graph/crumbs.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/crumbs.js +70 -0
- package/dist/elements/overview/pipeline-graph/crumbs.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/host.d.ts +24 -0
- package/dist/elements/overview/pipeline-graph/host.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/host.js +2 -0
- package/dist/elements/overview/pipeline-graph/host.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/inspector.d.ts +5 -0
- package/dist/elements/overview/pipeline-graph/inspector.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/inspector.js +100 -0
- package/dist/elements/overview/pipeline-graph/inspector.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/outline.d.ts +53 -0
- package/dist/elements/overview/pipeline-graph/outline.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/outline.js +111 -0
- package/dist/elements/overview/pipeline-graph/outline.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/strings.d.ts +11 -0
- package/dist/elements/overview/pipeline-graph/strings.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/strings.js +49 -0
- package/dist/elements/overview/pipeline-graph/strings.js.map +1 -0
- package/dist/elements/overview/pipeline-graph/styles.d.ts +4 -0
- package/dist/elements/overview/pipeline-graph/styles.d.ts.map +1 -0
- package/dist/elements/overview/pipeline-graph/styles.js +96 -0
- package/dist/elements/overview/pipeline-graph/styles.js.map +1 -0
- package/dist/elements/shared/ca-definition.d.ts +26 -0
- package/dist/elements/shared/ca-definition.d.ts.map +1 -0
- package/dist/elements/shared/ca-definition.js +202 -0
- package/dist/elements/shared/ca-definition.js.map +1 -0
- package/dist/elements/shared/contract-parts.d.ts +35 -0
- package/dist/elements/shared/contract-parts.d.ts.map +1 -0
- package/dist/elements/shared/contract-parts.js +167 -0
- package/dist/elements/shared/contract-parts.js.map +1 -0
- package/dist/elements/shared/file-card.d.ts +17 -0
- package/dist/elements/shared/file-card.d.ts.map +1 -0
- package/dist/elements/shared/file-card.js +37 -0
- package/dist/elements/shared/file-card.js.map +1 -0
- package/dist/elements/shared/prompt-text.d.ts +5 -0
- package/dist/elements/shared/prompt-text.d.ts.map +1 -0
- package/dist/elements/shared/prompt-text.js +13 -0
- package/dist/elements/shared/prompt-text.js.map +1 -0
- package/dist/elements/shared/task-chip.d.ts +10 -0
- package/dist/elements/shared/task-chip.d.ts.map +1 -0
- package/dist/elements/shared/task-chip.js +19 -0
- package/dist/elements/shared/task-chip.js.map +1 -0
- package/dist/elements/shell/ca-clock.d.ts +13 -0
- package/dist/elements/shell/ca-clock.d.ts.map +1 -0
- package/dist/elements/shell/ca-clock.js +30 -0
- package/dist/elements/shell/ca-clock.js.map +1 -0
- package/dist/elements/shell/ca-hosts.d.ts +21 -0
- package/dist/elements/shell/ca-hosts.d.ts.map +1 -0
- package/dist/elements/shell/ca-hosts.js +97 -0
- package/dist/elements/shell/ca-hosts.js.map +1 -0
- package/dist/elements/shell/ca-monitor.d.ts +182 -0
- package/dist/elements/shell/ca-monitor.d.ts.map +1 -0
- package/dist/elements/shell/ca-monitor.js +549 -0
- package/dist/elements/shell/ca-monitor.js.map +1 -0
- package/dist/elements/shell/ca-run-picker.d.ts +71 -0
- package/dist/elements/shell/ca-run-picker.d.ts.map +1 -0
- package/dist/elements/shell/ca-run-picker.js +313 -0
- package/dist/elements/shell/ca-run-picker.js.map +1 -0
- package/dist/elements/shell/ca-theme-switch.d.ts +36 -0
- package/dist/elements/shell/ca-theme-switch.d.ts.map +1 -0
- package/dist/elements/shell/ca-theme-switch.js +186 -0
- package/dist/elements/shell/ca-theme-switch.js.map +1 -0
- package/dist/elements/shell/ca-toasts.d.ts +23 -0
- package/dist/elements/shell/ca-toasts.d.ts.map +1 -0
- package/dist/elements/shell/ca-toasts.js +88 -0
- package/dist/elements/shell/ca-toasts.js.map +1 -0
- package/dist/elements/shell/header.d.ts +13 -0
- package/dist/elements/shell/header.d.ts.map +1 -0
- package/dist/elements/shell/header.js +38 -0
- package/dist/elements/shell/header.js.map +1 -0
- package/dist/elements/shell/styles.d.ts +2 -0
- package/dist/elements/shell/styles.d.ts.map +1 -0
- package/dist/elements/shell/styles.js +72 -0
- package/dist/elements/shell/styles.js.map +1 -0
- package/dist/elements/shell/tabs.d.ts +32 -0
- package/dist/elements/shell/tabs.d.ts.map +1 -0
- package/dist/elements/shell/tabs.js +125 -0
- package/dist/elements/shell/tabs.js.map +1 -0
- package/dist/elements/shell/views.d.ts +27 -0
- package/dist/elements/shell/views.d.ts.map +1 -0
- package/dist/elements/shell/views.js +55 -0
- package/dist/elements/shell/views.js.map +1 -0
- package/dist/elements/task/ca-task-view.d.ts +55 -0
- package/dist/elements/task/ca-task-view.d.ts.map +1 -0
- package/dist/elements/task/ca-task-view.js +199 -0
- package/dist/elements/task/ca-task-view.js.map +1 -0
- package/dist/elements/task/ca-transcript.d.ts +74 -0
- package/dist/elements/task/ca-transcript.d.ts.map +1 -0
- package/dist/elements/task/ca-transcript.js +241 -0
- package/dist/elements/task/ca-transcript.js.map +1 -0
- package/dist/elements/task/context.d.ts +57 -0
- package/dist/elements/task/context.d.ts.map +1 -0
- package/dist/elements/task/context.js +61 -0
- package/dist/elements/task/context.js.map +1 -0
- package/dist/elements/task/header.d.ts +9 -0
- package/dist/elements/task/header.d.ts.map +1 -0
- package/dist/elements/task/header.js +291 -0
- package/dist/elements/task/header.js.map +1 -0
- package/dist/elements/task/index.d.ts +3 -0
- package/dist/elements/task/index.d.ts.map +1 -0
- package/dist/elements/task/index.js +3 -0
- package/dist/elements/task/index.js.map +1 -0
- package/dist/elements/task/inputs.d.ts +28 -0
- package/dist/elements/task/inputs.d.ts.map +1 -0
- package/dist/elements/task/inputs.js +27 -0
- package/dist/elements/task/inputs.js.map +1 -0
- package/dist/elements/task/panes/definition.d.ts +5 -0
- package/dist/elements/task/panes/definition.d.ts.map +1 -0
- package/dist/elements/task/panes/definition.js +5 -0
- package/dist/elements/task/panes/definition.js.map +1 -0
- package/dist/elements/task/panes/io.d.ts +8 -0
- package/dist/elements/task/panes/io.d.ts.map +1 -0
- package/dist/elements/task/panes/io.js +184 -0
- package/dist/elements/task/panes/io.js.map +1 -0
- package/dist/elements/task/panes/transcript.d.ts +5 -0
- package/dist/elements/task/panes/transcript.d.ts.map +1 -0
- package/dist/elements/task/panes/transcript.js +29 -0
- package/dist/elements/task/panes/transcript.js.map +1 -0
- package/dist/elements/task/styles.d.ts +2 -0
- package/dist/elements/task/styles.d.ts.map +1 -0
- package/dist/elements/task/styles.js +66 -0
- package/dist/elements/task/styles.js.map +1 -0
- package/dist/elements/trends/ca-trends.d.ts +55 -0
- package/dist/elements/trends/ca-trends.d.ts.map +1 -0
- package/dist/elements/trends/ca-trends.js +213 -0
- package/dist/elements/trends/ca-trends.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/tone.d.ts +29 -0
- package/dist/lib/tone.d.ts.map +1 -0
- package/dist/lib/tone.js +97 -0
- package/dist/lib/tone.js.map +1 -0
- package/dist/lib/trends.d.ts +15 -0
- package/dist/lib/trends.d.ts.map +1 -0
- package/dist/lib/trends.js +36 -0
- package/dist/lib/trends.js.map +1 -0
- package/dist/locales/codes.d.ts +14 -0
- package/dist/locales/codes.d.ts.map +1 -0
- package/dist/locales/codes.js +21 -0
- package/dist/locales/codes.js.map +1 -0
- package/dist/locales/ja.d.ts +785 -0
- package/dist/locales/ja.d.ts.map +1 -0
- package/dist/locales/ja.js +791 -0
- package/dist/locales/ja.js.map +1 -0
- package/dist/words/api-error.d.ts +4 -0
- package/dist/words/api-error.d.ts.map +1 -0
- package/dist/words/api-error.js +13 -0
- package/dist/words/api-error.js.map +1 -0
- package/dist/words/attempts.d.ts +17 -0
- package/dist/words/attempts.d.ts.map +1 -0
- package/dist/words/attempts.js +26 -0
- package/dist/words/attempts.js.map +1 -0
- package/dist/words/causes.d.ts +33 -0
- package/dist/words/causes.d.ts.map +1 -0
- package/dist/words/causes.js +58 -0
- package/dist/words/causes.js.map +1 -0
- package/dist/words/changes.d.ts +9 -0
- package/dist/words/changes.d.ts.map +1 -0
- package/dist/words/changes.js +23 -0
- package/dist/words/changes.js.map +1 -0
- package/dist/words/claims.d.ts +9 -0
- package/dist/words/claims.d.ts.map +1 -0
- package/dist/words/claims.js +12 -0
- package/dist/words/claims.js.map +1 -0
- package/dist/words/context.d.ts +18 -0
- package/dist/words/context.d.ts.map +1 -0
- package/dist/words/context.js +39 -0
- package/dist/words/context.js.map +1 -0
- package/dist/words/contract.d.ts +25 -0
- package/dist/words/contract.d.ts.map +1 -0
- package/dist/words/contract.js +52 -0
- package/dist/words/contract.js.map +1 -0
- package/dist/words/credential.d.ts +5 -0
- package/dist/words/credential.d.ts.map +1 -0
- package/dist/words/credential.js +7 -0
- package/dist/words/credential.js.map +1 -0
- package/dist/words/executor.d.ts +12 -0
- package/dist/words/executor.d.ts.map +1 -0
- package/dist/words/executor.js +20 -0
- package/dist/words/executor.js.map +1 -0
- package/dist/words/export.d.ts +8 -0
- package/dist/words/export.d.ts.map +1 -0
- package/dist/words/export.js +17 -0
- package/dist/words/export.js.map +1 -0
- package/dist/words/format.d.ts +36 -0
- package/dist/words/format.d.ts.map +1 -0
- package/dist/words/format.js +109 -0
- package/dist/words/format.js.map +1 -0
- package/dist/words/hops.d.ts +12 -0
- package/dist/words/hops.d.ts.map +1 -0
- package/dist/words/hops.js +27 -0
- package/dist/words/hops.js.map +1 -0
- package/dist/words/hosts.d.ts +18 -0
- package/dist/words/hosts.d.ts.map +1 -0
- package/dist/words/hosts.js +22 -0
- package/dist/words/hosts.js.map +1 -0
- package/dist/words/index.d.ts +28 -0
- package/dist/words/index.d.ts.map +1 -0
- package/dist/words/index.js +32 -0
- package/dist/words/index.js.map +1 -0
- package/dist/words/models.d.ts +10 -0
- package/dist/words/models.d.ts.map +1 -0
- package/dist/words/models.js +45 -0
- package/dist/words/models.js.map +1 -0
- package/dist/words/outcome.d.ts +14 -0
- package/dist/words/outcome.d.ts.map +1 -0
- package/dist/words/outcome.js +58 -0
- package/dist/words/outcome.js.map +1 -0
- package/dist/words/panels.d.ts +17 -0
- package/dist/words/panels.d.ts.map +1 -0
- package/dist/words/panels.js +63 -0
- package/dist/words/panels.js.map +1 -0
- package/dist/words/passes.d.ts +11 -0
- package/dist/words/passes.d.ts.map +1 -0
- package/dist/words/passes.js +13 -0
- package/dist/words/passes.js.map +1 -0
- package/dist/words/preflight.d.ts +28 -0
- package/dist/words/preflight.d.ts.map +1 -0
- package/dist/words/preflight.js +30 -0
- package/dist/words/preflight.js.map +1 -0
- package/dist/words/priority.d.ts +5 -0
- package/dist/words/priority.d.ts.map +1 -0
- package/dist/words/priority.js +7 -0
- package/dist/words/priority.js.map +1 -0
- package/dist/words/prompt.d.ts +10 -0
- package/dist/words/prompt.d.ts.map +1 -0
- package/dist/words/prompt.js +17 -0
- package/dist/words/prompt.js.map +1 -0
- package/dist/words/quota.d.ts +35 -0
- package/dist/words/quota.d.ts.map +1 -0
- package/dist/words/quota.js +102 -0
- package/dist/words/quota.js.map +1 -0
- package/dist/words/rests.d.ts +26 -0
- package/dist/words/rests.d.ts.map +1 -0
- package/dist/words/rests.js +77 -0
- package/dist/words/rests.js.map +1 -0
- package/dist/words/rounds.d.ts +14 -0
- package/dist/words/rounds.d.ts.map +1 -0
- package/dist/words/rounds.js +60 -0
- package/dist/words/rounds.js.map +1 -0
- package/dist/words/row-extras.d.ts +7 -0
- package/dist/words/row-extras.d.ts.map +1 -0
- package/dist/words/row-extras.js +26 -0
- package/dist/words/row-extras.js.map +1 -0
- package/dist/words/run-line.d.ts +40 -0
- package/dist/words/run-line.d.ts.map +1 -0
- package/dist/words/run-line.js +66 -0
- package/dist/words/run-line.js.map +1 -0
- package/dist/words/services.d.ts +16 -0
- package/dist/words/services.d.ts.map +1 -0
- package/dist/words/services.js +45 -0
- package/dist/words/services.js.map +1 -0
- package/dist/words/stop.d.ts +6 -0
- package/dist/words/stop.d.ts.map +1 -0
- package/dist/words/stop.js +69 -0
- package/dist/words/stop.js.map +1 -0
- package/dist/words/table.d.ts +4 -0
- package/dist/words/table.d.ts.map +1 -0
- package/dist/words/table.js +8 -0
- package/dist/words/table.js.map +1 -0
- package/dist/words/task-definition.d.ts +23 -0
- package/dist/words/task-definition.d.ts.map +1 -0
- package/dist/words/task-definition.js +27 -0
- package/dist/words/task-definition.js.map +1 -0
- package/dist/words/time-box.d.ts +8 -0
- package/dist/words/time-box.d.ts.map +1 -0
- package/dist/words/time-box.js +12 -0
- package/dist/words/time-box.js.map +1 -0
- package/dist/words/trends.d.ts +86 -0
- package/dist/words/trends.d.ts.map +1 -0
- package/dist/words/trends.js +104 -0
- package/dist/words/trends.js.map +1 -0
- package/docs/embed.md +121 -0
- package/docs/events.md +38 -0
- package/docs/examples/embed.html +31 -0
- package/docs/examples/journal.ts +32 -0
- package/docs/examples/live-transcript.ts +22 -0
- package/docs/examples/vite/index.html +30 -0
- package/docs/examples/vite/main.ts +23 -0
- package/docs/languages.md +48 -0
- package/docs/live-data.md +17 -0
- package/docs/theming.md +21 -0
- package/docs/tsconfig.json +14 -0
- package/package.json +131 -4
- package/src/adapters/check-rows.ts +81 -0
- package/src/adapters/filters.ts +76 -0
- package/src/adapters/graph/compound.ts +359 -0
- package/src/adapters/graph/flow-index.ts +154 -0
- package/src/adapters/graph/highlight.ts +40 -0
- package/src/adapters/graph/input.ts +236 -0
- package/src/adapters/graph/layer.ts +92 -0
- package/src/adapters/graph/matrix.ts +133 -0
- package/src/adapters/graph/plans.fixture.ts +194 -0
- package/src/adapters/graph/project.ts +358 -0
- package/src/adapters/graph/selection.ts +54 -0
- package/src/adapters/graph/states.ts +10 -0
- package/src/adapters/graph/types.ts +148 -0
- package/src/adapters/graph/words.ts +146 -0
- package/src/adapters/index.ts +22 -0
- package/src/adapters/journal-columns.ts +200 -0
- package/src/adapters/kpi-tiles.ts +211 -0
- package/src/adapters/lanes.ts +98 -0
- package/src/adapters/model-shares.ts +62 -0
- package/src/adapters/panel-body.ts +112 -0
- package/src/adapters/preflight.ts +27 -0
- package/src/adapters/task-columns.ts +120 -0
- package/src/adapters/transcript/index.ts +14 -0
- package/src/adapters/transcript/model.ts +156 -0
- package/src/adapters/transcript/rounds.ts +86 -0
- package/src/adapters/transcript/sections.ts +82 -0
- package/src/adapters/transcript/web.ts +40 -0
- package/src/adapters/transcript/who.ts +53 -0
- package/src/adapters/trends.ts +337 -0
- package/src/controllers/locale.ts +47 -0
- package/src/controllers/shortcuts.ts +69 -0
- package/src/controllers/stream.ts +103 -0
- package/src/controllers/task-detail.ts +54 -0
- package/src/controllers/theme.ts +73 -0
- package/src/core/events.ts +120 -0
- package/src/core/i18n.ts +76 -0
- package/src/core/index.ts +6 -0
- package/src/core/memory.ts +177 -0
- package/src/core/scroll.ts +73 -0
- package/src/core/view-route.ts +177 -0
- package/src/core/view-router.ts +66 -0
- package/src/define/all.ts +13 -0
- package/src/define/contracts.ts +2 -0
- package/src/define/definitions.ts +3 -0
- package/src/define/journal-table.ts +2 -0
- package/src/define/kpis.ts +2 -0
- package/src/define/monitor.ts +2 -0
- package/src/define/overview.ts +2 -0
- package/src/define/pipeline-graph.ts +2 -0
- package/src/define/procs.ts +3 -0
- package/src/define/task-table.ts +2 -0
- package/src/define/task-view.ts +2 -0
- package/src/define/timeline.ts +2 -0
- package/src/define/transcript.ts +2 -0
- package/src/elements/lists/ca-contracts.ts +204 -0
- package/src/elements/lists/ca-definitions.ts +170 -0
- package/src/elements/lists/ca-journal-table.ts +141 -0
- package/src/elements/lists/ca-panel-body.ts +200 -0
- package/src/elements/lists/ca-panel-view.ts +50 -0
- package/src/elements/lists/ca-proc-tree.ts +57 -0
- package/src/elements/lists/ca-procs-view.ts +89 -0
- package/src/elements/lists/ca-task-table.ts +94 -0
- package/src/elements/lists/index.ts +8 -0
- package/src/elements/overview/ca-kpis.ts +51 -0
- package/src/elements/overview/ca-model-usage.ts +113 -0
- package/src/elements/overview/ca-overview.ts +499 -0
- package/src/elements/overview/ca-pipeline-graph.ts +617 -0
- package/src/elements/overview/ca-quota.ts +164 -0
- package/src/elements/overview/ca-run-driver.ts +140 -0
- package/src/elements/overview/ca-services.ts +66 -0
- package/src/elements/overview/ca-spend-breakdown.ts +107 -0
- package/src/elements/overview/ca-timeline.ts +57 -0
- package/src/elements/overview/ca-workers.ts +82 -0
- package/src/elements/overview/index.ts +10 -0
- package/src/elements/overview/pipeline-graph/actions.ts +45 -0
- package/src/elements/overview/pipeline-graph/crumbs.ts +75 -0
- package/src/elements/overview/pipeline-graph/host.ts +26 -0
- package/src/elements/overview/pipeline-graph/inspector.ts +104 -0
- package/src/elements/overview/pipeline-graph/outline.ts +150 -0
- package/src/elements/overview/pipeline-graph/strings.ts +53 -0
- package/src/elements/overview/pipeline-graph/styles.ts +97 -0
- package/src/elements/shared/ca-definition.ts +206 -0
- package/src/elements/shared/contract-parts.ts +174 -0
- package/src/elements/shared/file-card.ts +49 -0
- package/src/elements/shared/prompt-text.ts +13 -0
- package/src/elements/shared/task-chip.ts +18 -0
- package/src/elements/shell/ca-clock.ts +27 -0
- package/src/elements/shell/ca-hosts.ts +93 -0
- package/src/elements/shell/ca-monitor.ts +528 -0
- package/src/elements/shell/ca-run-picker.ts +284 -0
- package/src/elements/shell/ca-theme-switch.ts +170 -0
- package/src/elements/shell/ca-toasts.ts +100 -0
- package/src/elements/shell/header.ts +45 -0
- package/src/elements/shell/styles.ts +72 -0
- package/src/elements/shell/tabs.ts +143 -0
- package/src/elements/shell/views.ts +67 -0
- package/src/elements/task/ca-task-view.ts +157 -0
- package/src/elements/task/ca-transcript.ts +214 -0
- package/src/elements/task/context.ts +105 -0
- package/src/elements/task/header.ts +296 -0
- package/src/elements/task/index.ts +2 -0
- package/src/elements/task/inputs.ts +46 -0
- package/src/elements/task/panes/definition.ts +7 -0
- package/src/elements/task/panes/io.ts +190 -0
- package/src/elements/task/panes/transcript.ts +29 -0
- package/src/elements/task/styles.ts +66 -0
- package/src/elements/trends/ca-trends.ts +204 -0
- package/src/index.ts +23 -0
- package/src/lib/tone.ts +109 -0
- package/src/lib/trends.ts +44 -0
- package/src/locales/codes.ts +23 -0
- package/src/locales/ja.ts +795 -0
- package/src/words/api-error.ts +17 -0
- package/src/words/attempts.ts +28 -0
- package/src/words/causes.ts +67 -0
- package/src/words/changes.ts +29 -0
- package/src/words/claims.ts +16 -0
- package/src/words/context.ts +47 -0
- package/src/words/contract.ts +63 -0
- package/src/words/credential.ts +8 -0
- package/src/words/executor.ts +22 -0
- package/src/words/export.ts +22 -0
- package/src/words/format.ts +107 -0
- package/src/words/hops.ts +30 -0
- package/src/words/hosts.ts +37 -0
- package/src/words/index.ts +31 -0
- package/src/words/models.ts +50 -0
- package/src/words/outcome.ts +61 -0
- package/src/words/panels.ts +71 -0
- package/src/words/passes.ts +18 -0
- package/src/words/preflight.ts +53 -0
- package/src/words/priority.ts +8 -0
- package/src/words/prompt.ts +20 -0
- package/src/words/quota.ts +108 -0
- package/src/words/rests.ts +96 -0
- package/src/words/rounds.ts +56 -0
- package/src/words/row-extras.ts +24 -0
- package/src/words/run-line.ts +77 -0
- package/src/words/services.ts +57 -0
- package/src/words/stop.ts +65 -0
- package/src/words/table.ts +10 -0
- package/src/words/task-definition.ts +37 -0
- package/src/words/time-box.ts +21 -0
- package/src/words/trends.ts +118 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { type Info, type RunState, type HostSummary, type RunSummary } from '@contraagent/api';
|
|
2
|
+
import { LitElement } from 'lit';
|
|
3
|
+
import '../lists/ca-proc-tree.js';
|
|
4
|
+
import './ca-kpis.js';
|
|
5
|
+
import './ca-spend-breakdown.js';
|
|
6
|
+
import './ca-model-usage.js';
|
|
7
|
+
import './ca-quota.js';
|
|
8
|
+
import './ca-services.js';
|
|
9
|
+
import './ca-pipeline-graph.js';
|
|
10
|
+
import './ca-run-driver.js';
|
|
11
|
+
import './ca-timeline.js';
|
|
12
|
+
import './ca-workers.js';
|
|
13
|
+
/**
|
|
14
|
+
* The run on one page, in the order a reader checks it: whether it runs, what runs
|
|
15
|
+
* now, the tasks with a problem (causes first) and the outputs; the pipeline graph
|
|
16
|
+
* (every task, by layer of the flow) and the figures; where the tokens, the cost and
|
|
17
|
+
* the subscription went, the process tree (while running), the resume cursor and the
|
|
18
|
+
* pipeline's own panels; then a timeline. A card takes the width its content needs.
|
|
19
|
+
* Sends `ca-open-task` and `ca-navigate`.
|
|
20
|
+
*
|
|
21
|
+
* @fires ca-navigate - `{tab, stop?}`: a link to another tab or a panel; `{layer, unit, sel}`: a layer of the pipeline graph, or what is selected in it
|
|
22
|
+
* @fires ca-open-task - `{key, view?}`: a task with a problem, or the task that started a service, was clicked
|
|
23
|
+
*/
|
|
24
|
+
export declare class CaOverview extends LitElement {
|
|
25
|
+
static styles: (import("lit").CSSResult | import("lit").CSSResult[])[];
|
|
26
|
+
state: RunState;
|
|
27
|
+
summary: RunSummary | undefined;
|
|
28
|
+
/** The run's host (a hub). */
|
|
29
|
+
host: HostSummary | undefined;
|
|
30
|
+
info: Info;
|
|
31
|
+
run: string;
|
|
32
|
+
/** The pipeline graph's layer (`ViewRoute.layer`). */
|
|
33
|
+
layer: string;
|
|
34
|
+
/** The unit highlighted in the pipeline graph (`ViewRoute.unit`). */
|
|
35
|
+
unit: string;
|
|
36
|
+
/** What is selected in the pipeline graph (`ViewRoute.sel`). */
|
|
37
|
+
sel: string;
|
|
38
|
+
private go;
|
|
39
|
+
/** Open a task: a Python task has no transcript, so its output. */
|
|
40
|
+
private open;
|
|
41
|
+
render(): import("lit").TemplateResult<1>;
|
|
42
|
+
private runningCard;
|
|
43
|
+
private outputs;
|
|
44
|
+
/** While running, how far the run is; once over, how its tasks ended. */
|
|
45
|
+
private progressLine;
|
|
46
|
+
/** "23 attempts | 4 not started": a task that never started has no attempt. */
|
|
47
|
+
private triesLine;
|
|
48
|
+
/** A link's click: no navigation of the page's own, then `go`. */
|
|
49
|
+
private nav;
|
|
50
|
+
private cursor;
|
|
51
|
+
private panelCards;
|
|
52
|
+
/** A task's name as the button that opens it: the keyboard's way into a problem row. */
|
|
53
|
+
private nameButton;
|
|
54
|
+
/** A click on a problem row opens its task, except on a button in it (its name, a later task's chip), which acts on its own. */
|
|
55
|
+
private openRow;
|
|
56
|
+
/** One task by name: kind · unit, or kind alone for a task of the whole run. */
|
|
57
|
+
private name;
|
|
58
|
+
private problems;
|
|
59
|
+
/** For a finished run with problems: how many tasks are not done (the tasks resume=True runs again). */
|
|
60
|
+
private nextStep;
|
|
61
|
+
}
|
|
62
|
+
declare global {
|
|
63
|
+
interface HTMLElementTagNameMap {
|
|
64
|
+
'ca-overview': CaOverview;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=ca-overview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ca-overview.d.ts","sourceRoot":"","sources":["../../../src/elements/overview/ca-overview.ts"],"names":[],"mappings":"AAAA,OAAO,EAeL,KAAK,IAAI,EAET,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EAEhB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAYrD,OAAO,0BAA0B,CAAC;AAClC,OAAO,cAAc,CAAC;AACtB,OAAO,yBAAyB,CAAC;AACjC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,eAAe,CAAC;AACvB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,wBAAwB,CAAC;AAChC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,iBAAiB,CAAC;AAoCzB;;;;;;;;;;GAUG;AACH,qBAEa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,0DAgEpB;IAE8B,KAAK,EAAG,QAAQ,CAAC;IACjB,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC;IAChE,8BAA8B;IACE,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,IAAI,EAAG,IAAI,CAAC;IAChC,GAAG,SAAM;IACrB,sDAAsD;IAC1C,KAAK,SAAM;IACvB,qEAAqE;IACzD,IAAI,SAAM;IACtB,gEAAgE;IACpD,GAAG,SAAM;IAErB,OAAO,CAAC,EAAE;IAIV,mEAAmE;IACnE,OAAO,CAAC,IAAI;IAIH,MAAM;IAgGf,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,OAAO;IAqCf,yEAAyE;IACzE,OAAO,CAAC,YAAY;IAgBpB,+EAA+E;IAC/E,OAAO,CAAC,SAAS;IAKjB,kEAAkE;IAClE,OAAO,CAAC,GAAG;IAOX,OAAO,CAAC,MAAM;IA2Bd,OAAO,CAAC,UAAU;IAqBlB,wFAAwF;IACxF,OAAO,CAAC,UAAU;IAIlB,gIAAgI;IAChI,OAAO,CAAC,OAAO;IAIf,gFAAgF;IAChF,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,QAAQ;IAiEhB,wGAAwG;IACxG,OAAO,CAAC,QAAQ;CAQjB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
|
|
@@ -0,0 +1,463 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { deriveRun, isPython, isRunLive, isRunPanel, typedBody, liveActivities, progress, result, runAccounts, runRelative, spendOf, } from '@contraagent/api';
|
|
8
|
+
import { localized, msg, str } from '@lit/localize';
|
|
9
|
+
import { LitElement, css, html, nothing } from 'lit';
|
|
10
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
11
|
+
import { repeat } from 'lit/directives/repeat.js';
|
|
12
|
+
import { emit } from '../../core/events.js';
|
|
13
|
+
import { facts, kindUnit, localTime, sentence } from '../../words/format.js';
|
|
14
|
+
import { notStartedCause, outcomeLabel, stateCount, stopLabel } from '../../words/index.js';
|
|
15
|
+
import { base } from '@contraagent/elements/styles';
|
|
16
|
+
import { pill, statusWord } from '@contraagent/elements/primitives';
|
|
17
|
+
import { contractTone, outcomeTone } from '../../lib/tone.js';
|
|
18
|
+
import { contractChip, formatOf } from '../shared/contract-parts.js';
|
|
19
|
+
import { contractStatusLabel, contractStatusWhy } from '../../words/contract.js';
|
|
20
|
+
import { taskChip } from '../shared/task-chip.js';
|
|
21
|
+
import '../lists/ca-proc-tree.js';
|
|
22
|
+
import './ca-kpis.js';
|
|
23
|
+
import './ca-spend-breakdown.js';
|
|
24
|
+
import './ca-model-usage.js';
|
|
25
|
+
import './ca-quota.js';
|
|
26
|
+
import './ca-services.js';
|
|
27
|
+
import './ca-pipeline-graph.js';
|
|
28
|
+
import './ca-run-driver.js';
|
|
29
|
+
import './ca-timeline.js';
|
|
30
|
+
import './ca-workers.js';
|
|
31
|
+
/** Failed outputs listed on the overview; the rest are behind a link to the outputs tab. */
|
|
32
|
+
const OUTPUTS_SHOWN = 5;
|
|
33
|
+
const CT_ORDER = ['invalid', 'refused', 'failed', 'running', 'pending', 'valid'];
|
|
34
|
+
/** A typed body in one line: its title, else its first tile's label and value; '' when it has neither. */
|
|
35
|
+
function typedPeek(b) {
|
|
36
|
+
if (b.title)
|
|
37
|
+
return b.title;
|
|
38
|
+
if (b.type === 'tiles') {
|
|
39
|
+
const t = b.tiles[0];
|
|
40
|
+
return t ? `${t.label}: ${String(t.value)}` : '';
|
|
41
|
+
}
|
|
42
|
+
if (b.type === 'blocks') {
|
|
43
|
+
for (const block of b.blocks) {
|
|
44
|
+
const inner = typedBody(block);
|
|
45
|
+
const line = inner ? typedPeek(inner) : '';
|
|
46
|
+
if (line)
|
|
47
|
+
return line;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return '';
|
|
51
|
+
}
|
|
52
|
+
/** A one-line peek at a panel's body: a typed body by what it says, any other object by its keys. */
|
|
53
|
+
function peek(v) {
|
|
54
|
+
if (v === undefined)
|
|
55
|
+
return msg('Loading…');
|
|
56
|
+
const typed = typedBody(v);
|
|
57
|
+
if (typed)
|
|
58
|
+
return typedPeek(typed);
|
|
59
|
+
if (v === null || typeof v !== 'object')
|
|
60
|
+
return JSON.stringify(v);
|
|
61
|
+
const keys = Object.keys(v);
|
|
62
|
+
if (!keys.length)
|
|
63
|
+
return msg('none', { id: 'none', desc: 'An empty value' });
|
|
64
|
+
const names = `${keys.slice(0, 4).join(', ')}${keys.length > 4 ? ', …' : ''}`;
|
|
65
|
+
return Array.isArray(v) ? msg(str `${keys.length} items: ${names}`) : msg(str `${keys.length} keys: ${names}`);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The run on one page, in the order a reader checks it: whether it runs, what runs
|
|
69
|
+
* now, the tasks with a problem (causes first) and the outputs; the pipeline graph
|
|
70
|
+
* (every task, by layer of the flow) and the figures; where the tokens, the cost and
|
|
71
|
+
* the subscription went, the process tree (while running), the resume cursor and the
|
|
72
|
+
* pipeline's own panels; then a timeline. A card takes the width its content needs.
|
|
73
|
+
* Sends `ca-open-task` and `ca-navigate`.
|
|
74
|
+
*
|
|
75
|
+
* @fires ca-navigate - `{tab, stop?}`: a link to another tab or a panel; `{layer, unit, sel}`: a layer of the pipeline graph, or what is selected in it
|
|
76
|
+
* @fires ca-open-task - `{key, view?}`: a task with a problem, or the task that started a service, was clicked
|
|
77
|
+
*/
|
|
78
|
+
let CaOverview = class CaOverview extends LitElement {
|
|
79
|
+
constructor() {
|
|
80
|
+
super(...arguments);
|
|
81
|
+
this.run = '';
|
|
82
|
+
/** The pipeline graph's layer (`ViewRoute.layer`). */
|
|
83
|
+
this.layer = '';
|
|
84
|
+
/** The unit highlighted in the pipeline graph (`ViewRoute.unit`). */
|
|
85
|
+
this.unit = '';
|
|
86
|
+
/** What is selected in the pipeline graph (`ViewRoute.sel`). */
|
|
87
|
+
this.sel = '';
|
|
88
|
+
}
|
|
89
|
+
static { this.styles = [
|
|
90
|
+
base,
|
|
91
|
+
css `
|
|
92
|
+
/* The overview is a column of bands. A band's cards take the width their content
|
|
93
|
+
needs: the state of the run (with the running tasks while none runs), the
|
|
94
|
+
problems and the outputs share a row; the breakdowns share two columns; only
|
|
95
|
+
what is wide by nature (the running tasks' cards, the pipeline graph, the
|
|
96
|
+
totals' tiles, the timeline) runs the whole width. */
|
|
97
|
+
:host { display: block; container-type: inline-size; }
|
|
98
|
+
.ov { display: flex; flex-direction: column; gap: 14px; }
|
|
99
|
+
/* the cards of a row share its height: no card ends above its neighbours */
|
|
100
|
+
.band.status { display: grid; gap: 14px; align-items: stretch; }
|
|
101
|
+
.stack { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
|
|
102
|
+
.stack > .panel:first-child { flex: 1; }
|
|
103
|
+
/* the breakdowns pair up, two to a row of one height; one alone (the last of an odd
|
|
104
|
+
count, or the only one) takes the whole row */
|
|
105
|
+
.band.parts { display: grid; gap: 14px; align-items: stretch;
|
|
106
|
+
grid-template-columns: repeat(auto-fit, minmax(min(100%, max(440px, calc((100% - 14px) / 2))), 1fr)); }
|
|
107
|
+
@container (min-width: 894px) {
|
|
108
|
+
.band.parts > .panel:last-child:nth-child(odd) { grid-column: 1 / -1; }
|
|
109
|
+
}
|
|
110
|
+
.stack { grid-area: stack; }
|
|
111
|
+
.problems { grid-area: problems; }
|
|
112
|
+
.outputs { grid-area: outputs; }
|
|
113
|
+
.row { grid-area: running; }
|
|
114
|
+
.band.status { grid-template-areas: 'stack' 'problems' 'outputs' 'running'; }
|
|
115
|
+
@container (min-width: 760px) {
|
|
116
|
+
.band.status { grid-template-columns: minmax(240px, 1fr) minmax(0, 1.4fr); grid-template-areas: 'stack problems' 'outputs outputs' 'running running'; }
|
|
117
|
+
}
|
|
118
|
+
@container (min-width: 1100px) {
|
|
119
|
+
.band.status { grid-template-columns: minmax(240px, 1fr) minmax(0, 1.3fr) minmax(0, 1.3fr); grid-template-areas: 'stack problems outputs' 'running running running'; }
|
|
120
|
+
}
|
|
121
|
+
.ok { display: flex; align-items: baseline; gap: 6px; color: var(--text-2); }
|
|
122
|
+
.ok span[aria-hidden] { color: var(--status-done); }
|
|
123
|
+
/* a failed output: its status and its task on one line, what it is and where under them */
|
|
124
|
+
.ofl { grid-template-columns: max-content minmax(0, 1fr); }
|
|
125
|
+
.ofl > .jstop { white-space: nowrap; }
|
|
126
|
+
.ofl > b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
127
|
+
.ofl > .meta { grid-column: 1 / -1; overflow: hidden; text-overflow: ellipsis; }
|
|
128
|
+
.ct-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; }
|
|
129
|
+
.pcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 12px; }
|
|
130
|
+
.pcard { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 12px; align-items: start; padding: 12px 14px; border-radius: 10px;
|
|
131
|
+
background: var(--raise); border: 1px solid var(--line); cursor: pointer; transition: border-color 0.15s, transform 0.15s;
|
|
132
|
+
text-align: left; color: inherit; font: inherit; width: 100%; min-width: 0; }
|
|
133
|
+
.pcard > div { min-width: 0; }
|
|
134
|
+
.pcard .meta { overflow-wrap: anywhere; }
|
|
135
|
+
.pcard:hover { border-color: var(--accent); transform: translateY(-1px); }
|
|
136
|
+
.pc-ic { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: var(--well); color: var(--text-2); font-size: 16px; }
|
|
137
|
+
.pc-peek { font-family: var(--mono); font-size: 11.5px; color: var(--text-2); margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
138
|
+
.pc-go { grid-column: 2; color: var(--accent); font-size: 12px; opacity: 0.8; margin-top: 6px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
139
|
+
.pcard:hover .pc-go { opacity: 1; }
|
|
140
|
+
.cur-units { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px 14px; }
|
|
141
|
+
.cu { display: grid; grid-template-columns: 90px 1fr 70px auto; gap: 8px; align-items: center; }
|
|
142
|
+
.cu-bar { height: 5px; border-radius: 3px; background: var(--track); overflow: hidden; }
|
|
143
|
+
.cu-bar i { display: block; height: 100%; background: var(--meter); }
|
|
144
|
+
.fl > div.meta { grid-column: 1 / 4; overflow: hidden; text-overflow: ellipsis; }
|
|
145
|
+
.stopped { grid-column: 1 / 4; color: var(--text-muted); font-size: 11px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px; }
|
|
146
|
+
.fl.muted { opacity: 0.7; }
|
|
147
|
+
.problems h4.sub { margin: 10px 0 2px; font-size: 11px; font-weight: 600; color: var(--text-muted); display: flex; }
|
|
148
|
+
.problems h4.sub .r { margin-left: auto; font-weight: 400; }
|
|
149
|
+
.next { margin: 10px 2px 2px; font-size: 12px; color: var(--text-2); }
|
|
150
|
+
.next code { font-family: var(--mono); }
|
|
151
|
+
.more { font-size: 12px; margin: 6px 10px 0; }
|
|
152
|
+
`,
|
|
153
|
+
]; }
|
|
154
|
+
go(tab) {
|
|
155
|
+
emit(this, 'ca-navigate', { tab });
|
|
156
|
+
}
|
|
157
|
+
/** Open a task: a Python task has no transcript, so its output. */
|
|
158
|
+
open(t) {
|
|
159
|
+
emit(this, 'ca-open-task', { key: t.key, ...(isPython(t) ? { view: 'output' } : {}) });
|
|
160
|
+
}
|
|
161
|
+
render() {
|
|
162
|
+
const s = this.state;
|
|
163
|
+
const live = isRunLive(s, this.summary);
|
|
164
|
+
const busy = live ? liveActivities(s.procs).length : 0;
|
|
165
|
+
/** The run's limit (`run.json` `max_workers`); null when the run did not record one. */
|
|
166
|
+
const max = s.procs?.max_workers || null;
|
|
167
|
+
// A run's own views: a trends panel is computed over a period, not for this run (the Trends page).
|
|
168
|
+
const panels = this.info.panels.filter(isRunPanel);
|
|
169
|
+
// Running tasks need the width of their cards; while none runs, one line under the run's state.
|
|
170
|
+
// A run that is over runs nothing: its state says so.
|
|
171
|
+
const running = live && busy > 0;
|
|
172
|
+
return html `<div class="ov">
|
|
173
|
+
<div class="band status">
|
|
174
|
+
<div class="stack">
|
|
175
|
+
<section class="panel enter">
|
|
176
|
+
<h3>${msg('Run')}</h3>
|
|
177
|
+
<ca-run-driver .procs=${s.procs} .summary=${this.summary} .plan=${s.plan} .host=${this.host}></ca-run-driver>
|
|
178
|
+
</section>
|
|
179
|
+
${live && !running ? this.runningCard(live, busy, max) : nothing}
|
|
180
|
+
</div>
|
|
181
|
+
<section class="panel enter problems">
|
|
182
|
+
<h3>${msg('Problems')}
|
|
183
|
+
<span class="r"><a class="lnk" href="#" @click=${(e) => this.nav(e, () => emit(this, 'ca-navigate', { tab: 'journal', stop: 'bad' }))}>${msg('Failed attempts in history')}</a></span></h3>
|
|
184
|
+
${this.problems(live)}
|
|
185
|
+
</section>
|
|
186
|
+
<section class="panel enter outputs">
|
|
187
|
+
<h3 title=${msg('Checked files (OutputContract, InputContract)')}>${msg('Outputs')}
|
|
188
|
+
<span class="r"><a class="lnk" href="#" @click=${(e) => this.nav(e, () => this.go('outputs'))}>${msg('All outputs')}</a></span></h3>
|
|
189
|
+
${this.outputs()}
|
|
190
|
+
</section>
|
|
191
|
+
${running ? html `<div class="row">${this.runningCard(live, busy, max)}</div>` : nothing}
|
|
192
|
+
</div>
|
|
193
|
+
<section class="panel enter">
|
|
194
|
+
<h3 title=${msg('Every task the run scheduled, by kind (plan.jsonl)')}>${msg('Pipeline')}
|
|
195
|
+
<span class="r">${this.progressLine(live)}</span></h3>
|
|
196
|
+
<ca-pipeline-graph .plan=${s.plan} .journal=${s.journal} .run=${this.run} .layer=${this.layer} .unit=${this.unit} .sel=${this.sel} ?live=${live}></ca-pipeline-graph>
|
|
197
|
+
</section>
|
|
198
|
+
<section class="panel enter">
|
|
199
|
+
<h3 title=${msg('Counted from every finished attempt (journal.jsonl)')}>${msg('Totals')}</h3>
|
|
200
|
+
<ca-kpis .journal=${s.journal} .plan=${s.plan}></ca-kpis>
|
|
201
|
+
</section>
|
|
202
|
+
<div class="band parts">
|
|
203
|
+
${live
|
|
204
|
+
? html `<section class="panel enter">
|
|
205
|
+
<h3>${msg('Process tree')}
|
|
206
|
+
<span class="r"><a class="lnk" href="#" @click=${(e) => this.nav(e, () => this.go('procs'))}>${msg('All processes')}</a></span></h3>
|
|
207
|
+
<ca-proc-tree .procs=${s.procs}></ca-proc-tree>
|
|
208
|
+
</section>`
|
|
209
|
+
: nothing}
|
|
210
|
+
${spendOf(s.journal)
|
|
211
|
+
? html `<section class="panel enter">
|
|
212
|
+
<h3 title=${msg('Reported by the coding agents')}>${msg('Tokens and cost by kind')}</h3>
|
|
213
|
+
<ca-spend-breakdown .journal=${s.journal}></ca-spend-breakdown>
|
|
214
|
+
</section>`
|
|
215
|
+
: nothing}
|
|
216
|
+
${s.plan.models?.length
|
|
217
|
+
? html `<section class="panel enter">
|
|
218
|
+
<h3 title=${msg('What the agent sessions spent on each model, each model of a model switch counted separately (Plan.models)')}>${msg('Models')}
|
|
219
|
+
<span class="r">${s.plan.models.length === 1 ? msg('1 model') : msg(str `${s.plan.models.length} models`)}</span></h3>
|
|
220
|
+
<ca-model-usage .models=${s.plan.models}></ca-model-usage>
|
|
221
|
+
</section>`
|
|
222
|
+
: nothing}
|
|
223
|
+
${runAccounts(s.journal).length || s.plan.rests?.length
|
|
224
|
+
? html `<section class="panel enter">
|
|
225
|
+
<h3 title=${msg('Account-wide | read at each agent session start')}>
|
|
226
|
+
${msg('Subscription usage')}<span class="r">${msg('Per account, first → last reading')}</span></h3>
|
|
227
|
+
<ca-quota .journal=${s.journal} .caps=${s.plan.quota_caps ?? []} .rests=${s.plan.rests ?? []} .rule=${s.plan.quota_rule ?? ''} ?live=${live}></ca-quota>
|
|
228
|
+
</section>`
|
|
229
|
+
: nothing}
|
|
230
|
+
${s.plan.services?.length
|
|
231
|
+
? html `<section class="panel enter">
|
|
232
|
+
<h3 title=${msg('A long-lived helper that the tasks holding one lock share (services.jsonl)')}>${msg('Services')}</h3>
|
|
233
|
+
<ca-services .services=${s.plan.services} .nodes=${s.plan.nodes} ?live=${live}></ca-services>
|
|
234
|
+
</section>`
|
|
235
|
+
: nothing}
|
|
236
|
+
${s.cursor
|
|
237
|
+
? html `<section class="panel enter">
|
|
238
|
+
<h3 title=${msg('Stage and step per unit (CursorStore)')}>${msg('Resume cursor')}</h3>
|
|
239
|
+
${this.cursor()}
|
|
240
|
+
</section>`
|
|
241
|
+
: nothing}
|
|
242
|
+
</div>
|
|
243
|
+
${panels.length
|
|
244
|
+
? html `<section class="panel enter views">
|
|
245
|
+
<h3 title=${msg('monitor.Panel')}>${msg('Custom views')}</h3>
|
|
246
|
+
${this.panelCards(panels)}
|
|
247
|
+
</section>`
|
|
248
|
+
: nothing}
|
|
249
|
+
<section class="panel enter">
|
|
250
|
+
<h3>${msg('Timeline')}
|
|
251
|
+
<span class="r">${this.triesLine()}</span></h3>
|
|
252
|
+
<ca-timeline .journal=${s.journal} .plan=${s.plan} .procs=${s.procs} .live=${live} .run=${this.run}></ca-timeline>
|
|
253
|
+
</section>
|
|
254
|
+
</div>`;
|
|
255
|
+
}
|
|
256
|
+
runningCard(live, busy, max) {
|
|
257
|
+
return html `<section class="panel enter">
|
|
258
|
+
<h3 title=${msg('Limit: max_concurrent')}>${msg('Running tasks')}
|
|
259
|
+
${live ? html `<span class="r">${max ? msg(str `${busy} of ${max} running at once`) : msg(str `${busy} running at once`)}</span>` : nothing}</h3>
|
|
260
|
+
${busy ? html `<ca-workers .procs=${this.state.procs} .live=${live}></ca-workers>` : html `<div class="meta">${msg('No tasks running')}</div>`}
|
|
261
|
+
</section>`;
|
|
262
|
+
}
|
|
263
|
+
// ---- contracts: the files tasks must leave behind (OutputContract) and read (InputContract) ----
|
|
264
|
+
outputs() {
|
|
265
|
+
const { contracts, tally } = this.state.outputs;
|
|
266
|
+
if (!contracts.length) {
|
|
267
|
+
return html `<div class="meta">${msg('No output files')}</div>`;
|
|
268
|
+
}
|
|
269
|
+
const chips = CT_ORDER.filter((k) => tally[k]);
|
|
270
|
+
// Only what went wrong with a file; tasks that never started are the problems section's.
|
|
271
|
+
const bad = contracts
|
|
272
|
+
.flatMap((c) => (c.outputs ?? []).map((o) => [c, o]))
|
|
273
|
+
.filter(([, o]) => o.status === 'invalid' || o.status === 'failed');
|
|
274
|
+
const shown = bad.slice(0, OUTPUTS_SHOWN);
|
|
275
|
+
const refused = tally.refused;
|
|
276
|
+
return html `<div class="ct-row">
|
|
277
|
+
${chips.length
|
|
278
|
+
? chips.map((k) => contractChip(k, tally[k]))
|
|
279
|
+
: html `<span class="meta">${msg('No checked files')}</span>`}
|
|
280
|
+
</div>
|
|
281
|
+
${shown.map(([c, o]) => html `<button type="button" class="fl ofl" @click=${() => this.go('outputs')}>
|
|
282
|
+
${statusWord({ text: o.status ? contractStatusLabel(o.status) : '—', tone: contractTone(o.status), title: o.status ? contractStatusWhy(o.status) : null })}
|
|
283
|
+
<b class="jmono" title=${c.key}>${kindUnit({ kind: c.kind, unit: c.unit === c.key ? '' : c.unit })}</b>
|
|
284
|
+
<span class="meta">${formatOf(o)}</span>
|
|
285
|
+
<span class="meta">${runRelative(o.errors?.[0] || o.path, this.run).slice(0, 160)}</span>
|
|
286
|
+
</button>`)}
|
|
287
|
+
${bad.length > shown.length
|
|
288
|
+
? html `<div class="more"><a class="lnk" href="#" @click=${(e) => this.nav(e, () => this.go('outputs'))}>${bad.length - shown.length === 1
|
|
289
|
+
? msg('1 more output')
|
|
290
|
+
: msg(str `${bad.length - shown.length} more outputs`)}</a></div>`
|
|
291
|
+
: nothing}
|
|
292
|
+
${refused
|
|
293
|
+
? html `<div class="meta more">${refused === 1
|
|
294
|
+
? msg('1 output not written (task not started)')
|
|
295
|
+
: msg(str `${refused} outputs not written (tasks not started)`)}</div>`
|
|
296
|
+
: nothing}`;
|
|
297
|
+
}
|
|
298
|
+
/** While running, how far the run is; once over, how its tasks ended. */
|
|
299
|
+
progressLine(live) {
|
|
300
|
+
const plan = this.state.plan;
|
|
301
|
+
const r = result(plan);
|
|
302
|
+
if (live || r.left) {
|
|
303
|
+
const p = progress(plan);
|
|
304
|
+
return facts(msg(str `${p.pct}%`), msg(str `${p.done} of ${p.total} tasks done`), p.partial ? stateCount('partial', p.partial) : '', p.skipped ? stateCount('skipped', p.skipped) : '');
|
|
305
|
+
}
|
|
306
|
+
return facts(stateCount('done', r.done), r.skipped ? stateCount('skipped', r.skipped) : '', r.failed ? stateCount('failed', r.failed) : '', r.notStarted ? stateCount('not_started', r.notStarted) : '', r.partial ? stateCount('partial', r.partial) : '');
|
|
307
|
+
}
|
|
308
|
+
/** "23 attempts | 4 not started": a task that never started has no attempt. */
|
|
309
|
+
triesLine() {
|
|
310
|
+
const { tries, notStarted } = deriveRun(this.state.journal, this.state.plan).tries;
|
|
311
|
+
return facts(tries === 1 ? msg('1 attempt') : msg(str `${tries} attempts`), notStarted ? stateCount('not_started', notStarted) : '');
|
|
312
|
+
}
|
|
313
|
+
/** A link's click: no navigation of the page's own, then `go`. */
|
|
314
|
+
nav(e, go) {
|
|
315
|
+
e.preventDefault();
|
|
316
|
+
go();
|
|
317
|
+
}
|
|
318
|
+
// The run's own position, from its CursorStore: the stage it is in, the stages behind it,
|
|
319
|
+
// and how far each unit has got. Shown only for a run that keeps a cursor (Run.cursor()).
|
|
320
|
+
cursor() {
|
|
321
|
+
const c = this.state.cursor;
|
|
322
|
+
const units = Object.entries(c?.units ?? {});
|
|
323
|
+
if (!c || (!c.stage && !units.length))
|
|
324
|
+
return html `<div class="meta">${msg('No resume cursor')}</div>`;
|
|
325
|
+
const done = c.completed_stages ?? [];
|
|
326
|
+
return html `<div class="chips" style="margin-bottom:10px">
|
|
327
|
+
${done.length || c.stage
|
|
328
|
+
? html `${done.map((n) => html `<span class="chip" data-tone="done"><span aria-hidden="true">✓</span><span class="sr">${msg('done', { id: 'stage-done', desc: 'A stage of the resume cursor that is complete' })}</span> ${n}</span>`)}${c.stage
|
|
329
|
+
? html `<span class="chip" data-tone="running"><span class="sr">${msg('current')}</span>${c.stage}</span>`
|
|
330
|
+
: nothing}`
|
|
331
|
+
: html `<span class="meta">${msg('No stage')}</span>`}
|
|
332
|
+
</div>
|
|
333
|
+
${units.length
|
|
334
|
+
? html `<div class="cur-units">
|
|
335
|
+
${units.map(([u, x]) => html `<div class="cu">
|
|
336
|
+
<span class="jmono">${u}</span>
|
|
337
|
+
<span class="meta">${facts(x.step || '—', x.loop_pass ? msg(str `pass ${x.loop_pass}`) : '')}</span>
|
|
338
|
+
<span class="cu-bar" title=${x.completed.length === 1 ? msg('1 step done') : msg(str `${x.completed.length} steps done`)}><i style="width:${Math.min(100, 12 * (x.completed.length + 1))}%"></i></span>
|
|
339
|
+
${x.inflight.length ? pill({ text: msg('running'), tone: 'running', title: x.inflight.join('\n') }) : nothing}
|
|
340
|
+
</div>`)}
|
|
341
|
+
</div>`
|
|
342
|
+
: nothing}`;
|
|
343
|
+
}
|
|
344
|
+
// One card per view the pipeline added: what it is, a one-line peek, and where to open it.
|
|
345
|
+
panelCards(panels) {
|
|
346
|
+
return html `<div class="pcards">
|
|
347
|
+
${repeat(panels, (p) => p.name, (p) => {
|
|
348
|
+
const line = peek(this.state.panels[p.name]);
|
|
349
|
+
return html `<button type="button" class="pcard" @click=${() => this.go(`panel:${p.name}`)}>
|
|
350
|
+
<span class="pc-ic" aria-hidden="true">${p.icon || '▤'}</span>
|
|
351
|
+
<div>
|
|
352
|
+
<b>${p.title || p.name}</b>
|
|
353
|
+
${p.description ? html `<div class="meta">${p.description}</div>` : nothing}
|
|
354
|
+
${line ? html `<div class="pc-peek">${line}</div>` : nothing}
|
|
355
|
+
</div>
|
|
356
|
+
<span class="pc-go">${msg('Show view')}</span>
|
|
357
|
+
</button>`;
|
|
358
|
+
})}
|
|
359
|
+
</div>`;
|
|
360
|
+
}
|
|
361
|
+
/** A task's name as the button that opens it: the keyboard's way into a problem row. */
|
|
362
|
+
nameButton(t) {
|
|
363
|
+
return html `<button type="button" class="fl-name jmono" title=${t.key} @click=${() => this.open(t)}>${this.name(t)}</button>`;
|
|
364
|
+
}
|
|
365
|
+
/** A click on a problem row opens its task, except on a button in it (its name, a later task's chip), which acts on its own. */
|
|
366
|
+
openRow(e, t) {
|
|
367
|
+
if (!e.target.closest('button'))
|
|
368
|
+
this.open(t);
|
|
369
|
+
}
|
|
370
|
+
/** One task by name: kind · unit, or kind alone for a task of the whole run. */
|
|
371
|
+
name(t) {
|
|
372
|
+
return kindUnit(t);
|
|
373
|
+
}
|
|
374
|
+
problems(live) {
|
|
375
|
+
const { outcomes, problems } = deriveRun(this.state.journal, this.state.plan);
|
|
376
|
+
const { failed, notStarted, partial, recovered } = problems;
|
|
377
|
+
const issues = failed.length + notStarted.length + partial.length;
|
|
378
|
+
const ok = html `<div class="ok"><span aria-hidden="true">✓</span>${msg('No problems')}</div>`;
|
|
379
|
+
if (!issues && !recovered.length)
|
|
380
|
+
return ok;
|
|
381
|
+
const reason = (t) => runRelative(t.attempts[t.attempts.length - 1]?.reason || '—', this.run).slice(0, 200);
|
|
382
|
+
const stoppedLine = (stopped) => stopped.length
|
|
383
|
+
? html `<div class="stopped">
|
|
384
|
+
<span>${stopped.length === 1 ? msg('1 later task not started') : msg(str `${stopped.length} later tasks not started`)}</span>
|
|
385
|
+
${stopped.map((x) => taskChip(this, this.name(x), x))}
|
|
386
|
+
</div>`
|
|
387
|
+
: nothing;
|
|
388
|
+
// The tasks done after retrying are done, not problems: a group of their own, after the problems.
|
|
389
|
+
return html `${issues ? nothing : ok}${repeat(failed, (p) => p.task.key, (p) => {
|
|
390
|
+
const last = p.task.attempts[p.task.attempts.length - 1];
|
|
391
|
+
return html `<div class="fl" @click=${(e) => this.openRow(e, p.task)}>
|
|
392
|
+
${statusWord({ text: outcomeLabel('failed'), tone: 'failed' })}
|
|
393
|
+
${this.nameButton(p.task)}<span class="meta">${localTime(last?.ts, true)}</span>
|
|
394
|
+
<div class="meta">${stopLabel(last?.stop)}: ${reason(p.task)}</div>
|
|
395
|
+
${stoppedLine(p.stopped)}
|
|
396
|
+
</div>`;
|
|
397
|
+
})}
|
|
398
|
+
${repeat(notStarted, (t) => t.key, (t) => html `<div class="fl" @click=${(e) => this.openRow(e, t)}>
|
|
399
|
+
${statusWord({ text: outcomeLabel('not_started'), tone: 'attention' })}
|
|
400
|
+
${this.nameButton(t)}<span></span>
|
|
401
|
+
<div class="meta">${notStartedCause(t, outcomes, this.run) ? sentence(notStartedCause(t, outcomes, this.run)) : reason(t)}</div>
|
|
402
|
+
</div>`)}
|
|
403
|
+
${repeat(partial, (t) => t.key, (t) => html `<div class="fl" @click=${(e) => this.openRow(e, t)}>
|
|
404
|
+
${statusWord({ text: outcomeLabel('partial'), tone: outcomeTone('partial') })}
|
|
405
|
+
${this.nameButton(t)}<span></span>
|
|
406
|
+
<div class="meta">${reason(t)}</div>
|
|
407
|
+
</div>`)}
|
|
408
|
+
${recovered.length ? html `<h4 class="sub">${sentence(outcomeLabel('recovered'))} <span class="r">${recovered.length}</span></h4>` : nothing}
|
|
409
|
+
${repeat(recovered, (t) => t.key, (t) => {
|
|
410
|
+
const fails = t.tries.filter((a) => !a.ok).length;
|
|
411
|
+
const n = t.tries.length;
|
|
412
|
+
return html `<div class="fl muted" @click=${(e) => this.openRow(e, t)}>
|
|
413
|
+
${statusWord({ text: outcomeLabel('recovered'), tone: outcomeTone('recovered') })}
|
|
414
|
+
${this.nameButton(t)}<span></span>
|
|
415
|
+
<div class="meta">${fails === 1
|
|
416
|
+
? msg(str `Done on attempt ${n} | 1 failed attempt`)
|
|
417
|
+
: msg(str `Done on attempt ${n} | ${fails} failed attempts`)}</div>
|
|
418
|
+
</div>`;
|
|
419
|
+
})}
|
|
420
|
+
${this.nextStep(live, issues)}`;
|
|
421
|
+
}
|
|
422
|
+
/** For a finished run with problems: how many tasks are not done (the tasks resume=True runs again). */
|
|
423
|
+
nextStep(live, problemCount) {
|
|
424
|
+
if (live || !problemCount)
|
|
425
|
+
return nothing;
|
|
426
|
+
const c = deriveRun(this.state.journal, this.state.plan).counts;
|
|
427
|
+
// A partly done task is finished in this run, and not done: a resume runs it again.
|
|
428
|
+
const again = c.total - c.finished + c.partial;
|
|
429
|
+
if (!again)
|
|
430
|
+
return nothing;
|
|
431
|
+
return html `<div class="next" title="resume=True">${msg(str `${again} of ${c.total} tasks not done`)}</div>`;
|
|
432
|
+
}
|
|
433
|
+
};
|
|
434
|
+
__decorate([
|
|
435
|
+
property({ attribute: false })
|
|
436
|
+
], CaOverview.prototype, "state", void 0);
|
|
437
|
+
__decorate([
|
|
438
|
+
property({ attribute: false })
|
|
439
|
+
], CaOverview.prototype, "summary", void 0);
|
|
440
|
+
__decorate([
|
|
441
|
+
property({ attribute: false })
|
|
442
|
+
], CaOverview.prototype, "host", void 0);
|
|
443
|
+
__decorate([
|
|
444
|
+
property({ attribute: false })
|
|
445
|
+
], CaOverview.prototype, "info", void 0);
|
|
446
|
+
__decorate([
|
|
447
|
+
property()
|
|
448
|
+
], CaOverview.prototype, "run", void 0);
|
|
449
|
+
__decorate([
|
|
450
|
+
property()
|
|
451
|
+
], CaOverview.prototype, "layer", void 0);
|
|
452
|
+
__decorate([
|
|
453
|
+
property()
|
|
454
|
+
], CaOverview.prototype, "unit", void 0);
|
|
455
|
+
__decorate([
|
|
456
|
+
property()
|
|
457
|
+
], CaOverview.prototype, "sel", void 0);
|
|
458
|
+
CaOverview = __decorate([
|
|
459
|
+
customElement('ca-overview'),
|
|
460
|
+
localized()
|
|
461
|
+
], CaOverview);
|
|
462
|
+
export { CaOverview };
|
|
463
|
+
//# sourceMappingURL=ca-overview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ca-overview.js","sourceRoot":"","sources":["../../../src/elements/overview/ca-overview.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EACL,SAAS,EACT,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EAET,cAAc,EACd,QAAQ,EACR,MAAM,EACN,WAAW,EACX,WAAW,EACX,OAAO,GASR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,0BAA0B,CAAC;AAClC,OAAO,cAAc,CAAC;AACtB,OAAO,yBAAyB,CAAC;AACjC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,eAAe,CAAC;AACvB,OAAO,kBAAkB,CAAC;AAC1B,OAAO,wBAAwB,CAAC;AAChC,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,iBAAiB,CAAC;AAEzB,4FAA4F;AAC5F,MAAM,aAAa,GAAG,CAAC,CAAC;AAExB,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAmD,CAAC;AAEnI,0GAA0G;AAC1G,SAAS,SAAS,CAAC,CAAiB;IAClC,IAAI,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,CAAC;IAC5B,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,qGAAqG;AACrG,SAAS,IAAI,CAAC,CAAU;IACtB,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,KAAK;QAAE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC9E,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,GAAG,IAAI,CAAC,MAAM,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,GAAG,IAAI,CAAC,MAAM,UAAU,KAAK,EAAE,CAAC,CAAC;AAC/G,CAAC;AAED;;;;;;;;;;GAUG;AAGI,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAAnC;;QAwEO,QAAG,GAAG,EAAE,CAAC;QACrB,sDAAsD;QAC1C,UAAK,GAAG,EAAE,CAAC;QACvB,qEAAqE;QACzD,SAAI,GAAG,EAAE,CAAC;QACtB,gEAAgE;QACpD,QAAG,GAAG,EAAE,CAAC;IAiUvB,CAAC;aA9YiB,WAAM,GAAG;QACvB,IAAI;QACJ,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6DF;KACF,AAhEqB,CAgEpB;IAeM,EAAE,CAAC,GAA4C;QACrD,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,mEAAmE;IAC3D,IAAI,CAAC,CAAqC;QAChD,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAEQ,MAAM;QACb,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACrB,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,wFAAwF;QACxF,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC;QACzC,mGAAmG;QACnG,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,gGAAgG;QAChG,sDAAsD;QACtD,MAAM,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC;QACjC,OAAO,IAAI,CAAA;;;;kBAIG,GAAG,CAAC,KAAK,CAAC;oCACQ,CAAC,CAAC,KAAK,aAAa,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI;;YAE3F,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO;;;gBAG1D,GAAG,CAAC,UAAU,CAAC;6DAC8B,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,4BAA4B,CAAC;YACjL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;;;sBAGT,GAAG,CAAC,+CAA+C,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC;6DAC/B,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC;YAC1H,IAAI,CAAC,OAAO,EAAE;;UAEhB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,oBAAoB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO;;;oBAG3E,GAAG,CAAC,oDAAoD,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC;4BACpE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;mCAChB,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,OAAO,SAAS,IAAI,CAAC,GAAG,WAAW,IAAI,CAAC,KAAK,UAAU,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,GAAG,UAAU,IAAI;;;oBAGnI,GAAG,CAAC,qDAAqD,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC;4BACnE,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,IAAI;;;UAG3C,IAAI;YACJ,CAAC,CAAC,IAAI,CAAA;oBACI,GAAG,CAAC,cAAc,CAAC;iEAC0B,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC;qCACrG,CAAC,CAAC,KAAK;uBACrB;YACb,CAAC,CAAC,OAAO;UACT,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YAClB,CAAC,CAAC,IAAI,CAAA;0BACU,GAAG,CAAC,+BAA+B,CAAC,IAAI,GAAG,CAAC,yBAAyB,CAAC;6CACnD,CAAC,CAAC,OAAO;uBAC/B;YACb,CAAC,CAAC,OAAO;UACT,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM;YACrB,CAAC,CAAC,IAAI,CAAA;0BACU,GAAG,CAAC,4GAA4G,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC;kCAC1H,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC;wCAChF,CAAC,CAAC,IAAI,CAAC,MAAM;uBAC9B;YACb,CAAC,CAAC,OAAO;UACT,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM;YACrD,CAAC,CAAC,IAAI,CAAA;0BACU,GAAG,CAAC,iDAAiD,CAAC;kBAC9D,GAAG,CAAC,oBAAoB,CAAC,mBAAmB,GAAG,CAAC,mCAAmC,CAAC;mCACnE,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,UAAU,IAAI;uBAClI;YACb,CAAC,CAAC,OAAO;UACT,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM;YACvB,CAAC,CAAC,IAAI,CAAA;0BACU,GAAG,CAAC,4EAA4E,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC;uCACvF,CAAC,CAAC,IAAI,CAAC,QAAQ,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,UAAU,IAAI;uBACpE;YACb,CAAC,CAAC,OAAO;UACT,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,IAAI,CAAA;0BACU,GAAG,CAAC,uCAAuC,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC;gBAC9E,IAAI,CAAC,MAAM,EAAE;uBACN;YACb,CAAC,CAAC,OAAO;;QAEX,MAAM,CAAC,MAAM;YACb,CAAC,CAAC,IAAI,CAAA;wBACU,GAAG,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC;cACrD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;qBAChB;YACb,CAAC,CAAC,OAAO;;cAEH,GAAG,CAAC,UAAU,CAAC;4BACD,IAAI,CAAC,SAAS,EAAE;gCACZ,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,KAAK,UAAU,IAAI,SAAS,IAAI,CAAC,GAAG;;WAE/F,CAAC;IACV,CAAC;IAEO,WAAW,CAAC,IAAa,EAAE,IAAY,EAAE,GAAkB;QACjE,OAAO,IAAI,CAAA;kBACG,GAAG,CAAC,uBAAuB,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC;UAC5D,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA,mBAAmB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,GAAG,IAAI,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,GAAG,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;QACxI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA,sBAAsB,IAAI,CAAC,KAAK,CAAC,KAAK,UAAU,IAAI,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAA,qBAAqB,GAAG,CAAC,kBAAkB,CAAC,QAAQ;eACnI,CAAC;IACd,CAAC;IAED,mGAAmG;IAC3F,OAAO;QACb,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAChD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,IAAI,CAAA,qBAAqB,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QACjE,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,yFAAyF;QACzF,MAAM,GAAG,GAAG,SAAS;aAClB,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAkC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;aACpF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,OAAO,IAAI,CAAA;UACL,KAAK,CAAC,MAAM;YACZ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAA,sBAAsB,GAAG,CAAC,kBAAkB,CAAC,SAAS;;QAE9D,KAAK,CAAC,GAAG,CACT,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAA,+CAA+C,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC;YACnF,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;mCACjI,CAAC,CAAC,GAAG,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;+BAC7E,QAAQ,CAAC,CAAC,CAAC;+BACX,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;kBACzE,CACX;QACC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;YACzB,CAAC,CAAC,IAAI,CAAA,oDAAoD,CAAC,CAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC;gBAC5I,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;gBACtB,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,GAAG,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,eAAe,CAAC,YAAY;YACrE,CAAC,CAAC,OAAO;QACT,OAAO;YACP,CAAC,CAAC,IAAI,CAAA,0BAA0B,OAAO,KAAK,CAAC;gBACzC,CAAC,CAAC,GAAG,CAAC,yCAAyC,CAAC;gBAChD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,GAAG,OAAO,0CAA0C,CAAC,QAAQ;YAC1E,CAAC,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,yEAAyE;IACjE,YAAY,CAAC,IAAa;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxL,CAAC;QACD,OAAO,KAAK,CACV,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,EAC1B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EACjD,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAC9C,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAC3D,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAClD,CAAC;IACJ,CAAC;IAED,+EAA+E;IACvE,SAAS;QACf,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;QACnF,OAAO,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,GAAG,KAAK,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtI,CAAC;IAED,kEAAkE;IAC1D,GAAG,CAAC,CAAQ,EAAE,EAAc;QAClC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,EAAE,EAAE,CAAC;IACP,CAAC;IAED,0FAA0F;IAC1F,0FAA0F;IAClF,MAAM;QACZ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAA,qBAAqB,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QACvG,MAAM,IAAI,GAAG,CAAC,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,CAAA;UACL,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK;YACtB,CAAC,CAAC,IAAI,CAAA,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAA,yFAAyF,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,+CAA+C,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK;gBAC1O,CAAC,CAAC,IAAI,CAAA,2DAA2D,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,SAAS;gBACzG,CAAC,CAAC,OAAO,EAAE;YACf,CAAC,CAAC,IAAI,CAAA,sBAAsB,GAAG,CAAC,UAAU,CAAC,SAAS;;QAEtD,KAAK,CAAC,MAAM;YACZ,CAAC,CAAC,IAAI,CAAA;cACA,KAAK,CAAC,GAAG,CACT,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAA;sCACQ,CAAC;qCACF,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;6CAC9D,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,aAAa,CAAC,oBAAoB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;kBACrL,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO;qBACxG,CACR;iBACI;YACT,CAAC,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;IAED,2FAA2F;IACnF,UAAU,CAAC,MAAsB;QACvC,OAAO,IAAI,CAAA;QACP,MAAM,CACN,MAAM,EACN,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EACb,CAAC,CAAC,EAAE,EAAE;YACJ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,OAAO,IAAI,CAAA,8CAA8C,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;mDAChD,CAAC,CAAC,IAAI,IAAI,GAAG;;iBAE/C,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI;cACpB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAA,qBAAqB,CAAC,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC,OAAO;cACxE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA,wBAAwB,IAAI,QAAQ,CAAC,CAAC,CAAC,OAAO;;gCAEvC,GAAG,CAAC,WAAW,CAAC;kBAC9B,CAAC;QACX,CAAC,CACF;WACI,CAAC;IACV,CAAC;IAED,wFAAwF;IAChF,UAAU,CAAC,CAAc;QAC/B,OAAO,IAAI,CAAA,qDAAqD,CAAC,CAAC,GAAG,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;IAChI,CAAC;IAED,gIAAgI;IACxH,OAAO,CAAC,CAAa,EAAE,CAAc;QAC3C,IAAI,CAAE,CAAC,CAAC,MAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,gFAAgF;IACxE,IAAI,CAAC,CAAc;QACzB,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAEO,QAAQ,CAAC,IAAa;QAC5B,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9E,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAClE,MAAM,EAAE,GAAG,IAAI,CAAA,oDAAoD,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC9F,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,CAAC,CAAc,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,IAAI,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzH,MAAM,WAAW,GAAG,CAAC,OAAsB,EAAE,EAAE,CAC7C,OAAO,CAAC,MAAM;YACZ,CAAC,CAAC,IAAI,CAAA;oBACM,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,GAAG,OAAO,CAAC,MAAM,0BAA0B,CAAC;cAClH,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBAChD;YACT,CAAC,CAAC,OAAO,CAAC;QACd,kGAAkG;QAClG,OAAO,IAAI,CAAA,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CACxC,MAAM,EACN,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EACjB,CAAC,CAAC,EAAE,EAAE;YACJ,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzD,OAAO,IAAI,CAAA,0BAA0B,CAAC,CAAa,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;cAC3E,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;cAC5D,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC;gCACpD,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;cAC1D,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;iBACnB,CAAC;QACV,CAAC,CACF;QACC,MAAM,CACN,UAAU,EACV,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EACZ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAA,0BAA0B,CAAC,CAAa,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;YACtE,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YACpE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;8BACA,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;eACpH,CACR;QACC,MAAM,CACN,OAAO,EACP,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EACZ,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAA,0BAA0B,CAAC,CAAa,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;YACtE,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3E,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;8BACA,MAAM,CAAC,CAAC,CAAC;eACxB,CACR;QACC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,mBAAmB,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,oBAAoB,SAAS,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,OAAO;QACzI,MAAM,CACN,SAAS,EACT,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EACZ,CAAC,CAAC,EAAE,EAAE;YACJ,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;YAClD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YACzB,OAAO,IAAI,CAAA,gCAAgC,CAAC,CAAa,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;cAC5E,UAAU,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;cAC/E,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gCACA,KAAK,KAAK,CAAC;gBAC7B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,mBAAmB,CAAC,qBAAqB,CAAC;gBACnD,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA,mBAAmB,CAAC,MAAM,KAAK,kBAAkB,CAAC;iBACxD,CAAC;QACV,CAAC,CACF;QACC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;IACpC,CAAC;IAED,wGAAwG;IAChG,QAAQ,CAAC,IAAa,EAAE,YAAoB;QAClD,IAAI,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,OAAO,CAAC;QAC1C,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAChE,oFAAoF;QACpF,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC;QAC/C,IAAI,CAAC,KAAK;YAAE,OAAO,OAAO,CAAC;QAC3B,OAAO,IAAI,CAAA,yCAAyC,GAAG,CAAC,GAAG,CAAA,GAAG,KAAK,OAAO,CAAC,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAC;IAC9G,CAAC;;AA3U+B;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;yCAAkB;AACjB;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;2CAAiC;AAEhC;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;wCAA+B;AAC9B;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;wCAAa;AAChC;IAAX,QAAQ,EAAE;uCAAU;AAET;IAAX,QAAQ,EAAE;yCAAY;AAEX;IAAX,QAAQ,EAAE;wCAAW;AAEV;IAAX,QAAQ,EAAE;uCAAU;AA9EV,UAAU;IAFtB,aAAa,CAAC,aAAa,CAAC;IAC5B,SAAS,EAAE;GACC,UAAU,CA+YtB"}
|