gitnexus 1.6.9 → 1.6.10-aptos.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +211 -53
- package/dist/_shared/graph/types.d.ts +67 -3
- package/dist/_shared/graph/types.d.ts.map +1 -1
- package/dist/_shared/index.d.ts +1 -0
- package/dist/_shared/index.d.ts.map +1 -1
- package/dist/_shared/index.js.map +1 -1
- package/dist/_shared/integrations/resilient-fetch.d.ts +3 -1
- package/dist/_shared/integrations/resilient-fetch.d.ts.map +1 -1
- package/dist/_shared/integrations/resilient-fetch.js +4 -3
- package/dist/_shared/integrations/resilient-fetch.js.map +1 -1
- package/dist/_shared/language-detection.d.ts.map +1 -1
- package/dist/_shared/language-detection.js +2 -0
- package/dist/_shared/language-detection.js.map +1 -1
- package/dist/_shared/languages.d.ts +2 -0
- package/dist/_shared/languages.d.ts.map +1 -1
- package/dist/_shared/languages.js +2 -0
- package/dist/_shared/languages.js.map +1 -1
- package/dist/_shared/lbug/schema-constants.d.ts +2 -2
- package/dist/_shared/lbug/schema-constants.d.ts.map +1 -1
- package/dist/_shared/lbug/schema-constants.js +8 -0
- package/dist/_shared/lbug/schema-constants.js.map +1 -1
- package/dist/_shared/pipeline.d.ts +1 -1
- package/dist/_shared/pipeline.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/callable-flow-site.d.ts +110 -0
- package/dist/_shared/scope-resolution/callable-flow-site.d.ts.map +1 -0
- package/dist/_shared/scope-resolution/callable-flow-site.js +11 -0
- package/dist/_shared/scope-resolution/callable-flow-site.js.map +1 -0
- package/dist/_shared/scope-resolution/finalize-algorithm.d.ts +1 -1
- package/dist/_shared/scope-resolution/finalize-algorithm.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/finalize-algorithm.js +1 -1
- package/dist/_shared/scope-resolution/finalize-algorithm.js.map +1 -1
- package/dist/_shared/scope-resolution/language-classification.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/language-classification.js +1 -0
- package/dist/_shared/scope-resolution/language-classification.js.map +1 -1
- package/dist/_shared/scope-resolution/parsed-file.d.ts +7 -0
- package/dist/_shared/scope-resolution/parsed-file.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/reference-site.d.ts +9 -1
- package/dist/_shared/scope-resolution/reference-site.d.ts.map +1 -1
- package/dist/_shared/scope-resolution/types.d.ts +20 -3
- package/dist/_shared/scope-resolution/types.d.ts.map +1 -1
- package/dist/cli/ai-context.d.ts +1 -1
- package/dist/cli/ai-context.js +25 -44
- package/dist/cli/analyze.d.ts +5 -2
- package/dist/cli/analyze.js +197 -11
- package/dist/cli/clean.js +17 -3
- package/dist/cli/cli-message.d.ts +1 -1
- package/dist/cli/doctor.d.ts +18 -0
- package/dist/cli/doctor.js +96 -5
- package/dist/cli/editor-targets.d.ts +17 -2
- package/dist/cli/editor-targets.js +44 -0
- package/dist/cli/embeddings.d.ts +12 -0
- package/dist/cli/embeddings.js +49 -0
- package/dist/cli/eval-server.d.ts +23 -1
- package/dist/cli/eval-server.js +126 -8
- package/dist/cli/help-i18n.js +6 -0
- package/dist/cli/i18n/en.d.ts +18 -8
- package/dist/cli/i18n/en.js +18 -8
- package/dist/cli/i18n/resources.d.ts +28 -8
- package/dist/cli/i18n/zh-CN.d.ts +10 -0
- package/dist/cli/i18n/zh-CN.js +18 -8
- package/dist/cli/index.js +21 -7
- package/dist/cli/lazy-action.d.ts +7 -0
- package/dist/cli/lazy-action.js +27 -0
- package/dist/cli/mcp.js +6 -3
- package/dist/cli/move-availability.d.ts +5 -0
- package/dist/cli/move-availability.js +11 -0
- package/dist/cli/setup.d.ts +8 -0
- package/dist/cli/setup.js +230 -32
- package/dist/cli/skill-gen.js +38 -18
- package/dist/cli/standard-skills.d.ts +76 -0
- package/dist/cli/standard-skills.js +45 -0
- package/dist/cli/status.d.ts +4 -1
- package/dist/cli/status.js +57 -4
- package/dist/cli/tool.js +11 -0
- package/dist/cli/uninstall.js +77 -18
- package/dist/cli/wiki.d.ts +1 -0
- package/dist/cli/wiki.js +7 -1
- package/dist/config/ignore-service.d.ts +2 -0
- package/dist/config/ignore-service.js +27 -0
- package/dist/core/analysis-features.d.ts +21 -0
- package/dist/core/analysis-features.js +59 -0
- package/dist/core/analyzer-identity.d.ts +74 -0
- package/dist/core/analyzer-identity.js +1820 -0
- package/dist/core/augmentation/engine.js +13 -8
- package/dist/core/embeddings/embedder.d.ts +3 -2
- package/dist/core/embeddings/embedder.js +24 -7
- package/dist/core/embeddings/embedding-identity.d.ts +11 -0
- package/dist/core/embeddings/embedding-identity.js +24 -0
- package/dist/core/embeddings/embedding-pipeline.d.ts +36 -1
- package/dist/core/embeddings/embedding-pipeline.js +100 -9
- package/dist/core/embeddings/http-client.d.ts +33 -3
- package/dist/core/embeddings/http-client.js +237 -25
- package/dist/core/embeddings/node-module-compat.d.ts +25 -0
- package/dist/core/embeddings/node-module-compat.js +25 -0
- package/dist/core/embeddings/onnxruntime-common-resolver.js +8 -5
- package/dist/core/embeddings/onnxruntime-node-resolver.js +33 -7
- package/dist/core/embeddings/runtime-install.d.ts +119 -0
- package/dist/core/embeddings/runtime-install.js +372 -0
- package/dist/core/embeddings/runtime-support.d.ts +48 -17
- package/dist/core/embeddings/runtime-support.js +96 -0
- package/dist/core/git-staleness.js +1 -1
- package/dist/core/group/bridge-db.js +2 -0
- package/dist/core/group/extractors/http-patterns/python.js +246 -108
- package/dist/core/group/extractors/manifest-extractor.js +4 -0
- package/dist/core/incremental/escalation-gate.d.ts +38 -0
- package/dist/core/incremental/escalation-gate.js +48 -0
- package/dist/core/incremental/shadow-candidates.d.ts +3 -3
- package/dist/core/incremental/shadow-candidates.js +3 -3
- package/dist/core/incremental/subgraph-extract.d.ts +2 -2
- package/dist/core/incremental/subgraph-extract.js +2 -2
- package/dist/core/index-freshness.d.ts +5 -0
- package/dist/core/index-freshness.js +13 -0
- package/dist/core/ingestion/class-extractors/configs/jvm.js +29 -0
- package/dist/core/ingestion/cobol/cobol-preprocessor.js +1 -1
- package/dist/core/ingestion/cobol/jcl-processor.js +9 -8
- package/dist/core/ingestion/cobol-processor.js +27 -26
- package/dist/core/ingestion/community-processor.d.ts +51 -1
- package/dist/core/ingestion/community-processor.js +323 -64
- package/dist/core/ingestion/emit-references.js +7 -2
- package/dist/core/ingestion/filesystem-walker.js +4 -0
- package/dist/core/ingestion/frameworks/spring/analysis-features.d.ts +3 -0
- package/dist/core/ingestion/frameworks/spring/analysis-features.js +7 -0
- package/dist/core/ingestion/frameworks/spring/bean-candidates.d.ts +30 -0
- package/dist/core/ingestion/frameworks/spring/bean-candidates.js +182 -0
- package/dist/core/ingestion/frameworks/spring/bean-catalog.d.ts +12 -0
- package/dist/core/ingestion/frameworks/spring/bean-catalog.js +26 -0
- package/dist/core/ingestion/frameworks/spring/config-bindings.d.ts +24 -0
- package/dist/core/ingestion/frameworks/spring/config-bindings.js +115 -0
- package/dist/core/ingestion/languages/c/captures.js +56 -0
- package/dist/core/ingestion/languages/c/query.js +17 -0
- package/dist/core/ingestion/languages/c/scope-resolver.js +6 -0
- package/dist/core/ingestion/languages/cobol/captures.js +93 -0
- package/dist/core/ingestion/languages/cobol/scope-resolver.js +7 -0
- package/dist/core/ingestion/languages/cpp/captures.js +365 -75
- package/dist/core/ingestion/languages/cpp/scope-resolver.js +14 -0
- package/dist/core/ingestion/languages/csharp/captures.js +25 -0
- package/dist/core/ingestion/languages/dart/captures.js +90 -2
- package/dist/core/ingestion/languages/dart/extension-type-preprocess.d.ts +7 -0
- package/dist/core/ingestion/languages/dart/extension-type-preprocess.js +30 -0
- package/dist/core/ingestion/languages/dart.js +2 -0
- package/dist/core/ingestion/languages/go/captures.js +34 -0
- package/dist/core/ingestion/languages/index.d.ts +1 -0
- package/dist/core/ingestion/languages/index.js +2 -0
- package/dist/core/ingestion/languages/java/analysis-features.d.ts +3 -0
- package/dist/core/ingestion/languages/java/analysis-features.js +13 -0
- package/dist/core/ingestion/languages/java/capture-side-channel.d.ts +22 -0
- package/dist/core/ingestion/languages/java/capture-side-channel.js +58 -0
- package/dist/core/ingestion/languages/java/captures.d.ts +4 -3
- package/dist/core/ingestion/languages/java/captures.js +193 -17
- package/dist/core/ingestion/languages/java/package-facts.d.ts +5 -0
- package/dist/core/ingestion/languages/java/package-facts.js +9 -0
- package/dist/core/ingestion/languages/java/package-siblings.d.ts +3 -16
- package/dist/core/ingestion/languages/java/package-siblings.js +8 -147
- package/dist/core/ingestion/languages/java/query.js +23 -0
- package/dist/core/ingestion/languages/java/scope-resolver.js +23 -0
- package/dist/core/ingestion/languages/java/spring-bean-metadata.d.ts +2 -0
- package/dist/core/ingestion/languages/java/spring-bean-metadata.js +8 -0
- package/dist/core/ingestion/languages/java/spring-config-bindings.d.ts +23 -0
- package/dist/core/ingestion/languages/java/spring-config-bindings.js +215 -0
- package/dist/core/ingestion/languages/java.js +3 -0
- package/dist/core/ingestion/languages/javascript/captures.js +16 -0
- package/dist/core/ingestion/languages/javascript/query.js +21 -0
- package/dist/core/ingestion/languages/jvm/package-facts.d.ts +35 -0
- package/dist/core/ingestion/languages/jvm/package-facts.js +40 -0
- package/dist/core/ingestion/languages/jvm/package-siblings.d.ts +14 -0
- package/dist/core/ingestion/languages/jvm/package-siblings.js +129 -0
- package/dist/core/ingestion/languages/kotlin/capture-side-channel.d.ts +17 -3
- package/dist/core/ingestion/languages/kotlin/capture-side-channel.js +42 -8
- package/dist/core/ingestion/languages/kotlin/captures.js +59 -0
- package/dist/core/ingestion/languages/kotlin/package-facts.d.ts +5 -0
- package/dist/core/ingestion/languages/kotlin/package-facts.js +9 -0
- package/dist/core/ingestion/languages/kotlin/package-siblings.d.ts +4 -0
- package/dist/core/ingestion/languages/kotlin/package-siblings.js +8 -0
- package/dist/core/ingestion/languages/kotlin/query.js +19 -0
- package/dist/core/ingestion/languages/kotlin/scope-resolver.js +9 -1
- package/dist/core/ingestion/languages/kotlin/spring-bean-metadata.d.ts +2 -0
- package/dist/core/ingestion/languages/kotlin/spring-bean-metadata.js +8 -0
- package/dist/core/ingestion/languages/kotlin.js +5 -6
- package/dist/core/ingestion/languages/move.d.ts +1 -0
- package/dist/core/ingestion/languages/move.js +27 -0
- package/dist/core/ingestion/languages/php/captures.js +40 -0
- package/dist/core/ingestion/languages/php/import-decomposer.js +12 -0
- package/dist/core/ingestion/languages/php/import-target.d.ts +2 -1
- package/dist/core/ingestion/languages/php/import-target.js +110 -2
- package/dist/core/ingestion/languages/php/interpret.js +10 -0
- package/dist/core/ingestion/languages/php/scope-resolver.js +1 -1
- package/dist/core/ingestion/languages/python/captures.d.ts +3 -4
- package/dist/core/ingestion/languages/python/captures.js +24 -5
- package/dist/core/ingestion/languages/python/interpret.js +4 -0
- package/dist/core/ingestion/languages/python/receiver-binding.d.ts +15 -2
- package/dist/core/ingestion/languages/python/receiver-binding.js +96 -2
- package/dist/core/ingestion/languages/python/simple-hooks.d.ts +5 -5
- package/dist/core/ingestion/languages/python/simple-hooks.js +15 -5
- package/dist/core/ingestion/languages/ruby/captures.js +42 -0
- package/dist/core/ingestion/languages/rust/captures.js +13 -0
- package/dist/core/ingestion/languages/rust/interpret.js +18 -0
- package/dist/core/ingestion/languages/rust/query.js +9 -0
- package/dist/core/ingestion/languages/rust/range-binding.js +6 -2
- package/dist/core/ingestion/languages/swift/captures.js +12 -0
- package/dist/core/ingestion/languages/typescript/captures.js +21 -0
- package/dist/core/ingestion/languages/typescript/nuxt-auto-imports.js +2 -1
- package/dist/core/ingestion/languages/typescript/query.js +37 -0
- package/dist/core/ingestion/markdown-processor.js +3 -2
- package/dist/core/ingestion/model/registration-table.js +1 -0
- package/dist/core/ingestion/parsing-processor.d.ts +3 -1
- package/dist/core/ingestion/parsing-processor.js +36 -1
- package/dist/core/ingestion/pipeline-phases/index.d.ts +2 -0
- package/dist/core/ingestion/pipeline-phases/index.js +2 -0
- package/dist/core/ingestion/pipeline-phases/parse-impl.js +56 -2
- package/dist/core/ingestion/pipeline-phases/parse.d.ts +0 -2
- package/dist/core/ingestion/pipeline-phases/parse.js +12 -3
- package/dist/core/ingestion/pipeline-phases/processes.d.ts +8 -0
- package/dist/core/ingestion/pipeline-phases/processes.js +11 -1
- package/dist/core/ingestion/pipeline-phases/spring-config.d.ts +37 -0
- package/dist/core/ingestion/pipeline-phases/spring-config.js +433 -0
- package/dist/core/ingestion/pipeline-phases/standalone-ingest.d.ts +10 -0
- package/dist/core/ingestion/pipeline-phases/standalone-ingest.js +6 -0
- package/dist/core/ingestion/pipeline.d.ts +4 -2
- package/dist/core/ingestion/pipeline.js +5 -2
- package/dist/core/ingestion/resolve-references.js +12 -0
- package/dist/core/ingestion/route-extractors/constant-resolver.d.ts +83 -0
- package/dist/core/ingestion/route-extractors/constant-resolver.js +131 -0
- package/dist/core/ingestion/route-extractors/python-const-resolver.d.ts +75 -0
- package/dist/core/ingestion/route-extractors/python-const-resolver.js +299 -0
- package/dist/core/ingestion/scope-extractor.js +306 -43
- package/dist/core/ingestion/scope-resolution/contract/scope-resolver.d.ts +71 -2
- package/dist/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.d.ts +7 -7
- package/dist/core/ingestion/scope-resolution/graph-bridge/callee-id-sink.js +8 -7
- package/dist/core/ingestion/scope-resolution/graph-bridge/edges.d.ts +3 -1
- package/dist/core/ingestion/scope-resolution/graph-bridge/edges.js +6 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/ids.js +1 -0
- package/dist/core/ingestion/scope-resolution/graph-bridge/node-lookup.js +4 -1
- package/dist/core/ingestion/scope-resolution/graph-bridge/references-to-edges.js +7 -2
- package/dist/core/ingestion/scope-resolution/passes/callable-value-flow.d.ts +47 -0
- package/dist/core/ingestion/scope-resolution/passes/callable-value-flow.js +1138 -0
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.d.ts +16 -4
- package/dist/core/ingestion/scope-resolution/passes/free-call-fallback.js +97 -1
- package/dist/core/ingestion/scope-resolution/passes/property-dispatch.d.ts +60 -0
- package/dist/core/ingestion/scope-resolution/passes/property-dispatch.js +111 -0
- package/dist/core/ingestion/scope-resolution/passes/receiver-bound-calls.d.ts +4 -3
- package/dist/core/ingestion/scope-resolution/pipeline/phase.d.ts +5 -0
- package/dist/core/ingestion/scope-resolution/pipeline/phase.js +25 -38
- package/dist/core/ingestion/scope-resolution/pipeline/run.d.ts +6 -0
- package/dist/core/ingestion/scope-resolution/pipeline/run.js +147 -35
- package/dist/core/ingestion/scope-resolution/resolution-outcome.d.ts +1 -1
- package/dist/core/ingestion/scope-resolution/scope/walkers.js +73 -44
- package/dist/core/ingestion/taint/typescript-model.js +34 -2
- package/dist/core/ingestion/tree-sitter-queries.d.ts +2 -2
- package/dist/core/ingestion/tree-sitter-queries.js +23 -2
- package/dist/core/ingestion/type-extractors/jvm.js +17 -2
- package/dist/core/ingestion/utils/ast-helpers.d.ts +1 -0
- package/dist/core/ingestion/utils/ast-helpers.js +153 -2
- package/dist/core/ingestion/utils/callable-flow-captures.d.ts +94 -0
- package/dist/core/ingestion/utils/callable-flow-captures.js +878 -0
- package/dist/core/ingestion/utils/line-base.d.ts +20 -0
- package/dist/core/ingestion/utils/line-base.js +20 -0
- package/dist/core/ingestion/utils/symbol-labels.d.ts +21 -0
- package/dist/core/ingestion/utils/symbol-labels.js +45 -0
- package/dist/core/ingestion/workers/parse-worker.d.ts +34 -0
- package/dist/core/ingestion/workers/parse-worker.js +40 -5
- package/dist/core/ingestion/workers/result-merge.js +4 -0
- package/dist/core/ingestion/workers/worker-pool.d.ts +28 -0
- package/dist/core/ingestion/workers/worker-pool.js +128 -28
- package/dist/core/lbug/csv-generator.d.ts +15 -0
- package/dist/core/lbug/csv-generator.js +124 -27
- package/dist/core/lbug/cypher-escape.d.ts +20 -0
- package/dist/core/lbug/cypher-escape.js +20 -0
- package/dist/core/lbug/extension-load-error.d.ts +67 -0
- package/dist/core/lbug/extension-load-error.js +326 -0
- package/dist/core/lbug/extension-loader.d.ts +17 -2
- package/dist/core/lbug/extension-loader.js +38 -13
- package/dist/core/lbug/lbug-adapter.d.ts +203 -2
- package/dist/core/lbug/lbug-adapter.js +527 -86
- package/dist/core/lbug/lbug-config.d.ts +56 -2
- package/dist/core/lbug/lbug-config.js +267 -7
- package/dist/core/lbug/move-columns.d.ts +7 -0
- package/dist/core/lbug/move-columns.js +86 -0
- package/dist/core/lbug/native-check.d.ts +40 -0
- package/dist/core/lbug/native-check.js +90 -0
- package/dist/core/lbug/node-table-layout.d.ts +29 -0
- package/dist/core/lbug/node-table-layout.js +119 -0
- package/dist/core/lbug/pool-adapter.d.ts +23 -1
- package/dist/core/lbug/pool-adapter.js +115 -8
- package/dist/core/lbug/schema.d.ts +4 -3
- package/dist/core/lbug/schema.js +16 -16
- package/dist/core/lbug/sidecar-recovery.d.ts +172 -0
- package/dist/core/lbug/sidecar-recovery.js +418 -16
- package/dist/core/lbug/wal-checkpoint-driver.js +3 -0
- package/dist/core/move/artifact-download.d.ts +19 -0
- package/dist/core/move/artifact-download.js +179 -0
- package/dist/core/move/compiler-facts.d.ts +120 -0
- package/dist/core/move/compiler-facts.js +9 -0
- package/dist/core/move/consistency.d.ts +28 -0
- package/dist/core/move/consistency.js +98 -0
- package/dist/core/move/constants.d.ts +98 -0
- package/dist/core/move/constants.js +136 -0
- package/dist/core/move/discovery.d.ts +10 -0
- package/dist/core/move/discovery.js +22 -0
- package/dist/core/move/entry-points.d.ts +14 -0
- package/dist/core/move/entry-points.js +40 -0
- package/dist/core/move/facts-mapper.d.ts +75 -0
- package/dist/core/move/facts-mapper.js +534 -0
- package/dist/core/move/install-lock.d.ts +14 -0
- package/dist/core/move/install-lock.js +102 -0
- package/dist/core/move/install.d.ts +39 -0
- package/dist/core/move/install.js +391 -0
- package/dist/core/move/mcp-client.d.ts +115 -0
- package/dist/core/move/mcp-client.js +436 -0
- package/dist/core/move/move-ingest.d.ts +49 -0
- package/dist/core/move/move-ingest.js +320 -0
- package/dist/core/move/provision.d.ts +19 -0
- package/dist/core/move/provision.js +91 -0
- package/dist/core/move/release.d.ts +6 -0
- package/dist/core/move/release.js +10 -0
- package/dist/core/move/symbol-id.d.ts +35 -0
- package/dist/core/move/symbol-id.js +65 -0
- package/dist/core/move/type-parser.d.ts +11 -0
- package/dist/core/move/type-parser.js +38 -0
- package/dist/core/platform/capabilities.d.ts +0 -1
- package/dist/core/platform/capabilities.js +39 -8
- package/dist/core/run-analyze.d.ts +3 -3
- package/dist/core/run-analyze.js +1001 -184
- package/dist/core/search/fts-indexes.d.ts +31 -0
- package/dist/core/search/fts-indexes.js +73 -0
- package/dist/core/search/fts-schema.js +2 -0
- package/dist/core/tree-sitter/safe-parse.d.ts +8 -3
- package/dist/core/tree-sitter/safe-parse.js +21 -7
- package/dist/core/wiki/graph-queries.js +6 -5
- package/dist/core/wiki/llm-client.d.ts +8 -2
- package/dist/core/wiki/llm-client.js +41 -5
- package/dist/mcp/core/embedder.js +16 -2
- package/dist/mcp/http-transport.d.ts +5 -0
- package/dist/mcp/http-transport.js +19 -5
- package/dist/mcp/local/bean-metadata.d.ts +2 -0
- package/dist/mcp/local/bean-metadata.js +25 -0
- package/dist/mcp/local/line-display.d.ts +22 -0
- package/dist/mcp/local/line-display.js +3 -0
- package/dist/mcp/local/local-backend.d.ts +19 -1
- package/dist/mcp/local/local-backend.js +402 -155
- package/dist/mcp/local/pdg-impact.d.ts +5 -3
- package/dist/mcp/local/pdg-impact.js +5 -2
- package/dist/mcp/output-budget.d.ts +5 -0
- package/dist/mcp/output-budget.js +52 -0
- package/dist/mcp/read-only-policy.d.ts +12 -0
- package/dist/mcp/read-only-policy.js +102 -0
- package/dist/mcp/repository-policy.d.ts +34 -0
- package/dist/mcp/repository-policy.js +328 -0
- package/dist/mcp/resources.js +32 -5
- package/dist/mcp/server.d.ts +5 -2
- package/dist/mcp/server.js +29 -9
- package/dist/mcp/tools.d.ts +0 -8
- package/dist/mcp/tools.js +102 -5
- package/dist/server/analyze-job.d.ts +3 -0
- package/dist/server/analyze-job.js +17 -0
- package/dist/server/analyze-launch.d.ts +6 -0
- package/dist/server/analyze-launch.js +82 -6
- package/dist/server/analyze-worker-core.d.ts +2 -1
- package/dist/server/analyze-worker-core.js +5 -2
- package/dist/server/analyze-worker.js +29 -6
- package/dist/server/api.d.ts +30 -0
- package/dist/server/api.js +120 -34
- package/dist/server/mcp-http.d.ts +1 -1
- package/dist/server/mcp-http.js +4 -2
- package/dist/server/upload-ingest.js +2 -1
- package/dist/server/validation.js +2 -1
- package/dist/storage/git.d.ts +31 -0
- package/dist/storage/git.js +111 -1
- package/dist/storage/parse-cache.js +7 -1
- package/dist/storage/parsedfile-store.d.ts +8 -0
- package/dist/storage/parsedfile-store.js +165 -1
- package/dist/storage/repo-manager.d.ts +194 -2
- package/dist/storage/repo-manager.js +56 -1
- package/hooks/antigravity/gitnexus-antigravity-hook.cjs +50 -3
- package/hooks/claude/gitnexus-hook.cjs +59 -9
- package/hooks/claude/pre-tool-use.sh +0 -0
- package/hooks/claude/session-start.sh +0 -0
- package/package.json +21 -15
- package/scripts/cross-platform-tests.ts +56 -0
- package/scripts/ensure-fts.ts +43 -0
- package/scripts/install-duckdb-extension.mjs +85 -24
- package/scripts/run-cross-platform.ts +61 -6
- package/scripts/shard-arg.ts +30 -0
- package/scripts/sync-plugin-manifests.mjs +192 -0
- package/skills/gitnexus-lfg/README.md +55 -0
- package/skills/gitnexus-lfg/SKILL.md +86 -0
- package/skills/gitnexus-plan/README.md +142 -0
- package/skills/gitnexus-plan/SKILL.md +348 -0
- package/skills/gitnexus-plan/references/context-ledger.md +137 -0
- package/skills/gitnexus-plan/references/context-pack.md +126 -0
- package/skills/gitnexus-plan/references/evidence-provenance.md +272 -0
- package/skills/gitnexus-plan/references/pdg-slice.md +109 -0
- package/skills/gitnexus-plan/references/plan-template.md +201 -0
- package/skills/gitnexus-plan/scripts/evidence-provenance.mjs +2084 -0
- package/skills/gitnexus-review/SKILL.md +273 -0
- package/skills/gitnexus-review/ci-personas/ci-adversarial-lens.md +42 -0
- package/skills/gitnexus-review/ci-personas/ci-blast-radius-lens.md +39 -0
- package/skills/gitnexus-review/ci-personas/ci-correctness-lens.md +37 -0
- package/skills/gitnexus-review/ci-personas/ci-coverage-lens.md +40 -0
- package/skills/gitnexus-review/ci-personas/ci-critic-lens.md +42 -0
- package/skills/gitnexus-review/ci-personas/ci-security-lens.md +39 -0
- package/skills/gitnexus-work/README.md +71 -0
- package/skills/gitnexus-work/SKILL.md +269 -0
- package/skills/gitnexus-work/references/evidence-provenance.md +272 -0
- package/skills/gitnexus-work/scripts/evidence-provenance.mjs +2084 -0
- package/web/assets/ProcessFlowModal-B_bfBySy.js +22 -0
- package/web/assets/__vite-browser-external-bMKyYQkO.js +1 -0
- package/web/assets/agent-Bqxn-abU.js +626 -0
- package/web/assets/architecture-7EHR7CIX-6QZW5X65-BVWFvYz2.js +1 -0
- package/web/assets/architectureDiagram-UL44E2DR-CmG3uPWf.js +36 -0
- package/web/assets/{blockDiagram-7IZFK4PR-BkWhpzWB.js → blockDiagram-7IZFK4PR-DBefcjof.js} +7 -7
- package/web/assets/{c4Diagram-Y2BXMSZH-DtBvpzWD.js → c4Diagram-Y2BXMSZH-EjWnjEJl.js} +6 -6
- package/web/assets/chunk-2T2R6R2M-Bb6Sy3_j.js +4 -0
- package/web/assets/chunk-2UTLFMKG-CXlhF3Pt.js +1 -0
- package/web/assets/chunk-3SSMPTDK-rPsRM1x0.js +321 -0
- package/web/assets/chunk-4R4BOZG6-Be_F0JoX.js +159 -0
- package/web/assets/{chunk-6764PJDD-DpIS7hxD.js → chunk-6764PJDD-C7xxk063.js} +1 -1
- package/web/assets/chunk-67TQ5CYL-CA7OhIEf.js +124 -0
- package/web/assets/chunk-7FYTHRHK-CsmYIswB.js +32 -0
- package/web/assets/chunk-7J6CGLKN-BlKwgXKs.js +10 -0
- package/web/assets/chunk-7W6UQGC5-pyKGssV3.js +1 -0
- package/web/assets/chunk-C62D2QBJ-3gdL8EKc.js +1 -0
- package/web/assets/chunk-CEXFNPSA-CjwtMDkc.js +1 -0
- package/web/assets/{chunk-INKRHTLW-Nu4ri9P-.js → chunk-INKRHTLW-Ckl3_KkO.js} +13 -13
- package/web/assets/chunk-J5EP6P6S-L19oz55R.js +1 -0
- package/web/assets/{chunk-KGFNY3KK-JGMJvKCK.js → chunk-KGFNY3KK-BZeP-55u.js} +17 -17
- package/web/assets/chunk-KGYTTC2M-zm6n242I.js +1 -0
- package/web/assets/{chunk-KRXBNO2N-BW5o0KUN.js → chunk-KRXBNO2N-C-UNuKKf.js} +1 -1
- package/web/assets/{chunk-LCXTWHL2-CfLLCywY.js → chunk-LCXTWHL2-C162wE5z.js} +5 -5
- package/web/assets/chunk-LII3EMHJ-BL6lKJ_P.js +1 -0
- package/web/assets/chunk-LRIF4GLE-n59lhprL.js +1 -0
- package/web/assets/chunk-QA3QBVWF-DVXPOIxe.js +2 -0
- package/web/assets/chunk-RERM46MO-B5dAdWpP.js +1 -0
- package/web/assets/chunk-RG4AUYOV-ZNgyLFq6.js +206 -0
- package/web/assets/chunk-RKZBBQEN-MyIQbGgD.js +1 -0
- package/web/assets/chunk-RLI5ZMPA-CkXZ0y0U.js +1 -0
- package/web/assets/chunk-T2UQINTJ-BEyXhZWe.js +1 -0
- package/web/assets/chunk-UP6H54XL-BG-n7qDp.js +1 -0
- package/web/assets/chunk-UXSXWOXI-CW1_r5cS.js +1 -0
- package/web/assets/chunk-UY5QBCOK-ByqTVLvh.js +1 -0
- package/web/assets/chunk-VU6ZFW4Y-BLeasdkU.js +2 -0
- package/web/assets/{chunk-W44A43WB-JqMLIpR0.js → chunk-W44A43WB-BN8EQc_u.js} +1 -1
- package/web/assets/chunk-ZXARS5L4-C3v-4Fsw.js +1 -0
- package/web/assets/classDiagram-KGZ6W3CR-olpO3fMe.js +1 -0
- package/web/assets/classDiagram-v2-72OJOZXJ-olpO3fMe.js +1 -0
- package/web/assets/cose-bilkent-UX7MHV2Q-BmnZ7Mvj.js +1 -0
- package/web/assets/dagre-ND4H6XIP-CY4iIF7v.js +4 -0
- package/web/assets/diagram-3NCE3AQN-CO6QpzEE.js +43 -0
- package/web/assets/diagram-GF46GFSD-B2atbzmU.js +24 -0
- package/web/assets/diagram-HNR7UZ2L-DVRltWbL.js +3 -0
- package/web/assets/diagram-QXG6HAR7-DR6AHD2h.js +24 -0
- package/web/assets/diagram-WEQXMOUZ-DkpoMwTL.js +10 -0
- package/web/assets/erDiagram-L5TCEMPS-n8g_90bc.js +85 -0
- package/web/assets/eventmodeling-FCH6USID-MREXMVOE-CgFBM7e-.js +1 -0
- package/web/assets/flowDiagram-H6V6AXG4-SGMDiCkB.js +162 -0
- package/web/assets/ganttDiagram-JCBTUEKG-Cb3UBqRS.js +292 -0
- package/web/assets/gitGraph-WXDBUCRP-R675I2BI-DCJv7SII.js +1 -0
- package/web/assets/gitGraphDiagram-S2ZK5IYY-Bs9CR7tq.js +106 -0
- package/web/assets/index-CX_fADmQ.css +2 -0
- package/web/assets/index-D1Z3dGGz.js +575 -0
- package/web/assets/info-J43DQDTF-KCYPFFUO-BfNy-9Nd.js +1 -0
- package/web/assets/infoDiagram-3YFTVSEB-T368on4D.js +2 -0
- package/web/assets/{ishikawaDiagram-BNXS4ZKH-DfYpxnE5.js → ishikawaDiagram-BNXS4ZKH-XpjJRU9h.js} +6 -6
- package/web/assets/journeyDiagram-M6C3CM3L-C6wjooas.js +139 -0
- package/web/assets/kanban-definition-75IXJCU3-5_UVY79g.js +89 -0
- package/web/assets/{katex-K3KEBU37-CTc5BslQ.js → katex-K3KEBU37-qRQBy-EZ.js} +2 -2
- package/web/assets/{mindmap-definition-2TDM6QVE-DypvbOMQ.js → mindmap-definition-2TDM6QVE-8xDLzk2e.js} +29 -29
- package/web/assets/node-Ct_zna8U.js +8 -0
- package/web/assets/packet-YPE3B663-LP52Z2RK-D4qkeG9k.js +1 -0
- package/web/assets/pie-LRSECV5Y-TCRJHUBD-B_yMKyQa.js +1 -0
- package/web/assets/pieDiagram-CU6KROY3-Bv4LpAbr.js +30 -0
- package/web/assets/preload-helper-Czpn1I53.js +1 -0
- package/web/assets/{quadrantDiagram-VICAPDV7-yXSZ2lLz.js → quadrantDiagram-VICAPDV7-DR54jOeR.js} +6 -6
- package/web/assets/radar-GUYGQ44K-RDLRG3WG-DeD6yN_0.js +1 -0
- package/web/assets/requirementDiagram-JXO7QTGE-PEkg7sKC.js +84 -0
- package/web/assets/rolldown-runtime-QTnfLwEv.js +1 -0
- package/web/assets/sankeyDiagram-URQDO5SZ-DDWEtjcs.js +40 -0
- package/web/assets/sdk-CzHHH8tD.js +37 -0
- package/web/assets/sequenceDiagram-VS2MUI6T-Bv-uwANx.js +162 -0
- package/web/assets/src-JV30wyV8.js +1 -0
- package/web/assets/stateDiagram-7D4R322I-DVNjmkEq.js +1 -0
- package/web/assets/stateDiagram-v2-36443NZ5-CyN4Fh7_.js +1 -0
- package/web/assets/timeline-definition-O6YCAMPW-Qmsuo7qS.js +120 -0
- package/web/assets/treeView-BLDUP644-QA4HXRO3-CDuSYnd4.js +1 -0
- package/web/assets/treemap-LRROVOQU-LLAWBHMP-imazucyJ.js +1 -0
- package/web/assets/vennDiagram-MWXL3ELB-BD1iK1SX.js +34 -0
- package/web/assets/wardley-L42UT6IY-5TKZOOLJ-DqrT9tB8.js +1 -0
- package/web/assets/wardleyDiagram-CUQ6CDDI-D6TzLVob.js +78 -0
- package/web/assets/{xychartDiagram-N2JHSOCM-BOLm0eNm.js → xychartDiagram-N2JHSOCM-CoZ_Tits.js} +6 -6
- package/web/index.html +18 -10
- package/skills/gitnexus-pr-review.md +0 -163
- package/web/assets/agent-Dli_x7bU.js +0 -660
- package/web/assets/architecture-7EHR7CIX-6QZW5X65-DxJw65fT.js +0 -1
- package/web/assets/architectureDiagram-UL44E2DR-dEkqUZN9.js +0 -36
- package/web/assets/chunk-3SSMPTDK-B4_etUhr.js +0 -321
- package/web/assets/chunk-67TQ5CYL-4sNPJU1q.js +0 -124
- package/web/assets/chunk-7W6UQGC5-KyEG0HQg.js +0 -1
- package/web/assets/chunk-KGYTTC2M-CWC_c3H9.js +0 -161
- package/web/assets/chunk-LII3EMHJ-D-jm-dLa.js +0 -1
- package/web/assets/chunk-QA3QBVWF-BgRW3SXd.js +0 -2
- package/web/assets/chunk-RG4AUYOV-CqWzWsV3.js +0 -206
- package/web/assets/chunk-T2UQINTJ-DSBqkzH7.js +0 -1
- package/web/assets/chunk-UY5QBCOK-DyF0vyGd.js +0 -1
- package/web/assets/chunk-ZXARS5L4-CxN8oiwI.js +0 -1
- package/web/assets/classDiagram-KGZ6W3CR-CMne4tG9.js +0 -1
- package/web/assets/classDiagram-v2-72OJOZXJ-CMne4tG9.js +0 -1
- package/web/assets/cose-bilkent-UX7MHV2Q-D71wNYRJ.js +0 -1
- package/web/assets/dagre-ND4H6XIP-Co5rRx9X.js +0 -4
- package/web/assets/diagram-3NCE3AQN-DBp4O00j.js +0 -43
- package/web/assets/diagram-GF46GFSD-6N_8yS0i.js +0 -24
- package/web/assets/diagram-HNR7UZ2L-DFCfd5LI.js +0 -3
- package/web/assets/diagram-QXG6HAR7-Di093rFg.js +0 -24
- package/web/assets/diagram-WEQXMOUZ-DZWi4SUN.js +0 -10
- package/web/assets/erDiagram-L5TCEMPS-8X1y6R4Y.js +0 -85
- package/web/assets/eventmodeling-FCH6USID-MREXMVOE-BQm9QzEa.js +0 -1
- package/web/assets/flowDiagram-H6V6AXG4-CMpY8Ufn.js +0 -162
- package/web/assets/ganttDiagram-JCBTUEKG-D3iL2Aet.js +0 -292
- package/web/assets/gitGraph-WXDBUCRP-R675I2BI-Cr_Bm2Nb.js +0 -1
- package/web/assets/gitGraphDiagram-S2ZK5IYY-CPIDgxGm.js +0 -106
- package/web/assets/index-KctnI3Vq.js +0 -635
- package/web/assets/index-_lgn7hs5.css +0 -2
- package/web/assets/info-J43DQDTF-KCYPFFUO-Cs4p2oyk.js +0 -1
- package/web/assets/infoDiagram-3YFTVSEB-BaLMZkUg.js +0 -2
- package/web/assets/journeyDiagram-M6C3CM3L-CvArszLo.js +0 -139
- package/web/assets/kanban-definition-75IXJCU3-CpfVLLf9.js +0 -89
- package/web/assets/packet-YPE3B663-LP52Z2RK-CKCrztD2.js +0 -1
- package/web/assets/pie-LRSECV5Y-TCRJHUBD-BB7pHqoD.js +0 -1
- package/web/assets/pieDiagram-CU6KROY3-s27EFWgP.js +0 -30
- package/web/assets/radar-GUYGQ44K-RDLRG3WG-DhoTOcuK.js +0 -1
- package/web/assets/requirementDiagram-JXO7QTGE-CWhqInuf.js +0 -84
- package/web/assets/sankeyDiagram-URQDO5SZ-1qEjlFIB.js +0 -40
- package/web/assets/sequenceDiagram-VS2MUI6T-RyTlZ5cR.js +0 -162
- package/web/assets/stateDiagram-7D4R322I-DTjVfX4A.js +0 -1
- package/web/assets/stateDiagram-v2-36443NZ5-xY9_k9_Q.js +0 -1
- package/web/assets/timeline-definition-O6YCAMPW-DrrqLYAf.js +0 -120
- package/web/assets/treeView-BLDUP644-QA4HXRO3-ODehyGKL.js +0 -1
- package/web/assets/treemap-LRROVOQU-LLAWBHMP-BfpgC-7o.js +0 -1
- package/web/assets/vennDiagram-MWXL3ELB-B0RkWAim.js +0 -34
- package/web/assets/wardley-L42UT6IY-5TKZOOLJ-CNeL6VHE.js +0 -1
- package/web/assets/wardleyDiagram-CUQ6CDDI-boUxiQ5F.js +0 -78
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import{A as e,C as t,D as n,E as r,Z as i,f as a,l as o,o as s}from"./chunk-67TQ5CYL-4sNPJU1q.js";import{t as c}from"./chunk-AQ6EADP3-CZhslHi-.js";import{V as l,q as u}from"./chunk-7W6UQGC5-KyEG0HQg.js";import{t as d}from"./chunk-5IMINLNL-DOdTeQri.js";import{a as f,i as p,r as m,t as h}from"./chunk-T2UQINTJ-DSBqkzH7.js";import{i as g,m as _,r as v}from"./chunk-QA3QBVWF-BgRW3SXd.js";import{n as y,t as b}from"./chunk-UY5QBCOK-DyF0vyGd.js";import{n as x,o as S}from"./chunk-INKRHTLW-Nu4ri9P-.js";var C=c(async(e,n,r)=>{let a,o=n.useHtmlLabels||s(i()?.htmlLabels);a=r||`node default`;let c=e.insert(`g`).attr(`class`,a).attr(`id`,n.domId||n.id),u=c.insert(`g`).attr(`class`,`label`).attr(`style`,g(n.labelStyle)),d;d=n.label===void 0?``:typeof n.label==`string`?n.label:n.label[0];let f=!!n.icon||!!n.img,p=n.labelType===`markdown`,m=await x(u,t(v(d),i()),{useHtmlLabels:o,width:n.width||i().flowchart?.wrappingWidth,classes:p?`markdown-node-label`:``,style:n.labelStyle,addSvgBackground:f,markdown:p},i()),h=m.getBBox(),_=(n?.padding??0)/2;if(o){let e=m.children[0],t=l(m);await b(e,d),h=e.getBoundingClientRect(),t.attr(`width`,h.width),t.attr(`height`,h.height)}return o?u.attr(`transform`,`translate(`+-h.width/2+`, `+-h.height/2+`)`):u.attr(`transform`,`translate(0, `+-h.height/2+`)`),n.centerLabel&&u.attr(`transform`,`translate(`+-h.width/2+`, `+-h.height/2+`)`),u.insert(`rect`,`:first-child`),{shapeSvg:c,bbox:h,halfPadding:_,label:u}},`labelHelper`),w=c(async(e,r,a)=>{let o=a.useHtmlLabels??n(i()),s=e.insert(`g`).attr(`class`,`label`).attr(`style`,a.labelStyle||``),c=await x(s,t(v(r),i()),{useHtmlLabels:o,width:a.width||i()?.flowchart?.wrappingWidth,style:a.labelStyle,addSvgBackground:!!a.icon||!!a.img}),u=c.getBBox(),d=a.padding/2;if(n(i())){let e=c.children[0],t=l(c);u=e.getBoundingClientRect(),t.attr(`width`,u.width),t.attr(`height`,u.height)}return o?s.attr(`transform`,`translate(`+-u.width/2+`, `+-u.height/2+`)`):s.attr(`transform`,`translate(0, `+-u.height/2+`)`),a.centerLabel&&s.attr(`transform`,`translate(`+-u.width/2+`, `+-u.height/2+`)`),s.insert(`rect`,`:first-child`),{shapeSvg:e,bbox:u,halfPadding:d,label:s}},`insertLabel`),T=c((e,t)=>{let n=t.node().getBBox();e.width=n.width,e.height=n.height},`updateNodeBounds`),E=c((e,t)=>(e.look===`handDrawn`?`rough-node`:`node`)+` `+e.cssClasses+` `+(t||``),`getNodeClasses`);function D(e){let t=e.map((e,t)=>`${t===0?`M`:`L`}${e.x},${e.y}`);return t.push(`Z`),t.join(` `)}c(D,`createPathFromPoints`);function O(e,t,n,r,i,a){let o=[],s=n-e,c=r-t,l=s/a,u=2*Math.PI/l,d=t+c/2;for(let t=0;t<=50;t++){let n=e+t/50*s,r=d+i*Math.sin(u*(n-e));o.push({x:n,y:r})}return o}c(O,`generateFullSineWavePoints`);function k(e,t,n,r,i,a){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}c(k,`generateCirclePoints`);function A(e){let t=Array.from(e.childNodes).filter(e=>e.tagName===`path`),n=document.createElementNS(`http://www.w3.org/2000/svg`,`path`),r=t.map(e=>e.getAttribute(`d`)).filter(e=>e!==null).join(` `);n.setAttribute(`d`,r);let i=t.find(e=>e.getAttribute(`fill`)!==`none`),a=t.find(e=>e.getAttribute(`stroke`)!==`none`),o=c((e,t)=>e?.getAttribute(t)??void 0,`getAttr`);if(i){let e={fill:o(i,`fill`),"fill-opacity":o(i,`fill-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&n.setAttribute(e,t)})}if(a){let e={stroke:o(a,`stroke`),"stroke-width":o(a,`stroke-width`)??`1`,"stroke-opacity":o(a,`stroke-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&n.setAttribute(e,t)})}let s=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);return s.appendChild(n),s}c(A,`mergePaths`);var j=c((e,t)=>{var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2,c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=a===0?0:s*i/a,l=s):(i<0&&(o=-o),c=o,l=i===0?0:o*a/i),{x:n+c,y:r+l}},`intersectRect`),M=c(async(e,t,r,a=!1,o=!1)=>{let s=t||``;typeof s==`object`&&(s=s[0]);let c=i(),l=n(c);return await x(e,s,{style:r,isTitle:a,useHtmlLabels:l,markdown:!1,isNode:o,width:1/0},c)},`createLabel`),N=c((e,t,n,r,i)=>[`M`,e+i,t,`H`,e+n-i,`A`,i,i,0,0,1,e+n,t+i,`V`,t+r-i,`A`,i,i,0,0,1,e+n-i,t+r,`H`,e+i,`A`,i,i,0,0,1,e,t+r-i,`V`,t+i,`A`,i,i,0,0,1,e+i,t,`Z`].join(` `),`createRoundedRectPathD`),P=c(async(e,t)=>{u.info(`Creating subgraph rect for `,t.id,t);let r=i(),{themeVariables:a,handDrawnSeed:o}=r,{clusterBkg:s,clusterBorder:c}=a,{labelStyles:f,nodeStyles:p,borderStyles:g,backgroundStyles:_}=m(t),v=e.insert(`g`).attr(`class`,`cluster `+t.cssClasses).attr(`id`,t.domId).attr(`data-look`,t.look),b=n(r),S=v.insert(`g`).attr(`class`,`cluster-label `),C;C=t.labelType===`markdown`?await x(S,t.label,{style:t.labelStyle,useHtmlLabels:b,isNode:!0,width:t.width}):await M(S,t.label,t.labelStyle||``,!1,!0);let w=C.getBBox();if(n(r)){let e=C.children[0],t=l(C);w=e.getBoundingClientRect(),t.attr(`width`,w.width),t.attr(`height`,w.height)}let T=t.width<=w.width+t.padding?w.width+t.padding:t.width;t.width<=w.width+t.padding?t.diff=(T-t.width)/2-t.padding:t.diff=-t.padding;let E=t.height,D=t.x-T/2,O=t.y-E/2;u.trace(`Data `,t,JSON.stringify(t));let k;if(t.look===`handDrawn`){let e=d.svg(v),n=h(t,{roughness:.7,fill:s,stroke:c,fillWeight:3,seed:o}),r=e.path(N(D,O,T,E,0),n);k=v.insert(()=>(u.debug(`Rough node insert CXC`,r),r),`:first-child`),k.select(`path:nth-child(2)`).attr(`style`,g.join(`;`)),k.select(`path`).attr(`style`,_.join(`;`).replace(`fill`,`stroke`))}else k=v.insert(`rect`,`:first-child`),k.attr(`style`,p).attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`x`,D).attr(`y`,O).attr(`width`,T).attr(`height`,E);let{subGraphTitleTopMargin:A}=y(r);if(S.attr(`transform`,`translate(${t.x-w.width/2}, ${t.y-t.height/2+A})`),f){let e=S.select(`span`);e&&e.attr(`style`,f)}let P=k.node().getBBox();return t.offsetX=0,t.width=P.width,t.height=P.height,t.offsetY=w.height-t.padding/2,t.intersect=function(e){return j(t,e)},{cluster:v,labelBBox:w}},`rect`),F=c((e,t)=>{let n=e.insert(`g`).attr(`class`,`note-cluster`).attr(`id`,t.domId),r=n.insert(`rect`,`:first-child`),i=0*t.padding,a=i/2;r.attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`x`,t.x-t.width/2-a).attr(`y`,t.y-t.height/2-a).attr(`width`,t.width+i).attr(`height`,t.height+i).attr(`fill`,`none`);let o=r.node().getBBox();return t.width=o.width,t.height=o.height,t.intersect=function(e){return j(t,e)},{cluster:n,labelBBox:{width:0,height:0}}},`noteGroup`),I=c(async(e,t)=>{let r=i(),{themeVariables:a,handDrawnSeed:o}=r,{altBackground:s,compositeBackground:c,compositeTitleBackground:u,nodeBorder:f}=a,p=e.insert(`g`).attr(`class`,t.cssClasses).attr(`id`,t.domId).attr(`data-id`,t.id).attr(`data-look`,t.look),m=p.insert(`g`,`:first-child`),h=p.insert(`g`).attr(`class`,`cluster-label`),g=p.append(`rect`),_=await M(h,t.label,t.labelStyle,void 0,!0),v=_.getBBox();if(n(r)){let e=_.children[0],t=l(_);v=e.getBoundingClientRect(),t.attr(`width`,v.width),t.attr(`height`,v.height)}let y=0*t.padding,b=y/2,x=(t.width<=v.width+t.padding?v.width+t.padding:t.width)+y;t.width<=v.width+t.padding?t.diff=(x-t.width)/2-t.padding:t.diff=-t.padding;let S=t.height+y,C=t.height+y-v.height-6,w=t.x-x/2,T=t.y-S/2;t.width=x;let E=t.y-t.height/2-b+v.height+2,D;if(t.look===`handDrawn`){let e=t.cssClasses.includes(`statediagram-cluster-alt`),n=d.svg(p),r=t.rx||t.ry?n.path(N(w,T,x,S,10),{roughness:.7,fill:u,fillStyle:`solid`,stroke:f,seed:o}):n.rectangle(w,T,x,S,{seed:o});D=p.insert(()=>r,`:first-child`);let i=n.rectangle(w,E,x,C,{fill:e?s:c,fillStyle:e?`hachure`:`solid`,stroke:f,seed:o});D=p.insert(()=>r,`:first-child`),g=p.insert(()=>i)}else D=m.insert(`rect`,`:first-child`),D.attr(`class`,`outer`).attr(`x`,w).attr(`y`,T).attr(`width`,x).attr(`height`,S).attr(`data-look`,t.look),g.attr(`class`,`inner`).attr(`x`,w).attr(`y`,E).attr(`width`,x).attr(`height`,C);return h.attr(`transform`,`translate(${t.x-v.width/2}, ${T+1-(n(r)?0:3)})`),t.height=D.node().getBBox().height,t.offsetX=0,t.offsetY=v.height-t.padding/2,t.labelBBox=v,t.intersect=function(e){return j(t,e)},{cluster:p,labelBBox:v}},`roundedWithTitle`),ee=c(async(e,t)=>{u.info(`Creating subgraph rect for `,t.id,t);let r=i(),{themeVariables:a,handDrawnSeed:o}=r,{clusterBkg:s,clusterBorder:c}=a,{labelStyles:f,nodeStyles:p,borderStyles:g,backgroundStyles:_}=m(t),v=e.insert(`g`).attr(`class`,`cluster `+t.cssClasses).attr(`id`,t.domId).attr(`data-look`,t.look),b=n(r),S=v.insert(`g`).attr(`class`,`cluster-label `),C=await x(S,t.label,{style:t.labelStyle,useHtmlLabels:b,isNode:!0,width:t.width}),w=C.getBBox();if(n(r)){let e=C.children[0],t=l(C);w=e.getBoundingClientRect(),t.attr(`width`,w.width),t.attr(`height`,w.height)}let T=t.width<=w.width+t.padding?w.width+t.padding:t.width;t.width<=w.width+t.padding?t.diff=(T-t.width)/2-t.padding:t.diff=-t.padding;let E=t.height,D=t.x-T/2,O=t.y-E/2;u.trace(`Data `,t,JSON.stringify(t));let k;if(t.look===`handDrawn`){let e=d.svg(v),n=h(t,{roughness:.7,fill:s,stroke:c,fillWeight:4,seed:o}),r=e.path(N(D,O,T,E,t.rx),n);k=v.insert(()=>(u.debug(`Rough node insert CXC`,r),r),`:first-child`),k.select(`path:nth-child(2)`).attr(`style`,g.join(`;`)),k.select(`path`).attr(`style`,_.join(`;`).replace(`fill`,`stroke`))}else k=v.insert(`rect`,`:first-child`),k.attr(`style`,p).attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`x`,D).attr(`y`,O).attr(`width`,T).attr(`height`,E);let{subGraphTitleTopMargin:A}=y(r);if(S.attr(`transform`,`translate(${t.x-w.width/2}, ${t.y-t.height/2+A})`),f){let e=S.select(`span`);e&&e.attr(`style`,f)}let M=k.node().getBBox();return t.offsetX=0,t.width=M.width,t.height=M.height,t.offsetY=w.height-t.padding/2,t.intersect=function(e){return j(t,e)},{cluster:v,labelBBox:w}},`kanbanSection`),te={rect:P,squareRect:P,roundedWithTitle:I,noteGroup:F,divider:c((e,t)=>{let{themeVariables:n,handDrawnSeed:r}=i(),{nodeBorder:a}=n,o=e.insert(`g`).attr(`class`,t.cssClasses).attr(`id`,t.domId).attr(`data-look`,t.look),s=o.insert(`g`,`:first-child`),c=0*t.padding,l=t.width+c;t.diff=-t.padding;let u=t.height+c,f=t.x-l/2,p=t.y-u/2;t.width=l;let m;if(t.look===`handDrawn`){let e=d.svg(o).rectangle(f,p,l,u,{fill:`lightgrey`,roughness:.5,strokeLineDash:[5],stroke:a,seed:r});m=o.insert(()=>e,`:first-child`)}else{m=s.insert(`rect`,`:first-child`);let e=`outer`;t.look,e=`divider`,m.attr(`class`,e).attr(`x`,f).attr(`y`,p).attr(`width`,l).attr(`height`,u).attr(`data-look`,t.look)}return t.height=m.node().getBBox().height,t.offsetX=0,t.offsetY=0,t.intersect=function(e){return j(t,e)},{cluster:o,labelBBox:{}}},`divider`),kanbanSection:ee},L=new Map,R=c(async(e,t)=>{let n=await te[t.shape||`rect`](e,t);return L.set(t.id,n),n},`insertCluster`),ne=c(()=>{L=new Map},`clear`);function z(e,t){return e.intersect(t)}c(z,`intersectNode`);var re=z;function B(e,t,n,r){var i=e.x,a=e.y,o=i-r.x,s=a-r.y,c=Math.sqrt(t*t*s*s+n*n*o*o),l=Math.abs(t*n*o/c);r.x<i&&(l=-l);var u=Math.abs(t*n*s/c);return r.y<a&&(u=-u),{x:i+l,y:a+u}}c(B,`intersectEllipse`);var V=B;function ie(e,t,n){return V(e,t,t,n)}c(ie,`intersectCircle`);var ae=ie;function H(e,t,n,r){{let i=t.y-e.y,a=e.x-t.x,o=t.x*e.y-e.x*t.y,s=i*n.x+a*n.y+o,c=i*r.x+a*r.y+o,l=1e-6;if(s!==0&&c!==0&&U(s,c))return;let u=r.y-n.y,d=n.x-r.x,f=r.x*n.y-n.x*r.y,p=u*e.x+d*e.y+f,m=u*t.x+d*t.y+f;if(Math.abs(p)<l&&Math.abs(m)<l&&U(p,m))return;let h=i*d-u*a;if(h===0)return;let g=Math.abs(h/2),_=a*f-d*o,v=_<0?(_-g)/h:(_+g)/h;return _=u*o-i*f,{x:v,y:_<0?(_-g)/h:(_+g)/h}}}c(H,`intersectLine`);function U(e,t){return e*t>0}c(U,`sameSign`);var W=H;function oe(e,t,n){let r=e.x,i=e.y,a=[],o=1/0,s=1/0;typeof t.forEach==`function`?t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)}):(o=Math.min(o,t.x),s=Math.min(s,t.y));let c=r-e.width/2-o,l=i-e.height/2-s;for(let r=0;r<t.length;r++){let i=t[r],o=t[r<t.length-1?r+1:0],s=W(e,n,{x:c+i.x,y:l+i.y},{x:c+o.x,y:l+o.y});s&&a.push(s)}return a.length?(a.length>1&&a.sort(function(e,t){let r=e.x-n.x,i=e.y-n.y,a=Math.sqrt(r*r+i*i),o=t.x-n.x,s=t.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}),a[0]):e}c(oe,`intersectPolygon`);var G={node:re,circle:ae,ellipse:V,polygon:oe,rect:j};function se(e,t){let{labelStyles:n}=m(t);t.labelStyle=n;let r=E(t),i=r;r||(i=`anchor`);let a=e.insert(`g`).attr(`class`,i).attr(`id`,t.domId||t.id),{cssStyles:o}=t,s=d.svg(a),c=h(t,{fill:`black`,stroke:`none`,fillStyle:`solid`});t.look!==`handDrawn`&&(c.roughness=0);let l=s.circle(0,0,2,c),f=a.insert(()=>l,`:first-child`);return f.attr(`class`,`anchor`).attr(`style`,g(o)),T(t,f),t.intersect=function(e){return u.info(`Circle intersect`,t,1,e),G.circle(t,1,e)},a}c(se,`anchor`);function ce(e,t,n,r,i,a,o){let s=(e+n)/2,c=(t+r)/2,l=Math.atan2(r-t,n-e),u=(n-e)/2,d=(r-t)/2,f=u/i,p=d/a,m=Math.sqrt(f**2+p**2);if(m>1)throw Error(`The given radii are too small to create an arc between the points.`);let h=Math.sqrt(1-m**2),g=s+h*a*Math.sin(l)*(o?-1:1),_=c-h*i*Math.cos(l)*(o?-1:1),v=Math.atan2((t-_)/a,(e-g)/i),y=Math.atan2((r-_)/a,(n-g)/i)-v;o&&y<0&&(y+=2*Math.PI),!o&&y>0&&(y-=2*Math.PI);let b=[];for(let e=0;e<20;e++){let t=v+e/19*y,n=g+i*Math.cos(t),r=_+a*Math.sin(t);b.push({x:n,y:r})}return b}c(ce,`generateArcPoints`);function le(e,t,n){let[r,i]=[t,n].sort((e,t)=>t-e);return i*(1-Math.sqrt(1-(e/r/2)**2))}c(le,`calculateArcSagitta`);async function ue(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,s=c(e=>e+o,`calcTotalHeight`),l=c(e=>{let t=e/2;return[t/(2.5+e/50),t]},`calcEllipseRadius`),{shapeSvg:u,bbox:f}=await C(e,t,E(t)),p=s(t?.height?t?.height:f.height),[g,_]=l(p),v=le(p,g,_),y=(t?.width?t?.width:f.width)+a*2+v-v,b=p,{cssStyles:x}=t,S=[{x:y/2,y:-b/2},{x:-y/2,y:-b/2},...ce(-y/2,-b/2,-y/2,b/2,g,_,!1),{x:y/2,y:b/2},...ce(y/2,b/2,y/2,-b/2,g,_,!0)],w=d.svg(u),O=h(t,{});t.look!==`handDrawn`&&(O.roughness=0,O.fillStyle=`solid`);let k=D(S),A=w.path(k,O),j=u.insert(()=>A,`:first-child`);return j.attr(`class`,`basic label-container outer-path`),x&&t.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,x),r&&t.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,r),j.attr(`transform`,`translate(${g/2}, 0)`),T(t,j),t.intersect=function(e){return G.polygon(t,S,e)},u}c(ue,`bowTieRect`);function K(e,t,n,r){return e.insert(`polygon`,`:first-child`).attr(`points`,r.map(function(e){return e.x+`,`+e.y}).join(` `)).attr(`class`,`label-container`).attr(`transform`,`translate(`+-t/2+`,`+n/2+`)`)}c(K,`insertPolygonShape`);var de=12;async function fe(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?28:i,o=t.look===`neo`?24:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.width??c.width)+(t.look===`neo`?a*2:a+de),u=(t?.height??c.height)+(t.look===`neo`?o*2:o),f=l,p=-u,g=[{x:0+de,y:p},{x:f,y:p},{x:f,y:0},{x:0,y:0},{x:0,y:p+de},{x:0+de,y:p}],_,{cssStyles:v}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=D(g),i=e.path(r,n);_=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-l/2}, ${u/2})`),v&&_.attr(`style`,v)}else _=K(s,l,u,g);return r&&_.attr(`style`,r),T(t,_),t.intersect=function(e){return G.polygon(t,g,e)},s}c(fe,`card`);function pe(e,t){let{nodeStyles:n}=m(t);t.label=``;let r=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:i}=t,a=Math.max(28,t.width??0),o=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],s=d.svg(r),c=h(t,{});t.look!==`handDrawn`&&(c.roughness=0,c.fillStyle=`solid`);let l=D(o),u=s.path(l,c),f=r.insert(()=>u,`:first-child`);return i&&t.look!==`handDrawn`&&f.selectAll(`path`).attr(`style`,i),n&&t.look!==`handDrawn`&&f.selectAll(`path`).attr(`style`,n),t.width=28,t.height=28,t.intersect=function(e){return G.polygon(t,o,e)},r}c(pe,`choice`);async function me(e,t,n){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,halfPadding:s}=await C(e,t,E(t)),c=n?.padding??s,l=t.look===`neo`?o.width/2+32:o.width/2+c,f,{cssStyles:p}=t;if(t.look===`handDrawn`){let e=d.svg(a),n=h(t,{}),r=e.circle(0,0,l*2,n);f=a.insert(()=>r,`:first-child`),f.attr(`class`,`basic label-container`).attr(`style`,g(p))}else f=a.insert(`circle`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,i).attr(`r`,l).attr(`cx`,0).attr(`cy`,0);return T(t,f),t.calcIntersect=function(e,t){let n=e.width/2;return G.circle(e,n,t)},t.intersect=function(e){return u.info(`Circle intersect`,t,l,e),G.circle(t,l,e)},a}c(me,`circle`);function he(e){let t=Math.cos(Math.PI/4),n=Math.sin(Math.PI/4),r=e*2,i={x:r/2*t,y:r/2*n},a={x:-(r/2)*t,y:r/2*n},o={x:-(r/2)*t,y:-(r/2)*n},s={x:r/2*t,y:-(r/2)*n};return`M ${a.x},${a.y} L ${s.x},${s.y}
|
|
2
|
-
M ${i.x},${i.y} L ${o.x},${o.y}`}c(he,`createLine`);function ge(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n,t.label=``;let i=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),a=Math.max(30,t?.width??0),{cssStyles:o}=t,s=d.svg(i),c=h(t,{});t.look!==`handDrawn`&&(c.roughness=0,c.fillStyle=`solid`);let l=s.circle(0,0,a*2,c),f=he(a),p=s.path(f,c),g=i.insert(()=>l,`:first-child`);return g.insert(()=>p),g.attr(`class`,`outer-path`),o&&t.look!==`handDrawn`&&g.selectAll(`path`).attr(`style`,o),r&&t.look!==`handDrawn`&&g.selectAll(`path`).attr(`style`,r),T(t,g),t.intersect=function(e){return u.info(`crossedCircle intersect`,t,{radius:a,point:e}),G.circle(t,a,e)},i}c(ge,`crossedCircle`);function q(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}c(q,`generateCirclePoints`);async function _e(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+s,u=a.height+c,f=Math.max(5,u*.1),{cssStyles:p}=t,g=[...q(l/2,-u/2,f,30,-90,0),{x:-l/2-f,y:f},...q(l/2+f*2,-f,f,20,-180,-270),...q(l/2+f*2,f,f,20,-90,-180),{x:-l/2-f,y:-u/2},...q(l/2,u/2,f,20,0,90)],_=[{x:l/2,y:-u/2-f},{x:-l/2,y:-u/2-f},...q(l/2,-u/2,f,20,-90,0),{x:-l/2-f,y:-f},...q(l/2+l*.1,-f,f,20,-180,-270),...q(l/2+l*.1,f,f,20,-90,-180),{x:-l/2-f,y:u/2},...q(l/2,u/2,f,20,0,90),{x:-l/2,y:u/2+f},{x:l/2,y:u/2+f}],v=d.svg(i),y=h(t,{fill:`none`});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=D(g).replace(`Z`,``),x=v.path(b,y),S=D(_),w=v.path(S,{...y}),O=i.insert(`g`,`:first-child`);return O.insert(()=>w,`:first-child`).attr(`stroke-opacity`,0),O.insert(()=>x,`:first-child`),O.attr(`class`,`text`),p&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,r),O.attr(`transform`,`translate(${f}, 0)`),o.attr(`transform`,`translate(${-l/2+f-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),T(t,O),t.intersect=function(e){return G.polygon(t,_,e)},i}c(_e,`curlyBraceLeft`);function J(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:a,y:l})}return o}c(J,`generateCirclePoints`);async function ve(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+(t.look===`neo`?s*2:s),u=a.height+(t.look===`neo`?c*2:c),f=Math.max(5,u*.1),{cssStyles:p}=t,g=[...J(l/2,-u/2,f,20,-90,0),{x:l/2+f,y:-f},...J(l/2+f*2,-f,f,20,-180,-270),...J(l/2+f*2,f,f,20,-90,-180),{x:l/2+f,y:u/2},...J(l/2,u/2,f,20,0,90)],_=[{x:-l/2,y:-u/2-f},{x:l/2,y:-u/2-f},...J(l/2,-u/2,f,20,-90,0),{x:l/2+f,y:-f},...J(l/2+f*2,-f,f,20,-180,-270),...J(l/2+f*2,f,f,20,-90,-180),{x:l/2+f,y:u/2},...J(l/2,u/2,f,20,0,90),{x:l/2,y:u/2+f},{x:-l/2,y:u/2+f}],v=d.svg(i),y=h(t,{fill:`none`});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=D(g).replace(`Z`,``),x=v.path(b,y),S=D(_),w=v.path(S,{...y}),O=i.insert(`g`,`:first-child`);return O.insert(()=>w,`:first-child`).attr(`stroke-opacity`,0),O.insert(()=>x,`:first-child`),O.attr(`class`,`text`),p&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,r),O.attr(`transform`,`translate(${-f}, 0)`),o.attr(`transform`,`translate(${-l/2+(t.padding??0)/2-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),T(t,O),t.intersect=function(e){return G.polygon(t,_,e)},i}c(ve,`curlyBraceRight`);function Y(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}c(Y,`generateCirclePoints`);async function ye(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+(t.look===`neo`?s*2:s),u=a.height+(t.look===`neo`?c*2:c),f=Math.max(5,u*.1),{cssStyles:p}=t,g=[...Y(l/2,-u/2,f,30,-90,0),{x:-l/2-f,y:f},...Y(l/2+f*2,-f,f,20,-180,-270),...Y(l/2+f*2,f,f,20,-90,-180),{x:-l/2-f,y:-u/2},...Y(l/2,u/2,f,20,0,90)],_=[...Y(-l/2+f+f/2,-u/2,f,20,-90,-180),{x:l/2-f/2,y:f},...Y(-l/2-f/2,-f,f,20,0,90),...Y(-l/2-f/2,f,f,20,-90,0),{x:l/2-f/2,y:-f},...Y(-l/2+f+f/2,u/2,f,30,-180,-270)],v=[{x:l/2,y:-u/2-f},{x:-l/2,y:-u/2-f},...Y(l/2,-u/2,f,20,-90,0),{x:-l/2-f,y:-f},...Y(l/2+f*2,-f,f,20,-180,-270),...Y(l/2+f*2,f,f,20,-90,-180),{x:-l/2-f,y:u/2},...Y(l/2,u/2,f,20,0,90),{x:-l/2,y:u/2+f},{x:l/2-f-f/2,y:u/2+f},...Y(-l/2+f+f/2,-u/2,f,20,-90,-180),{x:l/2-f/2,y:f},...Y(-l/2-f/2,-f,f,20,0,90),...Y(-l/2-f/2,f,f,20,-90,0),{x:l/2-f/2,y:-f},...Y(-l/2+f+f/2,u/2,f,30,-180,-270)],y=d.svg(i),b=h(t,{fill:`none`});t.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let x=D(g).replace(`Z`,``),S=y.path(x,b),w=D(_).replace(`Z`,``),O=y.path(w,b),k=D(v),A=y.path(k,{...b}),j=i.insert(`g`,`:first-child`);return j.insert(()=>A,`:first-child`).attr(`stroke-opacity`,0),j.insert(()=>S,`:first-child`),j.insert(()=>O,`:first-child`),j.attr(`class`,`text`),p&&t.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,r),j.attr(`transform`,`translate(${f-f/4}, 0)`),o.attr(`transform`,`translate(${-l/2+(t.padding??0)/2-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),T(t,j),t.intersect=function(e){return G.polygon(t,v,e)},i}c(ye,`curlyBraces`);async function be(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=Math.max(20,(c.width+a*2)*1.25,t?.width??0),u=Math.max(5,c.height+o*2,t?.height??0),f=u/2,{cssStyles:p}=t,g=d.svg(s),_=h(t,{});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=l,y=u,b=v-f,x=y/4,S=[{x:b,y:0},{x,y:0},{x:0,y:y/2},{x,y},{x:b,y},...k(-b,-y/2,f,50,270,90)],w=D(S),O=g.path(w,_),A=s.insert(()=>O,`:first-child`);return A.attr(`class`,`basic label-container outer-path`),p&&t.look!==`handDrawn`&&A.selectChildren(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&A.selectChildren(`path`).attr(`style`,r),A.attr(`transform`,`translate(${-l/2}, ${-u/2})`),T(t,A),t.intersect=function(e){return G.polygon(t,S,e)},s}c(be,`curvedTrapezoid`);var xe=c((e,t,n,r,i,a)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createCylinderPathD`),Se=c((e,t,n,r,i,a)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createOuterCylinderPathD`),Ce=c((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`),we=8,Te=8;async function Ee(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?24:i,o=t.look===`neo`?24:i;if(t.width||t.height){let e=t.width??0;t.width=(t.width??0)-o,t.width<Te&&(t.width=Te);let n=e/2/(2.5+e/50);t.height=(t.height??0)-a-n*3,t.height<we&&(t.height=we)}let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t.width?t.width:c.width)+o,f=u/2,p=f/(2.5+u/50),_=(t.height?t.height:c.height)+a+p,v,{cssStyles:y}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=Se(0,0,u,_,f,p),r=Ce(0,p,u,_,f,p),i=h(t,{}),a=e.path(n,i),o=e.path(r,h(t,{fill:`none`}));v=s.insert(()=>o,`:first-child`),v=s.insert(()=>a,`:first-child`),v.attr(`class`,`basic label-container`),y&&v.attr(`style`,y)}else{let e=xe(0,0,u,_,f,p);v=s.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container outer-path`).attr(`style`,g(y)).attr(`style`,r)}return v.attr(`label-offset-y`,p),v.attr(`transform`,`translate(${-u/2}, ${-(_/2+p)})`),T(t,v),l.attr(`transform`,`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${-(c.height/2)+(t.padding??0)/1.5-(c.y-(c.top??0))})`),t.intersect=function(e){let n=G.rect(t,e),r=n.x-(t.x??0);if(f!=0&&(Math.abs(r)<(t.width??0)/2||Math.abs(r)==(t.width??0)/2&&Math.abs(n.y-(t.y??0))>(t.height??0)/2-p)){let i=p*p*(1-r*r/(f*f));i>0&&(i=Math.sqrt(i)),i=p-i,e.y-(t.y??0)>0&&(i=-i),n.y+=i}return n},s}c(Ee,`cylinder`);async function X(e,t,n){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let{shapeSvg:a,bbox:o}=await C(e,t,E(t)),s=Math.max(o.width+n.labelPaddingX*2,t?.width||0),c=Math.max(o.height+n.labelPaddingY*2,t?.height||0),l=-s/2,u=-c/2,f,{rx:p,ry:_}=t,{cssStyles:v}=t;if(n?.rx&&n.ry&&(p=n.rx,_=n.ry),t.look===`handDrawn`){let e=d.svg(a),n=h(t,{}),r=p||_?e.path(N(l,u,s,c,p||0),n):e.rectangle(l,u,s,c,n);f=a.insert(()=>r,`:first-child`),f.attr(`class`,`basic label-container`).attr(`style`,g(v))}else f=a.insert(`rect`,`:first-child`),f.attr(`class`,`basic label-container`).attr(`style`,i).attr(`rx`,g(p)).attr(`ry`,g(_)).attr(`x`,l).attr(`y`,u).attr(`width`,s).attr(`height`,c);return T(t,f),t.calcIntersect=function(e,t){return G.rect(e,t)},t.intersect=function(e){return G.rect(t,e)},a}c(X,`drawRect`);async function De(e,t){let{cssClasses:n,labelPaddingX:r,labelPaddingY:i,padding:a,width:o,height:s}=t,c=await X(e,t,{rx:0,ry:0,classes:n??``,labelPaddingX:r??(a??0)*2,labelPaddingY:i??a??0});if(t.look===`handDrawn`){let e=d.svg(c),n=h(t,{}),r=c.select(`.basic.label-container > path:nth-child(2)`),i=r.node();if(!i)return c;let a=null;if(i instanceof SVGGraphicsElement)a=i.getBBox();else return c;return c.insert(()=>e.line(a.x,a.y,a.x+a.width,a.y,n),`.basic.label-container g.label`),c.insert(()=>e.line(a.x,a.y+a.height,a.x+a.width,a.y+a.height,n),`.basic.label-container g.label`),r.remove(),c}let l=c.select(`.basic.label-container`),u=(Number(l.attr(`width`))||o)??0,f=(Number(l.attr(`height`))||s)??0;return u>0&&f>0&&l.attr(`stroke-dasharray`,`${u} ${f}`),c}c(De,`datastore`);async function Oe(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?16:t.padding??0,{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=s.width+i,u=s.height+a,f=u*.2,p=-l/2,g=-u/2-f/2,{cssStyles:_}=t,v=d.svg(o),y=h(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=[{x:p,y:g+f},{x:-p,y:g+f},{x:-p,y:-g},{x:p,y:-g},{x:p,y:g},{x:-p,y:g},{x:-p,y:g+f}],x=v.polygon(b.map(e=>[e.x,e.y]),y),S=o.insert(()=>x,`:first-child`);return S.attr(`class`,`basic label-container outer-path`),_&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,_),r&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${p+(t.padding??0)/2-(s.x-(s.left??0))}, ${g+f+(t.padding??0)/2-(s.y-(s.top??0))})`),T(t,S),t.intersect=function(e){return G.rect(t,e)},o}c(Oe,`dividedRectangle`);async function ke(e,t){let{labelStyles:n,nodeStyles:r}=m(t),i=t.look===`neo`?12:5;t.labelStyle=n;let a=t.padding??0,o=t.look===`neo`?16:a,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.width?t?.width/2:c.width/2)+(o??0),f=l-i,p,{cssStyles:_}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{roughness:.2,strokeWidth:2.5}),r=h(t,{roughness:.2,strokeWidth:1.5}),i=e.circle(0,0,l*2,n),a=e.circle(0,0,f*2,r);p=s.insert(`g`,`:first-child`),p.attr(`class`,g(t.cssClasses)).attr(`style`,g(_)),p.node()?.appendChild(i),p.node()?.appendChild(a)}else{p=s.insert(`g`,`:first-child`);let e=p.insert(`circle`,`:first-child`),t=p.insert(`circle`);p.attr(`class`,`basic label-container`).attr(`style`,r),e.attr(`class`,`outer-circle`).attr(`style`,r).attr(`r`,l).attr(`cx`,0).attr(`cy`,0),t.attr(`class`,`inner-circle`).attr(`style`,r).attr(`r`,f).attr(`cx`,0).attr(`cy`,0)}return T(t,p),t.intersect=function(e){return u.info(`DoubleCircle intersect`,t,l,e),G.circle(t,l,e)},s}c(ke,`doublecircle`);function Ae(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=m(t);t.label=``,t.labelStyle=r;let a=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:o}=t,s=d.svg(a),{nodeBorder:c}=n,l=h(t,{fillStyle:`solid`});t.look!==`handDrawn`&&(l.roughness=0);let f=s.circle(0,0,14,l),p=a.insert(()=>f,`:first-child`);return p.selectAll(`path`).attr(`style`,`fill: ${c} !important;`),o&&o.length>0&&t.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,o),i&&t.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,i),T(t,p),t.intersect=function(e){return u.info(`filledCircle intersect`,t,{radius:7,point:e}),G.circle(t,7,e)},a}c(Ae,`filledCircle`);var je=10,Me=10;async function Ne(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?i*2:i;(t.width||t.height)&&(t.height=t?.height??0,t.height<je&&(t.height=je),t.width=(t?.width??0)-a-a/2,t.width<Me&&(t.width=Me));let{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=(t?.width?t?.width:s.width)+(a??0),f=t?.height?t?.height:l+s.height,p=f,g=[{x:0,y:-f},{x:p,y:-f},{x:p/2,y:0}],{cssStyles:_}=t,v=d.svg(o),y=h(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=D(g),x=v.path(b,y),S=o.insert(()=>x,`:first-child`).attr(`transform`,`translate(${-f/2}, ${f/2})`).attr(`class`,`outer-path`);return _&&t.look!==`handDrawn`&&S.selectChildren(`path`).attr(`style`,_),r&&t.look!==`handDrawn`&&S.selectChildren(`path`).attr(`style`,r),t.width=l,t.height=f,T(t,S),c.attr(`transform`,`translate(${-s.width/2-(s.x-(s.left??0))}, ${-f/2+(t.padding??0)/2+(s.y-(s.top??0))})`),t.intersect=function(e){return u.info(`Triangle intersect`,t,g,e),G.polygon(t,g,e)},o}c(Ne,`flippedTriangle`);function Pe(e,t,{dir:n,config:{state:r,themeVariables:i}}){let{nodeStyles:a}=m(t);t.label=``;let o=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:s}=t,c=Math.max(70,t?.width??0),l=Math.max(10,t?.height??0);n===`LR`&&(c=Math.max(10,t?.width??0),l=Math.max(70,t?.height??0));let u=-1*c/2,f=-1*l/2,p=d.svg(o),g=h(t,{stroke:i.lineColor,fill:i.lineColor});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=p.rectangle(u,f,c,l,g),v=o.insert(()=>_,`:first-child`);s&&t.look!==`handDrawn`&&v.selectAll(`path`).attr(`style`,s),a&&t.look!==`handDrawn`&&v.selectAll(`path`).attr(`style`,a),T(t,v);let y=r?.padding??0;return t.width&&t.height&&(t.width+=y/2||0,t.height+=y/2||0),t.intersect=function(e){return G.rect(t,e)},o}c(Pe,`forkJoin`);async function Fe(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?12:t.padding??0;(t.width||t.height)&&(t.height=(t?.height??0)-a*2,t.height<10&&(t.height=10),t.width=(t?.width??0)-i*2,t.width<15&&(t.width=15));let{shapeSvg:o,bbox:s}=await C(e,t,E(t)),c=(t?.width?t?.width:Math.max(15,s.width))+i*2,l=(t?.height?t?.height:Math.max(10,s.height))+a*2,f=l/2,{cssStyles:p}=t,g=d.svg(o),_=h(t,{});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=[{x:-c/2,y:-l/2},{x:c/2-f,y:-l/2},...k(-c/2+f,0,f,50,90,270),{x:c/2-f,y:l/2},{x:-c/2,y:l/2}],y=D(v),b=g.path(y,_),x=o.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),p&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,r),T(t,x),t.intersect=function(e){return u.info(`Pill intersect`,t,{radius:f,point:e}),G.polygon(t,v,e)},o}c(Fe,`halfRoundedRectangle`);var Ie=c((e,t,n,r,i)=>[`M${e+i},${t}`,`L${e+n-i},${t}`,`L${e+n},${t-r/2}`,`L${e+n-i},${t-r}`,`L${e+i},${t-r}`,`L${e},${t-r/2}`,`Z`].join(` `),`createHexagonPathD`);async function Le(e,t){let{labelStyles:n,nodeStyles:r}=m(t),i=t.look===`neo`?3.5:4;t.labelStyle=n;let a=t.padding??0,o=t.look===`neo`?70:a,s=t.look===`neo`?32:a;if(t.width||t.height){let e=(t.height??0)/i;t.width=(t?.width??0)-2*e-s,t.height=(t.height??0)-o}let{shapeSvg:c,bbox:l}=await C(e,t,E(t)),u=(t?.height?t?.height:l.height)+o,f=u/i,p=(t?.width?t?.width:l.width)+2*f+s,g=[{x:f,y:0},{x:p-f,y:0},{x:p,y:-u/2},{x:p-f,y:-u},{x:f,y:-u},{x:0,y:-u/2}],_,{cssStyles:v}=t;if(t.look===`handDrawn`){let e=d.svg(c),n=h(t,{}),r=Ie(0,0,p,u,f),i=e.path(r,n);_=c.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-p/2}, ${u/2})`),v&&_.attr(`style`,v)}else _=K(c,p,u,g);return r&&_.attr(`style`,r),t.width=p,t.height=u,T(t,_),t.intersect=function(e){return G.polygon(t,g,e)},c}c(Le,`hexagon`);async function Re(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.label=``,t.labelStyle=n;let{shapeSvg:i}=await C(e,t,E(t)),a=Math.max(30,t?.width??0),o=Math.max(30,t?.height??0),{cssStyles:s}=t,c=d.svg(i),l=h(t,{});t.look!==`handDrawn`&&(l.roughness=0,l.fillStyle=`solid`);let f=[{x:0,y:0},{x:a,y:0},{x:0,y:o},{x:a,y:o}],p=D(f),g=c.path(p,l),_=i.insert(()=>g,`:first-child`);return _.attr(`class`,`basic label-container outer-path`),s&&t.look!==`handDrawn`&&_.selectChildren(`path`).attr(`style`,s),r&&t.look!==`handDrawn`&&_.selectChildren(`path`).attr(`style`,r),_.attr(`transform`,`translate(${-a/2}, ${-o/2})`),T(t,_),t.intersect=function(e){return u.info(`Pill intersect`,t,{points:f}),G.polygon(t,f,e)},i}c(Re,`hourglass`);async function ze(e,t,{config:{themeVariables:n,flowchart:r}}){let{labelStyles:i}=m(t);t.labelStyle=i;let a=t.assetHeight??48,o=t.assetWidth??48,s=Math.max(a,o),c=r?.wrappingWidth;t.width=Math.max(s,c??0);let{shapeSvg:l,bbox:f,label:g}=await C(e,t,`icon-shape default`),_=t.pos===`t`,v=s,y=s,{nodeBorder:b}=n,{stylesMap:x}=p(t),w=-y/2,E=-v/2,D=t.label?8:0,O=d.svg(l),k=h(t,{stroke:`none`,fill:`none`});t.look!==`handDrawn`&&(k.roughness=0,k.fillStyle=`solid`);let A=O.rectangle(w,E,y,v,k),j=Math.max(y,f.width),M=v+f.height+D,N=O.rectangle(-j/2,-M/2,j,M,{...k,fill:`transparent`,stroke:`none`}),P=l.insert(()=>A,`:first-child`),F=l.insert(()=>N);if(t.icon){let e=l.append(`g`);e.html(`<g>${await S(t.icon,{height:s,width:s,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${_?f.height/2+D/2-i/2-o:-f.height/2-D/2-i/2-o})`),e.attr(`style`,`color: ${x.get(`stroke`)??b};`)}return g.attr(`transform`,`translate(${-f.width/2-(f.x-(f.left??0))},${_?-M/2:M/2-f.height})`),P.attr(`transform`,`translate(0,${_?f.height/2+D/2:-f.height/2-D/2})`),T(t,F),t.intersect=function(e){if(u.info(`iconSquare intersect`,t,e),!t.label)return G.rect(t,e);let n=t.x??0,r=t.y??0,i=t.height??0,a=[];return a=_?[{x:n-f.width/2,y:r-i/2},{x:n+f.width/2,y:r-i/2},{x:n+f.width/2,y:r-i/2+f.height+D},{x:n+y/2,y:r-i/2+f.height+D},{x:n+y/2,y:r+i/2},{x:n-y/2,y:r+i/2},{x:n-y/2,y:r-i/2+f.height+D},{x:n-f.width/2,y:r-i/2+f.height+D}]:[{x:n-y/2,y:r-i/2},{x:n+y/2,y:r-i/2},{x:n+y/2,y:r-i/2+v},{x:n+f.width/2,y:r-i/2+v},{x:n+f.width/2/2,y:r+i/2},{x:n-f.width/2,y:r+i/2},{x:n-f.width/2,y:r-i/2+v},{x:n-y/2,y:r-i/2+v}],G.polygon(t,a,e)},l}c(ze,`icon`);async function Be(e,t,{config:{themeVariables:n,flowchart:r}}){let{labelStyles:i}=m(t);t.labelStyle=i;let a=t.assetHeight??48,o=t.assetWidth??48,s=Math.max(a,o),c=r?.wrappingWidth;t.width=Math.max(s,c??0);let{shapeSvg:l,bbox:f,label:g}=await C(e,t,`icon-shape default`),_=t.label?8:0,v=t.pos===`t`,{nodeBorder:y,mainBkg:b}=n,{stylesMap:x}=p(t),w=d.svg(l),E=h(t,{});t.look!==`handDrawn`&&(E.roughness=0,E.fillStyle=`solid`),E.stroke=x.get(`fill`)??b;let D=l.append(`g`);t.icon&&D.html(`<g>${await S(t.icon,{height:s,width:s,fallbackPrefix:``})}</g>`);let O=D.node().getBBox(),k=O.width,A=O.height,j=O.x,M=O.y,N=Math.max(k,A)*Math.SQRT2+40,P=w.circle(0,0,N,E),F=Math.max(N,f.width),I=N+f.height+_,ee=w.rectangle(-F/2,-I/2,F,I,{...E,fill:`transparent`,stroke:`none`}),te=l.insert(()=>P,`:first-child`),L=l.insert(()=>ee);return D.attr(`transform`,`translate(${-k/2-j},${v?f.height/2+_/2-A/2-M:-f.height/2-_/2-A/2-M})`),D.attr(`style`,`color: ${x.get(`stroke`)??y};`),g.attr(`transform`,`translate(${-f.width/2-(f.x-(f.left??0))},${v?-I/2:I/2-f.height})`),te.attr(`transform`,`translate(0,${v?f.height/2+_/2:-f.height/2-_/2})`),T(t,L),t.intersect=function(e){return u.info(`iconSquare intersect`,t,e),G.rect(t,e)},l}c(Be,`iconCircle`);async function Ve(e,t,{config:{themeVariables:n,flowchart:r}}){let{labelStyles:i}=m(t);t.labelStyle=i;let a=t.assetHeight??48,o=t.assetWidth??48,s=Math.max(a,o),c=r?.wrappingWidth;t.width=Math.max(s,c??0);let{shapeSvg:l,bbox:f,halfPadding:g,label:_}=await C(e,t,`icon-shape default`),v=t.pos===`t`,y=s+g*2,b=s+g*2,{nodeBorder:x,mainBkg:w}=n,{stylesMap:E}=p(t),D=-b/2,O=-y/2,k=t.label?8:0,A=d.svg(l),j=h(t,{});t.look!==`handDrawn`&&(j.roughness=0,j.fillStyle=`solid`),j.stroke=E.get(`fill`)??w;let M=A.path(N(D,O,b,y,5),j),P=Math.max(b,f.width),F=y+f.height+k,I=A.rectangle(-P/2,-F/2,P,F,{...j,fill:`transparent`,stroke:`none`}),ee=l.insert(()=>M,`:first-child`).attr(`class`,`icon-shape2`),te=l.insert(()=>I);if(t.icon){let e=l.append(`g`);e.html(`<g>${await S(t.icon,{height:s,width:s,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${v?f.height/2+k/2-i/2-o:-f.height/2-k/2-i/2-o})`),e.attr(`style`,`color: ${E.get(`stroke`)??x};`)}return _.attr(`transform`,`translate(${-f.width/2-(f.x-(f.left??0))},${v?-F/2:F/2-f.height})`),ee.attr(`transform`,`translate(0,${v?f.height/2+k/2:-f.height/2-k/2})`),T(t,te),t.intersect=function(e){if(u.info(`iconSquare intersect`,t,e),!t.label)return G.rect(t,e);let n=t.x??0,r=t.y??0,i=t.height??0,a=[];return a=v?[{x:n-f.width/2,y:r-i/2},{x:n+f.width/2,y:r-i/2},{x:n+f.width/2,y:r-i/2+f.height+k},{x:n+b/2,y:r-i/2+f.height+k},{x:n+b/2,y:r+i/2},{x:n-b/2,y:r+i/2},{x:n-b/2,y:r-i/2+f.height+k},{x:n-f.width/2,y:r-i/2+f.height+k}]:[{x:n-b/2,y:r-i/2},{x:n+b/2,y:r-i/2},{x:n+b/2,y:r-i/2+y},{x:n+f.width/2,y:r-i/2+y},{x:n+f.width/2/2,y:r+i/2},{x:n-f.width/2,y:r+i/2},{x:n-f.width/2,y:r-i/2+y},{x:n-b/2,y:r-i/2+y}],G.polygon(t,a,e)},l}c(Ve,`iconRounded`);async function He(e,t,{config:{themeVariables:n,flowchart:r}}){let{labelStyles:i}=m(t);t.labelStyle=i;let a=t.assetHeight??48,o=t.assetWidth??48,s=Math.max(a,o),c=r?.wrappingWidth;t.width=Math.max(s,c??0);let{shapeSvg:l,bbox:f,halfPadding:g,label:_}=await C(e,t,`icon-shape default`),v=t.pos===`t`,y=s+g*2,b=s+g*2,{nodeBorder:x,mainBkg:w}=n,{stylesMap:E}=p(t),D=-b/2,O=-y/2,k=t.label?8:0,A=d.svg(l),j=h(t,{});t.look!==`handDrawn`&&(j.roughness=0,j.fillStyle=`solid`),j.stroke=E.get(`fill`)??w;let M=A.path(N(D,O,b,y,.1),j),P=Math.max(b,f.width),F=y+f.height+k,I=A.rectangle(-P/2,-F/2,P,F,{...j,fill:`transparent`,stroke:`none`}),ee=l.insert(()=>M,`:first-child`),te=l.insert(()=>I);if(t.icon){let e=l.append(`g`);e.html(`<g>${await S(t.icon,{height:s,width:s,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${v?f.height/2+k/2-i/2-o:-f.height/2-k/2-i/2-o})`),e.attr(`style`,`color: ${E.get(`stroke`)??x};`)}return _.attr(`transform`,`translate(${-f.width/2-(f.x-(f.left??0))},${v?-F/2:F/2-f.height})`),ee.attr(`transform`,`translate(0,${v?f.height/2+k/2:-f.height/2-k/2})`),T(t,te),t.intersect=function(e){if(u.info(`iconSquare intersect`,t,e),!t.label)return G.rect(t,e);let n=t.x??0,r=t.y??0,i=t.height??0,a=[];return a=v?[{x:n-f.width/2,y:r-i/2},{x:n+f.width/2,y:r-i/2},{x:n+f.width/2,y:r-i/2+f.height+k},{x:n+b/2,y:r-i/2+f.height+k},{x:n+b/2,y:r+i/2},{x:n-b/2,y:r+i/2},{x:n-b/2,y:r-i/2+f.height+k},{x:n-f.width/2,y:r-i/2+f.height+k}]:[{x:n-b/2,y:r-i/2},{x:n+b/2,y:r-i/2},{x:n+b/2,y:r-i/2+y},{x:n+f.width/2,y:r-i/2+y},{x:n+f.width/2/2,y:r+i/2},{x:n-f.width/2,y:r+i/2},{x:n-f.width/2,y:r-i/2+y},{x:n-b/2,y:r-i/2+y}],G.polygon(t,a,e)},l}c(He,`iconSquare`);async function Ue(e,t,{config:{flowchart:n}}){let r=new Image;r.src=t?.img??``,await r.decode();let i=Number(r.naturalWidth.toString().replace(`px`,``)),a=Number(r.naturalHeight.toString().replace(`px`,``));t.imageAspectRatio=i/a;let{labelStyles:o}=m(t);t.labelStyle=o;let s=n?.wrappingWidth;t.defaultWidth=n?.wrappingWidth;let c=Math.max(t.label?s??0:0,t?.assetWidth??i),l=t.constraint===`on`&&t?.assetHeight?t.assetHeight*t.imageAspectRatio:c,f=t.constraint===`on`?l/t.imageAspectRatio:t?.assetHeight??a;t.width=Math.max(l,s??0);let{shapeSvg:p,bbox:g,label:_}=await C(e,t,`image-shape default`),v=t.pos===`t`,y=-l/2,b=-f/2,x=t.label?8:0,S=d.svg(p),w=h(t,{});t.look!==`handDrawn`&&(w.roughness=0,w.fillStyle=`solid`);let E=S.rectangle(y,b,l,f,w),D=Math.max(l,g.width),O=f+g.height+x,k=S.rectangle(-D/2,-O/2,D,O,{...w,fill:`none`,stroke:`none`}),A=p.insert(()=>E,`:first-child`),j=p.insert(()=>k);if(t.img){let e=p.append(`image`);e.attr(`href`,t.img),e.attr(`width`,l),e.attr(`height`,f),e.attr(`preserveAspectRatio`,`none`),e.attr(`transform`,`translate(${-l/2},${v?O/2-f:-O/2})`)}return _.attr(`transform`,`translate(${-g.width/2-(g.x-(g.left??0))},${v?-f/2-g.height/2-x/2:f/2-g.height/2+x/2})`),A.attr(`transform`,`translate(0,${v?g.height/2+x/2:-g.height/2-x/2})`),T(t,j),t.intersect=function(e){if(u.info(`iconSquare intersect`,t,e),!t.label)return G.rect(t,e);let n=t.x??0,r=t.y??0,i=t.height??0,a=[];return a=v?[{x:n-g.width/2,y:r-i/2},{x:n+g.width/2,y:r-i/2},{x:n+g.width/2,y:r-i/2+g.height+x},{x:n+l/2,y:r-i/2+g.height+x},{x:n+l/2,y:r+i/2},{x:n-l/2,y:r+i/2},{x:n-l/2,y:r-i/2+g.height+x},{x:n-g.width/2,y:r-i/2+g.height+x}]:[{x:n-l/2,y:r-i/2},{x:n+l/2,y:r-i/2},{x:n+l/2,y:r-i/2+f},{x:n+g.width/2,y:r-i/2+f},{x:n+g.width/2/2,y:r+i/2},{x:n-g.width/2,y:r+i/2},{x:n-g.width/2,y:r-i/2+f},{x:n-l/2,y:r-i/2+f}],G.polygon(t,a,e)},p}c(Ue,`imageSquare`);async function We(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=Math.max(c.width+(o??0)*2,t?.width??0),u=Math.max(c.height+(a??0)*2,t?.height??0),f=[{x:0,y:0},{x:l,y:0},{x:l+3*u/6,y:-u},{x:-3*u/6,y:-u}],p,{cssStyles:g}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=D(f),i=e.path(r,n);p=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-l/2}, ${u/2})`),g&&p.attr(`style`,g)}else p=K(s,l,u,f);return r&&p.attr(`style`,r),t.width=l,t.height=u,T(t,p),t.intersect=function(e){return G.polygon(t,f,e)},s}c(We,`inv_trapezoid`);async function Ge(e,t){let{shapeSvg:n,bbox:r,label:i}=await C(e,t,`label`),a=n.insert(`rect`,`:first-child`);return a.attr(`width`,.1).attr(`height`,.1),n.attr(`class`,`label edgeLabel`),i.attr(`transform`,`translate(${-(r.width/2)-(r.x-(r.left??0))}, ${-(r.height/2)-(r.y-(r.top??0))})`),T(t,a),t.intersect=function(e){return G.rect(t,e)},n}c(Ge,`labelRect`);async function Ke(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.height??c.height)+a,u=(t?.width??c.width)+o,f=[{x:0,y:0},{x:u+3*l/6,y:0},{x:u,y:-l},{x:-(3*l)/6,y:-l}],p,{cssStyles:g}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=D(f),i=e.path(r,n);p=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),g&&p.attr(`style`,g)}else p=K(s,u,l,f);return r&&p.attr(`style`,r),t.width=u,t.height=l,T(t,p),t.intersect=function(e){return G.polygon(t,f,e)},s}c(Ke,`lean_left`);async function qe(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.height??c.height)+a,u=(t?.width??c.width)+o,f=[{x:-3*l/6,y:0},{x:u,y:0},{x:u+3*l/6,y:-l},{x:0,y:-l}],p,{cssStyles:g}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=D(f),i=e.path(r,n);p=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),g&&p.attr(`style`,g)}else p=K(s,u,l,f);return r&&p.attr(`style`,r),t.width=u,t.height=l,T(t,p),t.intersect=function(e){return G.polygon(t,f,e)},s}c(qe,`lean_right`);function Je(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.label=``,t.labelStyle=n;let i=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:a}=t,o=Math.max(35,t?.width??0),s=Math.max(35,t?.height??0),c=[{x:o,y:0},{x:0,y:s+7/2},{x:o-14,y:s+7/2},{x:0,y:2*s},{x:o,y:s-7/2},{x:14,y:s-7/2}],l=d.svg(i),f=h(t,{});t.look!==`handDrawn`&&(f.roughness=0,f.fillStyle=`solid`);let p=D(c),g=l.path(p,f),_=i.insert(()=>g,`:first-child`);return _.attr(`class`,`outer-path`),a&&t.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,a),r&&t.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,r),_.attr(`transform`,`translate(-${o/2},${-s})`),T(t,_),t.intersect=function(e){return u.info(`lightningBolt intersect`,t,e),G.polygon(t,c,e)},i}c(Je,`lightningBolt`);var Ye=c((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createCylinderPathD`),Xe=c((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createOuterCylinderPathD`),Ze=c((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`),Qe=10,$e=10;async function et(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?24:i;if(t.width||t.height){let e=t.width??0;t.width=(t.width??0)-a,t.width<$e&&(t.width=$e);let n=e/2/(2.5+e/50);t.height=(t.height??0)-o-n*3,t.height<Qe&&(t.height=Qe)}let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t?.width?t?.width:c.width)+a*2,f=u/2,p=f/(2.5+u/50),_=(t?.height?t?.height:c.height)+p+o*2,v=_*.1,y,{cssStyles:b}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=Xe(0,0,u,_,f,p,v),r=Ze(0,p,u,_,f,p),i=h(t,{}),a=e.path(n,i),o=e.path(r,i);s.insert(()=>o,`:first-child`).attr(`class`,`line`),y=s.insert(()=>a,`:first-child`),y.attr(`class`,`basic label-container`),b&&y.attr(`style`,b)}else{let e=Ye(0,0,u,_,f,p,v);y=s.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container outer-path`).attr(`style`,g(b)).attr(`style`,r)}return y.attr(`label-offset-y`,p),y.attr(`transform`,`translate(${-u/2}, ${-(_/2+p)})`),T(t,y),l.attr(`transform`,`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${-(c.height/2)+p-(c.y-(c.top??0))})`),t.intersect=function(e){let n=G.rect(t,e),r=n.x-(t.x??0);if(f!=0&&(Math.abs(r)<(t.width??0)/2||Math.abs(r)==(t.width??0)/2&&Math.abs(n.y-(t.y??0))>(t.height??0)/2-p)){let i=p*p*(1-r*r/(f*f));i>0&&(i=Math.sqrt(i)),i=p-i,e.y-(t.y??0)>0&&(i=-i),n.y+=i}return n},s}c(et,`linedCylinder`);async function tt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.width=(t.width??0)*10/11-a*2,t.width<10&&(t.width=10),t.height=(t?.height??0)-o*2,t.height<10&&(t.height=10));let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t?.width?t?.width:c.width)+(a??0)*2,f=(t?.height?t?.height:c.height)+(o??0)*2,p=t.look===`neo`?f/4:f/8,g=f+p,{cssStyles:_}=t,v=d.svg(s),y=h(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=[{x:-u/2-u/2*.1,y:-g/2},{x:-u/2-u/2*.1,y:g/2},...O(-u/2-u/2*.1,g/2,u/2+u/2*.1,g/2,p,.8),{x:u/2+u/2*.1,y:-g/2},{x:-u/2-u/2*.1,y:-g/2},{x:-u/2,y:-g/2},{x:-u/2,y:g/2*1.1},{x:-u/2,y:-g/2}],x=v.polygon(b.map(e=>[e.x,e.y]),y),S=s.insert(()=>x,`:first-child`);return S.attr(`class`,`basic label-container outer-path`),_&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,_),r&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,r),S.attr(`transform`,`translate(0,${-p/2})`),l.attr(`transform`,`translate(${-u/2+(t.padding??0)+u/2*.1/2-(c.x-(c.left??0))},${-f/2+(t.padding??0)-p/2-(c.y-(c.top??0))})`),T(t,S),t.intersect=function(e){return G.polygon(t,b,e)},s}c(tt,`linedWaveEdgedRect`);async function nt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,s=t.look===`neo`?10:5;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-a*2-2*s,10),t.height=Math.max((t?.height??0)-o*2-2*s,10));let{shapeSvg:c,bbox:l,label:u}=await C(e,t,E(t)),f=(t?.width?t?.width:l.width)+a*2+2*s,p=(t?.height?t?.height:l.height)+o*2+2*s,g=f-2*s,_=p-2*s,v=-g/2,y=-_/2,{cssStyles:b}=t,x=d.svg(c),S=h(t,{}),w=[{x:v-s,y:y+s},{x:v-s,y:y+_+s},{x:v+g-s,y:y+_+s},{x:v+g-s,y:y+_},{x:v+g,y:y+_},{x:v+g,y:y+_-s},{x:v+g+s,y:y+_-s},{x:v+g+s,y:y-s},{x:v+s,y:y-s},{x:v+s,y},{x:v,y},{x:v,y:y+s}],O=[{x:v,y:y+s},{x:v+g-s,y:y+s},{x:v+g-s,y:y+_},{x:v+g,y:y+_},{x:v+g,y},{x:v,y}];t.look!==`handDrawn`&&(S.roughness=0,S.fillStyle=`solid`);let k=D(w),j=x.path(k,S),M=D(O),N=x.path(M,S);t.look!==`handDrawn`&&(j=A(j),N=A(N));let P=c.insert(`g`,`:first-child`);return P.insert(()=>j),P.insert(()=>N),P.attr(`class`,`basic label-container outer-path`),b&&t.look!==`handDrawn`&&P.selectAll(`path`).attr(`style`,b),r&&t.look!==`handDrawn`&&P.selectAll(`path`).attr(`style`,r),u.attr(`transform`,`translate(${-(l.width/2)-s-(l.x-(l.left??0))}, ${-(l.height/2)+s-(l.y-(l.top??0))})`),T(t,P),t.intersect=function(e){return G.polygon(t,w,e)},c}c(nt,`multiRect`);async function rt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=t.padding??0,c=t.look===`neo`?16:s,l=t.look===`neo`?12:s,u=!0;(t.width||t.height)&&(u=!1,t.width=(t?.width??0)-c*2,t.height=(t?.height??0)-l*3);let f=Math.max(a.width,t?.width??0)+c*2,p=Math.max(a.height,t?.height??0)+l*3,g=t.look===`neo`?p/4:p/8,_=p+(u?g/2:-g/2),v=-f/2,y=-_/2,{cssStyles:b}=t,x=O(v-10,y+_+10,v+f-10,y+_+10,g,.8),S=x?.[x.length-1],w=[{x:v-10,y:y+10},{x:v-10,y:y+_+10},...x,{x:v+f-10,y:S.y-10},{x:v+f,y:S.y-10},{x:v+f,y:S.y-20},{x:v+f+10,y:S.y-20},{x:v+f+10,y:y-10},{x:v+10,y:y-10},{x:v+10,y},{x:v,y},{x:v,y:y+10}],k=[{x:v,y:y+10},{x:v+f-10,y:y+10},{x:v+f-10,y:S.y-10},{x:v+f,y:S.y-10},{x:v+f,y},{x:v,y}],A=d.svg(i),j=h(t,{});t.look!==`handDrawn`&&(j.roughness=0,j.fillStyle=`solid`);let M=D(w),N=A.path(M,j),P=D(k),F=A.path(P,j),I=i.insert(()=>N,`:first-child`);return I.insert(()=>F),I.attr(`class`,`basic label-container outer-path`),b&&t.look!==`handDrawn`&&I.selectAll(`path`).attr(`style`,b),r&&t.look!==`handDrawn`&&I.selectAll(`path`).attr(`style`,r),I.attr(`transform`,`translate(0,${-g/2})`),o.attr(`transform`,`translate(${-(a.width/2)-10-(a.x-(a.left??0))}, ${-(a.height/2)+10-g/2-(a.y-(a.top??0))})`),T(t,I),t.intersect=function(e){return G.polygon(t,w,e)},i}c(rt,`multiWaveEdgedRectangle`);async function it(e,t,{config:{themeVariables:r}}){let{labelStyles:i,nodeStyles:a}=m(t);t.labelStyle=i,t.useHtmlLabels||n(o())||(t.centerLabel=!0);let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=Math.max(c.width+(t.padding??0)*2,t?.width??0),f=Math.max(c.height+(t.padding??0)*2,t?.height??0),p=-u/2,g=-f/2,{cssStyles:_}=t,v=d.svg(s),y=h(t,{fill:r.noteBkgColor,stroke:r.noteBorderColor});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=v.rectangle(p,g,u,f,y),x=s.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),l.attr(`class`,`label noteLabel`),_&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,_),a&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,a),l.attr(`transform`,`translate(${-c.width/2-(c.x-(c.left??0))}, ${-(c.height/2)-(c.y-(c.top??0))})`),T(t,x),t.intersect=function(e){return G.rect(t,e)},s}c(it,`note`);var at=c((e,t,n)=>[`M${e+n/2},${t}`,`L${e+n},${t-n/2}`,`L${e+n/2},${t-n}`,`L${e},${t-n/2}`,`Z`].join(` `),`createDecisionBoxPathD`);async function ot(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=a.width+(t.padding??0)+(a.height+(t.padding??0)),s=.5,c=[{x:o/2,y:0},{x:o,y:-o/2},{x:o/2,y:-o},{x:0,y:-o/2}],l,{cssStyles:u}=t;if(t.look===`handDrawn`){let e=d.svg(i),n=h(t,{}),r=at(0,0,o),a=e.path(r,n);l=i.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-o/2+s}, ${o/2})`),u&&l.attr(`style`,u)}else l=K(i,o,o,c),l.attr(`transform`,`translate(${-o/2+s}, ${o/2})`);return r&&l.attr(`style`,r),T(t,l),t.calcIntersect=function(e,t){let n=e.width,r=[{x:n/2,y:0},{x:n,y:-n/2},{x:n/2,y:-n},{x:0,y:-n/2}],i=G.polygon(e,r,t);return{x:i.x-.5,y:i.y-.5}},t.intersect=function(e){return this.calcIntersect(t,e)},i}c(ot,`question`);async function st(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?21:i??0,o=t.look===`neo`?12:i??0,{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t?.width??c.width)+(t.look===`neo`?a*2:a),f=(t?.height??c.height)+(t.look===`neo`?o*2:o),p=-u/2,g=-f/2,_=g/2,v=[{x:p+_,y:g},{x:p,y:0},{x:p+_,y:-g},{x:-p,y:-g},{x:-p,y:g}],{cssStyles:y}=t,b=d.svg(s),x=h(t,{});t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let S=D(v),w=b.path(S,x),O=s.insert(()=>w,`:first-child`);return O.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,r),O.attr(`transform`,`translate(${-_/2},0)`),l.attr(`transform`,`translate(${-_/2-c.width/2-(c.x-(c.left??0))}, ${-(c.height/2)-(c.y-(c.top??0))})`),T(t,O),t.intersect=function(e){return G.polygon(t,v,e)},s}c(st,`rect_left_inv_arrow`);async function ct(e,t){let{labelStyles:r,nodeStyles:a}=m(t);t.labelStyle=r;let o;o=t.cssClasses?`node `+t.cssClasses:`node default`;let s=e.insert(`g`).attr(`class`,o).attr(`id`,t.domId||t.id),c=s.insert(`g`),f=s.insert(`g`).attr(`class`,`label`).attr(`style`,a),p=t.description,g=t.label,_=await M(f,g,t.labelStyle,!0,!0),v={width:0,height:0};if(n(i())){let e=_.children[0],t=l(_);v=e.getBoundingClientRect(),t.attr(`width`,v.width),t.attr(`height`,v.height)}u.info(`Text 2`,p);let y=p||[],b=_.getBBox(),x=await M(f,Array.isArray(y)?y.join(`<br/>`):y,t.labelStyle,!0,!0),S=x.children[0],C=l(x);v=S.getBoundingClientRect(),C.attr(`width`,v.width),C.attr(`height`,v.height);let w=(t.padding||0)/2;l(x).attr(`transform`,`translate( `+(v.width>b.width?0:(b.width-v.width)/2)+`, `+(b.height+w+5)+`)`),l(_).attr(`transform`,`translate( `+(v.width<b.width?0:-(b.width-v.width)/2)+`, 0)`),v=f.node().getBBox(),f.attr(`transform`,`translate(`+-v.width/2+`, `+(-v.height/2-w+3)+`)`);let E=v.width+(t.padding||0),D=v.height+(t.padding||0),O=-v.width/2-w,k=-v.height/2-w,A,j;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=e.path(N(O,k,E,D,t.rx||0),n),i=e.line(-v.width/2-w,-v.height/2-w+b.height+w,v.width/2+w,-v.height/2-w+b.height+w,n);j=s.insert(()=>(u.debug(`Rough node insert CXC`,r),i),`:first-child`),A=s.insert(()=>(u.debug(`Rough node insert CXC`,r),r),`:first-child`)}else A=c.insert(`rect`,`:first-child`),j=c.insert(`line`),A.attr(`class`,`outer title-state`).attr(`style`,a).attr(`x`,-v.width/2-w).attr(`y`,-v.height/2-w).attr(`width`,v.width+(t.padding||0)).attr(`height`,v.height+(t.padding||0)),j.attr(`class`,`divider`).attr(`x1`,-v.width/2-w).attr(`x2`,v.width/2+w).attr(`y1`,-v.height/2-w+b.height+w).attr(`y2`,-v.height/2-w+b.height+w);return T(t,A),t.intersect=function(e){return G.rect(t,e)},s}c(ct,`rectWithTitle`);async function lt(e,t,{config:{themeVariables:n}}){let r=n?.radius??5;return X(e,t,{rx:r,ry:r,classes:``,labelPaddingX:(t?.padding??0)*1,labelPaddingY:(t?.padding??0)*1})}c(lt,`roundedRect`);var Z=8;async function ut(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?12:t.padding??0,{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=(t?.width??s.width)+i*2+(t.look===`neo`?Z:Z*2),u=(t?.height??s.height)+a*2,f=l-Z,p=u,_=Z-l/2,v=-u/2,{cssStyles:y}=t,b=d.svg(o),x=h(t,{});t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let S=[{x:_,y:v},{x:_+f,y:v},{x:_+f,y:v+p},{x:_-Z,y:v+p},{x:_-Z,y:v},{x:_,y:v},{x:_,y:v+p}],w=b.polygon(S.map(e=>[e.x,e.y]),x),D=o.insert(()=>w,`:first-child`);return D.attr(`class`,`basic label-container outer-path`).attr(`style`,g(y)),r&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,r),y&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${Z/2-s.width/2-(s.x-(s.left??0))}, ${-(s.height/2)-(s.y-(s.top??0))})`),T(t,D),t.intersect=function(e){return G.rect(t,e)},o}c(ut,`shadedProcess`);async function dt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-a*2,10),t.height=Math.max((t?.height??0)/1.5-o*2,10));let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t?.width?t?.width:c.width)+a*2,f=((t?.height?t?.height:c.height)+o*2)*1.5,p=u,g=f/1.5,_=-p/2,v=-g/2,{cssStyles:y}=t,b=d.svg(s),x=h(t,{});t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let S=[{x:_,y:v},{x:_,y:v+g},{x:_+p,y:v+g},{x:_+p,y:v-g/2}],w=D(S),O=b.path(w,x),k=s.insert(()=>O,`:first-child`);return k.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&k.selectChildren(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&k.selectChildren(`path`).attr(`style`,r),k.attr(`transform`,`translate(0, ${g/4})`),l.attr(`transform`,`translate(${-p/2+(t.padding??0)-(c.x-(c.left??0))}, ${-g/4+(t.padding??0)-(c.y-(c.top??0))})`),T(t,k),t.intersect=function(e){return G.polygon(t,S,e)},s}c(dt,`slopedRect`);async function ft(e,t){let n=t.padding??0,r=t.look===`neo`?16:n*2,i=t.look===`neo`?12:n;return X(e,t,{rx:0,ry:0,classes:``,labelPaddingX:t.labelPaddingX??r,labelPaddingY:i})}c(ft,`squareRect`);async function pt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?20:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=c.height+(t.look===`neo`?o*2:o),u=c.width+l/4+(t.look===`neo`?a*2:a),f=l/2,{cssStyles:p}=t,g=d.svg(s),_=h(t,{});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=[{x:-u/2+f,y:-l/2},{x:u/2-f,y:-l/2},...k(-u/2+f,0,f,50,90,270),{x:u/2-f,y:l/2},...k(u/2-f,0,f,50,270,450)],y=D(v),b=g.path(y,_),x=s.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),p&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,r),T(t,x),t.intersect=function(e){return G.polygon(t,v,e)},s}c(pt,`stadium`);async function mt(e,t){return X(e,t,{rx:t.look===`neo`?3:5,ry:t.look===`neo`?3:5,classes:`flowchart-node`})}c(mt,`state`);function ht(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let{cssStyles:a}=t,{lineColor:o,stateBorder:s,nodeBorder:c,nodeShadow:l}=n;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||=14,t.height||=14;let u=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId??t.id),f=d.svg(u),p=h(t,{});t.look!==`handDrawn`&&(p.roughness=0,p.fillStyle=`solid`);let g=f.circle(0,0,t.width,{...p,stroke:o,strokeWidth:2}),_=s??c,v=(t.width??0)*5/14,y=f.circle(0,0,v,{...p,fill:_,stroke:_,strokeWidth:2,fillStyle:`solid`}),b=u.insert(()=>g,`:first-child`);if(b.insert(()=>y),t.look!==`handDrawn`&&b.attr(`class`,`outer-path`),a&&b.selectAll(`path`).attr(`style`,a),i&&b.selectAll(`path`).attr(`style`,i),t.width<25&&l&&t.look!==`handDrawn`){let t=e.node()?.ownerSVGElement?.id??``,n=t?`${t}-drop-shadow-small`:`drop-shadow-small`;b.attr(`style`,`filter:url(#${n})`)}return T(t,b),t.intersect=function(e){return G.circle(t,(t.width??0)/2,e)},u}c(ht,`stateEnd`);function gt(e,t,{config:{themeVariables:n}}){let{lineColor:r,nodeShadow:i}=n;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||=14,t.height||=14;let a=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),o;if(t.look===`handDrawn`){let e=d.svg(a).circle(0,0,t.width,f(r));o=a.insert(()=>e),o.attr(`class`,`state-start`).attr(`r`,(t.width??7)/2).attr(`width`,t.width??14).attr(`height`,t.height??14)}else o=a.insert(`circle`,`:first-child`),o.attr(`class`,`state-start`).attr(`r`,(t.width??7)/2).attr(`width`,t.width??14).attr(`height`,t.height??14);if(t.width<25&&i&&t.look!==`handDrawn`){let t=e.node()?.ownerSVGElement?.id??``,n=t?`${t}-drop-shadow-small`:`drop-shadow-small`;o.attr(`style`,`filter:url(#${n})`)}return T(t,o),t.intersect=function(e){return G.circle(t,(t.width??7)/2,e)},a}c(gt,`stateStart`);var _t=8;async function vt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t?.padding??8,a=t.look===`neo`?28:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.width??c.width)+2*_t+a,u=(t?.height??c.height)+o,f=l-2*_t,p=u,_=-l/2,v=-u/2,y=[{x:0,y:0},{x:f,y:0},{x:f,y:-p},{x:0,y:-p},{x:0,y:0},{x:-8,y:0},{x:f+8,y:0},{x:f+8,y:-p},{x:-8,y:-p},{x:-8,y:0}];if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=e.rectangle(_,v,f+16,p,n),i=e.line(_+_t,v,_+_t,v+p,n),a=e.line(_+_t+f,v,_+_t+f,v+p,n);s.insert(()=>i,`:first-child`),s.insert(()=>a,`:first-child`);let o=s.insert(()=>r,`:first-child`),{cssStyles:c}=t;o.attr(`class`,`basic label-container`).attr(`style`,g(c)),T(t,o)}else{let e=K(s,f,p,y);r&&e.attr(`style`,r),T(t,e)}return t.intersect=function(e){return G.polygon(t,y,e)},s}c(vt,`subroutine`);var yt=.2;async function bt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.height=Math.max((t?.height??0)-o*2,10),t.width=Math.max((t?.width??0)-a*2-yt*(t.height+o*2),10));let{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.height?t?.height:c.height)+o*2,u=yt*l,f=yt*l,p=(t?.width?t?.width:c.width)+a*2+u-u,g=l,_=-p/2,v=-g/2,{cssStyles:y}=t,b=d.svg(s),x=h(t,{}),S=[{x:_-u/2,y:v},{x:_+p+u/2,y:v},{x:_+p+u/2,y:v+g},{x:_-u/2,y:v+g}],w=[{x:_+p-u/2,y:v+g},{x:_+p+u/2,y:v+g},{x:_+p+u/2,y:v+g-f}];t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let O=D(S),k=b.path(O,x),A=D(w),j=b.path(A,{...x,fillStyle:`solid`}),M=s.insert(()=>j,`:first-child`);return M.insert(()=>k,`:first-child`),M.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,r),T(t,M),t.intersect=function(e){return G.polygon(t,S,e)},s}c(bt,`taggedRect`);async function xt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=Math.max(a.width+(t.padding??0)*2,t?.width??0),c=Math.max(a.height+(t.padding??0)*2,t?.height??0),l=c/8,u=.2*s,f=.2*c,p=c+l,{cssStyles:g}=t,_=d.svg(i),v=h(t,{});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=[{x:-s/2-s/2*.1,y:p/2},...O(-s/2-s/2*.1,p/2,s/2+s/2*.1,p/2,l,.8),{x:s/2+s/2*.1,y:-p/2},{x:-s/2-s/2*.1,y:-p/2}],b=-s/2+s/2*.1,x=-p/2-f*.4,S=[{x:b+s-u,y:(x+c)*1.3},{x:b+s,y:x+c-f},{x:b+s,y:(x+c)*.9},...O(b+s,(x+c)*1.25,b+s-u,(x+c)*1.3,-c*.02,.5)],w=D(y),k=_.path(w,v),A=D(S),j=_.path(A,{...v,fillStyle:`solid`}),M=i.insert(()=>j,`:first-child`);return M.insert(()=>k,`:first-child`),M.attr(`class`,`basic label-container outer-path`),g&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,g),r&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,r),M.attr(`transform`,`translate(0,${-l/2})`),o.attr(`transform`,`translate(${-s/2+(t.padding??0)-(a.x-(a.left??0))},${-c/2+(t.padding??0)-l/2-(a.y-(a.top??0))})`),T(t,M),t.intersect=function(e){return G.polygon(t,y,e)},i}c(xt,`taggedWaveEdgedRectangle`);async function St(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=Math.max(a.width+(t.padding??0),t?.width||0),s=Math.max(a.height+(t.padding??0),t?.height||0),c=-o/2,l=-s/2,u=i.insert(`rect`,`:first-child`);return u.attr(`class`,`text`).attr(`style`,r).attr(`rx`,0).attr(`ry`,0).attr(`x`,c).attr(`y`,l).attr(`width`,o).attr(`height`,s),T(t,u),t.intersect=function(e){return G.rect(t,e)},i}c(St,`text`);var Ct=c((e,t,n,r,i,a)=>`M${e},${t}
|
|
1
|
+
import{t as e}from"./chunk-AQ6EADP3-CZhslHi-.js";import{V as t,q as n}from"./chunk-7W6UQGC5-pyKGssV3.js";import{A as r,C as i,D as a,E as o,Z as s,f as c,l,o as u}from"./chunk-67TQ5CYL-CA7OhIEf.js";import{t as d}from"./chunk-5IMINLNL-DOdTeQri.js";import{a as f,i as p,r as m,t as h}from"./chunk-T2UQINTJ-BEyXhZWe.js";import{i as g,m as _,r as v}from"./chunk-QA3QBVWF-DVXPOIxe.js";import{n as y,t as b}from"./chunk-UY5QBCOK-ByqTVLvh.js";import{n as x,o as S}from"./chunk-INKRHTLW-Ckl3_KkO.js";var C=e(async(e,n,r)=>{let a,o=n.useHtmlLabels||u(s()?.htmlLabels);a=r||`node default`;let c=e.insert(`g`).attr(`class`,a).attr(`id`,n.domId||n.id),l=c.insert(`g`).attr(`class`,`label`).attr(`style`,g(n.labelStyle)),d;d=n.label===void 0?``:typeof n.label==`string`?n.label:n.label[0];let f=!!n.icon||!!n.img,p=n.labelType===`markdown`,m=await x(l,i(v(d),s()),{useHtmlLabels:o,width:n.width||s().flowchart?.wrappingWidth,classes:p?`markdown-node-label`:``,style:n.labelStyle,addSvgBackground:f,markdown:p},s()),h=m.getBBox(),_=(n?.padding??0)/2;if(o){let e=m.children[0],n=t(m);await b(e,d),h=e.getBoundingClientRect(),n.attr(`width`,h.width),n.attr(`height`,h.height)}return o?l.attr(`transform`,`translate(`+-h.width/2+`, `+-h.height/2+`)`):l.attr(`transform`,`translate(0, `+-h.height/2+`)`),n.centerLabel&&l.attr(`transform`,`translate(`+-h.width/2+`, `+-h.height/2+`)`),l.insert(`rect`,`:first-child`),{shapeSvg:c,bbox:h,halfPadding:_,label:l}},`labelHelper`),w=e(async(e,n,r)=>{let o=r.useHtmlLabels??a(s()),c=e.insert(`g`).attr(`class`,`label`).attr(`style`,r.labelStyle||``),l=await x(c,i(v(n),s()),{useHtmlLabels:o,width:r.width||s()?.flowchart?.wrappingWidth,style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img}),u=l.getBBox(),d=r.padding/2;if(a(s())){let e=l.children[0],n=t(l);u=e.getBoundingClientRect(),n.attr(`width`,u.width),n.attr(`height`,u.height)}return o?c.attr(`transform`,`translate(`+-u.width/2+`, `+-u.height/2+`)`):c.attr(`transform`,`translate(0, `+-u.height/2+`)`),r.centerLabel&&c.attr(`transform`,`translate(`+-u.width/2+`, `+-u.height/2+`)`),c.insert(`rect`,`:first-child`),{shapeSvg:e,bbox:u,halfPadding:d,label:c}},`insertLabel`),T=e((e,t)=>{let n=t.node().getBBox();e.width=n.width,e.height=n.height},`updateNodeBounds`),E=e((e,t)=>(e.look===`handDrawn`?`rough-node`:`node`)+` `+e.cssClasses+` `+(t||``),`getNodeClasses`);function D(e){let t=e.map((e,t)=>`${t===0?`M`:`L`}${e.x},${e.y}`);return t.push(`Z`),t.join(` `)}e(D,`createPathFromPoints`);function O(e,t,n,r,i,a){let o=[],s=n-e,c=r-t,l=s/a,u=2*Math.PI/l,d=t+c/2;for(let t=0;t<=50;t++){let n=e+t/50*s,r=d+i*Math.sin(u*(n-e));o.push({x:n,y:r})}return o}e(O,`generateFullSineWavePoints`);function k(e,t,n,r,i,a){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}e(k,`generateCirclePoints`);function A(t){let n=Array.from(t.childNodes).filter(e=>e.tagName===`path`),r=document.createElementNS(`http://www.w3.org/2000/svg`,`path`),i=n.map(e=>e.getAttribute(`d`)).filter(e=>e!==null).join(` `);r.setAttribute(`d`,i);let a=n.find(e=>e.getAttribute(`fill`)!==`none`),o=n.find(e=>e.getAttribute(`stroke`)!==`none`),s=e((e,t)=>e?.getAttribute(t)??void 0,`getAttr`);if(a){let e={fill:s(a,`fill`),"fill-opacity":s(a,`fill-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&r.setAttribute(e,t)})}if(o){let e={stroke:s(o,`stroke`),"stroke-width":s(o,`stroke-width`)??`1`,"stroke-opacity":s(o,`stroke-opacity`)??`1`};Object.entries(e).forEach(([e,t])=>{t&&r.setAttribute(e,t)})}let c=document.createElementNS(`http://www.w3.org/2000/svg`,`g`);return c.appendChild(r),c}e(A,`mergePaths`);var j=e((e,t)=>{var n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2,c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=a===0?0:s*i/a,l=s):(i<0&&(o=-o),c=o,l=i===0?0:o*a/i),{x:n+c,y:r+l}},`intersectRect`),M=e(async(e,t,n,r=!1,i=!1)=>{let o=t||``;typeof o==`object`&&(o=o[0]);let c=s(),l=a(c);return await x(e,o,{style:n,isTitle:r,useHtmlLabels:l,markdown:!1,isNode:i,width:1/0},c)},`createLabel`),N=e((e,t,n,r,i)=>[`M`,e+i,t,`H`,e+n-i,`A`,i,i,0,0,1,e+n,t+i,`V`,t+r-i,`A`,i,i,0,0,1,e+n-i,t+r,`H`,e+i,`A`,i,i,0,0,1,e,t+r-i,`V`,t+i,`A`,i,i,0,0,1,e+i,t,`Z`].join(` `),`createRoundedRectPathD`),P=e(async(e,r)=>{n.info(`Creating subgraph rect for `,r.id,r);let i=s(),{themeVariables:o,handDrawnSeed:c}=i,{clusterBkg:l,clusterBorder:u}=o,{labelStyles:f,nodeStyles:p,borderStyles:g,backgroundStyles:_}=m(r),v=e.insert(`g`).attr(`class`,`cluster `+r.cssClasses).attr(`id`,r.domId).attr(`data-look`,r.look),b=a(i),S=v.insert(`g`).attr(`class`,`cluster-label `),C;C=r.labelType===`markdown`?await x(S,r.label,{style:r.labelStyle,useHtmlLabels:b,isNode:!0,width:r.width}):await M(S,r.label,r.labelStyle||``,!1,!0);let w=C.getBBox();if(a(i)){let e=C.children[0],n=t(C);w=e.getBoundingClientRect(),n.attr(`width`,w.width),n.attr(`height`,w.height)}let T=r.width<=w.width+r.padding?w.width+r.padding:r.width;r.width<=w.width+r.padding?r.diff=(T-r.width)/2-r.padding:r.diff=-r.padding;let E=r.height,D=r.x-T/2,O=r.y-E/2;n.trace(`Data `,r,JSON.stringify(r));let k;if(r.look===`handDrawn`){let e=d.svg(v),t=h(r,{roughness:.7,fill:l,stroke:u,fillWeight:3,seed:c}),i=e.path(N(D,O,T,E,0),t);k=v.insert(()=>(n.debug(`Rough node insert CXC`,i),i),`:first-child`),k.select(`path:nth-child(2)`).attr(`style`,g.join(`;`)),k.select(`path`).attr(`style`,_.join(`;`).replace(`fill`,`stroke`))}else k=v.insert(`rect`,`:first-child`),k.attr(`style`,p).attr(`rx`,r.rx).attr(`ry`,r.ry).attr(`x`,D).attr(`y`,O).attr(`width`,T).attr(`height`,E);let{subGraphTitleTopMargin:A}=y(i);if(S.attr(`transform`,`translate(${r.x-w.width/2}, ${r.y-r.height/2+A})`),f){let e=S.select(`span`);e&&e.attr(`style`,f)}let P=k.node().getBBox();return r.offsetX=0,r.width=P.width,r.height=P.height,r.offsetY=w.height-r.padding/2,r.intersect=function(e){return j(r,e)},{cluster:v,labelBBox:w}},`rect`),F=e((e,t)=>{let n=e.insert(`g`).attr(`class`,`note-cluster`).attr(`id`,t.domId),r=n.insert(`rect`,`:first-child`),i=0*t.padding,a=i/2;r.attr(`rx`,t.rx).attr(`ry`,t.ry).attr(`x`,t.x-t.width/2-a).attr(`y`,t.y-t.height/2-a).attr(`width`,t.width+i).attr(`height`,t.height+i).attr(`fill`,`none`);let o=r.node().getBBox();return t.width=o.width,t.height=o.height,t.intersect=function(e){return j(t,e)},{cluster:n,labelBBox:{width:0,height:0}}},`noteGroup`),I=e(async(e,n)=>{let r=s(),{themeVariables:i,handDrawnSeed:o}=r,{altBackground:c,compositeBackground:l,compositeTitleBackground:u,nodeBorder:f}=i,p=e.insert(`g`).attr(`class`,n.cssClasses).attr(`id`,n.domId).attr(`data-id`,n.id).attr(`data-look`,n.look),m=p.insert(`g`,`:first-child`),h=p.insert(`g`).attr(`class`,`cluster-label`),g=p.append(`rect`),_=await M(h,n.label,n.labelStyle,void 0,!0),v=_.getBBox();if(a(r)){let e=_.children[0],n=t(_);v=e.getBoundingClientRect(),n.attr(`width`,v.width),n.attr(`height`,v.height)}let y=0*n.padding,b=y/2,x=(n.width<=v.width+n.padding?v.width+n.padding:n.width)+y;n.width<=v.width+n.padding?n.diff=(x-n.width)/2-n.padding:n.diff=-n.padding;let S=n.height+y,C=n.height+y-v.height-6,w=n.x-x/2,T=n.y-S/2;n.width=x;let E=n.y-n.height/2-b+v.height+2,D;if(n.look===`handDrawn`){let e=n.cssClasses.includes(`statediagram-cluster-alt`),t=d.svg(p),r=n.rx||n.ry?t.path(N(w,T,x,S,10),{roughness:.7,fill:u,fillStyle:`solid`,stroke:f,seed:o}):t.rectangle(w,T,x,S,{seed:o});D=p.insert(()=>r,`:first-child`);let i=t.rectangle(w,E,x,C,{fill:e?c:l,fillStyle:e?`hachure`:`solid`,stroke:f,seed:o});D=p.insert(()=>r,`:first-child`),g=p.insert(()=>i)}else D=m.insert(`rect`,`:first-child`),D.attr(`class`,`outer`).attr(`x`,w).attr(`y`,T).attr(`width`,x).attr(`height`,S).attr(`data-look`,n.look),g.attr(`class`,`inner`).attr(`x`,w).attr(`y`,E).attr(`width`,x).attr(`height`,C);return h.attr(`transform`,`translate(${n.x-v.width/2}, ${T+1-(a(r)?0:3)})`),n.height=D.node().getBBox().height,n.offsetX=0,n.offsetY=v.height-n.padding/2,n.labelBBox=v,n.intersect=function(e){return j(n,e)},{cluster:p,labelBBox:v}},`roundedWithTitle`),ee=e(async(e,r)=>{n.info(`Creating subgraph rect for `,r.id,r);let i=s(),{themeVariables:o,handDrawnSeed:c}=i,{clusterBkg:l,clusterBorder:u}=o,{labelStyles:f,nodeStyles:p,borderStyles:g,backgroundStyles:_}=m(r),v=e.insert(`g`).attr(`class`,`cluster `+r.cssClasses).attr(`id`,r.domId).attr(`data-look`,r.look),b=a(i),S=v.insert(`g`).attr(`class`,`cluster-label `),C=await x(S,r.label,{style:r.labelStyle,useHtmlLabels:b,isNode:!0,width:r.width}),w=C.getBBox();if(a(i)){let e=C.children[0],n=t(C);w=e.getBoundingClientRect(),n.attr(`width`,w.width),n.attr(`height`,w.height)}let T=r.width<=w.width+r.padding?w.width+r.padding:r.width;r.width<=w.width+r.padding?r.diff=(T-r.width)/2-r.padding:r.diff=-r.padding;let E=r.height,D=r.x-T/2,O=r.y-E/2;n.trace(`Data `,r,JSON.stringify(r));let k;if(r.look===`handDrawn`){let e=d.svg(v),t=h(r,{roughness:.7,fill:l,stroke:u,fillWeight:4,seed:c}),i=e.path(N(D,O,T,E,r.rx),t);k=v.insert(()=>(n.debug(`Rough node insert CXC`,i),i),`:first-child`),k.select(`path:nth-child(2)`).attr(`style`,g.join(`;`)),k.select(`path`).attr(`style`,_.join(`;`).replace(`fill`,`stroke`))}else k=v.insert(`rect`,`:first-child`),k.attr(`style`,p).attr(`rx`,r.rx).attr(`ry`,r.ry).attr(`x`,D).attr(`y`,O).attr(`width`,T).attr(`height`,E);let{subGraphTitleTopMargin:A}=y(i);if(S.attr(`transform`,`translate(${r.x-w.width/2}, ${r.y-r.height/2+A})`),f){let e=S.select(`span`);e&&e.attr(`style`,f)}let M=k.node().getBBox();return r.offsetX=0,r.width=M.width,r.height=M.height,r.offsetY=w.height-r.padding/2,r.intersect=function(e){return j(r,e)},{cluster:v,labelBBox:w}},`kanbanSection`),te={rect:P,squareRect:P,roundedWithTitle:I,noteGroup:F,divider:e((e,t)=>{let{themeVariables:n,handDrawnSeed:r}=s(),{nodeBorder:i}=n,a=e.insert(`g`).attr(`class`,t.cssClasses).attr(`id`,t.domId).attr(`data-look`,t.look),o=a.insert(`g`,`:first-child`),c=0*t.padding,l=t.width+c;t.diff=-t.padding;let u=t.height+c,f=t.x-l/2,p=t.y-u/2;t.width=l;let m;if(t.look===`handDrawn`){let e=d.svg(a).rectangle(f,p,l,u,{fill:`lightgrey`,roughness:.5,strokeLineDash:[5],stroke:i,seed:r});m=a.insert(()=>e,`:first-child`)}else{m=o.insert(`rect`,`:first-child`);let e=`outer`;t.look,e=`divider`,m.attr(`class`,e).attr(`x`,f).attr(`y`,p).attr(`width`,l).attr(`height`,u).attr(`data-look`,t.look)}return t.height=m.node().getBBox().height,t.offsetX=0,t.offsetY=0,t.intersect=function(e){return j(t,e)},{cluster:a,labelBBox:{}}},`divider`),kanbanSection:ee},L=new Map,R=e(async(e,t)=>{let n=await te[t.shape||`rect`](e,t);return L.set(t.id,n),n},`insertCluster`),ne=e(()=>{L=new Map},`clear`);function z(e,t){return e.intersect(t)}e(z,`intersectNode`);var re=z;function B(e,t,n,r){var i=e.x,a=e.y,o=i-r.x,s=a-r.y,c=Math.sqrt(t*t*s*s+n*n*o*o),l=Math.abs(t*n*o/c);r.x<i&&(l=-l);var u=Math.abs(t*n*s/c);return r.y<a&&(u=-u),{x:i+l,y:a+u}}e(B,`intersectEllipse`);var V=B;function ie(e,t,n){return V(e,t,t,n)}e(ie,`intersectCircle`);var ae=ie;function H(e,t,n,r){{let i=t.y-e.y,a=e.x-t.x,o=t.x*e.y-e.x*t.y,s=i*n.x+a*n.y+o,c=i*r.x+a*r.y+o,l=1e-6;if(s!==0&&c!==0&&U(s,c))return;let u=r.y-n.y,d=n.x-r.x,f=r.x*n.y-n.x*r.y,p=u*e.x+d*e.y+f,m=u*t.x+d*t.y+f;if(Math.abs(p)<l&&Math.abs(m)<l&&U(p,m))return;let h=i*d-u*a;if(h===0)return;let g=Math.abs(h/2),_=a*f-d*o,v=_<0?(_-g)/h:(_+g)/h;return _=u*o-i*f,{x:v,y:_<0?(_-g)/h:(_+g)/h}}}e(H,`intersectLine`);function U(e,t){return e*t>0}e(U,`sameSign`);var W=H;function oe(e,t,n){let r=e.x,i=e.y,a=[],o=1/0,s=1/0;typeof t.forEach==`function`?t.forEach(function(e){o=Math.min(o,e.x),s=Math.min(s,e.y)}):(o=Math.min(o,t.x),s=Math.min(s,t.y));let c=r-e.width/2-o,l=i-e.height/2-s;for(let r=0;r<t.length;r++){let i=t[r],o=t[r<t.length-1?r+1:0],s=W(e,n,{x:c+i.x,y:l+i.y},{x:c+o.x,y:l+o.y});s&&a.push(s)}return a.length?(a.length>1&&a.sort(function(e,t){let r=e.x-n.x,i=e.y-n.y,a=Math.sqrt(r*r+i*i),o=t.x-n.x,s=t.y-n.y,c=Math.sqrt(o*o+s*s);return a<c?-1:a===c?0:1}),a[0]):e}e(oe,`intersectPolygon`);var G={node:re,circle:ae,ellipse:V,polygon:oe,rect:j};function se(e,t){let{labelStyles:r}=m(t);t.labelStyle=r;let i=E(t),a=i;i||(a=`anchor`);let o=e.insert(`g`).attr(`class`,a).attr(`id`,t.domId||t.id),{cssStyles:s}=t,c=d.svg(o),l=h(t,{fill:`black`,stroke:`none`,fillStyle:`solid`});t.look!==`handDrawn`&&(l.roughness=0);let u=c.circle(0,0,2,l),f=o.insert(()=>u,`:first-child`);return f.attr(`class`,`anchor`).attr(`style`,g(s)),T(t,f),t.intersect=function(e){return n.info(`Circle intersect`,t,1,e),G.circle(t,1,e)},o}e(se,`anchor`);function ce(e,t,n,r,i,a,o){let s=(e+n)/2,c=(t+r)/2,l=Math.atan2(r-t,n-e),u=(n-e)/2,d=(r-t)/2,f=u/i,p=d/a,m=Math.sqrt(f**2+p**2);if(m>1)throw Error(`The given radii are too small to create an arc between the points.`);let h=Math.sqrt(1-m**2),g=s+h*a*Math.sin(l)*(o?-1:1),_=c-h*i*Math.cos(l)*(o?-1:1),v=Math.atan2((t-_)/a,(e-g)/i),y=Math.atan2((r-_)/a,(n-g)/i)-v;o&&y<0&&(y+=2*Math.PI),!o&&y>0&&(y-=2*Math.PI);let b=[];for(let e=0;e<20;e++){let t=v+e/19*y,n=g+i*Math.cos(t),r=_+a*Math.sin(t);b.push({x:n,y:r})}return b}e(ce,`generateArcPoints`);function le(e,t,n){let[r,i]=[t,n].sort((e,t)=>t-e);return i*(1-Math.sqrt(1-(e/r/2)**2))}e(le,`calculateArcSagitta`);async function ue(t,n){let{labelStyles:r,nodeStyles:i}=m(n);n.labelStyle=r;let a=n.padding??0,o=n.look===`neo`?16:a,s=n.look===`neo`?12:a,c=e(e=>e+s,`calcTotalHeight`),l=e(e=>{let t=e/2;return[t/(2.5+e/50),t]},`calcEllipseRadius`),{shapeSvg:u,bbox:f}=await C(t,n,E(n)),p=c(n?.height?n?.height:f.height),[g,_]=l(p),v=le(p,g,_),y=(n?.width?n?.width:f.width)+o*2+v-v,b=p,{cssStyles:x}=n,S=[{x:y/2,y:-b/2},{x:-y/2,y:-b/2},...ce(-y/2,-b/2,-y/2,b/2,g,_,!1),{x:y/2,y:b/2},...ce(y/2,b/2,y/2,-b/2,g,_,!0)],w=d.svg(u),O=h(n,{});n.look!==`handDrawn`&&(O.roughness=0,O.fillStyle=`solid`);let k=D(S),A=w.path(k,O),j=u.insert(()=>A,`:first-child`);return j.attr(`class`,`basic label-container outer-path`),x&&n.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,x),i&&n.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,i),j.attr(`transform`,`translate(${g/2}, 0)`),T(n,j),n.intersect=function(e){return G.polygon(n,S,e)},u}e(ue,`bowTieRect`);function K(e,t,n,r){return e.insert(`polygon`,`:first-child`).attr(`points`,r.map(function(e){return e.x+`,`+e.y}).join(` `)).attr(`class`,`label-container`).attr(`transform`,`translate(`+-t/2+`,`+n/2+`)`)}e(K,`insertPolygonShape`);var de=12;async function fe(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?28:i,o=t.look===`neo`?24:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.width??c.width)+(t.look===`neo`?a*2:a+de),u=(t?.height??c.height)+(t.look===`neo`?o*2:o),f=l,p=-u,g=[{x:0+de,y:p},{x:f,y:p},{x:f,y:0},{x:0,y:0},{x:0,y:p+de},{x:0+de,y:p}],_,{cssStyles:v}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=D(g),i=e.path(r,n);_=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-l/2}, ${u/2})`),v&&_.attr(`style`,v)}else _=K(s,l,u,g);return r&&_.attr(`style`,r),T(t,_),t.intersect=function(e){return G.polygon(t,g,e)},s}e(fe,`card`);function pe(e,t){let{nodeStyles:n}=m(t);t.label=``;let r=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:i}=t,a=Math.max(28,t.width??0),o=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],s=d.svg(r),c=h(t,{});t.look!==`handDrawn`&&(c.roughness=0,c.fillStyle=`solid`);let l=D(o),u=s.path(l,c),f=r.insert(()=>u,`:first-child`);return i&&t.look!==`handDrawn`&&f.selectAll(`path`).attr(`style`,i),n&&t.look!==`handDrawn`&&f.selectAll(`path`).attr(`style`,n),t.width=28,t.height=28,t.intersect=function(e){return G.polygon(t,o,e)},r}e(pe,`choice`);async function me(e,t,r){let{labelStyles:i,nodeStyles:a}=m(t);t.labelStyle=i;let{shapeSvg:o,bbox:s,halfPadding:c}=await C(e,t,E(t)),l=r?.padding??c,u=t.look===`neo`?s.width/2+32:s.width/2+l,f,{cssStyles:p}=t;if(t.look===`handDrawn`){let e=d.svg(o),n=h(t,{}),r=e.circle(0,0,u*2,n);f=o.insert(()=>r,`:first-child`),f.attr(`class`,`basic label-container`).attr(`style`,g(p))}else f=o.insert(`circle`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,a).attr(`r`,u).attr(`cx`,0).attr(`cy`,0);return T(t,f),t.calcIntersect=function(e,t){let n=e.width/2;return G.circle(e,n,t)},t.intersect=function(e){return n.info(`Circle intersect`,t,u,e),G.circle(t,u,e)},o}e(me,`circle`);function he(e){let t=Math.cos(Math.PI/4),n=Math.sin(Math.PI/4),r=e*2,i={x:r/2*t,y:r/2*n},a={x:-(r/2)*t,y:r/2*n},o={x:-(r/2)*t,y:-(r/2)*n},s={x:r/2*t,y:-(r/2)*n};return`M ${a.x},${a.y} L ${s.x},${s.y}
|
|
2
|
+
M ${i.x},${i.y} L ${o.x},${o.y}`}e(he,`createLine`);function ge(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r,t.label=``;let a=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),o=Math.max(30,t?.width??0),{cssStyles:s}=t,c=d.svg(a),l=h(t,{});t.look!==`handDrawn`&&(l.roughness=0,l.fillStyle=`solid`);let u=c.circle(0,0,o*2,l),f=he(o),p=c.path(f,l),g=a.insert(()=>u,`:first-child`);return g.insert(()=>p),g.attr(`class`,`outer-path`),s&&t.look!==`handDrawn`&&g.selectAll(`path`).attr(`style`,s),i&&t.look!==`handDrawn`&&g.selectAll(`path`).attr(`style`,i),T(t,g),t.intersect=function(e){return n.info(`crossedCircle intersect`,t,{radius:o,point:e}),G.circle(t,o,e)},a}e(ge,`crossedCircle`);function q(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}e(q,`generateCirclePoints`);async function _e(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+s,u=a.height+c,f=Math.max(5,u*.1),{cssStyles:p}=t,g=[...q(l/2,-u/2,f,30,-90,0),{x:-l/2-f,y:f},...q(l/2+f*2,-f,f,20,-180,-270),...q(l/2+f*2,f,f,20,-90,-180),{x:-l/2-f,y:-u/2},...q(l/2,u/2,f,20,0,90)],_=[{x:l/2,y:-u/2-f},{x:-l/2,y:-u/2-f},...q(l/2,-u/2,f,20,-90,0),{x:-l/2-f,y:-f},...q(l/2+l*.1,-f,f,20,-180,-270),...q(l/2+l*.1,f,f,20,-90,-180),{x:-l/2-f,y:u/2},...q(l/2,u/2,f,20,0,90),{x:-l/2,y:u/2+f},{x:l/2,y:u/2+f}],v=d.svg(i),y=h(t,{fill:`none`});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=D(g).replace(`Z`,``),x=v.path(b,y),S=D(_),w=v.path(S,{...y}),O=i.insert(`g`,`:first-child`);return O.insert(()=>w,`:first-child`).attr(`stroke-opacity`,0),O.insert(()=>x,`:first-child`),O.attr(`class`,`text`),p&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,r),O.attr(`transform`,`translate(${f}, 0)`),o.attr(`transform`,`translate(${-l/2+f-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),T(t,O),t.intersect=function(e){return G.polygon(t,_,e)},i}e(_e,`curlyBraceLeft`);function J(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:a,y:l})}return o}e(J,`generateCirclePoints`);async function ve(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+(t.look===`neo`?s*2:s),u=a.height+(t.look===`neo`?c*2:c),f=Math.max(5,u*.1),{cssStyles:p}=t,g=[...J(l/2,-u/2,f,20,-90,0),{x:l/2+f,y:-f},...J(l/2+f*2,-f,f,20,-180,-270),...J(l/2+f*2,f,f,20,-90,-180),{x:l/2+f,y:u/2},...J(l/2,u/2,f,20,0,90)],_=[{x:-l/2,y:-u/2-f},{x:l/2,y:-u/2-f},...J(l/2,-u/2,f,20,-90,0),{x:l/2+f,y:-f},...J(l/2+f*2,-f,f,20,-180,-270),...J(l/2+f*2,f,f,20,-90,-180),{x:l/2+f,y:u/2},...J(l/2,u/2,f,20,0,90),{x:l/2,y:u/2+f},{x:-l/2,y:u/2+f}],v=d.svg(i),y=h(t,{fill:`none`});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=D(g).replace(`Z`,``),x=v.path(b,y),S=D(_),w=v.path(S,{...y}),O=i.insert(`g`,`:first-child`);return O.insert(()=>w,`:first-child`).attr(`stroke-opacity`,0),O.insert(()=>x,`:first-child`),O.attr(`class`,`text`),p&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,r),O.attr(`transform`,`translate(${-f}, 0)`),o.attr(`transform`,`translate(${-l/2+(t.padding??0)/2-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),T(t,O),t.intersect=function(e){return G.polygon(t,_,e)},i}e(ve,`curlyBraceRight`);function Y(e,t,n,r=100,i=0,a=180){let o=[],s=i*Math.PI/180,c=(a*Math.PI/180-s)/(r-1);for(let i=0;i<r;i++){let r=s+i*c,a=e+n*Math.cos(r),l=t+n*Math.sin(r);o.push({x:-a,y:-l})}return o}e(Y,`generateCirclePoints`);async function ye(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=t.look===`neo`?18:t.padding??0,c=t.look===`neo`?12:t.padding??0,l=a.width+(t.look===`neo`?s*2:s),u=a.height+(t.look===`neo`?c*2:c),f=Math.max(5,u*.1),{cssStyles:p}=t,g=[...Y(l/2,-u/2,f,30,-90,0),{x:-l/2-f,y:f},...Y(l/2+f*2,-f,f,20,-180,-270),...Y(l/2+f*2,f,f,20,-90,-180),{x:-l/2-f,y:-u/2},...Y(l/2,u/2,f,20,0,90)],_=[...Y(-l/2+f+f/2,-u/2,f,20,-90,-180),{x:l/2-f/2,y:f},...Y(-l/2-f/2,-f,f,20,0,90),...Y(-l/2-f/2,f,f,20,-90,0),{x:l/2-f/2,y:-f},...Y(-l/2+f+f/2,u/2,f,30,-180,-270)],v=[{x:l/2,y:-u/2-f},{x:-l/2,y:-u/2-f},...Y(l/2,-u/2,f,20,-90,0),{x:-l/2-f,y:-f},...Y(l/2+f*2,-f,f,20,-180,-270),...Y(l/2+f*2,f,f,20,-90,-180),{x:-l/2-f,y:u/2},...Y(l/2,u/2,f,20,0,90),{x:-l/2,y:u/2+f},{x:l/2-f-f/2,y:u/2+f},...Y(-l/2+f+f/2,-u/2,f,20,-90,-180),{x:l/2-f/2,y:f},...Y(-l/2-f/2,-f,f,20,0,90),...Y(-l/2-f/2,f,f,20,-90,0),{x:l/2-f/2,y:-f},...Y(-l/2+f+f/2,u/2,f,30,-180,-270)],y=d.svg(i),b=h(t,{fill:`none`});t.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let x=D(g).replace(`Z`,``),S=y.path(x,b),w=D(_).replace(`Z`,``),O=y.path(w,b),k=D(v),A=y.path(k,{...b}),j=i.insert(`g`,`:first-child`);return j.insert(()=>A,`:first-child`).attr(`stroke-opacity`,0),j.insert(()=>S,`:first-child`),j.insert(()=>O,`:first-child`),j.attr(`class`,`text`),p&&t.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,r),j.attr(`transform`,`translate(${f-f/4}, 0)`),o.attr(`transform`,`translate(${-l/2+(t.padding??0)/2-(a.x-(a.left??0))},${-u/2+(t.padding??0)/2-(a.y-(a.top??0))})`),T(t,j),t.intersect=function(e){return G.polygon(t,v,e)},i}e(ye,`curlyBraces`);async function be(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=Math.max(20,(c.width+a*2)*1.25,t?.width??0),u=Math.max(5,c.height+o*2,t?.height??0),f=u/2,{cssStyles:p}=t,g=d.svg(s),_=h(t,{});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=l,y=u,b=v-f,x=y/4,S=[{x:b,y:0},{x,y:0},{x:0,y:y/2},{x,y},{x:b,y},...k(-b,-y/2,f,50,270,90)],w=D(S),O=g.path(w,_),A=s.insert(()=>O,`:first-child`);return A.attr(`class`,`basic label-container outer-path`),p&&t.look!==`handDrawn`&&A.selectChildren(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&A.selectChildren(`path`).attr(`style`,r),A.attr(`transform`,`translate(${-l/2}, ${-u/2})`),T(t,A),t.intersect=function(e){return G.polygon(t,S,e)},s}e(be,`curvedTrapezoid`);var xe=e((e,t,n,r,i,a)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createCylinderPathD`),Se=e((e,t,n,r,i,a)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`].join(` `),`createOuterCylinderPathD`),Ce=e((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`),we=8,Te=8;async function Ee(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?24:i,o=t.look===`neo`?24:i;if(t.width||t.height){let e=t.width??0;t.width=(t.width??0)-o,t.width<Te&&(t.width=Te);let n=e/2/(2.5+e/50);t.height=(t.height??0)-a-n*3,t.height<we&&(t.height=we)}let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t.width?t.width:c.width)+o,f=u/2,p=f/(2.5+u/50),_=(t.height?t.height:c.height)+a+p,v,{cssStyles:y}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=Se(0,0,u,_,f,p),r=Ce(0,p,u,_,f,p),i=h(t,{}),a=e.path(n,i),o=e.path(r,h(t,{fill:`none`}));v=s.insert(()=>o,`:first-child`),v=s.insert(()=>a,`:first-child`),v.attr(`class`,`basic label-container`),y&&v.attr(`style`,y)}else{let e=xe(0,0,u,_,f,p);v=s.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container outer-path`).attr(`style`,g(y)).attr(`style`,r)}return v.attr(`label-offset-y`,p),v.attr(`transform`,`translate(${-u/2}, ${-(_/2+p)})`),T(t,v),l.attr(`transform`,`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${-(c.height/2)+(t.padding??0)/1.5-(c.y-(c.top??0))})`),t.intersect=function(e){let n=G.rect(t,e),r=n.x-(t.x??0);if(f!=0&&(Math.abs(r)<(t.width??0)/2||Math.abs(r)==(t.width??0)/2&&Math.abs(n.y-(t.y??0))>(t.height??0)/2-p)){let i=p*p*(1-r*r/(f*f));i>0&&(i=Math.sqrt(i)),i=p-i,e.y-(t.y??0)>0&&(i=-i),n.y+=i}return n},s}e(Ee,`cylinder`);async function X(e,t,n){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let{shapeSvg:a,bbox:o}=await C(e,t,E(t)),s=Math.max(o.width+n.labelPaddingX*2,t?.width||0),c=Math.max(o.height+n.labelPaddingY*2,t?.height||0),l=-s/2,u=-c/2,f,{rx:p,ry:_}=t,{cssStyles:v}=t;if(n?.rx&&n.ry&&(p=n.rx,_=n.ry),t.look===`handDrawn`){let e=d.svg(a),n=h(t,{}),r=p||_?e.path(N(l,u,s,c,p||0),n):e.rectangle(l,u,s,c,n);f=a.insert(()=>r,`:first-child`),f.attr(`class`,`basic label-container`).attr(`style`,g(v))}else f=a.insert(`rect`,`:first-child`),f.attr(`class`,`basic label-container`).attr(`style`,i).attr(`rx`,g(p)).attr(`ry`,g(_)).attr(`x`,l).attr(`y`,u).attr(`width`,s).attr(`height`,c);return T(t,f),t.calcIntersect=function(e,t){return G.rect(e,t)},t.intersect=function(e){return G.rect(t,e)},a}e(X,`drawRect`);async function De(e,t){let{cssClasses:n,labelPaddingX:r,labelPaddingY:i,padding:a,width:o,height:s}=t,c=await X(e,t,{rx:0,ry:0,classes:n??``,labelPaddingX:r??(a??0)*2,labelPaddingY:i??a??0});if(t.look===`handDrawn`){let e=d.svg(c),n=h(t,{}),r=c.select(`.basic.label-container > path:nth-child(2)`),i=r.node();if(!i)return c;let a=null;if(i instanceof SVGGraphicsElement)a=i.getBBox();else return c;return c.insert(()=>e.line(a.x,a.y,a.x+a.width,a.y,n),`.basic.label-container g.label`),c.insert(()=>e.line(a.x,a.y+a.height,a.x+a.width,a.y+a.height,n),`.basic.label-container g.label`),r.remove(),c}let l=c.select(`.basic.label-container`),u=(Number(l.attr(`width`))||o)??0,f=(Number(l.attr(`height`))||s)??0;return u>0&&f>0&&l.attr(`stroke-dasharray`,`${u} ${f}`),c}e(De,`datastore`);async function Oe(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?16:t.padding??0,{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=s.width+i,u=s.height+a,f=u*.2,p=-l/2,g=-u/2-f/2,{cssStyles:_}=t,v=d.svg(o),y=h(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=[{x:p,y:g+f},{x:-p,y:g+f},{x:-p,y:-g},{x:p,y:-g},{x:p,y:g},{x:-p,y:g},{x:-p,y:g+f}],x=v.polygon(b.map(e=>[e.x,e.y]),y),S=o.insert(()=>x,`:first-child`);return S.attr(`class`,`basic label-container outer-path`),_&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,_),r&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${p+(t.padding??0)/2-(s.x-(s.left??0))}, ${g+f+(t.padding??0)/2-(s.y-(s.top??0))})`),T(t,S),t.intersect=function(e){return G.rect(t,e)},o}e(Oe,`dividedRectangle`);async function ke(e,t){let{labelStyles:r,nodeStyles:i}=m(t),a=t.look===`neo`?12:5;t.labelStyle=r;let o=t.padding??0,s=t.look===`neo`?16:o,{shapeSvg:c,bbox:l}=await C(e,t,E(t)),u=(t?.width?t?.width/2:l.width/2)+(s??0),f=u-a,p,{cssStyles:_}=t;if(t.look===`handDrawn`){let e=d.svg(c),n=h(t,{roughness:.2,strokeWidth:2.5}),r=h(t,{roughness:.2,strokeWidth:1.5}),i=e.circle(0,0,u*2,n),a=e.circle(0,0,f*2,r);p=c.insert(`g`,`:first-child`),p.attr(`class`,g(t.cssClasses)).attr(`style`,g(_)),p.node()?.appendChild(i),p.node()?.appendChild(a)}else{p=c.insert(`g`,`:first-child`);let e=p.insert(`circle`,`:first-child`),t=p.insert(`circle`);p.attr(`class`,`basic label-container`).attr(`style`,i),e.attr(`class`,`outer-circle`).attr(`style`,i).attr(`r`,u).attr(`cx`,0).attr(`cy`,0),t.attr(`class`,`inner-circle`).attr(`style`,i).attr(`r`,f).attr(`cx`,0).attr(`cy`,0)}return T(t,p),t.intersect=function(e){return n.info(`DoubleCircle intersect`,t,u,e),G.circle(t,u,e)},c}e(ke,`doublecircle`);function Ae(e,t,{config:{themeVariables:r}}){let{labelStyles:i,nodeStyles:a}=m(t);t.label=``,t.labelStyle=i;let o=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:s}=t,c=d.svg(o),{nodeBorder:l}=r,u=h(t,{fillStyle:`solid`});t.look!==`handDrawn`&&(u.roughness=0);let f=c.circle(0,0,14,u),p=o.insert(()=>f,`:first-child`);return p.selectAll(`path`).attr(`style`,`fill: ${l} !important;`),s&&s.length>0&&t.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,s),a&&t.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,a),T(t,p),t.intersect=function(e){return n.info(`filledCircle intersect`,t,{radius:7,point:e}),G.circle(t,7,e)},o}e(Ae,`filledCircle`);var je=10,Me=10;async function Ne(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let a=t.padding??0,o=t.look===`neo`?a*2:a;(t.width||t.height)&&(t.height=t?.height??0,t.height<je&&(t.height=je),t.width=(t?.width??0)-o-o/2,t.width<Me&&(t.width=Me));let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t?.width?t?.width:c.width)+(o??0),f=t?.height?t?.height:u+c.height,p=f,g=[{x:0,y:-f},{x:p,y:-f},{x:p/2,y:0}],{cssStyles:_}=t,v=d.svg(s),y=h(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=D(g),x=v.path(b,y),S=s.insert(()=>x,`:first-child`).attr(`transform`,`translate(${-f/2}, ${f/2})`).attr(`class`,`outer-path`);return _&&t.look!==`handDrawn`&&S.selectChildren(`path`).attr(`style`,_),i&&t.look!==`handDrawn`&&S.selectChildren(`path`).attr(`style`,i),t.width=u,t.height=f,T(t,S),l.attr(`transform`,`translate(${-c.width/2-(c.x-(c.left??0))}, ${-f/2+(t.padding??0)/2+(c.y-(c.top??0))})`),t.intersect=function(e){return n.info(`Triangle intersect`,t,g,e),G.polygon(t,g,e)},s}e(Ne,`flippedTriangle`);function Pe(e,t,{dir:n,config:{state:r,themeVariables:i}}){let{nodeStyles:a}=m(t);t.label=``;let o=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:s}=t,c=Math.max(70,t?.width??0),l=Math.max(10,t?.height??0);n===`LR`&&(c=Math.max(10,t?.width??0),l=Math.max(70,t?.height??0));let u=-1*c/2,f=-1*l/2,p=d.svg(o),g=h(t,{stroke:i.lineColor,fill:i.lineColor});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=p.rectangle(u,f,c,l,g),v=o.insert(()=>_,`:first-child`);s&&t.look!==`handDrawn`&&v.selectAll(`path`).attr(`style`,s),a&&t.look!==`handDrawn`&&v.selectAll(`path`).attr(`style`,a),T(t,v);let y=r?.padding??0;return t.width&&t.height&&(t.width+=y/2||0,t.height+=y/2||0),t.intersect=function(e){return G.rect(t,e)},o}e(Pe,`forkJoin`);async function Fe(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let a=t.look===`neo`?16:t.padding??0,o=t.look===`neo`?12:t.padding??0;(t.width||t.height)&&(t.height=(t?.height??0)-o*2,t.height<10&&(t.height=10),t.width=(t?.width??0)-a*2,t.width<15&&(t.width=15));let{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.width?t?.width:Math.max(15,c.width))+a*2,u=(t?.height?t?.height:Math.max(10,c.height))+o*2,f=u/2,{cssStyles:p}=t,g=d.svg(s),_=h(t,{});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=[{x:-l/2,y:-u/2},{x:l/2-f,y:-u/2},...k(-l/2+f,0,f,50,90,270),{x:l/2-f,y:u/2},{x:-l/2,y:u/2}],y=D(v),b=g.path(y,_),x=s.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),p&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,p),i&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,i),T(t,x),t.intersect=function(e){return n.info(`Pill intersect`,t,{radius:f,point:e}),G.polygon(t,v,e)},s}e(Fe,`halfRoundedRectangle`);var Ie=e((e,t,n,r,i)=>[`M${e+i},${t}`,`L${e+n-i},${t}`,`L${e+n},${t-r/2}`,`L${e+n-i},${t-r}`,`L${e+i},${t-r}`,`L${e},${t-r/2}`,`Z`].join(` `),`createHexagonPathD`);async function Le(e,t){let{labelStyles:n,nodeStyles:r}=m(t),i=t.look===`neo`?3.5:4;t.labelStyle=n;let a=t.padding??0,o=t.look===`neo`?70:a,s=t.look===`neo`?32:a;if(t.width||t.height){let e=(t.height??0)/i;t.width=(t?.width??0)-2*e-s,t.height=(t.height??0)-o}let{shapeSvg:c,bbox:l}=await C(e,t,E(t)),u=(t?.height?t?.height:l.height)+o,f=u/i,p=(t?.width?t?.width:l.width)+2*f+s,g=[{x:f,y:0},{x:p-f,y:0},{x:p,y:-u/2},{x:p-f,y:-u},{x:f,y:-u},{x:0,y:-u/2}],_,{cssStyles:v}=t;if(t.look===`handDrawn`){let e=d.svg(c),n=h(t,{}),r=Ie(0,0,p,u,f),i=e.path(r,n);_=c.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-p/2}, ${u/2})`),v&&_.attr(`style`,v)}else _=K(c,p,u,g);return r&&_.attr(`style`,r),t.width=p,t.height=u,T(t,_),t.intersect=function(e){return G.polygon(t,g,e)},c}e(Le,`hexagon`);async function Re(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.label=``,t.labelStyle=r;let{shapeSvg:a}=await C(e,t,E(t)),o=Math.max(30,t?.width??0),s=Math.max(30,t?.height??0),{cssStyles:c}=t,l=d.svg(a),u=h(t,{});t.look!==`handDrawn`&&(u.roughness=0,u.fillStyle=`solid`);let f=[{x:0,y:0},{x:o,y:0},{x:0,y:s},{x:o,y:s}],p=D(f),g=l.path(p,u),_=a.insert(()=>g,`:first-child`);return _.attr(`class`,`basic label-container outer-path`),c&&t.look!==`handDrawn`&&_.selectChildren(`path`).attr(`style`,c),i&&t.look!==`handDrawn`&&_.selectChildren(`path`).attr(`style`,i),_.attr(`transform`,`translate(${-o/2}, ${-s/2})`),T(t,_),t.intersect=function(e){return n.info(`Pill intersect`,t,{points:f}),G.polygon(t,f,e)},a}e(Re,`hourglass`);async function ze(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=m(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:f,label:g}=await C(e,t,`icon-shape default`),_=t.pos===`t`,v=c,y=c,{nodeBorder:b}=r,{stylesMap:x}=p(t),w=-y/2,E=-v/2,D=t.label?8:0,O=d.svg(u),k=h(t,{stroke:`none`,fill:`none`});t.look!==`handDrawn`&&(k.roughness=0,k.fillStyle=`solid`);let A=O.rectangle(w,E,y,v,k),j=Math.max(y,f.width),M=v+f.height+D,N=O.rectangle(-j/2,-M/2,j,M,{...k,fill:`transparent`,stroke:`none`}),P=u.insert(()=>A,`:first-child`),F=u.insert(()=>N);if(t.icon){let e=u.append(`g`);e.html(`<g>${await S(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${_?f.height/2+D/2-i/2-o:-f.height/2-D/2-i/2-o})`),e.attr(`style`,`color: ${x.get(`stroke`)??b};`)}return g.attr(`transform`,`translate(${-f.width/2-(f.x-(f.left??0))},${_?-M/2:M/2-f.height})`),P.attr(`transform`,`translate(0,${_?f.height/2+D/2:-f.height/2-D/2})`),T(t,F),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return G.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=_?[{x:r-f.width/2,y:i-a/2},{x:r+f.width/2,y:i-a/2},{x:r+f.width/2,y:i-a/2+f.height+D},{x:r+y/2,y:i-a/2+f.height+D},{x:r+y/2,y:i+a/2},{x:r-y/2,y:i+a/2},{x:r-y/2,y:i-a/2+f.height+D},{x:r-f.width/2,y:i-a/2+f.height+D}]:[{x:r-y/2,y:i-a/2},{x:r+y/2,y:i-a/2},{x:r+y/2,y:i-a/2+v},{x:r+f.width/2,y:i-a/2+v},{x:r+f.width/2/2,y:i+a/2},{x:r-f.width/2,y:i+a/2},{x:r-f.width/2,y:i-a/2+v},{x:r-y/2,y:i-a/2+v}],G.polygon(t,o,e)},u}e(ze,`icon`);async function Be(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=m(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:f,label:g}=await C(e,t,`icon-shape default`),_=t.label?8:0,v=t.pos===`t`,{nodeBorder:y,mainBkg:b}=r,{stylesMap:x}=p(t),w=d.svg(u),E=h(t,{});t.look!==`handDrawn`&&(E.roughness=0,E.fillStyle=`solid`),E.stroke=x.get(`fill`)??b;let D=u.append(`g`);t.icon&&D.html(`<g>${await S(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let O=D.node().getBBox(),k=O.width,A=O.height,j=O.x,M=O.y,N=Math.max(k,A)*Math.SQRT2+40,P=w.circle(0,0,N,E),F=Math.max(N,f.width),I=N+f.height+_,ee=w.rectangle(-F/2,-I/2,F,I,{...E,fill:`transparent`,stroke:`none`}),te=u.insert(()=>P,`:first-child`),L=u.insert(()=>ee);return D.attr(`transform`,`translate(${-k/2-j},${v?f.height/2+_/2-A/2-M:-f.height/2-_/2-A/2-M})`),D.attr(`style`,`color: ${x.get(`stroke`)??y};`),g.attr(`transform`,`translate(${-f.width/2-(f.x-(f.left??0))},${v?-I/2:I/2-f.height})`),te.attr(`transform`,`translate(0,${v?f.height/2+_/2:-f.height/2-_/2})`),T(t,L),t.intersect=function(e){return n.info(`iconSquare intersect`,t,e),G.rect(t,e)},u}e(Be,`iconCircle`);async function Ve(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=m(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:f,halfPadding:g,label:_}=await C(e,t,`icon-shape default`),v=t.pos===`t`,y=c+g*2,b=c+g*2,{nodeBorder:x,mainBkg:w}=r,{stylesMap:E}=p(t),D=-b/2,O=-y/2,k=t.label?8:0,A=d.svg(u),j=h(t,{});t.look!==`handDrawn`&&(j.roughness=0,j.fillStyle=`solid`),j.stroke=E.get(`fill`)??w;let M=A.path(N(D,O,b,y,5),j),P=Math.max(b,f.width),F=y+f.height+k,I=A.rectangle(-P/2,-F/2,P,F,{...j,fill:`transparent`,stroke:`none`}),ee=u.insert(()=>M,`:first-child`).attr(`class`,`icon-shape2`),te=u.insert(()=>I);if(t.icon){let e=u.append(`g`);e.html(`<g>${await S(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${v?f.height/2+k/2-i/2-o:-f.height/2-k/2-i/2-o})`),e.attr(`style`,`color: ${E.get(`stroke`)??x};`)}return _.attr(`transform`,`translate(${-f.width/2-(f.x-(f.left??0))},${v?-F/2:F/2-f.height})`),ee.attr(`transform`,`translate(0,${v?f.height/2+k/2:-f.height/2-k/2})`),T(t,te),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return G.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=v?[{x:r-f.width/2,y:i-a/2},{x:r+f.width/2,y:i-a/2},{x:r+f.width/2,y:i-a/2+f.height+k},{x:r+b/2,y:i-a/2+f.height+k},{x:r+b/2,y:i+a/2},{x:r-b/2,y:i+a/2},{x:r-b/2,y:i-a/2+f.height+k},{x:r-f.width/2,y:i-a/2+f.height+k}]:[{x:r-b/2,y:i-a/2},{x:r+b/2,y:i-a/2},{x:r+b/2,y:i-a/2+y},{x:r+f.width/2,y:i-a/2+y},{x:r+f.width/2/2,y:i+a/2},{x:r-f.width/2,y:i+a/2},{x:r-f.width/2,y:i-a/2+y},{x:r-b/2,y:i-a/2+y}],G.polygon(t,o,e)},u}e(Ve,`iconRounded`);async function He(e,t,{config:{themeVariables:r,flowchart:i}}){let{labelStyles:a}=m(t);t.labelStyle=a;let o=t.assetHeight??48,s=t.assetWidth??48,c=Math.max(o,s),l=i?.wrappingWidth;t.width=Math.max(c,l??0);let{shapeSvg:u,bbox:f,halfPadding:g,label:_}=await C(e,t,`icon-shape default`),v=t.pos===`t`,y=c+g*2,b=c+g*2,{nodeBorder:x,mainBkg:w}=r,{stylesMap:E}=p(t),D=-b/2,O=-y/2,k=t.label?8:0,A=d.svg(u),j=h(t,{});t.look!==`handDrawn`&&(j.roughness=0,j.fillStyle=`solid`),j.stroke=E.get(`fill`)??w;let M=A.path(N(D,O,b,y,.1),j),P=Math.max(b,f.width),F=y+f.height+k,I=A.rectangle(-P/2,-F/2,P,F,{...j,fill:`transparent`,stroke:`none`}),ee=u.insert(()=>M,`:first-child`),te=u.insert(()=>I);if(t.icon){let e=u.append(`g`);e.html(`<g>${await S(t.icon,{height:c,width:c,fallbackPrefix:``})}</g>`);let n=e.node().getBBox(),r=n.width,i=n.height,a=n.x,o=n.y;e.attr(`transform`,`translate(${-r/2-a},${v?f.height/2+k/2-i/2-o:-f.height/2-k/2-i/2-o})`),e.attr(`style`,`color: ${E.get(`stroke`)??x};`)}return _.attr(`transform`,`translate(${-f.width/2-(f.x-(f.left??0))},${v?-F/2:F/2-f.height})`),ee.attr(`transform`,`translate(0,${v?f.height/2+k/2:-f.height/2-k/2})`),T(t,te),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return G.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=v?[{x:r-f.width/2,y:i-a/2},{x:r+f.width/2,y:i-a/2},{x:r+f.width/2,y:i-a/2+f.height+k},{x:r+b/2,y:i-a/2+f.height+k},{x:r+b/2,y:i+a/2},{x:r-b/2,y:i+a/2},{x:r-b/2,y:i-a/2+f.height+k},{x:r-f.width/2,y:i-a/2+f.height+k}]:[{x:r-b/2,y:i-a/2},{x:r+b/2,y:i-a/2},{x:r+b/2,y:i-a/2+y},{x:r+f.width/2,y:i-a/2+y},{x:r+f.width/2/2,y:i+a/2},{x:r-f.width/2,y:i+a/2},{x:r-f.width/2,y:i-a/2+y},{x:r-b/2,y:i-a/2+y}],G.polygon(t,o,e)},u}e(He,`iconSquare`);async function Ue(e,t,{config:{flowchart:r}}){let i=new Image;i.src=t?.img??``,await i.decode();let a=Number(i.naturalWidth.toString().replace(`px`,``)),o=Number(i.naturalHeight.toString().replace(`px`,``));t.imageAspectRatio=a/o;let{labelStyles:s}=m(t);t.labelStyle=s;let c=r?.wrappingWidth;t.defaultWidth=r?.wrappingWidth;let l=Math.max(t.label?c??0:0,t?.assetWidth??a),u=t.constraint===`on`&&t?.assetHeight?t.assetHeight*t.imageAspectRatio:l,f=t.constraint===`on`?u/t.imageAspectRatio:t?.assetHeight??o;t.width=Math.max(u,c??0);let{shapeSvg:p,bbox:g,label:_}=await C(e,t,`image-shape default`),v=t.pos===`t`,y=-u/2,b=-f/2,x=t.label?8:0,S=d.svg(p),w=h(t,{});t.look!==`handDrawn`&&(w.roughness=0,w.fillStyle=`solid`);let E=S.rectangle(y,b,u,f,w),D=Math.max(u,g.width),O=f+g.height+x,k=S.rectangle(-D/2,-O/2,D,O,{...w,fill:`none`,stroke:`none`}),A=p.insert(()=>E,`:first-child`),j=p.insert(()=>k);if(t.img){let e=p.append(`image`);e.attr(`href`,t.img),e.attr(`width`,u),e.attr(`height`,f),e.attr(`preserveAspectRatio`,`none`),e.attr(`transform`,`translate(${-u/2},${v?O/2-f:-O/2})`)}return _.attr(`transform`,`translate(${-g.width/2-(g.x-(g.left??0))},${v?-f/2-g.height/2-x/2:f/2-g.height/2+x/2})`),A.attr(`transform`,`translate(0,${v?g.height/2+x/2:-g.height/2-x/2})`),T(t,j),t.intersect=function(e){if(n.info(`iconSquare intersect`,t,e),!t.label)return G.rect(t,e);let r=t.x??0,i=t.y??0,a=t.height??0,o=[];return o=v?[{x:r-g.width/2,y:i-a/2},{x:r+g.width/2,y:i-a/2},{x:r+g.width/2,y:i-a/2+g.height+x},{x:r+u/2,y:i-a/2+g.height+x},{x:r+u/2,y:i+a/2},{x:r-u/2,y:i+a/2},{x:r-u/2,y:i-a/2+g.height+x},{x:r-g.width/2,y:i-a/2+g.height+x}]:[{x:r-u/2,y:i-a/2},{x:r+u/2,y:i-a/2},{x:r+u/2,y:i-a/2+f},{x:r+g.width/2,y:i-a/2+f},{x:r+g.width/2/2,y:i+a/2},{x:r-g.width/2,y:i+a/2},{x:r-g.width/2,y:i-a/2+f},{x:r-u/2,y:i-a/2+f}],G.polygon(t,o,e)},p}e(Ue,`imageSquare`);async function We(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=Math.max(c.width+(o??0)*2,t?.width??0),u=Math.max(c.height+(a??0)*2,t?.height??0),f=[{x:0,y:0},{x:l,y:0},{x:l+3*u/6,y:-u},{x:-3*u/6,y:-u}],p,{cssStyles:g}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=D(f),i=e.path(r,n);p=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-l/2}, ${u/2})`),g&&p.attr(`style`,g)}else p=K(s,l,u,f);return r&&p.attr(`style`,r),t.width=l,t.height=u,T(t,p),t.intersect=function(e){return G.polygon(t,f,e)},s}e(We,`inv_trapezoid`);async function Ge(e,t){let{shapeSvg:n,bbox:r,label:i}=await C(e,t,`label`),a=n.insert(`rect`,`:first-child`);return a.attr(`width`,.1).attr(`height`,.1),n.attr(`class`,`label edgeLabel`),i.attr(`transform`,`translate(${-(r.width/2)-(r.x-(r.left??0))}, ${-(r.height/2)-(r.y-(r.top??0))})`),T(t,a),t.intersect=function(e){return G.rect(t,e)},n}e(Ge,`labelRect`);async function Ke(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.height??c.height)+a,u=(t?.width??c.width)+o,f=[{x:0,y:0},{x:u+3*l/6,y:0},{x:u,y:-l},{x:-(3*l)/6,y:-l}],p,{cssStyles:g}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=D(f),i=e.path(r,n);p=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),g&&p.attr(`style`,g)}else p=K(s,u,l,f);return r&&p.attr(`style`,r),t.width=u,t.height=l,T(t,p),t.intersect=function(e){return G.polygon(t,f,e)},s}e(Ke,`lean_left`);async function qe(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=i,o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.height??c.height)+a,u=(t?.width??c.width)+o,f=[{x:-3*l/6,y:0},{x:u,y:0},{x:u+3*l/6,y:-l},{x:0,y:-l}],p,{cssStyles:g}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=D(f),i=e.path(r,n);p=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),g&&p.attr(`style`,g)}else p=K(s,u,l,f);return r&&p.attr(`style`,r),t.width=u,t.height=l,T(t,p),t.intersect=function(e){return G.polygon(t,f,e)},s}e(qe,`lean_right`);function Je(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.label=``,t.labelStyle=r;let a=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId??t.id),{cssStyles:o}=t,s=Math.max(35,t?.width??0),c=Math.max(35,t?.height??0),l=[{x:s,y:0},{x:0,y:c+7/2},{x:s-14,y:c+7/2},{x:0,y:2*c},{x:s,y:c-7/2},{x:14,y:c-7/2}],u=d.svg(a),f=h(t,{});t.look!==`handDrawn`&&(f.roughness=0,f.fillStyle=`solid`);let p=D(l),g=u.path(p,f),_=a.insert(()=>g,`:first-child`);return _.attr(`class`,`outer-path`),o&&t.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,o),i&&t.look!==`handDrawn`&&_.selectAll(`path`).attr(`style`,i),_.attr(`transform`,`translate(-${s/2},${-c})`),T(t,_),t.intersect=function(e){return n.info(`lightningBolt intersect`,t,e),G.polygon(t,l,e)},a}e(Je,`lightningBolt`);var Ye=e((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`a${i},${a} 0,0,0 ${n},0`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createCylinderPathD`),Xe=e((e,t,n,r,i,a,o)=>[`M${e},${t+a}`,`M${e+n},${t+a}`,`a${i},${a} 0,0,0 ${-n},0`,`l0,${r}`,`a${i},${a} 0,0,0 ${n},0`,`l0,${-r}`,`M${e},${t+a+o}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createOuterCylinderPathD`),Ze=e((e,t,n,r,i,a)=>[`M${e-n/2},${-r/2}`,`a${i},${a} 0,0,0 ${n},0`].join(` `),`createInnerCylinderPathD`),Qe=10,$e=10;async function et(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?24:i;if(t.width||t.height){let e=t.width??0;t.width=(t.width??0)-a,t.width<$e&&(t.width=$e);let n=e/2/(2.5+e/50);t.height=(t.height??0)-o-n*3,t.height<Qe&&(t.height=Qe)}let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t?.width?t?.width:c.width)+a*2,f=u/2,p=f/(2.5+u/50),_=(t?.height?t?.height:c.height)+p+o*2,v=_*.1,y,{cssStyles:b}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=Xe(0,0,u,_,f,p,v),r=Ze(0,p,u,_,f,p),i=h(t,{}),a=e.path(n,i),o=e.path(r,i);s.insert(()=>o,`:first-child`).attr(`class`,`line`),y=s.insert(()=>a,`:first-child`),y.attr(`class`,`basic label-container`),b&&y.attr(`style`,b)}else{let e=Ye(0,0,u,_,f,p,v);y=s.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container outer-path`).attr(`style`,g(b)).attr(`style`,r)}return y.attr(`label-offset-y`,p),y.attr(`transform`,`translate(${-u/2}, ${-(_/2+p)})`),T(t,y),l.attr(`transform`,`translate(${-(c.width/2)-(c.x-(c.left??0))}, ${-(c.height/2)+p-(c.y-(c.top??0))})`),t.intersect=function(e){let n=G.rect(t,e),r=n.x-(t.x??0);if(f!=0&&(Math.abs(r)<(t.width??0)/2||Math.abs(r)==(t.width??0)/2&&Math.abs(n.y-(t.y??0))>(t.height??0)/2-p)){let i=p*p*(1-r*r/(f*f));i>0&&(i=Math.sqrt(i)),i=p-i,e.y-(t.y??0)>0&&(i=-i),n.y+=i}return n},s}e(et,`linedCylinder`);async function tt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.width=(t.width??0)*10/11-a*2,t.width<10&&(t.width=10),t.height=(t?.height??0)-o*2,t.height<10&&(t.height=10));let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t?.width?t?.width:c.width)+(a??0)*2,f=(t?.height?t?.height:c.height)+(o??0)*2,p=t.look===`neo`?f/4:f/8,g=f+p,{cssStyles:_}=t,v=d.svg(s),y=h(t,{});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=[{x:-u/2-u/2*.1,y:-g/2},{x:-u/2-u/2*.1,y:g/2},...O(-u/2-u/2*.1,g/2,u/2+u/2*.1,g/2,p,.8),{x:u/2+u/2*.1,y:-g/2},{x:-u/2-u/2*.1,y:-g/2},{x:-u/2,y:-g/2},{x:-u/2,y:g/2*1.1},{x:-u/2,y:-g/2}],x=v.polygon(b.map(e=>[e.x,e.y]),y),S=s.insert(()=>x,`:first-child`);return S.attr(`class`,`basic label-container outer-path`),_&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,_),r&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,r),S.attr(`transform`,`translate(0,${-p/2})`),l.attr(`transform`,`translate(${-u/2+(t.padding??0)+u/2*.1/2-(c.x-(c.left??0))},${-f/2+(t.padding??0)-p/2-(c.y-(c.top??0))})`),T(t,S),t.intersect=function(e){return G.polygon(t,b,e)},s}e(tt,`linedWaveEdgedRect`);async function nt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,s=t.look===`neo`?10:5;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-a*2-2*s,10),t.height=Math.max((t?.height??0)-o*2-2*s,10));let{shapeSvg:c,bbox:l,label:u}=await C(e,t,E(t)),f=(t?.width?t?.width:l.width)+a*2+2*s,p=(t?.height?t?.height:l.height)+o*2+2*s,g=f-2*s,_=p-2*s,v=-g/2,y=-_/2,{cssStyles:b}=t,x=d.svg(c),S=h(t,{}),w=[{x:v-s,y:y+s},{x:v-s,y:y+_+s},{x:v+g-s,y:y+_+s},{x:v+g-s,y:y+_},{x:v+g,y:y+_},{x:v+g,y:y+_-s},{x:v+g+s,y:y+_-s},{x:v+g+s,y:y-s},{x:v+s,y:y-s},{x:v+s,y},{x:v,y},{x:v,y:y+s}],O=[{x:v,y:y+s},{x:v+g-s,y:y+s},{x:v+g-s,y:y+_},{x:v+g,y:y+_},{x:v+g,y},{x:v,y}];t.look!==`handDrawn`&&(S.roughness=0,S.fillStyle=`solid`);let k=D(w),j=x.path(k,S),M=D(O),N=x.path(M,S);t.look!==`handDrawn`&&(j=A(j),N=A(N));let P=c.insert(`g`,`:first-child`);return P.insert(()=>j),P.insert(()=>N),P.attr(`class`,`basic label-container outer-path`),b&&t.look!==`handDrawn`&&P.selectAll(`path`).attr(`style`,b),r&&t.look!==`handDrawn`&&P.selectAll(`path`).attr(`style`,r),u.attr(`transform`,`translate(${-(l.width/2)-s-(l.x-(l.left??0))}, ${-(l.height/2)+s-(l.y-(l.top??0))})`),T(t,P),t.intersect=function(e){return G.polygon(t,w,e)},c}e(nt,`multiRect`);async function rt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=t.padding??0,c=t.look===`neo`?16:s,l=t.look===`neo`?12:s,u=!0;(t.width||t.height)&&(u=!1,t.width=(t?.width??0)-c*2,t.height=(t?.height??0)-l*3);let f=Math.max(a.width,t?.width??0)+c*2,p=Math.max(a.height,t?.height??0)+l*3,g=t.look===`neo`?p/4:p/8,_=p+(u?g/2:-g/2),v=-f/2,y=-_/2,{cssStyles:b}=t,x=O(v-10,y+_+10,v+f-10,y+_+10,g,.8),S=x?.[x.length-1],w=[{x:v-10,y:y+10},{x:v-10,y:y+_+10},...x,{x:v+f-10,y:S.y-10},{x:v+f,y:S.y-10},{x:v+f,y:S.y-20},{x:v+f+10,y:S.y-20},{x:v+f+10,y:y-10},{x:v+10,y:y-10},{x:v+10,y},{x:v,y},{x:v,y:y+10}],k=[{x:v,y:y+10},{x:v+f-10,y:y+10},{x:v+f-10,y:S.y-10},{x:v+f,y:S.y-10},{x:v+f,y},{x:v,y}],A=d.svg(i),j=h(t,{});t.look!==`handDrawn`&&(j.roughness=0,j.fillStyle=`solid`);let M=D(w),N=A.path(M,j),P=D(k),F=A.path(P,j),I=i.insert(()=>N,`:first-child`);return I.insert(()=>F),I.attr(`class`,`basic label-container outer-path`),b&&t.look!==`handDrawn`&&I.selectAll(`path`).attr(`style`,b),r&&t.look!==`handDrawn`&&I.selectAll(`path`).attr(`style`,r),I.attr(`transform`,`translate(0,${-g/2})`),o.attr(`transform`,`translate(${-(a.width/2)-10-(a.x-(a.left??0))}, ${-(a.height/2)+10-g/2-(a.y-(a.top??0))})`),T(t,I),t.intersect=function(e){return G.polygon(t,w,e)},i}e(rt,`multiWaveEdgedRectangle`);async function it(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r,t.useHtmlLabels||a(l())||(t.centerLabel=!0);let{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),u=Math.max(s.width+(t.padding??0)*2,t?.width??0),f=Math.max(s.height+(t.padding??0)*2,t?.height??0),p=-u/2,g=-f/2,{cssStyles:_}=t,v=d.svg(o),y=h(t,{fill:n.noteBkgColor,stroke:n.noteBorderColor});t.look!==`handDrawn`&&(y.roughness=0,y.fillStyle=`solid`);let b=v.rectangle(p,g,u,f,y),x=o.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),c.attr(`class`,`label noteLabel`),_&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,_),i&&t.look!==`handDrawn`&&x.selectAll(`path`).attr(`style`,i),c.attr(`transform`,`translate(${-s.width/2-(s.x-(s.left??0))}, ${-(s.height/2)-(s.y-(s.top??0))})`),T(t,x),t.intersect=function(e){return G.rect(t,e)},o}e(it,`note`);var at=e((e,t,n)=>[`M${e+n/2},${t}`,`L${e+n},${t-n/2}`,`L${e+n/2},${t-n}`,`L${e},${t-n/2}`,`Z`].join(` `),`createDecisionBoxPathD`);async function ot(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=a.width+(t.padding??0)+(a.height+(t.padding??0)),s=.5,c=[{x:o/2,y:0},{x:o,y:-o/2},{x:o/2,y:-o},{x:0,y:-o/2}],l,{cssStyles:u}=t;if(t.look===`handDrawn`){let e=d.svg(i),n=h(t,{}),r=at(0,0,o),a=e.path(r,n);l=i.insert(()=>a,`:first-child`).attr(`transform`,`translate(${-o/2+s}, ${o/2})`),u&&l.attr(`style`,u)}else l=K(i,o,o,c),l.attr(`transform`,`translate(${-o/2+s}, ${o/2})`);return r&&l.attr(`style`,r),T(t,l),t.calcIntersect=function(e,t){let n=e.width,r=[{x:n/2,y:0},{x:n,y:-n/2},{x:n/2,y:-n},{x:0,y:-n/2}],i=G.polygon(e,r,t);return{x:i.x-.5,y:i.y-.5}},t.intersect=function(e){return this.calcIntersect(t,e)},i}e(ot,`question`);async function st(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?21:i??0,o=t.look===`neo`?12:i??0,{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t?.width??c.width)+(t.look===`neo`?a*2:a),f=(t?.height??c.height)+(t.look===`neo`?o*2:o),p=-u/2,g=-f/2,_=g/2,v=[{x:p+_,y:g},{x:p,y:0},{x:p+_,y:-g},{x:-p,y:-g},{x:-p,y:g}],{cssStyles:y}=t,b=d.svg(s),x=h(t,{});t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let S=D(v),w=b.path(S,x),O=s.insert(()=>w,`:first-child`);return O.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&O.selectAll(`path`).attr(`style`,r),O.attr(`transform`,`translate(${-_/2},0)`),l.attr(`transform`,`translate(${-_/2-c.width/2-(c.x-(c.left??0))}, ${-(c.height/2)-(c.y-(c.top??0))})`),T(t,O),t.intersect=function(e){return G.polygon(t,v,e)},s}e(st,`rect_left_inv_arrow`);async function ct(e,r){let{labelStyles:i,nodeStyles:o}=m(r);r.labelStyle=i;let c;c=r.cssClasses?`node `+r.cssClasses:`node default`;let l=e.insert(`g`).attr(`class`,c).attr(`id`,r.domId||r.id),u=l.insert(`g`),f=l.insert(`g`).attr(`class`,`label`).attr(`style`,o),p=r.description,g=r.label,_=await M(f,g,r.labelStyle,!0,!0),v={width:0,height:0};if(a(s())){let e=_.children[0],n=t(_);v=e.getBoundingClientRect(),n.attr(`width`,v.width),n.attr(`height`,v.height)}n.info(`Text 2`,p);let y=p||[],b=_.getBBox(),x=await M(f,Array.isArray(y)?y.join(`<br/>`):y,r.labelStyle,!0,!0),S=x.children[0],C=t(x);v=S.getBoundingClientRect(),C.attr(`width`,v.width),C.attr(`height`,v.height);let w=(r.padding||0)/2;t(x).attr(`transform`,`translate( `+(v.width>b.width?0:(b.width-v.width)/2)+`, `+(b.height+w+5)+`)`),t(_).attr(`transform`,`translate( `+(v.width<b.width?0:-(b.width-v.width)/2)+`, 0)`),v=f.node().getBBox(),f.attr(`transform`,`translate(`+-v.width/2+`, `+(-v.height/2-w+3)+`)`);let E=v.width+(r.padding||0),D=v.height+(r.padding||0),O=-v.width/2-w,k=-v.height/2-w,A,j;if(r.look===`handDrawn`){let e=d.svg(l),t=h(r,{}),i=e.path(N(O,k,E,D,r.rx||0),t),a=e.line(-v.width/2-w,-v.height/2-w+b.height+w,v.width/2+w,-v.height/2-w+b.height+w,t);j=l.insert(()=>(n.debug(`Rough node insert CXC`,i),a),`:first-child`),A=l.insert(()=>(n.debug(`Rough node insert CXC`,i),i),`:first-child`)}else A=u.insert(`rect`,`:first-child`),j=u.insert(`line`),A.attr(`class`,`outer title-state`).attr(`style`,o).attr(`x`,-v.width/2-w).attr(`y`,-v.height/2-w).attr(`width`,v.width+(r.padding||0)).attr(`height`,v.height+(r.padding||0)),j.attr(`class`,`divider`).attr(`x1`,-v.width/2-w).attr(`x2`,v.width/2+w).attr(`y1`,-v.height/2-w+b.height+w).attr(`y2`,-v.height/2-w+b.height+w);return T(r,A),r.intersect=function(e){return G.rect(r,e)},l}e(ct,`rectWithTitle`);async function lt(e,t,{config:{themeVariables:n}}){let r=n?.radius??5;return X(e,t,{rx:r,ry:r,classes:``,labelPaddingX:(t?.padding??0)*1,labelPaddingY:(t?.padding??0)*1})}e(lt,`roundedRect`);var Z=8;async function ut(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?12:t.padding??0,{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=(t?.width??s.width)+i*2+(t.look===`neo`?Z:Z*2),u=(t?.height??s.height)+a*2,f=l-Z,p=u,_=Z-l/2,v=-u/2,{cssStyles:y}=t,b=d.svg(o),x=h(t,{});t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let S=[{x:_,y:v},{x:_+f,y:v},{x:_+f,y:v+p},{x:_-Z,y:v+p},{x:_-Z,y:v},{x:_,y:v},{x:_,y:v+p}],w=b.polygon(S.map(e=>[e.x,e.y]),x),D=o.insert(()=>w,`:first-child`);return D.attr(`class`,`basic label-container outer-path`).attr(`style`,g(y)),r&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,r),y&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${Z/2-s.width/2-(s.x-(s.left??0))}, ${-(s.height/2)-(s.y-(s.top??0))})`),T(t,D),t.intersect=function(e){return G.rect(t,e)},o}e(ut,`shadedProcess`);async function dt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-a*2,10),t.height=Math.max((t?.height??0)/1.5-o*2,10));let{shapeSvg:s,bbox:c,label:l}=await C(e,t,E(t)),u=(t?.width?t?.width:c.width)+a*2,f=((t?.height?t?.height:c.height)+o*2)*1.5,p=u,g=f/1.5,_=-p/2,v=-g/2,{cssStyles:y}=t,b=d.svg(s),x=h(t,{});t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let S=[{x:_,y:v},{x:_,y:v+g},{x:_+p,y:v+g},{x:_+p,y:v-g/2}],w=D(S),O=b.path(w,x),k=s.insert(()=>O,`:first-child`);return k.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&k.selectChildren(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&k.selectChildren(`path`).attr(`style`,r),k.attr(`transform`,`translate(0, ${g/4})`),l.attr(`transform`,`translate(${-p/2+(t.padding??0)-(c.x-(c.left??0))}, ${-g/4+(t.padding??0)-(c.y-(c.top??0))})`),T(t,k),t.intersect=function(e){return G.polygon(t,S,e)},s}e(dt,`slopedRect`);async function ft(e,t){let n=t.padding??0,r=t.look===`neo`?16:n*2,i=t.look===`neo`?12:n;return X(e,t,{rx:0,ry:0,classes:``,labelPaddingX:t.labelPaddingX??r,labelPaddingY:i})}e(ft,`squareRect`);async function pt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?20:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=c.height+(t.look===`neo`?o*2:o),u=c.width+l/4+(t.look===`neo`?a*2:a),f=l/2,{cssStyles:p}=t,g=d.svg(s),_=h(t,{});t.look!==`handDrawn`&&(_.roughness=0,_.fillStyle=`solid`);let v=[{x:-u/2+f,y:-l/2},{x:u/2-f,y:-l/2},...k(-u/2+f,0,f,50,90,270),{x:u/2-f,y:l/2},...k(u/2-f,0,f,50,270,450)],y=D(v),b=g.path(y,_),x=s.insert(()=>b,`:first-child`);return x.attr(`class`,`basic label-container outer-path`),p&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,p),r&&t.look!==`handDrawn`&&x.selectChildren(`path`).attr(`style`,r),T(t,x),t.intersect=function(e){return G.polygon(t,v,e)},s}e(pt,`stadium`);async function mt(e,t){return X(e,t,{rx:t.look===`neo`?3:5,ry:t.look===`neo`?3:5,classes:`flowchart-node`})}e(mt,`state`);function ht(e,t,{config:{themeVariables:n}}){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let{cssStyles:a}=t,{lineColor:o,stateBorder:s,nodeBorder:c,nodeShadow:l}=n;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||=14,t.height||=14;let u=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId??t.id),f=d.svg(u),p=h(t,{});t.look!==`handDrawn`&&(p.roughness=0,p.fillStyle=`solid`);let g=f.circle(0,0,t.width,{...p,stroke:o,strokeWidth:2}),_=s??c,v=(t.width??0)*5/14,y=f.circle(0,0,v,{...p,fill:_,stroke:_,strokeWidth:2,fillStyle:`solid`}),b=u.insert(()=>g,`:first-child`);if(b.insert(()=>y),t.look!==`handDrawn`&&b.attr(`class`,`outer-path`),a&&b.selectAll(`path`).attr(`style`,a),i&&b.selectAll(`path`).attr(`style`,i),t.width<25&&l&&t.look!==`handDrawn`){let t=e.node()?.ownerSVGElement?.id??``,n=t?`${t}-drop-shadow-small`:`drop-shadow-small`;b.attr(`style`,`filter:url(#${n})`)}return T(t,b),t.intersect=function(e){return G.circle(t,(t.width??0)/2,e)},u}e(ht,`stateEnd`);function gt(e,t,{config:{themeVariables:n}}){let{lineColor:r,nodeShadow:i}=n;(t.width||t.height)&&((t.width??0)<14&&(t.width=14),(t.height??0)<14&&(t.height=14)),t.width||=14,t.height||=14;let a=e.insert(`g`).attr(`class`,`node default`).attr(`id`,t.domId||t.id),o;if(t.look===`handDrawn`){let e=d.svg(a).circle(0,0,t.width,f(r));o=a.insert(()=>e),o.attr(`class`,`state-start`).attr(`r`,(t.width??7)/2).attr(`width`,t.width??14).attr(`height`,t.height??14)}else o=a.insert(`circle`,`:first-child`),o.attr(`class`,`state-start`).attr(`r`,(t.width??7)/2).attr(`width`,t.width??14).attr(`height`,t.height??14);if(t.width<25&&i&&t.look!==`handDrawn`){let t=e.node()?.ownerSVGElement?.id??``,n=t?`${t}-drop-shadow-small`:`drop-shadow-small`;o.attr(`style`,`filter:url(#${n})`)}return T(t,o),t.intersect=function(e){return G.circle(t,(t.width??7)/2,e)},a}e(gt,`stateStart`);var _t=8;async function vt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t?.padding??8,a=t.look===`neo`?28:i,o=t.look===`neo`?12:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.width??c.width)+2*_t+a,u=(t?.height??c.height)+o,f=l-2*_t,p=u,_=-l/2,v=-u/2,y=[{x:0,y:0},{x:f,y:0},{x:f,y:-p},{x:0,y:-p},{x:0,y:0},{x:-8,y:0},{x:f+8,y:0},{x:f+8,y:-p},{x:-8,y:-p},{x:-8,y:0}];if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=e.rectangle(_,v,f+16,p,n),i=e.line(_+_t,v,_+_t,v+p,n),a=e.line(_+_t+f,v,_+_t+f,v+p,n);s.insert(()=>i,`:first-child`),s.insert(()=>a,`:first-child`);let o=s.insert(()=>r,`:first-child`),{cssStyles:c}=t;o.attr(`class`,`basic label-container`).attr(`style`,g(c)),T(t,o)}else{let e=K(s,f,p,y);r&&e.attr(`style`,r),T(t,e)}return t.intersect=function(e){return G.polygon(t,y,e)},s}e(vt,`subroutine`);var yt=.2;async function bt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.height=Math.max((t?.height??0)-o*2,10),t.width=Math.max((t?.width??0)-a*2-yt*(t.height+o*2),10));let{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.height?t?.height:c.height)+o*2,u=yt*l,f=yt*l,p=(t?.width?t?.width:c.width)+a*2+u-u,g=l,_=-p/2,v=-g/2,{cssStyles:y}=t,b=d.svg(s),x=h(t,{}),S=[{x:_-u/2,y:v},{x:_+p+u/2,y:v},{x:_+p+u/2,y:v+g},{x:_-u/2,y:v+g}],w=[{x:_+p-u/2,y:v+g},{x:_+p+u/2,y:v+g},{x:_+p+u/2,y:v+g-f}];t.look!==`handDrawn`&&(x.roughness=0,x.fillStyle=`solid`);let O=D(S),k=b.path(O,x),A=D(w),j=b.path(A,{...x,fillStyle:`solid`}),M=s.insert(()=>j,`:first-child`);return M.insert(()=>k,`:first-child`),M.attr(`class`,`basic label-container outer-path`),y&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,y),r&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,r),T(t,M),t.intersect=function(e){return G.polygon(t,S,e)},s}e(bt,`taggedRect`);async function xt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,label:o}=await C(e,t,E(t)),s=Math.max(a.width+(t.padding??0)*2,t?.width??0),c=Math.max(a.height+(t.padding??0)*2,t?.height??0),l=c/8,u=.2*s,f=.2*c,p=c+l,{cssStyles:g}=t,_=d.svg(i),v=h(t,{});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=[{x:-s/2-s/2*.1,y:p/2},...O(-s/2-s/2*.1,p/2,s/2+s/2*.1,p/2,l,.8),{x:s/2+s/2*.1,y:-p/2},{x:-s/2-s/2*.1,y:-p/2}],b=-s/2+s/2*.1,x=-p/2-f*.4,S=[{x:b+s-u,y:(x+c)*1.3},{x:b+s,y:x+c-f},{x:b+s,y:(x+c)*.9},...O(b+s,(x+c)*1.25,b+s-u,(x+c)*1.3,-c*.02,.5)],w=D(y),k=_.path(w,v),A=D(S),j=_.path(A,{...v,fillStyle:`solid`}),M=i.insert(()=>j,`:first-child`);return M.insert(()=>k,`:first-child`),M.attr(`class`,`basic label-container outer-path`),g&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,g),r&&t.look!==`handDrawn`&&M.selectAll(`path`).attr(`style`,r),M.attr(`transform`,`translate(0,${-l/2})`),o.attr(`transform`,`translate(${-s/2+(t.padding??0)-(a.x-(a.left??0))},${-c/2+(t.padding??0)-l/2-(a.y-(a.top??0))})`),T(t,M),t.intersect=function(e){return G.polygon(t,y,e)},i}e(xt,`taggedWaveEdgedRectangle`);async function St(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a}=await C(e,t,E(t)),o=Math.max(a.width+(t.padding??0),t?.width||0),s=Math.max(a.height+(t.padding??0),t?.height||0),c=-o/2,l=-s/2,u=i.insert(`rect`,`:first-child`);return u.attr(`class`,`text`).attr(`style`,r).attr(`rx`,0).attr(`ry`,0).attr(`x`,c).attr(`y`,l).attr(`width`,o).attr(`height`,s),T(t,u),t.intersect=function(e){return G.rect(t,e)},i}e(St,`text`);var Ct=e((e,t,n,r,i,a)=>`M${e},${t}
|
|
3
3
|
a${i},${a} 0,0,1 0,${-r}
|
|
4
4
|
l${n},0
|
|
5
5
|
a${i},${a} 0,0,1 0,${r}
|
|
6
6
|
M${n},${-r}
|
|
7
7
|
a${i},${a} 0,0,0 0,${r}
|
|
8
|
-
l${-n},0`,`createCylinderPathD`),wt=
|
|
8
|
+
l${-n},0`,`createCylinderPathD`),wt=e((e,t,n,r,i,a)=>[`M${e},${t}`,`M${e+n},${t}`,`a${i},${a} 0,0,0 0,${-r}`,`l${-n},0`,`a${i},${a} 0,0,0 0,${r}`,`l${n},0`].join(` `),`createOuterCylinderPathD`),Tt=e((e,t,n,r,i,a)=>[`M${e+n/2},${-r/2}`,`a${i},${a} 0,0,0 0,${r}`].join(` `),`createInnerCylinderPathD`),Et=5,Dt=10;async function Ot(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?12:i/2;if(t.width||t.height){let e=t.height??0;t.height=(t.height??0)-a,t.height<Et&&(t.height=Et);let n=e/2/(2.5+e/50);t.width=(t.width??0)-a-n*3,t.width<Dt&&(t.width=Dt)}let{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=(t.height?t.height:s.height)+a,u=l/2,f=u/(2.5+l/50),p=(t.width?t.width:s.width)+f+a,{cssStyles:_}=t,v;if(t.look===`handDrawn`){let e=d.svg(o),n=wt(0,0,p,l,f,u),r=Tt(0,0,p,l,f,u),i=e.path(n,h(t,{})),a=e.path(r,h(t,{fill:`none`}));v=o.insert(()=>a,`:first-child`),v=o.insert(()=>i,`:first-child`),v.attr(`class`,`basic label-container`),_&&v.attr(`style`,_)}else{let e=Ct(0,0,p,l,f,u);v=o.insert(`path`,`:first-child`).attr(`d`,e).attr(`class`,`basic label-container`).attr(`style`,g(_)).attr(`style`,r),v.attr(`class`,`basic label-container outer-path`),_&&v.selectAll(`path`).attr(`style`,_),r&&v.selectAll(`path`).attr(`style`,r)}return v.attr(`label-offset-x`,f),v.attr(`transform`,`translate(${-p/2}, ${l/2} )`),c.attr(`transform`,`translate(${-(s.width/2)-f-(s.x-(s.left??0))}, ${-(s.height/2)-(s.y-(s.top??0))})`),T(t,v),t.intersect=function(e){let n=G.rect(t,e),r=n.y-(t.y??0);if(u!=0&&(Math.abs(r)<(t.height??0)/2||Math.abs(r)==(t.height??0)/2&&Math.abs(n.x-(t.x??0))>(t.width??0)/2-f)){let i=f*f*(1-r*r/(u*u));i!=0&&(i=Math.sqrt(Math.abs(i))),i=f-i,e.x-(t.x??0)>0&&(i=-i),n.x+=i}return n},o}e(Ot,`tiltedCylinder`);async function kt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=(t.look,i),o=t.look===`neo`?i*2:i,{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.height??c.height)+a,u=(t?.width??c.width)+o,f=[{x:-3*l/6,y:0},{x:u+3*l/6,y:0},{x:u,y:-l},{x:0,y:-l}],p,{cssStyles:g}=t;if(t.look===`handDrawn`){let e=d.svg(s),n=h(t,{}),r=D(f),i=e.path(r,n);p=s.insert(()=>i,`:first-child`).attr(`transform`,`translate(${-u/2}, ${l/2})`),g&&p.attr(`style`,g)}else p=K(s,u,l,f);return r&&p.attr(`style`,r),t.width=u,t.height=l,T(t,p),t.intersect=function(e){return G.polygon(t,f,e)},s}e(kt,`trapezoid`);async function At(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i;(t.width||t.height)&&(t.height=(t.height??0)-o*2,t.height<5&&(t.height=5),t.width=(t.width??0)-a*2,t.width<15&&(t.width=15));let{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.width?t?.width:c.width)+a*2,u=(t?.height?t?.height:c.height)+o*2,{cssStyles:f}=t,p=d.svg(s),g=h(t,{});t.look!==`handDrawn`&&(g.roughness=0,g.fillStyle=`solid`);let _=[{x:-l/2*.8,y:-u/2},{x:l/2*.8,y:-u/2},{x:l/2,y:-u/2*.6},{x:l/2,y:u/2},{x:-l/2,y:u/2},{x:-l/2,y:-u/2*.6}],v=D(_),y=p.path(v,g),b=s.insert(()=>y,`:first-child`);return b.attr(`class`,`basic label-container outer-path`),f&&t.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,f),r&&t.look!==`handDrawn`&&b.selectChildren(`path`).attr(`style`,r),T(t,b),t.intersect=function(e){return G.polygon(t,_,e)},s}e(At,`trapezoidalPentagon`);var jt=10,Mt=10;async function Nt(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let a=t.padding??0,o=t.look===`neo`?a*2:a;(t.width||t.height)&&(t.width=((t?.width??0)-o)/2,t.width<Mt&&(t.width=Mt),t.height=t?.height??0,t.height<jt&&(t.height=jt));let{shapeSvg:c,bbox:l,label:f}=await C(e,t,E(t)),p=u(s().flowchart?.htmlLabels),g=(t?.width?t?.width:l.width)+o,_=t?.height?t?.height:g+l.height,v=_,y=[{x:0,y:0},{x:v,y:0},{x:v/2,y:-_}],{cssStyles:b}=t,x=d.svg(c),S=h(t,{});t.look!==`handDrawn`&&(S.roughness=0,S.fillStyle=`solid`);let w=D(y),O=x.path(w,S),k=c.insert(()=>O,`:first-child`).attr(`transform`,`translate(${-_/2}, ${_/2})`).attr(`class`,`outer-path`);return b&&t.look!==`handDrawn`&&k.selectChildren(`path`).attr(`style`,b),i&&t.look!==`handDrawn`&&k.selectChildren(`path`).attr(`style`,i),t.width=g,t.height=_,T(t,k),f.attr(`transform`,`translate(${-l.width/2-(l.x-(l.left??0))}, ${_/2-(l.height+(t.padding??0)/(p?2:1)-(l.y-(l.top??0)))})`),t.intersect=function(e){return n.info(`Triangle intersect`,t,y,e),G.polygon(t,y,e)},c}e(Nt,`triangle`);async function Pt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?12:i,s=!0;(t.width||t.height)&&(s=!1,t.width=(t?.width??0)-a*2,t.width<10&&(t.width=10),t.height=(t?.height??0)-o*2,t.height<10&&(t.height=10));let{shapeSvg:c,bbox:l,label:u}=await C(e,t,E(t)),f=(t?.width?t?.width:l.width)+(a??0)*2,p=(t?.height?t?.height:l.height)+(o??0)*2,g=t.look===`neo`?p/4:p/8,_=p+(s?g:-g),{cssStyles:v}=t,y=14-f,b=y>0?y/2:0,x=d.svg(c),S=h(t,{});t.look!==`handDrawn`&&(S.roughness=0,S.fillStyle=`solid`);let w=[{x:-f/2-b,y:_/2},...O(-f/2-b,_/2,f/2+b,_/2,g,.8),{x:f/2+b,y:-_/2},{x:-f/2-b,y:-_/2}],k=D(w),A=x.path(k,S),j=c.insert(()=>A,`:first-child`);return j.attr(`class`,`basic label-container outer-path`),v&&t.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,v),r&&t.look!==`handDrawn`&&j.selectAll(`path`).attr(`style`,r),j.attr(`transform`,`translate(0,${-g/2})`),u.attr(`transform`,`translate(${-f/2+(t.padding??0)-(l.x-(l.left??0))},${-p/2+(t.padding??0)-g-(l.y-(l.top??0))})`),T(t,j),t.intersect=function(e){return G.polygon(t,w,e)},c}e(Pt,`waveEdgedRectangle`);async function Ft(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.padding??0,a=t.look===`neo`?16:i,o=t.look===`neo`?20:i;if(t.width||t.height){t.width=t?.width??0,t.width<20&&(t.width=20),t.height=t?.height??0,t.height<10&&(t.height=10);let e=Math.min(t.height*.2,t.height/4);t.height=Math.ceil(t.height-o-20/9*e),t.width-=a*2}let{shapeSvg:s,bbox:c}=await C(e,t,E(t)),l=(t?.width?t?.width:c.width)+a*2,u=(t?.height?t?.height:c.height)+o,f=u/8,p=u+f*2,{cssStyles:g}=t,_=d.svg(s),v=h(t,{});t.look!==`handDrawn`&&(v.roughness=0,v.fillStyle=`solid`);let y=[{x:-l/2,y:p/2},...O(-l/2,p/2,l/2,p/2,f,1),{x:l/2,y:-p/2},...O(l/2,-p/2,-l/2,-p/2,f,-1)],b=D(y),x=_.path(b,v),S=s.insert(()=>x,`:first-child`);return S.attr(`class`,`basic label-container`),g&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,g),r&&t.look!==`handDrawn`&&S.selectAll(`path`).attr(`style`,r),T(t,S),t.intersect=function(e){return G.polygon(t,y,e)},s}e(Ft,`waveRectangle`);var Q=10;async function It(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let i=t.look===`neo`?16:t.padding??0,a=t.look===`neo`?12:t.padding??0;(t.width||t.height)&&(t.width=Math.max((t?.width??0)-i*2-Q,10),t.height=Math.max((t?.height??0)-a*2-Q,10));let{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=(t?.width?t?.width:s.width)+i*2+Q,u=(t?.height?t?.height:s.height)+a*2+Q,f=l-Q,p=u-Q,g=-f/2,_=-p/2,{cssStyles:v}=t,y=d.svg(o),b=h(t,{}),x=[{x:g-Q,y:_-Q},{x:g-Q,y:_+p},{x:g+f,y:_+p},{x:g+f,y:_-Q}],S=`M${g-Q},${_-Q} L${g+f},${_-Q} L${g+f},${_+p} L${g-Q},${_+p} L${g-Q},${_-Q}
|
|
9
9
|
M${g-Q},${_} L${g+f},${_}
|
|
10
|
-
M${g},${_-Q} L${g},${_+p}`;t.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let w=y.path(S,b),D=o.insert(()=>w,`:first-child`);return D.attr(`transform`,`translate(${Q/2}, ${Q/2})`),D.attr(`class`,`basic label-container outer-path`),v&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,v),r&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${-(s.width/2)+Q/2-(s.x-(s.left??0))}, ${-(s.height/2)+Q/2-(s.y-(s.top??0))})`),T(t,D),t.intersect=function(e){return G.polygon(t,x,e)},o}c(It,`windowPane`);var Lt=new Set([`redux-color`,`redux-dark-color`]),Rt=new Set([`redux`,`redux-dark`,`redux-color`,`redux-dark-color`]);async function zt(e,t){let n=t;n.alias&&(t.label=n.alias);let{theme:r,themeVariables:i}=o(),{rowEven:a,rowOdd:c,nodeBorder:u,borderColorArray:f}=i;if(t.look===`handDrawn`){let{themeVariables:n}=o(),{background:r}=n;await zt(e,{...t,id:t.id+`-background`,domId:(t.domId||t.id)+`-background`,look:`default`,cssStyles:[`stroke: none`,`fill: ${r}`]})}let p=o();t.useHtmlLabels=p.htmlLabels;let g=p.er?.diagramPadding??10,v=p.er?.entityPadding??6,{cssStyles:y}=t,{labelStyles:b,nodeStyles:x}=m(t);if(n.attributes.length===0&&t.label){let i={rx:0,ry:0,labelPaddingX:g,labelPaddingY:g*1.5,classes:``};_(t.label,p)+i.labelPaddingX*2<p.er.minEntityWidth&&(t.width=p.er.minEntityWidth);let a=await X(e,t,i);if(r!=null&&Lt.has(r)){let e=n.colorIndex??0;a.attr(`data-color-id`,`color-${e%f.length}`)}if(!s(p.htmlLabels)){let e=a.select(`text`),t=e.node()?.getBBox();e.attr(`transform`,`translate(${-t.width/2}, 0)`)}return a}p.htmlLabels||(g*=1.25,v*=1.25);let S=E(t);S||=`node default`;let C=e.insert(`g`).attr(`class`,S).attr(`id`,t.domId||t.id),w=await Bt(C,t.label??``,p,0,0,[`name`],b);w.height+=v;let D=0,O=[],k=[],A=0,j=0,M=0,N=0,P=!0,F=!0;for(let e of n.attributes){let t=await Bt(C,e.type,p,0,D,[`attribute-type`],b);A=Math.max(A,t.width+g);let n=await Bt(C,e.name,p,0,D,[`attribute-name`],b);j=Math.max(j,n.width+g);let r=await Bt(C,e.keys.join(),p,0,D,[`attribute-keys`],b);M=Math.max(M,r.width+g);let i=await Bt(C,e.comment,p,0,D,[`attribute-comment`],b);N=Math.max(N,i.width+g);let a=Math.max(t.height,n.height,r.height,i.height)+v;k.push({yOffset:D,rowHeight:a}),D+=a}let I=4;M<=g&&(P=!1,M=0,I--),N<=g&&(F=!1,N=0,I--);let ee=C.node().getBBox();if(w.width+g*2-(A+j+M+N)>0){let e=w.width+g*2-(A+j+M+N);A+=e/I,j+=e/I,M>0&&(M+=e/I),N>0&&(N+=e/I)}let te=A+j+M+N,L=d.svg(C),R=h(t,{});t.look!==`handDrawn`&&(R.roughness=0,R.fillStyle=`solid`);let ne=0;k.length>0&&(ne=k.reduce((e,t)=>e+(t?.rowHeight??0),0));let z=Math.max(ee.width+g*2,t?.width||0,te),re=Math.max((ne??0)+w.height,t?.height||0),B=-z/2,V=-re/2;if(C.selectAll(`g:not(:first-child)`).each((e,t,n)=>{let r=l(n[t]),i=r.attr(`transform`),a=0,o=0;if(i){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(i);e&&(a=parseFloat(e[1]),o=parseFloat(e[2]),r.attr(`class`).includes(`attribute-name`)?a+=A:r.attr(`class`).includes(`attribute-keys`)?a+=A+j:r.attr(`class`).includes(`attribute-comment`)&&(a+=A+j+M))}r.attr(`transform`,`translate(${B+g/2+a}, ${o+V+w.height+v/2})`)}),C.select(`.name`).attr(`transform`,`translate(`+-w.width/2+`, `+(V+v/2)+`)`),r!=null&&Lt.has(r)){let e=n.colorIndex??0;C.attr(`data-color-id`,`color-${e%f.length}`)}let ie=L.rectangle(B,V,z,re,R),ae=C.insert(()=>ie,`:first-child`).attr(`class`,`outer-path`).attr(`style`,y.join(``));O.push(0);for(let[e,t]of k.entries()){let n=(e+1)%2==0&&t.yOffset!==0,r=L.rectangle(B,w.height+V+t?.yOffset,z,t?.rowHeight,{...R,fill:n?a:c,stroke:u});C.insert(()=>r,`g.label`).attr(`style`,y.join(``)).attr(`class`,`row-rect-${n?`even`:`odd`}`)}let H=1e-4,U=Vt(B,w.height+V,z+B,w.height+V,H),W=L.polygon(U.map(e=>[e.x,e.y]),R);if(C.insert(()=>W).attr(`class`,`divider`),U=Vt(A+B,w.height+V,A+B,re+V,H),W=L.polygon(U.map(e=>[e.x,e.y]),R),C.insert(()=>W).attr(`class`,`divider`),P){let e=A+j+B;U=Vt(e,w.height+V,e,re+V,H),W=L.polygon(U.map(e=>[e.x,e.y]),R),C.insert(()=>W).attr(`class`,`divider`)}if(F){let e=A+j+M+B;U=Vt(e,w.height+V,e,re+V,H),W=L.polygon(U.map(e=>[e.x,e.y]),R),C.insert(()=>W).attr(`class`,`divider`)}for(let e of O){let t=w.height+V+e;U=Vt(B,t,z+B,t,H),W=L.polygon(U.map(e=>[e.x,e.y]),R),C.insert(()=>W).attr(`class`,`divider`)}if(T(t,ae),x&&t.look!==`handDrawn`)if(r!=null&&Rt.has(r))C.selectAll(`path`).attr(`style`,x);else{let e=x.split(`;`)?.filter(e=>e.includes(`stroke`))?.map(e=>`${e}`).join(`; `);C.selectAll(`path`).attr(`style`,e??``),C.selectAll(`.row-rect-even path`).attr(`style`,x)}return t.intersect=function(e){return G.rect(t,e)},C}c(zt,`erBox`);async function Bt(e,t,n,i=0,a=0,o=[],c=``){let u=e.insert(`g`).attr(`class`,`label ${o.join(` `)}`).attr(`transform`,`translate(${i}, ${a})`).attr(`style`,c);t!==r(t)&&(t=r(t),t=t.replaceAll(`<`,`<`).replaceAll(`>`,`>`));let d=u.node().appendChild(await x(u,t,{width:_(t,n)+100,style:c,useHtmlLabels:n.htmlLabels},n));if(t.includes(`<`)||t.includes(`>`)){let e=d.children[0];for(e.textContent=e.textContent.replaceAll(`<`,`<`).replaceAll(`>`,`>`);e.childNodes[0];)e=e.childNodes[0],e.textContent=e.textContent.replaceAll(`<`,`<`).replaceAll(`>`,`>`)}let f=d.getBBox();if(s(n.htmlLabels)){let e=d.children[0];e.style.textAlign=`start`;let t=l(d);f=e.getBoundingClientRect(),t.attr(`width`,f.width),t.attr(`height`,f.height)}return f}c(Bt,`addText`);function Vt(e,t,n,r,i){return e===n?[{x:e-i/2,y:t},{x:e+i/2,y:t},{x:n+i/2,y:r},{x:n-i/2,y:r}]:[{x:e,y:t-i/2},{x:e,y:t+i/2},{x:n,y:r+i/2},{x:n,y:r-i/2}]}c(Vt,`lineToPolygon`);async function Ht(e,t,n,r,i=n.class.padding??12){let a=r?0:3,o=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId||t.id),s=null,c=null,l=null,u=null,d=0,f=0,p=0;if(s=o.insert(`g`).attr(`class`,`annotation-group text`),t.annotations.length>0){let e=t.annotations[0];await Ut(s,{text:`\xAB${e}\xBB`},0),d=s.node().getBBox().height}c=o.insert(`g`).attr(`class`,`label-group text`),await Ut(c,t,0,[`font-weight: bolder`]);let m=c.node().getBBox();f=m.height,l=o.insert(`g`).attr(`class`,`members-group text`);let h=0;for(let e of t.members){let t=await Ut(l,e,h,[e.parseClassifier()]);h+=t+a}p=l.node().getBBox().height,p<=0&&(p=i/2),u=o.insert(`g`).attr(`class`,`methods-group text`);let g=0;for(let e of t.methods){let t=await Ut(u,e,g,[e.parseClassifier()]);g+=t+a}let _=o.node().getBBox();if(s!==null){let e=s.node().getBBox();s.attr(`transform`,`translate(${-e.width/2})`)}return c.attr(`transform`,`translate(${-m.width/2}, ${d})`),_=o.node().getBBox(),l.attr(`transform`,`translate(0, ${d+f+i*2})`),_=o.node().getBBox(),u.attr(`transform`,`translate(0, ${d+f+(p?p+i*4:i*2)})`),_=o.node().getBBox(),{shapeSvg:o,bbox:_}}c(Ht,`textHelper`);async function Ut(t,n,r,i=[]){let u=t.insert(`g`).attr(`class`,`label`).attr(`style`,i.join(`; `)),d=o(),f=`useHtmlLabels`in n?n.useHtmlLabels:s(d.htmlLabels)??!0,p=``;p=`text`in n?n.text:n.label,!f&&p.startsWith(`\\`)&&(p=p.substring(1)),a(p)&&(f=!0);let m=await x(u,e(v(p)),{width:_(p,d)+50,classes:`markdown-node-label`,useHtmlLabels:f},d),h,g=1;if(f){let e=m.children[0],t=l(m);g=e.innerHTML.split(`<br>`).length,e.innerHTML.includes(`</math>`)&&(g+=e.innerHTML.split(`<mrow>`).length-1);let n=e.getElementsByTagName(`img`);if(n){let e=p.replace(/<img[^>]*>/g,``).trim()===``;await Promise.all([...n].map(t=>new Promise(n=>{function r(){if(t.style.display=`flex`,t.style.flexDirection=`column`,e){let e=d.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,n=parseInt(e,10)*5+`px`;t.style.minWidth=n,t.style.maxWidth=n}else t.style.width=`100%`;n(t)}c(r,`setupImage`),setTimeout(()=>{t.complete&&r()}),t.addEventListener(`error`,r),t.addEventListener(`load`,r)})))}h=e.getBoundingClientRect(),t.attr(`width`,h.width),t.attr(`height`,h.height)}else{i.includes(`font-weight: bolder`)&&l(m).selectAll(`tspan`).attr(`font-weight`,``),g=m.children.length;let e=m.children[0];(m.textContent===``||m.textContent.includes(`>`))&&(e.textContent=p[0]+p.substring(1).replaceAll(`>`,`>`).replaceAll(`<`,`<`).trim(),p[1]===` `&&(e.textContent=e.textContent[0]+` `+e.textContent.substring(1))),e.textContent===`undefined`&&(e.textContent=``),h=m.getBBox()}return u.attr(`transform`,`translate(0,`+(-h.height/(2*g)+r)+`)`),h.height}c(Ut,`addText`);async function Wt(e,t){let n=i(),{themeVariables:r}=n,{useGradient:a}=r,o=n.class.padding??12,c=o,u=t.useHtmlLabels??s(n.htmlLabels)??!0,f=t;f.annotations=f.annotations??[],f.members=f.members??[],f.methods=f.methods??[];let{shapeSvg:p,bbox:g}=await Ht(e,t,n,u,c),{labelStyles:_,nodeStyles:v}=m(t);t.labelStyle=_,t.cssStyles=f.styles||``;let y=f.styles?.join(`;`)||v||``;t.cssStyles||=y.replaceAll(`!important`,``).split(`;`);let b=f.members.length===0&&f.methods.length===0&&!n.class?.hideEmptyMembersBox,x=d.svg(p),S=h(t,{});t.look!==`handDrawn`&&(S.roughness=0,S.fillStyle=`solid`);let C=Math.max(t.width??0,g.width),w=Math.max(t.height??0,g.height),E=(t.height??0)>g.height;f.members.length===0&&f.methods.length===0?w+=c:f.members.length>0&&f.methods.length===0&&(w+=c*2);let D=-C/2,O=-w/2,k=b?o*2:f.members.length===0&&f.methods.length===0?-o:0;E&&(k=o*2);let A=x.rectangle(D-o,O-o-(b?o:f.members.length===0&&f.methods.length===0?-o/2:0),C+2*o,w+2*o+k,S),j=p.insert(()=>A,`:first-child`);j.attr(`class`,`basic label-container outer-path`);let M=j.node().getBBox(),N=p.select(`.annotation-group`).node().getBBox().height-(b?o/2:0)||0,P=p.select(`.label-group`).node().getBBox().height-(b?o/2:0)||0,F=p.select(`.members-group`).node().getBBox().height-(b?o/2:0)||0,I=(N+P+O+o-(O-o-(b?o:f.members.length===0&&f.methods.length===0?-o/2:0)))/2;if(p.selectAll(`.text`).each((e,t,r)=>{let i=l(r[t]),a=i.attr(`transform`),s=0;if(a){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(a);e&&(s=parseFloat(e[2]))}let d=s+O+o-(b?o:f.members.length===0&&f.methods.length===0?-o/2:0);if(i.attr(`class`).includes(`methods-group`)){let e=Math.max(F,c/2);d=E?Math.max(I,N+P+e+O+c*2+o)+c*2:N+P+e+O+c*4+o}f.members.length===0&&f.methods.length===0&&n.class?.hideEmptyMembersBox&&(d=f.annotations.length>0?s-c:s),u||(d-=4);let m=D;(i.attr(`class`).includes(`label-group`)||i.attr(`class`).includes(`annotation-group`))&&(m=-i.node()?.getBBox().width/2||0,p.selectAll(`text`).each(function(e,t,n){window.getComputedStyle(n[t]).textAnchor===`middle`&&(m=0)})),i.attr(`transform`,`translate(${m}, ${d})`)}),f.members.length>0||f.methods.length>0||b){let e=N+P+O+o,n=x.line(M.x,e,M.x+M.width,e+.001,S);p.insert(()=>n).attr(`class`,`divider${t.look===`neo`&&!a?` neo-line`:``}`).attr(`style`,y)}if(b||f.members.length>0||f.methods.length>0){let e=N+P+F+O+c*2+o,n=x.line(M.x,E?Math.max(I,e):e,M.x+M.width,(E?Math.max(I,e):e)+.001,S);p.insert(()=>n).attr(`class`,`divider${t.look===`neo`&&!a?` neo-line`:``}`).attr(`style`,y)}if(f.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,y),j.select(`:nth-child(2)`).attr(`style`,y),p.selectAll(`.divider`).select(`path`).attr(`style`,y),t.labelStyle?p.selectAll(`span`).attr(`style`,t.labelStyle):p.selectAll(`span`).attr(`style`,y),!u){let e=RegExp(/color\s*:\s*([^;]*)/),t=e.exec(y);if(t){let e=t[0].replace(`color`,`fill`);p.selectAll(`tspan`).attr(`style`,e)}else if(_){let t=e.exec(_);if(t){let e=t[0].replace(`color`,`fill`);p.selectAll(`tspan`).attr(`style`,e)}}}return T(t,j),t.intersect=function(e){return G.rect(t,e)},p}c(Wt,`classBox`);async function Gt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let a=t,o=t,s=`verifyMethod`in t,c=E(t),{themeVariables:u}=i(),{borderColorArray:f,requirementEdgeLabelBackground:p}=u,g=e.insert(`g`).attr(`class`,c).attr(`id`,t.domId??t.id),_;_=s?await $(g,`<<${a.type}>>`,0,t.labelStyle):await $(g,`<<Element>>`,0,t.labelStyle);let v=_,y=await $(g,a.name,v,t.labelStyle+`; font-weight: bold;`);if(v+=y+20,s){let e=await $(g,`${a.requirementId?`ID: ${a.requirementId}`:``}`,v,t.labelStyle);v+=e;let n=await $(g,`${a.text?`Text: ${a.text}`:``}`,v,t.labelStyle);v+=n;let r=await $(g,`${a.risk?`Risk: ${a.risk}`:``}`,v,t.labelStyle);v+=r,await $(g,`${a.verifyMethod?`Verification: ${a.verifyMethod}`:``}`,v,t.labelStyle)}else{let e=await $(g,`${o.type?`Type: ${o.type}`:``}`,v,t.labelStyle);v+=e,await $(g,`${o.docRef?`Doc Ref: ${o.docRef}`:``}`,v,t.labelStyle)}let b=(g.node()?.getBBox().width??200)+20,x=(g.node()?.getBBox().height??200)+20,S=-b/2,C=-x/2,w=d.svg(g),D=h(t,{});t.look!==`handDrawn`&&(D.roughness=0,D.fillStyle=`solid`);let O=w.rectangle(S,C,b,x,D),k=g.insert(()=>O,`:first-child`);if(k.attr(`class`,`basic label-container outer-path`).attr(`style`,r),f?.length){let e=t.colorIndex??0;g.attr(`data-color-id`,`color-${e%f.length}`)}if(g.selectAll(`.label`).each((e,t,n)=>{let r=l(n[t]),i=r.attr(`transform`),a=0,o=0;if(i){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(i);e&&(a=parseFloat(e[1]),o=parseFloat(e[2]))}let s=o-x/2,c=S+20/2;(t===0||t===1)&&(c=a),r.attr(`transform`,`translate(${c}, ${s+20})`)}),v>_+y+20){let e=C+_+y+20,n;if(t.look===`neo`){let t=[[S,e],[S+b,e],[S+b,e+.001],[S,e+.001]];n=w.polygon(t,D)}else n=w.line(S,e,S+b,e,D);g.insert(()=>n).attr(`class`,`divider`)}return T(t,k),t.intersect=function(e){return G.rect(t,e)},r&&t.look!==`handDrawn`&&(p||f?.length)&&g.selectAll(`path`).attr(`style`,r),g}c(Gt,`requirementBox`);async function $(t,n,r,a=``){if(n===``)return 0;let o=t.insert(`g`).attr(`class`,`label`).attr(`style`,a),s=i(),c=s.htmlLabels??!0,u=await x(o,e(v(n)),{width:_(n,s)+50,classes:`markdown-node-label`,useHtmlLabels:c,style:a},s),d;if(c){let e=u.children[0],t=l(u);d=e.getBoundingClientRect(),t.attr(`width`,d.width),t.attr(`height`,d.height)}else{let e=u.children[0];for(let t of e.children)a&&t.setAttribute(`style`,a);d=u.getBBox(),d.height+=6}return o.attr(`transform`,`translate(${-d.width/2},${-d.height/2+r})`),d.height}c($,`addText`);var Kt=c(e=>{switch(e){case`Very High`:return`red`;case`High`:return`orange`;case`Medium`:return null;case`Low`:return`blue`;case`Very Low`:return`lightblue`}},`colorFromPriority`);async function qt(e,t,{config:n}){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r||``;let a=t.width;t.width=(t.width??200)-10;let{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=t.padding||10,u=``,f;`ticket`in t&&t.ticket&&n?.kanban?.ticketBaseUrl&&(u=n?.kanban?.ticketBaseUrl.replace(`#TICKET#`,t.ticket),f=o.insert(`svg:a`,`:first-child`).attr(`class`,`kanban-ticket-link`).attr(`xlink:href`,u).attr(`target`,`_blank`));let p={useHtmlLabels:t.useHtmlLabels,labelStyle:t.labelStyle||``,width:t.width,img:t.img,padding:t.padding||8,centerLabel:!1},g,_;f?{label:g,bbox:_}=await w(f,`ticket`in t&&t.ticket||``,p):{label:g,bbox:_}=await w(o,`ticket`in t&&t.ticket||``,p);let{label:v,bbox:y}=await w(o,`assigned`in t&&t.assigned||``,p);t.width=a;let b=t?.width||0,x=Math.max(_.height,y.height)/2,S=Math.max(s.height+20,t?.height||0)+x,D=-b/2,O=-S/2;c.attr(`transform`,`translate(`+(l-b/2)+`, `+(-x-s.height/2)+`)`),g.attr(`transform`,`translate(`+(l-b/2)+`, `+(-x+s.height/2)+`)`),v.attr(`transform`,`translate(`+(l+b/2-y.width-20)+`, `+(-x+s.height/2)+`)`);let k,{rx:A,ry:j}=t,{cssStyles:M}=t;if(t.look===`handDrawn`){let e=d.svg(o),n=h(t,{}),r=A||j?e.path(N(D,O,b,S,A||0),n):e.rectangle(D,O,b,S,n);k=o.insert(()=>r,`:first-child`),k.attr(`class`,`basic label-container`).attr(`style`,M||null)}else{k=o.insert(`rect`,`:first-child`),k.attr(`class`,`basic label-container __APA__`).attr(`style`,i).attr(`rx`,A??5).attr(`ry`,j??5).attr(`x`,D).attr(`y`,O).attr(`width`,b).attr(`height`,S);let e=`priority`in t&&t.priority;if(e){let t=o.append(`line`),n=D+2,r=O+Math.floor((A??0)/2),i=O+S-Math.floor((A??0)/2);t.attr(`x1`,n).attr(`y1`,r).attr(`x2`,n).attr(`y2`,i).attr(`stroke-width`,`4`).attr(`stroke`,Kt(e))}}return T(t,k),t.height=S,t.intersect=function(e){return G.rect(t,e)},o}c(qt,`kanbanItem`);async function Jt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,halfPadding:o,label:s}=await C(e,t,E(t)),c=a.width+10*o,l=a.height+8*o,f=.15*c,{cssStyles:p}=t,_=a.width+20,v=a.height+20,y=Math.max(c,_),b=Math.max(l,v);s.attr(`transform`,`translate(${-a.width/2}, ${-a.height/2})`);let x,S=`M0 0
|
|
10
|
+
M${g},${_-Q} L${g},${_+p}`;t.look!==`handDrawn`&&(b.roughness=0,b.fillStyle=`solid`);let w=y.path(S,b),D=o.insert(()=>w,`:first-child`);return D.attr(`transform`,`translate(${Q/2}, ${Q/2})`),D.attr(`class`,`basic label-container outer-path`),v&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,v),r&&t.look!==`handDrawn`&&D.selectAll(`path`).attr(`style`,r),c.attr(`transform`,`translate(${-(s.width/2)+Q/2-(s.x-(s.left??0))}, ${-(s.height/2)+Q/2-(s.y-(s.top??0))})`),T(t,D),t.intersect=function(e){return G.polygon(t,x,e)},o}e(It,`windowPane`);var Lt=new Set([`redux-color`,`redux-dark-color`]),Rt=new Set([`redux`,`redux-dark`,`redux-color`,`redux-dark-color`]);async function zt(e,n){let r=n;r.alias&&(n.label=r.alias);let{theme:i,themeVariables:a}=l(),{rowEven:o,rowOdd:s,nodeBorder:c,borderColorArray:f}=a;if(n.look===`handDrawn`){let{themeVariables:t}=l(),{background:r}=t;await zt(e,{...n,id:n.id+`-background`,domId:(n.domId||n.id)+`-background`,look:`default`,cssStyles:[`stroke: none`,`fill: ${r}`]})}let p=l();n.useHtmlLabels=p.htmlLabels;let g=p.er?.diagramPadding??10,v=p.er?.entityPadding??6,{cssStyles:y}=n,{labelStyles:b,nodeStyles:x}=m(n);if(r.attributes.length===0&&n.label){let t={rx:0,ry:0,labelPaddingX:g,labelPaddingY:g*1.5,classes:``};_(n.label,p)+t.labelPaddingX*2<p.er.minEntityWidth&&(n.width=p.er.minEntityWidth);let a=await X(e,n,t);if(i!=null&&Lt.has(i)){let e=r.colorIndex??0;a.attr(`data-color-id`,`color-${e%f.length}`)}if(!u(p.htmlLabels)){let e=a.select(`text`),t=e.node()?.getBBox();e.attr(`transform`,`translate(${-t.width/2}, 0)`)}return a}p.htmlLabels||(g*=1.25,v*=1.25);let S=E(n);S||=`node default`;let C=e.insert(`g`).attr(`class`,S).attr(`id`,n.domId||n.id),w=await Bt(C,n.label??``,p,0,0,[`name`],b);w.height+=v;let D=0,O=[],k=[],A=0,j=0,M=0,N=0,P=!0,F=!0;for(let e of r.attributes){let t=await Bt(C,e.type,p,0,D,[`attribute-type`],b);A=Math.max(A,t.width+g);let n=await Bt(C,e.name,p,0,D,[`attribute-name`],b);j=Math.max(j,n.width+g);let r=await Bt(C,e.keys.join(),p,0,D,[`attribute-keys`],b);M=Math.max(M,r.width+g);let i=await Bt(C,e.comment,p,0,D,[`attribute-comment`],b);N=Math.max(N,i.width+g);let a=Math.max(t.height,n.height,r.height,i.height)+v;k.push({yOffset:D,rowHeight:a}),D+=a}let I=4;M<=g&&(P=!1,M=0,I--),N<=g&&(F=!1,N=0,I--);let ee=C.node().getBBox();if(w.width+g*2-(A+j+M+N)>0){let e=w.width+g*2-(A+j+M+N);A+=e/I,j+=e/I,M>0&&(M+=e/I),N>0&&(N+=e/I)}let te=A+j+M+N,L=d.svg(C),R=h(n,{});n.look!==`handDrawn`&&(R.roughness=0,R.fillStyle=`solid`);let ne=0;k.length>0&&(ne=k.reduce((e,t)=>e+(t?.rowHeight??0),0));let z=Math.max(ee.width+g*2,n?.width||0,te),re=Math.max((ne??0)+w.height,n?.height||0),B=-z/2,V=-re/2;if(C.selectAll(`g:not(:first-child)`).each((e,n,r)=>{let i=t(r[n]),a=i.attr(`transform`),o=0,s=0;if(a){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(a);e&&(o=parseFloat(e[1]),s=parseFloat(e[2]),i.attr(`class`).includes(`attribute-name`)?o+=A:i.attr(`class`).includes(`attribute-keys`)?o+=A+j:i.attr(`class`).includes(`attribute-comment`)&&(o+=A+j+M))}i.attr(`transform`,`translate(${B+g/2+o}, ${s+V+w.height+v/2})`)}),C.select(`.name`).attr(`transform`,`translate(`+-w.width/2+`, `+(V+v/2)+`)`),i!=null&&Lt.has(i)){let e=r.colorIndex??0;C.attr(`data-color-id`,`color-${e%f.length}`)}let ie=L.rectangle(B,V,z,re,R),ae=C.insert(()=>ie,`:first-child`).attr(`class`,`outer-path`).attr(`style`,y.join(``));O.push(0);for(let[e,t]of k.entries()){let n=(e+1)%2==0&&t.yOffset!==0,r=L.rectangle(B,w.height+V+t?.yOffset,z,t?.rowHeight,{...R,fill:n?o:s,stroke:c});C.insert(()=>r,`g.label`).attr(`style`,y.join(``)).attr(`class`,`row-rect-${n?`even`:`odd`}`)}let H=1e-4,U=Vt(B,w.height+V,z+B,w.height+V,H),W=L.polygon(U.map(e=>[e.x,e.y]),R);if(C.insert(()=>W).attr(`class`,`divider`),U=Vt(A+B,w.height+V,A+B,re+V,H),W=L.polygon(U.map(e=>[e.x,e.y]),R),C.insert(()=>W).attr(`class`,`divider`),P){let e=A+j+B;U=Vt(e,w.height+V,e,re+V,H),W=L.polygon(U.map(e=>[e.x,e.y]),R),C.insert(()=>W).attr(`class`,`divider`)}if(F){let e=A+j+M+B;U=Vt(e,w.height+V,e,re+V,H),W=L.polygon(U.map(e=>[e.x,e.y]),R),C.insert(()=>W).attr(`class`,`divider`)}for(let e of O){let t=w.height+V+e;U=Vt(B,t,z+B,t,H),W=L.polygon(U.map(e=>[e.x,e.y]),R),C.insert(()=>W).attr(`class`,`divider`)}if(T(n,ae),x&&n.look!==`handDrawn`)if(i!=null&&Rt.has(i))C.selectAll(`path`).attr(`style`,x);else{let e=x.split(`;`)?.filter(e=>e.includes(`stroke`))?.map(e=>`${e}`).join(`; `);C.selectAll(`path`).attr(`style`,e??``),C.selectAll(`.row-rect-even path`).attr(`style`,x)}return n.intersect=function(e){return G.rect(n,e)},C}e(zt,`erBox`);async function Bt(e,n,r,i=0,a=0,s=[],c=``){let l=e.insert(`g`).attr(`class`,`label ${s.join(` `)}`).attr(`transform`,`translate(${i}, ${a})`).attr(`style`,c);n!==o(n)&&(n=o(n),n=n.replaceAll(`<`,`<`).replaceAll(`>`,`>`));let d=l.node().appendChild(await x(l,n,{width:_(n,r)+100,style:c,useHtmlLabels:r.htmlLabels},r));if(n.includes(`<`)||n.includes(`>`)){let e=d.children[0];for(e.textContent=e.textContent.replaceAll(`<`,`<`).replaceAll(`>`,`>`);e.childNodes[0];)e=e.childNodes[0],e.textContent=e.textContent.replaceAll(`<`,`<`).replaceAll(`>`,`>`)}let f=d.getBBox();if(u(r.htmlLabels)){let e=d.children[0];e.style.textAlign=`start`;let n=t(d);f=e.getBoundingClientRect(),n.attr(`width`,f.width),n.attr(`height`,f.height)}return f}e(Bt,`addText`);function Vt(e,t,n,r,i){return e===n?[{x:e-i/2,y:t},{x:e+i/2,y:t},{x:n+i/2,y:r},{x:n-i/2,y:r}]:[{x:e,y:t-i/2},{x:e,y:t+i/2},{x:n,y:r+i/2},{x:n,y:r-i/2}]}e(Vt,`lineToPolygon`);async function Ht(e,t,n,r,i=n.class.padding??12){let a=r?0:3,o=e.insert(`g`).attr(`class`,E(t)).attr(`id`,t.domId||t.id),s=null,c=null,l=null,u=null,d=0,f=0,p=0;if(s=o.insert(`g`).attr(`class`,`annotation-group text`),t.annotations.length>0){let e=t.annotations[0];await Ut(s,{text:`\xAB${e}\xBB`},0),d=s.node().getBBox().height}c=o.insert(`g`).attr(`class`,`label-group text`),await Ut(c,t,0,[`font-weight: bolder`]);let m=c.node().getBBox();f=m.height,l=o.insert(`g`).attr(`class`,`members-group text`);let h=0;for(let e of t.members){let t=await Ut(l,e,h,[e.parseClassifier()]);h+=t+a}p=l.node().getBBox().height,p<=0&&(p=i/2),u=o.insert(`g`).attr(`class`,`methods-group text`);let g=0;for(let e of t.methods){let t=await Ut(u,e,g,[e.parseClassifier()]);g+=t+a}let _=o.node().getBBox();if(s!==null){let e=s.node().getBBox();s.attr(`transform`,`translate(${-e.width/2})`)}return c.attr(`transform`,`translate(${-m.width/2}, ${d})`),_=o.node().getBBox(),l.attr(`transform`,`translate(0, ${d+f+i*2})`),_=o.node().getBBox(),u.attr(`transform`,`translate(0, ${d+f+(p?p+i*4:i*2)})`),_=o.node().getBBox(),{shapeSvg:o,bbox:_}}e(Ht,`textHelper`);async function Ut(n,i,a,o=[]){let s=n.insert(`g`).attr(`class`,`label`).attr(`style`,o.join(`; `)),d=l(),f=`useHtmlLabels`in i?i.useHtmlLabels:u(d.htmlLabels)??!0,p=``;p=`text`in i?i.text:i.label,!f&&p.startsWith(`\\`)&&(p=p.substring(1)),c(p)&&(f=!0);let m=await x(s,r(v(p)),{width:_(p,d)+50,classes:`markdown-node-label`,useHtmlLabels:f},d),h,g=1;if(f){let n=m.children[0],r=t(m);g=n.innerHTML.split(`<br>`).length,n.innerHTML.includes(`</math>`)&&(g+=n.innerHTML.split(`<mrow>`).length-1);let i=n.getElementsByTagName(`img`);if(i){let t=p.replace(/<img[^>]*>/g,``).trim()===``;await Promise.all([...i].map(n=>new Promise(r=>{function i(){if(n.style.display=`flex`,n.style.flexDirection=`column`,t){let e=d.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,t=parseInt(e,10)*5+`px`;n.style.minWidth=t,n.style.maxWidth=t}else n.style.width=`100%`;r(n)}e(i,`setupImage`),setTimeout(()=>{n.complete&&i()}),n.addEventListener(`error`,i),n.addEventListener(`load`,i)})))}h=n.getBoundingClientRect(),r.attr(`width`,h.width),r.attr(`height`,h.height)}else{o.includes(`font-weight: bolder`)&&t(m).selectAll(`tspan`).attr(`font-weight`,``),g=m.children.length;let e=m.children[0];(m.textContent===``||m.textContent.includes(`>`))&&(e.textContent=p[0]+p.substring(1).replaceAll(`>`,`>`).replaceAll(`<`,`<`).trim(),p[1]===` `&&(e.textContent=e.textContent[0]+` `+e.textContent.substring(1))),e.textContent===`undefined`&&(e.textContent=``),h=m.getBBox()}return s.attr(`transform`,`translate(0,`+(-h.height/(2*g)+a)+`)`),h.height}e(Ut,`addText`);async function Wt(e,n){let r=s(),{themeVariables:i}=r,{useGradient:a}=i,o=r.class.padding??12,c=o,l=n.useHtmlLabels??u(r.htmlLabels)??!0,f=n;f.annotations=f.annotations??[],f.members=f.members??[],f.methods=f.methods??[];let{shapeSvg:p,bbox:g}=await Ht(e,n,r,l,c),{labelStyles:_,nodeStyles:v}=m(n);n.labelStyle=_,n.cssStyles=f.styles||``;let y=f.styles?.join(`;`)||v||``;n.cssStyles||=y.replaceAll(`!important`,``).split(`;`);let b=f.members.length===0&&f.methods.length===0&&!r.class?.hideEmptyMembersBox,x=d.svg(p),S=h(n,{});n.look!==`handDrawn`&&(S.roughness=0,S.fillStyle=`solid`);let C=Math.max(n.width??0,g.width),w=Math.max(n.height??0,g.height),E=(n.height??0)>g.height;f.members.length===0&&f.methods.length===0?w+=c:f.members.length>0&&f.methods.length===0&&(w+=c*2);let D=-C/2,O=-w/2,k=b?o*2:f.members.length===0&&f.methods.length===0?-o:0;E&&(k=o*2);let A=x.rectangle(D-o,O-o-(b?o:f.members.length===0&&f.methods.length===0?-o/2:0),C+2*o,w+2*o+k,S),j=p.insert(()=>A,`:first-child`);j.attr(`class`,`basic label-container outer-path`);let M=j.node().getBBox(),N=p.select(`.annotation-group`).node().getBBox().height-(b?o/2:0)||0,P=p.select(`.label-group`).node().getBBox().height-(b?o/2:0)||0,F=p.select(`.members-group`).node().getBBox().height-(b?o/2:0)||0,I=(N+P+O+o-(O-o-(b?o:f.members.length===0&&f.methods.length===0?-o/2:0)))/2;if(p.selectAll(`.text`).each((e,n,i)=>{let a=t(i[n]),s=a.attr(`transform`),u=0;if(s){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(s);e&&(u=parseFloat(e[2]))}let d=u+O+o-(b?o:f.members.length===0&&f.methods.length===0?-o/2:0);if(a.attr(`class`).includes(`methods-group`)){let e=Math.max(F,c/2);d=E?Math.max(I,N+P+e+O+c*2+o)+c*2:N+P+e+O+c*4+o}f.members.length===0&&f.methods.length===0&&r.class?.hideEmptyMembersBox&&(d=f.annotations.length>0?u-c:u),l||(d-=4);let m=D;(a.attr(`class`).includes(`label-group`)||a.attr(`class`).includes(`annotation-group`))&&(m=-a.node()?.getBBox().width/2||0,p.selectAll(`text`).each(function(e,t,n){window.getComputedStyle(n[t]).textAnchor===`middle`&&(m=0)})),a.attr(`transform`,`translate(${m}, ${d})`)}),f.members.length>0||f.methods.length>0||b){let e=N+P+O+o,t=x.line(M.x,e,M.x+M.width,e+.001,S);p.insert(()=>t).attr(`class`,`divider${n.look===`neo`&&!a?` neo-line`:``}`).attr(`style`,y)}if(b||f.members.length>0||f.methods.length>0){let e=N+P+F+O+c*2+o,t=x.line(M.x,E?Math.max(I,e):e,M.x+M.width,(E?Math.max(I,e):e)+.001,S);p.insert(()=>t).attr(`class`,`divider${n.look===`neo`&&!a?` neo-line`:``}`).attr(`style`,y)}if(f.look!==`handDrawn`&&p.selectAll(`path`).attr(`style`,y),j.select(`:nth-child(2)`).attr(`style`,y),p.selectAll(`.divider`).select(`path`).attr(`style`,y),n.labelStyle?p.selectAll(`span`).attr(`style`,n.labelStyle):p.selectAll(`span`).attr(`style`,y),!l){let e=RegExp(/color\s*:\s*([^;]*)/),t=e.exec(y);if(t){let e=t[0].replace(`color`,`fill`);p.selectAll(`tspan`).attr(`style`,e)}else if(_){let t=e.exec(_);if(t){let e=t[0].replace(`color`,`fill`);p.selectAll(`tspan`).attr(`style`,e)}}}return T(n,j),n.intersect=function(e){return G.rect(n,e)},p}e(Wt,`classBox`);async function Gt(e,n){let{labelStyles:r,nodeStyles:i}=m(n);n.labelStyle=r;let a=n,o=n,c=`verifyMethod`in n,l=E(n),{themeVariables:u}=s(),{borderColorArray:f,requirementEdgeLabelBackground:p}=u,g=e.insert(`g`).attr(`class`,l).attr(`id`,n.domId??n.id),_;_=c?await $(g,`<<${a.type}>>`,0,n.labelStyle):await $(g,`<<Element>>`,0,n.labelStyle);let v=_,y=await $(g,a.name,v,n.labelStyle+`; font-weight: bold;`);if(v+=y+20,c){let e=await $(g,`${a.requirementId?`ID: ${a.requirementId}`:``}`,v,n.labelStyle);v+=e;let t=await $(g,`${a.text?`Text: ${a.text}`:``}`,v,n.labelStyle);v+=t;let r=await $(g,`${a.risk?`Risk: ${a.risk}`:``}`,v,n.labelStyle);v+=r,await $(g,`${a.verifyMethod?`Verification: ${a.verifyMethod}`:``}`,v,n.labelStyle)}else{let e=await $(g,`${o.type?`Type: ${o.type}`:``}`,v,n.labelStyle);v+=e,await $(g,`${o.docRef?`Doc Ref: ${o.docRef}`:``}`,v,n.labelStyle)}let b=(g.node()?.getBBox().width??200)+20,x=(g.node()?.getBBox().height??200)+20,S=-b/2,C=-x/2,w=d.svg(g),D=h(n,{});n.look!==`handDrawn`&&(D.roughness=0,D.fillStyle=`solid`);let O=w.rectangle(S,C,b,x,D),k=g.insert(()=>O,`:first-child`);if(k.attr(`class`,`basic label-container outer-path`).attr(`style`,i),f?.length){let e=n.colorIndex??0;g.attr(`data-color-id`,`color-${e%f.length}`)}if(g.selectAll(`.label`).each((e,n,r)=>{let i=t(r[n]),a=i.attr(`transform`),o=0,s=0;if(a){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(a);e&&(o=parseFloat(e[1]),s=parseFloat(e[2]))}let c=s-x/2,l=S+20/2;(n===0||n===1)&&(l=o),i.attr(`transform`,`translate(${l}, ${c+20})`)}),v>_+y+20){let e=C+_+y+20,t;if(n.look===`neo`){let n=[[S,e],[S+b,e],[S+b,e+.001],[S,e+.001]];t=w.polygon(n,D)}else t=w.line(S,e,S+b,e,D);g.insert(()=>t).attr(`class`,`divider`)}return T(n,k),n.intersect=function(e){return G.rect(n,e)},i&&n.look!==`handDrawn`&&(p||f?.length)&&g.selectAll(`path`).attr(`style`,i),g}e(Gt,`requirementBox`);async function $(e,n,i,a=``){if(n===``)return 0;let o=e.insert(`g`).attr(`class`,`label`).attr(`style`,a),c=s(),l=c.htmlLabels??!0,u=await x(o,r(v(n)),{width:_(n,c)+50,classes:`markdown-node-label`,useHtmlLabels:l,style:a},c),d;if(l){let e=u.children[0],n=t(u);d=e.getBoundingClientRect(),n.attr(`width`,d.width),n.attr(`height`,d.height)}else{let e=u.children[0];for(let t of e.children)a&&t.setAttribute(`style`,a);d=u.getBBox(),d.height+=6}return o.attr(`transform`,`translate(${-d.width/2},${-d.height/2+i})`),d.height}e($,`addText`);var Kt=e(e=>{switch(e){case`Very High`:return`red`;case`High`:return`orange`;case`Medium`:return null;case`Low`:return`blue`;case`Very Low`:return`lightblue`}},`colorFromPriority`);async function qt(e,t,{config:n}){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r||``;let a=t.width;t.width=(t.width??200)-10;let{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=t.padding||10,u=``,f;`ticket`in t&&t.ticket&&n?.kanban?.ticketBaseUrl&&(u=n?.kanban?.ticketBaseUrl.replace(`#TICKET#`,t.ticket),f=o.insert(`svg:a`,`:first-child`).attr(`class`,`kanban-ticket-link`).attr(`xlink:href`,u).attr(`target`,`_blank`));let p={useHtmlLabels:t.useHtmlLabels,labelStyle:t.labelStyle||``,width:t.width,img:t.img,padding:t.padding||8,centerLabel:!1},g,_;f?{label:g,bbox:_}=await w(f,`ticket`in t&&t.ticket||``,p):{label:g,bbox:_}=await w(o,`ticket`in t&&t.ticket||``,p);let{label:v,bbox:y}=await w(o,`assigned`in t&&t.assigned||``,p);t.width=a;let b=t?.width||0,x=Math.max(_.height,y.height)/2,S=Math.max(s.height+20,t?.height||0)+x,D=-b/2,O=-S/2;c.attr(`transform`,`translate(`+(l-b/2)+`, `+(-x-s.height/2)+`)`),g.attr(`transform`,`translate(`+(l-b/2)+`, `+(-x+s.height/2)+`)`),v.attr(`transform`,`translate(`+(l+b/2-y.width-20)+`, `+(-x+s.height/2)+`)`);let k,{rx:A,ry:j}=t,{cssStyles:M}=t;if(t.look===`handDrawn`){let e=d.svg(o),n=h(t,{}),r=A||j?e.path(N(D,O,b,S,A||0),n):e.rectangle(D,O,b,S,n);k=o.insert(()=>r,`:first-child`),k.attr(`class`,`basic label-container`).attr(`style`,M||null)}else{k=o.insert(`rect`,`:first-child`),k.attr(`class`,`basic label-container __APA__`).attr(`style`,i).attr(`rx`,A??5).attr(`ry`,j??5).attr(`x`,D).attr(`y`,O).attr(`width`,b).attr(`height`,S);let e=`priority`in t&&t.priority;if(e){let t=o.append(`line`),n=D+2,r=O+Math.floor((A??0)/2),i=O+S-Math.floor((A??0)/2);t.attr(`x1`,n).attr(`y1`,r).attr(`x2`,n).attr(`y2`,i).attr(`stroke-width`,`4`).attr(`stroke`,Kt(e))}}return T(t,k),t.height=S,t.intersect=function(e){return G.rect(t,e)},o}e(qt,`kanbanItem`);async function Jt(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,halfPadding:s,label:c}=await C(e,t,E(t)),l=o.width+10*s,u=o.height+8*s,f=.15*l,{cssStyles:p}=t,_=o.width+20,v=o.height+20,y=Math.max(l,_),b=Math.max(u,v);c.attr(`transform`,`translate(${-o.width/2}, ${-o.height/2})`);let x,S=`M0 0
|
|
11
11
|
a${f},${f} 1 0,0 ${y*.25},${-1*b*.1}
|
|
12
12
|
a${f},${f} 1 0,0 ${y*.25},0
|
|
13
13
|
a${f},${f} 1 0,0 ${y*.25},0
|
|
@@ -25,21 +25,21 @@ import{A as e,C as t,D as n,E as r,Z as i,f as a,l as o,o as s}from"./chunk-67TQ
|
|
|
25
25
|
a${f},${f} 1 0,0 ${-1*y*.1},${-1*b*.33}
|
|
26
26
|
a${f*.8},${f*.8} 1 0,0 0,${-1*b*.34}
|
|
27
27
|
a${f},${f} 1 0,0 ${y*.1},${-1*b*.33}
|
|
28
|
-
H0 V0 Z`;if(t.look===`handDrawn`){let e=d.svg(
|
|
29
|
-
a${f},${f} 0 0,1 ${
|
|
30
|
-
a${_},${_} 1 0,1 ${
|
|
31
|
-
a${p},${p} 1 0,1 ${
|
|
28
|
+
H0 V0 Z`;if(t.look===`handDrawn`){let e=d.svg(a),n=h(t,{}),r=e.path(S,n);x=a.insert(()=>r,`:first-child`),x.attr(`class`,`basic label-container`).attr(`style`,g(p))}else x=a.insert(`path`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,i).attr(`d`,S);return x.attr(`transform`,`translate(${-y/2}, ${-b/2})`),T(t,x),t.calcIntersect=function(e,t){return G.rect(e,t)},t.intersect=function(e){return n.info(`Bang intersect`,t,e),G.rect(t,e)},a}e(Jt,`bang`);async function Yt(e,t){let{labelStyles:r,nodeStyles:i}=m(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,halfPadding:s,label:c}=await C(e,t,E(t)),l=o.width+2*s,u=o.height+2*s,f=.15*l,p=.25*l,_=.35*l,v=.2*l,{cssStyles:y}=t,b,x=`M0 0
|
|
29
|
+
a${f},${f} 0 0,1 ${l*.25},${-1*l*.1}
|
|
30
|
+
a${_},${_} 1 0,1 ${l*.4},${-1*l*.1}
|
|
31
|
+
a${p},${p} 1 0,1 ${l*.35},${l*.2}
|
|
32
32
|
|
|
33
|
-
a${f},${f} 1 0,1 ${
|
|
34
|
-
a${v},${v} 1 0,1 ${-1*
|
|
33
|
+
a${f},${f} 1 0,1 ${l*.15},${u*.35}
|
|
34
|
+
a${v},${v} 1 0,1 ${-1*l*.15},${u*.65}
|
|
35
35
|
|
|
36
|
-
a${p},${f} 1 0,1 ${-1*
|
|
37
|
-
a${_},${_} 1 0,1 ${-1*
|
|
38
|
-
a${f},${f} 1 0,1 ${-1*
|
|
36
|
+
a${p},${f} 1 0,1 ${-1*l*.25},${l*.15}
|
|
37
|
+
a${_},${_} 1 0,1 ${-1*l*.5},0
|
|
38
|
+
a${f},${f} 1 0,1 ${-1*l*.25},${-1*l*.15}
|
|
39
39
|
|
|
40
|
-
a${f},${f} 1 0,1 ${-1*
|
|
41
|
-
a${v},${v} 1 0,1 ${
|
|
42
|
-
H0 V0 Z`;if(t.look===`handDrawn`){let e=d.svg(
|
|
40
|
+
a${f},${f} 1 0,1 ${-1*l*.1},${-1*u*.35}
|
|
41
|
+
a${v},${v} 1 0,1 ${l*.1},${-1*u*.65}
|
|
42
|
+
H0 V0 Z`;if(t.look===`handDrawn`){let e=d.svg(a),n=h(t,{}),r=e.path(x,n);b=a.insert(()=>r,`:first-child`),b.attr(`class`,`basic label-container`).attr(`style`,g(y))}else b=a.insert(`path`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,i).attr(`d`,x);return c.attr(`transform`,`translate(${-o.width/2}, ${-o.height/2})`),b.attr(`transform`,`translate(${-l/2}, ${-u/2})`),T(t,b),t.calcIntersect=function(e,t){return G.rect(e,t)},t.intersect=function(e){return n.info(`Cloud intersect`,t,e),G.rect(t,e)},a}e(Yt,`cloud`);async function Xt(e,t){let{labelStyles:n,nodeStyles:r}=m(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,halfPadding:o,label:s}=await C(e,t,E(t)),c=a.width+8*o,l=a.height+2*o,u=t.look===`neo`?`
|
|
43
43
|
M${-c/2} ${l/2-5}
|
|
44
44
|
v${-l+10}
|
|
45
45
|
q0,-5 5,-5
|
|
@@ -59,4 +59,4 @@ import{A as e,C as t,D as n,E as r,Z as i,f as a,l as o,o as s}from"./chunk-67TQ
|
|
|
59
59
|
h${-(c-10)}
|
|
60
60
|
q-5,0 -5,-5
|
|
61
61
|
Z
|
|
62
|
-
`;if(!t.domId)throw Error(`defaultMindmapNode: node "${t.id}" is missing a domId \u2014 was render.ts domId prefixing skipped?`);let d=i.append(`path`).attr(`id`,t.domId).attr(`class`,`node-bkg node-`+t.type).attr(`style`,r).attr(`d`,u);return i.append(`line`).attr(`class`,`node-line-`).attr(`x1`,-c/2).attr(`y1`,l/2).attr(`x2`,c/2).attr(`y2`,l/2),s.attr(`transform`,`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>s.node()),T(t,d),t.calcIntersect=function(e,t){return G.rect(e,t)},t.intersect=function(e){return G.rect(t,e)},i}
|
|
62
|
+
`;if(!t.domId)throw Error(`defaultMindmapNode: node "${t.id}" is missing a domId \u2014 was render.ts domId prefixing skipped?`);let d=i.append(`path`).attr(`id`,t.domId).attr(`class`,`node-bkg node-`+t.type).attr(`style`,r).attr(`d`,u);return i.append(`line`).attr(`class`,`node-line-`).attr(`x1`,-c/2).attr(`y1`,l/2).attr(`x2`,c/2).attr(`y2`,l/2),s.attr(`transform`,`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>s.node()),T(t,d),t.calcIntersect=function(e,t){return G.rect(e,t)},t.intersect=function(e){return G.rect(t,e)},i}e(Xt,`defaultMindmapNode`);async function Zt(e,t){return me(e,t,{padding:t.padding??0})}e(Zt,`mindmapCircle`);var Qt=[{semanticName:`Process`,name:`Rectangle`,shortName:`rect`,description:`Standard process shape`,aliases:[`proc`,`process`,`rectangle`],internalAliases:[`squareRect`],handler:ft},{semanticName:`Event`,name:`Rounded Rectangle`,shortName:`rounded`,description:`Represents an event`,aliases:[`event`],internalAliases:[`roundedRect`],handler:lt},{semanticName:`Terminal Point`,name:`Stadium`,shortName:`stadium`,description:`Terminal point`,aliases:[`terminal`,`pill`],handler:pt},{semanticName:`Subprocess`,name:`Framed Rectangle`,shortName:`fr-rect`,description:`Subprocess`,aliases:[`subprocess`,`subproc`,`framed-rectangle`,`subroutine`],handler:vt},{semanticName:`Database`,name:`Cylinder`,shortName:`cyl`,description:`Database storage`,aliases:[`db`,`database`,`cylinder`],handler:Ee},{semanticName:`Data Store`,name:`Data Store`,shortName:`datastore`,description:`Data flow diagram data store`,aliases:[`data-store`],handler:De},{semanticName:`Start`,name:`Circle`,shortName:`circle`,description:`Starting point`,aliases:[`circ`],handler:me},{semanticName:`Bang`,name:`Bang`,shortName:`bang`,description:`Bang`,aliases:[`bang`],handler:Jt},{semanticName:`Cloud`,name:`Cloud`,shortName:`cloud`,description:`cloud`,aliases:[`cloud`],handler:Yt},{semanticName:`Decision`,name:`Diamond`,shortName:`diam`,description:`Decision-making step`,aliases:[`decision`,`diamond`,`question`],handler:ot},{semanticName:`Prepare Conditional`,name:`Hexagon`,shortName:`hex`,description:`Preparation or condition step`,aliases:[`hexagon`,`prepare`],handler:Le},{semanticName:`Data Input/Output`,name:`Lean Right`,shortName:`lean-r`,description:`Represents input or output`,aliases:[`lean-right`,`in-out`],internalAliases:[`lean_right`],handler:qe},{semanticName:`Data Input/Output`,name:`Lean Left`,shortName:`lean-l`,description:`Represents output or input`,aliases:[`lean-left`,`out-in`],internalAliases:[`lean_left`],handler:Ke},{semanticName:`Priority Action`,name:`Trapezoid Base Bottom`,shortName:`trap-b`,description:`Priority action`,aliases:[`priority`,`trapezoid-bottom`,`trapezoid`],handler:kt},{semanticName:`Manual Operation`,name:`Trapezoid Base Top`,shortName:`trap-t`,description:`Represents a manual task`,aliases:[`manual`,`trapezoid-top`,`inv-trapezoid`],internalAliases:[`inv_trapezoid`],handler:We},{semanticName:`Stop`,name:`Double Circle`,shortName:`dbl-circ`,description:`Represents a stop point`,aliases:[`double-circle`],internalAliases:[`doublecircle`],handler:ke},{semanticName:`Text Block`,name:`Text Block`,shortName:`text`,description:`Text block`,handler:St},{semanticName:`Card`,name:`Notched Rectangle`,shortName:`notch-rect`,description:`Represents a card`,aliases:[`card`,`notched-rectangle`],handler:fe},{semanticName:`Lined/Shaded Process`,name:`Lined Rectangle`,shortName:`lin-rect`,description:`Lined process shape`,aliases:[`lined-rectangle`,`lined-process`,`lin-proc`,`shaded-process`],handler:ut},{semanticName:`Start`,name:`Small Circle`,shortName:`sm-circ`,description:`Small starting point`,aliases:[`start`,`small-circle`],internalAliases:[`stateStart`],handler:gt},{semanticName:`Stop`,name:`Framed Circle`,shortName:`fr-circ`,description:`Stop point`,aliases:[`stop`,`framed-circle`],internalAliases:[`stateEnd`],handler:ht},{semanticName:`Fork/Join`,name:`Filled Rectangle`,shortName:`fork`,description:`Fork or join in process flow`,aliases:[`join`],internalAliases:[`forkJoin`],handler:Pe},{semanticName:`Collate`,name:`Hourglass`,shortName:`hourglass`,description:`Represents a collate operation`,aliases:[`hourglass`,`collate`],handler:Re},{semanticName:`Comment`,name:`Curly Brace`,shortName:`brace`,description:`Adds a comment`,aliases:[`comment`,`brace-l`],handler:_e},{semanticName:`Comment Right`,name:`Curly Brace`,shortName:`brace-r`,description:`Adds a comment`,handler:ve},{semanticName:`Comment with braces on both sides`,name:`Curly Braces`,shortName:`braces`,description:`Adds a comment`,handler:ye},{semanticName:`Com Link`,name:`Lightning Bolt`,shortName:`bolt`,description:`Communication link`,aliases:[`com-link`,`lightning-bolt`],handler:Je},{semanticName:`Document`,name:`Document`,shortName:`doc`,description:`Represents a document`,aliases:[`doc`,`document`],handler:Pt},{semanticName:`Delay`,name:`Half-Rounded Rectangle`,shortName:`delay`,description:`Represents a delay`,aliases:[`half-rounded-rectangle`],handler:Fe},{semanticName:`Direct Access Storage`,name:`Horizontal Cylinder`,shortName:`h-cyl`,description:`Direct access storage`,aliases:[`das`,`horizontal-cylinder`],handler:Ot},{semanticName:`Disk Storage`,name:`Lined Cylinder`,shortName:`lin-cyl`,description:`Disk storage`,aliases:[`disk`,`lined-cylinder`],handler:et},{semanticName:`Display`,name:`Curved Trapezoid`,shortName:`curv-trap`,description:`Represents a display`,aliases:[`curved-trapezoid`,`display`],handler:be},{semanticName:`Divided Process`,name:`Divided Rectangle`,shortName:`div-rect`,description:`Divided process shape`,aliases:[`div-proc`,`divided-rectangle`,`divided-process`],handler:Oe},{semanticName:`Extract`,name:`Triangle`,shortName:`tri`,description:`Extraction process`,aliases:[`extract`,`triangle`],handler:Nt},{semanticName:`Internal Storage`,name:`Window Pane`,shortName:`win-pane`,description:`Internal storage`,aliases:[`internal-storage`,`window-pane`],handler:It},{semanticName:`Junction`,name:`Filled Circle`,shortName:`f-circ`,description:`Junction point`,aliases:[`junction`,`filled-circle`],handler:Ae},{semanticName:`Loop Limit`,name:`Trapezoidal Pentagon`,shortName:`notch-pent`,description:`Loop limit step`,aliases:[`loop-limit`,`notched-pentagon`],handler:At},{semanticName:`Manual File`,name:`Flipped Triangle`,shortName:`flip-tri`,description:`Manual file operation`,aliases:[`manual-file`,`flipped-triangle`],handler:Ne},{semanticName:`Manual Input`,name:`Sloped Rectangle`,shortName:`sl-rect`,description:`Manual input step`,aliases:[`manual-input`,`sloped-rectangle`],handler:dt},{semanticName:`Multi-Document`,name:`Stacked Document`,shortName:`docs`,description:`Multiple documents`,aliases:[`documents`,`st-doc`,`stacked-document`],handler:rt},{semanticName:`Multi-Process`,name:`Stacked Rectangle`,shortName:`st-rect`,description:`Multiple processes`,aliases:[`procs`,`processes`,`stacked-rectangle`],handler:nt},{semanticName:`Stored Data`,name:`Bow Tie Rectangle`,shortName:`bow-rect`,description:`Stored data`,aliases:[`stored-data`,`bow-tie-rectangle`],handler:ue},{semanticName:`Summary`,name:`Crossed Circle`,shortName:`cross-circ`,description:`Summary`,aliases:[`summary`,`crossed-circle`],handler:ge},{semanticName:`Tagged Document`,name:`Tagged Document`,shortName:`tag-doc`,description:`Tagged document`,aliases:[`tag-doc`,`tagged-document`],handler:xt},{semanticName:`Tagged Process`,name:`Tagged Rectangle`,shortName:`tag-rect`,description:`Tagged process`,aliases:[`tagged-rectangle`,`tag-proc`,`tagged-process`],handler:bt},{semanticName:`Paper Tape`,name:`Flag`,shortName:`flag`,description:`Paper tape`,aliases:[`paper-tape`],handler:Ft},{semanticName:`Odd`,name:`Odd`,shortName:`odd`,description:`Odd shape`,internalAliases:[`rect_left_inv_arrow`],handler:st},{semanticName:`Lined Document`,name:`Lined Document`,shortName:`lin-doc`,description:`Lined document`,aliases:[`lined-document`],handler:tt}],$t=e(()=>{let e=[...Object.entries({state:mt,choice:pe,note:it,rectWithTitle:ct,labelRect:Ge,iconSquare:He,iconCircle:Be,icon:ze,iconRounded:Ve,imageSquare:Ue,anchor:se,kanbanItem:qt,mindmapCircle:Zt,defaultMindmapNode:Xt,classBox:Wt,erBox:zt,requirementBox:Gt}),...Qt.flatMap(e=>[e.shortName,...`aliases`in e?e.aliases:[],...`internalAliases`in e?e.internalAliases:[]].map(t=>[t,e.handler]))];return Object.fromEntries(e)},`generateShapeMap`)();function en(e){return e in $t}e(en,`isValidShape`);var tn=new Map;async function nn(e,t,n){let r,i;t.shape===`rect`&&(t.rx&&t.ry?t.shape=`roundedRect`:t.shape=`squareRect`);let a=t.shape?$t[t.shape]:void 0;if(!a)throw Error(`No such shape: ${t.shape}. Please check your syntax.`);if(t.link){let o;n.config.securityLevel===`sandbox`?o=`_top`:t.linkTarget&&(o=t.linkTarget||`_blank`),r=e.insert(`svg:a`).attr(`xlink:href`,t.link).attr(`target`,o??null),i=await a(r,t,n)}else i=await a(e,t,n),r=i;return r.attr(`data-look`,g(t.look)),t.tooltip&&i.attr(`title`,t.tooltip),tn.set(t.id,r),t.haveCallback&&r.attr(`class`,r.attr(`class`)+` clickable`),r}e(nn,`insertNode`);var rn=e((e,t)=>{tn.set(t.id,e)},`setNodeElem`),an=e(()=>{tn.clear()},`clear`),on=e(e=>{let t=tn.get(e.id);n.trace(`Transforming node`,e.diff,e,`translate(`+(e.x-e.width/2-5)+`, `+e.width/2+`)`);let r=e.diff||0;return e.clusterNode?t.attr(`transform`,`translate(`+(e.x+r-e.width/2)+`, `+(e.y-e.height/2-8)+`)`):t.attr(`transform`,`translate(`+e.x+`, `+e.y+`)`),r},`positionNode`);export{R as a,rn as c,on as i,T as l,ne as n,nn as o,an as r,en as s,C as t,M as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./chunk-AQ6EADP3-CZhslHi-.js";import{_ as t,c as n,f as r,h as i,i as a,m as o,n as s,p as c,y as l}from"./chunk-4R4BOZG6-Be_F0JoX.js";var u=class extends a{static{e(this,`InfoTokenBuilder`)}static{t(this,`InfoTokenBuilder`)}constructor(){super([`info`,`showInfo`])}},d={parser:{TokenBuilder:t(()=>new u,`TokenBuilder`),ValueConverter:t(()=>new l,`ValueConverter`)}};function f(e=o){let t=i(c(e),r),a=i(s({shared:t}),n,d);return t.ServiceRegistry.register(a),{shared:t,Info:a}}e(f,`createInfoServices`),t(f,`createInfoServices`);export{d as n,f as t};
|