@latysh-development/monolith 0.0.0-stage → 0.1.0-alpha.1
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/LICENSE +21 -0
- package/README.md +179 -2
- package/dist/brief/cli.d.ts +30 -0
- package/dist/brief/cli.d.ts.map +1 -0
- package/dist/brief/cli.js +85 -0
- package/dist/brief/collect.d.ts +17 -0
- package/dist/brief/collect.d.ts.map +1 -0
- package/dist/brief/collect.js +342 -0
- package/dist/brief/config.d.ts +40 -0
- package/dist/brief/config.d.ts.map +1 -0
- package/dist/brief/config.js +85 -0
- package/dist/brief/constants.d.ts +12 -0
- package/dist/brief/constants.d.ts.map +1 -0
- package/dist/brief/constants.js +11 -0
- package/dist/brief/docs.d.ts +53 -0
- package/dist/brief/docs.d.ts.map +1 -0
- package/dist/brief/docs.js +229 -0
- package/dist/brief/freshness.d.ts +104 -0
- package/dist/brief/freshness.d.ts.map +1 -0
- package/dist/brief/freshness.js +263 -0
- package/dist/brief/git-signals.d.ts +17 -0
- package/dist/brief/git-signals.d.ts.map +1 -0
- package/dist/brief/git-signals.js +101 -0
- package/dist/brief/index.d.ts +11 -0
- package/dist/brief/index.d.ts.map +1 -0
- package/dist/brief/index.js +5 -0
- package/dist/brief/reconcile.d.ts +75 -0
- package/dist/brief/reconcile.d.ts.map +1 -0
- package/dist/brief/reconcile.js +259 -0
- package/dist/brief/render.d.ts +67 -0
- package/dist/brief/render.d.ts.map +1 -0
- package/dist/brief/render.js +458 -0
- package/dist/brief/sanitize.d.ts +38 -0
- package/dist/brief/sanitize.d.ts.map +1 -0
- package/dist/brief/sanitize.js +48 -0
- package/dist/brief/selectors.d.ts +36 -0
- package/dist/brief/selectors.d.ts.map +1 -0
- package/dist/brief/selectors.js +75 -0
- package/dist/brief/story.d.ts +18 -0
- package/dist/brief/story.d.ts.map +1 -0
- package/dist/brief/story.js +59 -0
- package/dist/brief/types.d.ts +126 -0
- package/dist/brief/types.d.ts.map +1 -0
- package/dist/brief/types.js +11 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +199 -0
- package/dist/cli/init-args.d.ts +16 -0
- package/dist/cli/init-args.d.ts.map +1 -0
- package/dist/cli/init-args.js +24 -0
- package/dist/cli/ui-args.d.ts +23 -0
- package/dist/cli/ui-args.d.ts.map +1 -0
- package/dist/cli/ui-args.js +66 -0
- package/dist/cli/ui.d.ts +40 -0
- package/dist/cli/ui.d.ts.map +1 -0
- package/dist/cli/ui.js +180 -0
- package/dist/coordinatorium/checkpoint.d.ts +44 -0
- package/dist/coordinatorium/checkpoint.d.ts.map +1 -0
- package/dist/coordinatorium/checkpoint.js +124 -0
- package/dist/coordinatorium/cli.d.ts +39 -0
- package/dist/coordinatorium/cli.d.ts.map +1 -0
- package/dist/coordinatorium/cli.js +203 -0
- package/dist/coordinatorium/errors.d.ts +112 -0
- package/dist/coordinatorium/errors.d.ts.map +1 -0
- package/dist/coordinatorium/errors.js +145 -0
- package/dist/coordinatorium/index.d.ts +11 -0
- package/dist/coordinatorium/index.d.ts.map +1 -0
- package/dist/coordinatorium/index.js +5 -0
- package/dist/coordinatorium/lock.d.ts +187 -0
- package/dist/coordinatorium/lock.d.ts.map +1 -0
- package/dist/coordinatorium/lock.js +659 -0
- package/dist/coordinatorium/mission.d.ts +32 -0
- package/dist/coordinatorium/mission.d.ts.map +1 -0
- package/dist/coordinatorium/mission.js +87 -0
- package/dist/coordinatorium/state-keeper.d.ts +115 -0
- package/dist/coordinatorium/state-keeper.d.ts.map +1 -0
- package/dist/coordinatorium/state-keeper.js +396 -0
- package/dist/coordinatorium/types.d.ts +69 -0
- package/dist/coordinatorium/types.d.ts.map +1 -0
- package/dist/coordinatorium/types.js +27 -0
- package/dist/discovery/compose.d.ts +28 -0
- package/dist/discovery/compose.d.ts.map +1 -0
- package/dist/discovery/compose.js +159 -0
- package/dist/discovery/contracts.d.ts +211 -0
- package/dist/discovery/contracts.d.ts.map +1 -0
- package/dist/discovery/contracts.js +555 -0
- package/dist/discovery/docs.d.ts +278 -0
- package/dist/discovery/docs.d.ts.map +1 -0
- package/dist/discovery/docs.js +1182 -0
- package/dist/discovery/facts.d.ts +49 -0
- package/dist/discovery/facts.d.ts.map +1 -0
- package/dist/discovery/facts.js +541 -0
- package/dist/discovery/index.d.ts +8 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +9 -0
- package/dist/discovery/orchestrate.d.ts +35 -0
- package/dist/discovery/orchestrate.d.ts.map +1 -0
- package/dist/discovery/orchestrate.js +32 -0
- package/dist/discovery/render.d.ts +36 -0
- package/dist/discovery/render.d.ts.map +1 -0
- package/dist/discovery/render.js +278 -0
- package/dist/discovery/traverse.d.ts +197 -0
- package/dist/discovery/traverse.d.ts.map +1 -0
- package/dist/discovery/traverse.js +510 -0
- package/dist/durable/assess.d.ts +105 -0
- package/dist/durable/assess.d.ts.map +1 -0
- package/dist/durable/assess.js +239 -0
- package/dist/durable/canonical.d.ts +25 -0
- package/dist/durable/canonical.d.ts.map +1 -0
- package/dist/durable/canonical.js +78 -0
- package/dist/durable/cli.d.ts +37 -0
- package/dist/durable/cli.d.ts.map +1 -0
- package/dist/durable/cli.js +141 -0
- package/dist/durable/errors.d.ts +192 -0
- package/dist/durable/errors.d.ts.map +1 -0
- package/dist/durable/errors.js +323 -0
- package/dist/durable/fs-store.d.ts +254 -0
- package/dist/durable/fs-store.d.ts.map +1 -0
- package/dist/durable/fs-store.js +1493 -0
- package/dist/durable/index.d.ts +20 -0
- package/dist/durable/index.d.ts.map +1 -0
- package/dist/durable/index.js +13 -0
- package/dist/durable/log.d.ts +33 -0
- package/dist/durable/log.d.ts.map +1 -0
- package/dist/durable/log.js +157 -0
- package/dist/durable/memory-store.d.ts +51 -0
- package/dist/durable/memory-store.d.ts.map +1 -0
- package/dist/durable/memory-store.js +302 -0
- package/dist/durable/projection.d.ts +35 -0
- package/dist/durable/projection.d.ts.map +1 -0
- package/dist/durable/projection.js +328 -0
- package/dist/durable/prune-check.d.ts +34 -0
- package/dist/durable/prune-check.d.ts.map +1 -0
- package/dist/durable/prune-check.js +72 -0
- package/dist/durable/register.d.ts +100 -0
- package/dist/durable/register.d.ts.map +1 -0
- package/dist/durable/register.js +532 -0
- package/dist/durable/retention.d.ts +49 -0
- package/dist/durable/retention.d.ts.map +1 -0
- package/dist/durable/retention.js +59 -0
- package/dist/durable/runtime.d.ts +499 -0
- package/dist/durable/runtime.d.ts.map +1 -0
- package/dist/durable/runtime.js +1288 -0
- package/dist/durable/seams.d.ts +44 -0
- package/dist/durable/seams.d.ts.map +1 -0
- package/dist/durable/seams.js +21 -0
- package/dist/durable/testing.d.ts +11 -0
- package/dist/durable/testing.d.ts.map +1 -0
- package/dist/durable/testing.js +25 -0
- package/dist/durable/types.d.ts +442 -0
- package/dist/durable/types.d.ts.map +1 -0
- package/dist/durable/types.js +75 -0
- package/dist/graph/builder.d.ts +11 -0
- package/dist/graph/builder.d.ts.map +1 -0
- package/dist/graph/builder.js +153 -0
- package/dist/graph/identity.d.ts +37 -0
- package/dist/graph/identity.d.ts.map +1 -0
- package/dist/graph/identity.js +46 -0
- package/dist/graph/index.d.ts +7 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +3 -0
- package/dist/graph/resolver.d.ts +41 -0
- package/dist/graph/resolver.d.ts.map +1 -0
- package/dist/graph/resolver.js +36 -0
- package/dist/graph/types.d.ts +42 -0
- package/dist/graph/types.d.ts.map +1 -0
- package/dist/graph/types.js +1 -0
- package/dist/http/index.d.ts +5 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +2 -0
- package/dist/http/server.d.ts +76 -0
- package/dist/http/server.d.ts.map +1 -0
- package/dist/http/server.js +195 -0
- package/dist/http/ui-assets.d.ts +22 -0
- package/dist/http/ui-assets.d.ts.map +1 -0
- package/dist/http/ui-assets.js +100 -0
- package/dist/ideas/cli.d.ts +33 -0
- package/dist/ideas/cli.d.ts.map +1 -0
- package/dist/ideas/cli.js +158 -0
- package/dist/ideas/format.d.ts +38 -0
- package/dist/ideas/format.d.ts.map +1 -0
- package/dist/ideas/format.js +194 -0
- package/dist/ideas/index.d.ts +6 -0
- package/dist/ideas/index.d.ts.map +1 -0
- package/dist/ideas/index.js +3 -0
- package/dist/ideas/store.d.ts +55 -0
- package/dist/ideas/store.d.ts.map +1 -0
- package/dist/ideas/store.js +262 -0
- package/dist/ideas/types.d.ts +54 -0
- package/dist/ideas/types.d.ts.map +1 -0
- package/dist/ideas/types.js +26 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/init/index.d.ts +12 -0
- package/dist/init/index.d.ts.map +1 -0
- package/dist/init/index.js +90 -0
- package/dist/init/prompts.d.ts +3 -0
- package/dist/init/prompts.d.ts.map +1 -0
- package/dist/init/prompts.js +47 -0
- package/dist/init/scaffold.d.ts +29 -0
- package/dist/init/scaffold.d.ts.map +1 -0
- package/dist/init/scaffold.js +208 -0
- package/dist/init/types.d.ts +14 -0
- package/dist/init/types.d.ts.map +1 -0
- package/dist/init/types.js +1 -0
- package/dist/managed/index.d.ts +73 -0
- package/dist/managed/index.d.ts.map +1 -0
- package/dist/managed/index.js +222 -0
- package/dist/readmodel/dashboard.d.ts +40 -0
- package/dist/readmodel/dashboard.d.ts.map +1 -0
- package/dist/readmodel/dashboard.js +236 -0
- package/dist/readmodel/index.d.ts +3 -0
- package/dist/readmodel/index.d.ts.map +1 -0
- package/dist/readmodel/index.js +1 -0
- package/dist/readmodel/types.d.ts +104 -0
- package/dist/readmodel/types.d.ts.map +1 -0
- package/dist/readmodel/types.js +15 -0
- package/dist/root/index.d.ts +186 -0
- package/dist/root/index.d.ts.map +1 -0
- package/dist/root/index.js +430 -0
- package/dist/root/safe-write.d.ts +268 -0
- package/dist/root/safe-write.d.ts.map +1 -0
- package/dist/root/safe-write.js +966 -0
- package/dist/root/write-artifacts.d.ts +20 -0
- package/dist/root/write-artifacts.d.ts.map +1 -0
- package/dist/root/write-artifacts.js +42 -0
- package/dist/scriptorium/compile.d.ts +4 -0
- package/dist/scriptorium/compile.d.ts.map +1 -0
- package/dist/scriptorium/compile.js +185 -0
- package/dist/scriptorium/frontmatter.d.ts +13 -0
- package/dist/scriptorium/frontmatter.d.ts.map +1 -0
- package/dist/scriptorium/frontmatter.js +90 -0
- package/dist/scriptorium/index.d.ts +3 -0
- package/dist/scriptorium/index.d.ts.map +1 -0
- package/dist/scriptorium/index.js +1 -0
- package/dist/scriptorium/markdown.d.ts +31 -0
- package/dist/scriptorium/markdown.d.ts.map +1 -0
- package/dist/scriptorium/markdown.js +88 -0
- package/dist/scriptorium/types.d.ts +78 -0
- package/dist/scriptorium/types.d.ts.map +1 -0
- package/dist/scriptorium/types.js +1 -0
- package/dist/types/enforcement.d.ts +11 -0
- package/dist/types/enforcement.d.ts.map +1 -0
- package/dist/types/enforcement.js +1 -0
- package/dist/types/integrity.d.ts +33 -0
- package/dist/types/integrity.d.ts.map +1 -0
- package/dist/types/integrity.js +1 -0
- package/dist/types/project-definition.d.ts +30 -0
- package/dist/types/project-definition.d.ts.map +1 -0
- package/dist/types/project-definition.js +1 -0
- package/dist/ui/assets/cosmic-glass-bg-Dwx47zPu.webp +0 -0
- package/dist/ui/assets/index-C4NhMaq7.js +28 -0
- package/dist/ui/assets/index-DMZ7ZvZY.css +1 -0
- package/dist/ui/index.html +13 -0
- package/dist/update/cli.d.ts +8 -0
- package/dist/update/cli.d.ts.map +1 -0
- package/dist/update/cli.js +115 -0
- package/dist/update/index.d.ts +78 -0
- package/dist/update/index.d.ts.map +1 -0
- package/dist/update/index.js +285 -0
- package/dist/validate/index.d.ts +6 -0
- package/dist/validate/index.d.ts.map +1 -0
- package/dist/validate/index.js +214 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +1 -0
- package/package.json +67 -4
- package/templates/.gitkeep +0 -0
- package/templates/default-instance/instruction/.cursorrules +59 -0
- package/templates/default-instance/instruction/.windsurfrules +59 -0
- package/templates/default-instance/instruction/CLAUDE.md +57 -0
- package/templates/default-instance/managed/agent.md +20 -0
- package/templates/default-instance/managed/bootstrap.md +7 -0
- package/templates/default-instance/managed/index-idea.md +5 -0
- package/templates/default-instance/managed/routing-idea.md +14 -0
- package/templates/default-instance/monolith/AGENT.md +1 -0
- package/templates/default-instance/monolith/context/boot/HANDOFF.md +49 -0
- package/templates/default-instance/monolith/context/boot/WORK_SESSION.md +30 -0
- package/templates/default-instance/monolith/context/execution/current-state.md +30 -0
- package/templates/default-instance/monolith/context/maps/dependency-map.md +38 -0
- package/templates/default-instance/monolith/context/maps/project-map.md +85 -0
- package/templates/default-instance/monolith/context/maps/roadmap-index.md +41 -0
- package/templates/default-instance/monolith/context/maps/routing-map.md +151 -0
- package/templates/default-instance/monolith/context/maps/semantic-map.md +75 -0
- package/templates/default-instance/monolith/context/models/model-registry.md +37 -0
- package/templates/default-instance/monolith/context/models/privacy-classification.md +35 -0
- package/templates/default-instance/monolith/context/templates/plan-template.md +56 -0
- package/templates/default-instance/monolith/governance/README.md +29 -0
- package/templates/default-instance/monolith/governance/RULE_SCHEMA.md +58 -0
- package/templates/default-instance/monolith/learning/INDEX.md +48 -0
- package/templates/default-instance/monolith/learning/injection-map.md +49 -0
- package/templates/default-instance/monolith/learning/taxonomy.md +30 -0
- package/templates/default-instance/monolith/memory/errors/README.md +26 -0
- package/templates/default-instance/monolith/memory/errors/SCHEMA.md +47 -0
- package/templates/default-instance/monolith/memory/errors/TAXONOMY.md +27 -0
- package/templates/default-instance/monolith/memory/long-term/architecture-principles.md +31 -0
- package/templates/default-instance/monolith/memory/long-term/decisions.md +36 -0
- package/templates/default-instance/monolith/memory/long-term/execution-history.md +20 -0
- package/templates/default-instance/monolith/memory/long-term/tech-debt.md +25 -0
- package/templates/default-instance/monolith/memory/working/active.md +41 -0
- package/templates/default-instance/monolith/memory/working/governance-result.md +0 -0
- package/templates/default-instance/monolith/memory/working/integrity-result.md +0 -0
- package/templates/default-instance/monolith/memory/working/story-index.md +28 -0
- package/templates/default-instance/monolith/protocols/boot/boot-sequence.md +59 -0
- package/templates/default-instance/monolith/protocols/cognition/cognitive-modes.md +90 -0
- package/templates/default-instance/monolith/protocols/cognition/dry-run.md +56 -0
- package/templates/default-instance/monolith/protocols/cognition/execution-trace-format.md +52 -0
- package/templates/default-instance/monolith/protocols/cognition/semantic-planning.md +51 -0
- package/templates/default-instance/monolith/protocols/execution/hybrid-execution.md +37 -0
- package/templates/default-instance/monolith/protocols/execution/local-llm-governance.md +42 -0
- package/templates/default-instance/monolith/protocols/governance/command-policy.md +51 -0
- package/templates/default-instance/monolith/protocols/governance/core-invariants.md +40 -0
- package/templates/default-instance/monolith/protocols/governance/memory-governance.md +54 -0
- package/templates/default-instance/monolith/protocols/governance/metadata-schema.md +62 -0
- package/templates/default-instance/monolith/protocols/governance/skills.md +53 -0
- package/templates/default-instance/monolith/protocols/governance/work-session.md +46 -0
- package/templates/default-instance/monolith/skills/INDEX.md +32 -0
- package/templates/default-instance/monolith/skills/current-status/SKILL.md +47 -0
- package/templates/default-instance/monolith/skills/finalize-story/SKILL.md +86 -0
- package/templates/default-instance/monolith/skills/global-status/SKILL.md +56 -0
- package/templates/default-instance/monolith/skills/idea-capture/SKILL.md +157 -0
- package/templates/default-instance/monolith/skills/self-improvement/SKILL.md +77 -0
- package/templates/default-instance/monolith/state.json +11 -0
- package/templates/default-instance/monolith/tests/INDEX.md +57 -0
- package/templates/default-instance/monolith/tests/scenarios/architecture-review.md +32 -0
- package/templates/default-instance/monolith/tests/scenarios/debug-failure.md +32 -0
- package/templates/default-instance/monolith/tests/scenarios/dry-run-activation.md +33 -0
- package/templates/default-instance/monolith/tests/scenarios/execution-trace-verification.md +31 -0
- package/templates/default-instance/monolith/tests/scenarios/finalize-story.md +35 -0
- package/templates/default-instance/monolith/tests/scenarios/implement-feature.md +36 -0
- package/templates/default-instance/monolith/tests/scenarios/local-llm-delegation.md +31 -0
- package/templates/default-instance/monolith/tests/scenarios/planning-request.md +32 -0
- package/templates/default-instance/monolith/tests/scenarios/sensitive-context-task.md +30 -0
- package/templates/default-instance/monolith/tests/scenarios/validator-verification.md +33 -0
- package/templates/default-instance/monolith/tests/validation/expected-behavior.md +70 -0
- package/templates/default-instance/monolith/tests/validators/INDEX.md +17 -0
- package/templates/default-instance/monolith/tests/validators/delegation-semantics.md +22 -0
- package/templates/default-instance/monolith/tests/validators/mode-consistency.md +25 -0
- package/templates/default-instance/monolith/tests/validators/privacy-routing.md +23 -0
- package/templates/default-instance/monolith/tests/validators/protocol-references.md +27 -0
- package/templates/default-instance/monolith/tests/validators/routing-integrity.md +30 -0
- package/templates/default-instance/projectroot/AGENTS.md +111 -0
- package/templates/default-instance/projectroot/monolith.config.json +32 -0
- package/templates/default-instance/projectroot/project.definition.mjs.template +41 -0
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shape of the project.definition.mjs file that every MONOLITH instance must provide.
|
|
3
|
+
* This describes the intended contract only. `monolith validate` does NOT import or
|
|
4
|
+
* execute the file and does not check that it exports `PROJECT_DEFINITION` (SEC-002,
|
|
5
|
+
* ADR-011); no kernel code currently reads these values at runtime.
|
|
6
|
+
*/
|
|
7
|
+
export interface ProjectDefinition {
|
|
8
|
+
/** Directory name of the MONOLITH instance (e.g. '.monolith'). */
|
|
9
|
+
monolithRoot: string;
|
|
10
|
+
/** Protocol ID used as the finalization gate. */
|
|
11
|
+
finalizationProtocolId: string;
|
|
12
|
+
/** All protocol IDs active in this project. */
|
|
13
|
+
protocols: string[];
|
|
14
|
+
/** Filesystem paths where mistake / error records are stored. */
|
|
15
|
+
mistakeRoots: string[];
|
|
16
|
+
/** Path to the drift log JSON file. */
|
|
17
|
+
driftLogPath: string;
|
|
18
|
+
/** Per-protocol lists of terms that force lesson injection. */
|
|
19
|
+
forcedInjectionTerms: Record<string, string[]>;
|
|
20
|
+
/** IDs of graph nodes that must exist at the project root. */
|
|
21
|
+
requiredRootArtifacts: string[];
|
|
22
|
+
/** Markdown files that must exist at the workspace root. */
|
|
23
|
+
projectRootFiles: string[];
|
|
24
|
+
/** Documents that must be present before finalization is allowed. */
|
|
25
|
+
requiredFinalizationDocs: Array<{
|
|
26
|
+
path: string;
|
|
27
|
+
label: string;
|
|
28
|
+
}>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=project-definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-definition.d.ts","sourceRoot":"","sources":["../../src/types/project-definition.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,kEAAkE;IAClE,YAAY,EAAE,MAAM,CAAC;IAErB,iDAAiD;IACjD,sBAAsB,EAAE,MAAM,CAAC;IAE/B,+CAA+C;IAC/C,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,iEAAiE;IACjE,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;IAErB,+DAA+D;IAC/D,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE/C,8DAA8D;IAC9D,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAEhC,4DAA4D;IAC5D,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,qEAAqE;IACrE,wBAAwB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
Binary file
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(i){if(i.ep)return;i.ep=!0;const r=n(i);fetch(i.href,r)}})();/**
|
|
2
|
+
* @vue/shared v3.5.44
|
|
3
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
|
+
* @license MIT
|
|
5
|
+
**/function _s(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Z={},xt=[],We=()=>{},Ei=()=>!1,Nn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Pn=e=>e.startsWith("onUpdate:"),le=Object.assign,vs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Qr=Object.prototype.hasOwnProperty,B=(e,t)=>Qr.call(e,t),P=Array.isArray,lt=e=>rn(e)==="[object Map]",At=e=>rn(e)==="[object Set]",Us=e=>rn(e)==="[object Date]",D=e=>typeof e=="function",se=e=>typeof e=="string",qe=e=>typeof e=="symbol",W=e=>e!==null&&typeof e=="object",Ii=e=>(W(e)||D(e))&&D(e.then)&&D(e.catch),Mi=Object.prototype.toString,rn=e=>Mi.call(e),eo=e=>rn(e).slice(8,-1),Ni=e=>rn(e)==="[object Object]",bs=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Vt=_s(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),$n=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},to=/-\w/g,Re=$n(e=>e.replace(to,t=>t.slice(1).toUpperCase())),no=/\B([A-Z])/g,Ct=$n(e=>e.replace(no,"-$1").toLowerCase()),Pi=$n(e=>e.charAt(0).toUpperCase()+e.slice(1)),Bn=$n(e=>e?`on${Pi(e)}`:""),Ue=(e,t)=>!Object.is(e,t),yn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},$i=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Ri=e=>{const t=parseFloat(e);return isNaN(t)?e:t},so=e=>{const t=se(e)?Number(e):NaN;return isNaN(t)?e:t};let Bs;const Rn=()=>Bs||(Bs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ss(e){if(P(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],i=se(s)?lo(s):Ss(s);if(i)for(const r in i)t[r]=i[r]}return t}else if(se(e)||W(e))return e}const io=/;(?![^(]*\))/g,ro=/:([^]+)/,oo=/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;function lo(e){const t={};return e.replace(oo,n=>n.startsWith("/*")?"":n).split(io).forEach(n=>{if(n){const s=n.split(ro);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function on(e){let t="";if(se(e))t=e;else if(P(e))for(let n=0;n<e.length;n++){const s=on(e[n]);s&&(t+=s+" ")}else if(W(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const co="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly",ao=_s(co);function Li(e){return!!e||e===""}function uo(e,t,n){if(e.length!==t.length)return!1;let s=!0;for(let i=0;s&&i<e.length;i++)s=at(e[i],t[i],n);return s}function Ws(e,t,n){if(e.size!==t.size)return!1;const s=Array.from(t),i=new Uint8Array(s.length);for(const r of e){let o=-1;for(let l=0;l<s.length;l++)if(!i[l]&&at(r,s[l],n)){o=l;break}if(o<0)return!1;i[o]=1}return!0}function fo(e,t,n){let s=lt(e),i=lt(t);if(s||i||(s=At(e),i=At(t),s||i))return s&&i?Ws(e,t,n):!1;const r=Object.keys(e).length,o=Object.keys(t).length;if(r!==o)return!1;for(const l in e){const c=e.hasOwnProperty(l),d=t.hasOwnProperty(l);if(c&&!d||!c&&d||!at(e[l],t[l],n))return!1}return String(e)===String(t)}function qs(e,t,n,s){n||(n=[new Map,new Map]);const[i,r]=n;if(i.has(e)||r.has(t))return i.get(e)===t&&r.get(t)===e;i.set(e,t),r.set(t,e);const o=s(e,t,n);return i.delete(e),r.delete(t),o}function at(e,t,n){if(e===t)return!0;let s=Us(e),i=Us(t);return s||i?s&&i?e.getTime()===t.getTime():!1:(s=qe(e),i=qe(t),s||i?e===t:(s=P(e),i=P(t),s||i?s&&i?qs(e,t,n,uo):!1:(s=W(e),i=W(t),s||i?!s||!i?!1:qs(e,t,n,fo):String(e)===String(t))))}function ho(e,t){return e.findIndex(n=>at(n,t))}const Di=e=>!!(e&&e.__v_isRef===!0),oe=e=>se(e)?e:e==null?"":P(e)||W(e)&&(e.toString===Mi||!D(e.toString))?Di(e)?oe(e.value):JSON.stringify(e,Fi,2):String(e),Fi=(e,t)=>Di(t)?Fi(e,t.value):lt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,i],r)=>(n[Wn(s,r)+" =>"]=i,n),{})}:At(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Wn(n))}:qe(t)?Wn(t):W(t)&&!P(t)&&!Ni(t)?String(t):t,Wn=(e,t="")=>{var n;return qe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
|
|
6
|
+
* @vue/reactivity v3.5.44
|
|
7
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
8
|
+
* @license MIT
|
|
9
|
+
**/let fe;class po{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&fe&&(fe.active?(this.parent=fe,this.index=(fe.scopes||(fe.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const i=this.scopes.slice();for(t=0,n=i.length;t<n;t++)i[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=fe;try{return fe=this,t()}finally{fe=n}}}on(){++this._on===1&&(this.prevScope=fe,fe=this)}off(){if(this._on>0&&--this._on===0){if(fe===this)fe=this.prevScope;else{let t=fe;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const i=this.scopes.slice();for(n=0,s=i.length;n<s;n++)i[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0}}}function go(){return fe}let Q;const qn=new WeakSet;class ki{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,fe&&(fe.active?fe.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,qn.has(this)&&(qn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||ji(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Gs(this),Vi(this);const t=Q,n=Le;Q=this,Le=!0;try{return this.fn()}finally{Ki(this),Q=t,Le=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ts(t);this.deps=this.depsTail=void 0,Gs(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?qn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){rs(this)&&this.run()}get dirty(){return rs(this)}}let Hi=0,Kt,Ut;function ji(e,t=!1){if(e.flags|=8,t){e.next=Ut,Ut=e;return}e.next=Kt,Kt=e}function xs(){Hi++}function ws(){if(--Hi>0)return;if(Ut){let t=Ut;for(Ut=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Kt;){let t=Kt;for(Kt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Vi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ki(e){let t,n=e.depsTail,s=n;for(;s;){const i=s.prevDep;s.version===-1?(s===n&&(n=i),Ts(s),mo(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=i}e.deps=t,e.depsTail=n}function rs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ui(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ui(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Gt)||(e.globalVersion=Gt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!rs(e))))return;e.flags|=2;const t=e.dep,n=Q,s=Le;Q=e,Le=!0;try{Vi(e);const i=e.fn(e._value);(t.version===0||Ue(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{Q=n,Le=s,Ki(e),e.flags&=-3}}function Ts(e,t=!1){const{dep:n,prevSub:s,nextSub:i}=e;if(s&&(s.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)Ts(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function mo(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Le=!0;const Bi=[];function Ge(){Bi.push(Le),Le=!1}function ze(){const e=Bi.pop();Le=e===void 0?!0:e}function Gs(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Q;Q=void 0;try{t()}finally{Q=n}}}let Gt=0;class yo{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class As{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Q||!Le||Q===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Q)n=this.activeLink=new yo(Q,this),Q.deps?(n.prevDep=Q.depsTail,Q.depsTail.nextDep=n,Q.depsTail=n):Q.deps=Q.depsTail=n,Wi(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Q.depsTail,n.nextDep=void 0,Q.depsTail.nextDep=n,Q.depsTail=n,Q.deps===n&&(Q.deps=s)}return n}trigger(t){this.version++,Gt++,this.notify(t)}notify(t){xs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ws()}}}function Wi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Wi(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const os=new WeakMap,wt=Symbol(""),ls=Symbol(""),zt=Symbol("");function pe(e,t,n){if(Le&&Q){let s=os.get(e);s||os.set(e,s=new Map);let i=s.get(n);i||(s.set(n,i=new As),i.map=s,i.key=n),i.track()}}function tt(e,t,n,s,i,r){const o=os.get(e);if(!o){Gt++;return}const l=c=>{c&&c.trigger()};if(xs(),t==="clear")o.forEach(l);else{const c=P(e),d=c&&bs(n);if(c&&n==="length"){const u=Number(s);o.forEach((h,v)=>{(v==="length"||v===zt||!qe(v)&&v>=u)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),d&&l(o.get(zt)),t){case"add":c?d&&l(o.get("length")):(l(o.get(wt)),lt(e)&&l(o.get(ls)));break;case"delete":c||(l(o.get(wt)),lt(e)&&l(o.get(ls)));break;case"set":lt(e)&&l(o.get(wt));break}}ws()}function Ot(e){const t=U(e);return t===e||(pe(t,"iterate",zt),Ie(e))?t:Je(e)?ct(e)?t.map(n=>ut(Me(n))):t.map(ut):t.map(Me)}function Ln(e){return pe(e=U(e),"iterate",zt),e}function je(e,t){return Je(e)?ut(ct(e)?Me(t):t):Me(t)}const _o={__proto__:null,[Symbol.iterator](){return Gn(this,Symbol.iterator,e=>je(this,e))},concat(...e){return Ot(this).concat(...e.map(t=>P(t)?Ot(t):t))},entries(){return Gn(this,"entries",e=>(e[1]=je(this,e[1]),e))},every(e,t){return Ze(this,"every",e,t,void 0,arguments)},filter(e,t){return Ze(this,"filter",e,t,n=>n.map(s=>je(this,s)),arguments)},find(e,t){return Ze(this,"find",e,t,n=>je(this,n),arguments)},findIndex(e,t){return Ze(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ze(this,"findLast",e,t,n=>je(this,n),arguments)},findLastIndex(e,t){return Ze(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ze(this,"forEach",e,t,void 0,arguments)},includes(...e){return zn(this,"includes",e)},indexOf(...e){return zn(this,"indexOf",e)},join(e){return Ot(this).join(e)},lastIndexOf(...e){return zn(this,"lastIndexOf",e)},map(e,t){return Ze(this,"map",e,t,void 0,arguments)},pop(){return Lt(this,"pop")},push(...e){return Lt(this,"push",e)},reduce(e,...t){return Js(this,"reduce",e,t)},reduceRight(e,...t){return Js(this,"reduceRight",e,t)},shift(){return Lt(this,"shift")},some(e,t){return Ze(this,"some",e,t,void 0,arguments)},splice(...e){return Lt(this,"splice",e)},toReversed(){return Ot(this).toReversed()},toSorted(e){return Ot(this).toSorted(e)},toSpliced(...e){return Ot(this).toSpliced(...e)},unshift(...e){return Lt(this,"unshift",e)},values(){return Gn(this,"values",e=>je(this,e))}};function Gn(e,t,n){const s=Ln(e),i=s[t],r=i.call(s);if(s!==e&&!Ie(e)){if(r[Symbol.toStringTag]==="Array Iterator"){const o=Object.create(Object.getPrototypeOf(r));return o.next=()=>zs(r.next(),n),i!==qi[t]&&Object.defineProperties(o,{return:{get(){const l=r.return;return typeof l=="function"?l.bind(r):l}},throw:{get(){const l=r.throw;return typeof l=="function"?l.bind(r):l}}}),o}r._next=r.next,r.next=()=>zs(r._next(),n)}return r}function zs(e,t){return e.done||(e.value=t(e.value)),e}const qi=Array.prototype;function Ze(e,t,n,s,i,r){const o=Ln(e),l=o!==e&&!Ie(e),c=o[t];if(c!==qi[t]){const h=c.apply(e,r);return l?Me(h):h}let d=n;o!==e&&(l?d=function(h,v){return n.call(this,je(e,h),v,e)}:n.length>2&&(d=function(h,v){return n.call(this,h,v,e)}));const u=c.call(o,d,s);return l&&i?i(u):u}function Js(e,t,n,s){const i=Ln(e),r=i!==e&&!Ie(e);let o=n,l=!1;i!==e&&(r?(l=s.length===0,o=function(d,u,h){return l&&(l=!1,d=je(e,d)),n.call(this,d,je(e,u),h,e)}):n.length>3&&(o=function(d,u,h){return n.call(this,d,u,h,e)}));const c=i[t](o,...s);return l?je(e,c):c}function zn(e,t,n){const s=U(e);pe(s,"iterate",zt);const i=s[t](...n);return(i===-1||i===!1)&&Is(n[0])?(n[0]=U(n[0]),s[t](...n)):i}function Lt(e,t,n=[]){Ge(),xs();const s=U(e)[t].apply(e,n);return ws(),ze(),s}const vo=_s("__proto__,__v_isRef,__isVue"),Gi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(qe));function bo(e){qe(e)||(e=String(e));const t=U(this);return pe(t,"has",e),t.hasOwnProperty(e)}class zi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const i=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return r;if(n==="__v_raw")return s===(i?r?Mo:Xi:r?Zi:Yi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=P(t);if(!i){let c;if(o&&(c=_o[n]))return c;if(n==="hasOwnProperty")return bo}const l=Reflect.get(t,n,me(t)?t:s);if((qe(n)?Gi.has(n):vo(n))||(i||pe(t,"get",n),r))return l;if(me(l)){const c=o&&bs(n)?l:l.value;return i&&W(c)?as(c):c}return W(l)?i?as(l):Os(l):l}}class Ji extends zi{constructor(t=!1){super(!1,t)}set(t,n,s,i){let r=t[n];const o=P(t)&&bs(n);if(!this._isShallow){const d=Je(r);if(!Ie(s)&&!Je(s)&&(r=U(r),s=U(s)),!o&&me(r)&&!me(s))return d||(r.value=s),!0}const l=o?Number(n)<t.length:B(t,n),c=Reflect.set(t,n,s,me(t)?t:i);return t===U(i)&&c&&(l?Ue(s,r)&&tt(t,"set",n,s):tt(t,"add",n,s)),c}deleteProperty(t,n){const s=B(t,n);t[n];const i=Reflect.deleteProperty(t,n);return i&&s&&tt(t,"delete",n,void 0),i}has(t,n){const s=Reflect.has(t,n);return(!qe(n)||!Gi.has(n))&&pe(t,"has",n),s}ownKeys(t){return pe(t,"iterate",P(t)?"length":wt),Reflect.ownKeys(t)}}class So extends zi{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const xo=new Ji,wo=new So,To=new Ji(!0);const cs=e=>e,dn=e=>Reflect.getPrototypeOf(e);function Ao(e,t,n){return function(...s){const i=this.__v_raw,r=U(i),o=lt(r),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,d=i[e](...s),u=n?cs:t?ut:Me;return!t&&pe(r,"iterate",c?ls:wt),le(Object.create(d),{next(){const{value:h,done:v}=d.next();return v?{value:h,done:v}:{value:l?[u(h[0]),u(h[1])]:u(h),done:v}}})}}function hn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Co(e,t){const n={get(i){const r=this.__v_raw,o=U(r),l=U(i);e||(Ue(i,l)&&pe(o,"get",i),pe(o,"get",l));const{has:c}=dn(o),d=t?cs:e?ut:Me;if(c.call(o,i))return d(r.get(i));if(c.call(o,l))return d(r.get(l));r!==o&&r.get(i)},get size(){const i=this.__v_raw;return!e&&pe(U(i),"iterate",wt),i.size},has(i){const r=this.__v_raw,o=U(r),l=U(i);return e||(Ue(i,l)&&pe(o,"has",i),pe(o,"has",l)),i===l?r.has(i):r.has(i)||r.has(l)},forEach(i,r){const o=this,l=o.__v_raw,c=U(l),d=t?cs:e?ut:Me;return!e&&pe(c,"iterate",wt),l.forEach((u,h)=>i.call(r,d(u),d(h),o))}};return le(n,e?{add:hn("add"),set:hn("set"),delete:hn("delete"),clear:hn("clear")}:{add(i){const r=U(this),o=dn(r),l=U(i),c=!t&&!Ie(i)&&!Je(i)?l:i;return o.has.call(r,c)||Ue(i,c)&&o.has.call(r,i)||Ue(l,c)&&o.has.call(r,l)||(r.add(c),tt(r,"add",c,c)),this},set(i,r){!t&&!Ie(r)&&!Je(r)&&(r=U(r));const o=U(this),{has:l,get:c}=dn(o);let d=l.call(o,i);d||(i=U(i),d=l.call(o,i));const u=c.call(o,i);return o.set(i,r),d?Ue(r,u)&&tt(o,"set",i,r):tt(o,"add",i,r),this},delete(i){const r=U(this),{has:o,get:l}=dn(r);let c=o.call(r,i);c||(i=U(i),c=o.call(r,i)),l&&l.call(r,i);const d=r.delete(i);return c&&tt(r,"delete",i,void 0),d},clear(){const i=U(this),r=i.size!==0,o=i.clear();return r&&tt(i,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=Ao(i,e,t)}),n}function Cs(e,t){const n=Co(e,t);return(s,i,r)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_isShallow"?t:i==="__v_raw"?s:Reflect.get(B(n,i)&&i in s?n:s,i,r)}const Oo={get:Cs(!1,!1)},Eo={get:Cs(!1,!0)},Io={get:Cs(!0,!1)};const Yi=new WeakMap,Zi=new WeakMap,Xi=new WeakMap,Mo=new WeakMap;function No(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Os(e){return Je(e)?e:Es(e,!1,xo,Oo,Yi)}function Po(e){return Es(e,!1,To,Eo,Zi)}function as(e){return Es(e,!0,wo,Io,Xi)}function Es(e,t,n,s,i){if(!W(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=i.get(e);if(r)return r;const o=No(eo(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return i.set(e,l),l}function ct(e){return Je(e)?ct(e.__v_raw):!!(e&&e.__v_isReactive)}function Je(e){return!!(e&&e.__v_isReadonly)}function Ie(e){return!!(e&&e.__v_isShallow)}function Is(e){return e?!!e.__v_raw:!1}function U(e){const t=e&&e.__v_raw;return t?U(t):e}function $o(e){return!B(e,"__v_skip")&&Object.isExtensible(e)&&$i(e,"__v_skip",!0),e}const Me=e=>W(e)?Os(e):e,ut=e=>W(e)?as(e):e;function me(e){return e?e.__v_isRef===!0:!1}function It(e){return Ro(e,!1)}function Ro(e,t){return me(e)?e:new Lo(e,t)}class Lo{constructor(t,n){this.dep=new As,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:U(t),this._value=n?t:Me(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Ie(t)||Je(t);t=s?t:U(t),Ue(t,n)&&(this._rawValue=t,this._value=s?t:Me(t),this.dep.trigger())}}function Dn(e){return me(e)?e.value:e}const Do={get:(e,t,n)=>t==="__v_raw"?e:Dn(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const i=e[t];return me(i)&&!me(n)?(i.value=n,!0):Reflect.set(e,t,n,s)}};function Qi(e){return ct(e)?e:new Proxy(e,Do)}class Fo{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new As(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Gt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Q!==this)return ji(this,!0),!0}get value(){const t=this.dep.track();return Ui(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ko(e,t,n=!1){let s,i;return D(e)?s=e:(s=e.get,i=e.set),new Fo(s,i,n)}const pn={},bn=new WeakMap;let vt;function Ho(e,t=!1,n=vt){if(n){let s=bn.get(n);s||bn.set(n,s=[]),s.push(e)}}function jo(e,t,n=Z){const{immediate:s,deep:i,once:r,scheduler:o,augmentJob:l,call:c}=n,d=M=>i?M:Ie(M)||i===!1||i===0?nt(M,1):nt(M);let u,h,v,w,F=!1,O=!1;if(me(e)?(h=()=>e.value,F=Ie(e)):ct(e)?(h=()=>d(e),F=!0):P(e)?(O=!0,F=e.some(M=>ct(M)||Ie(M)),h=()=>e.map(M=>{if(me(M))return M.value;if(ct(M))return d(M);if(D(M))return c?c(M,2):M()})):D(e)?t?h=c?()=>c(e,2):e:h=()=>{if(v){Ge();try{v()}finally{ze()}}const M=vt;vt=u;try{return c?c(e,3,[w]):e(w)}finally{vt=M}}:h=We,t&&i){const M=h,z=i===!0?1/0:i;h=()=>nt(M(),z)}const k=go(),j=()=>{u.stop(),k&&k.active&&vs(k.effects,u)};if(r&&t){const M=t;t=(...z)=>{try{return M(...z)}finally{j()}}}let L=O?new Array(e.length).fill(pn):pn;const V=M=>{if(!(!(u.flags&1)||!u.dirty&&!M))if(t){const z=u.run();if(M||i||F||(O?z.some((ce,ye)=>Ue(ce,L[ye])):Ue(z,L))){const ce=vt;Ge();try{v&&v(),vt=u;const ye=[z,L===pn?void 0:O&&L[0]===pn?[]:L,w];L=z,c?c(t,3,ye):t(...ye)}finally{vt=ce,ze()}}}else u.run()};return l&&l(V),u=new ki(h),u.scheduler=o?()=>o(V,!1):V,w=M=>Ho(M,!1,u),v=u.onStop=()=>{const M=bn.get(u);if(M){if(c)c(M,4);else for(const z of M)z();bn.delete(u)}},t?s?V(!0):L=u.run():o?o(V.bind(null,!0),!0):u.run(),j.pause=u.pause.bind(u),j.resume=u.resume.bind(u),j.stop=j,j}function nt(e,t=1/0,n){if(t<=0||!W(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,me(e))nt(e.value,t,n);else if(P(e))for(let s=0;s<e.length;s++)nt(e[s],t,n);else if(At(e)||lt(e))e.forEach(s=>{nt(s,t,n)});else if(Ni(e)){for(const s in e)nt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&nt(e[s],t,n)}return e}/**
|
|
10
|
+
* @vue/runtime-core v3.5.44
|
|
11
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
12
|
+
* @license MIT
|
|
13
|
+
**/function ln(e,t,n,s){try{return s?e(...s):e()}catch(i){Fn(i,t,n)}}function Ne(e,t,n,s){if(D(e)){const i=ln(e,t,n,s);return i&&Ii(i)&&i.catch(r=>{Fn(r,t,n)}),i}if(P(e)){const i=[];for(let r=0;r<e.length;r++)i.push(Ne(e[r],t,n,s));return i}}function Fn(e,t,n,s=!0){const i=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||Z;if(t){let l=t.parent;const c=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const u=l.ec;if(u){for(let h=0;h<u.length;h++)if(u[h](e,c,d)===!1)return}l=l.parent}if(r){Ge(),ln(r,null,10,[e,c,d]),ze();return}}Vo(e,n,i,s,o)}function Vo(e,t,n,s=!0,i=!1){if(i)throw e;console.error(e)}const ve=[];let $e=-1;const Ve=[];let ot=null,Et=0;const er=Promise.resolve();let Sn=null;function tr(e){const t=Sn||er;return e?t.then(this?e.bind(this):e):t}function Ko(e){let t=$e+1,n=ve.length;for(;t<n;){const s=t+n>>>1,i=ve[s],r=Jt(i);r<e||r===e&&i.flags&2?t=s+1:n=s}return t}function Ms(e){if(!(e.flags&1)){const t=Jt(e),n=ve[ve.length-1];!n||!(e.flags&2)&&t>=Jt(n)?ve.push(e):ve.splice(Ko(t),0,e),e.flags|=1,nr()}}function nr(){Sn||(Sn=er.then(rr))}function Uo(e){if(!P(e))ot&&e.id===-1?ot.splice(Et+1,0,e):e.flags&1||(Ve.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)Ve.push(e[t]);nr()}function sr(e,t,n,s=$e+1){for(;s<ve.length;s++){const i=ve[s];if(i&&i.flags&2){if(e&&i.id!==e.uid||t!==void 0&&!(i.id>=t))continue;ve.splice(s,1),s=e?s-1:$e,i.flags&4&&(i.flags&=-2),i(),i.flags&4||(i.flags&=-2)}}}function ir(e,t,n=0){if(Ve.length){let s=Ve,i=0;if(t){s=[];for(let o=0;o<Ve.length;o++){const l=Ve[o];(l.i!==void 0?!l.i||l.i.uid<n:t.has(l))?Ve[i++]=l:s.push(l)}}const r=[...new Set(s)].sort((o,l)=>Jt(o)-Jt(l));if(Ve.length=i,ot){for(let o=0;o<r.length;o++)ot.push(r[o]);return}for(ot=r,Et=0;Et<ot.length;Et++){const o=ot[Et];o.flags&4&&(o.flags&=-2),o.flags&8||o(),o.flags&=-2}ot=null,Et=0}}let Jn=!1;function Bo(e,t){if(Jn){e();return}const n=t===void 0?void 0:new Set(Ve);e(),Jn=!0;try{sr(void 0,t),ir(void 0,n,t)}finally{Jn=!1}}const Jt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function rr(e){try{for($e=0;$e<ve.length;$e++){const t=ve[$e];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),ln(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;$e<ve.length;$e++){const t=ve[$e];t&&(t.flags&=-2)}$e=-1,ve.length=0,ir(),Sn=null,(ve.length||Ve.length)&&rr()}}let Ee=null,or=null;function xn(e){const t=Ee;return Ee=e,or=e&&e.type.__scopeId||null,t}function lr(e,t=Ee,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&Cn(-1);const r=xn(t),o=Tt.length;let l;try{l=e(...i)}finally{for(let c=Tt.length;c>o;c--)Rr();xn(r),s._d&&Cn(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function Wo(e,t){if(Ee===null)return e;const n=Un(Ee),s=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[r,o,l,c=Z]=t[i];r&&(D(r)&&(r={mounted:r,updated:r}),r.deep&&nt(o),s.push({dir:r,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function gt(e,t,n,s){const i=e.dirs,r=t&&t.dirs;for(let o=0;o<i.length;o++){const l=i[o];r&&(l.oldValue=r[o].value);let c=l.dir[s];c&&(Ge(),Ne(c,n,8,[e.el,l,e,t]),ze())}}function qo(e,t){if(be){let n=be.provides;const s=be.parent&&be.parent.provides;s===n&&(n=be.provides=Object.create(s)),n[e]=t}}function _n(e,t,n=!1){const s=kr();if(s||Mt){let i=Mt?Mt._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&D(t)?t.call(s&&s.proxy):t}}const Go=Symbol.for("v-scx"),zo=()=>_n(Go);function Yn(e,t,n){return cr(e,t,n)}function cr(e,t,n=Z){const{immediate:s,deep:i,flush:r,once:o}=n,l=le({},n),c=t&&s||!t&&r!=="post";let d;if(tn){if(r==="sync"){const w=zo();d=w.__watcherHandles||(w.__watcherHandles=[])}else if(!c){const w=()=>{};return w.stop=We,w.resume=We,w.pause=We,w}}const u=be;l.call=(w,F,O)=>Ne(w,u,F,O);let h=!1;r==="post"?l.scheduler=w=>{w.i=u,xe(w,u&&u.suspense)}:r!=="sync"&&(h=!0,l.scheduler=(w,F)=>{F?w():Ms(w)}),l.augmentJob=w=>{t&&(w.flags|=4),h&&(w.flags|=2,u&&(w.id=u.uid,w.i=u))};const v=jo(e,t,l);return tn&&(d?d.push(v):c&&v()),v}function Jo(e,t,n){const s=this.proxy,i=se(e)?e.includes(".")?ar(s,e):()=>s[e]:e.bind(s,s);let r;D(t)?r=t:(r=t.handler,n=t);const o=an(this),l=cr(i,r.bind(s),n);return o(),l}function ar(e,t){const n=t.split(".");return()=>{let s=e;for(let i=0;i<n.length&&s;i++)s=s[n[i]];return s}}const Yo=Symbol("_vte"),kn=e=>e.__isTeleport,Oe=Symbol("_leaveCb"),Dt=Symbol("_enterCb");function Zo(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ns(()=>{e.isMounted=!0}),Ps(()=>{e.isUnmounting=!0}),e}const Ce=[Function,Array],ur={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Ce,onEnter:Ce,onAfterEnter:Ce,onEnterCancelled:Ce,onBeforeLeave:Ce,onLeave:Ce,onAfterLeave:Ce,onLeaveCancelled:Ce,onBeforeAppear:Ce,onAppear:Ce,onAfterAppear:Ce,onAppearCancelled:Ce},Xo={name:"BaseTransition",props:ur,setup(e,{slots:t}){const n=kr(),s=Zo();return()=>{const i=t.default&&hr(t.default(),!0),r=i&&i.length?fr(i):n.subTree?Qt():void 0;if(!r)return;const o=U(e),{mode:l}=o;if(s.isLeaving)return Zn(r);const c=wn(r);if(!c)return Zn(r);let d=us(c,o,s,n,h=>d=h);c.type!==ge&&Nt(c,d);let u=n.subTree&&wn(n.subTree);if(u&&u.type!==ge&&!St(u,c)&&Yt(n.subTree)){let h=us(u,o,s,n);if(Nt(u,h),l==="out-in"&&c.type!==ge)return s.isLeaving=!0,h.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete h.afterLeave,u=void 0},Zn(r);l==="in-out"&&c.type!==ge?h.delayLeave=(v,w,F)=>{const O=dr(s,u);O[String(u.key)]=u,v[Oe]=()=>{w(),v[Oe]=void 0,delete d.delayedLeave,u=void 0},d.delayedLeave=()=>{F(),delete d.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return r}}};function fr(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ge){t=n;break}}return t}const Qo=Xo;function dr(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function us(e,t,n,s,i){const{appear:r,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:d,onAfterEnter:u,onEnterCancelled:h,onBeforeLeave:v,onLeave:w,onAfterLeave:F,onLeaveCancelled:O,onBeforeAppear:k,onAppear:j,onAfterAppear:L,onAppearCancelled:V}=t,M=String(e.key),z=dr(n,e),ce=(H,q)=>{H&&Ne(H,s,9,q)},ye=(H,q)=>{const te=q[1];ce(H,q),P(H)?H.every(A=>A.length<=1)&&te():H.length<=1&&te()},Se={mode:o,persisted:l,beforeEnter(H){let q=c;if(!n.isMounted)if(r)q=k||c;else return;H[Oe]&&H[Oe](!0);const te=z[M];if(te&&St(e,te)){let A=te.el[Oe];if(!A){const J=Yt(te);A=J&&J.el[Oe]}A&&A()}ce(q,[H])},enter(H){if(z[M]===e)return;let q=d,te=u,A=h;if(!n.isMounted)if(r)q=j||d,te=L||u,A=V||h;else return;let J=!1;H[Dt]=Ye=>{J||(J=!0,Ye?ce(A,[H]):ce(te,[H]),Se.delayedLeave&&Se.delayedLeave(),H[Dt]=void 0)};const he=H[Dt].bind(null,!1);q?ye(q,[H,he]):he()},leave(H,q){const te=String(e.key);if(H[Dt]&&H[Dt](!0),n.isUnmounting)return q();ce(v,[H]);let A=!1;H[Oe]=he=>{A||(A=!0,q(),he?ce(O,[H]):ce(F,[H]),H[Oe]=void 0,z[te]===e&&delete z[te])};const J=H[Oe].bind(null,!1);z[te]=e,w?ye(w,[H,J]):J()},clone(H){const q=us(H,t,n,s,i);return i&&i(q),q}};return Se}function Zn(e){if(Hn(e))return e=dt(e),e.children=null,e}function wn(e){if(!Hn(e))return kn(e.type)&&e.children?fr(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&D(n.default))return n.default()}}function Nt(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Nt(kn(n.type)&&wn(n)||n,t)}else if(e.shapeFlag&128)e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback);else if(e.transition=t,e.type===ie&&P(e.children)){const n=Sr(e.children,!1);n&&Nt(n,t)}}function hr(e,t=!1,n){let s=[],i=0;for(let r=0;r<e.length;r++){let o=e[r];const l=n==null?o.key:String(n)+String(o.key!=null?o.key:r);o.type===ie?(o.patchFlag&128&&i++,s=s.concat(hr(o.children,t,l))):(t||o.type!==ge)&&s.push(l!=null?dt(o,{key:l}):o)}if(i>1)for(let r=0;r<s.length;r++)s[r].patchFlag=-2;return s}function Yt(e){if(e.component)return Yt(e.component.subTree);if(e.type===ie){const t=P(e.children)&&Sr(e.children,!1);return t?Yt(t):void 0}if(e.type!==ge)return e}function st(e,t){return D(e)?le({name:e.name},t,{setup:e}):e}function pr(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ys(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Tn=new WeakMap;function Bt(e,t,n,s,i=!1){if(P(e)){e.forEach((O,k)=>Bt(O,t&&(P(t)?t[k]:t),n,s,i));return}if(Wt(s)&&!i){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Bt(e,t,n,s.component.subTree);return}const r=s.shapeFlag&4?Un(s.component):s.el,o=i?null:r,{i:l,r:c}=e,d=t&&t.r,u=l.refs===Z?l.refs={}:l.refs,h=l.setupState,v=U(h),w=h===Z?Ei:O=>Ys(u,O)?!1:B(v,O),F=(O,k)=>!(k&&Ys(u,k));if(d!=null&&d!==c){if(Zs(t),se(d))u[d]=null,w(d)&&(h[d]=null);else if(me(d)){const O=t;F(d,O.k)&&(d.value=null),O.k&&(u[O.k]=null)}}if(D(c))ln(c,l,12,[o,u]);else{const O=se(c),k=me(c);if(O||k){const j=()=>{if(e.f){const L=O?w(c)?h[c]:u[c]:F()||!e.k?c.value:u[e.k];if(i)P(L)&&vs(L,r);else if(P(L))L.includes(r)||L.push(r);else if(O)u[c]=[r],w(c)&&(h[c]=u[c]);else{const V=[r];F(c,e.k)&&(c.value=V),e.k&&(u[e.k]=V)}}else O?(u[c]=o,w(c)&&(h[c]=o)):k&&(F(c,e.k)&&(c.value=o),e.k&&(u[e.k]=o))};if(o){const L=()=>{j(),Tn.delete(e)};L.id=-1,Tn.set(e,L),xe(L,n)}else Zs(e),j()}}}function Zs(e){const t=Tn.get(e);t&&(t.flags|=8,Tn.delete(e))}Rn().requestIdleCallback;Rn().cancelIdleCallback;const Wt=e=>!!e.type.__asyncLoader,Hn=e=>e.type.__isKeepAlive;function el(e,t){gr(e,"a",t)}function tl(e,t){gr(e,"da",t)}function gr(e,t,n=be){const s=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(jn(t,s,n),n){let i=n.parent;for(;i&&i.parent;)Hn(i.parent.vnode)&&nl(s,t,n,i),i=i.parent}}function nl(e,t,n,s){const i=jn(t,e,s,!0);mr(()=>{vs(s[t],i)},n)}function jn(e,t,n=be,s=!1){if(n){const i=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...o)=>{Ge();const l=an(n),c=Ne(t,n,e,o);return l(),ze(),c});return s?i.unshift(r):i.push(r),r}}const it=e=>(t,n=be)=>{(!tn||e==="sp")&&jn(e,(...s)=>t(...s),n)},sl=it("bm"),Ns=it("m"),il=it("bu"),rl=it("u"),Ps=it("bum"),mr=it("um"),ol=it("sp"),ll=it("rtg"),cl=it("rtc");function al(e,t=be){jn("ec",e,t)}const ul=Symbol.for("v-ndc");function ft(e,t,n,s){let i;const r=n,o=P(e);if(o||se(e)){const l=o&&ct(e);let c=!1,d=!1;l&&(c=!Ie(e),d=Je(e),e=Ln(e)),i=new Array(e.length);for(let u=0,h=e.length;u<h;u++)i[u]=t(c?d?ut(Me(e[u])):Me(e[u]):e[u],u,void 0,r)}else if(typeof e=="number")if(!Number.isInteger(e)||e<0)i=[];else{i=new Array(e);for(let l=0;l<e;l++)i[l]=t(l+1,l,void 0,r)}else if(W(e))if(e[Symbol.iterator])i=Array.from(e,(l,c)=>t(l,c,void 0,r));else{const l=Object.keys(e);i=new Array(l.length);for(let c=0,d=l.length;c<d;c++){const u=l[c];i[c]=t(e[u],u,c,r)}}else i=[];return i}const fs=e=>e?Hr(e)?Un(e):fs(e.parent):null,qt=le(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>fs(e.parent),$root:e=>fs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>_r(e),$forceUpdate:e=>e.f||(e.f=()=>{Ms(e.update)}),$nextTick:e=>e.n||(e.n=tr.bind(e.proxy)),$watch:e=>Jo.bind(e)}),Xn=(e,t)=>e!==Z&&!e.__isScriptSetup&&B(e,t),fl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:i,props:r,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const v=o[t];if(v!==void 0)switch(v){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return r[t]}else{if(Xn(s,t))return o[t]=1,s[t];if(i!==Z&&B(i,t))return o[t]=2,i[t];if(B(r,t))return o[t]=3,r[t];if(n!==Z&&B(n,t))return o[t]=4,n[t];ds&&(o[t]=0)}}const d=qt[t];let u,h;if(d)return t==="$attrs"&&pe(e.attrs,"get",""),d(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==Z&&B(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,B(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:i,ctx:r}=e;return Xn(i,t)?(i[t]=n,!0):s!==Z&&B(s,t)?(s[t]=n,!0):B(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:i,props:r,type:o}},l){let c;return!!(n[l]||e!==Z&&l[0]!=="$"&&B(e,l)||Xn(t,l)||B(r,l)||B(s,l)||B(qt,l)||B(i.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:B(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Xs(e){return P(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ds=!0;function dl(e){const t=_r(e),n=e.proxy,s=e.ctx;ds=!1,t.beforeCreate&&Qs(t.beforeCreate,e,"bc");const{data:i,computed:r,methods:o,watch:l,provide:c,inject:d,created:u,beforeMount:h,mounted:v,beforeUpdate:w,updated:F,activated:O,deactivated:k,beforeDestroy:j,beforeUnmount:L,destroyed:V,unmounted:M,render:z,renderTracked:ce,renderTriggered:ye,errorCaptured:Se,serverPrefetch:H,expose:q,inheritAttrs:te,components:A,directives:J,filters:he}=t;if(d&&hl(d,s,null),o)for(const ne in o){const X=o[ne];D(X)&&(s[ne]=X.bind(n))}if(i){const ne=i.call(n,n);W(ne)&&(e.data=Os(ne))}if(ds=!0,r)for(const ne in r){const X=r[ne],ht=D(X)?X.bind(n,n):D(X.get)?X.get.bind(n,n):We,un=!D(X)&&D(X.set)?X.set.bind(n):We,pt=nn({get:ht,set:un});Object.defineProperty(s,ne,{enumerable:!0,configurable:!0,get:()=>pt.value,set:Pe=>pt.value=Pe})}if(l)for(const ne in l)yr(l[ne],s,n,ne);if(c){const ne=D(c)?c.call(n):c;Reflect.ownKeys(ne).forEach(X=>{qo(X,ne[X])})}u&&Qs(u,e,"c");function ae(ne,X){P(X)?X.forEach(ht=>ne(ht.bind(n))):X&&ne(X.bind(n))}if(ae(sl,h),ae(Ns,v),ae(il,w),ae(rl,F),ae(el,O),ae(tl,k),ae(al,Se),ae(cl,ce),ae(ll,ye),ae(Ps,L),ae(mr,M),ae(ol,H),P(q))if(q.length){const ne=e.exposed||(e.exposed={});q.forEach(X=>{Object.defineProperty(ne,X,{get:()=>n[X],set:ht=>n[X]=ht,enumerable:!0})})}else e.exposed||(e.exposed={});z&&e.render===We&&(e.render=z),te!=null&&(e.inheritAttrs=te),A&&(e.components=A),J&&(e.directives=J),H&&pr(e)}function hl(e,t,n=We){P(e)&&(e=hs(e));for(const s in e){const i=e[s];let r;W(i)?"default"in i?r=_n(i.from||s,i.default,!0):r=_n(i.from||s):r=_n(i),me(r)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:o=>r.value=o}):t[s]=r}}function Qs(e,t,n){Ne(P(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function yr(e,t,n,s){let i=s.includes(".")?ar(n,s):()=>n[s];if(se(e)){const r=t[e];D(r)&&Yn(i,r)}else if(D(e))Yn(i,e.bind(n));else if(W(e))if(P(e))e.forEach(r=>yr(r,t,n,s));else{const r=D(e.handler)?e.handler.bind(n):t[e.handler];D(r)&&Yn(i,r,e)}}function _r(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:i,optionsCache:r,config:{optionMergeStrategies:o}}=e.appContext,l=r.get(t);let c;return l?c=l:!i.length&&!n&&!s?c=t:(c={},i.length&&i.forEach(d=>An(c,d,o,!0)),An(c,t,o)),W(t)&&r.set(t,c),c}function An(e,t,n,s=!1){const{mixins:i,extends:r}=t;r&&An(e,r,n,!0),i&&i.forEach(o=>An(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=pl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const pl={data:ei,props:ti,emits:ti,methods:kt,computed:kt,beforeCreate:_e,created:_e,beforeMount:_e,mounted:_e,beforeUpdate:_e,updated:_e,beforeDestroy:_e,beforeUnmount:_e,destroyed:_e,unmounted:_e,activated:_e,deactivated:_e,errorCaptured:_e,serverPrefetch:_e,components:kt,directives:kt,watch:ml,provide:ei,inject:gl};function ei(e,t){return t?e?function(){return le(D(e)?e.call(this,this):e,D(t)?t.call(this,this):t)}:t:e}function gl(e,t){return kt(hs(e),hs(t))}function hs(e){if(P(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function _e(e,t){return e?[...new Set([].concat(e,t))]:t}function kt(e,t){return e?le(Object.create(null),e,t):t}function ti(e,t){return e?P(e)&&P(t)?[...new Set([...e,...t])]:le(Object.create(null),Xs(e),Xs(t??{})):t}function ml(e,t){if(!e)return t;if(!t)return e;const n=le(Object.create(null),e);for(const s in t)n[s]=_e(e[s],t[s]);return n}function vr(){return{app:null,config:{isNativeTag:Ei,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let yl=0;function _l(e,t){return function(s,i=null){D(s)||(s=le({},s)),i!=null&&!W(i)&&(i=null);const r=vr(),o=new WeakSet,l=[];let c=!1;const d=r.app={_uid:yl++,_component:s,_props:i,_container:null,_context:r,_instance:null,version:Jl,get config(){return r.config},set config(u){},use(u,...h){return o.has(u)||(u&&D(u.install)?(o.add(u),u.install(d,...h)):D(u)&&(o.add(u),u(d,...h))),d},mixin(u){return r.mixins.includes(u)||r.mixins.push(u),d},component(u,h){return h?(r.components[u]=h,d):r.components[u]},directive(u,h){return h?(r.directives[u]=h,d):r.directives[u]},mount(u,h,v){if(!c){const w=d._ceVNode||ee(s,i);return w.appContext=r,v===!0?v="svg":v===!1&&(v=void 0),e(w,u,v),c=!0,d._container=u,u.__vue_app__=d,Un(w.component)}},onUnmount(u){l.push(u)},unmount(){c&&(Ne(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(u,h){return r.provides[u]=h,d},runWithContext(u){const h=Mt;Mt=d;try{return u()}finally{Mt=h}}};return d}}let Mt=null;const vl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Re(t)}Modifiers`]||e[`${Ct(t)}Modifiers`];function bl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||Z;let i=n;const r=t.startsWith("update:"),o=r&&vl(s,t.slice(7));o&&(o.trim&&(i=n.map(u=>se(u)?u.trim():u)),o.number&&(i=i.map(Ri)));let l,c=s[l=Bn(t)]||s[l=Bn(Re(t))];!c&&r&&(c=s[l=Bn(Ct(t))]),c&&Ne(c,e,6,i);const d=s[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ne(d,e,6,i)}}const Sl=new WeakMap;function br(e,t,n=!1){const s=n?Sl:t.emitsCache,i=s.get(e);if(i!==void 0)return i;const r=e.emits;let o={},l=!1;if(!D(e)){const c=d=>{const u=br(d,t,!0);u&&(l=!0,le(o,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!r&&!l?(W(e)&&s.set(e,null),null):(P(r)?r.forEach(c=>o[c]=null):le(o,r),W(e)&&s.set(e,o),o)}function Vn(e,t){return!e||!Nn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),B(e,t[0].toLowerCase()+t.slice(1))||B(e,Ct(t))||B(e,t))}function ni(e){const{type:t,vnode:n,proxy:s,withProxy:i,propsOptions:[r],slots:o,attrs:l,emit:c,render:d,renderCache:u,props:h,data:v,setupState:w,ctx:F,inheritAttrs:O}=e,k=xn(e);let j,L;try{if(n.shapeFlag&4){const M=i||s,z=M;j=Ke(d.call(z,M,u,h,w,v,F)),L=l}else{const M=t;j=Ke(M.length>1?M(h,{attrs:l,slots:o,emit:c}):M(h,null)),L=t.props?l:xl(l)}}catch(M){Tt.length=0,Fn(M,e,1),j=ee(ge)}let V=j;if(L&&O!==!1){const M=Object.keys(L),{shapeFlag:z}=V;M.length&&z&7&&(r&&M.some(Pn)&&(L=wl(L,r)),V=dt(V,L,!1,!0))}if(n.dirs&&(V=dt(V,null,!1,!0),V.dirs=V.dirs?V.dirs.concat(n.dirs):n.dirs),n.transition){const M=kn(V.type)&&wn(V)||V;Nt(M,n.transition)}return j=V,xn(k),j}function Sr(e,t=!0){let n;for(let s=0;s<e.length;s++){const i=e[s];if(Xt(i)){if(i.type!==ge||i.children==="v-if"){if(n)return;n=i}}else return}return n}const xl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Nn(n))&&((t||(t={}))[n]=e[n]);return t},wl=(e,t)=>{const n={};for(const s in e)(!Pn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Tl(e,t,n){const{props:s,children:i,component:r}=e,{props:o,children:l,patchFlag:c}=t,d=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?si(s,o,d):!!o;if(c&8){const u=t.dynamicProps;for(let h=0;h<u.length;h++){const v=u[h];if(xr(o,s,v)&&!Vn(d,v))return!0}}}else return(i||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?si(s,o,d):!0:!!o;return!1}function si(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let i=0;i<s.length;i++){const r=s[i];if(!B(e,r)||xr(t,e,r)&&!Vn(n,r))return!0}return!1}function xr(e,t,n){const s=e[n],i=t[n];return n==="style"&&W(s)&&W(i)?!at(s,i):s!==i}function Al({vnode:e,parent:t,suspense:n},s){for(;t;){const i=t.subTree;if(i.suspense&&i.suspense.activeBranch===e&&(i.suspense.vnode.el=i.el=s,e=i),i===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const wr={},Tr=()=>Object.create(wr),Ar=e=>Object.getPrototypeOf(e)===wr;function Cl(e,t,n,s=!1){const i={},r=Tr();e.propsDefaults=Object.create(null),Cr(e,t,i,r);for(const o in e.propsOptions[0])o in i||(i[o]=void 0);n?e.props=s?i:Po(i):e.type.props?e.props=i:e.props=r,e.attrs=r}function Ol(e,t,n,s){const{props:i,attrs:r,vnode:{patchFlag:o}}=e,l=U(i),[c]=e.propsOptions;let d=!1;if((s||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let h=0;h<u.length;h++){let v=u[h];if(Vn(e.emitsOptions,v))continue;const w=t[v];if(c)if(B(r,v))w!==r[v]&&(r[v]=w,d=!0);else{const F=Re(v);i[F]=ps(c,l,F,w,e,!1)}else w!==r[v]&&(r[v]=w,d=!0)}}}else{Cr(e,t,i,r)&&(d=!0);let u;for(const h in l)(!t||!B(t,h)&&((u=Ct(h))===h||!B(t,u)))&&(c?n&&(n[h]!==void 0||n[u]!==void 0)&&(i[h]=ps(c,l,h,void 0,e,!0)):delete i[h]);if(r!==l)for(const h in r)(!t||!B(t,h))&&(delete r[h],d=!0)}d&&tt(e.attrs,"set","")}function Cr(e,t,n,s){const[i,r]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(Vt(c))continue;const d=t[c];let u;i&&B(i,u=Re(c))?!r||!r.includes(u)?n[u]=d:(l||(l={}))[u]=d:Vn(e.emitsOptions,c)||(!(c in s)||d!==s[c])&&(s[c]=d,o=!0)}if(r){const c=U(n),d=l||Z;for(let u=0;u<r.length;u++){const h=r[u];n[h]=ps(i,c,h,d[h],e,!B(d,h))}}return o}function ps(e,t,n,s,i,r){const o=e[n];if(o!=null){const l=B(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&D(c)){const{propsDefaults:d}=i;if(n in d)s=d[n];else{const u=an(i);s=d[n]=c.call(null,t),u()}}else s=c;i.ce&&i.ce._setProp(n,s)}o[0]&&(r&&!l?s=!1:o[1]&&(s===""||s===Ct(n))&&(s=!0))}return s}const El=new WeakMap;function Or(e,t,n=!1){const s=n?El:t.propsCache,i=s.get(e);if(i)return i;const r=e.props,o={},l=[];let c=!1;if(!D(e)){const u=h=>{c=!0;const[v,w]=Or(h,t,!0);le(o,v),w&&l.push(...w)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!c)return W(e)&&s.set(e,xt),xt;if(P(r))for(let u=0;u<r.length;u++){const h=Re(r[u]);ii(h)&&(o[h]=Z)}else if(r)for(const u in r){const h=Re(u);if(ii(h)){const v=r[u],w=o[h]=P(v)||D(v)?{type:v}:le({},v),F=w.type;let O=!1,k=!0;if(P(F))for(let j=0;j<F.length;++j){const L=F[j],V=D(L)&&L.name;if(V==="Boolean"){O=!0;break}else V==="String"&&(k=!1)}else O=D(F)&&F.name==="Boolean";w[0]=O,w[1]=k,(O||B(w,"default"))&&l.push(h)}}const d=[o,l];return W(e)&&s.set(e,d),d}function ii(e){return e[0]!=="$"&&!Vt(e)}const $s=e=>e==="_"||e==="_ctx"||e==="$stable",Rs=e=>P(e)?e.map(Ke):[Ke(e)],Il=(e,t,n)=>{if(t._n)return t;const s=lr((...i)=>Rs(t(...i)),n);return s._c=!1,s},Er=(e,t,n)=>{const s=e._ctx;for(const i in e){if($s(i))continue;const r=e[i];if(D(r))t[i]=Il(i,r,s);else if(r!=null){const o=Rs(r);t[i]=()=>o}}},Ir=(e,t)=>{const n=Rs(t);e.slots.default=()=>n},Mr=(e,t,n)=>{for(const s in t)(n||!$s(s))&&(e[s]=t[s])},Ml=(e,t,n)=>{const s=e.slots=Tr();if(e.vnode.shapeFlag&32){const i=t._;i?(Mr(s,t,n),n&&$i(s,"_",i,!0)):Er(t,s)}else t&&Ir(e,t)},Nl=(e,t,n)=>{const{vnode:s,slots:i}=e;let r=!0,o=Z;if(s.shapeFlag&32){const l=t._;l?n&&l===1?r=!1:Mr(i,t,n):(r=!t.$stable,Er(t,i)),o=t}else t&&(Ir(e,t),o={default:1});if(r)for(const l in i)!$s(l)&&o[l]==null&&delete i[l]},xe=Dl;function Pl(e){return $l(e)}function $l(e,t){const n=Rn();n.__VUE__=!0;const{insert:s,remove:i,patchProp:r,createElement:o,createText:l,createComment:c,setText:d,setElementText:u,parentNode:h,nextSibling:v,setScopeId:w=We,insertStaticContent:F}=e,O=(a,f,p,_=null,m=null,y=null,x=void 0,S=null,b=!!f.dynamicChildren)=>{if(a===f)return;a&&!St(a,f)&&(_=fn(a),Pe(a,m,y,!0),a=null),f.patchFlag===-2&&(b=!1,f.dynamicChildren=null),f.dynamicChildren&&a&&a.dynamicChildren&&a.dynamicChildren.hasOnce&&(f.dynamicChildren===xt&&(f.dynamicChildren=[]),f.dynamicChildren.hasOnce=!0);const{type:g,ref:N,shapeFlag:T}=f;switch(g){case Kn:k(a,f,p,_);break;case ge:j(a,f,p,_);break;case es:a==null&&L(f,p,_,x);break;case ie:A(a,f,p,_,m,y,x,S,b);break;default:T&1?z(a,f,p,_,m,y,x,S,b):T&6?J(a,f,p,_,m,y,x,S,b):(T&64||T&128)&&g.process(a,f,p,_,m,y,x,S,b,$t)}N!=null&&m?Bt(N,a&&a.ref,y,f||a,!f):N==null&&a&&a.ref!=null&&Bt(a.ref,null,y,a,!0)},k=(a,f,p,_)=>{if(a==null)s(f.el=l(f.children),p,_);else{const m=f.el=a.el;f.children!==a.children&&d(m,f.children)}},j=(a,f,p,_)=>{a==null?s(f.el=c(f.children||""),p,_):f.el=a.el},L=(a,f,p,_)=>{[a.el,a.anchor]=F(a.children,f,p,_,a.el,a.anchor)},V=({el:a,anchor:f},p,_)=>{let m;for(;a&&a!==f;)m=v(a),s(a,p,_),a=m;s(f,p,_)},M=({el:a,anchor:f})=>{let p;for(;a&&a!==f;)p=v(a),i(a),a=p;i(f)},z=(a,f,p,_,m,y,x,S,b)=>{if(f.type==="svg"?x="svg":f.type==="math"&&(x="mathml"),a==null)ce(f,p,_,m,y,x,S,b);else{const g=a.el&&a.el._isVueCE?a.el:null;try{g&&g._beginPatch(),H(a,f,m,y,x,S,b)}finally{g&&g._endPatch()}}},ce=(a,f,p,_,m,y,x,S)=>{let b,g;const{props:N,shapeFlag:T,transition:$,dirs:R}=a;if(b=a.el=o(a.type,y,N&&N.is,N),T&8?u(b,a.children):T&16&&Se(a.children,b,null,_,m,Qn(a,y),x,S),R&>(a,null,_,"created"),ye(b,a,a.scopeId,x,_),N){for(const Y in N)Y!=="value"&&!Vt(Y)&&r(b,Y,null,N[Y],y,_);"value"in N&&r(b,"value",null,N.value,y),(g=N.onVnodeBeforeMount)&&He(g,_,a)}R&>(a,null,_,"beforeMount");const K=Rl(m,$);K&&$.beforeEnter(b),s(b,f,p),((g=N&&N.onVnodeMounted)||K||R)&&xe(()=>{try{g&&He(g,_,a),K&&$.enter(b),R&>(a,null,_,"mounted")}finally{}},m)},ye=(a,f,p,_,m)=>{if(p&&w(a,p),_)for(let y=0;y<_.length;y++)w(a,_[y]);if(m){let y=m.subTree;if(f===y||$r(y.type)&&(y.ssContent===f||y.ssFallback===f)){const x=m.vnode;ye(a,x,x.scopeId,x.slotScopeIds,m.parent)}}},Se=(a,f,p,_,m,y,x,S,b=0)=>{for(let g=b;g<a.length;g++){const N=a[g]=S?et(a[g]):Ke(a[g]);O(null,N,f,p,_,m,y,x,S)}},H=(a,f,p,_,m,y,x)=>{const S=f.el=a.el;let{patchFlag:b,dynamicChildren:g,dirs:N}=f;b|=a.patchFlag&16;const T=a.props||Z,$=f.props||Z;let R;if(p&&mt(p,!1),(R=$.onVnodeBeforeUpdate)&&He(R,p,f,a),N&>(f,a,p,"beforeUpdate"),p&&mt(p,!0),g&&(!a.dynamicChildren||a.dynamicChildren.length!==g.length)&&(b=0,x=!1,g=null),(T.innerHTML&&$.innerHTML==null||T.textContent&&$.textContent==null)&&u(S,""),g?q(a.dynamicChildren,g,S,p,_,Qn(f,m),y):x||X(a,f,S,null,p,_,Qn(f,m),y,!1),b>0){if(b&16)te(S,T,$,p,m);else if(b&2&&T.class!==$.class&&r(S,"class",null,$.class,m),b&4&&r(S,"style",T.style,$.style,m),b&8){const K=f.dynamicProps;for(let Y=0;Y<K.length;Y++){const G=K[Y],re=T[G],ue=$[G];(ue!==re||G==="value")&&r(S,G,re,ue,m,p)}}b&1&&a.children!==f.children&&u(S,f.children)}else!x&&g==null&&te(S,T,$,p,m);((R=$.onVnodeUpdated)||N)&&xe(()=>{R&&He(R,p,f,a),N&>(f,a,p,"updated")},_)},q=(a,f,p,_,m,y,x)=>{for(let S=0;S<f.length;S++){const b=a[S],g=f[S],N=b.el||gs(b),T=N&&(b.type===ie||!St(b,g)||b.shapeFlag&198)?h(N):p;O(b,g,T,null,_,m,y,x,!0)}},te=(a,f,p,_,m)=>{if(f!==p){if(f!==Z)for(const y in f)!Vt(y)&&!(y in p)&&r(a,y,f[y],null,m,_);for(const y in p){if(Vt(y))continue;const x=p[y],S=f[y];x!==S&&y!=="value"&&r(a,y,S,x,m,_)}"value"in p&&r(a,"value",f.value,p.value,m)}},A=(a,f,p,_,m,y,x,S,b)=>{const g=f.el=a?a.el:l(""),N=f.anchor=a?a.anchor:l("");let{patchFlag:T,dynamicChildren:$,slotScopeIds:R}=f;R&&(S=S?S.concat(R):R),a==null?(s(g,p,_),s(N,p,_),Se(f.children||[],p,N,m,y,x,S,b)):T>0&&T&64&&$&&a.dynamicChildren&&a.dynamicChildren.length===$.length?(q(a.dynamicChildren,$,p,m,y,x,S),(f.key!=null||m&&f===m.subTree)&&Nr(a,f,!0)):X(a,f,p,N,m,y,x,S,b)},J=(a,f,p,_,m,y,x,S,b)=>{f.slotScopeIds=S,a==null?f.shapeFlag&512?m.ctx.activate(f,p,_,x,b):he(f,p,_,m,y,x,b):Ye(a,f,b)},he=(a,f,p,_,m,y,x)=>{const S=a.component=Kl(a,_,m);if(Hn(a)&&(S.ctx.renderer=$t),Ul(S,!1,x),S.asyncDep){if(m&&m.registerDep(S,ae,x,y),!a.el){const b=S.subTree=ee(ge);j(null,b,f,p),a.placeholder=b.el}}else ae(S,a,f,p,m,y,x)},Ye=(a,f,p)=>{const _=f.component=a.component;if(Tl(a,f,p))if(_.asyncDep&&!_.asyncResolved){f.el=a.el,f.placeholder=a.placeholder,ne(_,f,p);return}else _.next=f,_.update();else f.el=a.el,f.placeholder=a.placeholder,_.vnode=f},ae=(a,f,p,_,m,y,x)=>{const S=()=>{if(a.isMounted){let{next:T,bu:$,u:R,parent:K,vnode:Y}=a;{const Fe=Pr(a);if(Fe){T&&(T.el=Y.el,ne(a,T,x)),Fe.asyncDep.then(()=>{xe(()=>{a.isUnmounted||g()},m)});return}}let G=T,re;mt(a,!1),T?(T.el=Y.el,ne(a,T,x)):T=Y,$&&yn($),(re=T.props&&T.props.onVnodeBeforeUpdate)&&He(re,K,T,Y),mt(a,!0);const ue=ni(a),De=a.subTree;a.subTree=ue,O(De,ue,h(De.el),fn(De),a,m,y),T.el=ue.el,G===null&&Al(a,ue.el),R&&xe(R,m),(re=T.props&&T.props.onVnodeUpdated)&&xe(()=>He(re,K,T,Y),m)}else{let T;const{el:$,props:R}=f,{bm:K,m:Y,parent:G,root:re,type:ue}=a,De=Wt(f);mt(a,!1),K&&yn(K),!De&&(T=R&&R.onVnodeBeforeMount)&&He(T,G,f),mt(a,!0);{re.ce&&re.ce._hasShadowRoot()&&re.ce._injectChildStyle(ue,a.parent?a.parent.type:void 0);const Fe=a.subTree=ni(a);O(null,Fe,p,_,a,m,y),f.el=Fe.el}if(Y&&xe(Y,m),!De&&(T=R&&R.onVnodeMounted)){const Fe=f;xe(()=>He(T,G,Fe),m)}(f.shapeFlag&256||G&&Wt(G.vnode)&&G.vnode.shapeFlag&256)&&a.a&&xe(a.a,m),a.isMounted=!0,f=p=_=null}};a.scope.on();const b=a.effect=new ki(S);a.scope.off();const g=a.update=b.run.bind(b),N=a.job=b.runIfDirty.bind(b);N.i=a,N.id=a.uid,b.scheduler=()=>Ms(N),mt(a,!0),g()},ne=(a,f,p)=>{f.component=a;const _=a.vnode.props;a.vnode=f,a.next=null,Ol(a,f.props,_,p),Nl(a,f.children,p),Ge(),sr(a),ze()},X=(a,f,p,_,m,y,x,S,b=!1)=>{const g=a&&a.children,N=a?a.shapeFlag:0,T=f.children,{patchFlag:$,shapeFlag:R}=f;if($>0){if($&128){un(g,T,p,_,m,y,x,S,b);return}else if($&256){ht(g,T,p,_,m,y,x,S,b);return}}R&8?(N&16&&Pt(g,m,y),T!==g&&u(p,T)):N&16?R&16?un(g,T,p,_,m,y,x,S,b):Pt(g,m,y,!0):(N&8&&u(p,""),R&16&&Se(T,p,_,m,y,x,S,b))},ht=(a,f,p,_,m,y,x,S,b)=>{a=a||xt,f=f||xt;const g=a.length,N=f.length,T=Math.min(g,N);let $;for($=0;$<T;$++){const R=f[$]=b?et(f[$]):Ke(f[$]);O(a[$],R,p,null,m,y,x,S,b)}g>N?Pt(a,m,y,!0,!1,T):Se(f,p,_,m,y,x,S,b,T)},un=(a,f,p,_,m,y,x,S,b)=>{let g=0;const N=f.length;let T=a.length-1,$=N-1;for(;g<=T&&g<=$;){const R=a[g],K=f[g]=b?et(f[g]):Ke(f[g]);if(St(R,K))O(R,K,p,null,m,y,x,S,b);else break;g++}for(;g<=T&&g<=$;){const R=a[T],K=f[$]=b?et(f[$]):Ke(f[$]);if(St(R,K))O(R,K,p,null,m,y,x,S,b);else break;T--,$--}if(g>T){if(g<=$){const R=$+1,K=R<N?f[R].el:_;for(;g<=$;)O(null,f[g]=b?et(f[g]):Ke(f[g]),p,K,m,y,x,S,b),g++}}else if(g>$)for(;g<=T;)Pe(a[g],m,y,!0),g++;else{const R=g,K=g,Y=new Map;for(g=K;g<=$;g++){const we=f[g]=b?et(f[g]):Ke(f[g]);we.key!=null&&Y.set(we.key,g)}let G,re=0;const ue=$-K+1;let De=!1,Fe=0;const Rt=new Array(ue);for(g=0;g<ue;g++)Rt[g]=0;for(g=R;g<=T;g++){const we=a[g];if(re>=ue){Pe(we,m,y,!0);continue}let ke;if(we.key!=null)ke=Y.get(we.key);else for(G=K;G<=$;G++)if(Rt[G-K]===0&&St(we,f[G])){ke=G;break}ke===void 0?Pe(we,m,y,!0):(Rt[ke-K]=g+1,ke>=Fe?Fe=ke:De=!0,O(we,f[ke],p,null,m,y,x,S,b),re++)}const js=De?Ll(Rt):xt;for(G=js.length-1,g=ue-1;g>=0;g--){const we=K+g,ke=f[we],Vs=f[we+1],Ks=we+1<N?Vs.el||gs(Vs):_;Rt[g]===0?O(null,ke,p,Ks,m,y,x,S,b):De&&(G<0||g!==js[G]?pt(ke,p,Ks,2):G--)}}},pt=(a,f,p,_,m=null)=>{const{el:y,type:x,transition:S,children:b,shapeFlag:g}=a;if(g&6){pt(a.component.subTree,f,p,_);return}if(g&128){a.suspense.move(f,p,_);return}if(g&64){x.move(a,f,p,$t);return}if(x===ie){s(y,f,p);for(let T=0;T<b.length;T++)pt(b[T],f,p,_);s(a.anchor,f,p);return}if(x===es){V(a,f,p);return}if(_!==2&&g&1&&S)if(_===0)S.persisted&&!y[Oe]?s(y,f,p):(S.beforeEnter(y),s(y,f,p),xe(()=>S.enter(y),m));else{const{leave:T,delayLeave:$,afterLeave:R}=S,K=()=>{a.ctx.isUnmounted?i(y):s(y,f,p)},Y=()=>{const G=y._isLeaving||!!y[Oe];y._isLeaving&&y[Oe](!0),S.persisted&&!G?K():T(y,()=>{K(),R&&R()})};$?$(y,K,Y):Y()}else s(y,f,p)},Pe=(a,f,p,_=!1,m=!1)=>{const{type:y,props:x,ref:S,children:b,dynamicChildren:g,shapeFlag:N,patchFlag:T,dirs:$,cacheIndex:R,memo:K}=a;if((T===-2||g&&g.hasOnce)&&(m=!1),S!=null&&(Ge(),Bt(S,null,p,a,!0),ze()),R!=null&&(!a.ctx||a.ctx===f)&&(f.renderCache[R]=void 0),N&256){f.ctx.deactivate(a);return}const Y=N&1&&$,G=!Wt(a);let re;if(G&&(re=x&&x.onVnodeBeforeUnmount)&&He(re,f,a),N&6)Xr(a.component,p,_);else{if(N&128){a.suspense.unmount(p,_);return}Y&>(a,null,f,"beforeUnmount"),N&64?a.type.remove(a,f,p,$t,_):g&&!g.hasOnce&&(y!==ie||T>0&&T&64)?Pt(g,f,p,!1,!0):(y===ie&&T&384||!m&&N&16)&&Pt(b,f,p),_&&Fs(a)}const ue=K!=null&&R==null;(G&&(re=x&&x.onVnodeUnmounted)||Y||ue)&&xe(()=>{re&&He(re,f,a),Y&>(a,null,f,"unmounted"),ue&&(a.el=null)},p)},Fs=a=>{const{type:f,el:p,anchor:_,transition:m}=a,y=f===ie;if(y&&!m){ks(p,_);return}if(f===es){M(a),m&&!m.persisted&&m.afterLeave&&m.afterLeave();return}const x=y?Yt(a):a,S=()=>{y?h(p)&&ks(p,_):i(p),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(x&&x.shapeFlag&1&&m&&!m.persisted){const{leave:b,delayLeave:g}=m,N=x.el,T=()=>b(N,S);g?g(N,S,T):T()}else S()},ks=(a,f)=>{let p;for(;a!==f;)p=v(a),i(a),a=p;i(f)},Xr=(a,f,p)=>{const{bum:_,scope:m,job:y,subTree:x,um:S,m:b,a:g}=a;ri(b),ri(g),_&&yn(_),m.stop(),y?(y.flags|=8,Pe(x,a,f,p)):a.vnode.el&&x&&(x.transition=a.vnode.transition,Pe(x,a,f,p)),S&&xe(S,f),xe(()=>{a.isUnmounted=!0},f)},Pt=(a,f,p,_=!1,m=!1,y=0)=>{for(let x=y;x<a.length;x++)Pe(a[x],f,p,_,m)},fn=a=>{if(a.shapeFlag&6)return fn(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const f=v(a.anchor||a.el),p=f&&f[Yo];return p?v(p):f},Hs=(a,f,p)=>{const _=a&&f._vnode?void 0:a&&a.component?a.component.uid:Vl();Bo(()=>{a==null?f._vnode&&Pe(f._vnode,null,null,!0):O(f._vnode||null,a,f,null,null,null,p),f._vnode=a},_)},$t={p:O,um:Pe,m:pt,r:Fs,mt:he,mc:Se,pc:X,pbc:q,n:fn,o:e};return{render:Hs,hydrate:void 0,createApp:_l(Hs)}}function Qn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function mt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Rl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Nr(e,t,n=!1){const s=e.children,i=t.children;if(P(s)&&P(i))for(let r=0;r<s.length;r++){const o=s[r];let l=i[r];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=i[r]=et(i[r]),l.el=o.el),!n&&l.patchFlag!==-2&&Nr(o,l)),l.type===Kn&&(l.patchFlag===-1&&(l=i[r]=et(l)),l.el=o.el),l.type===ge&&!l.el&&(l.el=o.el)}}function Ll(e){const t=e.slice(),n=[0];let s,i,r,o,l;const c=e.length;for(s=0;s<c;s++){const d=e[s];if(d!==0){if(i=n[n.length-1],e[i]<d){t[s]=i,n.push(s);continue}for(r=0,o=n.length-1;r<o;)l=r+o>>1,e[n[l]]<d?r=l+1:o=l;d<e[n[r]]&&(r>0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,o=n[r-1];r-- >0;)n[r]=o,o=t[o];return n}function Pr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Pr(t)}function ri(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function gs(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?gs(t.subTree):null}const $r=e=>e.__isSuspense;function Dl(e,t){t&&t.pendingBranch?P(e)?t.effects.push(...e):t.effects.push(e):Uo(e)}const ie=Symbol.for("v-fgt"),Kn=Symbol.for("v-txt"),ge=Symbol.for("v-cmt"),es=Symbol.for("v-stc"),Tt=[];let Ae=null;function C(e=!1){Tt.push(Ae=e?null:[])}function Rr(){Tt.pop(),Ae=Tt[Tt.length-1]||null}let Zt=1;function Cn(e,t=!1){Zt+=e,e<0&&Ae&&t&&(Ae.hasOnce=!0)}function Lr(e){return e.dynamicChildren=Zt>0?Ae||xt:null,Rr(),Zt>0&&Ae&&Ae.push(e),e}function I(e,t,n,s,i,r){return Lr(E(e,t,n,s,i,r,!0))}function bt(e,t,n,s,i){return Lr(ee(e,t,n,s,i,!0))}function Xt(e){return e?e.__v_isVNode===!0:!1}function St(e,t){return e.type===t.type&&e.key===t.key}const Dr=({key:e})=>e??null,vn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||me(e)||D(e)?{i:Ee,r:e,k:t,f:!!n}:e:null);function E(e,t=null,n=null,s=0,i=null,r=e===ie?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Dr(t),ref:t&&vn(t),scopeId:or,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Ee};return l?(On(c,n),r&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),Zt>0&&!o&&Ae&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&Ae.push(c),c}const ee=Fl;function Fl(e,t=null,n=null,s=0,i=null,r=!1){if((!e||e===ul)&&(e=ge),Xt(e)){const l=dt(e,t,!0);return n&&On(l,n),Zt>0&&!r&&Ae&&(l.shapeFlag&6?Ae[Ae.indexOf(e)]=l:Ae.push(l)),l.patchFlag=-2,l}if(Gl(e)&&(e=e.__vccOpts),t){t=kl(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=on(l)),W(c)&&(Is(c)&&!P(c)&&(c=le({},c)),t.style=Ss(c))}const o=se(e)?1:$r(e)?128:kn(e)?64:W(e)?4:D(e)?2:0;return E(e,t,n,s,i,o,r,!0)}function kl(e){return e?Is(e)||Ar(e)?le({},e):e:null}function dt(e,t,n=!1,s=!1){const{props:i,ref:r,patchFlag:o,children:l,transition:c}=e,d=t?Hl(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Dr(d),ref:t&&t.ref?n&&r?P(r)?r.concat(vn(t)):[r,vn(t)]:vn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ie?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&dt(e.ssContent),ssFallback:e.ssFallback&&dt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return c&&s&&Nt(u,c.clone(u)),u}function cn(e=" ",t=0){return ee(Kn,null,e,t)}function Qt(e="",t=!1){return t?(C(),bt(ge,null,e)):ee(ge,null,e)}function Ke(e){return e==null||typeof e=="boolean"?ee(ge):P(e)?ee(ie,null,e.slice()):Xt(e)?et(e):ee(Kn,null,String(e))}function et(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:dt(e)}function On(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(P(t))n=16;else if(typeof t=="object")if(s&65){const i=t.default;i&&(i._c&&(i._d=!1),On(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!Ar(t)?t._ctx=Ee:i===3&&Ee&&(Ee.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(D(t)){if(s&65){On(e,{default:t});return}t={default:t,_ctx:Ee},n=32}else t=String(t),s&64?(n=16,t=[cn(t)]):n=8;e.children=t,e.shapeFlag|=n}function Hl(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const i in s)if(i==="class")t.class!==s.class&&(t.class=on([t.class,s.class]));else if(i==="style")t.style=Ss([t.style,s.style]);else if(Nn(i)){const r=t[i],o=s[i];o&&r!==o&&!(P(r)&&r.includes(o))?t[i]=r?[].concat(r,o):o:o==null&&r==null&&!Pn(i)&&(t[i]=o)}else i!==""&&(t[i]=s[i])}return t}function He(e,t,n,s=null){Ne(e,t,7,[n,s])}const jl=vr();let Fr=0;function Vl(){return Fr}function Kl(e,t,n){const s=e.type,i=(t?t.appContext:e.appContext)||jl,r={uid:Fr++,vnode:e,type:s,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new po(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Or(s,i),emitsOptions:br(s,i),emit:null,emitted:null,propsDefaults:Z,inheritAttrs:s.inheritAttrs,ctx:Z,data:Z,props:Z,attrs:Z,slots:Z,refs:Z,setupState:Z,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=bl.bind(null,r),e.ce&&e.ce(r),r}let be=null;const kr=()=>be||Ee;let En,en;{const e=Rn(),t=(n,s)=>{let i;return(i=e[n])||(i=e[n]=[]),i.push(s),r=>{i.length>1?i.forEach(o=>o(r)):i[0](r)}};En=t("__VUE_INSTANCE_SETTERS__",n=>be=n),en=t("__VUE_SSR_SETTERS__",n=>tn=n)}const an=e=>{const t=be;return En(e),e.scope.on(),()=>{e.scope.off(),En(t)}},oi=()=>{be&&be.scope.off(),En(null)};function Hr(e){return e.vnode.shapeFlag&4}let tn=!1;function Ul(e,t=!1,n=!1){t&&en(t);const{props:s,children:i}=e.vnode,r=Hr(e);Cl(e,s,r,t),Ml(e,i,n||t);const o=r?Bl(e,t):void 0;return t&&en(!1),o}function Bl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,fl);const{setup:s}=n;if(s){Ge();const i=e.setupContext=s.length>1?ql(e):null,r=an(e),o=ln(s,e,0,[e.props,i]),l=Ii(o);if(ze(),r(),(l||e.sp)&&!Wt(e)&&pr(e),l){if(o.then(oi,oi),t)return o.then(c=>{en(!0);try{li(e,c,t)}finally{en(!1)}}).catch(c=>{Fn(c,e,0)});e.asyncDep=o}else li(e,o)}else jr(e)}function li(e,t,n){D(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:W(t)&&(e.setupState=Qi(t)),jr(e)}function jr(e,t,n){const s=e.type;e.render||(e.render=s.render||We);{const i=an(e);Ge();try{dl(e)}finally{ze(),i()}}}const Wl={get(e,t){return pe(e,"get",""),e[t]}};function ql(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Wl),slots:e.slots,emit:e.emit,expose:t}}function Un(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Qi($o(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in qt)return qt[n](e)},has(t,n){return n in t||n in qt}})):e.proxy}function Gl(e){return D(e)&&"__vccOpts"in e}const nn=(e,t)=>ko(e,t,tn);function zl(e,t,n){try{Cn(-1);const s=arguments.length;return s===2?W(t)&&!P(t)?Xt(t)?ee(e,null,[t]):ee(e,t):ee(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Xt(n)&&(n=[n]),ee(e,t,n))}finally{Cn(1)}}const Jl="3.5.44";/**
|
|
14
|
+
* @vue/runtime-dom v3.5.44
|
|
15
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
16
|
+
* @license MIT
|
|
17
|
+
**/let ms;const ci=typeof window<"u"&&window.trustedTypes;if(ci)try{ms=ci.createPolicy("vue",{createHTML:e=>e})}catch{}const Vr=ms?e=>ms.createHTML(e):e=>e,Yl="http://www.w3.org/2000/svg",Zl="http://www.w3.org/1998/Math/MathML",Qe=typeof document<"u"?document:null,ai=Qe&&Qe.createElement("template"),Xl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const i=t==="svg"?Qe.createElementNS(Yl,e):t==="mathml"?Qe.createElementNS(Zl,e):n?Qe.createElement(e,{is:n}):Qe.createElement(e);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>Qe.createTextNode(e),createComment:e=>Qe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Qe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,r){const o=n?n.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===r||!(i=i.nextSibling)););else{ai.innerHTML=Vr(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=ai.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},rt="transition",Ft="animation",sn=Symbol("_vtc"),Kr={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ql=le({},ur,Kr),ec=e=>(e.displayName="Transition",e.props=Ql,e),tc=ec((e,{slots:t})=>zl(Qo,nc(e),t)),yt=(e,t=[])=>{P(e)?e.forEach(n=>n(...t)):e&&e(...t)},ui=e=>e?P(e)?e.some(t=>t.length>1):e.length>1:!1;function nc(e){const t={};for(const A in e)A in Kr||(t[A]=e[A]);if(e.css===!1)return t;const{name:n="v",type:s,duration:i,enterFromClass:r=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=r,appearActiveClass:d=o,appearToClass:u=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:v=`${n}-leave-active`,leaveToClass:w=`${n}-leave-to`}=e,F=sc(i),O=F&&F[0],k=F&&F[1],{onBeforeEnter:j,onEnter:L,onEnterCancelled:V,onLeave:M,onLeaveCancelled:z,onBeforeAppear:ce=j,onAppear:ye=L,onAppearCancelled:Se=V}=t,H=(A,J,he,Ye)=>{A._enterCancelled=Ye,_t(A,J?u:l),_t(A,J?d:o),he&&he()},q=(A,J)=>{A._isLeaving=!1,_t(A,h),_t(A,w),_t(A,v),J&&J()},te=A=>(J,he)=>{const Ye=A?ye:L,ae=()=>H(J,A,he);yt(Ye,[J,ae]),fi(()=>{_t(J,A?c:r),Xe(J,A?u:l),ui(Ye)||di(J,s,O,ae)})};return le(t,{onBeforeEnter(A){yt(j,[A]),Xe(A,r),Xe(A,o)},onBeforeAppear(A){yt(ce,[A]),Xe(A,c),Xe(A,d)},onEnter:te(!1),onAppear:te(!0),onLeave(A,J){A._isLeaving=!0;const he=()=>q(A,J);Xe(A,h),A._enterCancelled?(Xe(A,v),gi(A)):(gi(A),Xe(A,v)),fi(()=>{A._isLeaving&&(_t(A,h),Xe(A,w),ui(M)||di(A,s,k,he))}),yt(M,[A,he])},onEnterCancelled(A){H(A,!1,void 0,!0),yt(V,[A])},onAppearCancelled(A){H(A,!0,void 0,!0),yt(Se,[A])},onLeaveCancelled(A){q(A),yt(z,[A])}})}function sc(e){if(e==null)return null;if(W(e))return[ts(e.enter),ts(e.leave)];{const t=ts(e);return[t,t]}}function ts(e){return so(e)}function Xe(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[sn]||(e[sn]=new Set)).add(t)}function _t(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[sn];n&&(n.delete(t),n.size||(e[sn]=void 0))}function fi(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ic=0;function di(e,t,n,s){const i=e._endId=++ic,r=()=>{i===e._endId&&s()};if(n!=null)return setTimeout(r,n);const{type:o,timeout:l,propCount:c}=rc(e,t);if(!o)return s();const d=o+"end";let u=0;const h=()=>{e.removeEventListener(d,v),r()},v=w=>{w.target===e&&++u>=c&&h()};setTimeout(()=>{u<c&&h()},l+1),e.addEventListener(d,v)}function rc(e,t){const n=window.getComputedStyle(e),s=F=>(n[F]||"").split(", "),i=s(`${rt}Delay`),r=s(`${rt}Duration`),o=hi(i,r),l=s(`${Ft}Delay`),c=s(`${Ft}Duration`),d=hi(l,c);let u=null,h=0,v=0;t===rt?o>0&&(u=rt,h=o,v=r.length):t===Ft?d>0&&(u=Ft,h=d,v=c.length):(h=Math.max(o,d),u=h>0?o>d?rt:Ft:null,v=u?u===rt?r.length:c.length:0);const w=u===rt&&/\b(?:transform|all)(?:,|$)/.test(s(`${rt}Property`).toString());return{type:u,timeout:h,propCount:v,hasTransform:w}}function hi(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>pi(n)+pi(e[s])))}function pi(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function gi(e){return(e?e.ownerDocument:document).body.offsetHeight}function oc(e,t,n){const s=e[sn];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const mi=Symbol("_vod"),lc=Symbol("_vsh"),cc=Symbol(""),ac=/(?:^|;)\s*display\s*:/;function uc(e,t,n){const s=e.style,i=se(n);let r=!1;if(n&&!i){if(t)if(se(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Ht(s,l,"")}else for(const o in t)n[o]==null&&Ht(s,o,"");for(const o in n){o==="display"&&(r=!0);const l=n[o];l!=null?dc(e,o,!se(t)&&t?t[o]:void 0,l)||Ht(s,o,l):Ht(s,o,"")}}else if(i){if(t!==n){const o=s[cc];o&&(n+=";"+o),s.cssText=n,r=ac.test(n)}}else t&&e.removeAttribute("style");mi in e&&((!i||t!==n)&&(e[mi]=r?s.display:""),e[lc]&&(s.display="none"))}const gn=/\s*!important$/;function Ht(e,t,n){if(P(n))n.forEach(s=>Ht(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))gn.test(n)?e.setProperty(t,n.replace(gn,""),"important"):e.setProperty(t,n);else{const s=fc(e,t);gn.test(n)?e.setProperty(Ct(s),n.replace(gn,""),"important"):e[s]=n}}const yi=["Webkit","Moz","ms"],ns={};function fc(e,t){const n=ns[t];if(n)return n;let s=Re(t);if(s!=="filter"&&s in e)return ns[t]=s;s=Pi(s);for(let i=0;i<yi.length;i++){const r=yi[i]+s;if(r in e)return ns[t]=r}return t}function dc(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&se(s)&&n===s}const _i="http://www.w3.org/1999/xlink";function vi(e,t,n,s,i,r=ao(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(_i,t.slice(6,t.length)):e.setAttributeNS(_i,t,n):n==null||r&&!Li(n)?e.removeAttribute(t):e.setAttribute(t,r?"":qe(n)?String(n):n)}function bi(e,t,n,s,i){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Vr(n):n);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const l=r==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=Li(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function Ur(e,t,n,s){e.addEventListener(t,n,s)}function hc(e,t,n,s){e.removeEventListener(t,n,s)}const Si=Symbol("_vei");function pc(e,t,n,s,i=null){const r=e[Si]||(e[Si]={}),o=r[t];if(s&&o)o.value=s;else{const[l,c]=yc(t);if(s){const d=r[t]=bc(s,i);Ur(e,l,d,c)}else o&&(hc(e,l,o,c),r[t]=void 0)}}const gc=/(Once|Passive|Capture)$/,mc=/^on:?(?:Once|Passive|Capture)$/;function yc(e){let t,n;for(;(n=e.match(gc))&&!mc.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):Ct(e.slice(2)),t]}let ss=0;const _c=Promise.resolve(),vc=()=>ss||(_c.then(()=>ss=0),ss=Date.now());function bc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const i=n.value;if(P(i)){const r=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{r.call(s),s._stopped=!0};const o=i.slice(),l=[s];for(let c=0;c<o.length&&!s._stopped;c++){const d=o[c];d&&Ne(d,t,5,l)}}else Ne(i,t,5,[s])};return n.value=e,n.attached=vc(),n}const xi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Sc=(e,t,n,s,i,r)=>{const o=i==="svg";t==="class"?oc(e,s,o):t==="style"?uc(e,n,s):Nn(t)?Pn(t)||pc(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):xc(e,t,s,o))?(bi(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&vi(e,t,s,o,r,t!=="value")):e._isVueCE&&(wc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!se(s)))?bi(e,Re(t),s,r,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),vi(e,t,s,o))};function xc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&xi(t)&&D(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return xi(t)&&se(n)?!1:t in e}function wc(e,t){const n=e._def.props;if(!n)return!1;const s=Re(t);return Array.isArray(n)?n.some(i=>Re(i)===s):Object.keys(n).some(i=>Re(i)===s)}const wi=e=>{const t=e.props["onUpdate:modelValue"]||!1;return P(t)?n=>yn(t,n):t},is=Symbol("_assign"),Tc={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,Ur(e,"change",()=>{const i=Array.prototype.filter.call(e.options,c=>c.selected).map(c=>n?Ri(In(c)):In(c)),r=e.multiple,o=r?At(e._modelValue)?new Set(i):i:i[0],l=e._pendingValue=[r,r?P(o)?i.slice():i:o];try{e[is](o)}finally{tr(()=>{e._pendingValue===l&&(e._pendingValue=void 0)})}}),e[is]=wi(s)},mounted(e,{value:t}){Ti(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[is]=wi(n)},updated(e,{value:t}){const n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!Ac(t,n[1],n[0]))&&Ti(e,t)}};function Ac(e,t,n){if(!n||P(e))return at(e,t);if(At(e)){if(e.size!==t.length)return!1;for(const s of t)if(!e.has(s))return!1;return!0}return!1}function Ti(e,t){const n=e.multiple,s=P(t);if(!(n&&!s&&!At(t))){for(let i=0,r=e.options.length;i<r;i++){const o=e.options[i],l=In(o);if(n)if(s){const c=typeof l;c==="string"||c==="number"?o.selected=t.some(d=>String(d)===String(l)):o.selected=ho(t,l)>-1}else o.selected=t.has(l);else if(at(In(o),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function In(e){return"_value"in e?e._value:e.value}const Cc=le({patchProp:Sc},Xl);let Ai;function Oc(){return Ai||(Ai=Pl(Cc))}const Ec=((...e)=>{const t=Oc().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=Mc(s);if(!i)return;const r=t._component;!D(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=n(i,!1,Ic(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t});function Ic(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Mc(e){return se(e)?document.querySelector(e):e}const Nc={key:0,class:"unknown"},Pc={key:1},Be=st({__name:"ValueOrUnknown",props:{value:{}},setup(e){return(t,n)=>e.value===null||e.value===void 0||e.value===""?(C(),I("span",Nc,"UNKNOWN")):(C(),I("span",Pc,oe(e.value),1))}}),$c={id:"checkpoints",class:"panel","aria-labelledby":"checkpoints-h"},Rc={key:0,class:"empty"},Lc={key:1,class:"empty"},Dc={key:2,class:"cards"},Fc={class:"card-head"},kc={class:"muted"},Hc={key:0,class:"muted","data-testid":"checkpoint-count"},jc={class:"steps"},Vc={key:0},Kc={key:1,class:"muted"},Uc={key:2},Bc=st({__name:"CheckpointsPanel",props:{checkpoints:{}},setup(e){return(t,n)=>(C(),I("section",$c,[n[3]||(n[3]=E("h2",{id:"checkpoints-h"},"Checkpoints",-1)),n[4]||(n[4]=E("p",{class:"muted"},"Latest checkpoint per active mission",-1)),e.checkpoints===null?(C(),I("p",Rc,[...n[0]||(n[0]=[E("span",{class:"unknown"},"NOT AVAILABLE",-1)])])):e.checkpoints.length===0?(C(),I("p",Lc,"No checkpoints recorded.")):(C(),I("ul",Dc,[(C(!0),I(ie,null,ft(e.checkpoints,s=>(C(),I("li",{key:s.id,class:"card","data-testid":"checkpoint"},[E("div",Fc,[E("code",null,oe(s.id),1),E("span",kc,[ee(Be,{value:s.createdAt},null,8,["value"])])]),s.recordedCount!==void 0?(C(),I("p",Hc,oe(s.recordedCount)+" recorded "+oe(s.recordedCount===1?"checkpoint":"checkpoints"),1)):Qt("",!0),E("p",null,[ee(Be,{value:s.summary},null,8,["value"])]),E("div",jc,[n[2]||(n[2]=E("h4",null,[cn("Remaining steps "),E("span",{class:"tag"},"historical record as of this checkpoint, not the current plan")],-1)),s.remainingSteps===null?(C(),I("p",Vc,[...n[1]||(n[1]=[E("span",{class:"unknown"},"UNKNOWN",-1)])])):s.remainingSteps.length===0?(C(),I("p",Kc,"None recorded.")):(C(),I("ul",Uc,[(C(!0),I(ie,null,ft(s.remainingSteps,(i,r)=>(C(),I("li",{key:r},oe(i),1))),128))]))])]))),128))]))]))}}),Wc={id:"mission",class:"panel","aria-labelledby":"mission-h"},qc={key:0,class:"empty"},Gc={key:1,class:"empty"},zc={key:2,class:"cards"},Jc={class:"card-head"},Yc={class:"status status-active"},Zc={class:"facts compact"},Xc=st({__name:"CurrentMission",props:{missions:{}},setup(e){const t=e,n=nn(()=>(t.missions??[]).filter(s=>s.status==="in_progress"));return(s,i)=>(C(),I("section",Wc,[i[3]||(i[3]=E("h2",{id:"mission-h"},"Current Mission",-1)),e.missions===null?(C(),I("p",qc,[...i[0]||(i[0]=[E("span",{class:"unknown"},"NOT AVAILABLE",-1)])])):n.value.length===0?(C(),I("p",Gc,"No active missions.")):(C(),I("ul",zc,[(C(!0),I(ie,null,ft(n.value,r=>(C(),I("li",{key:r.id,class:"card","data-testid":"mission"},[E("div",Jc,[E("code",null,oe(r.id),1),E("span",Yc,oe(r.status),1)]),E("h3",null,[ee(Be,{value:r.title},null,8,["value"])]),E("p",null,[ee(Be,{value:r.summary},null,8,["value"])]),E("dl",Zc,[i[1]||(i[1]=E("dt",null,"Started",-1)),E("dd",null,[ee(Be,{value:r.startedAt},null,8,["value"])]),i[2]||(i[2]=E("dt",null,"Updated",-1)),E("dd",null,[ee(Be,{value:r.updatedAt},null,8,["value"])])])]))),128))]))]))}}),Qc={id:"diagnostics",class:"panel","aria-labelledby":"diagnostics-h"},ea={class:"facts"},ta={key:0,class:"muted"},na={key:1,class:"muted"},sa={key:2,class:"empty"},ia={key:3,class:"diag"},ra={class:"sev"},oa={key:4,class:"empty"},la={key:5,class:"diag","data-testid":"missing"},ca=st({__name:"DiagnosticsPanel",props:{data:{}},setup(e){const t=e,n=nn(()=>{const s=t.data,i=[];s.overview.name===null&&i.push("overview.name"),s.overview.description===null&&i.push("overview.description"),s.overview.stateRevision===null&&i.push("overview.stateRevision"),s.overview.currentStory===null&&i.push("overview.currentStory"),s.roadmapText===null&&i.push("roadmapText"),s.missions===null&&i.push("missions"),s.checkpoints===null&&i.push("checkpoints");for(const r of s.missions??[])for(const o of["title","summary","startedAt","updatedAt"])r[o]===null&&i.push(`mission ${r.id}.${o}`);for(const r of s.checkpoints??[])for(const o of["createdAt","summary","remainingSteps"])r[o]===null&&i.push(`checkpoint ${r.id}.${o}`);return i});return(s,i)=>(C(),I("section",Qc,[i[1]||(i[1]=E("h2",{id:"diagnostics-h"},"Diagnostics",-1)),E("dl",ea,[i[0]||(i[0]=E("dt",null,"Data source",-1)),E("dd",null,oe(e.data.isDemo?"Synthetic demo fixtures (available)":"MONOLITH HTTP API (GET /api/dashboard)"),1)]),e.data.isDemo?(C(),I("p",ta," No runtime checks of a real project are performed. Security status of MONOLITH Core is not reported here. ")):(C(),I("p",na," Only the availability of the fixed source files is reported. Project validity and the security status of MONOLITH Core are not reported here. ")),i[2]||(i[2]=E("h3",null,"Messages",-1)),e.data.diagnostics.length===0?(C(),I("p",sa,"No diagnostic messages.")):(C(),I("ul",ia,[(C(!0),I(ie,null,ft(e.data.diagnostics,(r,o)=>(C(),I("li",{key:o,class:on(`sev-${r.severity}`),"data-testid":"diagnostic"},[E("span",ra,oe(r.severity),1),cn(" "+oe(r.message),1)],2))),128))])),i[3]||(i[3]=E("h3",null,"Missing values",-1)),n.value.length===0?(C(),I("p",oa,"None.")):(C(),I("ul",la,[(C(!0),I(ie,null,ft(n.value,r=>(C(),I("li",{key:r},[E("code",null,oe(r),1)]))),128))]))]))}}),aa={id:"overview",class:"panel","aria-labelledby":"overview-h"},ua={class:"facts"},fa={key:0,class:"story","data-testid":"current-story"},da=st({__name:"ProjectOverview",props:{overview:{}},setup(e){return(t,n)=>(C(),I("section",aa,[n[4]||(n[4]=E("h2",{id:"overview-h"},"Project Overview",-1)),E("dl",ua,[n[2]||(n[2]=E("dt",null,"Name",-1)),E("dd",null,[ee(Be,{value:e.overview.name},null,8,["value"])]),e.overview.description!==void 0?(C(),I(ie,{key:0},[n[0]||(n[0]=E("dt",null,"Description",-1)),E("dd",null,[ee(Be,{value:e.overview.description},null,8,["value"])])],64)):Qt("",!0),n[3]||(n[3]=E("dt",null,"State revision",-1)),E("dd",null,[ee(Be,{value:e.overview.stateRevision},null,8,["value"])]),e.overview.currentStory!==void 0?(C(),I(ie,{key:1},[n[1]||(n[1]=E("dt",null,"Current story",-1)),E("dd",null,[e.overview.currentStory?(C(),I("pre",fa,oe(e.overview.currentStory),1)):(C(),bt(Be,{key:1,value:null}))])],64)):Qt("",!0)])]))}}),ha={id:"roadmap",class:"panel","aria-labelledby":"roadmap-h"},pa={key:0,class:"empty"},ga={key:1,class:"empty"},ma={key:2,class:"roadmap","data-testid":"roadmap-text"},ya=st({__name:"RoadmapPanel",props:{text:{}},setup(e){return(t,n)=>(C(),I("section",ha,[n[1]||(n[1]=E("h2",{id:"roadmap-h"},"Roadmap",-1)),e.text===null?(C(),I("p",pa,[...n[0]||(n[0]=[E("span",{class:"unknown"},"NOT AVAILABLE",-1)])])):e.text.trim()===""?(C(),I("p",ga,"Roadmap is empty.")):(C(),I("pre",ma,oe(e.text),1))]))}}),Ls=[{id:"overview",label:"Project Overview"},{id:"mission",label:"Current Mission"},{id:"checkpoints",label:"Checkpoints"},{id:"roadmap",label:"Roadmap"},{id:"diagnostics",label:"Diagnostics"}],Br=Ls[0].id;function Wr(e){return Ls.some(t=>t.id===e)}function Ci(e){const t=e.replace(/^#/,"");return Wr(t)?t:Br}const qr=["classic","cosmic-glass"],ys="classic",Gr="monolith.skin";function Ds(e){return typeof e=="string"&&qr.includes(e)}function _a(){try{const e=window.localStorage.getItem(Gr);return Ds(e)?e:ys}catch{return ys}}function zr(e){document.documentElement.dataset.skin=e}function va(e){try{window.localStorage.setItem(Gr,e)}catch{}}function ba(e){zr(e),va(e)}function Sa(){const e=_a();return zr(e),e}function xa(){const e=document.documentElement.dataset.skin;return Ds(e)?e:ys}const wa={class:"skin-switcher"},Ta=["value"],Aa=["value"],Ca=st({__name:"SkinSwitcher",setup(e){const t={classic:"Classic","cosmic-glass":"Cosmic Glass"},n=It(xa());function s(i){const r=i.target.value;Ds(r)&&(n.value=r,ba(r))}return(i,r)=>(C(),I("label",wa,[r[0]||(r[0]=cn(" Skin ",-1)),E("select",{value:n.value,"data-testid":"skin-select","aria-label":"Skin",onChange:s},[(C(!0),I(ie,null,ft(Dn(qr),o=>(C(),I("option",{key:o,value:o},oe(t[o]),9,Aa))),128))],40,Ta)]))}}),Oa=(e,t)=>{const n=e.__vccOpts||e;for(const[s,i]of t)n[s]=i;return n},Ea=Oa(Ca,[["__scopeId","data-v-76c1c45c"]]),Ia={class:"sidebar-head"},Ma=["aria-expanded"],Na={id:"sidebar-panel",class:"sidebar-panel","data-testid":"sidebar-panel"},Pa={key:0,class:"nav","aria-label":"Sections"},$a=["href","aria-current","onClick"],Ra=st({__name:"SideNav",props:{sections:{type:Boolean},active:{}},emits:["select"],setup(e,{emit:t}){const n=t;function s(l,c){var d;l.button!==0||l.ctrlKey||l.metaKey||l.shiftKey||l.altKey||(l.preventDefault(),n("select",c),i.value&&(i.value=!1,(d=r.value)==null||d.focus()))}const i=It(!1),r=It(null);function o(l){var c;l.key==="Escape"&&i.value&&(i.value=!1,(c=r.value)==null||c.focus())}return(l,c)=>(C(),I("aside",{class:on(["sidebar",{open:i.value}]),onKeydown:o},[E("div",Ia,[c[1]||(c[1]=E("div",{class:"brand"},[E("strong",null,"MONOLITH"),E("span",{class:"muted"},"Mission Control")],-1)),E("button",{ref_key:"toggle",ref:r,type:"button",class:"nav-toggle","data-testid":"nav-toggle","aria-controls":"sidebar-panel","aria-expanded":i.value,onClick:c[0]||(c[0]=d=>i.value=!i.value)},oe(i.value?"Close menu":"Menu"),9,Ma)]),E("div",Na,[e.sections?(C(),I("nav",Pa,[(C(!0),I(ie,null,ft(Dn(Ls),d=>(C(),I("a",{key:d.id,href:`#${d.id}`,"aria-current":d.id===e.active?"location":void 0,onClick:u=>s(u,d.id)},oe(d.label),9,$a))),128))])):Qt("",!0),ee(Ea)])],34))}}),La=`# Tidewatch roadmap (demo text)
|
|
18
|
+
|
|
19
|
+
Phase 1 - Ingest
|
|
20
|
+
- Sensor adapter for harbor gauges
|
|
21
|
+
- Draft: <phase> parser (HTML-like text is shown as plain text)
|
|
22
|
+
|
|
23
|
+
Phase 2 - Reporting
|
|
24
|
+
- Daily tide summary
|
|
25
|
+
- Export to CSV
|
|
26
|
+
|
|
27
|
+
Phase 3 - Alerts
|
|
28
|
+
- Threshold notifications`,Da={isDemo:!0,overview:{name:"Tidewatch (demo)",description:"Fictional harbor tide-logging service used to exercise the dashboard.",stateRevision:14},missions:[{id:"MIS-0003",title:"Add gauge calibration import",status:"in_progress",summary:"Import calibration offsets from a CSV file.",startedAt:"2026-03-02T09:15:00.000Z",updatedAt:"2026-03-04T16:40:00.000Z"},{id:"MIS-0004",title:"Fix timezone drift in daily summary",status:"in_progress",summary:"Summaries cross midnight incorrectly for UTC+13.",startedAt:"2026-03-03T11:00:00.000Z",updatedAt:"2026-03-03T11:00:00.000Z"},{id:"MIS-0002",title:"Initial ingest adapter",status:"completed",summary:"Adapter shipped.",startedAt:"2026-02-10T08:00:00.000Z",updatedAt:"2026-02-20T18:30:00.000Z"}],checkpoints:[{id:"MIS-0003-CKPT-0002",missionId:"MIS-0003",createdAt:"2026-03-04T16:40:00.000Z",summary:"CSV parser done; offset validation pending.",remainingSteps:["Validate offset ranges","Write import tests","Document CSV format"]},{id:"MIS-0003-CKPT-0001",missionId:"MIS-0003",createdAt:"2026-03-03T10:05:00.000Z",summary:"Scoped the CSV format.",remainingSteps:["Implement parser","Validate offset ranges"]}],roadmapText:La,diagnostics:[{severity:"info",message:'Fixture "normal" loaded.'},{severity:"warning",message:"Sample warning: fixture state revision is older than expected."}]},Fa={isDemo:!0,overview:{name:"Tidewatch (demo)",description:null,stateRevision:null},missions:[{id:"MIS-0007",title:null,status:"in_progress",summary:null,startedAt:"2026-03-05T09:00:00.000Z",updatedAt:null}],checkpoints:[{id:"MIS-0007-CKPT-0001",missionId:"MIS-0007",createdAt:null,summary:null,remainingSteps:null}],roadmapText:null,diagnostics:[{severity:"info",message:'Fixture "partial" loaded.'},{severity:"error",message:"Sample error: roadmap source could not be read."}]},ka={isDemo:!0,overview:{name:"Tidewatch (demo)",description:"Fictional project with no recorded work.",stateRevision:0},missions:[],checkpoints:[],roadmapText:"",diagnostics:[{severity:"info",message:'Fixture "empty" loaded.'}]},Jr={normal:Da,partial:Fa,empty:ka},Oi=Object.keys(Jr),Ha={available:"info",absent:"warning",corrupt:"error",forbidden:"error",unreadable:"error"};function ja(e){const t=e.path===null?"path unknown":e.path;return`${e.id} (${t}): ${e.status}${e.code===null?"":` [${e.code}]`}`}function Va(e){var o;const t=e.projectOverview.data,n=e.currentMissions.data,s=e.checkpoints.data,i=e.roadmap.data,r=[{severity:"info",message:"Source availability only; monolith validate was not run."},...e.diagnostics.sources.map(l=>({severity:Ha[l.status],message:ja(l)})),...e.diagnostics.notes.map(l=>({severity:l.severity==="warn"?"warning":"info",message:l.code}))];return{isDemo:!1,overview:{name:(t==null?void 0:t.name)??null,stateRevision:(t==null?void 0:t.stateRevision)??null,currentStory:t===null?null:((o=t.currentStory)==null?void 0:o.excerpt)??null},missions:n===null?null:n.active.map(l=>({id:l.id,title:l.title,status:l.status,summary:l.summary,startedAt:l.startedAt,updatedAt:l.updatedAt})),checkpoints:s===null?null:s.byActiveMission.flatMap(l=>l.latest===null?[]:[{id:l.latest.id,missionId:l.latest.missionId,createdAt:l.latest.createdAt,summary:l.latest.summary,remainingSteps:l.latest.remainingSteps,recordedCount:l.count}]),roadmapText:i===null?null:i.text,diagnostics:r}}const Te=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),de=e=>typeof e=="string",Mn=e=>e===null||typeof e=="string",Ka=e=>e===null||typeof e=="number"&&Number.isFinite(e),Ua=e=>typeof e=="number"&&Number.isFinite(e),Yr=(e,t)=>Array.isArray(e)&&e.every(t),Ba=["in_progress","completed","failed","cancelled"],Wa=["available","absent","corrupt","forbidden","unreadable"];function Zr(e){return Te(e)&&de(e.id)&&Mn(e.path)&&de(e.status)&&Wa.includes(e.status)&&Mn(e.code)}function mn(e,t){return Te(e)&&Yr(e.sources,Zr)&&(e.data===null||t(e.data))}function qa(e){return Te(e)&&de(e.id)&&de(e.title)&&de(e.status)&&Ba.includes(e.status)&&Mn(e.summary)&&de(e.startedAt)&&de(e.updatedAt)}function Ga(e){return Te(e)&&de(e.id)&&de(e.missionId)&&de(e.createdAt)&&de(e.summary)&&Yr(e.remainingSteps,de)}function za(e){return Te(e)&&Mn(e.name)&&Ka(e.stateRevision)&&(e.currentStory===null||Te(e.currentStory)&&de(e.currentStory.excerpt)&&de(e.currentStory.lineRange))}function Ja(e){if(!Te(e))return!1;const t=e.diagnostics;return mn(e.projectOverview,za)&&mn(e.currentMissions,n=>Te(n)&&Array.isArray(n.active)&&n.active.every(qa))&&mn(e.checkpoints,n=>Te(n)&&Array.isArray(n.byActiveMission)&&n.byActiveMission.every(s=>Te(s)&&de(s.missionId)&&Ua(s.count)&&(s.latest===null||Ga(s.latest))))&&mn(e.roadmap,n=>Te(n)&&de(n.text))&&Te(t)&&Array.isArray(t.sources)&&t.sources.every(Zr)&&Array.isArray(t.notes)&&t.notes.every(n=>Te(n)&&de(n.code)&&(n.severity==="info"||n.severity==="warn"))}const Ya="/api/dashboard",Za=["HOST_NOT_ALLOWED","ORIGIN_NOT_ALLOWED","NOT_FOUND","METHOD_NOT_ALLOWED","RESPONSE_TOO_LARGE","INTERNAL_ERROR"];class jt extends Error{}async function Xa(e){var t;try{const n=await e.json(),s=(t=n==null?void 0:n.error)==null?void 0:t.code;return typeof s=="string"&&Za.includes(s)?s:null}catch{return null}}async function Qa(e=fetch){let t;try{t=await e(Ya,{method:"GET",headers:{Accept:"application/json"},cache:"no-store",credentials:"omit",redirect:"error"})}catch{throw new jt("The MONOLITH API is unreachable.")}if(!t.ok){const s=await Xa(t);throw new jt(`Dashboard request failed (HTTP ${t.status}${s?`, ${s}`:""}). Check whether the MONOLITH dev API is running.`)}let n;try{n=await t.json()}catch{throw new jt("The MONOLITH API returned a response that is not valid JSON.")}if(!Ja(n))throw new jt("The MONOLITH API returned an unexpected data shape.");return n}const eu={class:"shell"},tu={class:"shell-main"},nu={class:"topbar"},su={class:"project"},iu={class:"topbar-right"},ru={key:0,class:"scenario"},ou=["value"],lu=["disabled"],cu={key:2,class:"demo-badge","data-testid":"demo-badge"},au={key:3,class:"live-badge","data-testid":"live-badge"},uu={key:4,class:"live-badge live-badge-off","data-testid":"live-badge"},fu={key:0,class:"content"},du={key:1,class:"content"},hu={key:0,class:"panel",role:"alert","data-testid":"load-error"},pu={key:1,class:"panel",role:"status","data-testid":"loading"},gu=st({__name:"App",setup(e){const t=new URLSearchParams(window.location.search),n=t.get("mode")==="demo";function s(){return Oi.find(O=>O===t.get("scenario"))??"normal"}const i=It(s()),r=It({status:"loading"});let o=0;async function l(){const O=++o;r.value={status:"loading"};try{const k=await Qa();O===o&&(r.value={status:"ready",data:k})}catch(k){if(O!==o)return;const j=k instanceof jt?k.message:"The dashboard could not be loaded.";r.value={status:"error",message:j}}}const c=It(Ci(window.location.hash));function d(){const O=window.location.hash;O!==""&&!Wr(O.slice(1))&&window.history.replaceState(window.history.state,"",`#${Br}`)}function u(){d(),c.value=Ci(window.location.hash)}function h(O){O===c.value&&window.location.hash===`#${O}`||(window.history.pushState(window.history.state,"",`#${O}`),c.value=O)}function v(){window.scrollY>0&&window.scrollTo({top:0})}Ns(()=>{d(),window.addEventListener("hashchange",u),window.addEventListener("popstate",u),n||l()}),Ps(()=>{window.removeEventListener("hashchange",u),window.removeEventListener("popstate",u)});const w=nn(()=>n?Jr[i.value]:r.value.status==="ready"?Va(r.value.data):null),F=nn(()=>!n&&r.value.status==="loading");return(O,k)=>{var j;return C(),I("div",eu,[ee(Ra,{sections:w.value!==null,active:c.value,onSelect:h},null,8,["sections","active"]),E("div",tu,[E("header",nu,[E("div",su,oe(((j=w.value)==null?void 0:j.overview.name)??"UNKNOWN"),1),E("div",iu,[n?(C(),I("label",ru,[k[1]||(k[1]=cn(" Scenario ",-1)),Wo(E("select",{"onUpdate:modelValue":k[0]||(k[0]=L=>i.value=L),"data-testid":"scenario-select"},[(C(!0),I(ie,null,ft(Dn(Oi),L=>(C(),I("option",{key:L,value:L},oe(L),9,ou))),128))],512),[[Tc,i.value]])])):(C(),I("button",{key:1,type:"button","data-testid":"refresh",disabled:F.value,onClick:l},"Refresh",8,lu)),n?(C(),I("span",cu,"DEMO DATA")):w.value?(C(),I("span",au,"LIVE DATA")):(C(),I("span",uu,"LIVE · NO DATA"))])]),w.value?(C(),I("main",fu,[ee(tc,{name:"section-fade",mode:"out-in",onAfterLeave:v},{default:lr(()=>[c.value==="overview"?(C(),bt(da,{key:"overview",overview:w.value.overview},null,8,["overview"])):c.value==="mission"?(C(),bt(Xc,{key:"mission",missions:w.value.missions},null,8,["missions"])):c.value==="checkpoints"?(C(),bt(Bc,{key:"checkpoints",checkpoints:w.value.checkpoints},null,8,["checkpoints"])):c.value==="roadmap"?(C(),bt(ya,{key:"roadmap",text:w.value.roadmapText},null,8,["text"])):(C(),bt(ca,{key:"diagnostics",data:w.value},null,8,["data"]))]),_:1})])):(C(),I("main",du,[r.value.status==="error"?(C(),I("section",hu,[k[2]||(k[2]=E("h2",null,"Live data could not be loaded",-1)),E("p",null,oe(r.value.message),1),k[3]||(k[3]=E("p",{class:"muted"},"No data is shown. Demo data is never substituted for live data.",-1)),E("button",{type:"button","data-testid":"retry",onClick:l},"Retry")])):(C(),I("section",pu,[...k[4]||(k[4]=[E("p",{class:"muted"},"Loading live data…",-1)])]))]))])])}}});Sa();Ec(gu).mount("#app");
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.skin-switcher[data-v-76c1c45c]{color:var(--muted);font-size:13px;display:flex;gap:6px;align-items:center}.skin-switcher select[data-v-76c1c45c]{background:var(--surface-2);color:var(--text);border:1px solid var(--control-border);border-radius:4px;padding:2px 6px}:root{--bg: #0e1116;--surface: #161b22;--surface-2: #1d242d;--border: #2b3440;--control-border: #627185;--text: #e6edf3;--muted: #8b98a8;--accent: #58a6ff;--ok: #3fb950;--warn: #d29922;--err: #f85149;--demo: #f0b429;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}code,pre{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em}.shell{display:flex;align-items:flex-start;min-height:100vh}.shell-main{flex:1 1 auto;min-width:0}.sidebar{position:sticky;top:0;align-self:flex-start;flex:0 0 240px;width:240px;height:100vh;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border)}.sidebar-head{padding:14px 16px}.sidebar-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:4px 12px 16px;overflow-y:auto}.sidebar-panel .skin-switcher{margin-top:auto;padding:12px 4px 0;border-top:1px solid var(--border)}.nav-toggle{display:none}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:10px 20px;min-height:52px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:flex;flex-wrap:wrap;gap:0 10px;align-items:baseline}.brand .muted{white-space:nowrap}.brand strong{letter-spacing:.12em}.project{font-weight:600}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:14px}.scenario{color:var(--muted);font-size:13px;display:flex;gap:6px;align-items:center}.scenario select{background:var(--surface-2);color:var(--text);border:1px solid var(--control-border);border-radius:4px;padding:2px 6px}.demo-badge{background:var(--demo);color:#1a1300;font-weight:800;letter-spacing:.1em;padding:4px 12px;border-radius:4px}.nav{display:flex;flex-direction:column;gap:2px}.nav a{color:var(--muted);text-decoration:none;overflow-wrap:anywhere;padding:6px 10px;border-radius:4px}.nav a:hover{color:var(--text);background:var(--surface-2)}.nav a[aria-current=location]{color:var(--text);background:var(--surface-2);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.nav a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.content{max-width:1100px;margin:0 auto;padding:20px;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.panel{min-width:0;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:16px 20px;scroll-margin-top:16px}.panel h2{margin:0 0 12px;font-size:16px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.panel h3{margin:16px 0 6px;font-size:14px}.panel h4{margin:10px 0 4px;font-size:13px;color:var(--muted)}.facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 16px;margin:0}.facts dt{color:var(--muted)}.facts dt,.facts dd{min-width:0}.facts dd{margin:0;overflow-wrap:anywhere}.facts.compact{font-size:13px;margin-top:8px}.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.card{min-width:0;overflow-wrap:anywhere;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:10px 14px}.card h3{margin:6px 0 2px;font-size:15px}.card p{margin:4px 0}.card-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.status{font-size:12px;padding:1px 8px;border-radius:10px;border:1px solid var(--ok);color:var(--ok)}.steps ul{margin:0;padding-left:20px}.tag{font-weight:400;font-size:11px;color:var(--warn);border:1px solid var(--warn);border-radius:3px;padding:0 6px;margin-left:6px}.roadmap{margin:0;padding:12px;background:var(--surface-2);border-radius:4px;white-space:pre-wrap;overflow-wrap:anywhere}.diag li{min-width:0}.diag{list-style:none;margin:0;padding:0;display:grid;gap:4px}.sev{font-size:11px;text-transform:uppercase;font-weight:700;margin-right:6px}.sev-info .sev{color:var(--accent)}.sev-warning .sev{color:var(--warn)}.sev-error .sev{color:var(--err)}.muted{color:var(--muted)}.empty{color:var(--muted);font-style:italic;margin:0}.unknown{color:var(--warn);font-weight:600;font-style:normal;letter-spacing:.04em}@media(max-width:899px){.shell{display:block}.sidebar{position:sticky;top:0;z-index:2;width:auto;height:auto;max-height:100vh;border-right:0;border-bottom:1px solid var(--border)}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px}.sidebar-panel{display:none;padding-top:4px;max-height:calc(100vh - 56px)}.sidebar.open .sidebar-panel{display:flex}.nav-toggle{display:inline-block}.panel{scroll-margin-top:64px}}@media(max-width:600px){.topbar{padding-left:12px;padding-right:12px}.topbar-right{margin-left:0;width:100%;flex-wrap:wrap;justify-content:space-between}.content{padding:12px}.facts{grid-template-columns:1fr}.facts dd{margin-bottom:6px}}.live-badge{background:#1f6f43;color:#eafff3;font-weight:800;letter-spacing:.1em;padding:4px 12px;border-radius:4px}.live-badge-off{background:var(--surface-2);color:var(--muted, #9aa4b2);border:1px solid var(--border)}.story{white-space:pre-wrap;margin:0;font:inherit}button{background:var(--surface-2);color:var(--text);border:1px solid var(--control-border);border-radius:4px;padding:4px 12px;font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:default}.section-fade-enter-active{transition:opacity .22s ease-out,transform .22s ease-out}.section-fade-leave-active{transition:opacity .15s ease-in,transform .15s ease-in}.section-fade-enter-from{opacity:0;transform:translateY(8px)}.section-fade-leave-to{opacity:0;transform:translateY(-8px)}@media(prefers-reduced-motion:reduce){.section-fade-enter-active,.section-fade-leave-active{transition:none}.section-fade-enter-from,.section-fade-leave-to{opacity:1;transform:none}}:root[data-skin=cosmic-glass]{--bg: #080a1e;--surface: rgba(12, 16, 40, .74);--surface-2: rgba(30, 34, 76, .62);--border: rgba(190, 200, 255, .2);--control-border: rgba(204, 212, 255, .52);--text: #f1f4ff;--muted: #b8c3df;--accent: #b4a9ff;--ok: #5fd68a;--warn: #f0c040;--err: #ff8a85;--demo: #f0b429;--glass-dense: rgba(9, 12, 32, .86);--glass-edge: inset 0 1px 0 rgba(255, 255, 255, .07);--glass-shadow: 0 8px 32px rgba(2, 3, 14, .45);--glass-blur: blur(14px) saturate(1.15);background:var(--bg)}:root[data-skin=cosmic-glass] body{background:transparent;isolation:isolate}:root[data-skin=cosmic-glass] body:before{content:"";position:fixed;top:0;bottom:0;right:0;left:-14vw;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#080a1e00,#080a1e33 60%,#080a1e99),url(./cosmic-glass-bg-Dwx47zPu.webp) 24% 0 / cover no-repeat,var(--bg)}:root[data-skin=cosmic-glass] .sidebar{background:#080b2080;-webkit-backdrop-filter:blur(4px) saturate(1.1);backdrop-filter:blur(4px) saturate(1.1);border-right-color:var(--border);box-shadow:1px 0 #968cff14,6px 0 28px #02030e59}:root[data-skin=cosmic-glass] .brand strong{color:var(--text);letter-spacing:.16em}:root[data-skin=cosmic-glass] .brand .muted{font-size:13px}:root[data-skin=cosmic-glass] .nav a{color:var(--muted);border-left:2px solid transparent;border-radius:0 6px 6px 0}:root[data-skin=cosmic-glass] .nav a:hover{color:var(--text);background:#968cff29;border-left-color:var(--accent)}:root[data-skin=cosmic-glass] .nav a[aria-current=location]{color:var(--text);background:linear-gradient(90deg,#968cff42,#968cff14);border-left-color:#d3ccff;box-shadow:none}:root[data-skin=cosmic-glass] .sidebar-panel .skin-switcher{border-top-color:var(--border)}:root[data-skin=cosmic-glass] .topbar{background:#080b20a8;-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1);border-bottom-color:var(--border);box-shadow:0 6px 24px #02030e4d}:root[data-skin=cosmic-glass] .project{font-size:16px;letter-spacing:.01em}:root[data-skin=cosmic-glass] .live-badge{background:#14532f;color:#eafff3;border:1px solid #5fd68a}:root[data-skin=cosmic-glass] .live-badge-off{background:var(--glass-dense);color:var(--muted);border-color:var(--border)}:root[data-skin=cosmic-glass] .demo-badge{border:1px solid #ffd978}:root[data-skin=cosmic-glass] .panel{background:var(--surface);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:10px;box-shadow:var(--glass-edge),var(--glass-shadow);padding:18px 22px}:root[data-skin=cosmic-glass] .panel h2{font-size:14px;letter-spacing:.08em;font-weight:700;padding-bottom:8px;margin-bottom:14px;border-bottom:1px solid var(--border)}:root[data-skin=cosmic-glass] .panel h3{font-size:15px;font-weight:650}:root[data-skin=cosmic-glass] .card{background:var(--surface-2);border-radius:8px;box-shadow:var(--glass-edge);line-height:1.55}:root[data-skin=cosmic-glass] .facts dt{font-size:13px}:root[data-skin=cosmic-glass] .roadmap,:root[data-skin=cosmic-glass] .story{background:var(--glass-dense);border-radius:8px;line-height:1.6}:root[data-skin=cosmic-glass] .roadmap{border:1px solid var(--border)}:root[data-skin=cosmic-glass] .status{background:#5fd68a1f}:root[data-skin=cosmic-glass] .tag{background:#f0c0401a}:root[data-skin=cosmic-glass] button,:root[data-skin=cosmic-glass] select{background:var(--glass-dense);border-color:var(--control-border)}:root[data-skin=cosmic-glass] button:hover:not(:disabled){border-color:var(--accent);background:#3c3882b3}:root[data-skin=cosmic-glass] button:disabled{opacity:1;color:#8f9abb;border-style:dashed;cursor:not-allowed}:root[data-skin=cosmic-glass] a:focus-visible,:root[data-skin=cosmic-glass] button:focus-visible,:root[data-skin=cosmic-glass] select:focus-visible{outline:2px solid #d3ccff;outline-offset:2px;box-shadow:0 0 0 4px #9a8cff59}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){:root[data-skin=cosmic-glass]{--surface: rgba(12, 16, 40, .92);--surface-2: rgba(26, 30, 70, .92)}:root[data-skin=cosmic-glass] .sidebar,:root[data-skin=cosmic-glass] .topbar{background:#080b20f2}}@media(prefers-reduced-motion:no-preference){:root[data-skin=cosmic-glass] .nav a,:root[data-skin=cosmic-glass] button{transition:background-color .15s,border-color .15s,color .15s}}@media(max-width:899px){:root[data-skin=cosmic-glass] body:before{left:0;background:linear-gradient(180deg,#080a1e00,#080a1e33 55%,#080a1e8c),url(./cosmic-glass-bg-Dwx47zPu.webp) 16% 0 / cover no-repeat,var(--bg)}:root[data-skin=cosmic-glass] .sidebar{background:#080b20d1;border-bottom-color:var(--border)}:root[data-skin=cosmic-glass] .panel{padding:14px 16px;background:#0c102899}}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>MONOLITH Mission Control</title>
|
|
7
|
+
<script type="module" crossorigin src="./assets/index-C4NhMaq7.js"></script>
|
|
8
|
+
<link rel="stylesheet" crossorigin href="./assets/index-DMZ7ZvZY.css">
|
|
9
|
+
</head>
|
|
10
|
+
<body>
|
|
11
|
+
<div id="app"></div>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monolith update [--apply]` handler (DX-UPDATE-001). Preview is read-only.
|
|
3
|
+
* Exit codes: 0 ok (preview, or apply with integration complete), 1 error,
|
|
4
|
+
* 2 apply finished but manual actions remain (integration incomplete).
|
|
5
|
+
*/
|
|
6
|
+
export declare const UPDATE_USAGE = "Usage: monolith update [--apply]\n\nBrings an existing MONOLITH instance up to the current agent integration: a\nstable entry point (<root>/AGENT.md), the idea-capture skill, its routing and the\npointer in your AI instruction files.\n (no flag) Preview: shows the plan, writes nothing.\n --apply Performs the plan: ADD creates a missing MONOLITH file, UPDATE adds\n or refreshes a managed block inside a file of yours.\n\nWhat is written, and what is not:\n - MONOLITH text goes only into checksummed managed blocks\n (<!-- monolith:begin ... -->). Appending leaves every existing byte in place;\n refreshing replaces only an unedited block.\n - A block you edited, a malformed block, a clashing section of yours, an\n unclosed code fence (backticks or tildes) or HTML comment that would hide the block, a file that is not\n valid UTF-8 (no encoding is converted) or an unreadable file is CONFLICT: nothing is written there and the plan says how\n to resolve it. SKIP means left alone on purpose (e.g. your own skill).\n - Your existing skills, memory, state.json, ideas and text are never overwritten.\n Nothing is executed.\nInstances carry no template version, so state is read from the files. Safe to\nre-run. Not transactional and not coordinated between simultaneous runs: apply\nre-checks each file just before writing and skips one that changed. Exit code 2\nafter --apply means the integration is not complete (conflicts or skipped\nchanges remain).";
|
|
7
|
+
export declare function runUpdate(args: string[], targetDir?: string): Promise<number>;
|
|
8
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/update/cli.ts"],"names":[],"mappings":"AACA;;;;GAIG;AAKH,eAAO,MAAM,YAAY,+9CAuBR,CAAC;AA6ClB,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,SAAS,SAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAoC1F"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
2
|
+
/**
|
|
3
|
+
* `monolith update [--apply]` handler (DX-UPDATE-001). Preview is read-only.
|
|
4
|
+
* Exit codes: 0 ok (preview, or apply with integration complete), 1 error,
|
|
5
|
+
* 2 apply finished but manual actions remain (integration incomplete).
|
|
6
|
+
*/
|
|
7
|
+
import { reportWriteWarning } from '../root/index.js';
|
|
8
|
+
import { applyPlan, integrationComplete, planUpdate } from './index.js';
|
|
9
|
+
export const UPDATE_USAGE = `Usage: monolith update [--apply]
|
|
10
|
+
|
|
11
|
+
Brings an existing MONOLITH instance up to the current agent integration: a
|
|
12
|
+
stable entry point (<root>/AGENT.md), the idea-capture skill, its routing and the
|
|
13
|
+
pointer in your AI instruction files.
|
|
14
|
+
(no flag) Preview: shows the plan, writes nothing.
|
|
15
|
+
--apply Performs the plan: ADD creates a missing MONOLITH file, UPDATE adds
|
|
16
|
+
or refreshes a managed block inside a file of yours.
|
|
17
|
+
|
|
18
|
+
What is written, and what is not:
|
|
19
|
+
- MONOLITH text goes only into checksummed managed blocks
|
|
20
|
+
(<!-- monolith:begin ... -->). Appending leaves every existing byte in place;
|
|
21
|
+
refreshing replaces only an unedited block.
|
|
22
|
+
- A block you edited, a malformed block, a clashing section of yours, an
|
|
23
|
+
unclosed code fence (backticks or tildes) or HTML comment that would hide the block, a file that is not
|
|
24
|
+
valid UTF-8 (no encoding is converted) or an unreadable file is CONFLICT: nothing is written there and the plan says how
|
|
25
|
+
to resolve it. SKIP means left alone on purpose (e.g. your own skill).
|
|
26
|
+
- Your existing skills, memory, state.json, ideas and text are never overwritten.
|
|
27
|
+
Nothing is executed.
|
|
28
|
+
Instances carry no template version, so state is read from the files. Safe to
|
|
29
|
+
re-run. Not transactional and not coordinated between simultaneous runs: apply
|
|
30
|
+
re-checks each file just before writing and skips one that changed. Exit code 2
|
|
31
|
+
after --apply means the integration is not complete (conflicts or skipped
|
|
32
|
+
changes remain).`;
|
|
33
|
+
function printable(s) {
|
|
34
|
+
// eslint-disable-next-line no-control-regex
|
|
35
|
+
return s.replace(/[\u0000-\u0009\u000b-\u001f\u007f-\u009f\u2028\u2029]/g, (c) => `\\u${c.charCodeAt(0).toString(16).padStart(4, '0')}`);
|
|
36
|
+
}
|
|
37
|
+
function printPlan(plan) {
|
|
38
|
+
const width = Math.max(...plan.items.map((i) => i.action.length));
|
|
39
|
+
for (const i of plan.items)
|
|
40
|
+
console.log(` ${i.action.padEnd(width)} ${printable(i.path)}\n ${' '.repeat(width)} ${i.reason}`);
|
|
41
|
+
}
|
|
42
|
+
function printEffects(items) {
|
|
43
|
+
const todo = items.filter((i) => i.action === 'ADD' || i.action === 'UPDATE');
|
|
44
|
+
if (todo.length === 0)
|
|
45
|
+
return;
|
|
46
|
+
console.log('\nWhy this is safe: ADD only creates files that do not exist; UPDATE only adds or refreshes a');
|
|
47
|
+
console.log('managed block and is checked to leave all other text unchanged. Nothing else is written.');
|
|
48
|
+
console.log('After --apply:');
|
|
49
|
+
for (const i of todo)
|
|
50
|
+
console.log(` - ${printable(i.path)}: ${i.effect ?? ''}`);
|
|
51
|
+
}
|
|
52
|
+
function printProposals(items) {
|
|
53
|
+
for (const i of items.filter((x) => x.action === 'CONFLICT' && x.proposal)) {
|
|
54
|
+
console.log(`\n--- Manual fallback for ${printable(i.path)}: add this block yourself ---\n${i.proposal}--- end ---`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
function printChain(plan) {
|
|
58
|
+
console.log('\nConsistency (instructions → routing → skill → CLI → storage):');
|
|
59
|
+
for (const c of plan.chain)
|
|
60
|
+
console.log(` ${c.ok ? 'ok ' : 'FAIL'} ${c.link}: ${printable(c.detail)}`);
|
|
61
|
+
}
|
|
62
|
+
function verdict(plan, stale = []) {
|
|
63
|
+
const pending = plan.items.filter((i) => i.action === 'ADD' || i.action === 'UPDATE').length;
|
|
64
|
+
const manual = plan.items.filter((i) => i.action === 'CONFLICT').length;
|
|
65
|
+
const broken = plan.chain.filter((c) => !c.ok).length;
|
|
66
|
+
if (pending === 0 && manual === 0 && broken === 0 && stale.length === 0)
|
|
67
|
+
return 'Idea Capture integration: COMPLETE (the managed components are installed and pass the structural check; how an AI assistant behaves is not verified).';
|
|
68
|
+
const parts = [];
|
|
69
|
+
if (pending > 0)
|
|
70
|
+
parts.push(`${pending} change(s) to apply`);
|
|
71
|
+
if (manual > 0)
|
|
72
|
+
parts.push(`${manual} manual action(s)`);
|
|
73
|
+
if (stale.length > 0)
|
|
74
|
+
parts.push(`${stale.length} change(s) skipped because the file changed meanwhile`);
|
|
75
|
+
if (broken > 0 && parts.length === 0)
|
|
76
|
+
parts.push(`${broken} consistency check(s) failing`);
|
|
77
|
+
return `Idea Capture integration: INCOMPLETE (${parts.join(', ')}). A partly installed integration is not active.`;
|
|
78
|
+
}
|
|
79
|
+
export async function runUpdate(args, targetDir = process.cwd()) {
|
|
80
|
+
let apply = false;
|
|
81
|
+
for (const a of args) {
|
|
82
|
+
if (a === '--apply')
|
|
83
|
+
apply = true;
|
|
84
|
+
else {
|
|
85
|
+
console.error(`Unexpected argument ${JSON.stringify(printable(a))}.\n${UPDATE_USAGE}`);
|
|
86
|
+
return 1;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
const plan = planUpdate(targetDir);
|
|
90
|
+
console.log(`monolith update — ${apply ? 'apply' : 'preview (nothing is written)'}`);
|
|
91
|
+
console.log(`Instance root: ${plan.monolithRoot}/\n`);
|
|
92
|
+
printPlan(plan);
|
|
93
|
+
if (!apply) {
|
|
94
|
+
printEffects(plan.items);
|
|
95
|
+
printProposals(plan.items);
|
|
96
|
+
printChain(plan);
|
|
97
|
+
console.log(`\n${verdict(plan)}`);
|
|
98
|
+
if (plan.items.some((i) => i.action === 'ADD' || i.action === 'UPDATE'))
|
|
99
|
+
console.log('Run `monolith update --apply` to perform the ADD / UPDATE items.');
|
|
100
|
+
return 0;
|
|
101
|
+
}
|
|
102
|
+
const result = applyPlan(targetDir, plan);
|
|
103
|
+
for (const w of result.warnings)
|
|
104
|
+
reportWriteWarning(w);
|
|
105
|
+
const list = (xs) => (xs.length ? ': ' + xs.map(printable).join(', ') : '');
|
|
106
|
+
console.log(`\nCreated ${result.created.length} file(s)${list(result.created)}.`);
|
|
107
|
+
console.log(`Updated ${result.updated.length} file(s)${list(result.updated)}.`);
|
|
108
|
+
if (result.stale.length > 0)
|
|
109
|
+
console.log(`Skipped (changed since planning)${list(result.stale)}. Re-run to plan again.`);
|
|
110
|
+
const after = planUpdate(targetDir);
|
|
111
|
+
printProposals(after.items);
|
|
112
|
+
printChain(after);
|
|
113
|
+
console.log(`\n${verdict(after, result.stale)}`);
|
|
114
|
+
return integrationComplete(after) && result.stale.length === 0 ? 0 : 2;
|
|
115
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `monolith update` (DX-UPDATE-001/003): bring an existing instance up to the
|
|
3
|
+
* current agent integration (stable `AGENT.md` entry point, Idea Capture)
|
|
4
|
+
* without touching project memory.
|
|
5
|
+
*
|
|
6
|
+
* Ownership model (no template version is stored in an instance, so state is
|
|
7
|
+
* read from the files themselves):
|
|
8
|
+
* - MONOLITH-owned, created when absent: `<root>/AGENT.md`, the `idea-capture`
|
|
9
|
+
* skill. An existing skill is never overwritten, whatever it contains.
|
|
10
|
+
* - Mixed (user-owned file + MONOLITH text): CLAUDE.md / AGENTS.md /
|
|
11
|
+
* .cursorrules / .windsurfrules, routing-map, skills index. MONOLITH text
|
|
12
|
+
* lives only in checksummed managed blocks (src/managed). A missing block is
|
|
13
|
+
* appended; an unedited block is refreshed in place; an edited, malformed or
|
|
14
|
+
* competing one is a CONFLICT and nothing is written. Bytes outside a block
|
|
15
|
+
* are never changed (asserted before every write).
|
|
16
|
+
* - User memory (state.json, memory/, ideas): never touched.
|
|
17
|
+
*
|
|
18
|
+
* Reads use the bounded safe read; writes use the safe-write primitives
|
|
19
|
+
* (project boundary, no symlinks, exclusive create / atomic replace). Update is
|
|
20
|
+
* not transactional and not coordinated between processes (SEC-001B.3): apply
|
|
21
|
+
* re-plans just before writing and refuses a change whose preconditions moved;
|
|
22
|
+
* a re-run is the recovery. Nothing is executed and no user text is interpreted
|
|
23
|
+
* as code.
|
|
24
|
+
*/
|
|
25
|
+
import { RootContainmentError, type WriteWarning } from '../root/index.js';
|
|
26
|
+
export type UpdateAction = 'ADD' | 'UPDATE' | 'UNCHANGED' | 'CONFLICT' | 'SKIP';
|
|
27
|
+
export interface UpdateItem {
|
|
28
|
+
/** Path relative to the project root, `/`-separated. */
|
|
29
|
+
path: string;
|
|
30
|
+
action: UpdateAction;
|
|
31
|
+
/** Why, in one line. */
|
|
32
|
+
reason: string;
|
|
33
|
+
/** For CONFLICT: how to resolve it by hand. */
|
|
34
|
+
proposal?: string;
|
|
35
|
+
/** For ADD / UPDATE: the complete file content to write. */
|
|
36
|
+
content?: string;
|
|
37
|
+
/** For UPDATE: sha256 of the file as planned against; apply refuses if it moved. */
|
|
38
|
+
before?: string;
|
|
39
|
+
/** For ADD / UPDATE: what it makes available. */
|
|
40
|
+
effect?: string;
|
|
41
|
+
}
|
|
42
|
+
/** One link of Agent Instructions → Routing → Skill → CLI → Storage. */
|
|
43
|
+
export interface ChainCheck {
|
|
44
|
+
link: string;
|
|
45
|
+
ok: boolean;
|
|
46
|
+
detail: string;
|
|
47
|
+
}
|
|
48
|
+
export interface UpdatePlan {
|
|
49
|
+
monolithRoot: string;
|
|
50
|
+
items: UpdateItem[];
|
|
51
|
+
chain: ChainCheck[];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Read-only. Throws RootContainmentError when the root/config is unusable and
|
|
55
|
+
* `Error` when the directory is not a MONOLITH instance.
|
|
56
|
+
*/
|
|
57
|
+
export declare function planUpdate(target: string): UpdatePlan;
|
|
58
|
+
/**
|
|
59
|
+
* "Complete" is a structural statement: every managed component is installed,
|
|
60
|
+
* unedited-or-current, and the static chain checks out. It says nothing about
|
|
61
|
+
* what an AI model will do with the text. Integration is complete only when nothing is left to add, change or resolve AND every link of the chain checks out. */
|
|
62
|
+
export declare function integrationComplete(plan: UpdatePlan): boolean;
|
|
63
|
+
export interface ApplyResult {
|
|
64
|
+
created: string[];
|
|
65
|
+
updated: string[];
|
|
66
|
+
/** Planned changes not applied because the file changed since planning (or could not be written). */
|
|
67
|
+
stale: string[];
|
|
68
|
+
warnings: WriteWarning[];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Write every ADD and UPDATE of `plan`. The tree is re-planned first and an
|
|
72
|
+
* item is applied only if the file is exactly as planned: an `ADD` target that
|
|
73
|
+
* appeared is skipped, an `UPDATE` whose file changed is reported as stale and
|
|
74
|
+
* left alone. Stops at the first write failure (earlier files stay; re-run).
|
|
75
|
+
*/
|
|
76
|
+
export declare function applyPlan(target: string, plan: UpdatePlan): ApplyResult;
|
|
77
|
+
export { RootContainmentError };
|
|
78
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/update/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAKH,OAAO,EAEL,oBAAoB,EAQpB,KAAK,YAAY,EAClB,MAAM,kBAAkB,CAAC;AAK1B,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhF,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wEAAwE;AACxE,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AA+ED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAgGrD;AAiCD;;;iKAGiK;AACjK,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAE7D;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qGAAqG;IACrG,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAUD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,WAAW,CAsCvE;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|