cotutor 0.2.0 → 0.4.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/LICENSE +249 -21
- package/NOTICE +42 -0
- package/README.md +115 -20
- package/avatars/chinese.webp +0 -0
- package/avatars/english.webp +0 -0
- package/avatars/math.webp +0 -0
- package/bin/cotutor.js +15 -5
- package/cards/canvas/card.css +8 -0
- package/cards/canvas/card.md +68 -0
- package/cards/choice/card.css +18 -0
- package/cards/choice/card.md +55 -0
- package/cards/code/card.css +5 -0
- package/cards/code/card.md +46 -0
- package/cards/dictation/card.css +10 -0
- package/cards/dictation/card.md +97 -0
- package/cards/image/card.css +10 -0
- package/cards/image/card.md +52 -0
- package/cards/lecture/card.css +9 -0
- package/cards/lecture/card.md +69 -0
- package/cards/paint/card.css +20 -0
- package/cards/paint/card.md +77 -0
- package/cards/photo/card.css +22 -0
- package/cards/photo/card.md +61 -0
- package/cards/read/card.css +6 -0
- package/cards/read/card.md +51 -0
- package/cards/text/card.css +3 -0
- package/cards/text/card.md +69 -0
- package/cards/tianzige/card.css +17 -0
- package/cards/tianzige/card.md +78 -0
- package/cards/tutor/card.css +79 -0
- package/cards/tutor/card.md +149 -0
- package/cards/word/card.css +24 -0
- package/cards/word/card.md +91 -0
- package/cards//346/235/277/344/271/246/346/200/216/344/271/210/345/206/231.md +159 -0
- package/dist/app/activity-eval-rules.d.ts +62 -0
- package/dist/app/activity-eval-rules.js +276 -0
- package/dist/app/activity-eval.d.ts +65 -0
- package/dist/app/activity-eval.js +159 -0
- package/dist/app/build.d.ts +11 -0
- package/dist/app/build.js +45 -0
- package/dist/app/cli/activities.d.ts +70 -0
- package/dist/app/cli/activities.js +196 -0
- package/dist/app/cli/cert.d.ts +12 -0
- package/dist/app/cli/cert.js +49 -0
- package/dist/app/cli/chalk/bake.d.ts +10 -0
- package/dist/app/cli/chalk/bake.js +58 -0
- package/dist/app/cli/chalk/browser.d.ts +16 -0
- package/dist/app/cli/chalk/browser.js +157 -0
- package/dist/app/cli/chalk/build.d.ts +14 -0
- package/dist/app/cli/chalk/build.js +100 -0
- package/dist/app/cli/chalk/dub.d.ts +51 -0
- package/dist/app/cli/chalk/dub.js +106 -0
- package/dist/app/cli/chalk/load-scene.d.ts +34 -0
- package/dist/app/cli/chalk/load-scene.js +117 -0
- package/dist/app/cli/chalk/main.d.ts +7 -0
- package/dist/app/cli/chalk/main.js +199 -0
- package/dist/app/cli/chalk/serve.d.ts +4 -0
- package/dist/app/cli/chalk/serve.js +28 -0
- package/dist/app/cli/chalk/snap.d.ts +65 -0
- package/dist/app/cli/chalk/snap.js +103 -0
- package/dist/app/cli/chalk/typecheck.d.ts +7 -0
- package/dist/app/cli/chalk/typecheck.js +51 -0
- package/dist/app/cli/doctor.d.ts +24 -0
- package/dist/app/cli/doctor.js +553 -0
- package/dist/app/cli/firewall.d.ts +24 -0
- package/dist/app/cli/firewall.js +79 -0
- package/dist/app/cli/grades.d.ts +14 -0
- package/dist/app/cli/grades.js +44 -0
- package/dist/{cli → app/cli}/init.d.ts +3 -1
- package/dist/app/cli/init.js +158 -0
- package/dist/app/cli/main.js +1038 -0
- package/dist/app/cli/migrate.d.ts +49 -0
- package/dist/app/cli/migrate.js +195 -0
- package/dist/app/cli/port-holder.d.ts +16 -0
- package/dist/app/cli/port-holder.js +34 -0
- package/dist/app/cli/port.d.ts +37 -0
- package/dist/app/cli/port.js +116 -0
- package/dist/app/cli/sandbox.d.ts +25 -0
- package/dist/app/cli/sandbox.js +166 -0
- package/dist/app/cli/serve-log.d.ts +13 -0
- package/dist/app/cli/serve-log.js +90 -0
- package/dist/app/cli/serve.d.ts +51 -0
- package/dist/app/cli/serve.js +168 -0
- package/dist/app/cli/service-windows.d.ts +50 -0
- package/dist/app/cli/service-windows.js +117 -0
- package/dist/app/cli/service.d.ts +138 -0
- package/dist/app/cli/service.js +429 -0
- package/dist/app/cli/shipped.d.ts +30 -0
- package/dist/app/cli/shipped.js +47 -0
- package/dist/app/cli/skeleton.d.ts +38 -0
- package/dist/app/cli/skeleton.js +161 -0
- package/dist/app/cli/skills.d.ts +59 -0
- package/dist/app/cli/skills.js +199 -0
- package/dist/app/cli/themes.d.ts +52 -0
- package/dist/app/cli/themes.js +148 -0
- package/dist/app/cli/tray-icons.d.ts +11 -0
- package/dist/app/cli/tray-icons.js +87 -0
- package/dist/app/cli/tray-ids.d.ts +6 -0
- package/dist/app/cli/tray-ids.js +6 -0
- package/dist/app/cli/tray-mac.d.ts +8 -0
- package/dist/app/cli/tray-mac.js +140 -0
- package/dist/app/cli/tray-run.d.ts +1 -0
- package/dist/app/cli/tray-run.js +33 -0
- package/dist/app/cli/tray-windows.d.ts +5 -0
- package/dist/app/cli/tray-windows.js +166 -0
- package/dist/app/cli/tray.d.ts +205 -0
- package/dist/app/cli/tray.js +618 -0
- package/dist/{cli → app/cli}/tutors.d.ts +15 -26
- package/dist/{cli → app/cli}/tutors.js +86 -110
- package/dist/app/cli/usage.d.ts +2 -0
- package/dist/app/cli/usage.js +35 -0
- package/dist/app/dictation/recognize.d.ts +18 -0
- package/dist/app/dictation/recognize.js +6 -0
- package/dist/app/dictation/route.d.ts +52 -0
- package/dist/app/dictation/route.js +511 -0
- package/dist/app/diff.d.ts +11 -0
- package/dist/app/diff.js +71 -0
- package/dist/app/http/access.d.ts +62 -0
- package/dist/app/http/access.js +180 -0
- package/dist/app/http/app.d.ts +241 -0
- package/dist/app/http/app.js +1159 -0
- package/dist/app/http/avatars.d.ts +17 -0
- package/dist/app/http/avatars.js +35 -0
- package/dist/app/http/dev-activities.d.ts +115 -0
- package/dist/app/http/dev-activities.js +193 -0
- package/dist/app/http/dev-overview.d.ts +108 -0
- package/dist/app/http/dev-overview.js +209 -0
- package/dist/app/http/dev-tutor-files.d.ts +80 -0
- package/dist/app/http/dev-tutor-files.js +151 -0
- package/dist/app/http/parent-home.d.ts +51 -0
- package/dist/app/http/parent-home.js +266 -0
- package/dist/app/http/parent-look.d.ts +2 -0
- package/dist/app/http/parent-look.js +151 -0
- package/dist/app/http/range.d.ts +9 -0
- package/dist/app/http/range.js +19 -0
- package/dist/app/http/raw-view.d.ts +117 -0
- package/dist/app/http/raw-view.js +149 -0
- package/dist/app/http/send-file.d.ts +7 -0
- package/dist/app/http/send-file.js +29 -0
- package/dist/{server → app/http}/stage.d.ts +9 -0
- package/dist/{server → app/http}/stage.js +34 -6
- package/dist/app/http/theme.d.ts +13 -0
- package/dist/app/http/theme.js +41 -0
- package/dist/app/http/voice-preview.d.ts +4 -0
- package/dist/app/http/voice-preview.js +34 -0
- package/dist/app/machine/bailian.d.ts +26 -0
- package/dist/app/machine/bailian.js +87 -0
- package/dist/app/mock/mock-live.d.ts +16 -0
- package/dist/app/mock/mock-live.js +140 -0
- package/dist/{server → app/mock}/mock.d.ts +38 -5
- package/dist/app/mock/mock.js +1125 -0
- package/dist/app/replay.d.ts +94 -0
- package/dist/app/replay.js +170 -0
- package/dist/app/skills/analyze-doc.d.ts +3 -0
- package/dist/app/skills/analyze-doc.js +47 -0
- package/dist/app/skills/home-doc.d.ts +5 -0
- package/dist/app/skills/home-doc.js +112 -0
- package/dist/app/skills/tune-doc.d.ts +3 -0
- package/dist/app/skills/tune-doc.js +80 -0
- package/dist/app/talk/list.d.ts +11 -0
- package/dist/app/talk/list.js +9 -0
- package/dist/app/talk/route.d.ts +16 -0
- package/dist/app/talk/route.js +142 -0
- package/dist/app/workspace.d.ts +63 -0
- package/dist/{cli → app}/workspace.js +100 -52
- package/dist/app/ws/route.d.ts +31 -0
- package/dist/app/ws/route.js +33 -0
- package/dist/app/ws/ws.d.ts +31 -0
- package/dist/app/ws/ws.js +169 -0
- package/dist/board/canvas-chat.d.ts +97 -0
- package/dist/board/canvas-chat.js +175 -0
- package/dist/board/card-guards.d.ts +15 -0
- package/dist/board/card-guards.js +38 -0
- package/dist/board/cards/canvas.d.ts +41 -0
- package/dist/board/cards/canvas.js +83 -0
- package/dist/{cards → board/cards}/choice.js +0 -12
- package/dist/{cards → board/cards}/code.js +0 -3
- package/dist/board/cards/dictation.d.ts +42 -0
- package/dist/board/cards/dictation.js +105 -0
- package/dist/board/cards/docs.d.ts +47 -0
- package/dist/board/cards/docs.js +152 -0
- package/dist/{cards → board/cards}/image.js +1 -10
- package/dist/board/cards/index.d.ts +62 -0
- package/dist/board/cards/index.js +144 -0
- package/dist/{cards → board/cards}/kind.d.ts +10 -4
- package/dist/board/cards/kind.js +9 -0
- package/dist/board/cards/lecture.d.ts +26 -0
- package/dist/board/cards/lecture.js +62 -0
- package/dist/board/cards/paint.d.ts +38 -0
- package/dist/board/cards/paint.js +85 -0
- package/dist/board/cards/photo.d.ts +15 -0
- package/dist/board/cards/photo.js +29 -0
- package/dist/{cards → board/cards}/read.js +1 -10
- package/dist/board/cards/text.d.ts +20 -0
- package/dist/board/cards/text.js +59 -0
- package/dist/board/cards/tianzige.d.ts +16 -0
- package/dist/board/cards/tianzige.js +64 -0
- package/dist/board/cards/tutor.d.ts +72 -0
- package/dist/board/cards/tutor.js +134 -0
- package/dist/board/cards/word.d.ts +20 -0
- package/dist/board/cards/word.js +76 -0
- package/dist/board/lecture.d.ts +100 -0
- package/dist/board/lecture.js +204 -0
- package/dist/board/paper.d.ts +20 -0
- package/dist/board/paper.js +76 -0
- package/dist/board/parse.d.ts +118 -0
- package/dist/board/parse.js +324 -0
- package/dist/board/presentation.d.ts +289 -0
- package/dist/board/presentation.js +613 -0
- package/dist/board/sections.d.ts +16 -0
- package/dist/board/sections.js +130 -0
- package/dist/brain/api-tools.d.ts +8 -0
- package/dist/brain/api-tools.js +191 -0
- package/dist/brain/api.d.ts +57 -0
- package/dist/brain/api.js +394 -0
- package/dist/brain/index.d.ts +97 -0
- package/dist/brain/index.js +11 -0
- package/dist/brain/log.d.ts +5 -0
- package/dist/brain/log.js +22 -0
- package/dist/brain/runtime.d.ts +30 -0
- package/dist/brain/runtime.js +23 -0
- package/dist/brain/stream-json.d.ts +16 -0
- package/dist/brain/stream-json.js +82 -0
- package/dist/brain/stream.d.ts +20 -0
- package/dist/brain/stream.js +70 -0
- package/dist/brain/transcript.d.ts +45 -0
- package/dist/brain/transcript.js +132 -0
- package/dist/brain/types.d.ts +99 -0
- package/dist/brain/types.js +14 -0
- package/dist/chalk/actions.d.ts +37 -0
- package/dist/chalk/actions.js +69 -0
- package/dist/chalk/bundle.d.ts +26 -0
- package/dist/chalk/bundle.js +69 -0
- package/dist/chalk/check.d.ts +28 -0
- package/dist/chalk/check.js +291 -0
- package/dist/chalk/circle.d.ts +64 -0
- package/dist/chalk/circle.js +193 -0
- package/dist/chalk/clock.d.ts +84 -0
- package/dist/chalk/clock.js +84 -0
- package/dist/chalk/geometry.d.ts +44 -0
- package/dist/chalk/geometry.js +139 -0
- package/dist/chalk/glyphs/capitals.d.ts +12 -0
- package/dist/chalk/glyphs/capitals.js +264 -0
- package/dist/chalk/glyphs/index.d.ts +21 -0
- package/dist/chalk/glyphs/index.js +18 -0
- package/dist/chalk/glyphs/letters.d.ts +13 -0
- package/dist/chalk/glyphs/letters.js +280 -0
- package/dist/chalk/glyphs/metrics.d.ts +33 -0
- package/dist/chalk/glyphs/metrics.js +28 -0
- package/dist/chalk/glyphs/registry.d.ts +7 -0
- package/dist/chalk/glyphs/registry.js +8 -0
- package/dist/chalk/glyphs/sample.d.ts +32 -0
- package/dist/chalk/glyphs/sample.js +102 -0
- package/dist/chalk/glyphs/skeleton.d.ts +64 -0
- package/dist/chalk/glyphs/skeleton.js +126 -0
- package/dist/chalk/glyphs/types.d.ts +58 -0
- package/dist/chalk/glyphs/types.js +17 -0
- package/dist/chalk/index.d.ts +23 -0
- package/dist/chalk/index.js +15 -0
- package/dist/chalk/manifest.d.ts +41 -0
- package/dist/chalk/manifest.js +6 -0
- package/dist/chalk/paint.d.ts +180 -0
- package/dist/chalk/paint.js +210 -0
- package/dist/chalk/pointer.d.ts +8 -0
- package/dist/chalk/pointer.js +21 -0
- package/dist/chalk/prepare.d.ts +11 -0
- package/dist/chalk/prepare.js +15 -0
- package/dist/chalk/scene-schema.d.ts +199 -0
- package/dist/chalk/scene-schema.js +91 -0
- package/dist/chalk/seed.d.ts +3 -0
- package/dist/chalk/seed.js +10 -0
- package/dist/chalk/text-metrics.d.ts +8 -0
- package/dist/chalk/text-metrics.js +156 -0
- package/dist/chalk/timeline.d.ts +47 -0
- package/dist/chalk/timeline.js +84 -0
- package/dist/chalk/types.d.ts +150 -0
- package/dist/chalk/types.js +8 -0
- package/dist/lib/index.d.ts +14 -12
- package/dist/lib/index.js +14 -12
- package/dist/media/draw.d.ts +23 -0
- package/dist/media/draw.js +44 -0
- package/dist/media/mp3.d.ts +6 -0
- package/dist/media/mp3.js +58 -0
- package/dist/media/mp4.d.ts +1 -0
- package/dist/media/mp4.js +58 -0
- package/dist/media/tts-voices.d.ts +18 -0
- package/dist/media/tts-voices.js +606 -0
- package/dist/media/tts.d.ts +56 -0
- package/dist/media/tts.js +174 -0
- package/dist/media/vision.d.ts +25 -0
- package/dist/media/vision.js +71 -0
- package/dist/memory/commit.d.ts +67 -0
- package/dist/memory/commit.js +130 -0
- package/dist/memory/context.d.ts +86 -0
- package/dist/memory/context.js +97 -0
- package/dist/memory/diary.d.ts +84 -0
- package/dist/memory/diary.js +183 -0
- package/dist/memory/grade.d.ts +2 -0
- package/dist/memory/grade.js +7 -0
- package/dist/{lib → memory}/plan.d.ts +1 -1
- package/dist/{lib → memory}/plan.js +1 -1
- package/dist/memory/proposals.d.ts +11 -0
- package/dist/memory/proposals.js +43 -0
- package/dist/memory/retrieval.d.ts +44 -0
- package/dist/memory/retrieval.js +157 -0
- package/dist/{lib → memory}/timetable.d.ts +0 -3
- package/dist/{lib → memory}/timetable.js +0 -11
- package/dist/memory/vault-notes.d.ts +165 -0
- package/dist/memory/vault-notes.js +359 -0
- package/dist/memory/vault.d.ts +70 -0
- package/dist/memory/vault.js +169 -0
- package/dist/realtime/bailian.d.ts +120 -0
- package/dist/realtime/bailian.js +289 -0
- package/dist/realtime/cues.d.ts +51 -0
- package/dist/realtime/cues.js +94 -0
- package/dist/realtime/listen.d.ts +32 -0
- package/dist/realtime/listen.js +53 -0
- package/dist/realtime/preview.d.ts +23 -0
- package/dist/realtime/preview.js +38 -0
- package/dist/realtime/prompt.d.ts +8 -0
- package/dist/realtime/prompt.js +13 -0
- package/dist/realtime/voices.d.ts +21 -0
- package/dist/realtime/voices.js +71 -0
- package/dist/runtime/activities.d.ts +29 -0
- package/dist/runtime/activities.js +72 -0
- package/dist/runtime/activity-state.d.ts +22 -0
- package/dist/runtime/activity-state.js +83 -0
- package/dist/runtime/activity.d.ts +63 -0
- package/dist/runtime/activity.js +428 -0
- package/dist/runtime/agent-file.d.ts +24 -0
- package/dist/runtime/agent-file.js +59 -0
- package/dist/runtime/auto-bookkeep.d.ts +30 -0
- package/dist/runtime/auto-bookkeep.js +84 -0
- package/dist/{lib → runtime/context}/context-pack.d.ts +3 -3
- package/dist/runtime/context/context-pack.js +182 -0
- package/dist/runtime/context/thread-digest.d.ts +4 -0
- package/dist/runtime/context/thread-digest.js +35 -0
- package/dist/runtime/context/tutor-rules.d.ts +25 -0
- package/dist/runtime/context/tutor-rules.js +47 -0
- package/dist/runtime/delivery/delivery.d.ts +94 -0
- package/dist/runtime/delivery/delivery.js +145 -0
- package/dist/runtime/delivery/playback.d.ts +25 -0
- package/dist/runtime/delivery/playback.js +29 -0
- package/dist/runtime/delivery/player.d.ts +145 -0
- package/dist/runtime/delivery/player.js +221 -0
- package/dist/runtime/delivery/queue.d.ts +89 -0
- package/dist/runtime/delivery/queue.js +59 -0
- package/dist/runtime/home/edit.d.ts +39 -0
- package/dist/runtime/home/edit.js +132 -0
- package/dist/runtime/home/home.d.ts +191 -0
- package/dist/runtime/home/home.js +318 -0
- package/dist/runtime/home/store.d.ts +142 -0
- package/dist/runtime/home/store.js +455 -0
- package/dist/runtime/journal/conversation.d.ts +46 -0
- package/dist/runtime/journal/conversation.js +89 -0
- package/dist/runtime/journal/events.d.ts +27 -0
- package/dist/runtime/journal/events.js +136 -0
- package/dist/runtime/journal/kid-log.d.ts +105 -0
- package/dist/runtime/journal/kid-log.js +133 -0
- package/dist/runtime/journal/ledger.d.ts +17 -0
- package/dist/{lib → runtime/journal}/ledger.js +7 -40
- package/dist/runtime/journal/mix.d.ts +42 -0
- package/dist/runtime/journal/mix.js +129 -0
- package/dist/runtime/journal/mouth-index.d.ts +26 -0
- package/dist/runtime/journal/mouth-index.js +34 -0
- package/dist/runtime/journal/mouth.d.ts +54 -0
- package/dist/runtime/journal/mouth.js +102 -0
- package/dist/runtime/journal/recorder.d.ts +91 -0
- package/dist/runtime/journal/recorder.js +148 -0
- package/dist/runtime/journal/store.d.ts +123 -0
- package/dist/runtime/journal/store.js +316 -0
- package/dist/runtime/kid-input.d.ts +16 -0
- package/dist/runtime/kid-input.js +194 -0
- package/dist/runtime/kid-view.d.ts +124 -0
- package/dist/runtime/kid-view.js +157 -0
- package/dist/runtime/lecture.d.ts +86 -0
- package/dist/runtime/lecture.js +237 -0
- package/dist/runtime/live/call.d.ts +231 -0
- package/dist/runtime/live/call.js +1244 -0
- package/dist/runtime/live/turns.d.ts +48 -0
- package/dist/runtime/live/turns.js +102 -0
- package/dist/runtime/runner.d.ts +243 -0
- package/dist/runtime/runner.js +777 -0
- package/dist/runtime/talk-run.d.ts +21 -0
- package/dist/runtime/talk-run.js +34 -0
- package/dist/scenes/dictation/match.d.ts +57 -0
- package/dist/scenes/dictation/match.js +255 -0
- package/dist/scenes/dictation/recognize.d.ts +86 -0
- package/dist/scenes/dictation/recognize.js +163 -0
- package/dist/scenes/dictation/store.d.ts +112 -0
- package/dist/scenes/dictation/store.js +99 -0
- package/dist/scenes/look.d.ts +26 -0
- package/dist/scenes/look.js +1 -0
- package/dist/scenes/paint/painter.d.ts +84 -0
- package/dist/scenes/paint/painter.js +171 -0
- package/dist/scenes/paint/prompt.d.ts +23 -0
- package/dist/scenes/paint/prompt.js +36 -0
- package/dist/scenes/talk/en-words.d.ts +8 -0
- package/dist/scenes/talk/en-words.js +44 -0
- package/dist/scenes/talk/list.d.ts +44 -0
- package/dist/scenes/talk/list.js +88 -0
- package/dist/scenes/talk/store.d.ts +27 -0
- package/dist/scenes/talk/store.js +61 -0
- package/dist/scenes/talk/warmup.d.ts +16 -0
- package/dist/scenes/talk/warmup.js +39 -0
- package/dist/schema/activity.d.ts +149 -0
- package/dist/schema/activity.js +113 -0
- package/dist/schema/board.d.ts +143 -2
- package/dist/schema/board.js +15 -3
- package/dist/schema/config.d.ts +339 -103
- package/dist/schema/config.js +269 -84
- package/dist/schema/context-pack.d.ts +76 -14
- package/dist/schema/context-pack.js +91 -10
- package/dist/{lib/conversation.d.ts → schema/conversation-files.d.ts} +11 -33
- package/dist/schema/conversation-files.js +26 -0
- package/dist/schema/conversation.d.ts +391 -49
- package/dist/schema/conversation.js +135 -19
- package/dist/schema/events.d.ts +138 -0
- package/dist/schema/events.js +1 -0
- package/dist/schema/home.d.ts +56 -0
- package/dist/schema/home.js +35 -0
- package/dist/schema/index.d.ts +14 -3
- package/dist/schema/index.js +14 -3
- package/dist/schema/kid-device.d.ts +20 -0
- package/dist/schema/kid-device.js +32 -0
- package/dist/schema/ledger.d.ts +8 -63
- package/dist/schema/ledger.js +7 -31
- package/dist/schema/memory.d.ts +73 -0
- package/dist/schema/memory.js +47 -0
- package/dist/schema/plan.d.ts +2 -2
- package/dist/schema/plan.js +2 -2
- package/dist/schema/sections.d.ts +32 -25
- package/dist/schema/sections.js +21 -22
- package/dist/schema/theme.d.ts +25 -0
- package/dist/schema/theme.js +26 -0
- package/dist/schema/timetable.d.ts +2 -2
- package/dist/schema/timetable.js +2 -2
- package/dist/schema/workspace.d.ts +68 -0
- package/dist/schema/workspace.js +37 -0
- package/dist/shared/default-port.d.ts +2 -0
- package/dist/shared/default-port.js +2 -0
- package/dist/shared/errors.d.ts +8 -0
- package/dist/shared/errors.js +13 -0
- package/dist/shared/home.d.ts +2 -0
- package/dist/shared/home.js +16 -0
- package/dist/shared/human-notes.d.ts +5 -0
- package/dist/shared/human-notes.js +7 -0
- package/dist/shared/qianwen.d.ts +54 -0
- package/dist/shared/qianwen.js +113 -0
- package/dist/shared/site-url.d.ts +2 -0
- package/dist/shared/site-url.js +5 -0
- package/dist/shared/time.d.ts +9 -0
- package/dist/shared/time.js +22 -0
- package/dist/shared/tokens.d.ts +18 -0
- package/dist/shared/tokens.js +11 -0
- package/dist/shared/wav.d.ts +10 -0
- package/dist/shared/wav.js +50 -0
- package/dist/stage/chunk-226TNLQA.js +129 -0
- package/dist/stage/chunk-24LGQEKE.js +1 -0
- package/dist/stage/chunk-25XV6UY3.js +10 -0
- package/dist/stage/chunk-2AZI3NHJ.js +1 -0
- package/dist/stage/chunk-2BQZTTBE.js +1 -0
- package/dist/stage/chunk-2M7CGY3Y.js +11 -0
- package/dist/stage/chunk-2VR4WFQ7.js +10 -0
- package/dist/stage/chunk-2ZYXBUWG.js +9 -0
- package/dist/stage/chunk-32LAWMGY.js +1 -0
- package/dist/stage/chunk-3LEMTSOO.js +11 -0
- package/dist/stage/chunk-3QCKGZYE.js +32 -0
- package/dist/stage/chunk-44P66WFA.js +1 -0
- package/dist/stage/chunk-4AM6FRR6.js +7 -0
- package/dist/stage/chunk-4QDE4SUK.js +1 -0
- package/dist/stage/chunk-4QESHV3U.js +1 -0
- package/dist/stage/chunk-4SG5QPHB.js +2 -0
- package/dist/stage/chunk-4T4UVCOC.js +1 -0
- package/dist/stage/chunk-4WUEPPG3.js +34 -0
- package/dist/stage/chunk-4YCN6UZ5.js +99 -0
- package/dist/stage/chunk-5V7ZY2AP.js +1 -0
- package/dist/stage/chunk-5VS5Y2VJ.js +6 -0
- package/dist/stage/chunk-5W4NO2ZD.js +62 -0
- package/dist/stage/chunk-65CRNICM.js +1 -0
- package/dist/stage/chunk-66MULO7F.js +5 -0
- package/dist/stage/chunk-6COFQTBS.js +162 -0
- package/dist/stage/chunk-6VZG3M3I.js +8 -0
- package/dist/stage/chunk-7HVDH43T.js +1 -0
- package/dist/stage/chunk-7JLJN4EZ.js +8 -0
- package/dist/stage/chunk-7QDSP4LN.js +1 -0
- package/dist/stage/chunk-7R6OQAO3.js +1 -0
- package/dist/stage/chunk-7VTTHZKW.js +7 -0
- package/dist/stage/chunk-ATHR5KEN.js +10 -0
- package/dist/stage/chunk-B6R5LTP2.js +36 -0
- package/dist/stage/chunk-BD4WE264.js +1 -0
- package/dist/stage/chunk-BONANU47.js +206 -0
- package/dist/stage/chunk-BTVW7OFK.js +89 -0
- package/dist/stage/chunk-BUTJIDHG.js +8 -0
- package/dist/stage/chunk-C2IPYMML.js +84 -0
- package/dist/stage/chunk-C54FTPPV.js +9 -0
- package/dist/stage/chunk-C6LOUF2Z.js +90 -0
- package/dist/stage/chunk-CFF3PILO.js +339 -0
- package/dist/stage/chunk-CI2FQ2JY.js +9 -0
- package/dist/stage/chunk-CW5O4RV7.js +12 -0
- package/dist/stage/chunk-CYABNQYD.js +1 -0
- package/dist/stage/chunk-D7FFA4NS.js +15 -0
- package/dist/stage/chunk-DUNNXU6Z.js +8 -0
- package/dist/stage/chunk-E3E4Q6JF.js +6 -0
- package/dist/stage/chunk-EB3U3LH7.js +9 -0
- package/dist/stage/chunk-EGSZ736B.js +8 -0
- package/dist/stage/chunk-EOBXW5VQ.js +2 -0
- package/dist/stage/chunk-ERZC3B7Y.js +11 -0
- package/dist/stage/chunk-ESDOOBIH.js +11 -0
- package/dist/stage/chunk-EVU4QAL4.js +178 -0
- package/dist/stage/chunk-EVVZI2NY.js +39 -0
- package/dist/stage/chunk-FBKAZUKD.js +39 -0
- package/dist/stage/chunk-FDVKYQJN.js +1 -0
- package/dist/stage/chunk-FGPVYHVR.js +5 -0
- package/dist/stage/chunk-FHUD4AZC.js +1 -0
- package/dist/stage/chunk-FKUJ2DMY.js +96 -0
- package/dist/stage/chunk-FNZGVIJV.js +1 -0
- package/dist/stage/chunk-GBYSEGYM.js +78 -0
- package/dist/stage/chunk-GCO4TDHX.js +1 -0
- package/dist/stage/chunk-GKTML2LG.js +10 -0
- package/dist/stage/chunk-GMDIHHXQ.js +11 -0
- package/dist/stage/chunk-GOUNACI3.js +10 -0
- package/dist/stage/chunk-GXAYATPF.js +3 -0
- package/dist/stage/chunk-H2K2DDXV.js +8 -0
- package/dist/stage/chunk-H3UJI6ZY.js +13 -0
- package/dist/stage/chunk-H6PUGCME.js +7 -0
- package/dist/stage/chunk-HNBUIMIG.js +1 -0
- package/dist/stage/chunk-HRZY2BJQ.js +10 -0
- package/dist/stage/chunk-HSPJGALW.js +30 -0
- package/dist/stage/chunk-IBYORHIP.js +25 -0
- package/dist/stage/chunk-IHF4EWTY.js +1 -0
- package/dist/stage/chunk-ISBRPNKI.js +1 -0
- package/dist/stage/chunk-IZ3OI3C2.js +2 -0
- package/dist/stage/chunk-JEFZAC2R.js +1 -0
- package/dist/stage/chunk-JFIGRDPO.js +1 -0
- package/dist/stage/chunk-JFVYBOOC.js +9 -0
- package/dist/stage/chunk-JGD4TUTQ.js +1 -0
- package/dist/stage/chunk-JO4BEHDH.js +4 -0
- package/dist/stage/chunk-JOWBS42C.js +1 -0
- package/dist/stage/chunk-JP3TM2TG.js +1 -0
- package/dist/stage/chunk-JVK2C52O.js +1 -0
- package/dist/stage/chunk-K4I76XBX.js +14 -0
- package/dist/stage/chunk-KA6CZZ4M.js +1 -0
- package/dist/stage/chunk-KESSJ36M.js +1 -0
- package/dist/stage/chunk-LKATEVRU.js +1 -0
- package/dist/stage/chunk-LS4EJ2EI.js +1 -0
- package/dist/stage/chunk-LUKJQC2X.js +70 -0
- package/dist/stage/chunk-LWULR3SM.js +1 -0
- package/dist/stage/chunk-LWVRFMKX.js +2 -0
- package/dist/stage/chunk-LXC4ZBPZ.js +1 -0
- package/dist/stage/chunk-M2UP255H.js +1 -0
- package/dist/stage/chunk-MAPPXUZQ.js +231 -0
- package/dist/stage/chunk-MBMPW7Z5.js +1 -0
- package/dist/stage/chunk-MD3HMMTK.js +1 -0
- package/dist/stage/chunk-MLPCUIKR.js +17 -0
- package/dist/stage/chunk-MNQIRPDQ.js +8 -0
- package/dist/stage/chunk-MRG7MJVS.js +1 -0
- package/dist/stage/chunk-MU6EXW72.js +10 -0
- package/dist/stage/chunk-MVU2X6LU.js +4 -0
- package/dist/stage/chunk-N6UA5CZV.js +36 -0
- package/dist/stage/chunk-NLZIT2TJ.js +7 -0
- package/dist/stage/chunk-NOJR3J7M.js +1 -0
- package/dist/stage/chunk-NT7ARDOL.js +1 -0
- package/dist/stage/chunk-NWOGMPZH.js +1 -0
- package/dist/stage/chunk-NXE4KMG3.js +40 -0
- package/dist/stage/chunk-O4YCZXD2.js +257 -0
- package/dist/stage/chunk-OAJZ7HLK.js +1 -0
- package/dist/stage/chunk-OCFCFASO.js +1 -0
- package/dist/stage/chunk-ODGPG5RY.js +7 -0
- package/dist/stage/chunk-ODUEA52Q.js +3 -0
- package/dist/stage/chunk-OGDJ3FCI.js +1 -0
- package/dist/stage/chunk-OLDJ55TT.js +1 -0
- package/dist/stage/chunk-OOCL4ATI.js +2 -0
- package/dist/stage/chunk-OQEFDUDV.js +1 -0
- package/dist/stage/chunk-OQWVEWG7.js +4 -0
- package/dist/stage/chunk-OUIX6BGK.js +1 -0
- package/dist/stage/chunk-OV7OZYUO.js +7 -0
- package/dist/stage/chunk-PFGDY33O.js +1 -0
- package/dist/stage/chunk-PFJDUJB3.js +139 -0
- package/dist/stage/chunk-PGEW76ER.js +1 -0
- package/dist/stage/chunk-PP76TAQX.js +32 -0
- package/dist/stage/chunk-PTBOP4OT.js +2 -0
- package/dist/stage/chunk-PX2RVHCK.js +1 -0
- package/dist/stage/chunk-Q7K3PNAD.js +1 -0
- package/dist/stage/chunk-QDDPLZDB.js +1 -0
- package/dist/stage/chunk-QLGLZ77F.js +1 -0
- package/dist/stage/chunk-QOPFDFHI.js +1 -0
- package/dist/stage/chunk-QXT4KAEJ.js +1 -0
- package/dist/stage/chunk-R4YVZCIT.js +1 -0
- package/dist/stage/chunk-R6P6EHWA.js +62 -0
- package/dist/stage/chunk-RCH3OXBI.js +9 -0
- package/dist/stage/chunk-RHPE44I2.js +1 -0
- package/dist/stage/chunk-RJ2R4FVC.js +1 -0
- package/dist/stage/chunk-RJH2YVTD.js +1 -0
- package/dist/stage/chunk-RLWWW5OB.js +6 -0
- package/dist/stage/chunk-S3WO35Z7.js +120 -0
- package/dist/stage/chunk-S7ZGX6MW.js +1 -0
- package/dist/stage/chunk-SIAWX27B.js +1 -0
- package/dist/stage/chunk-SLG4X622.js +1 -0
- package/dist/stage/chunk-SLJRBC77.js +168 -0
- package/dist/stage/chunk-SRORWQJZ.js +1 -0
- package/dist/stage/chunk-STZTUIIF.js +2 -0
- package/dist/stage/chunk-SVQ6MWNV.js +9 -0
- package/dist/stage/chunk-TL3HLL2S.js +132 -0
- package/dist/stage/chunk-U3DOE6SF.js +24 -0
- package/dist/stage/chunk-UABQIZKW.js +6 -0
- package/dist/stage/chunk-UDK3R764.js +1 -0
- package/dist/stage/chunk-UFF4E54B.js +41 -0
- package/dist/stage/chunk-UFP5Q4AY.js +1 -0
- package/dist/stage/chunk-UMH2TSW2.js +72 -0
- package/dist/stage/chunk-UTASVNF5.js +10 -0
- package/dist/stage/chunk-UW7ML5ML.js +88 -0
- package/dist/stage/chunk-V3J7F6OP.js +1 -0
- package/dist/stage/chunk-VEHP5B5Q.js +5 -0
- package/dist/stage/chunk-VRXWB733.js +9 -0
- package/dist/stage/chunk-VVDHBBS5.js +5 -0
- package/dist/stage/chunk-VYFOH6FU.js +106 -0
- package/dist/stage/chunk-W3VZTLQS.js +3 -0
- package/dist/stage/chunk-W7WNRWTZ.js +8 -0
- package/dist/stage/chunk-WHUCV53C.js +1 -0
- package/dist/stage/chunk-WULMYHIF.js +1 -0
- package/dist/stage/chunk-X54EX7AW.js +9 -0
- package/dist/stage/chunk-X565ISZM.js +1 -0
- package/dist/stage/chunk-XGZMDECB.js +1 -0
- package/dist/stage/chunk-XHONC4RF.js +172 -0
- package/dist/stage/chunk-XIK4XQ6E.js +24 -0
- package/dist/stage/chunk-XJQQWFTE.js +1 -0
- package/dist/stage/chunk-XM4WOU3I.js +13 -0
- package/dist/stage/chunk-XM7Y5HP5.js +38 -0
- package/dist/stage/chunk-XNYYRGD5.js +292 -0
- package/dist/stage/chunk-XOYVR3SV.js +1 -0
- package/dist/stage/chunk-XQIW5HCE.js +1 -0
- package/dist/stage/chunk-YEWL7FUW.js +8 -0
- package/dist/stage/chunk-YI55PY3V.js +1 -0
- package/dist/stage/chunk-YM63HI6W.js +1 -0
- package/dist/stage/chunk-YNLGLU4P.js +9 -0
- package/dist/stage/chunk-YTNMNOWP.js +1 -0
- package/dist/stage/chunk-YV62XKTC.js +1 -0
- package/dist/stage/chunk-YVBA3QW6.js +1 -0
- package/dist/stage/chunk-Z2SY2HOC.js +1 -0
- package/dist/stage/chunk-ZBTCQEBK.js +10 -0
- package/dist/stage/chunk-ZCUFN74D.js +1 -0
- package/dist/stage/chunk-ZHOULXEJ.js +11 -0
- package/dist/stage/chunk-ZTRZIET2.js +1 -0
- package/dist/stage/index.html +1 -0
- package/dist/stage/stage.css +1 -1
- package/dist/stage/stage.js +1 -4383
- package/dist/ui/dev/dev-page.d.ts +1 -0
- package/dist/ui/dev/dev-page.js +2021 -0
- package/dist/ui/dev/dev-theme.d.ts +6 -0
- package/dist/ui/dev/dev-theme.js +67 -0
- package/dist/ui/dev/voice-gallery-page.d.ts +1 -0
- package/dist/ui/dev/voice-gallery-page.js +121 -0
- package/dist/ui/dev/voice-scenes.d.ts +21 -0
- package/dist/ui/dev/voice-scenes.js +30 -0
- package/dist/ui/dictation/en-box.d.ts +2 -0
- package/dist/ui/dictation/en-box.js +86 -0
- package/dist/ui/dictation/en-page.d.ts +1 -0
- package/dist/ui/dictation/en-page.js +484 -0
- package/dist/ui/dictation/page.d.ts +1 -0
- package/dist/ui/dictation/page.js +1084 -0
- package/dist/ui/dictation/parent-page.d.ts +1 -0
- package/dist/ui/dictation/parent-page.js +234 -0
- package/dist/ui/dictation/reel-mode.d.ts +1 -0
- package/dist/ui/dictation/reel-mode.js +87 -0
- package/dist/ui/dictation/reel-page.d.ts +1 -0
- package/dist/ui/dictation/reel-page.js +62 -0
- package/dist/ui/dictation/reel.d.ts +163 -0
- package/dist/ui/dictation/reel.js +436 -0
- package/dist/ui/dictation/ui.d.ts +44 -0
- package/dist/ui/dictation/ui.js +80 -0
- package/dist/ui/dictation/unlock.d.ts +7 -0
- package/dist/ui/dictation/unlock.js +16 -0
- package/dist/ui/kid/audio-client.d.ts +11 -0
- package/dist/ui/kid/audio-client.js +74 -0
- package/dist/ui/kid/board-mark-art.d.ts +37 -0
- package/dist/ui/kid/board-mark-art.js +5 -0
- package/dist/ui/kid/board-mark.d.ts +24 -0
- package/dist/ui/kid/board-mark.js +58 -0
- package/dist/ui/kid/home-tiles.d.ts +14 -0
- package/dist/ui/kid/home-tiles.js +44 -0
- package/dist/ui/kid/kid-log.d.ts +15 -0
- package/dist/ui/kid/kid-log.js +87 -0
- package/dist/ui/kid/kid-nav.d.ts +11 -0
- package/dist/ui/kid/kid-nav.js +22 -0
- package/dist/ui/kid/kid-page.d.ts +9 -0
- package/dist/ui/kid/kid-page.js +3684 -0
- package/dist/ui/kid/letters.d.ts +26 -0
- package/dist/ui/kid/letters.js +51 -0
- package/dist/ui/kid/photo-edit.d.ts +83 -0
- package/dist/ui/kid/photo-edit.js +106 -0
- package/dist/ui/kid/photo-ui.d.ts +23 -0
- package/dist/ui/kid/photo-ui.js +60 -0
- package/dist/ui/kid/reel.d.ts +419 -0
- package/dist/ui/kid/reel.js +648 -0
- package/dist/ui/kid/tianzige.d.ts +8 -0
- package/dist/ui/kid/tianzige.js +45 -0
- package/dist/ui/kid/tutor-face.d.ts +35 -0
- package/dist/ui/kid/tutor-face.js +84 -0
- package/dist/ui/kid/voice-ui.d.ts +70 -0
- package/dist/ui/kid/voice-ui.js +316 -0
- package/dist/ui/kid/voice-view.d.ts +71 -0
- package/dist/ui/kid/voice-view.js +75 -0
- package/dist/ui/kid/word-draw.d.ts +2 -0
- package/dist/ui/kid/word-draw.js +107 -0
- package/dist/ui/kid/word-emoji.d.ts +10 -0
- package/dist/ui/kid/word-emoji.js +68 -0
- package/dist/ui/kid/word-layout.d.ts +25 -0
- package/dist/ui/kid/word-layout.js +29 -0
- package/dist/ui/parent/parent-home-page.d.ts +1 -0
- package/dist/ui/parent/parent-home-page.js +722 -0
- package/dist/ui/parent/parent-page.d.ts +2 -0
- package/dist/ui/parent/parent-page.js +511 -0
- package/dist/ui/parent/parent-settings-page.d.ts +1 -0
- package/dist/ui/parent/parent-settings-page.js +133 -0
- package/dist/ui/parent/qr-page.d.ts +8 -0
- package/dist/ui/parent/qr-page.js +66 -0
- package/dist/ui/shared/brand.d.ts +38 -0
- package/dist/ui/shared/brand.js +53 -0
- package/dist/ui/shared/favicon.d.ts +12 -0
- package/dist/ui/shared/favicon.js +96 -0
- package/dist/ui/shared/icon.d.ts +9 -0
- package/dist/ui/shared/icon.js +35 -0
- package/dist/ui/shared/inline-lib.d.ts +1 -0
- package/dist/ui/shared/inline-lib.js +28 -0
- package/dist/ui/shared/logo.d.ts +31 -0
- package/dist/ui/shared/logo.js +43 -0
- package/dist/ui/shared/page-dom.d.ts +12 -0
- package/dist/ui/shared/page-dom.js +36 -0
- package/dist/ui/shared/png.d.ts +1 -0
- package/dist/ui/shared/png.js +45 -0
- package/dist/ui/shared/qr-svg.d.ts +3 -0
- package/dist/ui/shared/qr-svg.js +32 -0
- package/dist/ui/shared/qr.d.ts +14 -0
- package/dist/ui/shared/qr.js +281 -0
- package/dist/ui/shared/reel-dock.d.ts +22 -0
- package/dist/ui/shared/reel-dock.js +365 -0
- package/dist/ui/shared/tutor-color.d.ts +15 -0
- package/dist/ui/shared/tutor-color.js +47 -0
- package/dist/ui/talk/page.d.ts +6 -0
- package/dist/ui/talk/page.js +294 -0
- package/grades/grade-2/README.md +11 -0
- package/grades/grade-2/VALIDATION.md +41 -0
- package/grades/grade-2/agents/chinese-tutor/activities//344/275/240/350/257/264/346/210/221/347/224/273.md +157 -0
- package/grades/grade-2/agents/chinese-tutor/activities//344/275/240/350/257/264/346/210/221/347/224/273./344/276/213/345/255/220.md +78 -0
- package/grades/grade-2/agents/chinese-tutor/activities//344/276/213/345/255/220/345/233/276//345/200/237/344/274/236.jpg +0 -0
- package/grades/grade-2/agents/chinese-tutor/activities//344/276/213/345/255/220/345/233/276//345/260/217/347/214/264/346/221/230/346/241/203.jpg +0 -0
- package/grades/grade-2/agents/chinese-tutor/activities//345/206/231/350/257/235.md +64 -0
- package/grades/grade-2/agents/chinese-tutor/activities//345/206/231/350/257/235./344/276/213/345/255/220.md +31 -0
- package/grades/grade-2/agents/chinese-tutor/activities//345/220/254/345/206/231.md +48 -0
- package/grades/grade-2/agents/chinese-tutor/activities//345/244/215/344/271/240.md +79 -0
- package/grades/grade-2/agents/chinese-tutor/activities//345/244/215/344/271/240./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/chinese-tutor/activities//345/260/217/350/257/276/345/240/202.md +53 -0
- package/grades/grade-2/agents/chinese-tutor/activities//346/243/200/346/237/245/344/275/234/344/270/232.md +81 -0
- package/grades/grade-2/agents/chinese-tutor/activities//346/243/200/346/237/245/344/275/234/344/270/232./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/chinese-tutor/activities//347/234/213/345/233/276/350/257/264/350/257/235.md +94 -0
- package/grades/grade-2/agents/chinese-tutor/activities//347/234/213/345/233/276/350/257/264/350/257/235./344/276/213/345/255/220.md +63 -0
- package/grades/grade-2/agents/chinese-tutor/activities//351/242/204/344/271/240.md +82 -0
- package/grades/grade-2/agents/chinese-tutor/activities//351/242/204/344/271/240./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/chinese-tutor.md +59 -0
- package/grades/grade-2/agents/english-tutor/activities//345/217/243/350/257/255/350/257/276.md +149 -0
- package/grades/grade-2/agents/english-tutor/activities//345/217/243/350/257/255/350/257/276./344/276/213/345/255/220.md +13 -0
- package/grades/grade-2/agents/english-tutor/activities//345/220/254/345/206/231.md +47 -0
- package/grades/grade-2/agents/english-tutor/activities//345/244/215/344/271/240.md +78 -0
- package/grades/grade-2/agents/english-tutor/activities//345/244/215/344/271/240./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/english-tutor/activities//345/260/217/350/257/276/345/240/202.md +53 -0
- package/grades/grade-2/agents/english-tutor/activities//346/243/200/346/237/245/344/275/234/344/270/232.md +80 -0
- package/grades/grade-2/agents/english-tutor/activities//346/243/200/346/237/245/344/275/234/344/270/232./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/english-tutor/activities//351/242/204/344/271/240.md +86 -0
- package/grades/grade-2/agents/english-tutor/activities//351/242/204/344/271/240./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/english-tutor.md +57 -0
- package/grades/grade-2/agents/math-tutor/activities//345/244/215/344/271/240.md +78 -0
- package/grades/grade-2/agents/math-tutor/activities//345/244/215/344/271/240./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/math-tutor/activities//345/260/217/350/257/276/345/240/202.md +56 -0
- package/grades/grade-2/agents/math-tutor/activities//345/260/217/350/257/276/345/240/202./344/276/213/345/255/220.md +52 -0
- package/grades/grade-2/agents/math-tutor/activities//346/243/200/346/237/245/344/275/234/344/270/232.md +80 -0
- package/grades/grade-2/agents/math-tutor/activities//346/243/200/346/237/245/344/275/234/344/270/232./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/math-tutor/activities//351/242/204/344/271/240.md +81 -0
- package/grades/grade-2/agents/math-tutor/activities//351/242/204/344/271/240./344/276/213/345/255/220.md +35 -0
- package/grades/grade-2/agents/math-tutor.md +51 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/audio/index.json +44 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/audio/step-1.mp3 +0 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/audio/step-2.mp3 +0 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/audio/step-3.mp3 +0 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/audio/step-4.mp3 +0 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/audio/step-5.mp3 +0 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/bake.json +1 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/manifest.json +63 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen/scene.json +247 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen.md +40 -0
- package/grades/grade-2/examples/2026-10-27-pingjunfen.ts +26 -0
- package/grades/grade-2/examples//345/271/263/345/235/207/345/210/206./344/276/213/345/255/220.md +24 -0
- package/grades/grade-2/examples//346/225/260/345/255/246/345/271/263/345/235/207/345/210/206.md +42 -0
- package/grades/grade-2/validation/2026-10-27.json +4410 -0
- package/package.json +27 -15
- package/skills/chalk-cli/SKILL.md +62 -0
- package/skills/chalk-scene/SKILL.md +91 -0
- package/skills/chalk-teaching/SKILL.md +82 -0
- package/skills/chalk-teaching/models//344/272/244/351/224/231/346/225/260/345/210/227/345/210/206/350/241/214.md +8 -0
- package/skills/chalk-teaching/models//345/207/221/345/215/201.md +7 -0
- package/skills/chalk-teaching/models//345/221/250/346/234/237/350/247/204/345/276/213.md +6 -0
- package/skills/chalk-teaching/models//345/256/236/347/211/251/345/233/276-/345/242/236/345/207/217.md +6 -0
- package/skills/chalk-teaching/models//345/256/236/347/211/251/345/233/276-/346/257/224/345/244/232/345/260/221-/346/261/202/345/244/247/346/225/260/346/261/202/345/260/217/346/225/260.md +7 -0
- package/skills/chalk-teaching/models//345/256/236/347/211/251/345/233/276-/346/257/224/345/244/232/345/260/221-/346/261/202/345/267/256.md +6 -0
- package/skills/chalk-teaching/models//345/260/217/346/243/222/350/277/233/344/275/215/345/212/240.md +7 -0
- package/skills/chalk-teaching/models//345/260/217/346/243/222/351/200/200/344/275/215/345/207/217.md +6 -0
- package/skills/chalk-teaching/models//346/216/222/351/230/237/347/202/271/351/230/265.md +7 -0
- package/skills/chalk-teaching/models//346/227/266/351/227/264/346/225/260/350/275/264.md +6 -0
- package/skills/chalk-teaching/models//346/245/274/345/261/202/351/227/264/351/232/224/345/233/276.md +7 -0
- package/skills/chalk-teaching/models//347/240/264/345/215/201.md +7 -0
- package/skills/chalk-teaching/models//347/253/226/345/274/217/351/200/200/344/275/215.md +6 -0
- package/skills/chalk-teaching/models//347/272/277/346/256/265/345/233/276.md +7 -0
- package/skills/chalk-teaching/models-index.md +24 -0
- package/skills/chalk-teaching/references//350/256/262/350/247/243/346/250/241/346/235/277/344/270/211/346/241/243.md +32 -0
- package/skills/chalk-teaching/references//350/257/264/346/230/216/346/226/207/344/273/266.md +102 -0
- package/skills/chalk-verify/SKILL.md +57 -0
- package/skills/chalk-verify/references//350/257/204/345/210/244/346/240/207/345/207/206.md +69 -0
- package/skills/cotutor-analyze/SKILL.md +106 -0
- package/skills/cotutor-analyze/references//345/221/275/344/273/244/344/270/216/346/226/207/344/273/266.md +31 -0
- package/skills/cotutor-board/SKILL.md +373 -0
- package/skills/cotutor-board/references/README.md +38 -0
- package/skills/cotutor-board/references/canvas.md +68 -0
- package/skills/cotutor-board/references/choice.md +55 -0
- package/skills/cotutor-board/references/code.md +46 -0
- package/skills/cotutor-board/references/image.md +52 -0
- package/skills/cotutor-board/references/lecture.md +69 -0
- package/skills/cotutor-board/references/paint.md +77 -0
- package/skills/cotutor-board/references/photo.md +61 -0
- package/skills/cotutor-board/references/read.md +51 -0
- package/skills/cotutor-board/references/text.md +69 -0
- package/skills/cotutor-board/references/tianzige.md +78 -0
- package/skills/cotutor-board/references/word.md +91 -0
- package/skills/cotutor-home/SKILL.md +170 -0
- package/skills/cotutor-home/references/dictation.md +97 -0
- package/skills/cotutor-home/references/tutor.md +149 -0
- package/skills/cotutor-home/references//345/221/275/344/273/244.md +21 -0
- package/skills/cotutor-home/references//351/246/226/351/241/265/350/257/255/346/263/225.md +143 -0
- package/skills/cotutor-tune/SKILL.md +147 -0
- package/skills/cotutor-tune/references//345/255/227/346/256/265.md +53 -0
- package/skills/cotutor-tutor/SKILL.md +253 -0
- package/skills/cotutor-tutor/references//344/270/212/344/270/213/346/226/207/345/214/205.md +78 -0
- package/themes/default/kid.css +86 -0
- package/themes/default/theme.json +26 -0
- package/agents/chinese-tutor.md +0 -67
- package/agents/homework-tutor.md +0 -17
- package/agents/math-tutor.md +0 -68
- package/agents/planner.md +0 -18
- package/agents/reading-tutor.md +0 -65
- package/agents/scene-maker.md +0 -41
- package/dist/cards/canvas.d.ts +0 -22
- package/dist/cards/canvas.js +0 -65
- package/dist/cards/fill.d.ts +0 -14
- package/dist/cards/fill.js +0 -64
- package/dist/cards/index.d.ts +0 -48
- package/dist/cards/index.js +0 -115
- package/dist/cards/kind.js +0 -7
- package/dist/cards/scene.d.ts +0 -24
- package/dist/cards/scene.js +0 -67
- package/dist/cards/text.d.ts +0 -18
- package/dist/cards/text.js +0 -41
- package/dist/cli/cert.d.ts +0 -7
- package/dist/cli/cert.js +0 -36
- package/dist/cli/doctor.d.ts +0 -22
- package/dist/cli/doctor.js +0 -355
- package/dist/cli/init.js +0 -116
- package/dist/cli/main.js +0 -243
- package/dist/cli/serve.d.ts +0 -30
- package/dist/cli/serve.js +0 -56
- package/dist/cli/skeleton.d.ts +0 -39
- package/dist/cli/skeleton.js +0 -184
- package/dist/cli/skills.d.ts +0 -40
- package/dist/cli/skills.js +0 -170
- package/dist/cli/workspace.d.ts +0 -69
- package/dist/lib/agent-file.d.ts +0 -10
- package/dist/lib/agent-file.js +0 -16
- package/dist/lib/board.d.ts +0 -15
- package/dist/lib/board.js +0 -107
- package/dist/lib/context-pack.js +0 -55
- package/dist/lib/conversation.js +0 -88
- package/dist/lib/kid-board.d.ts +0 -148
- package/dist/lib/kid-board.js +0 -294
- package/dist/lib/kid-view.d.ts +0 -63
- package/dist/lib/kid-view.js +0 -93
- package/dist/lib/ledger.d.ts +0 -29
- package/dist/lib/run-plan.d.ts +0 -30
- package/dist/lib/run-plan.js +0 -32
- package/dist/lib/sections.d.ts +0 -12
- package/dist/lib/sections.js +0 -151
- package/dist/lib/stream.d.ts +0 -15
- package/dist/lib/stream.js +0 -69
- package/dist/lib/transcript.d.ts +0 -36
- package/dist/lib/transcript.js +0 -95
- package/dist/server/app.d.ts +0 -74
- package/dist/server/app.js +0 -406
- package/dist/server/kid-page.d.ts +0 -1
- package/dist/server/kid-page.js +0 -768
- package/dist/server/mock.js +0 -403
- package/dist/server/parent-page.d.ts +0 -8
- package/dist/server/parent-page.js +0 -393
- package/dist/server/runner.d.ts +0 -64
- package/dist/server/runner.js +0 -277
- package/dist/server/scene-props.d.ts +0 -16
- package/dist/server/scene-props.js +0 -39
- package/dist/server/store.d.ts +0 -43
- package/dist/server/store.js +0 -210
- package/dist/server/tts.d.ts +0 -51
- package/dist/server/tts.js +0 -99
- /package/dist/{cli → app/cli}/main.d.ts +0 -0
- /package/dist/{cards → board/cards}/choice.d.ts +0 -0
- /package/dist/{cards → board/cards}/code.d.ts +0 -0
- /package/dist/{cards → board/cards}/image.d.ts +0 -0
- /package/dist/{cards → board/cards}/read.d.ts +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import"./chunk-GCO4TDHX.js";import"./chunk-RJ2R4FVC.js";var u={paste:"\u7C98\u8D34",pasteAsPlaintext:"\u7C98\u8D34\u4E3A\u7EAF\u6587\u672C",pasteCharts:"\u7C98\u8D34\u56FE\u8868",selectAll:"\u5168\u90E8\u9009\u4E2D",multiSelect:"\u6DFB\u52A0\u5143\u7D20\u5230\u9009\u533A",moveCanvas:"\u79FB\u52A8\u753B\u5E03",cut:"\u526A\u5207",copy:"\u62F7\u8D1D",copyAsPng:"\u590D\u5236\u4E3A PNG \u5230\u526A\u8D34\u677F",copyAsSvg:"\u590D\u5236\u4E3A SVG \u5230\u526A\u8D34\u677F",copyText:"\u590D\u5236\u6587\u672C\u5230\u526A\u8D34\u677F",copySource:"\u590D\u5236\u6E90\u7801\u5230\u526A\u8D34\u677F",convertToCode:"\u8F6C\u6362\u6210\u4EE3\u7801",bringForward:"\u4E0A\u79FB\u4E00\u5C42",sendToBack:"\u7F6E\u4E8E\u5E95\u5C42",bringToFront:"\u7F6E\u4E8E\u9876\u5C42",sendBackward:"\u4E0B\u79FB\u4E00\u5C42",delete:"\u5220\u9664",copyStyles:"\u62F7\u8D1D\u6837\u5F0F",pasteStyles:"\u7C98\u8D34\u6837\u5F0F",stroke:"\u63CF\u8FB9",background:"\u80CC\u666F",fill:"\u586B\u5145",strokeWidth:"\u63CF\u8FB9\u5BBD\u5EA6",strokeStyle:"\u8FB9\u6846\u6837\u5F0F",strokeStyle_solid:"\u5B9E\u7EBF",strokeStyle_dashed:"\u865A\u7EBF",strokeStyle_dotted:"\u70B9\u865A\u7EBF",sloppiness:"\u7EBF\u6761\u98CE\u683C",opacity:"\u900F\u660E\u5EA6",textAlign:"\u6587\u672C\u5BF9\u9F50",edges:"\u8FB9\u89D2",sharp:"\u5C16\u9510",round:"\u5706\u6DA6",arrowheads:"\u7AEF\u70B9",arrowhead_none:"\u65E0",arrowhead_arrow:"\u7BAD\u5934",arrowhead_bar:"\u6761\u72B6",arrowhead_circle:"\u5706\u70B9",arrowhead_circle_outline:"\u5706\u70B9\uFF08\u7A7A\u5FC3\uFF09",arrowhead_triangle:"\u4E09\u89D2\u7BAD\u5934",arrowhead_triangle_outline:"\u4E09\u89D2\u7BAD\u5934\uFF08\u7A7A\u5FC3\uFF09",arrowhead_diamond:"\u83F1\u5F62",arrowhead_diamond_outline:"\u83F1\u5F62\uFF08\u7A7A\u5FC3\uFF09",fontSize:"\u5B57\u4F53\u5927\u5C0F",fontFamily:"\u5B57\u4F53",addWatermark:"\u6DFB\u52A0 \u201C\u4F7F\u7528 Excalidraw \u521B\u5EFA\u201D \u6C34\u5370",handDrawn:"\u624B\u5199",normal:"\u666E\u901A",code:"\u4EE3\u7801",small:"\u5C0F",medium:"\u4E2D",large:"\u5927",veryLarge:"\u52A0\u5927",solid:"\u5B9E\u5FC3",hachure:"\u7EBF\u6761",zigzag:"\u4E4B\u5B57\u5F62\u6298\u7EBF",crossHatch:"\u4EA4\u53C9\u7EBF\u6761",thin:"\u7EC6",bold:"\u7C97",left:"\u5DE6\u5BF9\u9F50",center:"\u5C45\u4E2D",right:"\u53F3\u5BF9\u9F50",extraBold:"\u7279\u7C97",architect:"\u6734\u7D20",artist:"\u827A\u672F",cartoonist:"\u6F2B\u753B\u5BB6",fileTitle:"\u6587\u4EF6\u540D",colorPicker:"\u53D6\u8272\u5668",canvasColors:"\u753B\u5E03\u4E0A\u7684",canvasBackground:"\u753B\u5E03\u80CC\u666F",drawingCanvas:"\u7ED8\u5236 Canvas",layers:"\u56FE\u5C42",actions:"\u64CD\u4F5C",language:"\u8BED\u8A00",liveCollaboration:"\u5B9E\u65F6\u534F\u4F5C...",duplicateSelection:"\u590D\u5236",untitled:"\u65E0\u6807\u9898",name:"\u540D\u5B57",yourName:"\u60A8\u7684\u59D3\u540D",madeWithExcalidraw:"\u4F7F\u7528 Excalidraw \u521B\u5EFA",group:"\u7F16\u7EC4",ungroup:"\u89E3\u9664\u7F16\u7EC4",collaborators:"\u534F\u4F5C\u8005",showGrid:"\u663E\u793A\u7F51\u683C",addToLibrary:"\u6DFB\u52A0\u5230\u7D20\u6750\u5E93\u4E2D",removeFromLibrary:"\u4ECE\u7D20\u6750\u5E93\u4E2D\u79FB\u9664",libraryLoadingMessage:"\u6B63\u5728\u52A0\u8F7D\u7D20\u6750\u5E93\u2026",libraries:"\u6D4F\u89C8\u7D20\u6750\u5E93",loadingScene:"\u6B63\u5728\u52A0\u8F7D\u7ED8\u56FE\u2026",align:"\u5BF9\u9F50",alignTop:"\u9876\u90E8\u5BF9\u9F50",alignBottom:"\u5E95\u7AEF\u5BF9\u9F50",alignLeft:"\u5DE6\u5BF9\u9F50",alignRight:"\u53F3\u5BF9\u9F50",centerVertically:"\u5782\u76F4\u5C45\u4E2D",centerHorizontally:"\u6C34\u5E73\u5C45\u4E2D",distributeHorizontally:"\u6C34\u5E73\u7B49\u8DDD\u5206\u5E03",distributeVertically:"\u5782\u76F4\u7B49\u8DDD\u5206\u5E03",flipHorizontal:"\u6C34\u5E73\u7FFB\u8F6C",flipVertical:"\u5782\u76F4\u7FFB\u8F6C",viewMode:"\u67E5\u770B\u6A21\u5F0F",share:"\u5206\u4EAB",showStroke:"\u663E\u793A\u63CF\u8FB9\u989C\u8272\u9009\u62E9\u5668",showBackground:"\u663E\u793A\u80CC\u666F\u989C\u8272\u9009\u62E9\u5668",toggleTheme:"\u5207\u6362\u4E3B\u9898",personalLib:"\u4E2A\u4EBA\u7D20\u6750\u5E93",excalidrawLib:"Excalidraw \u7D20\u6750\u5E93",decreaseFontSize:"\u7F29\u5C0F\u5B57\u4F53\u5927\u5C0F",increaseFontSize:"\u653E\u5927\u5B57\u4F53\u5927\u5C0F",unbindText:"\u53D6\u6D88\u6587\u672C\u7ED1\u5B9A",bindText:"\u5C06\u6587\u672C\u7ED1\u5B9A\u5230\u5BB9\u5668",createContainerFromText:"\u5C06\u6587\u672C\u5305\u56F4\u5728\u5BB9\u5668\u4E2D",link:{edit:"\u7F16\u8F91\u94FE\u63A5",editEmbed:"\u7F16\u8F91\u94FE\u63A5\u4E0E\u5D4C\u5165",create:"\u65B0\u5EFA\u94FE\u63A5",createEmbed:"\u521B\u5EFA\u94FE\u63A5\u4E0E\u5D4C\u5165",label:"\u94FE\u63A5",labelEmbed:"\u94FE\u63A5\u4E0E\u5D4C\u5165",empty:"\u672A\u8BBE\u5B9A\u94FE\u63A5"},lineEditor:{edit:"\u7F16\u8F91\u7EBF\u6761",exit:"\u9000\u51FA\u7EBF\u6761\u7F16\u8F91"},elementLock:{lock:"\u9501\u5B9A",unlock:"\u89E3\u9664\u9501\u5B9A",lockAll:"\u5168\u90E8\u9501\u5B9A",unlockAll:"\u5168\u90E8\u89E3\u9501"},statusPublished:"\u5DF2\u53D1\u5E03",sidebarLock:"\u4FA7\u8FB9\u680F\u5E38\u9A7B",selectAllElementsInFrame:"\u9009\u62E9\u753B\u6846\u4E2D\u7684\u6240\u6709\u5143\u7D20",removeAllElementsFromFrame:"\u5206\u79BB\u51FA\u753B\u6846\u4E2D\u7684\u6240\u6709\u5143\u7D20",eyeDropper:"\u4ECE\u753B\u5E03\u4E0A\u53D6\u8272",textToDiagram:"\u6587\u5B57\u81F3\u56FE\u8868",prompt:"Prompt"},F={noItems:"\u5C1A\u672A\u6DFB\u52A0\u4EFB\u4F55\u9879\u76EE\u2026\u2026",hint_emptyLibrary:"\u9009\u4E2D\u753B\u5E03\u4E0A\u7684\u9879\u76EE\u6DFB\u52A0\u5230\u6B64\u5904\uFF0C\u6216\u4ECE\u4E0B\u65B9\u7684\u516C\u5171\u7D20\u6750\u5E93\u4E2D\u5BFC\u5165\u3002",hint_emptyPrivateLibrary:"\u9009\u4E2D\u753B\u5E03\u4E0A\u7684\u9879\u76EE\u6DFB\u52A0\u5230\u6B64\u5904\u3002"},E={clearReset:"\u91CD\u7F6E\u753B\u5E03",exportJSON:"\u5BFC\u51FA\u4E3A\u6587\u4EF6",exportImage:"\u5BFC\u51FA\u56FE\u7247...",export:"\u4FDD\u5B58\u5230...",copyToClipboard:"\u590D\u5236\u5230\u526A\u8D34\u677F",save:"\u4FDD\u5B58\u81F3\u5F53\u524D\u6587\u4EF6",saveAs:"\u4FDD\u5B58\u4E3A",load:"\u6253\u5F00",getShareableLink:"\u83B7\u53D6\u5171\u4EAB\u94FE\u63A5",close:"\u5173\u95ED",selectLanguage:"\u9009\u62E9\u8BED\u8A00",scrollBackToContent:"\u6EDA\u52A8\u56DE\u5230\u5185\u5BB9",zoomIn:"\u653E\u5927",zoomOut:"\u7F29\u5C0F",resetZoom:"\u91CD\u7F6E\u7F29\u653E",menu:"\u83DC\u5355",done:"\u5B8C\u6210",edit:"\u7F16\u8F91",undo:"\u64A4\u9500",redo:"\u91CD\u505A",resetLibrary:"\u91CD\u7F6E\u7D20\u6750\u5E93",createNewRoom:"\u65B0\u5EFA\u4F1A\u8BAE\u5BA4",fullScreen:"\u5168\u5C4F",darkMode:"\u6DF1\u8272\u6A21\u5F0F",lightMode:"\u6D45\u8272\u6A21\u5F0F",zenMode:"\u7985\u6A21\u5F0F",objectsSnapMode:"\u5438\u9644\u81F3\u5BF9\u8C61",exitZenMode:"\u9000\u51FA\u7985\u6A21\u5F0F",cancel:"\u53D6\u6D88",clear:"\u6E05\u9664",remove:"\u5220\u9664",embed:"\u5207\u6362\u5D4C\u5165",publishLibrary:"\u53D1\u5E03",submit:"\u63D0\u4EA4",confirm:"\u786E\u5B9A",embeddableInteractionButton:"\u70B9\u51FB\u4EE5\u5F00\u59CB\u4EA4\u4E92"},e={clearReset:"\u8FD9\u5C06\u4F1A\u6E05\u9664\u6574\u4E2A\u753B\u5E03\u3002\u60A8\u662F\u5426\u8981\u7EE7\u7EED?",couldNotCreateShareableLink:"\u65E0\u6CD5\u521B\u5EFA\u5171\u4EAB\u94FE\u63A5",couldNotCreateShareableLinkTooBig:"\u65E0\u6CD5\u521B\u5EFA\u53EF\u5171\u4EAB\u94FE\u63A5\uFF1A\u753B\u5E03\u8FC7\u5927",couldNotLoadInvalidFile:"\u65E0\u6CD5\u52A0\u8F7D\u65E0\u6548\u7684\u6587\u4EF6",importBackendFailed:"\u4ECE\u540E\u7AEF\u5BFC\u5165\u5931\u8D25\u3002",cannotExportEmptyCanvas:"\u65E0\u6CD5\u5BFC\u51FA\u7A7A\u767D\u753B\u5E03\u3002",couldNotCopyToClipboard:"\u65E0\u6CD5\u590D\u5236\u5230\u526A\u8D34\u677F\u3002",decryptFailed:"\u65E0\u6CD5\u89E3\u5BC6\u6570\u636E\u3002",uploadedSecurly:"\u4E0A\u4F20\u5DF2\u88AB\u7AEF\u5230\u7AEF\u52A0\u5BC6\u4FDD\u62A4\uFF0C\u8FD9\u610F\u5473\u7740 Excalidraw \u7684\u670D\u52A1\u5668\u548C\u7B2C\u4E09\u65B9\u90FD\u65E0\u6CD5\u8BFB\u53D6\u5185\u5BB9\u3002",loadSceneOverridePrompt:"\u52A0\u8F7D\u5916\u90E8\u7ED8\u56FE\u5C06\u53D6\u4EE3\u60A8\u73B0\u6709\u7684\u5185\u5BB9\u3002\u60A8\u60F3\u8981\u7EE7\u7EED\u5417\uFF1F",collabStopOverridePrompt:`\u505C\u6B62\u4F1A\u8BDD\u5C06\u8986\u76D6\u60A8\u5148\u524D\u672C\u5730\u5B58\u50A8\u7684\u7ED8\u56FE\u3002 \u60A8\u786E\u5B9A\u5417\uFF1F
|
|
2
|
+
|
|
3
|
+
(\u5982\u679C\u60A8\u60F3\u4FDD\u6301\u672C\u5730\u7ED8\u56FE\uFF0C\u53EA\u9700\u5173\u95ED\u6D4F\u89C8\u5668\u9009\u9879\u5361\u3002)`,errorAddingToLibrary:"\u65E0\u6CD5\u5C06\u9879\u76EE\u6DFB\u52A0\u5230\u7D20\u6750\u5E93\u4E2D",errorRemovingFromLibrary:"\u65E0\u6CD5\u4ECE\u7D20\u6750\u5E93\u4E2D\u79FB\u9664\u9879\u76EE",confirmAddLibrary:"\u8FD9\u5C06\u6DFB\u52A0 {{numShapes}} \u4E2A\u5F62\u72B6\u5230\u60A8\u7684\u7D20\u6750\u5E93\u4E2D\u3002\u60A8\u786E\u5B9A\u5417\uFF1F",imageDoesNotContainScene:"\u6B64\u56FE\u50CF\u4F3C\u4E4E\u4E0D\u5305\u542B\u4EFB\u4F55\u753B\u5E03\u6570\u636E\u3002\u60A8\u662F\u5426\u5728\u5BFC\u51FA\u65F6\u542F\u7528\u4E86\u753B\u5E03\u5D4C\u5165\u529F\u80FD\uFF1F",cannotRestoreFromImage:"\u65E0\u6CD5\u4ECE\u6B64\u56FE\u50CF\u6587\u4EF6\u6062\u590D\u753B\u5E03",invalidSceneUrl:"\u65E0\u6CD5\u4ECE\u63D0\u4F9B\u7684 URL \u5BFC\u5165\u573A\u666F\u3002\u5B83\u6216\u8005\u683C\u5F0F\u4E0D\u6B63\u786E\uFF0C\u6216\u8005\u4E0D\u5305\u542B\u6709\u6548\u7684 Excalidraw JSON \u6570\u636E\u3002",resetLibrary:"\u8FD9\u5C06\u4F1A\u6E05\u9664\u4F60\u7684\u7D20\u6750\u5E93\u3002\u4F60\u786E\u5B9A\u8981\u8FD9\u4E48\u505A\u5417\uFF1F",removeItemsFromsLibrary:"\u786E\u5B9A\u8981\u4ECE\u7D20\u6750\u5E93\u4E2D\u5220\u9664 {{count}} \u4E2A\u9879\u76EE\u5417\uFF1F",invalidEncryptionKey:"\u5BC6\u94A5\u5FC5\u987B\u5305\u542B22\u4E2A\u5B57\u7B26\u3002\u5B9E\u65F6\u534F\u4F5C\u5DF2\u88AB\u7981\u7528\u3002",collabOfflineWarning:`\u65E0\u7F51\u7EDC\u8FDE\u63A5\u3002
|
|
4
|
+
\u60A8\u7684\u6539\u52A8\u5C06\u4E0D\u4F1A\u88AB\u4FDD\u5B58\uFF01`},D={unsupportedFileType:"\u4E0D\u652F\u6301\u7684\u6587\u4EF6\u683C\u5F0F\u3002",imageInsertError:"\u65E0\u6CD5\u63D2\u5165\u56FE\u50CF\u3002\u8BF7\u7A0D\u540E\u518D\u8BD5\u2026\u2026",fileTooBig:"\u6587\u4EF6\u8FC7\u5927\u3002\u6700\u5927\u5141\u8BB8\u7684\u5927\u5C0F\u4E3A {{maxSize}}\u3002",svgImageInsertError:"\u65E0\u6CD5\u63D2\u5165 SVG \u56FE\u50CF\u3002\u8BE5 SVG \u6807\u8BB0\u4F3C\u4E4E\u662F\u65E0\u6548\u7684\u3002",failedToFetchImage:"\u65E0\u6CD5\u83B7\u53D6\u56FE\u7247\u3002",invalidSVGString:"\u65E0\u6548\u7684 SVG\u3002",cannotResolveCollabServer:"\u65E0\u6CD5\u8FDE\u63A5\u5230\u5B9E\u65F6\u534F\u4F5C\u670D\u52A1\u5668\u3002\u8BF7\u91CD\u65B0\u52A0\u8F7D\u9875\u9762\u5E76\u91CD\u8BD5\u3002",importLibraryError:"\u65E0\u6CD5\u52A0\u8F7D\u7D20\u6750\u5E93",collabSaveFailed:"\u65E0\u6CD5\u4FDD\u5B58\u5230\u540E\u7AEF\u6570\u636E\u5E93\u3002\u5982\u679C\u95EE\u9898\u6301\u7EED\u5B58\u5728\uFF0C\u60A8\u5E94\u8BE5\u4FDD\u5B58\u6587\u4EF6\u5230\u672C\u5730\uFF0C\u4EE5\u786E\u4FDD\u60A8\u7684\u5DE5\u4F5C\u4E0D\u4F1A\u4E22\u5931\u3002",collabSaveFailed_sizeExceeded:"\u65E0\u6CD5\u4FDD\u5B58\u5230\u540E\u7AEF\u6570\u636E\u5E93\uFF0C\u753B\u5E03\u4F3C\u4E4E\u8FC7\u5927\u3002\u60A8\u5E94\u8BE5\u4FDD\u5B58\u6587\u4EF6\u5230\u672C\u5730\uFF0C\u4EE5\u786E\u4FDD\u60A8\u7684\u5DE5\u4F5C\u4E0D\u4F1A\u4E22\u5931\u3002",imageToolNotSupported:"\u56FE\u7247\u5DF2\u88AB\u7981\u7528\u3002",brave_measure_text_error:{line1:"\u60A8\u4F3C\u4E4E\u6B63\u5728\u4F7F\u7528 Brave \u6D4F\u89C8\u5668\u5E76\u542F\u7528\u4E86<bold>\u79EF\u6781\u963B\u6B62\u6307\u7EB9\u8BC6\u522B</bold>\u7684\u8BBE\u7F6E\u3002",line2:"\u8FD9\u53EF\u80FD\u4F1A\u7834\u574F\u7ED8\u56FE\u4E2D\u7684 <bold>\u6587\u672C\u5143\u7D20</bold>\u3002",line3:"\u6211\u4EEC\u5F3A\u70C8\u5EFA\u8BAE\u7981\u7528\u6B64\u8BBE\u7F6E\u3002\u60A8\u53EF\u4EE5\u6309\u7167<link>\u8FD9\u4E9B\u6B65\u9AA4</link>\u6765\u8BBE\u7F6E\u3002",line4:"\u5982\u679C\u7981\u7528\u6B64\u8BBE\u7F6E\u65E0\u6CD5\u4FEE\u590D\u6587\u672C\u5143\u7D20\u7684\u663E\u793A\uFF0C\u8BF7\u5728 GitHub \u4E0A\u63D0\u4EA4\u4E00\u4E2A <issueLink>issue</issueLink> \uFF0C\u6216\u8005\u5728 <discordLink>Discord</discordLink> \u4E0A\u53CD\u9988"},libraryElementTypeError:{embeddable:"\u5D4C\u5165\u7684\u5143\u7D20\u4E0D\u80FD\u88AB\u6DFB\u52A0\u5230\u7D20\u6750\u5E93\u3002",iframe:"\u4E0D\u80FD\u5C06 IFrame \u5143\u7D20\u6DFB\u52A0\u5230\u7D20\u6750\u5E93\u4E2D\u3002",image:"\u6211\u4EEC\u4E0D\u4E45\u5C06\u652F\u6301\u6DFB\u52A0\u56FE\u7247\u5230\u7D20\u6750\u5E93"},asyncPasteFailedOnRead:"\u65E0\u6CD5\u7C98\u8D34\uFF08\u65E0\u6CD5\u8BFB\u53D6\u7CFB\u7EDF\u526A\u8D34\u677F\uFF09\u3002",asyncPasteFailedOnParse:"\u65E0\u6CD5\u7C98\u8D34\u3002",copyToSystemClipboardFailed:"\u65E0\u6CD5\u590D\u5236\u5230\u526A\u8D34\u677F\u3002"},B={selection:"\u9009\u62E9",image:"\u63D2\u5165\u56FE\u50CF",rectangle:"\u77E9\u5F62",diamond:"\u83F1\u5F62",ellipse:"\u692D\u5706",arrow:"\u7BAD\u5934",line:"\u7EBF\u6761",freedraw:"\u81EA\u7531\u4E66\u5199",text:"\u6587\u5B57",library:"\u7D20\u6750\u5E93",lock:"\u7ED8\u5236\u540E\u4FDD\u6301\u6240\u9009\u7684\u5DE5\u5177\u680F\u72B6\u6001",penMode:"\u7B14\u6A21\u5F0F \u2013 \u907F\u514D\u8BEF\u89E6",link:"\u4E3A\u9009\u4E2D\u7684\u5F62\u72B6\u6DFB\u52A0/\u66F4\u65B0\u94FE\u63A5",eraser:"\u6A61\u76AE",frame:"\u753B\u6846\u5DE5\u5177",magicframe:"\u7EBF\u6846\u56FE\u81F3\u4EE3\u7801",embeddable:"\u5D4C\u5165\u7F51\u9875",laser:"\u6FC0\u5149\u7B14",hand:"\u6293\u624B\uFF08\u5E73\u79FB\u5DE5\u5177\uFF09",extraTools:"\u66F4\u591A\u5DE5\u5177",mermaidToExcalidraw:"Mermaid \u81F3 Excalidraw",magicSettings:"AI \u8BBE\u7F6E"},C={canvasActions:"\u753B\u5E03\u52A8\u4F5C",selectedShapeActions:"\u9009\u5B9A\u5F62\u72B6\u64CD\u4F5C",shapes:"\u5F62\u72B6"},a={canvasPanning:"\u8981\u79FB\u52A8\u753B\u5E03\uFF0C\u8BF7\u6309\u4F4F\u9F20\u6807\u6EDA\u8F6E\u6216\u7A7A\u683C\u952E\u540C\u65F6\u62D6\u62FD\u9F20\u6807\uFF0C\u6216\u4F7F\u7528\u6293\u624B\u5DE5\u5177\u3002",linearElement:"\u70B9\u51FB\u521B\u5EFA\u591A\u4E2A\u70B9 \u62D6\u52A8\u521B\u5EFA\u76F4\u7EBF",freeDraw:"\u70B9\u51FB\u5E76\u62D6\u52A8\uFF0C\u5B8C\u6210\u65F6\u677E\u5F00",text:"\u63D0\u793A\uFF1A\u60A8\u4E5F\u53EF\u4EE5\u4F7F\u7528\u9009\u62E9\u5DE5\u5177\u53CC\u51FB\u4EFB\u610F\u4F4D\u7F6E\u6765\u6DFB\u52A0\u6587\u5B57",embeddable:"\u70B9\u51FB\u5E76\u62D6\u52A8\u4EE5\u521B\u5EFA\u5D4C\u5165\u7F51\u9875",text_selected:"\u53CC\u51FB\u6216\u6309\u56DE\u8F66\u952E\u4EE5\u7F16\u8F91\u6587\u672C",text_editing:"\u6309\u4E0B Escape \u6216 CtrlOrCmd+ENTER \u5B8C\u6210\u7F16\u8F91",linearElementMulti:"\u70B9\u51FB\u6700\u540E\u4E00\u4E2A\u70B9\u6216\u6309\u4E0B Esc/Enter \u6765\u5B8C\u6210",lockAngle:"\u53EF\u4EE5\u6309\u4F4F Shift \u6765\u7EA6\u675F\u89D2\u5EA6",resize:`\u60A8\u53EF\u4EE5\u6309\u4F4FSHIFT\u6765\u9650\u5236\u6BD4\u4F8B\u5927\u5C0F\uFF0C
|
|
5
|
+
\u6309\u4F4FALT\u6765\u8C03\u6574\u4E2D\u5FC3\u5927\u5C0F`,resizeImage:`\u6309\u4F4FSHIFT\u53EF\u4EE5\u81EA\u7531\u7F29\u653E\uFF0C
|
|
6
|
+
\u6309\u4F4FALT\u53EF\u4EE5\u4ECE\u4E2D\u95F4\u7F29\u653E`,rotate:"\u65CB\u8F6C\u65F6\u53EF\u4EE5\u6309\u4F4F Shift \u6765\u7EA6\u675F\u89D2\u5EA6",lineEditor_info:"\u6309\u4F4F CtrlOrCmd \u5E76\u53CC\u51FB\u6216\u6309 CtrlOrCmd + Enter \u6765\u7F16\u8F91\u70B9",lineEditor_pointSelected:"\u6309\u4E0B Delete \u79FB\u9664\u70B9\uFF0CCtrlOrCmd+D \u4EE5\u590D\u5236\uFF0C\u62D6\u52A8\u4EE5\u79FB\u52A8",lineEditor_nothingSelected:`\u9009\u62E9\u8981\u7F16\u8F91\u7684\u70B9 (\u6309\u4F4F SHIFT \u9009\u62E9\u591A\u4E2A)\uFF0C
|
|
7
|
+
\u6216\u6309\u4F4F Alt \u5E76\u70B9\u51FB\u4EE5\u6DFB\u52A0\u65B0\u70B9`,placeImage:"\u70B9\u51FB\u653E\u7F6E\u56FE\u50CF\uFF0C\u6216\u8005\u70B9\u51FB\u5E76\u62D6\u52A8\u4EE5\u624B\u52A8\u8BBE\u7F6E\u56FE\u50CF\u5927\u5C0F",publishLibrary:"\u53D1\u5E03\u60A8\u81EA\u5DF1\u7684\u7D20\u6750\u5E93",bindTextToElement:"\u6309\u4E0B Enter \u4EE5\u6DFB\u52A0\u6587\u672C",deepBoxSelect:"\u6309\u4F4F CtrlOrCmd \u4EE5\u6DF1\u5EA6\u9009\u62E9\uFF0C\u5E76\u907F\u514D\u62D6\u62FD",eraserRevert:"\u6309\u4F4F Alt \u4EE5\u53CD\u9009\u88AB\u6807\u8BB0\u5220\u9664\u7684\u5143\u7D20",firefox_clipboard_write:"\u5C06\u9AD8\u7EA7\u914D\u7F6E\u9996\u9009\u9879\u201Cdom.events.asyncClipboard.clipboardItem\u201D\u8BBE\u7F6E\u4E3A\u201Ctrue\u201D\u53EF\u4EE5\u542F\u7528\u6B64\u529F\u80FD\u3002\u8981\u66F4\u6539 Firefox \u7684\u9AD8\u7EA7\u914D\u7F6E\u9996\u9009\u9879\uFF0C\u8BF7\u524D\u5F80\u201Cabout:config\u201D\u9875\u9762\u3002",disableSnapping:"\u6309\u4F4F Ctrl \u6216 Cmd \u4EE5\u7981\u7528\u5438\u9644"},r={cannotShowPreview:"\u65E0\u6CD5\u663E\u793A\u9884\u89C8",canvasTooBig:"\u753B\u5E03\u53EF\u80FD\u8FC7\u5927\u3002",canvasTooBigTip:"\u63D0\u793A\uFF1A\u5C1D\u8BD5\u5C06\u6700\u8FDC\u7684\u5143\u7D20\u79FB\u52A8\u5230\u548C\u5176\u5B83\u5143\u7D20\u66F4\u8FD1\u4E00\u4E9B\u3002"},A={headingMain:"\u9047\u5230\u5F02\u5E38\u3002\u8BF7\u5C1D\u8BD5<button>\u91CD\u65B0\u52A0\u8F7D\u9875\u9762</button>\u3002",clearCanvasMessage:"\u5982\u679C\u91CD\u65B0\u52A0\u8F7D\u9875\u9762\u65E0\u6548\uFF0C\u8BF7\u5C1D\u8BD5<button>\u6E05\u9664\u753B\u5E03</button>\u3002",clearCanvasCaveat:"\u8FD9\u4F1A\u9020\u6210\u5F53\u524D\u5DE5\u4F5C\u4E22\u5931",trackedToSentry:"\u6807\u8BC6\u7B26\u4E3A{{eventId}}\u7684\u9519\u8BEF\u5DF2\u5728\u6211\u4EEC\u7684\u7CFB\u7EDF\u4E2D\u88AB\u8BB0\u5F55",openIssueMessage:"\u6211\u4EEC\u975E\u5E38\u8C28\u614E\u5730\u5904\u7406\u9519\u8BEF\u4FE1\u606F\uFF0C\u60A8\u7684\u753B\u5E03\u5185\u5BB9\u4E0D\u4F1A\u88AB\u5305\u542B\u5728\u9519\u8BEF\u62A5\u544A\u4E2D\u3002\u5982\u679C\u60A8\u7684\u753B\u5E03\u5185\u5BB9\u4E0D\u9700\u8981\u4FDD\u6301\u79C1\u5BC6\uFF0C\u8BF7\u8003\u8651\u5728\u6211\u4EEC\u7684 <button>bug \u8DDF\u8E2A\u7CFB\u7EDF</button>\u4E0A\u63D0\u4F9B\u66F4\u591A\u4FE1\u606F\u3002\u8BF7\u590D\u5236\u7C98\u8D34\u4EE5\u4E0B\u4FE1\u606F\u5230 GitHub Issue \u4E2D\u3002",sceneContent:"\u753B\u5E03\u5185\u5BB9:"},t={desc_intro:"\u4F60\u53EF\u4EE5\u9080\u8BF7\u5176\u4ED6\u4EBA\u5230\u76EE\u524D\u7684\u753B\u9762\u4E2D\u4E0E\u4F60\u534F\u4F5C\u3002",desc_privacy:"\u522B\u62C5\u5FC3\uFF0C\u8BE5\u4F1A\u8BDD\u4F7F\u7528\u7AEF\u5230\u7AEF\u52A0\u5BC6\uFF0C\u65E0\u8BBA\u7ED8\u5236\u4EC0\u4E48\u90FD\u5C06\u4FDD\u6301\u79C1\u5BC6\uFF0C\u751A\u81F3\u8FDE\u6211\u4EEC\u7684\u670D\u52A1\u5668\u4E5F\u65E0\u6CD5\u67E5\u770B\u3002",button_startSession:"\u5F00\u59CB\u4F1A\u8BDD",button_stopSession:"\u7ED3\u675F\u4F1A\u8BDD",desc_inProgressIntro:"\u5B9E\u65F6\u534F\u4F5C\u4F1A\u8BDD\u8FDB\u884C\u4E2D\u3002",desc_shareLink:"\u5206\u4EAB\u6B64\u94FE\u63A5\u7ED9\u4F60\u8981\u534F\u4F5C\u7684\u7528\u6237",desc_exitSession:"\u505C\u6B62\u4F1A\u8BDD\u5C06\u4E2D\u65AD\u60A8\u4E0E\u623F\u95F4\u7684\u8FDE\u63A5\uFF0C\u4F46\u60A8\u4F9D\u7136\u53EF\u4EE5\u5728\u672C\u5730\u7EE7\u7EED\u4F7F\u7528\u753B\u5E03\u3002\u8BF7\u6CE8\u610F\uFF0C\u8FD9\u4E0D\u4F1A\u5F71\u54CD\u5230\u5176\u4ED6\u7528\u6237\uFF0C\u4ED6\u4EEC\u4ECD\u53EF\u4EE5\u5728\u4ED6\u4EEC\u7684\u7248\u672C\u4E0A\u7EE7\u7EED\u534F\u4F5C\u3002",shareTitle:"\u52A0\u5165 Excalidraw \u5B9E\u65F6\u534F\u4F5C\u4F1A\u8BDD"},o={title:"\u9519\u8BEF"},i={disk_title:"\u4FDD\u5B58\u5230\u672C\u5730",disk_details:"\u5C06\u753B\u5E03\u6570\u636E\u5BFC\u51FA\u4E3A\u6587\u4EF6\uFF0C\u4EE5\u4FBF\u4EE5\u540E\u5BFC\u5165",disk_button:"\u4FDD\u5B58\u4E3A\u6587\u4EF6",link_title:"\u5206\u4EAB\u94FE\u63A5",link_details:"\u5BFC\u51FA\u4E3A\u53EA\u8BFB\u94FE\u63A5\u3002",link_button:"\u5BFC\u51FA\u94FE\u63A5",excalidrawplus_description:"\u5C06\u753B\u5E03\u4FDD\u5B58\u5230\u60A8\u7684 Excalidraw+ \u5DE5\u4F5C\u533A\u3002",excalidrawplus_button:"\u5BFC\u51FA",excalidrawplus_exportError:"\u6682\u65F6\u65E0\u6CD5\u5BFC\u51FA\u5230 Excalidraw+ ..."},l={blog:"\u6D4F\u89C8\u6211\u4EEC\u7684\u535A\u5BA2",click:"\u5355\u51FB",deepSelect:"\u6DF1\u5EA6\u9009\u62E9",deepBoxSelect:"\u5728\u65B9\u6846\u5185\u6DF1\u5EA6\u9009\u62E9\u5E76\u907F\u514D\u62D6\u62FD",curvedArrow:"\u66F2\u7EBF\u7BAD\u5934",curvedLine:"\u66F2\u7EBF",documentation:"\u6587\u6863",doubleClick:"\u53CC\u51FB",drag:"\u62D6\u52A8",editor:"\u7F16\u8F91\u5668",editLineArrowPoints:"\u7F16\u8F91\u7EBF\u6761\u6216\u7BAD\u5934\u7684\u70B9",editText:"\u6DFB\u52A0\u6216\u7F16\u8F91\u6587\u672C",github:"\u53D1\u73B0\u95EE\u9898\uFF1F\u63D0\u4EA4\u53CD\u9988",howto:"\u5E2E\u52A9\u6587\u6863",or:"\u6216",preventBinding:"\u7981\u7528\u7BAD\u5934\u5438\u9644",tools:"\u5DE5\u5177",shortcuts:"\u5FEB\u6377\u952E\u5217\u8868",textFinish:"\u5B8C\u6210\u7F16\u8F91 (\u6587\u672C\u7F16\u8F91\u5668)",textNewLine:"\u6DFB\u52A0\u65B0\u884C(\u6587\u672C\u7F16\u8F91\u5668)",title:"\u5E2E\u52A9",view:"\u89C6\u56FE",zoomToFit:"\u7F29\u653E\u4EE5\u9002\u5E94\u6240\u6709\u5143\u7D20",zoomToSelection:"\u7F29\u653E\u5230\u9009\u533A",toggleElementLock:"\u9501\u5B9A/\u89E3\u9501",movePageUpDown:"\u4E0A\u4E0B\u79FB\u52A8\u9875\u9762",movePageLeftRight:"\u5DE6\u53F3\u79FB\u52A8\u9875\u9762"},n={title:"\u6E05\u9664\u753B\u5E03"},s={title:"\u53D1\u5E03\u7D20\u6750\u5E93",itemName:"\u9879\u76EE\u540D\u79F0",authorName:"\u4F5C\u8005\u540D",githubUsername:"GitHub \u7528\u6237\u540D",twitterUsername:"Twitter \u7528\u6237\u540D",libraryName:"\u540D\u79F0",libraryDesc:"\u7B80\u4ECB",website:"\u7F51\u5740",placeholder:{authorName:"\u60A8\u7684\u540D\u5B57\u6216\u7528\u6237\u540D",libraryName:"\u7D20\u6750\u5E93\u540D\u79F0",libraryDesc:"\u4ECB\u7ECD\u60A8\u7684\u7D20\u6750\u5E93\uFF0C\u8BA9\u4EBA\u4EEC\u4E86\u89E3\u5176\u7528\u9014",githubHandle:"GitHub \u7528\u6237\u540D\uFF08\u53EF\u9009\uFF09\uFF0C\u586B\u5199\u540E\uFF0C\u60A8\u53EF\u4EE5\u7F16\u8F91\u5DF2\u63D0\u4EA4\u5F85\u5BA1\u7684\u7D20\u6750\u5E93",twitterHandle:"Twitter \u7528\u6237\u540D\uFF08\u53EF\u9009\uFF09\uFF0C\u586B\u5199\u540E\uFF0C\u5F53\u6211\u4EEC\u5728Twitter\u53D1\u5E03\u63A8\u5E7F\u4FE1\u606F\u65F6\u4FBF\u53EF\u63D0\u53CA\u60A8",website:"\u60A8\u4E2A\u4EBA\u7F51\u7AD9\u7684\u6216\u4EFB\u610F\u7684\u94FE\u63A5\uFF08\u53EF\u9009\uFF09"},errors:{required:"\u5FC5\u586B",website:"\u8F93\u5165\u4E00\u4E2A\u6709\u6548\u7684URL"},noteDescription:"\u63D0\u4EA4\u540E\uFF0C\u60A8\u7684\u7D20\u6750\u5E93\u5C06\u88AB\u5305\u542B\u5728<link>\u516C\u5171\u7D20\u6750\u5E93\u5E7F\u573A</link>\u4EE5\u4F9B\u5176\u4ED6\u4EBA\u5728\u7ED8\u56FE\u4E2D\u4F7F\u7528\u3002",noteGuidelines:"\u63D0\u4EA4\u7684\u7D20\u6750\u5E93\u9700\u5148\u7ECF\u4EBA\u5DE5\u5BA1\u6838\u3002\u5728\u63D0\u4EA4\u4E4B\u524D\uFF0C\u8BF7\u5148\u9605\u8BFB<link>\u6307\u5357</link> \u3002\u540E\u7EED\u6C9F\u901A\u548C\u5BF9\u5E93\u7684\u4FEE\u6539\u9700\u8981 GitHub \u8D26\u53F7\uFF0C\u4F46\u8FD9\u4E0D\u662F\u5FC5\u987B\u7684\u3002",noteLicense:"\u63D0\u4EA4\u5373\u8868\u660E\u60A8\u5DF2\u540C\u610F\u7D20\u6750\u5E93\u5C06\u9075\u5FAA <link>MIT \u8BB8\u53EF\u8BC1</link>\uFF0C\u7B80\u800C\u8A00\u4E4B\uFF0C\u4EFB\u4F55\u4EBA\u90FD\u53EF\u4EE5\u4E0D\u53D7\u9650\u5236\u5730\u4F7F\u7528\u5B83\u4EEC\u3002",noteItems:"\u7D20\u6750\u5E93\u4E2D\u6BCF\u4E2A\u9879\u76EE\u90FD\u6709\u5404\u81EA\u7684\u540D\u79F0\u4EE5\u4F9B\u7B5B\u9009\u3002\u4EE5\u4E0B\u9879\u76EE\u5C06\u88AB\u5305\u542B\uFF1A",atleastOneLibItem:"\u8BF7\u9009\u62E9\u81F3\u5C11\u4E00\u4E2A\u7D20\u6750\u5E93\u4EE5\u5F00\u59CB",republishWarning:"\u6CE8\u610F\uFF1A\u90E8\u5206\u9009\u4E2D\u7684\u9879\u76EE\u5DF2\u7ECF\u53D1\u5E03\u6216\u63D0\u4EA4\u3002\u8BF7\u4EC5\u5728\u66F4\u65B0\u5DF2\u6709\u6216\u5DF2\u63D0\u4EA4\u7684\u7D20\u6750\u5E93\u65F6\u91CD\u590D\u63D0\u4EA4\u9879\u76EE\u3002"},d={title:"\u7D20\u6750\u5E93\u5DF2\u63D0\u4EA4",content:"\u8C22\u8C22\u4F60 {{authorName}}\u3002\u60A8\u7684\u7D20\u6750\u5E93\u5DF2\u88AB\u63D0\u4EA4\u5BA1\u6838\u3002\u8BF7\u70B9\u51FB<link>\u6B64\u5904</link>\u8DDF\u8FDB\u6B64\u6B21\u63D0\u4EA4\u7684\u72B6\u6001"},c={resetLibrary:"\u91CD\u7F6E\u7D20\u6750\u5E93",removeItemsFromLib:"\u4ECE\u7D20\u6750\u5E93\u4E2D\u5220\u9664\u9009\u4E2D\u7684\u9879\u76EE"},m={header:"\u5BFC\u51FA\u56FE\u7247",label:{withBackground:"\u80CC\u666F",onlySelected:"\u4EC5\u9009\u4E2D",darkMode:"\u6DF1\u8272\u6A21\u5F0F",embedScene:"\u5305\u542B\u753B\u5E03\u6570\u636E",scale:"\u7F29\u653E\u6BD4\u4F8B",padding:"\u5185\u8FB9\u8DDD"},tooltip:{embedScene:`\u753B\u5E03\u6570\u636E\u5C06\u88AB\u4FDD\u5B58\u5230\u5BFC\u51FA\u7684 PNG/SVG \u6587\u4EF6\uFF0C\u4EE5\u4FBF\u6062\u590D\u3002
|
|
8
|
+
\u5C06\u4F1A\u589E\u52A0\u5BFC\u51FA\u6587\u4EF6\u7684\u5927\u5C0F\u3002`},title:{exportToPng:"\u5BFC\u51FA\u4E3A PNG",exportToSvg:"\u5BFC\u51FA\u4E3A SVG",copyPngToClipboard:"\u590D\u5236 PNG \u5230\u526A\u5207\u677F"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"\u590D\u5236\u5230\u526A\u8D34\u677F"}},b={tooltip:"\u60A8\u7684\u7ED8\u56FE\u91C7\u7528\u7AEF\u5230\u7AEF\u52A0\u5BC6\uFF0C\u5176\u5185\u5BB9\u5BF9\u4E8E Excalidraw \u670D\u52A1\u5668\u662F\u4E0D\u53EF\u89C1\u7684\u3002",link:"Excalidraw \u4E2D\u5173\u4E8E\u7AEF\u5230\u7AEF\u52A0\u5BC6\u7684\u535A\u5BA2"},p={angle:"\u89D2\u5EA6",element:"\u5143\u7D20",elements:"\u5143\u7D20",height:"\u9AD8\u5EA6",scene:"\u753B\u5E03",selected:"\u9009\u4E2D",storage:"\u5B58\u50A8",title:"\u8BE6\u7EC6\u7EDF\u8BA1\u4FE1\u606F",total:"\u603B\u8BA1",version:"\u7248\u672C",versionCopy:"\u70B9\u51FB\u590D\u5236",versionNotAvailable:"\u7248\u672C\u4E0D\u53EF\u7528",width:"\u5BBD\u5EA6"},g={addedToLibrary:"\u6DFB\u52A0\u5230\u7D20\u6750\u5E93\u4E2D",copyStyles:"\u6837\u5F0F\u5DF2\u62F7\u8D1D\u3002",copyToClipboard:"\u5DF2\u590D\u5236\u5230\u526A\u5207\u677F\u3002",copyToClipboardAsPng:`\u5DF2\u5C06 {{exportSelection}} \u4F5C\u4E3A PNG \u590D\u5236\u5230\u526A\u8D34\u677F
|
|
9
|
+
({{exportColorScheme}})`,fileSaved:"\u6587\u4EF6\u5DF2\u4FDD\u5B58\u3002",fileSavedToFilename:"\u4FDD\u5B58\u5230 {filename}",canvas:"\u753B\u5E03",selection:"\u6240\u9009\u9879",pasteAsSingleElement:`\u4F7F\u7528 {{shortcut}} \u7C98\u8D34\u4E3A\u5355\u4E2A\u5143\u7D20\uFF0C
|
|
10
|
+
\u6216\u7C98\u8D34\u5230\u73B0\u6709\u7684\u6587\u672C\u7F16\u8F91\u5668\u91CC`,unableToEmbed:"\u76EE\u524D\u4E0D\u5141\u8BB8\u5D4C\u5165\u6B64\u7F51\u5740\u3002\u8BF7\u5728 GitHub \u4E0A\u63D0 issue \u8BF7\u6C42\u5C06\u6B64\u7F51\u5740\u52A0\u5165\u767D\u540D\u5355",unrecognizedLinkFormat:"\u60A8\u5D4C\u5165\u7684\u94FE\u63A5\u4E0D\u7B26\u5408\u683C\u5F0F\u8981\u6C42\u3002\u8BF7\u5C1D\u8BD5\u7C98\u8D34\u6E90\u7F51\u7AD9\u63D0\u4F9B\u7684\u201C\u5D4C\u5165 (embed)\u201D\u5B57\u7B26\u4E32"},h={transparent:"\u900F\u660E",black:"\u9ED1",white:"\u767D",red:"\u7EA2",pink:"\u7C89\u7EA2",grape:"\u7D2B\u7EA2",violet:"\u84DD\u7D2B",gray:"\u7070",blue:"\u84DD",cyan:"\u9752",teal:"\u84DD\u7EFF",green:"\u7EFF",yellow:"\u9EC4",orange:"\u6A59",bronze:"\u53E4\u94DC"},S={app:{center_heading:"\u60A8\u7684\u6240\u6709\u6570\u636E\u90FD\u50A8\u5B58\u5728\u6D4F\u89C8\u5668\u672C\u5730\u3002",center_heading_plus:"\u662F\u5426\u524D\u5F80 Excalidraw+ \uFF1F",menuHint:"\u5BFC\u51FA\u3001\u9996\u9009\u9879\u3001\u8BED\u8A00\u2026\u2026"},defaults:{menuHint:"\u5BFC\u51FA\u3001\u9996\u9009\u9879\u2026\u2026",center_heading:"\u56FE\uFF0C\u5316\u7E41\u4E3A\u7B80\u3002",toolbarHint:"\u9009\u62E9\u5DE5\u5177\u5E76\u5F00\u59CB\u7ED8\u56FE\uFF01",helpHint:"\u5FEB\u6377\u952E\u548C\u5E2E\u52A9"}},y={mostUsedCustomColors:"\u5E38\u7528\u81EA\u5B9A\u4E49\u989C\u8272",colors:"\u989C\u8272",shades:"\u8272\u8C03\u660E\u6697",hexCode:"\u5341\u516D\u8FDB\u5236\u503C",noShades:"\u6B64\u989C\u8272\u6CA1\u6709\u53EF\u7528\u7684\u660E\u6697\u53D8\u5316"},w={action:{exportToImage:{title:"\u5BFC\u51FA\u4E3A\u56FE\u7247",button:"\u5BFC\u51FA\u4E3A\u56FE\u7247",description:"\u5C06\u753B\u5E03\u6570\u636E\u5BFC\u51FA\u4E3A\u56FE\u7247\uFF0C\u4EE5\u4FBF\u4EE5\u540E\u5BFC\u5165\u3002"},saveToDisk:{title:"\u4FDD\u5B58\u5230\u672C\u5730",button:"\u4FDD\u5B58\u5230\u672C\u5730",description:"\u5C06\u753B\u5E03\u6570\u636E\u5BFC\u51FA\u4E3A\u6587\u4EF6\uFF0C\u4EE5\u4FBF\u4EE5\u540E\u5BFC\u5165\u3002"},excalidrawPlus:{title:"Excalidraw+",button:"\u5BFC\u51FA\u5230 Excalidraw+",description:"\u5C06\u753B\u5E03\u4FDD\u5B58\u5230\u60A8\u7684 Excalidraw+ \u5DE5\u4F5C\u533A\u3002"}},modal:{loadFromFile:{title:"\u4ECE\u6587\u4EF6\u52A0\u8F7D",button:"\u4ECE\u6587\u4EF6\u52A0\u8F7D",description:"\u4ECE\u6587\u4EF6\u52A0\u8F7D\u5C06<bold>\u66FF\u6362\u60A8\u73B0\u6709\u7684\u5185\u5BB9</bold>\u3002<br></br>\u60A8\u53EF\u4EE5\u5148\u4F7F\u7528\u4E0B\u5217\u65B9\u5F0F\u5907\u4EFD\u60A8\u7684\u7ED8\u56FE\u3002"},shareableLink:{title:"\u4ECE\u94FE\u63A5\u52A0\u8F7D",button:"\u66FF\u6362\u6211\u7684\u5185\u5BB9",description:"\u52A0\u8F7D\u5916\u90E8\u7ED8\u56FE\u5C06<bold>\u66FF\u6362\u60A8\u73B0\u6709\u7684\u5185\u5BB9</bold>\u3002<br></br>\u60A8\u53EF\u4EE5\u5148\u4F7F\u7528\u4E0B\u5217\u65B9\u5F0F\u5907\u4EFD\u60A8\u7684\u7ED8\u56FE\u3002"}}},k={title:"Mermaid \u81F3 Excalidraw",button:"\u63D2\u5165",description:"\u76EE\u524D\u4EC5\u652F\u6301<flowchartLink>\u6D41\u7A0B\u56FE</flowchartLink>\u3001<sequenceLink>\u5E8F\u5217\u56FE</sequenceLink>\u548C<classLink>\u7C7B\u56FE</classLink>\u3002\u5176\u4ED6\u7C7B\u578B\u5728 Excalidraw \u4E2D\u5C06\u4EE5\u56FE\u50CF\u5448\u73B0\u3002",syntax:"Mermaid \u8BED\u6CD5",preview:"\u9884\u89C8"},x={labels:u,library:F,buttons:E,alerts:e,errors:D,toolBar:B,headings:C,hints:a,canvasError:r,errorSplash:A,roomDialog:t,errorDialog:o,exportDialog:i,helpDialog:l,clearCanvasDialog:n,publishDialog:s,publishSuccessDialog:d,confirmDialog:c,imageExportDialog:m,encrypted:b,stats:p,toast:g,colors:h,welcomeScreen:S,colorPicker:y,overwriteConfirm:w,mermaid:k};export{e as alerts,E as buttons,r as canvasError,n as clearCanvasDialog,y as colorPicker,h as colors,c as confirmDialog,x as default,b as encrypted,o as errorDialog,A as errorSplash,D as errors,i as exportDialog,C as headings,l as helpDialog,a as hints,m as imageExportDialog,u as labels,F as library,k as mermaid,w as overwriteConfirm,s as publishDialog,d as publishSuccessDialog,t as roomDialog,p as stats,g as toast,B as toolBar,S as welcomeScreen};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as H}from"./chunk-FNZGVIJV.js";import{a as O,b as A,c as E,d as D,e as Y,f as x,g as _}from"./chunk-OUIX6BGK.js";import{C as k}from"./chunk-K4I76XBX.js";import{a as I}from"./chunk-MD3HMMTK.js";import{f as N,g as M,h as G}from"./chunk-25XV6UY3.js";import{a as v,c as B,e as S}from"./chunk-FDVKYQJN.js";import{b as P}from"./chunk-R6P6EHWA.js";import"./chunk-4QDE4SUK.js";import"./chunk-R4YVZCIT.js";import"./chunk-UMH2TSW2.js";import"./chunk-ZTRZIET2.js";import"./chunk-PTBOP4OT.js";import"./chunk-44P66WFA.js";import{_ as R}from"./chunk-TL3HLL2S.js";import{b as p}from"./chunk-SRORWQJZ.js";import{a as m}from"./chunk-XOYVR3SV.js";import"./chunk-RJ2R4FVC.js";var J=m((t,e,r)=>Math.max(e,Math.min(r,t)),"clamp"),T=m((t="TB")=>{switch(t){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";default:return"top"}},"getDefaultSelfLoopSide"),U=m(t=>t==="flowchart"||t==="flowchart-v2"||t==="stateDiagram"||t==="er"||t==="classDiagram","shouldMergeSelfLoopSegments"),K=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],Q=m((t,e,r,d,n)=>{let f=[],h=new Set;if(r.forEach(({start:s,end:o})=>{s!==d&&h.add(s),o!==d&&h.add(o)}),h.forEach(s=>{let o=t.node(s);typeof o?.x=="number"&&typeof o?.y=="number"&&f.push(o)}),f.length===0&&r.forEach(({edge:s})=>{(s.points??[]).forEach(o=>{typeof o?.x=="number"&&typeof o?.y=="number"&&f.push(o)})}),f.length===0)return T(n);let g=f.reduce((s,o)=>({x:s.x+o.x/f.length,y:s.y+o.y/f.length}),{x:0,y:0}),l=g.x-e.x,i=g.y-e.y;return Math.abs(l)>Math.abs(i)?l>0?"right":"left":Math.abs(i)>0?i>0?"bottom":"top":T(n)},"getSelfLoopSide"),V=m((t,e="top",r=0,d=0)=>{let n=t.x,f=t.y-r,h=t.width/2,g=t.height/2,l=Math.max(36,Math.min(100,t.width*.8)),i=J(Math.max(d,t.width*.35),36,l),s=J(Math.min(t.width,t.height)*.45,24,48);switch(e){case"bottom":{let o=f+g;return[{x:n-i/2,y:o},{x:n-i/2,y:o+s},{x:n+i/2,y:o+s},{x:n+i/2,y:o}]}case"right":{let o=n+h;return[{x:o,y:f-i/2},{x:o+s,y:f-i/2},{x:o+s,y:f+i/2},{x:o,y:f+i/2}]}case"left":{let o=n-h;return[{x:o,y:f-i/2},{x:o-s,y:f-i/2},{x:o-s,y:f+i/2},{x:o,y:f+i/2}]}default:{let o=f-g;return[{x:n-i/2,y:o},{x:n-i/2,y:o-s},{x:n+i/2,y:o-s},{x:n+i/2,y:o}]}}},"getSelfLoopPoints"),Z=m((t,e,r="top",d=0,n={})=>{let h=t.x,g=t.y-d,l=n.width??0,i=n.height??0;switch(r){case"bottom":return{x:h,y:Math.max(...e.map(s=>s.y))+i/2+4};case"right":return{x:Math.max(...e.map(s=>s.x))+l/2+4,y:g};case"left":return{x:Math.min(...e.map(s=>s.x))-l/2-4,y:g};default:return{x:h,y:Math.min(...e.map(s=>s.y))-i/2-4}}},"getSelfLoopLabelPosition"),F=m((t,e=0,{mergeSelfLoops:r=!0}={})=>{let d=new Map,n=[],f=t.graph()?.rankdir;return t.edges().forEach(h=>{let g=t.edge(h);if(r&&g.selfLoop){let l=g.selfLoop.id;d.has(l)||d.set(l,[]),d.get(l).push({edge:g,start:h.v,end:h.w})}else n.push({edge:g,start:h.v,end:h.w})}),d.forEach(h=>{if(h.length!==3){h.forEach(u=>n.push(u));return}h.sort((u,w)=>u.edge.selfLoop.order-w.edge.selfLoop.order);let[g,l,i]=h,s=g.edge.originalEdge??l.edge.originalEdge??i.edge.originalEdge??l.edge,o=t.node(s.start);if(!o){h.forEach(u=>n.push(u));return}let a={width:l.edge.width,height:l.edge.height},L=Q(t,o,h,s.start,f),b=V(o,L,e,a.width??0),y=Z(o,b,L,e,a),c={...l.edge,...s,id:s.id,points:b,start:s.start,end:s.end,x:y.x,y:y.y,width:a.width,height:a.height,labelStyle:l.edge.labelStyle,fromCluster:g.edge.fromCluster??l.edge.fromCluster??i.edge.fromCluster,toCluster:g.edge.toCluster??l.edge.toCluster??i.edge.toCluster};delete c.selfLoop,delete c.originalEdge,n.push({edge:c,start:c.start,end:c.end})}),n},"getEdgesToRender"),W=m(async({element:t,graph:e,diagramType:r,id:d,parentCluster:n,siteConfig:f})=>{let h=e.graph().rankdir;p.trace("Dir in recursive render - dir:",h);let{clusters:g,edgePaths:l,edgeLabels:i,nodes:s,rootGroups:o}=O(t,{edgePathsClass:"edgePaths"});e.nodes()?p.info("Recursive render XXX",e.nodes()):p.info("No nodes found for",e),e.edges().length>0&&p.info("Recursive edges",e.edge(e.edges()[0]));let a=U(r);await Promise.all(e.nodes().map(async function(y){let c=e.node(y);if(n!==void 0){let u=JSON.parse(JSON.stringify(n.clusterData));p.trace(`Setting data for parent cluster XXX
|
|
2
|
+
Node.id = `,y,`
|
|
3
|
+
data=`,u.height,`
|
|
4
|
+
Parent cluster`,n.height),e.setNode(n.id,u),e.parent(y)||(p.trace("Setting parent",y,n.id),e.setParent(y,n.id,u))}if(p.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),c?.clusterNode){p.info("Cluster identified XBX",y,c.width,e.node(y));let{ranksep:u,nodesep:w}=e.graph();c.graph.setGraph({...c.graph.graph(),ranksep:u+25,nodesep:w});let X=await oe({element:s,graph:c.graph,diagramType:r,id:d,parentCluster:e.node(y),siteConfig:f}),C=X.elem;P(c,C),c.diff=X.diff||0,p.info("New compound node after recursive render XAX",y,"width",c.width,"height",c.height),B(C,c)}else e.children(y).length>0?(p.trace("Cluster - the non recursive path XBX",y,c.id,c,c.width,"Graph:",e),p.trace(D(c.id,e)),E.set(c.id,{id:D(c.id,e),node:c})):(p.trace("Node - the non recursive path XAX",y,s,e.node(y),h),await A(s,e.node(y),{config:f,dir:h}))})),await m(async()=>{let y=e.edges().map(async function(c){let u=e.edge(c.v,c.w,c.name);if(p.info("Edge "+c.v+" -> "+c.w+": "+JSON.stringify(c)),p.info("Edge "+c.v+" -> "+c.w+": ",c," ",JSON.stringify(e.edge(c))),p.info("Fix",E,"ids:",c.v,c.w,"Translating: ",E.get(c.v),E.get(c.w)),a&&u.selfLoop){if(u.selfLoop.order!==1)return;let w={...u.originalEdge,...u,id:u.selfLoop.id,startLabelLeft:u.originalEdge?.startLabelLeft??u.startLabelLeft,startLabelRight:u.originalEdge?.startLabelRight??u.startLabelRight,endLabelLeft:u.originalEdge?.endLabelLeft??u.endLabelLeft,endLabelRight:u.originalEdge?.endLabelRight??u.endLabelRight};await N(i,w),u.width=w.width,u.height=w.height,u.labelStyle=w.labelStyle;return}await N(i,u)});await Promise.all(y)},"processEdges")();let{subGraphTitleTotalMargin:b}=v(f);return{elem:o,graph:e,groups:{clusters:g,edgePaths:l,edgeLabels:i,nodes:s,rootGroups:o},diagramType:r,id:d,mergeSelfLoops:a,subGraphTitleTotalMargin:b}},"measureDagreGraph"),j=m(t=>{p.info("############################################# XXX"),p.info("### Layout ### XXX"),p.info("############################################# XXX"),H(t)},"runDagreGraphLayout"),$=m((t,e,r)=>{let d=t.node(e);if(!d)return;let n={...d};return d?.clusterNode?n.y=(d.y??0)+r:t.children(e).length>0?n.height=(d.height??0)+r:n.y=(d.y??0)+r/2,n},"normalizeDagreNode"),z=m((t,e)=>{K.forEach(r=>{e[r]!==void 0&&(t[r]=e[r])})},"applyDagreNodeLayout"),ee=m((t,e,r,d)=>({...t,start:t.start??e,end:t.end??r,points:(t.points??[]).map(n=>({...n,y:typeof n.y=="number"?n.y+d:n.y}))}),"normalizeDagreEdge"),te=m((t,e)=>{let{graph:r,mergeSelfLoops:d,subGraphTitleTotalMargin:n=0}=e,f=new Map(t.nodes.map(g=>[g.id,g]));x(r).forEach(g=>{let l=$(r,g,n);if(!l)return;z(r.node(g),l);let i=f.get(g);i&&z(i,l)});let h=n/2;return t.edges=F(r,h,{mergeSelfLoops:d}).map(({edge:g,start:l,end:i})=>ee(g,l,i,h)),t},"applyDagreLayoutResult"),re=m(async({elem:t,graph:e,groups:{clusters:r,edgePaths:d},diagramType:n,id:f,mergeSelfLoops:h,subGraphTitleTotalMargin:g})=>{let l=0;await Promise.all(x(e).map(async function(o){let a=e.node(o);if(p.info("Position XBX => "+o+": ("+a.x,","+a.y,") width: ",a.width," height: ",a.height),a?.clusterNode)a.y+=g,p.info("A tainted cluster node XBX1",o,a.id,a.width,a.height,a.x,a.y,e.parent(o)),E.get(a.id).node=a,S(a);else if(e.children(o).length>0){p.info("A pure cluster node XBX1",o,a.id,a.x,a.y,a.width,a.height,e.parent(o)),a.height+=g,e.node(a.parentId);let L=a?.padding/2||0,b=a?.labelBBox?.height||0,y=b-L||0;p.debug("OffsetY",y,"labelHeight",b,"halfPadding",L),await I(r,a),E.get(a.id).node=a}else{let L=e.node(a.parentId);a.y+=g/2,p.info("A regular node XBX1 - using the padding",a.id,"parent",a.parentId,a.width,a.height,a.x,a.y,"offsetY",a.offsetY,"parent",L,L?.offsetY,a),S(a)}}));let i=g/2;return F(e,i,{mergeSelfLoops:h}).forEach(function({edge:o,start:a,end:L}){p.info("Edge "+a+" -> "+L+": "+JSON.stringify(o),o),o.points.forEach(u=>u.y+=i);let b=e.node(a),y=e.node(L),c=G(d,o,E,n,b,y,f);M(o,c)}),e.nodes().forEach(function(o){let a=e.node(o);p.info(o,a.type,a.diff),a.isGroup&&(l=a.diff)}),p.warn("Returning from recursive render XAX",t,l),{elem:t,diff:l}},"paintDagreLayoutCore"),oe=m(async t=>{let e=await W(t);return j(e.graph),await re(e)},"renderDagreSubgraph"),q=m(t=>{let e=new k({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.nodeSpacing||t.config?.flowchart?.nodeSpacing,ranksep:t.config?.rankSpacing||t.rankSpacing||t.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return t.nodes.forEach(r=>{e.setNode(r.id,{...r}),r.parentId&&e.setParent(r.id,r.parentId)}),p.debug("Edges:",t.edges),t.edges.forEach(r=>{if(r.start===r.end){let d=r.start,n=d+"---"+d+"---1",f=d+"---"+d+"---2",h=e.node(d);e.setNode(n,{domId:n,id:n,parentId:h.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),e.setParent(n,h.parentId),e.setNode(f,{domId:f,id:f,parentId:h.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),e.setParent(f,h.parentId);let g=structuredClone(r),l=structuredClone(r),i=structuredClone(r),s=structuredClone(r);l.originalEdge=g,l.selfLoop={id:g.id,order:0},i.originalEdge=g,i.selfLoop={id:g.id,order:1},s.originalEdge=g,s.selfLoop={id:g.id,order:2},l.label="",l.arrowTypeEnd="none",l.endLabelLeft="",l.endLabelRight="",l.startLabelLeft="",l.id=d+"-cyclic-special-1",i.startLabelRight="",i.startLabelLeft="",i.endLabelLeft="",i.endLabelRight="",i.arrowTypeStart="none",i.arrowTypeEnd="none",i.id=d+"-cyclic-special-mid",s.label="",s.startLabelRight="",s.startLabelLeft="",s.arrowTypeStart="none",h.isGroup&&(l.fromCluster=d,s.toCluster=d),s.id=d+"-cyclic-special-2",s.arrowTypeStart="none",e.setEdge(d,n,l,d+"-cyclic-special-0"),e.setEdge(n,f,i,d+"-cyclic-special-1"),e.setEdge(f,d,s,d+"-cyclic-special-2")}else e.setEdge(r.start,r.end,{...r},r.id)}),Y(e),{graph:e}},"prepareLayoutForDagre"),ne=m(async(t,{element:e,preparedLayout:r})=>{let d=r??q(t),n=R(),f=await W({element:e,graph:d.graph,diagramType:t.type,id:t.diagramId,parentCluster:void 0,siteConfig:n});return d.measuredLayout=f,f},"measureDagreLayout"),ae=m((t,e)=>{let r=e.preparedLayout?.measuredLayout;if(!r)throw new Error("runDagreLayoutCore requires measureDagreLayout to run first");return j(r.graph),te(t,r),r},"runDagreLayoutCore"),ie=m((t,{measure:e})=>x(e.graph).map(r=>e.graph.node(r)).filter(Boolean),"getDagrePaintNodes"),se=m((t,e,{measure:r})=>t?r.graph.node(t):void 0,"getDagreEdgeNode"),xe=_({prepareLayout:q,measureLayout:ne,runLayoutCore:ae,paintOptions:{clusterDb:E,getNodes:ie,getEdgeNode:se,skipNode:m((t,{measure:e})=>!e.graph.hasNode(t.id),"skipNode"),isCluster:m((t,{measure:e})=>e.graph.hasNode(t.id)&&(e.graph.children(t.id)??[]).length>0,"isCluster")}});export{te as applyDagreLayoutResult,F as getEdgesToRender,ne as measureDagreLayout,q as prepareLayoutForDagre,xe as render,ae as runDagreLayoutCore};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import{a as Je}from"./chunk-UFP5Q4AY.js";import{a as Be}from"./chunk-Z2SY2HOC.js";import{a as Ke}from"./chunk-ODUEA52Q.js";import"./chunk-RHPE44I2.js";import"./chunk-BD4WE264.js";import"./chunk-JOWBS42C.js";import"./chunk-OAJZ7HLK.js";import"./chunk-OCFCFASO.js";import"./chunk-LWULR3SM.js";import"./chunk-MBMPW7Z5.js";import"./chunk-EOBXW5VQ.js";import"./chunk-IZ3OI3C2.js";import"./chunk-YTNMNOWP.js";import"./chunk-OOCL4ATI.js";import"./chunk-WHUCV53C.js";import"./chunk-MRG7MJVS.js";import"./chunk-7HVDH43T.js";import"./chunk-HNBUIMIG.js";import"./chunk-EVU4QAL4.js";import{d as fe}from"./chunk-UMH2TSW2.js";import{a as Ze,b as ke,d as le}from"./chunk-ZTRZIET2.js";import{o as qe,s as Qe}from"./chunk-PTBOP4OT.js";import"./chunk-44P66WFA.js";import{H as Pe,P as Ge,T as Ue,U as Ye,V as Xe,W as He,X as We,Y as Ve,Z as ze,_ as he,k as Fe,u as be}from"./chunk-TL3HLL2S.js";import{a as Ee}from"./chunk-CFF3PILO.js";import{b as me,h as $e}from"./chunk-SRORWQJZ.js";import{a as ft}from"./chunk-XOYVR3SV.js";import{b as ye,c as pr}from"./chunk-RJ2R4FVC.js";var Ne=ye((ie,Te)=>{(function(M,T){typeof ie=="object"&&typeof Te=="object"?Te.exports=T():typeof define=="function"&&define.amd?define([],T):typeof ie=="object"?ie.layoutBase=T():M.layoutBase=T()})(ie,function(){return(function(w){var M={};function T(c){if(M[c])return M[c].exports;var o=M[c]={i:c,l:!1,exports:{}};return w[c].call(o.exports,o,o.exports,T),o.l=!0,o.exports}return T.m=w,T.c=M,T.i=function(c){return c},T.d=function(c,o,a){T.o(c,o)||Object.defineProperty(c,o,{configurable:!1,enumerable:!0,get:a})},T.n=function(c){var o=c&&c.__esModule?function(){return c.default}:function(){return c};return T.d(o,"a",o),o},T.o=function(c,o){return Object.prototype.hasOwnProperty.call(c,o)},T.p="",T(T.s=28)})([(function(w,M,T){"use strict";function c(){}c.QUALITY=1,c.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,c.DEFAULT_INCREMENTAL=!1,c.DEFAULT_ANIMATION_ON_LAYOUT=!0,c.DEFAULT_ANIMATION_DURING_LAYOUT=!1,c.DEFAULT_ANIMATION_PERIOD=50,c.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,c.DEFAULT_GRAPH_MARGIN=15,c.NODE_DIMENSIONS_INCLUDE_LABELS=!1,c.SIMPLE_NODE_SIZE=40,c.SIMPLE_NODE_HALF_SIZE=c.SIMPLE_NODE_SIZE/2,c.EMPTY_COMPOUND_NODE_SIZE=40,c.MIN_EDGE_LENGTH=1,c.WORLD_BOUNDARY=1e6,c.INITIAL_WORLD_BOUNDARY=c.WORLD_BOUNDARY/1e3,c.WORLD_CENTER_X=1200,c.WORLD_CENTER_Y=900,w.exports=c}),(function(w,M,T){"use strict";var c=T(2),o=T(8),a=T(9);function r(f,i,u){c.call(this,u),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=u,this.bendpoints=[],this.source=f,this.target=i}r.prototype=Object.create(c.prototype);for(var n in c)r[n]=c[n];r.prototype.getSource=function(){return this.source},r.prototype.getTarget=function(){return this.target},r.prototype.isInterGraph=function(){return this.isInterGraph},r.prototype.getLength=function(){return this.length},r.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},r.prototype.getBendpoints=function(){return this.bendpoints},r.prototype.getLca=function(){return this.lca},r.prototype.getSourceInLca=function(){return this.sourceInLca},r.prototype.getTargetInLca=function(){return this.targetInLca},r.prototype.getOtherEnd=function(f){if(this.source===f)return this.target;if(this.target===f)return this.source;throw"Node is not incident with this edge"},r.prototype.getOtherEndInGraph=function(f,i){for(var u=this.getOtherEnd(f),t=i.getGraphManager().getRoot();;){if(u.getOwner()==i)return u;if(u.getOwner()==t)break;u=u.getOwner().getParent()}return null},r.prototype.updateLength=function(){var f=new Array(4);this.isOverlapingSourceAndTarget=o.getIntersection(this.target.getRect(),this.source.getRect(),f),this.isOverlapingSourceAndTarget||(this.lengthX=f[0]-f[2],this.lengthY=f[1]-f[3],Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},r.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=a.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=a.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},w.exports=r}),(function(w,M,T){"use strict";function c(o){this.vGraphObject=o}w.exports=c}),(function(w,M,T){"use strict";var c=T(2),o=T(10),a=T(13),r=T(0),n=T(16),f=T(5);function i(t,e,h,g){h==null&&g==null&&(g=e),c.call(this,g),t.graphManager!=null&&(t=t.graphManager),this.estimatedSize=o.MIN_VALUE,this.inclusionTreeDepth=o.MAX_VALUE,this.vGraphObject=g,this.edges=[],this.graphManager=t,h!=null&&e!=null?this.rect=new a(e.x,e.y,h.width,h.height):this.rect=new a}i.prototype=Object.create(c.prototype);for(var u in c)i[u]=c[u];i.prototype.getEdges=function(){return this.edges},i.prototype.getChild=function(){return this.child},i.prototype.getOwner=function(){return this.owner},i.prototype.getWidth=function(){return this.rect.width},i.prototype.setWidth=function(t){this.rect.width=t},i.prototype.getHeight=function(){return this.rect.height},i.prototype.setHeight=function(t){this.rect.height=t},i.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},i.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},i.prototype.getCenter=function(){return new f(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},i.prototype.getLocation=function(){return new f(this.rect.x,this.rect.y)},i.prototype.getRect=function(){return this.rect},i.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},i.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},i.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},i.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},i.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},i.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},i.prototype.getEdgeListToNode=function(t){var e=[],h,g=this;return g.edges.forEach(function(l){if(l.target==t){if(l.source!=g)throw"Incorrect edge source!";e.push(l)}}),e},i.prototype.getEdgesBetween=function(t){var e=[],h,g=this;return g.edges.forEach(function(l){if(!(l.source==g||l.target==g))throw"Incorrect edge source and/or target";(l.target==t||l.source==t)&&e.push(l)}),e},i.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach(function(h){if(h.source==e)t.add(h.target);else{if(h.target!=e)throw"Incorrect incidency!";t.add(h.source)}}),t},i.prototype.withChildren=function(){var t=new Set,e,h;if(t.add(this),this.child!=null)for(var g=this.child.getNodes(),l=0;l<g.length;l++)e=g[l],h=e.withChildren(),h.forEach(function(L){t.add(L)});return t},i.prototype.getNoOfChildren=function(){var t=0,e;if(this.child==null)t=1;else for(var h=this.child.getNodes(),g=0;g<h.length;g++)e=h[g],t+=e.getNoOfChildren();return t==0&&(t=1),t},i.prototype.getEstimatedSize=function(){if(this.estimatedSize==o.MIN_VALUE)throw"assert failed";return this.estimatedSize},i.prototype.calcEstimatedSize=function(){return this.child==null?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},i.prototype.scatter=function(){var t,e,h=-r.INITIAL_WORLD_BOUNDARY,g=r.INITIAL_WORLD_BOUNDARY;t=r.WORLD_CENTER_X+n.nextDouble()*(g-h)+h;var l=-r.INITIAL_WORLD_BOUNDARY,L=r.INITIAL_WORLD_BOUNDARY;e=r.WORLD_CENTER_Y+n.nextDouble()*(L-l)+l,this.rect.x=t,this.rect.y=e},i.prototype.updateBounds=function(){if(this.getChild()==null)throw"assert failed";if(this.getChild().getNodes().length!=0){var t=this.getChild();if(t.updateBounds(!0),this.rect.x=t.getLeft(),this.rect.y=t.getTop(),this.setWidth(t.getRight()-t.getLeft()),this.setHeight(t.getBottom()-t.getTop()),r.NODE_DIMENSIONS_INCLUDE_LABELS){var e=t.getRight()-t.getLeft(),h=t.getBottom()-t.getTop();this.labelWidth&&(this.labelPosHorizontal=="left"?(this.rect.x-=this.labelWidth,this.setWidth(e+this.labelWidth)):this.labelPosHorizontal=="center"&&this.labelWidth>e?(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(e+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(h+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>h?(this.rect.y-=(this.labelHeight-h)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(h+this.labelHeight))}}},i.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==o.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},i.prototype.transform=function(t){var e=this.rect.x;e>r.WORLD_BOUNDARY?e=r.WORLD_BOUNDARY:e<-r.WORLD_BOUNDARY&&(e=-r.WORLD_BOUNDARY);var h=this.rect.y;h>r.WORLD_BOUNDARY?h=r.WORLD_BOUNDARY:h<-r.WORLD_BOUNDARY&&(h=-r.WORLD_BOUNDARY);var g=new f(e,h),l=t.inverseTransformPoint(g);this.setLocation(l.x,l.y)},i.prototype.getLeft=function(){return this.rect.x},i.prototype.getRight=function(){return this.rect.x+this.rect.width},i.prototype.getTop=function(){return this.rect.y},i.prototype.getBottom=function(){return this.rect.y+this.rect.height},i.prototype.getParent=function(){return this.owner==null?null:this.owner.getParent()},w.exports=i}),(function(w,M,T){"use strict";var c=T(0);function o(){}for(var a in c)o[a]=c[a];o.MAX_ITERATIONS=2500,o.DEFAULT_EDGE_LENGTH=50,o.DEFAULT_SPRING_STRENGTH=.45,o.DEFAULT_REPULSION_STRENGTH=4500,o.DEFAULT_GRAVITY_STRENGTH=.4,o.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,o.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,o.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,o.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,o.COOLING_ADAPTATION_FACTOR=.33,o.ADAPTATION_LOWER_NODE_LIMIT=1e3,o.ADAPTATION_UPPER_NODE_LIMIT=5e3,o.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,o.MAX_NODE_DISPLACEMENT=o.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,o.MIN_REPULSION_DIST=o.DEFAULT_EDGE_LENGTH/10,o.CONVERGENCE_CHECK_PERIOD=100,o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,o.MIN_EDGE_LENGTH=1,o.GRID_CALCULATION_CHECK_PERIOD=10,w.exports=o}),(function(w,M,T){"use strict";function c(o,a){o==null&&a==null?(this.x=0,this.y=0):(this.x=o,this.y=a)}c.prototype.getX=function(){return this.x},c.prototype.getY=function(){return this.y},c.prototype.setX=function(o){this.x=o},c.prototype.setY=function(o){this.y=o},c.prototype.getDifference=function(o){return new DimensionD(this.x-o.x,this.y-o.y)},c.prototype.getCopy=function(){return new c(this.x,this.y)},c.prototype.translate=function(o){return this.x+=o.width,this.y+=o.height,this},w.exports=c}),(function(w,M,T){"use strict";var c=T(2),o=T(10),a=T(0),r=T(7),n=T(3),f=T(1),i=T(13),u=T(12),t=T(11);function e(g,l,L){c.call(this,L),this.estimatedSize=o.MIN_VALUE,this.margin=a.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=g,l!=null&&l instanceof r?this.graphManager=l:l!=null&&l instanceof Layout&&(this.graphManager=l.graphManager)}e.prototype=Object.create(c.prototype);for(var h in c)e[h]=c[h];e.prototype.getNodes=function(){return this.nodes},e.prototype.getEdges=function(){return this.edges},e.prototype.getGraphManager=function(){return this.graphManager},e.prototype.getParent=function(){return this.parent},e.prototype.getLeft=function(){return this.left},e.prototype.getRight=function(){return this.right},e.prototype.getTop=function(){return this.top},e.prototype.getBottom=function(){return this.bottom},e.prototype.isConnected=function(){return this.isConnected},e.prototype.add=function(g,l,L){if(l==null&&L==null){var p=g;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(p)>-1)throw"Node already in graph!";return p.owner=this,this.getNodes().push(p),p}else{var y=g;if(!(this.getNodes().indexOf(l)>-1&&this.getNodes().indexOf(L)>-1))throw"Source or target not in graph!";if(!(l.owner==L.owner&&l.owner==this))throw"Both owners must be this graph!";return l.owner!=L.owner?null:(y.source=l,y.target=L,y.isInterGraph=!1,this.getEdges().push(y),l.edges.push(y),L!=l&&L.edges.push(y),y)}},e.prototype.remove=function(g){var l=g;if(g instanceof n){if(l==null)throw"Node is null!";if(!(l.owner!=null&&l.owner==this))throw"Owner graph is invalid!";if(this.graphManager==null)throw"Owner graph manager is invalid!";for(var L=l.edges.slice(),p,y=L.length,N=0;N<y;N++)p=L[N],p.isInterGraph?this.graphManager.remove(p):p.source.owner.remove(p);var I=this.nodes.indexOf(l);if(I==-1)throw"Node not in owner node list!";this.nodes.splice(I,1)}else if(g instanceof f){var p=g;if(p==null)throw"Edge is null!";if(!(p.source!=null&&p.target!=null))throw"Source and/or target is null!";if(!(p.source.owner!=null&&p.target.owner!=null&&p.source.owner==this&&p.target.owner==this))throw"Source and/or target owner is invalid!";var C=p.source.edges.indexOf(p),S=p.target.edges.indexOf(p);if(!(C>-1&&S>-1))throw"Source and/or target doesn't know this edge!";p.source.edges.splice(C,1),p.target!=p.source&&p.target.edges.splice(S,1);var I=p.source.owner.getEdges().indexOf(p);if(I==-1)throw"Not in owner's edge list!";p.source.owner.getEdges().splice(I,1)}},e.prototype.updateLeftTop=function(){for(var g=o.MAX_VALUE,l=o.MAX_VALUE,L,p,y,N=this.getNodes(),I=N.length,C=0;C<I;C++){var S=N[C];L=S.getTop(),p=S.getLeft(),g>L&&(g=L),l>p&&(l=p)}return g==o.MAX_VALUE?null:(N[0].getParent().paddingLeft!=null?y=N[0].getParent().paddingLeft:y=this.margin,this.left=l-y,this.top=g-y,new u(this.left,this.top))},e.prototype.updateBounds=function(g){for(var l=o.MAX_VALUE,L=-o.MAX_VALUE,p=o.MAX_VALUE,y=-o.MAX_VALUE,N,I,C,S,X,G=this.nodes,Q=G.length,O=0;O<Q;O++){var H=G[O];g&&H.child!=null&&H.updateBounds(),N=H.getLeft(),I=H.getRight(),C=H.getTop(),S=H.getBottom(),l>N&&(l=N),L<I&&(L=I),p>C&&(p=C),y<S&&(y=S)}var s=new i(l,p,L-l,y-p);l==o.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),G[0].getParent().paddingLeft!=null?X=G[0].getParent().paddingLeft:X=this.margin,this.left=s.x-X,this.right=s.x+s.width+X,this.top=s.y-X,this.bottom=s.y+s.height+X},e.calculateBounds=function(g){for(var l=o.MAX_VALUE,L=-o.MAX_VALUE,p=o.MAX_VALUE,y=-o.MAX_VALUE,N,I,C,S,X=g.length,G=0;G<X;G++){var Q=g[G];N=Q.getLeft(),I=Q.getRight(),C=Q.getTop(),S=Q.getBottom(),l>N&&(l=N),L<I&&(L=I),p>C&&(p=C),y<S&&(y=S)}var O=new i(l,p,L-l,y-p);return O},e.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},e.prototype.getEstimatedSize=function(){if(this.estimatedSize==o.MIN_VALUE)throw"assert failed";return this.estimatedSize},e.prototype.calcEstimatedSize=function(){for(var g=0,l=this.nodes,L=l.length,p=0;p<L;p++){var y=l[p];g+=y.calcEstimatedSize()}return g==0?this.estimatedSize=a.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=g/Math.sqrt(this.nodes.length),this.estimatedSize},e.prototype.updateConnected=function(){var g=this;if(this.nodes.length==0){this.isConnected=!0;return}var l=new t,L=new Set,p=this.nodes[0],y,N,I=p.withChildren();for(I.forEach(function(O){l.push(O),L.add(O)});l.length!==0;){p=l.shift(),y=p.getEdges();for(var C=y.length,S=0;S<C;S++){var X=y[S];if(N=X.getOtherEndInGraph(p,this),N!=null&&!L.has(N)){var G=N.withChildren();G.forEach(function(O){l.push(O),L.add(O)})}}}if(this.isConnected=!1,L.size>=this.nodes.length){var Q=0;L.forEach(function(O){O.owner==g&&Q++}),Q==this.nodes.length&&(this.isConnected=!0)}},w.exports=e}),(function(w,M,T){"use strict";var c,o=T(1);function a(r){c=T(6),this.layout=r,this.graphs=[],this.edges=[]}a.prototype.addRoot=function(){var r=this.layout.newGraph(),n=this.layout.newNode(null),f=this.add(r,n);return this.setRootGraph(f),this.rootGraph},a.prototype.add=function(r,n,f,i,u){if(f==null&&i==null&&u==null){if(r==null)throw"Graph is null!";if(n==null)throw"Parent node is null!";if(this.graphs.indexOf(r)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(r),r.parent!=null)throw"Already has a parent!";if(n.child!=null)throw"Already has a child!";return r.parent=n,n.child=r,r}else{u=f,i=n,f=r;var t=i.getOwner(),e=u.getOwner();if(!(t!=null&&t.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(e!=null&&e.getGraphManager()==this))throw"Target not in this graph mgr!";if(t==e)return f.isInterGraph=!1,t.add(f,i,u);if(f.isInterGraph=!0,f.source=i,f.target=u,this.edges.indexOf(f)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(f),!(f.source!=null&&f.target!=null))throw"Edge source and/or target is null!";if(!(f.source.edges.indexOf(f)==-1&&f.target.edges.indexOf(f)==-1))throw"Edge already in source and/or target incidency list!";return f.source.edges.push(f),f.target.edges.push(f),f}},a.prototype.remove=function(r){if(r instanceof c){var n=r;if(n.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(n==this.rootGraph||n.parent!=null&&n.parent.graphManager==this))throw"Invalid parent node!";var f=[];f=f.concat(n.getEdges());for(var i,u=f.length,t=0;t<u;t++)i=f[t],n.remove(i);var e=[];e=e.concat(n.getNodes());var h;u=e.length;for(var t=0;t<u;t++)h=e[t],n.remove(h);n==this.rootGraph&&this.setRootGraph(null);var g=this.graphs.indexOf(n);this.graphs.splice(g,1),n.parent=null}else if(r instanceof o){if(i=r,i==null)throw"Edge is null!";if(!i.isInterGraph)throw"Not an inter-graph edge!";if(!(i.source!=null&&i.target!=null))throw"Source and/or target is null!";if(!(i.source.edges.indexOf(i)!=-1&&i.target.edges.indexOf(i)!=-1))throw"Source and/or target doesn't know this edge!";var g=i.source.edges.indexOf(i);if(i.source.edges.splice(g,1),g=i.target.edges.indexOf(i),i.target.edges.splice(g,1),!(i.source.owner!=null&&i.source.owner.getGraphManager()!=null))throw"Edge owner graph or owner graph manager is null!";if(i.source.owner.getGraphManager().edges.indexOf(i)==-1)throw"Not in owner graph manager's edge list!";var g=i.source.owner.getGraphManager().edges.indexOf(i);i.source.owner.getGraphManager().edges.splice(g,1)}},a.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},a.prototype.getGraphs=function(){return this.graphs},a.prototype.getAllNodes=function(){if(this.allNodes==null){for(var r=[],n=this.getGraphs(),f=n.length,i=0;i<f;i++)r=r.concat(n[i].getNodes());this.allNodes=r}return this.allNodes},a.prototype.resetAllNodes=function(){this.allNodes=null},a.prototype.resetAllEdges=function(){this.allEdges=null},a.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},a.prototype.getAllEdges=function(){if(this.allEdges==null){for(var r=[],n=this.getGraphs(),f=n.length,i=0;i<n.length;i++)r=r.concat(n[i].getEdges());r=r.concat(this.edges),this.allEdges=r}return this.allEdges},a.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},a.prototype.setAllNodesToApplyGravitation=function(r){if(this.allNodesToApplyGravitation!=null)throw"assert failed";this.allNodesToApplyGravitation=r},a.prototype.getRoot=function(){return this.rootGraph},a.prototype.setRootGraph=function(r){if(r.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=r,r.parent==null&&(r.parent=this.layout.newNode("Root node"))},a.prototype.getLayout=function(){return this.layout},a.prototype.isOneAncestorOfOther=function(r,n){if(!(r!=null&&n!=null))throw"assert failed";if(r==n)return!0;var f=r.getOwner(),i;do{if(i=f.getParent(),i==null)break;if(i==n)return!0;if(f=i.getOwner(),f==null)break}while(!0);f=n.getOwner();do{if(i=f.getParent(),i==null)break;if(i==r)return!0;if(f=i.getOwner(),f==null)break}while(!0);return!1},a.prototype.calcLowestCommonAncestors=function(){for(var r,n,f,i,u,t=this.getAllEdges(),e=t.length,h=0;h<e;h++){if(r=t[h],n=r.source,f=r.target,r.lca=null,r.sourceInLca=n,r.targetInLca=f,n==f){r.lca=n.getOwner();continue}for(i=n.getOwner();r.lca==null;){for(r.targetInLca=f,u=f.getOwner();r.lca==null;){if(u==i){r.lca=u;break}if(u==this.rootGraph)break;if(r.lca!=null)throw"assert failed";r.targetInLca=u.getParent(),u=r.targetInLca.getOwner()}if(i==this.rootGraph)break;r.lca==null&&(r.sourceInLca=i.getParent(),i=r.sourceInLca.getOwner())}if(r.lca==null)throw"assert failed"}},a.prototype.calcLowestCommonAncestor=function(r,n){if(r==n)return r.getOwner();var f=r.getOwner();do{if(f==null)break;var i=n.getOwner();do{if(i==null)break;if(i==f)return i;i=i.getParent().getOwner()}while(!0);f=f.getParent().getOwner()}while(!0);return f},a.prototype.calcInclusionTreeDepths=function(r,n){r==null&&n==null&&(r=this.rootGraph,n=1);for(var f,i=r.getNodes(),u=i.length,t=0;t<u;t++)f=i[t],f.inclusionTreeDepth=n,f.child!=null&&this.calcInclusionTreeDepths(f.child,n+1)},a.prototype.includesInvalidEdge=function(){for(var r,n=[],f=this.edges.length,i=0;i<f;i++)r=this.edges[i],this.isOneAncestorOfOther(r.source,r.target)&&n.push(r);for(var i=0;i<n.length;i++)this.remove(n[i]);return!1},w.exports=a}),(function(w,M,T){"use strict";var c=T(12);function o(){}o.calcSeparationAmount=function(a,r,n,f){if(!a.intersects(r))throw"assert failed";var i=new Array(2);this.decideDirectionsForOverlappingNodes(a,r,i),n[0]=Math.min(a.getRight(),r.getRight())-Math.max(a.x,r.x),n[1]=Math.min(a.getBottom(),r.getBottom())-Math.max(a.y,r.y),a.getX()<=r.getX()&&a.getRight()>=r.getRight()?n[0]+=Math.min(r.getX()-a.getX(),a.getRight()-r.getRight()):r.getX()<=a.getX()&&r.getRight()>=a.getRight()&&(n[0]+=Math.min(a.getX()-r.getX(),r.getRight()-a.getRight())),a.getY()<=r.getY()&&a.getBottom()>=r.getBottom()?n[1]+=Math.min(r.getY()-a.getY(),a.getBottom()-r.getBottom()):r.getY()<=a.getY()&&r.getBottom()>=a.getBottom()&&(n[1]+=Math.min(a.getY()-r.getY(),r.getBottom()-a.getBottom()));var u=Math.abs((r.getCenterY()-a.getCenterY())/(r.getCenterX()-a.getCenterX()));r.getCenterY()===a.getCenterY()&&r.getCenterX()===a.getCenterX()&&(u=1);var t=u*n[0],e=n[1]/u;n[0]<e?e=n[0]:t=n[1],n[0]=-1*i[0]*(e/2+f),n[1]=-1*i[1]*(t/2+f)},o.decideDirectionsForOverlappingNodes=function(a,r,n){a.getCenterX()<r.getCenterX()?n[0]=-1:n[0]=1,a.getCenterY()<r.getCenterY()?n[1]=-1:n[1]=1},o.getIntersection2=function(a,r,n){var f=a.getCenterX(),i=a.getCenterY(),u=r.getCenterX(),t=r.getCenterY();if(a.intersects(r))return n[0]=f,n[1]=i,n[2]=u,n[3]=t,!0;var e=a.getX(),h=a.getY(),g=a.getRight(),l=a.getX(),L=a.getBottom(),p=a.getRight(),y=a.getWidthHalf(),N=a.getHeightHalf(),I=r.getX(),C=r.getY(),S=r.getRight(),X=r.getX(),G=r.getBottom(),Q=r.getRight(),O=r.getWidthHalf(),H=r.getHeightHalf(),s=!1,m=!1;if(f===u){if(i>t)return n[0]=f,n[1]=h,n[2]=u,n[3]=G,!1;if(i<t)return n[0]=f,n[1]=L,n[2]=u,n[3]=C,!1}else if(i===t){if(f>u)return n[0]=e,n[1]=i,n[2]=S,n[3]=t,!1;if(f<u)return n[0]=g,n[1]=i,n[2]=I,n[3]=t,!1}else{var v=a.height/a.width,E=r.height/r.width,d=(t-i)/(u-f),x=void 0,D=void 0,P=void 0,F=void 0,R=void 0,k=void 0;if(-v===d?f>u?(n[0]=l,n[1]=L,s=!0):(n[0]=g,n[1]=h,s=!0):v===d&&(f>u?(n[0]=e,n[1]=h,s=!0):(n[0]=p,n[1]=L,s=!0)),-E===d?u>f?(n[2]=X,n[3]=G,m=!0):(n[2]=S,n[3]=C,m=!0):E===d&&(u>f?(n[2]=I,n[3]=C,m=!0):(n[2]=Q,n[3]=G,m=!0)),s&&m)return!1;if(f>u?i>t?(x=this.getCardinalDirection(v,d,4),D=this.getCardinalDirection(E,d,2)):(x=this.getCardinalDirection(-v,d,3),D=this.getCardinalDirection(-E,d,1)):i>t?(x=this.getCardinalDirection(-v,d,1),D=this.getCardinalDirection(-E,d,3)):(x=this.getCardinalDirection(v,d,2),D=this.getCardinalDirection(E,d,4)),!s)switch(x){case 1:F=h,P=f+-N/d,n[0]=P,n[1]=F;break;case 2:P=p,F=i+y*d,n[0]=P,n[1]=F;break;case 3:F=L,P=f+N/d,n[0]=P,n[1]=F;break;case 4:P=l,F=i+-y*d,n[0]=P,n[1]=F;break}if(!m)switch(D){case 1:k=C,R=u+-H/d,n[2]=R,n[3]=k;break;case 2:R=Q,k=t+O*d,n[2]=R,n[3]=k;break;case 3:k=G,R=u+H/d,n[2]=R,n[3]=k;break;case 4:R=X,k=t+-O*d,n[2]=R,n[3]=k;break}}return!1},o.getCardinalDirection=function(a,r,n){return a>r?n:1+n%4},o.getIntersection=function(a,r,n,f){if(f==null)return this.getIntersection2(a,r,n);var i=a.x,u=a.y,t=r.x,e=r.y,h=n.x,g=n.y,l=f.x,L=f.y,p=void 0,y=void 0,N=void 0,I=void 0,C=void 0,S=void 0,X=void 0,G=void 0,Q=void 0;return N=e-u,C=i-t,X=t*u-i*e,I=L-g,S=h-l,G=l*g-h*L,Q=N*S-I*C,Q===0?null:(p=(C*G-S*X)/Q,y=(I*X-N*G)/Q,new c(p,y))},o.angleOfVector=function(a,r,n,f){var i=void 0;return a!==n?(i=Math.atan((f-r)/(n-a)),n<a?i+=Math.PI:f<r&&(i+=this.TWO_PI)):f<r?i=this.ONE_AND_HALF_PI:i=this.HALF_PI,i},o.doIntersect=function(a,r,n,f){var i=a.x,u=a.y,t=r.x,e=r.y,h=n.x,g=n.y,l=f.x,L=f.y,p=(t-i)*(L-g)-(l-h)*(e-u);if(p===0)return!1;var y=((L-g)*(l-i)+(h-l)*(L-u))/p,N=((u-e)*(l-i)+(t-i)*(L-u))/p;return 0<y&&y<1&&0<N&&N<1},o.findCircleLineIntersections=function(a,r,n,f,i,u,t){var e=(n-a)*(n-a)+(f-r)*(f-r),h=2*((a-i)*(n-a)+(r-u)*(f-r)),g=(a-i)*(a-i)+(r-u)*(r-u)-t*t,l=h*h-4*e*g;if(l>=0){var L=(-h+Math.sqrt(h*h-4*e*g))/(2*e),p=(-h-Math.sqrt(h*h-4*e*g))/(2*e),y=null;return L>=0&&L<=1?[L]:p>=0&&p<=1?[p]:y}else return null},o.HALF_PI=.5*Math.PI,o.ONE_AND_HALF_PI=1.5*Math.PI,o.TWO_PI=2*Math.PI,o.THREE_PI=3*Math.PI,w.exports=o}),(function(w,M,T){"use strict";function c(){}c.sign=function(o){return o>0?1:o<0?-1:0},c.floor=function(o){return o<0?Math.ceil(o):Math.floor(o)},c.ceil=function(o){return o<0?Math.floor(o):Math.ceil(o)},w.exports=c}),(function(w,M,T){"use strict";function c(){}c.MAX_VALUE=2147483647,c.MIN_VALUE=-2147483648,w.exports=c}),(function(w,M,T){"use strict";var c=(function(){function i(u,t){for(var e=0;e<t.length;e++){var h=t[e];h.enumerable=h.enumerable||!1,h.configurable=!0,"value"in h&&(h.writable=!0),Object.defineProperty(u,h.key,h)}}return function(u,t,e){return t&&i(u.prototype,t),e&&i(u,e),u}})();function o(i,u){if(!(i instanceof u))throw new TypeError("Cannot call a class as a function")}var a=function(u){return{value:u,next:null,prev:null}},r=function(u,t,e,h){return u!==null?u.next=t:h.head=t,e!==null?e.prev=t:h.tail=t,t.prev=u,t.next=e,h.length++,t},n=function(u,t){var e=u.prev,h=u.next;return e!==null?e.next=h:t.head=h,h!==null?h.prev=e:t.tail=e,u.prev=u.next=null,t.length--,u},f=(function(){function i(u){var t=this;o(this,i),this.length=0,this.head=null,this.tail=null,u?.forEach(function(e){return t.push(e)})}return c(i,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(t,e){return r(e.prev,a(t),e,this)}},{key:"insertAfter",value:function(t,e){return r(e,a(t),e.next,this)}},{key:"insertNodeBefore",value:function(t,e){return r(e.prev,t,e,this)}},{key:"insertNodeAfter",value:function(t,e){return r(e,t,e.next,this)}},{key:"push",value:function(t){return r(this.tail,a(t),null,this)}},{key:"unshift",value:function(t){return r(null,a(t),this.head,this)}},{key:"remove",value:function(t){return n(t,this)}},{key:"pop",value:function(){return n(this.tail,this).value}},{key:"popNode",value:function(){return n(this.tail,this)}},{key:"shift",value:function(){return n(this.head,this).value}},{key:"shiftNode",value:function(){return n(this.head,this)}},{key:"get_object_at",value:function(t){if(t<=this.length()){for(var e=1,h=this.head;e<t;)h=h.next,e++;return h.value}}},{key:"set_object_at",value:function(t,e){if(t<=this.length()){for(var h=1,g=this.head;h<t;)g=g.next,h++;g.value=e}}}]),i})();w.exports=f}),(function(w,M,T){"use strict";function c(o,a,r){this.x=null,this.y=null,o==null&&a==null&&r==null?(this.x=0,this.y=0):typeof o=="number"&&typeof a=="number"&&r==null?(this.x=o,this.y=a):o.constructor.name=="Point"&&a==null&&r==null&&(r=o,this.x=r.x,this.y=r.y)}c.prototype.getX=function(){return this.x},c.prototype.getY=function(){return this.y},c.prototype.getLocation=function(){return new c(this.x,this.y)},c.prototype.setLocation=function(o,a,r){o.constructor.name=="Point"&&a==null&&r==null?(r=o,this.setLocation(r.x,r.y)):typeof o=="number"&&typeof a=="number"&&r==null&&(parseInt(o)==o&&parseInt(a)==a?this.move(o,a):(this.x=Math.floor(o+.5),this.y=Math.floor(a+.5)))},c.prototype.move=function(o,a){this.x=o,this.y=a},c.prototype.translate=function(o,a){this.x+=o,this.y+=a},c.prototype.equals=function(o){if(o.constructor.name=="Point"){var a=o;return this.x==a.x&&this.y==a.y}return this==o},c.prototype.toString=function(){return new c().constructor.name+"[x="+this.x+",y="+this.y+"]"},w.exports=c}),(function(w,M,T){"use strict";function c(o,a,r,n){this.x=0,this.y=0,this.width=0,this.height=0,o!=null&&a!=null&&r!=null&&n!=null&&(this.x=o,this.y=a,this.width=r,this.height=n)}c.prototype.getX=function(){return this.x},c.prototype.setX=function(o){this.x=o},c.prototype.getY=function(){return this.y},c.prototype.setY=function(o){this.y=o},c.prototype.getWidth=function(){return this.width},c.prototype.setWidth=function(o){this.width=o},c.prototype.getHeight=function(){return this.height},c.prototype.setHeight=function(o){this.height=o},c.prototype.getRight=function(){return this.x+this.width},c.prototype.getBottom=function(){return this.y+this.height},c.prototype.intersects=function(o){return!(this.getRight()<o.x||this.getBottom()<o.y||o.getRight()<this.x||o.getBottom()<this.y)},c.prototype.getCenterX=function(){return this.x+this.width/2},c.prototype.getMinX=function(){return this.getX()},c.prototype.getMaxX=function(){return this.getX()+this.width},c.prototype.getCenterY=function(){return this.y+this.height/2},c.prototype.getMinY=function(){return this.getY()},c.prototype.getMaxY=function(){return this.getY()+this.height},c.prototype.getWidthHalf=function(){return this.width/2},c.prototype.getHeightHalf=function(){return this.height/2},w.exports=c}),(function(w,M,T){"use strict";var c=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(a){return typeof a}:function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a};function o(){}o.lastID=0,o.createID=function(a){return o.isPrimitive(a)?a:(a.uniqueID!=null||(a.uniqueID=o.getString(),o.lastID++),a.uniqueID)},o.getString=function(a){return a==null&&(a=o.lastID),"Object#"+a},o.isPrimitive=function(a){var r=typeof a>"u"?"undefined":c(a);return a==null||r!="object"&&r!="function"},w.exports=o}),(function(w,M,T){"use strict";function c(h){if(Array.isArray(h)){for(var g=0,l=Array(h.length);g<h.length;g++)l[g]=h[g];return l}else return Array.from(h)}var o=T(0),a=T(7),r=T(3),n=T(1),f=T(6),i=T(5),u=T(17),t=T(29);function e(h){t.call(this),this.layoutQuality=o.QUALITY,this.createBendsAsNeeded=o.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=o.DEFAULT_INCREMENTAL,this.animationOnLayout=o.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=o.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=o.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=o.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new a(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,h!=null&&(this.isRemoteUse=h)}e.RANDOM_SEED=1,e.prototype=Object.create(t.prototype),e.prototype.getGraphManager=function(){return this.graphManager},e.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},e.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},e.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},e.prototype.newGraphManager=function(){var h=new a(this);return this.graphManager=h,h},e.prototype.newGraph=function(h){return new f(null,this.graphManager,h)},e.prototype.newNode=function(h){return new r(this.graphManager,h)},e.prototype.newEdge=function(h){return new n(null,null,h)},e.prototype.checkLayoutSuccess=function(){return this.graphManager.getRoot()==null||this.graphManager.getRoot().getNodes().length==0||this.graphManager.includesInvalidEdge()},e.prototype.runLayout=function(){this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters();var h;return this.checkLayoutSuccess()?h=!1:h=this.layout(),o.ANIMATE==="during"?!1:(h&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,h)},e.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},e.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var h,g=this.graphManager.getAllEdges(),l=0;l<g.length;l++)h=g[l];for(var L,p=this.graphManager.getRoot().getNodes(),l=0;l<p.length;l++)L=p[l];this.update(this.graphManager.getRoot())}},e.prototype.update=function(h){if(h==null)this.update2();else if(h instanceof r){var g=h;if(g.getChild()!=null)for(var l=g.getChild().getNodes(),L=0;L<l.length;L++)update(l[L]);if(g.vGraphObject!=null){var p=g.vGraphObject;p.update(g)}}else if(h instanceof n){var y=h;if(y.vGraphObject!=null){var N=y.vGraphObject;N.update(y)}}else if(h instanceof f){var I=h;if(I.vGraphObject!=null){var C=I.vGraphObject;C.update(I)}}},e.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=o.QUALITY,this.animationDuringLayout=o.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=o.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=o.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=o.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=o.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=o.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},e.prototype.transform=function(h){if(h==null)this.transform(new i(0,0));else{var g=new u,l=this.graphManager.getRoot().updateLeftTop();if(l!=null){g.setWorldOrgX(h.x),g.setWorldOrgY(h.y),g.setDeviceOrgX(l.x),g.setDeviceOrgY(l.y);for(var L=this.getAllNodes(),p,y=0;y<L.length;y++)p=L[y],p.transform(g)}}},e.prototype.positionNodesRandomly=function(h){if(h==null)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var g,l,L=h.getNodes(),p=0;p<L.length;p++)g=L[p],l=g.getChild(),l==null||l.getNodes().length==0?g.scatter():(this.positionNodesRandomly(l),g.updateBounds())},e.prototype.getFlatForest=function(){for(var h=[],g=!0,l=this.graphManager.getRoot().getNodes(),L=!0,p=0;p<l.length;p++)l[p].getChild()!=null&&(L=!1);if(!L)return h;var y=new Set,N=[],I=new Map,C=[];for(C=C.concat(l);C.length>0&&g;){for(N.push(C[0]);N.length>0&&g;){var S=N[0];N.splice(0,1),y.add(S);for(var X=S.getEdges(),p=0;p<X.length;p++){var G=X[p].getOtherEnd(S);if(I.get(S)!=G)if(!y.has(G))N.push(G),I.set(G,S);else{g=!1;break}}}if(!g)h=[];else{var Q=[].concat(c(y));h.push(Q);for(var p=0;p<Q.length;p++){var O=Q[p],H=C.indexOf(O);H>-1&&C.splice(H,1)}y=new Set,I=new Map}}return h},e.prototype.createDummyNodesForBendpoints=function(h){for(var g=[],l=h.source,L=this.graphManager.calcLowestCommonAncestor(h.source,h.target),p=0;p<h.bendpoints.length;p++){var y=this.newNode(null);y.setRect(new Point(0,0),new Dimension(1,1)),L.add(y);var N=this.newEdge(null);this.graphManager.add(N,l,y),g.add(y),l=y}var N=this.newEdge(null);return this.graphManager.add(N,l,h.target),this.edgeToDummyNodes.set(h,g),h.isInterGraph()?this.graphManager.remove(h):L.remove(h),g},e.prototype.createBendpointsFromDummyNodes=function(){var h=[];h=h.concat(this.graphManager.getAllEdges()),h=[].concat(c(this.edgeToDummyNodes.keys())).concat(h);for(var g=0;g<h.length;g++){var l=h[g];if(l.bendpoints.length>0){for(var L=this.edgeToDummyNodes.get(l),p=0;p<L.length;p++){var y=L[p],N=new i(y.getCenterX(),y.getCenterY()),I=l.bendpoints.get(p);I.x=N.x,I.y=N.y,y.getOwner().remove(y)}this.graphManager.add(l,l.source,l.target)}}},e.transform=function(h,g,l,L){if(l!=null&&L!=null){var p=g;if(h<=50){var y=g/l;p-=(g-y)/50*(50-h)}else{var N=g*L;p+=(N-g)/50*(h-50)}return p}else{var I,C;return h<=50?(I=9*g/500,C=g/10):(I=9*g/50,C=-8*g),I*h+C}},e.findCenterOfTree=function(h){var g=[];g=g.concat(h);var l=[],L=new Map,p=!1,y=null;(g.length==1||g.length==2)&&(p=!0,y=g[0]);for(var N=0;N<g.length;N++){var I=g[N],C=I.getNeighborsList().size;L.set(I,I.getNeighborsList().size),C==1&&l.push(I)}var S=[];for(S=S.concat(l);!p;){var X=[];X=X.concat(S),S=[];for(var N=0;N<g.length;N++){var I=g[N],G=g.indexOf(I);G>=0&&g.splice(G,1);var Q=I.getNeighborsList();Q.forEach(function(s){if(l.indexOf(s)<0){var m=L.get(s),v=m-1;v==1&&S.push(s),L.set(s,v)}})}l=l.concat(S),(g.length==1||g.length==2)&&(p=!0,y=g[0])}return y},e.prototype.setGraphManager=function(h){this.graphManager=h},w.exports=e}),(function(w,M,T){"use strict";function c(){}c.seed=1,c.x=0,c.nextDouble=function(){return c.x=Math.sin(c.seed++)*1e4,c.x-Math.floor(c.x)},w.exports=c}),(function(w,M,T){"use strict";var c=T(5);function o(a,r){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}o.prototype.getWorldOrgX=function(){return this.lworldOrgX},o.prototype.setWorldOrgX=function(a){this.lworldOrgX=a},o.prototype.getWorldOrgY=function(){return this.lworldOrgY},o.prototype.setWorldOrgY=function(a){this.lworldOrgY=a},o.prototype.getWorldExtX=function(){return this.lworldExtX},o.prototype.setWorldExtX=function(a){this.lworldExtX=a},o.prototype.getWorldExtY=function(){return this.lworldExtY},o.prototype.setWorldExtY=function(a){this.lworldExtY=a},o.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},o.prototype.setDeviceOrgX=function(a){this.ldeviceOrgX=a},o.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},o.prototype.setDeviceOrgY=function(a){this.ldeviceOrgY=a},o.prototype.getDeviceExtX=function(){return this.ldeviceExtX},o.prototype.setDeviceExtX=function(a){this.ldeviceExtX=a},o.prototype.getDeviceExtY=function(){return this.ldeviceExtY},o.prototype.setDeviceExtY=function(a){this.ldeviceExtY=a},o.prototype.transformX=function(a){var r=0,n=this.lworldExtX;return n!=0&&(r=this.ldeviceOrgX+(a-this.lworldOrgX)*this.ldeviceExtX/n),r},o.prototype.transformY=function(a){var r=0,n=this.lworldExtY;return n!=0&&(r=this.ldeviceOrgY+(a-this.lworldOrgY)*this.ldeviceExtY/n),r},o.prototype.inverseTransformX=function(a){var r=0,n=this.ldeviceExtX;return n!=0&&(r=this.lworldOrgX+(a-this.ldeviceOrgX)*this.lworldExtX/n),r},o.prototype.inverseTransformY=function(a){var r=0,n=this.ldeviceExtY;return n!=0&&(r=this.lworldOrgY+(a-this.ldeviceOrgY)*this.lworldExtY/n),r},o.prototype.inverseTransformPoint=function(a){var r=new c(this.inverseTransformX(a.x),this.inverseTransformY(a.y));return r},w.exports=o}),(function(w,M,T){"use strict";function c(t){if(Array.isArray(t)){for(var e=0,h=Array(t.length);e<t.length;e++)h[e]=t[e];return h}else return Array.from(t)}var o=T(15),a=T(4),r=T(0),n=T(8),f=T(9);function i(){o.call(this),this.useSmartIdealEdgeLengthCalculation=a.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=a.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=a.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=a.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=a.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*a.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=a.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=a.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=a.MAX_ITERATIONS}i.prototype=Object.create(o.prototype);for(var u in o)i[u]=o[u];i.prototype.initParameters=function(){o.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=a.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},i.prototype.calcIdealEdgeLengths=function(){for(var t,e,h,g,l,L,p,y=this.getGraphManager().getAllEdges(),N=0;N<y.length;N++)t=y[N],e=t.idealLength,t.isInterGraph&&(g=t.getSource(),l=t.getTarget(),L=t.getSourceInLca().getEstimatedSize(),p=t.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(t.idealLength+=L+p-2*r.SIMPLE_NODE_SIZE),h=t.getLca().getInclusionTreeDepth(),t.idealLength+=e*a.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(g.getInclusionTreeDepth()+l.getInclusionTreeDepth()-2*h))},i.prototype.initSpringEmbedder=function(){var t=this.getAllNodes().length;this.incremental?(t>a.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*a.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-a.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>a.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(a.COOLING_ADAPTATION_FACTOR,1-(t-a.ADAPTATION_LOWER_NODE_LIMIT)/(a.ADAPTATION_UPPER_NODE_LIMIT-a.ADAPTATION_LOWER_NODE_LIMIT)*(1-a.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=a.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(this.getAllNodes().length*5,this.maxIterations),this.displacementThresholdPerNode=3*a.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},i.prototype.calcSpringForces=function(){for(var t=this.getAllEdges(),e,h=0;h<t.length;h++)e=t[h],this.calcSpringForce(e,e.idealLength)},i.prototype.calcRepulsionForces=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,h,g,l,L,p=this.getAllNodes(),y;if(this.useFRGridVariant)for(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&t&&this.updateGrid(),y=new Set,h=0;h<p.length;h++)l=p[h],this.calculateRepulsionForceOfANode(l,y,t,e),y.add(l);else for(h=0;h<p.length;h++)for(l=p[h],g=h+1;g<p.length;g++)L=p[g],l.getOwner()==L.getOwner()&&this.calcRepulsionForce(l,L)},i.prototype.calcGravitationalForces=function(){for(var t,e=this.getAllNodesToApplyGravitation(),h=0;h<e.length;h++)t=e[h],this.calcGravitationalForce(t)},i.prototype.moveNodes=function(){for(var t=this.getAllNodes(),e,h=0;h<t.length;h++)e=t[h],e.move()},i.prototype.calcSpringForce=function(t,e){var h=t.getSource(),g=t.getTarget(),l,L,p,y;if(this.uniformLeafNodeSizes&&h.getChild()==null&&g.getChild()==null)t.updateLengthSimple();else if(t.updateLength(),t.isOverlapingSourceAndTarget)return;l=t.getLength(),l!=0&&(L=t.edgeElasticity*(l-e),p=L*(t.lengthX/l),y=L*(t.lengthY/l),h.springForceX+=p,h.springForceY+=y,g.springForceX-=p,g.springForceY-=y)},i.prototype.calcRepulsionForce=function(t,e){var h=t.getRect(),g=e.getRect(),l=new Array(2),L=new Array(4),p,y,N,I,C,S,X;if(h.intersects(g)){n.calcSeparationAmount(h,g,l,a.DEFAULT_EDGE_LENGTH/2),S=2*l[0],X=2*l[1];var G=t.noOfChildren*e.noOfChildren/(t.noOfChildren+e.noOfChildren);t.repulsionForceX-=G*S,t.repulsionForceY-=G*X,e.repulsionForceX+=G*S,e.repulsionForceY+=G*X}else this.uniformLeafNodeSizes&&t.getChild()==null&&e.getChild()==null?(p=g.getCenterX()-h.getCenterX(),y=g.getCenterY()-h.getCenterY()):(n.getIntersection(h,g,L),p=L[2]-L[0],y=L[3]-L[1]),Math.abs(p)<a.MIN_REPULSION_DIST&&(p=f.sign(p)*a.MIN_REPULSION_DIST),Math.abs(y)<a.MIN_REPULSION_DIST&&(y=f.sign(y)*a.MIN_REPULSION_DIST),N=p*p+y*y,I=Math.sqrt(N),C=(t.nodeRepulsion/2+e.nodeRepulsion/2)*t.noOfChildren*e.noOfChildren/N,S=C*p/I,X=C*y/I,t.repulsionForceX-=S,t.repulsionForceY-=X,e.repulsionForceX+=S,e.repulsionForceY+=X},i.prototype.calcGravitationalForce=function(t){var e,h,g,l,L,p,y,N;e=t.getOwner(),h=(e.getRight()+e.getLeft())/2,g=(e.getTop()+e.getBottom())/2,l=t.getCenterX()-h,L=t.getCenterY()-g,p=Math.abs(l)+t.getWidth()/2,y=Math.abs(L)+t.getHeight()/2,t.getOwner()==this.graphManager.getRoot()?(N=e.getEstimatedSize()*this.gravityRangeFactor,(p>N||y>N)&&(t.gravitationForceX=-this.gravityConstant*l,t.gravitationForceY=-this.gravityConstant*L)):(N=e.getEstimatedSize()*this.compoundGravityRangeFactor,(p>N||y>N)&&(t.gravitationForceX=-this.gravityConstant*l*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*L*this.compoundGravityConstant))},i.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,t||e},i.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},i.prototype.calcNoOfChildrenForAllNodes=function(){for(var t,e=this.graphManager.getAllNodes(),h=0;h<e.length;h++)t=e[h],t.noOfChildren=t.getNoOfChildren()},i.prototype.calcGrid=function(t){var e=0,h=0;e=parseInt(Math.ceil((t.getRight()-t.getLeft())/this.repulsionRange)),h=parseInt(Math.ceil((t.getBottom()-t.getTop())/this.repulsionRange));for(var g=new Array(e),l=0;l<e;l++)g[l]=new Array(h);for(var l=0;l<e;l++)for(var L=0;L<h;L++)g[l][L]=new Array;return g},i.prototype.addNodeToGrid=function(t,e,h){var g=0,l=0,L=0,p=0;g=parseInt(Math.floor((t.getRect().x-e)/this.repulsionRange)),l=parseInt(Math.floor((t.getRect().width+t.getRect().x-e)/this.repulsionRange)),L=parseInt(Math.floor((t.getRect().y-h)/this.repulsionRange)),p=parseInt(Math.floor((t.getRect().height+t.getRect().y-h)/this.repulsionRange));for(var y=g;y<=l;y++)for(var N=L;N<=p;N++)this.grid[y][N].push(t),t.setGridCoordinates(g,l,L,p)},i.prototype.updateGrid=function(){var t,e,h=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),t=0;t<h.length;t++)e=h[t],this.addNodeToGrid(e,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},i.prototype.calculateRepulsionForceOfANode=function(t,e,h,g){if(this.totalIterations%a.GRID_CALCULATION_CHECK_PERIOD==1&&h||g){var l=new Set;t.surrounding=new Array;for(var L,p=this.grid,y=t.startX-1;y<t.finishX+2;y++)for(var N=t.startY-1;N<t.finishY+2;N++)if(!(y<0||N<0||y>=p.length||N>=p[0].length)){for(var I=0;I<p[y][N].length;I++)if(L=p[y][N][I],!(t.getOwner()!=L.getOwner()||t==L)&&!e.has(L)&&!l.has(L)){var C=Math.abs(t.getCenterX()-L.getCenterX())-(t.getWidth()/2+L.getWidth()/2),S=Math.abs(t.getCenterY()-L.getCenterY())-(t.getHeight()/2+L.getHeight()/2);C<=this.repulsionRange&&S<=this.repulsionRange&&l.add(L)}}t.surrounding=[].concat(c(l))}for(y=0;y<t.surrounding.length;y++)this.calcRepulsionForce(t,t.surrounding[y])},i.prototype.calcRepulsionRange=function(){return 0},w.exports=i}),(function(w,M,T){"use strict";var c=T(1),o=T(4);function a(n,f,i){c.call(this,n,f,i),this.idealLength=o.DEFAULT_EDGE_LENGTH,this.edgeElasticity=o.DEFAULT_SPRING_STRENGTH}a.prototype=Object.create(c.prototype);for(var r in c)a[r]=c[r];w.exports=a}),(function(w,M,T){"use strict";var c=T(3),o=T(4);function a(n,f,i,u){c.call(this,n,f,i,u),this.nodeRepulsion=o.DEFAULT_REPULSION_STRENGTH,this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}a.prototype=Object.create(c.prototype);for(var r in c)a[r]=c[r];a.prototype.setGridCoordinates=function(n,f,i,u){this.startX=n,this.finishX=f,this.startY=i,this.finishY=u},w.exports=a}),(function(w,M,T){"use strict";function c(o,a){this.width=0,this.height=0,o!==null&&a!==null&&(this.height=a,this.width=o)}c.prototype.getWidth=function(){return this.width},c.prototype.setWidth=function(o){this.width=o},c.prototype.getHeight=function(){return this.height},c.prototype.setHeight=function(o){this.height=o},w.exports=c}),(function(w,M,T){"use strict";var c=T(14);function o(){this.map={},this.keys=[]}o.prototype.put=function(a,r){var n=c.createID(a);this.contains(n)||(this.map[n]=r,this.keys.push(a))},o.prototype.contains=function(a){var r=c.createID(a);return this.map[a]!=null},o.prototype.get=function(a){var r=c.createID(a);return this.map[r]},o.prototype.keySet=function(){return this.keys},w.exports=o}),(function(w,M,T){"use strict";var c=T(14);function o(){this.set={}}o.prototype.add=function(a){var r=c.createID(a);this.contains(r)||(this.set[r]=a)},o.prototype.remove=function(a){delete this.set[c.createID(a)]},o.prototype.clear=function(){this.set={}},o.prototype.contains=function(a){return this.set[c.createID(a)]==a},o.prototype.isEmpty=function(){return this.size()===0},o.prototype.size=function(){return Object.keys(this.set).length},o.prototype.addAllTo=function(a){for(var r=Object.keys(this.set),n=r.length,f=0;f<n;f++)a.push(this.set[r[f]])},o.prototype.size=function(){return Object.keys(this.set).length},o.prototype.addAll=function(a){for(var r=a.length,n=0;n<r;n++){var f=a[n];this.add(f)}},w.exports=o}),(function(w,M,T){"use strict";function c(){}c.multMat=function(o,a){for(var r=[],n=0;n<o.length;n++){r[n]=[];for(var f=0;f<a[0].length;f++){r[n][f]=0;for(var i=0;i<o[0].length;i++)r[n][f]+=o[n][i]*a[i][f]}}return r},c.transpose=function(o){for(var a=[],r=0;r<o[0].length;r++){a[r]=[];for(var n=0;n<o.length;n++)a[r][n]=o[n][r]}return a},c.multCons=function(o,a){for(var r=[],n=0;n<o.length;n++)r[n]=o[n]*a;return r},c.minusOp=function(o,a){for(var r=[],n=0;n<o.length;n++)r[n]=o[n]-a[n];return r},c.dotProduct=function(o,a){for(var r=0,n=0;n<o.length;n++)r+=o[n]*a[n];return r},c.mag=function(o){return Math.sqrt(this.dotProduct(o,o))},c.normalize=function(o){for(var a=[],r=this.mag(o),n=0;n<o.length;n++)a[n]=o[n]/r;return a},c.multGamma=function(o){for(var a=[],r=0,n=0;n<o.length;n++)r+=o[n];r*=-1/o.length;for(var f=0;f<o.length;f++)a[f]=r+o[f];return a},c.multL=function(o,a,r){for(var n=[],f=[],i=[],u=0;u<a[0].length;u++){for(var t=0,e=0;e<a.length;e++)t+=-.5*a[e][u]*o[e];f[u]=t}for(var h=0;h<r.length;h++){for(var g=0,l=0;l<r.length;l++)g+=r[h][l]*f[l];i[h]=g}for(var L=0;L<a.length;L++){for(var p=0,y=0;y<a[0].length;y++)p+=a[L][y]*i[y];n[L]=p}return n},w.exports=c}),(function(w,M,T){"use strict";var c=(function(){function n(f,i){for(var u=0;u<i.length;u++){var t=i[u];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(f,t.key,t)}}return function(f,i,u){return i&&n(f.prototype,i),u&&n(f,u),f}})();function o(n,f){if(!(n instanceof f))throw new TypeError("Cannot call a class as a function")}var a=T(11),r=(function(){function n(f,i){o(this,n),(i!==null||i!==void 0)&&(this.compareFunction=this._defaultCompareFunction);var u=void 0;f instanceof a?u=f.size():u=f.length,this._quicksort(f,0,u-1)}return c(n,[{key:"_quicksort",value:function(i,u,t){if(u<t){var e=this._partition(i,u,t);this._quicksort(i,u,e),this._quicksort(i,e+1,t)}}},{key:"_partition",value:function(i,u,t){for(var e=this._get(i,u),h=u,g=t;;){for(;this.compareFunction(e,this._get(i,g));)g--;for(;this.compareFunction(this._get(i,h),e);)h++;if(h<g)this._swap(i,h,g),h++,g--;else return g}}},{key:"_get",value:function(i,u){return i instanceof a?i.get_object_at(u):i[u]}},{key:"_set",value:function(i,u,t){i instanceof a?i.set_object_at(u,t):i[u]=t}},{key:"_swap",value:function(i,u,t){var e=this._get(i,u);this._set(i,u,this._get(i,t)),this._set(i,t,e)}},{key:"_defaultCompareFunction",value:function(i,u){return u>i}}]),n})();w.exports=r}),(function(w,M,T){"use strict";function c(){}c.svd=function(o){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=o.length,this.n=o[0].length;var a=Math.min(this.m,this.n);this.s=(function(Ot){for(var Nt=[];Ot-- >0;)Nt.push(0);return Nt})(Math.min(this.m+1,this.n)),this.U=(function(Ot){var Nt=function Bt(Rt){if(Rt.length==0)return 0;for(var Xt=[],zt=0;zt<Rt[0];zt++)Xt.push(Bt(Rt.slice(1)));return Xt};return Nt(Ot)})([this.m,a]),this.V=(function(Ot){var Nt=function Bt(Rt){if(Rt.length==0)return 0;for(var Xt=[],zt=0;zt<Rt[0];zt++)Xt.push(Bt(Rt.slice(1)));return Xt};return Nt(Ot)})([this.n,this.n]);for(var r=(function(Ot){for(var Nt=[];Ot-- >0;)Nt.push(0);return Nt})(this.n),n=(function(Ot){for(var Nt=[];Ot-- >0;)Nt.push(0);return Nt})(this.m),f=!0,i=!0,u=Math.min(this.m-1,this.n),t=Math.max(0,Math.min(this.n-2,this.m)),e=0;e<Math.max(u,t);e++){if(e<u){this.s[e]=0;for(var h=e;h<this.m;h++)this.s[e]=c.hypot(this.s[e],o[h][e]);if(this.s[e]!==0){o[e][e]<0&&(this.s[e]=-this.s[e]);for(var g=e;g<this.m;g++)o[g][e]/=this.s[e];o[e][e]+=1}this.s[e]=-this.s[e]}for(var l=e+1;l<this.n;l++){if((function(Ot,Nt){return Ot&&Nt})(e<u,this.s[e]!==0)){for(var L=0,p=e;p<this.m;p++)L+=o[p][e]*o[p][l];L=-L/o[e][e];for(var y=e;y<this.m;y++)o[y][l]+=L*o[y][e]}r[l]=o[e][l]}if((function(Ot,Nt){return Ot&&Nt})(f,e<u))for(var N=e;N<this.m;N++)this.U[N][e]=o[N][e];if(e<t){r[e]=0;for(var I=e+1;I<this.n;I++)r[e]=c.hypot(r[e],r[I]);if(r[e]!==0){r[e+1]<0&&(r[e]=-r[e]);for(var C=e+1;C<this.n;C++)r[C]/=r[e];r[e+1]+=1}if(r[e]=-r[e],(function(Ot,Nt){return Ot&&Nt})(e+1<this.m,r[e]!==0)){for(var S=e+1;S<this.m;S++)n[S]=0;for(var X=e+1;X<this.n;X++)for(var G=e+1;G<this.m;G++)n[G]+=r[X]*o[G][X];for(var Q=e+1;Q<this.n;Q++)for(var O=-r[Q]/r[e+1],H=e+1;H<this.m;H++)o[H][Q]+=O*n[H]}if(i)for(var s=e+1;s<this.n;s++)this.V[s][e]=r[s]}}var m=Math.min(this.n,this.m+1);if(u<this.n&&(this.s[u]=o[u][u]),this.m<m&&(this.s[m-1]=0),t+1<m&&(r[t]=o[t][m-1]),r[m-1]=0,f){for(var v=u;v<a;v++){for(var E=0;E<this.m;E++)this.U[E][v]=0;this.U[v][v]=1}for(var d=u-1;d>=0;d--)if(this.s[d]!==0){for(var x=d+1;x<a;x++){for(var D=0,P=d;P<this.m;P++)D+=this.U[P][d]*this.U[P][x];D=-D/this.U[d][d];for(var F=d;F<this.m;F++)this.U[F][x]+=D*this.U[F][d]}for(var R=d;R<this.m;R++)this.U[R][d]=-this.U[R][d];this.U[d][d]=1+this.U[d][d];for(var k=0;k<d-1;k++)this.U[k][d]=0}else{for(var tt=0;tt<this.m;tt++)this.U[tt][d]=0;this.U[d][d]=1}}if(i)for(var b=this.n-1;b>=0;b--){if((function(Ot,Nt){return Ot&&Nt})(b<t,r[b]!==0))for(var _=b+1;_<a;_++){for(var $=0,A=b+1;A<this.n;A++)$+=this.V[A][b]*this.V[A][_];$=-$/this.V[b+1][b];for(var Y=b+1;Y<this.n;Y++)this.V[Y][_]+=$*this.V[Y][b]}for(var W=0;W<this.n;W++)this.V[W][b]=0;this.V[b][b]=1}for(var K=m-1,st=0,Lt=Math.pow(2,-52),St=Math.pow(2,-966);m>0;){var J=void 0,Ut=void 0;for(J=m-2;J>=-1&&J!==-1;J--)if(Math.abs(r[J])<=St+Lt*(Math.abs(this.s[J])+Math.abs(this.s[J+1]))){r[J]=0;break}if(J===m-2)Ut=4;else{var At=void 0;for(At=m-1;At>=J&&At!==J;At--){var at=(At!==m?Math.abs(r[At]):0)+(At!==J+1?Math.abs(r[At-1]):0);if(Math.abs(this.s[At])<=St+Lt*at){this.s[At]=0;break}}At===J?Ut=3:At===m-1?Ut=1:(Ut=2,J=At)}switch(J++,Ut){case 1:{var et=r[m-2];r[m-2]=0;for(var pt=m-2;pt>=J;pt--){var mt=c.hypot(this.s[pt],et),wt=this.s[pt]/mt,Et=et/mt;if(this.s[pt]=mt,pt!==J&&(et=-Et*r[pt-1],r[pt-1]=wt*r[pt-1]),i)for(var Tt=0;Tt<this.n;Tt++)mt=wt*this.V[Tt][pt]+Et*this.V[Tt][m-1],this.V[Tt][m-1]=-Et*this.V[Tt][pt]+wt*this.V[Tt][m-1],this.V[Tt][pt]=mt}}break;case 2:{var Dt=r[J-1];r[J-1]=0;for(var It=J;It<m;It++){var Wt=c.hypot(this.s[It],Dt),Pt=this.s[It]/Wt,Yt=Dt/Wt;if(this.s[It]=Wt,Dt=-Yt*r[It],r[It]=Pt*r[It],f)for(var bt=0;bt<this.m;bt++)Wt=Pt*this.U[bt][It]+Yt*this.U[bt][J-1],this.U[bt][J-1]=-Yt*this.U[bt][It]+Pt*this.U[bt][J-1],this.U[bt][It]=Wt}}break;case 3:{var U=Math.max(Math.max(Math.max(Math.max(Math.abs(this.s[m-1]),Math.abs(this.s[m-2])),Math.abs(r[m-2])),Math.abs(this.s[J])),Math.abs(r[J])),V=this.s[m-1]/U,z=this.s[m-2]/U,B=r[m-2]/U,Z=this.s[J]/U,j=r[J]/U,ut=((z+V)*(z-V)+B*B)/2,ct=V*B*(V*B),q=0;(function(Ot,Nt){return Ot||Nt})(ut!==0,ct!==0)&&(q=Math.sqrt(ut*ut+ct),ut<0&&(q=-q),q=ct/(ut+q));for(var ht=(Z+V)*(Z-V)+q,gt=Z*j,rt=J;rt<m-1;rt++){var vt=c.hypot(ht,gt),Mt=ht/vt,ot=gt/vt;if(rt!==J&&(r[rt-1]=vt),ht=Mt*this.s[rt]+ot*r[rt],r[rt]=Mt*r[rt]-ot*this.s[rt],gt=ot*this.s[rt+1],this.s[rt+1]=Mt*this.s[rt+1],i)for(var it=0;it<this.n;it++)vt=Mt*this.V[it][rt]+ot*this.V[it][rt+1],this.V[it][rt+1]=-ot*this.V[it][rt]+Mt*this.V[it][rt+1],this.V[it][rt]=vt;if(vt=c.hypot(ht,gt),Mt=ht/vt,ot=gt/vt,this.s[rt]=vt,ht=Mt*r[rt]+ot*this.s[rt+1],this.s[rt+1]=-ot*r[rt]+Mt*this.s[rt+1],gt=ot*r[rt+1],r[rt+1]=Mt*r[rt+1],f&&rt<this.m-1)for(var dt=0;dt<this.m;dt++)vt=Mt*this.U[dt][rt]+ot*this.U[dt][rt+1],this.U[dt][rt+1]=-ot*this.U[dt][rt]+Mt*this.U[dt][rt+1],this.U[dt][rt]=vt}r[m-2]=ht,st=st+1}break;case 4:{if(this.s[J]<=0&&(this.s[J]=this.s[J]<0?-this.s[J]:0,i))for(var nt=0;nt<=K;nt++)this.V[nt][J]=-this.V[nt][J];for(;J<K&&!(this.s[J]>=this.s[J+1]);){var lt=this.s[J];if(this.s[J]=this.s[J+1],this.s[J+1]=lt,i&&J<this.n-1)for(var Ft=0;Ft<this.n;Ft++)lt=this.V[Ft][J+1],this.V[Ft][J+1]=this.V[Ft][J],this.V[Ft][J]=lt;if(f&&J<this.m-1)for(var xt=0;xt<this.m;xt++)lt=this.U[xt][J+1],this.U[xt][J+1]=this.U[xt][J],this.U[xt][J]=lt;J++}st=0,m--}break}}var Vt={U:this.U,V:this.V,S:this.s};return Vt},c.hypot=function(o,a){var r=void 0;return Math.abs(o)>Math.abs(a)?(r=a/o,r=Math.abs(o)*Math.sqrt(1+r*r)):a!=0?(r=o/a,r=Math.abs(a)*Math.sqrt(1+r*r)):r=0,r},w.exports=c}),(function(w,M,T){"use strict";var c=(function(){function r(n,f){for(var i=0;i<f.length;i++){var u=f[i];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(n,u.key,u)}}return function(n,f,i){return f&&r(n.prototype,f),i&&r(n,i),n}})();function o(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}var a=(function(){function r(n,f){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,t=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;o(this,r),this.sequence1=n,this.sequence2=f,this.match_score=i,this.mismatch_penalty=u,this.gap_penalty=t,this.iMax=n.length+1,this.jMax=f.length+1,this.grid=new Array(this.iMax);for(var e=0;e<this.iMax;e++){this.grid[e]=new Array(this.jMax);for(var h=0;h<this.jMax;h++)this.grid[e][h]=0}this.tracebackGrid=new Array(this.iMax);for(var g=0;g<this.iMax;g++){this.tracebackGrid[g]=new Array(this.jMax);for(var l=0;l<this.jMax;l++)this.tracebackGrid[g][l]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return c(r,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var f=1;f<this.jMax;f++)this.grid[0][f]=this.grid[0][f-1]+this.gap_penalty,this.tracebackGrid[0][f]=[!1,!1,!0];for(var i=1;i<this.iMax;i++)this.grid[i][0]=this.grid[i-1][0]+this.gap_penalty,this.tracebackGrid[i][0]=[!1,!0,!1];for(var u=1;u<this.iMax;u++)for(var t=1;t<this.jMax;t++){var e=void 0;this.sequence1[u-1]===this.sequence2[t-1]?e=this.grid[u-1][t-1]+this.match_score:e=this.grid[u-1][t-1]+this.mismatch_penalty;var h=this.grid[u-1][t]+this.gap_penalty,g=this.grid[u][t-1]+this.gap_penalty,l=[e,h,g],L=this.arrayAllMaxIndexes(l);this.grid[u][t]=l[L[0]],this.tracebackGrid[u][t]=[L.includes(0),L.includes(1),L.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var f=[];for(f.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});f[0];){var i=f[0],u=this.tracebackGrid[i.pos[0]][i.pos[1]];u[0]&&f.push({pos:[i.pos[0]-1,i.pos[1]-1],seq1:this.sequence1[i.pos[0]-1]+i.seq1,seq2:this.sequence2[i.pos[1]-1]+i.seq2}),u[1]&&f.push({pos:[i.pos[0]-1,i.pos[1]],seq1:this.sequence1[i.pos[0]-1]+i.seq1,seq2:"-"+i.seq2}),u[2]&&f.push({pos:[i.pos[0],i.pos[1]-1],seq1:"-"+i.seq1,seq2:this.sequence2[i.pos[1]-1]+i.seq2}),i.pos[0]===0&&i.pos[1]===0&&this.alignments.push({sequence1:i.seq1,sequence2:i.seq2}),f.shift()}return this.alignments}},{key:"getAllIndexes",value:function(f,i){for(var u=[],t=-1;(t=f.indexOf(i,t+1))!==-1;)u.push(t);return u}},{key:"arrayAllMaxIndexes",value:function(f){return this.getAllIndexes(f,Math.max.apply(null,f))}}]),r})();w.exports=a}),(function(w,M,T){"use strict";var c=function(){};c.FDLayout=T(18),c.FDLayoutConstants=T(4),c.FDLayoutEdge=T(19),c.FDLayoutNode=T(20),c.DimensionD=T(21),c.HashMap=T(22),c.HashSet=T(23),c.IGeometry=T(8),c.IMath=T(9),c.Integer=T(10),c.Point=T(12),c.PointD=T(5),c.RandomSeed=T(16),c.RectangleD=T(13),c.Transform=T(17),c.UniqueIDGeneretor=T(14),c.Quicksort=T(25),c.LinkedList=T(11),c.LGraphObject=T(2),c.LGraph=T(6),c.LEdge=T(1),c.LGraphManager=T(7),c.LNode=T(3),c.Layout=T(15),c.LayoutConstants=T(0),c.NeedlemanWunsch=T(27),c.Matrix=T(24),c.SVD=T(26),w.exports=c}),(function(w,M,T){"use strict";function c(){this.listeners=[]}var o=c.prototype;o.addListener=function(a,r){this.listeners.push({event:a,callback:r})},o.removeListener=function(a,r){for(var n=this.listeners.length;n>=0;n--){var f=this.listeners[n];f.event===a&&f.callback===r&&this.listeners.splice(n,1)}},o.emit=function(a,r){for(var n=0;n<this.listeners.length;n++){var f=this.listeners[n];a===f.event&&f.callback(r)}},w.exports=c})])})});var we=ye((ne,Le)=>{(function(M,T){typeof ne=="object"&&typeof Le=="object"?Le.exports=T(Ne()):typeof define=="function"&&define.amd?define(["layout-base"],T):typeof ne=="object"?ne.coseBase=T(Ne()):M.coseBase=T(M.layoutBase)})(ne,function(w){return(()=>{"use strict";var M={45:((a,r,n)=>{var f={};f.layoutBase=n(551),f.CoSEConstants=n(806),f.CoSEEdge=n(767),f.CoSEGraph=n(880),f.CoSEGraphManager=n(578),f.CoSELayout=n(765),f.CoSENode=n(991),f.ConstraintHandler=n(902),a.exports=f}),806:((a,r,n)=>{var f=n(551).FDLayoutConstants;function i(){}for(var u in f)i[u]=f[u];i.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,i.DEFAULT_RADIAL_SEPARATION=f.DEFAULT_EDGE_LENGTH,i.DEFAULT_COMPONENT_SEPERATION=60,i.TILE=!0,i.TILING_PADDING_VERTICAL=10,i.TILING_PADDING_HORIZONTAL=10,i.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,i.ENFORCE_CONSTRAINTS=!0,i.APPLY_LAYOUT=!0,i.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,i.TREE_REDUCTION_ON_INCREMENTAL=!0,i.PURE_INCREMENTAL=i.DEFAULT_INCREMENTAL,a.exports=i}),767:((a,r,n)=>{var f=n(551).FDLayoutEdge;function i(t,e,h){f.call(this,t,e,h)}i.prototype=Object.create(f.prototype);for(var u in f)i[u]=f[u];a.exports=i}),880:((a,r,n)=>{var f=n(551).LGraph;function i(t,e,h){f.call(this,t,e,h)}i.prototype=Object.create(f.prototype);for(var u in f)i[u]=f[u];a.exports=i}),578:((a,r,n)=>{var f=n(551).LGraphManager;function i(t){f.call(this,t)}i.prototype=Object.create(f.prototype);for(var u in f)i[u]=f[u];a.exports=i}),765:((a,r,n)=>{var f=n(551).FDLayout,i=n(578),u=n(880),t=n(991),e=n(767),h=n(806),g=n(902),l=n(551).FDLayoutConstants,L=n(551).LayoutConstants,p=n(551).Point,y=n(551).PointD,N=n(551).DimensionD,I=n(551).Layout,C=n(551).Integer,S=n(551).IGeometry,X=n(551).LGraph,G=n(551).Transform,Q=n(551).LinkedList;function O(){f.call(this),this.toBeTiled={},this.constraints={}}O.prototype=Object.create(f.prototype);for(var H in f)O[H]=f[H];O.prototype.newGraphManager=function(){var s=new i(this);return this.graphManager=s,s},O.prototype.newGraph=function(s){return new u(null,this.graphManager,s)},O.prototype.newNode=function(s){return new t(this.graphManager,s)},O.prototype.newEdge=function(s){return new e(null,null,s)},O.prototype.initParameters=function(){f.prototype.initParameters.call(this,arguments),this.isSubLayout||(h.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=h.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},O.prototype.initSpringEmbedder=function(){f.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},O.prototype.layout=function(){var s=L.DEFAULT_CREATE_BENDS_AS_NEEDED;return s&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},O.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(h.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var m=new Set(this.getAllNodes()),v=this.nodesWithGravity.filter(function(x){return m.has(x)});this.graphManager.setAllNodesToApplyGravitation(v)}}else{var s=this.getFlatForest();if(s.length>0)this.positionNodesRadially(s);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var m=new Set(this.getAllNodes()),v=this.nodesWithGravity.filter(function(E){return m.has(E)});this.graphManager.setAllNodesToApplyGravitation(v),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(g.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),h.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},O.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished)if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged())if(this.prunedNodesAll.length>0)this.isTreeGrowing=!0;else return!0;this.coolingCycle++,this.layoutQuality==0?this.coolingAdjuster=this.coolingCycle:this.layoutQuality==1&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var s=new Set(this.getAllNodes()),m=this.nodesWithGravity.filter(function(d){return s.has(d)});this.graphManager.setAllNodesToApplyGravitation(m),this.graphManager.updateBounds(),this.updateGrid(),h.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),h.PURE_INCREMENTAL?this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var v=!this.isTreeGrowing&&!this.isGrowthFinished,E=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(v,E),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},O.prototype.getPositionsData=function(){for(var s=this.graphManager.getAllNodes(),m={},v=0;v<s.length;v++){var E=s[v].rect,d=s[v].id;m[d]={id:d,x:E.getCenterX(),y:E.getCenterY(),w:E.width,h:E.height}}return m},O.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var s=!1;if(l.ANIMATE==="during")this.emit("layoutstarted");else{for(;!s;)s=this.tick();this.graphManager.updateBounds()}},O.prototype.moveNodes=function(){for(var s=this.getAllNodes(),m,v=0;v<s.length;v++)m=s[v],m.calculateDisplacement();Object.keys(this.constraints).length>0&&this.updateDisplacements();for(var v=0;v<s.length;v++)m=s[v],m.move()},O.prototype.initConstraintVariables=function(){var s=this;this.idToNodeMap=new Map,this.fixedNodeSet=new Set;for(var m=this.graphManager.getAllNodes(),v=0;v<m.length;v++){var E=m[v];this.idToNodeMap.set(E.id,E)}var d=function A(Y){for(var W=Y.getChild().getNodes(),K,st=0,Lt=0;Lt<W.length;Lt++)K=W[Lt],K.getChild()==null?s.fixedNodeSet.has(K.id)&&(st+=100):st+=A(K);return st};if(this.constraints.fixedNodeConstraint){this.constraints.fixedNodeConstraint.forEach(function(W){s.fixedNodeSet.add(W.nodeId)});for(var m=this.graphManager.getAllNodes(),E,v=0;v<m.length;v++)if(E=m[v],E.getChild()!=null){var x=d(E);x>0&&(E.fixedNodeWeight=x)}}if(this.constraints.relativePlacementConstraint){var D=new Map,P=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(A){s.fixedNodesOnHorizontal.add(A),s.fixedNodesOnVertical.add(A)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var F=this.constraints.alignmentConstraint.vertical,v=0;v<F.length;v++)this.dummyToNodeForVerticalAlignment.set("dummy"+v,[]),F[v].forEach(function(Y){D.set(Y,"dummy"+v),s.dummyToNodeForVerticalAlignment.get("dummy"+v).push(Y),s.fixedNodeSet.has(Y)&&s.fixedNodesOnHorizontal.add("dummy"+v)});if(this.constraints.alignmentConstraint.horizontal)for(var R=this.constraints.alignmentConstraint.horizontal,v=0;v<R.length;v++)this.dummyToNodeForHorizontalAlignment.set("dummy"+v,[]),R[v].forEach(function(Y){P.set(Y,"dummy"+v),s.dummyToNodeForHorizontalAlignment.get("dummy"+v).push(Y),s.fixedNodeSet.has(Y)&&s.fixedNodesOnVertical.add("dummy"+v)})}if(h.RELAX_MOVEMENT_ON_CONSTRAINTS)this.shuffle=function(A){var Y,W,K;for(K=A.length-1;K>=2*A.length/3;K--)Y=Math.floor(Math.random()*(K+1)),W=A[K],A[K]=A[Y],A[Y]=W;return A},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(A){if(A.left){var Y=D.has(A.left)?D.get(A.left):A.left,W=D.has(A.right)?D.get(A.right):A.right;s.nodesInRelativeHorizontal.includes(Y)||(s.nodesInRelativeHorizontal.push(Y),s.nodeToRelativeConstraintMapHorizontal.set(Y,[]),s.dummyToNodeForVerticalAlignment.has(Y)?s.nodeToTempPositionMapHorizontal.set(Y,s.idToNodeMap.get(s.dummyToNodeForVerticalAlignment.get(Y)[0]).getCenterX()):s.nodeToTempPositionMapHorizontal.set(Y,s.idToNodeMap.get(Y).getCenterX())),s.nodesInRelativeHorizontal.includes(W)||(s.nodesInRelativeHorizontal.push(W),s.nodeToRelativeConstraintMapHorizontal.set(W,[]),s.dummyToNodeForVerticalAlignment.has(W)?s.nodeToTempPositionMapHorizontal.set(W,s.idToNodeMap.get(s.dummyToNodeForVerticalAlignment.get(W)[0]).getCenterX()):s.nodeToTempPositionMapHorizontal.set(W,s.idToNodeMap.get(W).getCenterX())),s.nodeToRelativeConstraintMapHorizontal.get(Y).push({right:W,gap:A.gap}),s.nodeToRelativeConstraintMapHorizontal.get(W).push({left:Y,gap:A.gap})}else{var K=P.has(A.top)?P.get(A.top):A.top,st=P.has(A.bottom)?P.get(A.bottom):A.bottom;s.nodesInRelativeVertical.includes(K)||(s.nodesInRelativeVertical.push(K),s.nodeToRelativeConstraintMapVertical.set(K,[]),s.dummyToNodeForHorizontalAlignment.has(K)?s.nodeToTempPositionMapVertical.set(K,s.idToNodeMap.get(s.dummyToNodeForHorizontalAlignment.get(K)[0]).getCenterY()):s.nodeToTempPositionMapVertical.set(K,s.idToNodeMap.get(K).getCenterY())),s.nodesInRelativeVertical.includes(st)||(s.nodesInRelativeVertical.push(st),s.nodeToRelativeConstraintMapVertical.set(st,[]),s.dummyToNodeForHorizontalAlignment.has(st)?s.nodeToTempPositionMapVertical.set(st,s.idToNodeMap.get(s.dummyToNodeForHorizontalAlignment.get(st)[0]).getCenterY()):s.nodeToTempPositionMapVertical.set(st,s.idToNodeMap.get(st).getCenterY())),s.nodeToRelativeConstraintMapVertical.get(K).push({bottom:st,gap:A.gap}),s.nodeToRelativeConstraintMapVertical.get(st).push({top:K,gap:A.gap})}});else{var k=new Map,tt=new Map;this.constraints.relativePlacementConstraint.forEach(function(A){if(A.left){var Y=D.has(A.left)?D.get(A.left):A.left,W=D.has(A.right)?D.get(A.right):A.right;k.has(Y)?k.get(Y).push(W):k.set(Y,[W]),k.has(W)?k.get(W).push(Y):k.set(W,[Y])}else{var K=P.has(A.top)?P.get(A.top):A.top,st=P.has(A.bottom)?P.get(A.bottom):A.bottom;tt.has(K)?tt.get(K).push(st):tt.set(K,[st]),tt.has(st)?tt.get(st).push(K):tt.set(st,[K])}});var b=function(Y,W){var K=[],st=[],Lt=new Q,St=new Set,J=0;return Y.forEach(function(Ut,At){if(!St.has(At)){K[J]=[],st[J]=!1;var at=At;for(Lt.push(at),St.add(at),K[J].push(at);Lt.length!=0;){at=Lt.shift(),W.has(at)&&(st[J]=!0);var et=Y.get(at);et.forEach(function(pt){St.has(pt)||(Lt.push(pt),St.add(pt),K[J].push(pt))})}J++}}),{components:K,isFixed:st}},_=b(k,s.fixedNodesOnHorizontal);this.componentsOnHorizontal=_.components,this.fixedComponentsOnHorizontal=_.isFixed;var $=b(tt,s.fixedNodesOnVertical);this.componentsOnVertical=$.components,this.fixedComponentsOnVertical=$.isFixed}}},O.prototype.updateDisplacements=function(){var s=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function($){var A=s.idToNodeMap.get($.nodeId);A.displacementX=0,A.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var m=this.constraints.alignmentConstraint.vertical,v=0;v<m.length;v++){for(var E=0,d=0;d<m[v].length;d++){if(this.fixedNodeSet.has(m[v][d])){E=0;break}E+=this.idToNodeMap.get(m[v][d]).displacementX}for(var x=E/m[v].length,d=0;d<m[v].length;d++)this.idToNodeMap.get(m[v][d]).displacementX=x}if(this.constraints.alignmentConstraint.horizontal)for(var D=this.constraints.alignmentConstraint.horizontal,v=0;v<D.length;v++){for(var P=0,d=0;d<D[v].length;d++){if(this.fixedNodeSet.has(D[v][d])){P=0;break}P+=this.idToNodeMap.get(D[v][d]).displacementY}for(var F=P/D[v].length,d=0;d<D[v].length;d++)this.idToNodeMap.get(D[v][d]).displacementY=F}}if(this.constraints.relativePlacementConstraint)if(h.RELAX_MOVEMENT_ON_CONSTRAINTS)this.totalIterations%10==0&&(this.shuffle(this.nodesInRelativeHorizontal),this.shuffle(this.nodesInRelativeVertical)),this.nodesInRelativeHorizontal.forEach(function($){if(!s.fixedNodesOnHorizontal.has($)){var A=0;s.dummyToNodeForVerticalAlignment.has($)?A=s.idToNodeMap.get(s.dummyToNodeForVerticalAlignment.get($)[0]).displacementX:A=s.idToNodeMap.get($).displacementX,s.nodeToRelativeConstraintMapHorizontal.get($).forEach(function(Y){if(Y.right){var W=s.nodeToTempPositionMapHorizontal.get(Y.right)-s.nodeToTempPositionMapHorizontal.get($)-A;W<Y.gap&&(A-=Y.gap-W)}else{var W=s.nodeToTempPositionMapHorizontal.get($)-s.nodeToTempPositionMapHorizontal.get(Y.left)+A;W<Y.gap&&(A+=Y.gap-W)}}),s.nodeToTempPositionMapHorizontal.set($,s.nodeToTempPositionMapHorizontal.get($)+A),s.dummyToNodeForVerticalAlignment.has($)?s.dummyToNodeForVerticalAlignment.get($).forEach(function(Y){s.idToNodeMap.get(Y).displacementX=A}):s.idToNodeMap.get($).displacementX=A}}),this.nodesInRelativeVertical.forEach(function($){if(!s.fixedNodesOnHorizontal.has($)){var A=0;s.dummyToNodeForHorizontalAlignment.has($)?A=s.idToNodeMap.get(s.dummyToNodeForHorizontalAlignment.get($)[0]).displacementY:A=s.idToNodeMap.get($).displacementY,s.nodeToRelativeConstraintMapVertical.get($).forEach(function(Y){if(Y.bottom){var W=s.nodeToTempPositionMapVertical.get(Y.bottom)-s.nodeToTempPositionMapVertical.get($)-A;W<Y.gap&&(A-=Y.gap-W)}else{var W=s.nodeToTempPositionMapVertical.get($)-s.nodeToTempPositionMapVertical.get(Y.top)+A;W<Y.gap&&(A+=Y.gap-W)}}),s.nodeToTempPositionMapVertical.set($,s.nodeToTempPositionMapVertical.get($)+A),s.dummyToNodeForHorizontalAlignment.has($)?s.dummyToNodeForHorizontalAlignment.get($).forEach(function(Y){s.idToNodeMap.get(Y).displacementY=A}):s.idToNodeMap.get($).displacementY=A}});else{for(var v=0;v<this.componentsOnHorizontal.length;v++){var R=this.componentsOnHorizontal[v];if(this.fixedComponentsOnHorizontal[v])for(var d=0;d<R.length;d++)this.dummyToNodeForVerticalAlignment.has(R[d])?this.dummyToNodeForVerticalAlignment.get(R[d]).forEach(function(Y){s.idToNodeMap.get(Y).displacementX=0}):this.idToNodeMap.get(R[d]).displacementX=0;else{for(var k=0,tt=0,d=0;d<R.length;d++)if(this.dummyToNodeForVerticalAlignment.has(R[d])){var b=this.dummyToNodeForVerticalAlignment.get(R[d]);k+=b.length*this.idToNodeMap.get(b[0]).displacementX,tt+=b.length}else k+=this.idToNodeMap.get(R[d]).displacementX,tt++;for(var _=k/tt,d=0;d<R.length;d++)this.dummyToNodeForVerticalAlignment.has(R[d])?this.dummyToNodeForVerticalAlignment.get(R[d]).forEach(function(Y){s.idToNodeMap.get(Y).displacementX=_}):this.idToNodeMap.get(R[d]).displacementX=_}}for(var v=0;v<this.componentsOnVertical.length;v++){var R=this.componentsOnVertical[v];if(this.fixedComponentsOnVertical[v])for(var d=0;d<R.length;d++)this.dummyToNodeForHorizontalAlignment.has(R[d])?this.dummyToNodeForHorizontalAlignment.get(R[d]).forEach(function(W){s.idToNodeMap.get(W).displacementY=0}):this.idToNodeMap.get(R[d]).displacementY=0;else{for(var k=0,tt=0,d=0;d<R.length;d++)if(this.dummyToNodeForHorizontalAlignment.has(R[d])){var b=this.dummyToNodeForHorizontalAlignment.get(R[d]);k+=b.length*this.idToNodeMap.get(b[0]).displacementY,tt+=b.length}else k+=this.idToNodeMap.get(R[d]).displacementY,tt++;for(var _=k/tt,d=0;d<R.length;d++)this.dummyToNodeForHorizontalAlignment.has(R[d])?this.dummyToNodeForHorizontalAlignment.get(R[d]).forEach(function(Lt){s.idToNodeMap.get(Lt).displacementY=_}):this.idToNodeMap.get(R[d]).displacementY=_}}}},O.prototype.calculateNodesToApplyGravitationTo=function(){var s=[],m,v=this.graphManager.getGraphs(),E=v.length,d;for(d=0;d<E;d++)m=v[d],m.updateConnected(),m.isConnected||(s=s.concat(m.getNodes()));return s},O.prototype.createBendpoints=function(){var s=[];s=s.concat(this.graphManager.getAllEdges());var m=new Set,v;for(v=0;v<s.length;v++){var E=s[v];if(!m.has(E)){var d=E.getSource(),x=E.getTarget();if(d==x)E.getBendpoints().push(new y),E.getBendpoints().push(new y),this.createDummyNodesForBendpoints(E),m.add(E);else{var D=[];if(D=D.concat(d.getEdgeListToNode(x)),D=D.concat(x.getEdgeListToNode(d)),!m.has(D[0])){if(D.length>1){var P;for(P=0;P<D.length;P++){var F=D[P];F.getBendpoints().push(new y),this.createDummyNodesForBendpoints(F)}}D.forEach(function(R){m.add(R)})}}}if(m.size==s.length)break}},O.prototype.positionNodesRadially=function(s){for(var m=new p(0,0),v=Math.ceil(Math.sqrt(s.length)),E=0,d=0,x=0,D=new y(0,0),P=0;P<s.length;P++){P%v==0&&(x=0,d=E,P!=0&&(d+=h.DEFAULT_COMPONENT_SEPERATION),E=0);var F=s[P],R=I.findCenterOfTree(F);m.x=x,m.y=d,D=O.radialLayout(F,R,m),D.y>E&&(E=Math.floor(D.y)),x=Math.floor(D.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new y(L.WORLD_CENTER_X-D.x/2,L.WORLD_CENTER_Y-D.y/2))},O.radialLayout=function(s,m,v){var E=Math.max(this.maxDiagonalInTree(s),h.DEFAULT_RADIAL_SEPARATION);O.branchRadialLayout(m,null,0,359,0,E);var d=X.calculateBounds(s),x=new G;x.setDeviceOrgX(d.getMinX()),x.setDeviceOrgY(d.getMinY()),x.setWorldOrgX(v.x),x.setWorldOrgY(v.y);for(var D=0;D<s.length;D++){var P=s[D];P.transform(x)}var F=new y(d.getMaxX(),d.getMaxY());return x.inverseTransformPoint(F)},O.branchRadialLayout=function(s,m,v,E,d,x){var D=(E-v+1)/2;D<0&&(D+=180);var P=(D+v)%360,F=P*S.TWO_PI/360,R=Math.cos(F),k=d*Math.cos(F),tt=d*Math.sin(F);s.setCenter(k,tt);var b=[];b=b.concat(s.getEdges());var _=b.length;m!=null&&_--;for(var $=0,A=b.length,Y,W=s.getEdgesBetween(m);W.length>1;){var K=W[0];W.splice(0,1);var st=b.indexOf(K);st>=0&&b.splice(st,1),A--,_--}m!=null?Y=(b.indexOf(W[0])+1)%A:Y=0;for(var Lt=Math.abs(E-v)/_,St=Y;$!=_;St=++St%A){var J=b[St].getOtherEnd(s);if(J!=m){var Ut=(v+$*Lt)%360,At=(Ut+Lt)%360;O.branchRadialLayout(J,s,Ut,At,d+x,x),$++}}},O.maxDiagonalInTree=function(s){for(var m=C.MIN_VALUE,v=0;v<s.length;v++){var E=s[v],d=E.getDiagonal();d>m&&(m=d)}return m},O.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},O.prototype.groupZeroDegreeMembers=function(){var s=this,m={};this.memberGroups={},this.idToDummyNode={};for(var v=[],E=this.graphManager.getAllNodes(),d=0;d<E.length;d++){var x=E[d],D=x.getParent();this.getNodeDegreeWithChildren(x)===0&&(D.id==null||!this.getToBeTiled(D))&&v.push(x)}for(var d=0;d<v.length;d++){var x=v[d],P=x.getParent().id;typeof m[P]>"u"&&(m[P]=[]),m[P]=m[P].concat(x)}Object.keys(m).forEach(function(F){if(m[F].length>1){var R="DummyCompound_"+F;s.memberGroups[R]=m[F];var k=m[F][0].getParent(),tt=new t(s.graphManager);tt.id=R,tt.paddingLeft=k.paddingLeft||0,tt.paddingRight=k.paddingRight||0,tt.paddingBottom=k.paddingBottom||0,tt.paddingTop=k.paddingTop||0,s.idToDummyNode[R]=tt;var b=s.getGraphManager().add(s.newGraph(),tt),_=k.getChild();_.add(tt);for(var $=0;$<m[F].length;$++){var A=m[F][$];_.remove(A),b.add(A)}}})},O.prototype.clearCompounds=function(){var s={},m={};this.performDFSOnCompounds();for(var v=0;v<this.compoundOrder.length;v++)m[this.compoundOrder[v].id]=this.compoundOrder[v],s[this.compoundOrder[v].id]=[].concat(this.compoundOrder[v].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[v].getChild()),this.compoundOrder[v].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(s,m)},O.prototype.clearZeroDegreeMembers=function(){var s=this,m=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(v){var E=s.idToDummyNode[v];if(m[v]=s.tileNodes(s.memberGroups[v],E.paddingLeft+E.paddingRight),E.rect.width=m[v].width,E.rect.height=m[v].height,E.setCenter(m[v].centerX,m[v].centerY),E.labelMarginLeft=0,E.labelMarginTop=0,h.NODE_DIMENSIONS_INCLUDE_LABELS){var d=E.rect.width,x=E.rect.height;E.labelWidth&&(E.labelPosHorizontal=="left"?(E.rect.x-=E.labelWidth,E.setWidth(d+E.labelWidth),E.labelMarginLeft=E.labelWidth):E.labelPosHorizontal=="center"&&E.labelWidth>d?(E.rect.x-=(E.labelWidth-d)/2,E.setWidth(E.labelWidth),E.labelMarginLeft=(E.labelWidth-d)/2):E.labelPosHorizontal=="right"&&E.setWidth(d+E.labelWidth)),E.labelHeight&&(E.labelPosVertical=="top"?(E.rect.y-=E.labelHeight,E.setHeight(x+E.labelHeight),E.labelMarginTop=E.labelHeight):E.labelPosVertical=="center"&&E.labelHeight>x?(E.rect.y-=(E.labelHeight-x)/2,E.setHeight(E.labelHeight),E.labelMarginTop=(E.labelHeight-x)/2):E.labelPosVertical=="bottom"&&E.setHeight(x+E.labelHeight))}})},O.prototype.repopulateCompounds=function(){for(var s=this.compoundOrder.length-1;s>=0;s--){var m=this.compoundOrder[s],v=m.id,E=m.paddingLeft,d=m.paddingTop,x=m.labelMarginLeft,D=m.labelMarginTop;this.adjustLocations(this.tiledMemberPack[v],m.rect.x,m.rect.y,E,d,x,D)}},O.prototype.repopulateZeroDegreeMembers=function(){var s=this,m=this.tiledZeroDegreePack;Object.keys(m).forEach(function(v){var E=s.idToDummyNode[v],d=E.paddingLeft,x=E.paddingTop,D=E.labelMarginLeft,P=E.labelMarginTop;s.adjustLocations(m[v],E.rect.x,E.rect.y,d,x,D,P)})},O.prototype.getToBeTiled=function(s){var m=s.id;if(this.toBeTiled[m]!=null)return this.toBeTiled[m];var v=s.getChild();if(v==null)return this.toBeTiled[m]=!1,!1;for(var E=v.getNodes(),d=0;d<E.length;d++){var x=E[d];if(this.getNodeDegree(x)>0)return this.toBeTiled[m]=!1,!1;if(x.getChild()==null){this.toBeTiled[x.id]=!1;continue}if(!this.getToBeTiled(x))return this.toBeTiled[m]=!1,!1}return this.toBeTiled[m]=!0,!0},O.prototype.getNodeDegree=function(s){for(var m=s.id,v=s.getEdges(),E=0,d=0;d<v.length;d++){var x=v[d];x.getSource().id!==x.getTarget().id&&(E=E+1)}return E},O.prototype.getNodeDegreeWithChildren=function(s){var m=this.getNodeDegree(s);if(s.getChild()==null)return m;for(var v=s.getChild().getNodes(),E=0;E<v.length;E++){var d=v[E];m+=this.getNodeDegreeWithChildren(d)}return m},O.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},O.prototype.fillCompexOrderByDFS=function(s){for(var m=0;m<s.length;m++){var v=s[m];v.getChild()!=null&&this.fillCompexOrderByDFS(v.getChild().getNodes()),this.getToBeTiled(v)&&this.compoundOrder.push(v)}},O.prototype.adjustLocations=function(s,m,v,E,d,x,D){m+=E+x,v+=d+D;for(var P=m,F=0;F<s.rows.length;F++){var R=s.rows[F];m=P;for(var k=0,tt=0;tt<R.length;tt++){var b=R[tt];b.rect.x=m,b.rect.y=v,m+=b.rect.width+s.horizontalPadding,b.rect.height>k&&(k=b.rect.height)}v+=k+s.verticalPadding}},O.prototype.tileCompoundMembers=function(s,m){var v=this;this.tiledMemberPack=[],Object.keys(s).forEach(function(E){var d=m[E];if(v.tiledMemberPack[E]=v.tileNodes(s[E],d.paddingLeft+d.paddingRight),d.rect.width=v.tiledMemberPack[E].width,d.rect.height=v.tiledMemberPack[E].height,d.setCenter(v.tiledMemberPack[E].centerX,v.tiledMemberPack[E].centerY),d.labelMarginLeft=0,d.labelMarginTop=0,h.NODE_DIMENSIONS_INCLUDE_LABELS){var x=d.rect.width,D=d.rect.height;d.labelWidth&&(d.labelPosHorizontal=="left"?(d.rect.x-=d.labelWidth,d.setWidth(x+d.labelWidth),d.labelMarginLeft=d.labelWidth):d.labelPosHorizontal=="center"&&d.labelWidth>x?(d.rect.x-=(d.labelWidth-x)/2,d.setWidth(d.labelWidth),d.labelMarginLeft=(d.labelWidth-x)/2):d.labelPosHorizontal=="right"&&d.setWidth(x+d.labelWidth)),d.labelHeight&&(d.labelPosVertical=="top"?(d.rect.y-=d.labelHeight,d.setHeight(D+d.labelHeight),d.labelMarginTop=d.labelHeight):d.labelPosVertical=="center"&&d.labelHeight>D?(d.rect.y-=(d.labelHeight-D)/2,d.setHeight(d.labelHeight),d.labelMarginTop=(d.labelHeight-D)/2):d.labelPosVertical=="bottom"&&d.setHeight(D+d.labelHeight))}})},O.prototype.tileNodes=function(s,m){var v=this.tileNodesByFavoringDim(s,m,!0),E=this.tileNodesByFavoringDim(s,m,!1),d=this.getOrgRatio(v),x=this.getOrgRatio(E),D;return x<d?D=E:D=v,D},O.prototype.getOrgRatio=function(s){var m=s.width,v=s.height,E=m/v;return E<1&&(E=1/E),E},O.prototype.calcIdealRowWidth=function(s,m){var v=h.TILING_PADDING_VERTICAL,E=h.TILING_PADDING_HORIZONTAL,d=s.length,x=0,D=0,P=0;s.forEach(function($){x+=$.getWidth(),D+=$.getHeight(),$.getWidth()>P&&(P=$.getWidth())});var F=x/d,R=D/d,k=Math.pow(v-E,2)+4*(F+E)*(R+v)*d,tt=(E-v+Math.sqrt(k))/(2*(F+E)),b;m?(b=Math.ceil(tt),b==tt&&b++):b=Math.floor(tt);var _=b*(F+E)-E;return P>_&&(_=P),_+=E*2,_},O.prototype.tileNodesByFavoringDim=function(s,m,v){var E=h.TILING_PADDING_VERTICAL,d=h.TILING_PADDING_HORIZONTAL,x=h.TILING_COMPARE_BY,D={rows:[],rowWidth:[],rowHeight:[],width:0,height:m,verticalPadding:E,horizontalPadding:d,centerX:0,centerY:0};x&&(D.idealRowWidth=this.calcIdealRowWidth(s,v));var P=function(A){return A.rect.width*A.rect.height},F=function(A,Y){return P(Y)-P(A)};s.sort(function($,A){var Y=F;return D.idealRowWidth?(Y=x,Y($.id,A.id)):Y($,A)});for(var R=0,k=0,tt=0;tt<s.length;tt++){var b=s[tt];R+=b.getCenterX(),k+=b.getCenterY()}D.centerX=R/s.length,D.centerY=k/s.length;for(var tt=0;tt<s.length;tt++){var b=s[tt];if(D.rows.length==0)this.insertNodeToRow(D,b,0,m);else if(this.canAddHorizontal(D,b.rect.width,b.rect.height)){var _=D.rows.length-1;D.idealRowWidth||(_=this.getShortestRowIndex(D)),this.insertNodeToRow(D,b,_,m)}else this.insertNodeToRow(D,b,D.rows.length,m);this.shiftToLastRow(D)}return D},O.prototype.insertNodeToRow=function(s,m,v,E){var d=E;if(v==s.rows.length){var x=[];s.rows.push(x),s.rowWidth.push(d),s.rowHeight.push(0)}var D=s.rowWidth[v]+m.rect.width;s.rows[v].length>0&&(D+=s.horizontalPadding),s.rowWidth[v]=D,s.width<D&&(s.width=D);var P=m.rect.height;v>0&&(P+=s.verticalPadding);var F=0;P>s.rowHeight[v]&&(F=s.rowHeight[v],s.rowHeight[v]=P,F=s.rowHeight[v]-F),s.height+=F,s.rows[v].push(m)},O.prototype.getShortestRowIndex=function(s){for(var m=-1,v=Number.MAX_VALUE,E=0;E<s.rows.length;E++)s.rowWidth[E]<v&&(m=E,v=s.rowWidth[E]);return m},O.prototype.getLongestRowIndex=function(s){for(var m=-1,v=Number.MIN_VALUE,E=0;E<s.rows.length;E++)s.rowWidth[E]>v&&(m=E,v=s.rowWidth[E]);return m},O.prototype.canAddHorizontal=function(s,m,v){if(s.idealRowWidth){var E=s.rows.length-1,d=s.rowWidth[E];return d+m+s.horizontalPadding<=s.idealRowWidth}var x=this.getShortestRowIndex(s);if(x<0)return!0;var D=s.rowWidth[x];if(D+s.horizontalPadding+m<=s.width)return!0;var P=0;s.rowHeight[x]<v&&x>0&&(P=v+s.verticalPadding-s.rowHeight[x]);var F;s.width-D>=m+s.horizontalPadding?F=(s.height+P)/(D+m+s.horizontalPadding):F=(s.height+P)/s.width,P=v+s.verticalPadding;var R;return s.width<m?R=(s.height+P)/m:R=(s.height+P)/s.width,R<1&&(R=1/R),F<1&&(F=1/F),F<R},O.prototype.shiftToLastRow=function(s){var m=this.getLongestRowIndex(s),v=s.rowWidth.length-1,E=s.rows[m],d=E[E.length-1],x=d.width+s.horizontalPadding;if(s.width-s.rowWidth[v]>x&&m!=v){E.splice(-1,1),s.rows[v].push(d),s.rowWidth[m]=s.rowWidth[m]-x,s.rowWidth[v]=s.rowWidth[v]+x,s.width=s.rowWidth[instance.getLongestRowIndex(s)];for(var D=Number.MIN_VALUE,P=0;P<E.length;P++)E[P].height>D&&(D=E[P].height);m>0&&(D+=s.verticalPadding);var F=s.rowHeight[m]+s.rowHeight[v];s.rowHeight[m]=D,s.rowHeight[v]<d.height+s.verticalPadding&&(s.rowHeight[v]=d.height+s.verticalPadding);var R=s.rowHeight[m]+s.rowHeight[v];s.height+=R-F,this.shiftToLastRow(s)}},O.prototype.tilingPreLayout=function(){h.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},O.prototype.tilingPostLayout=function(){h.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},O.prototype.reduceTrees=function(){for(var s=[],m=!0,v;m;){var E=this.graphManager.getAllNodes(),d=[];m=!1;for(var x=0;x<E.length;x++)if(v=E[x],v.getEdges().length==1&&!v.getEdges()[0].isInterGraph&&v.getChild()==null){if(h.PURE_INCREMENTAL){var D=v.getEdges()[0].getOtherEnd(v),P=new N(v.getCenterX()-D.getCenterX(),v.getCenterY()-D.getCenterY());d.push([v,v.getEdges()[0],v.getOwner(),P])}else d.push([v,v.getEdges()[0],v.getOwner()]);m=!0}if(m==!0){for(var F=[],R=0;R<d.length;R++)d[R][0].getEdges().length==1&&(F.push(d[R]),d[R][0].getOwner().remove(d[R][0]));s.push(F),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=s},O.prototype.growTree=function(s){for(var m=s.length,v=s[m-1],E,d=0;d<v.length;d++)E=v[d],this.findPlaceforPrunedNode(E),E[2].add(E[0]),E[2].add(E[1],E[1].source,E[1].target);s.splice(s.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},O.prototype.findPlaceforPrunedNode=function(s){var m,v,E=s[0];if(E==s[1].source?v=s[1].target:v=s[1].source,h.PURE_INCREMENTAL)E.setCenter(v.getCenterX()+s[3].getWidth(),v.getCenterY()+s[3].getHeight());else{var d=v.startX,x=v.finishX,D=v.startY,P=v.finishY,F=0,R=0,k=0,tt=0,b=[F,k,R,tt];if(D>0)for(var _=d;_<=x;_++)b[0]+=this.grid[_][D-1].length+this.grid[_][D].length-1;if(x<this.grid.length-1)for(var _=D;_<=P;_++)b[1]+=this.grid[x+1][_].length+this.grid[x][_].length-1;if(P<this.grid[0].length-1)for(var _=d;_<=x;_++)b[2]+=this.grid[_][P+1].length+this.grid[_][P].length-1;if(d>0)for(var _=D;_<=P;_++)b[3]+=this.grid[d-1][_].length+this.grid[d][_].length-1;for(var $=C.MAX_VALUE,A,Y,W=0;W<b.length;W++)b[W]<$?($=b[W],A=1,Y=W):b[W]==$&&A++;if(A==3&&$==0)b[0]==0&&b[1]==0&&b[2]==0?m=1:b[0]==0&&b[1]==0&&b[3]==0?m=0:b[0]==0&&b[2]==0&&b[3]==0?m=3:b[1]==0&&b[2]==0&&b[3]==0&&(m=2);else if(A==2&&$==0){var K=Math.floor(Math.random()*2);b[0]==0&&b[1]==0?K==0?m=0:m=1:b[0]==0&&b[2]==0?K==0?m=0:m=2:b[0]==0&&b[3]==0?K==0?m=0:m=3:b[1]==0&&b[2]==0?K==0?m=1:m=2:b[1]==0&&b[3]==0?K==0?m=1:m=3:K==0?m=2:m=3}else if(A==4&&$==0){var K=Math.floor(Math.random()*4);m=K}else m=Y;m==0?E.setCenter(v.getCenterX(),v.getCenterY()-v.getHeight()/2-l.DEFAULT_EDGE_LENGTH-E.getHeight()/2):m==1?E.setCenter(v.getCenterX()+v.getWidth()/2+l.DEFAULT_EDGE_LENGTH+E.getWidth()/2,v.getCenterY()):m==2?E.setCenter(v.getCenterX(),v.getCenterY()+v.getHeight()/2+l.DEFAULT_EDGE_LENGTH+E.getHeight()/2):E.setCenter(v.getCenterX()-v.getWidth()/2-l.DEFAULT_EDGE_LENGTH-E.getWidth()/2,v.getCenterY())}},a.exports=O}),991:((a,r,n)=>{var f=n(551).FDLayoutNode,i=n(551).IMath;function u(e,h,g,l){f.call(this,e,h,g,l)}u.prototype=Object.create(f.prototype);for(var t in f)u[t]=f[t];u.prototype.calculateDisplacement=function(){var e=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=e.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=e.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=e.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=e.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>e.coolingFactor*e.maxNodeDisplacement&&(this.displacementX=e.coolingFactor*e.maxNodeDisplacement*i.sign(this.displacementX)),Math.abs(this.displacementY)>e.coolingFactor*e.maxNodeDisplacement&&(this.displacementY=e.coolingFactor*e.maxNodeDisplacement*i.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},u.prototype.propogateDisplacementToChildren=function(e,h){for(var g=this.getChild().getNodes(),l,L=0;L<g.length;L++)l=g[L],l.getChild()==null?(l.displacementX+=e,l.displacementY+=h):l.propogateDisplacementToChildren(e,h)},u.prototype.move=function(){var e=this.graphManager.getLayout();(this.child==null||this.child.getNodes().length==0)&&(this.moveBy(this.displacementX,this.displacementY),e.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY)),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},u.prototype.setPred1=function(e){this.pred1=e},u.prototype.getPred1=function(){return pred1},u.prototype.getPred2=function(){return pred2},u.prototype.setNext=function(e){this.next=e},u.prototype.getNext=function(){return next},u.prototype.setProcessed=function(e){this.processed=e},u.prototype.isProcessed=function(){return processed},a.exports=u}),902:((a,r,n)=>{function f(g){if(Array.isArray(g)){for(var l=0,L=Array(g.length);l<g.length;l++)L[l]=g[l];return L}else return Array.from(g)}var i=n(806),u=n(551).LinkedList,t=n(551).Matrix,e=n(551).SVD;function h(){}h.handleConstraints=function(g){var l={};l.fixedNodeConstraint=g.constraints.fixedNodeConstraint,l.alignmentConstraint=g.constraints.alignmentConstraint,l.relativePlacementConstraint=g.constraints.relativePlacementConstraint;for(var L=new Map,p=new Map,y=[],N=[],I=g.getAllNodes(),C=0,S=0;S<I.length;S++){var X=I[S];X.getChild()==null&&(p.set(X.id,C++),y.push(X.getCenterX()),N.push(X.getCenterY()),L.set(X.id,X))}l.relativePlacementConstraint&&l.relativePlacementConstraint.forEach(function(U){!U.gap&&U.gap!=0&&(U.left?U.gap=i.DEFAULT_EDGE_LENGTH+L.get(U.left).getWidth()/2+L.get(U.right).getWidth()/2:U.gap=i.DEFAULT_EDGE_LENGTH+L.get(U.top).getHeight()/2+L.get(U.bottom).getHeight()/2)});var G=function(V,z){return{x:V.x-z.x,y:V.y-z.y}},Q=function(V){var z=0,B=0;return V.forEach(function(Z){z+=y[p.get(Z)],B+=N[p.get(Z)]}),{x:z/V.size,y:B/V.size}},O=function(V,z,B,Z,j){function ut(ot,it){var dt=new Set(ot),nt=!0,lt=!1,Ft=void 0;try{for(var xt=it[Symbol.iterator](),Vt;!(nt=(Vt=xt.next()).done);nt=!0){var Ot=Vt.value;dt.add(Ot)}}catch(Nt){lt=!0,Ft=Nt}finally{try{!nt&&xt.return&&xt.return()}finally{if(lt)throw Ft}}return dt}var ct=new Map;V.forEach(function(ot,it){ct.set(it,0)}),V.forEach(function(ot,it){ot.forEach(function(dt){ct.set(dt.id,ct.get(dt.id)+1)})});var q=new Map,ht=new Map,gt=new u;ct.forEach(function(ot,it){ot==0?(gt.push(it),B||(z=="horizontal"?q.set(it,p.has(it)?y[p.get(it)]:Z.get(it)):q.set(it,p.has(it)?N[p.get(it)]:Z.get(it)))):q.set(it,Number.NEGATIVE_INFINITY),B&&ht.set(it,new Set([it]))}),B&&j.forEach(function(ot){var it=[];if(ot.forEach(function(lt){B.has(lt)&&it.push(lt)}),it.length>0){var dt=0;it.forEach(function(lt){z=="horizontal"?(q.set(lt,p.has(lt)?y[p.get(lt)]:Z.get(lt)),dt+=q.get(lt)):(q.set(lt,p.has(lt)?N[p.get(lt)]:Z.get(lt)),dt+=q.get(lt))}),dt=dt/it.length,ot.forEach(function(lt){B.has(lt)||q.set(lt,dt)})}else{var nt=0;ot.forEach(function(lt){z=="horizontal"?nt+=p.has(lt)?y[p.get(lt)]:Z.get(lt):nt+=p.has(lt)?N[p.get(lt)]:Z.get(lt)}),nt=nt/ot.length,ot.forEach(function(lt){q.set(lt,nt)})}});for(var rt=function(){var it=gt.shift(),dt=V.get(it);dt.forEach(function(nt){if(q.get(nt.id)<q.get(it)+nt.gap)if(B&&B.has(nt.id)){var lt=void 0;if(z=="horizontal"?lt=p.has(nt.id)?y[p.get(nt.id)]:Z.get(nt.id):lt=p.has(nt.id)?N[p.get(nt.id)]:Z.get(nt.id),q.set(nt.id,lt),lt<q.get(it)+nt.gap){var Ft=q.get(it)+nt.gap-lt;ht.get(it).forEach(function(xt){q.set(xt,q.get(xt)-Ft)})}}else q.set(nt.id,q.get(it)+nt.gap);ct.set(nt.id,ct.get(nt.id)-1),ct.get(nt.id)==0&>.push(nt.id),B&&ht.set(nt.id,ut(ht.get(it),ht.get(nt.id)))})};gt.length!=0;)rt();if(B){var vt=new Set;V.forEach(function(ot,it){ot.length==0&&vt.add(it)});var Mt=[];ht.forEach(function(ot,it){if(vt.has(it)){var dt=!1,nt=!0,lt=!1,Ft=void 0;try{for(var xt=ot[Symbol.iterator](),Vt;!(nt=(Vt=xt.next()).done);nt=!0){var Ot=Vt.value;B.has(Ot)&&(dt=!0)}}catch(Rt){lt=!0,Ft=Rt}finally{try{!nt&&xt.return&&xt.return()}finally{if(lt)throw Ft}}if(!dt){var Nt=!1,Bt=void 0;Mt.forEach(function(Rt,Xt){Rt.has([].concat(f(ot))[0])&&(Nt=!0,Bt=Xt)}),Nt?ot.forEach(function(Rt){Mt[Bt].add(Rt)}):Mt.push(new Set(ot))}}}),Mt.forEach(function(ot,it){var dt=Number.POSITIVE_INFINITY,nt=Number.POSITIVE_INFINITY,lt=Number.NEGATIVE_INFINITY,Ft=Number.NEGATIVE_INFINITY,xt=!0,Vt=!1,Ot=void 0;try{for(var Nt=ot[Symbol.iterator](),Bt;!(xt=(Bt=Nt.next()).done);xt=!0){var Rt=Bt.value,Xt=void 0;z=="horizontal"?Xt=p.has(Rt)?y[p.get(Rt)]:Z.get(Rt):Xt=p.has(Rt)?N[p.get(Rt)]:Z.get(Rt);var zt=q.get(Rt);Xt<dt&&(dt=Xt),Xt>lt&&(lt=Xt),zt<nt&&(nt=zt),zt>Ft&&(Ft=zt)}}catch(_t){Vt=!0,Ot=_t}finally{try{!xt&&Nt.return&&Nt.return()}finally{if(Vt)throw Ot}}var ge=(dt+lt)/2-(nt+Ft)/2,qt=!0,Jt=!1,Kt=void 0;try{for(var Qt=ot[Symbol.iterator](),se;!(qt=(se=Qt.next()).done);qt=!0){var jt=se.value;q.set(jt,q.get(jt)+ge)}}catch(_t){Jt=!0,Kt=_t}finally{try{!qt&&Qt.return&&Qt.return()}finally{if(Jt)throw Kt}}})}return q},H=function(V){var z=0,B=0,Z=0,j=0;if(V.forEach(function(ht){ht.left?y[p.get(ht.left)]-y[p.get(ht.right)]>=0?z++:B++:N[p.get(ht.top)]-N[p.get(ht.bottom)]>=0?Z++:j++}),z>B&&Z>j)for(var ut=0;ut<p.size;ut++)y[ut]=-1*y[ut],N[ut]=-1*N[ut];else if(z>B)for(var ct=0;ct<p.size;ct++)y[ct]=-1*y[ct];else if(Z>j)for(var q=0;q<p.size;q++)N[q]=-1*N[q]},s=function(V){var z=[],B=new u,Z=new Set,j=0;return V.forEach(function(ut,ct){if(!Z.has(ct)){z[j]=[];var q=ct;for(B.push(q),Z.add(q),z[j].push(q);B.length!=0;){q=B.shift();var ht=V.get(q);ht.forEach(function(gt){Z.has(gt.id)||(B.push(gt.id),Z.add(gt.id),z[j].push(gt.id))})}j++}}),z},m=function(V){var z=new Map;return V.forEach(function(B,Z){z.set(Z,[])}),V.forEach(function(B,Z){B.forEach(function(j){z.get(Z).push(j),z.get(j.id).push({id:Z,gap:j.gap,direction:j.direction})})}),z},v=function(V){var z=new Map;return V.forEach(function(B,Z){z.set(Z,[])}),V.forEach(function(B,Z){B.forEach(function(j){z.get(j.id).push({id:Z,gap:j.gap,direction:j.direction})})}),z},E=[],d=[],x=!1,D=!1,P=new Set,F=new Map,R=new Map,k=[];if(l.fixedNodeConstraint&&l.fixedNodeConstraint.forEach(function(U){P.add(U.nodeId)}),l.relativePlacementConstraint&&(l.relativePlacementConstraint.forEach(function(U){U.left?(F.has(U.left)?F.get(U.left).push({id:U.right,gap:U.gap,direction:"horizontal"}):F.set(U.left,[{id:U.right,gap:U.gap,direction:"horizontal"}]),F.has(U.right)||F.set(U.right,[])):(F.has(U.top)?F.get(U.top).push({id:U.bottom,gap:U.gap,direction:"vertical"}):F.set(U.top,[{id:U.bottom,gap:U.gap,direction:"vertical"}]),F.has(U.bottom)||F.set(U.bottom,[]))}),R=m(F),k=s(R)),i.TRANSFORM_ON_CONSTRAINT_HANDLING){if(l.fixedNodeConstraint&&l.fixedNodeConstraint.length>1)l.fixedNodeConstraint.forEach(function(U,V){E[V]=[U.position.x,U.position.y],d[V]=[y[p.get(U.nodeId)],N[p.get(U.nodeId)]]}),x=!0;else if(l.alignmentConstraint)(function(){var U=0;if(l.alignmentConstraint.vertical){for(var V=l.alignmentConstraint.vertical,z=function(q){var ht=new Set;V[q].forEach(function(vt){ht.add(vt)});var gt=new Set([].concat(f(ht)).filter(function(vt){return P.has(vt)})),rt=void 0;gt.size>0?rt=y[p.get(gt.values().next().value)]:rt=Q(ht).x,V[q].forEach(function(vt){E[U]=[rt,N[p.get(vt)]],d[U]=[y[p.get(vt)],N[p.get(vt)]],U++})},B=0;B<V.length;B++)z(B);x=!0}if(l.alignmentConstraint.horizontal){for(var Z=l.alignmentConstraint.horizontal,j=function(q){var ht=new Set;Z[q].forEach(function(vt){ht.add(vt)});var gt=new Set([].concat(f(ht)).filter(function(vt){return P.has(vt)})),rt=void 0;gt.size>0?rt=y[p.get(gt.values().next().value)]:rt=Q(ht).y,Z[q].forEach(function(vt){E[U]=[y[p.get(vt)],rt],d[U]=[y[p.get(vt)],N[p.get(vt)]],U++})},ut=0;ut<Z.length;ut++)j(ut);x=!0}l.relativePlacementConstraint&&(D=!0)})();else if(l.relativePlacementConstraint){for(var tt=0,b=0,_=0;_<k.length;_++)k[_].length>tt&&(tt=k[_].length,b=_);if(tt<R.size/2)H(l.relativePlacementConstraint),x=!1,D=!1;else{var $=new Map,A=new Map,Y=[];k[b].forEach(function(U){F.get(U).forEach(function(V){V.direction=="horizontal"?($.has(U)?$.get(U).push(V):$.set(U,[V]),$.has(V.id)||$.set(V.id,[]),Y.push({left:U,right:V.id})):(A.has(U)?A.get(U).push(V):A.set(U,[V]),A.has(V.id)||A.set(V.id,[]),Y.push({top:U,bottom:V.id}))})}),H(Y),D=!1;var W=O($,"horizontal"),K=O(A,"vertical");k[b].forEach(function(U,V){d[V]=[y[p.get(U)],N[p.get(U)]],E[V]=[],W.has(U)?E[V][0]=W.get(U):E[V][0]=y[p.get(U)],K.has(U)?E[V][1]=K.get(U):E[V][1]=N[p.get(U)]}),x=!0}}if(x){for(var st=void 0,Lt=t.transpose(E),St=t.transpose(d),J=0;J<Lt.length;J++)Lt[J]=t.multGamma(Lt[J]),St[J]=t.multGamma(St[J]);var Ut=t.multMat(Lt,t.transpose(St)),At=e.svd(Ut);st=t.multMat(At.V,t.transpose(At.U));for(var at=0;at<p.size;at++){var et=[y[at],N[at]],pt=[st[0][0],st[1][0]],mt=[st[0][1],st[1][1]];y[at]=t.dotProduct(et,pt),N[at]=t.dotProduct(et,mt)}D&&H(l.relativePlacementConstraint)}}if(i.ENFORCE_CONSTRAINTS){if(l.fixedNodeConstraint&&l.fixedNodeConstraint.length>0){var wt={x:0,y:0};l.fixedNodeConstraint.forEach(function(U,V){var z={x:y[p.get(U.nodeId)],y:N[p.get(U.nodeId)]},B=U.position,Z=G(B,z);wt.x+=Z.x,wt.y+=Z.y}),wt.x/=l.fixedNodeConstraint.length,wt.y/=l.fixedNodeConstraint.length,y.forEach(function(U,V){y[V]+=wt.x}),N.forEach(function(U,V){N[V]+=wt.y}),l.fixedNodeConstraint.forEach(function(U){y[p.get(U.nodeId)]=U.position.x,N[p.get(U.nodeId)]=U.position.y})}if(l.alignmentConstraint){if(l.alignmentConstraint.vertical)for(var Et=l.alignmentConstraint.vertical,Tt=function(V){var z=new Set;Et[V].forEach(function(j){z.add(j)});var B=new Set([].concat(f(z)).filter(function(j){return P.has(j)})),Z=void 0;B.size>0?Z=y[p.get(B.values().next().value)]:Z=Q(z).x,z.forEach(function(j){P.has(j)||(y[p.get(j)]=Z)})},Dt=0;Dt<Et.length;Dt++)Tt(Dt);if(l.alignmentConstraint.horizontal)for(var It=l.alignmentConstraint.horizontal,Wt=function(V){var z=new Set;It[V].forEach(function(j){z.add(j)});var B=new Set([].concat(f(z)).filter(function(j){return P.has(j)})),Z=void 0;B.size>0?Z=N[p.get(B.values().next().value)]:Z=Q(z).y,z.forEach(function(j){P.has(j)||(N[p.get(j)]=Z)})},Pt=0;Pt<It.length;Pt++)Wt(Pt)}l.relativePlacementConstraint&&(function(){var U=new Map,V=new Map,z=new Map,B=new Map,Z=new Map,j=new Map,ut=new Set,ct=new Set;if(P.forEach(function(Gt){ut.add(Gt),ct.add(Gt)}),l.alignmentConstraint){if(l.alignmentConstraint.vertical)for(var q=l.alignmentConstraint.vertical,ht=function(yt){z.set("dummy"+yt,[]),q[yt].forEach(function(Ct){U.set(Ct,"dummy"+yt),z.get("dummy"+yt).push(Ct),P.has(Ct)&&ut.add("dummy"+yt)}),Z.set("dummy"+yt,y[p.get(q[yt][0])])},gt=0;gt<q.length;gt++)ht(gt);if(l.alignmentConstraint.horizontal)for(var rt=l.alignmentConstraint.horizontal,vt=function(yt){B.set("dummy"+yt,[]),rt[yt].forEach(function(Ct){V.set(Ct,"dummy"+yt),B.get("dummy"+yt).push(Ct),P.has(Ct)&&ct.add("dummy"+yt)}),j.set("dummy"+yt,N[p.get(rt[yt][0])])},Mt=0;Mt<rt.length;Mt++)vt(Mt)}var ot=new Map,it=new Map,dt=function(yt){F.get(yt).forEach(function(Ct){var Zt=void 0,$t=void 0;Ct.direction=="horizontal"?(Zt=U.get(yt)?U.get(yt):yt,U.get(Ct.id)?$t={id:U.get(Ct.id),gap:Ct.gap,direction:Ct.direction}:$t=Ct,ot.has(Zt)?ot.get(Zt).push($t):ot.set(Zt,[$t]),ot.has($t.id)||ot.set($t.id,[])):(Zt=V.get(yt)?V.get(yt):yt,V.get(Ct.id)?$t={id:V.get(Ct.id),gap:Ct.gap,direction:Ct.direction}:$t=Ct,it.has(Zt)?it.get(Zt).push($t):it.set(Zt,[$t]),it.has($t.id)||it.set($t.id,[]))})},nt=!0,lt=!1,Ft=void 0;try{for(var xt=F.keys()[Symbol.iterator](),Vt;!(nt=(Vt=xt.next()).done);nt=!0){var Ot=Vt.value;dt(Ot)}}catch(Gt){lt=!0,Ft=Gt}finally{try{!nt&&xt.return&&xt.return()}finally{if(lt)throw Ft}}var Nt=m(ot),Bt=m(it),Rt=s(Nt),Xt=s(Bt),zt=v(ot),ge=v(it),qt=[],Jt=[];Rt.forEach(function(Gt,yt){qt[yt]=[],Gt.forEach(function(Ct){zt.get(Ct).length==0&&qt[yt].push(Ct)})}),Xt.forEach(function(Gt,yt){Jt[yt]=[],Gt.forEach(function(Ct){ge.get(Ct).length==0&&Jt[yt].push(Ct)})});var Kt=O(ot,"horizontal",ut,Z,qt),Qt=O(it,"vertical",ct,j,Jt),se=function(yt){z.get(yt)?z.get(yt).forEach(function(Ct){y[p.get(Ct)]=Kt.get(yt)}):y[p.get(yt)]=Kt.get(yt)},jt=!0,_t=!1,Oe=void 0;try{for(var ue=Kt.keys()[Symbol.iterator](),xe;!(jt=(xe=ue.next()).done);jt=!0){var de=xe.value;se(de)}}catch(Gt){_t=!0,Oe=Gt}finally{try{!jt&&ue.return&&ue.return()}finally{if(_t)throw Oe}}var vr=function(yt){B.get(yt)?B.get(yt).forEach(function(Ct){N[p.get(Ct)]=Qt.get(yt)}):N[p.get(yt)]=Qt.get(yt)},ve=!0,Ie=!1,Re=void 0;try{for(var pe=Qt.keys()[Symbol.iterator](),Se;!(ve=(Se=pe.next()).done);ve=!0){var de=Se.value;vr(de)}}catch(Gt){Ie=!0,Re=Gt}finally{try{!ve&&pe.return&&pe.return()}finally{if(Ie)throw Re}}})()}for(var Yt=0;Yt<I.length;Yt++){var bt=I[Yt];bt.getChild()==null&&bt.setCenter(y[p.get(bt.id)],N[p.get(bt.id)])}},a.exports=h}),551:(a=>{a.exports=w})},T={};function c(a){var r=T[a];if(r!==void 0)return r.exports;var n=T[a]={exports:{}};return M[a](n,n.exports,c),n.exports}var o=c(45);return o})()})});var je=ye((ae,Me)=>{(function(M,T){typeof ae=="object"&&typeof Me=="object"?Me.exports=T(we()):typeof define=="function"&&define.amd?define(["cose-base"],T):typeof ae=="object"?ae.cytoscapeFcose=T(we()):M.cytoscapeFcose=T(M.coseBase)})(ae,function(w){return(()=>{"use strict";var M={658:(a=>{a.exports=Object.assign!=null?Object.assign.bind(Object):function(r){for(var n=arguments.length,f=Array(n>1?n-1:0),i=1;i<n;i++)f[i-1]=arguments[i];return f.forEach(function(u){Object.keys(u).forEach(function(t){return r[t]=u[t]})}),r}}),548:((a,r,n)=>{var f=(function(){function t(e,h){var g=[],l=!0,L=!1,p=void 0;try{for(var y=e[Symbol.iterator](),N;!(l=(N=y.next()).done)&&(g.push(N.value),!(h&&g.length===h));l=!0);}catch(I){L=!0,p=I}finally{try{!l&&y.return&&y.return()}finally{if(L)throw p}}return g}return function(e,h){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,h);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),i=n(140).layoutBase.LinkedList,u={};u.getTopMostNodes=function(t){for(var e={},h=0;h<t.length;h++)e[t[h].id()]=!0;var g=t.filter(function(l,L){typeof l=="number"&&(l=L);for(var p=l.parent()[0];p!=null;){if(e[p.id()])return!1;p=p.parent()[0]}return!0});return g},u.connectComponents=function(t,e,h,g){var l=new i,L=new Set,p=[],y=void 0,N=void 0,I=void 0,C=!1,S=1,X=[],G=[],Q=function(){var H=t.collection();G.push(H);var s=h[0],m=t.collection();m.merge(s).merge(s.descendants().intersection(e)),p.push(s),m.forEach(function(d){l.push(d),L.add(d),H.merge(d)});for(var v=function(){s=l.shift();var x=t.collection();s.neighborhood().nodes().forEach(function(R){e.intersection(s.edgesWith(R)).length>0&&x.merge(R)});for(var D=0;D<x.length;D++){var P=x[D];if(y=h.intersection(P.union(P.ancestors())),y!=null&&!L.has(y[0])){var F=y.union(y.descendants());F.forEach(function(R){l.push(R),L.add(R),H.merge(R),h.has(R)&&p.push(R)})}}};l.length!=0;)v();if(H.forEach(function(d){e.intersection(d.connectedEdges()).forEach(function(x){H.has(x.source())&&H.has(x.target())&&H.merge(x)})}),p.length==h.length&&(C=!0),!C||C&&S>1){N=p[0],I=N.connectedEdges().length,p.forEach(function(d){d.connectedEdges().length<I&&(I=d.connectedEdges().length,N=d)}),X.push(N.id());var E=t.collection();E.merge(p[0]),p.forEach(function(d){E.merge(d)}),p=[],h=h.difference(E),S++}};do Q();while(!C);return g&&X.length>0&&g.set("dummy"+(g.size+1),X),G},u.relocateComponent=function(t,e,h){if(!h.fixedNodeConstraint){var g=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,L=Number.POSITIVE_INFINITY,p=Number.NEGATIVE_INFINITY;if(h.quality=="draft"){var y=!0,N=!1,I=void 0;try{for(var C=e.nodeIndexes[Symbol.iterator](),S;!(y=(S=C.next()).done);y=!0){var X=S.value,G=f(X,2),Q=G[0],O=G[1],H=h.cy.getElementById(Q);if(H){var s=H.boundingBox(),m=e.xCoords[O]-s.w/2,v=e.xCoords[O]+s.w/2,E=e.yCoords[O]-s.h/2,d=e.yCoords[O]+s.h/2;m<g&&(g=m),v>l&&(l=v),E<L&&(L=E),d>p&&(p=d)}}}catch(R){N=!0,I=R}finally{try{!y&&C.return&&C.return()}finally{if(N)throw I}}var x=t.x-(l+g)/2,D=t.y-(p+L)/2;e.xCoords=e.xCoords.map(function(R){return R+x}),e.yCoords=e.yCoords.map(function(R){return R+D})}else{Object.keys(e).forEach(function(R){var k=e[R],tt=k.getRect().x,b=k.getRect().x+k.getRect().width,_=k.getRect().y,$=k.getRect().y+k.getRect().height;tt<g&&(g=tt),b>l&&(l=b),_<L&&(L=_),$>p&&(p=$)});var P=t.x-(l+g)/2,F=t.y-(p+L)/2;Object.keys(e).forEach(function(R){var k=e[R];k.setCenter(k.getCenterX()+P,k.getCenterY()+F)})}}},u.calcBoundingBox=function(t,e,h,g){for(var l=Number.MAX_SAFE_INTEGER,L=Number.MIN_SAFE_INTEGER,p=Number.MAX_SAFE_INTEGER,y=Number.MIN_SAFE_INTEGER,N=void 0,I=void 0,C=void 0,S=void 0,X=t.descendants().not(":parent"),G=X.length,Q=0;Q<G;Q++){var O=X[Q];N=e[g.get(O.id())]-O.width()/2,I=e[g.get(O.id())]+O.width()/2,C=h[g.get(O.id())]-O.height()/2,S=h[g.get(O.id())]+O.height()/2,l>N&&(l=N),L<I&&(L=I),p>C&&(p=C),y<S&&(y=S)}var H={};return H.topLeftX=l,H.topLeftY=p,H.width=L-l,H.height=y-p,H},u.calcParentsWithoutChildren=function(t,e){var h=t.collection();return e.nodes(":parent").forEach(function(g){var l=!1;g.children().forEach(function(L){L.css("display")!="none"&&(l=!0)}),l||h.merge(g)}),h},a.exports=u}),816:((a,r,n)=>{var f=n(548),i=n(140).CoSELayout,u=n(140).CoSENode,t=n(140).layoutBase.PointD,e=n(140).layoutBase.DimensionD,h=n(140).layoutBase.LayoutConstants,g=n(140).layoutBase.FDLayoutConstants,l=n(140).CoSEConstants,L=function(y,N){var I=y.cy,C=y.eles,S=C.nodes(),X=C.edges(),G=void 0,Q=void 0,O=void 0,H={};y.randomize&&(G=N.nodeIndexes,Q=N.xCoords,O=N.yCoords);var s=function(R){return typeof R=="function"},m=function(R,k){return s(R)?R(k):R},v=f.calcParentsWithoutChildren(I,C),E=function F(R,k,tt,b){for(var _=k.length,$=0;$<_;$++){var A=k[$],Y=null;A.intersection(v).length==0&&(Y=A.children());var W=void 0,K=A.layoutDimensions({nodeDimensionsIncludeLabels:b.nodeDimensionsIncludeLabels});if(A.outerWidth()!=null&&A.outerHeight()!=null)if(b.randomize)if(!A.isParent())W=R.add(new u(tt.graphManager,new t(Q[G.get(A.id())]-K.w/2,O[G.get(A.id())]-K.h/2),new e(parseFloat(K.w),parseFloat(K.h))));else{var st=f.calcBoundingBox(A,Q,O,G);A.intersection(v).length==0?W=R.add(new u(tt.graphManager,new t(st.topLeftX,st.topLeftY),new e(st.width,st.height))):W=R.add(new u(tt.graphManager,new t(st.topLeftX,st.topLeftY),new e(parseFloat(K.w),parseFloat(K.h))))}else W=R.add(new u(tt.graphManager,new t(A.position("x")-K.w/2,A.position("y")-K.h/2),new e(parseFloat(K.w),parseFloat(K.h))));else W=R.add(new u(this.graphManager));if(W.id=A.data("id"),W.nodeRepulsion=m(b.nodeRepulsion,A),W.paddingLeft=parseInt(A.css("padding")),W.paddingTop=parseInt(A.css("padding")),W.paddingRight=parseInt(A.css("padding")),W.paddingBottom=parseInt(A.css("padding")),b.nodeDimensionsIncludeLabels&&(W.labelWidth=A.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).w,W.labelHeight=A.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).h,W.labelPosVertical=A.css("text-valign"),W.labelPosHorizontal=A.css("text-halign")),H[A.data("id")]=W,isNaN(W.rect.x)&&(W.rect.x=0),isNaN(W.rect.y)&&(W.rect.y=0),Y!=null&&Y.length>0){var Lt=void 0;Lt=tt.getGraphManager().add(tt.newGraph(),W),F(Lt,Y,tt,b)}}},d=function(R,k,tt){for(var b=0,_=0,$=0;$<tt.length;$++){var A=tt[$],Y=H[A.data("source")],W=H[A.data("target")];if(Y&&W&&Y!==W&&Y.getEdgesBetween(W).length==0){var K=k.add(R.newEdge(),Y,W);K.id=A.id(),K.idealLength=m(y.idealEdgeLength,A),K.edgeElasticity=m(y.edgeElasticity,A),b+=K.idealLength,_++}}y.idealEdgeLength!=null&&(_>0?l.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=b/_:s(y.idealEdgeLength)?l.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=50:l.DEFAULT_EDGE_LENGTH=g.DEFAULT_EDGE_LENGTH=y.idealEdgeLength,l.MIN_REPULSION_DIST=g.MIN_REPULSION_DIST=g.DEFAULT_EDGE_LENGTH/10,l.DEFAULT_RADIAL_SEPARATION=g.DEFAULT_EDGE_LENGTH)},x=function(R,k){k.fixedNodeConstraint&&(R.constraints.fixedNodeConstraint=k.fixedNodeConstraint),k.alignmentConstraint&&(R.constraints.alignmentConstraint=k.alignmentConstraint),k.relativePlacementConstraint&&(R.constraints.relativePlacementConstraint=k.relativePlacementConstraint)};y.nestingFactor!=null&&(l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=g.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=y.nestingFactor),y.gravity!=null&&(l.DEFAULT_GRAVITY_STRENGTH=g.DEFAULT_GRAVITY_STRENGTH=y.gravity),y.numIter!=null&&(l.MAX_ITERATIONS=g.MAX_ITERATIONS=y.numIter),y.gravityRange!=null&&(l.DEFAULT_GRAVITY_RANGE_FACTOR=g.DEFAULT_GRAVITY_RANGE_FACTOR=y.gravityRange),y.gravityCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=g.DEFAULT_COMPOUND_GRAVITY_STRENGTH=y.gravityCompound),y.gravityRangeCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=g.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=y.gravityRangeCompound),y.initialEnergyOnIncremental!=null&&(l.DEFAULT_COOLING_FACTOR_INCREMENTAL=g.DEFAULT_COOLING_FACTOR_INCREMENTAL=y.initialEnergyOnIncremental),y.tilingCompareBy!=null&&(l.TILING_COMPARE_BY=y.tilingCompareBy),y.quality=="proof"?h.QUALITY=2:h.QUALITY=0,l.NODE_DIMENSIONS_INCLUDE_LABELS=g.NODE_DIMENSIONS_INCLUDE_LABELS=h.NODE_DIMENSIONS_INCLUDE_LABELS=y.nodeDimensionsIncludeLabels,l.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=h.DEFAULT_INCREMENTAL=!y.randomize,l.ANIMATE=g.ANIMATE=h.ANIMATE=y.animate,l.TILE=y.tile,l.TILING_PADDING_VERTICAL=typeof y.tilingPaddingVertical=="function"?y.tilingPaddingVertical.call():y.tilingPaddingVertical,l.TILING_PADDING_HORIZONTAL=typeof y.tilingPaddingHorizontal=="function"?y.tilingPaddingHorizontal.call():y.tilingPaddingHorizontal,l.DEFAULT_INCREMENTAL=g.DEFAULT_INCREMENTAL=h.DEFAULT_INCREMENTAL=!0,l.PURE_INCREMENTAL=!y.randomize,h.DEFAULT_UNIFORM_LEAF_NODE_SIZES=y.uniformNodeDimensions,y.step=="transformed"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!1),y.step=="enforced"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!1),y.step=="cose"&&(l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!1,l.APPLY_LAYOUT=!0),y.step=="all"&&(y.randomize?l.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:l.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,l.ENFORCE_CONSTRAINTS=!0,l.APPLY_LAYOUT=!0),y.fixedNodeConstraint||y.alignmentConstraint||y.relativePlacementConstraint?l.TREE_REDUCTION_ON_INCREMENTAL=!1:l.TREE_REDUCTION_ON_INCREMENTAL=!0;var D=new i,P=D.newGraphManager();return E(P.addRoot(),f.getTopMostNodes(S),D,y),d(D,P,X),x(D,y),D.runLayout(),H};a.exports={coseLayout:L}}),212:((a,r,n)=>{var f=(function(){function y(N,I){for(var C=0;C<I.length;C++){var S=I[C];S.enumerable=S.enumerable||!1,S.configurable=!0,"value"in S&&(S.writable=!0),Object.defineProperty(N,S.key,S)}}return function(N,I,C){return I&&y(N.prototype,I),C&&y(N,C),N}})();function i(y,N){if(!(y instanceof N))throw new TypeError("Cannot call a class as a function")}var u=n(658),t=n(548),e=n(657),h=e.spectralLayout,g=n(816),l=g.coseLayout,L=Object.freeze({quality:"default",randomize:!0,animate:!0,animationDuration:1e3,animationEasing:void 0,fit:!0,padding:30,nodeDimensionsIncludeLabels:!1,uniformNodeDimensions:!1,packComponents:!0,step:"all",samplingType:!0,sampleSize:25,nodeSeparation:75,piTol:1e-7,nodeRepulsion:function(N){return 4500},idealEdgeLength:function(N){return 50},edgeElasticity:function(N){return .45},nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,tilingCompareBy:void 0,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.3,fixedNodeConstraint:void 0,alignmentConstraint:void 0,relativePlacementConstraint:void 0,ready:function(){},stop:function(){}}),p=(function(){function y(N){i(this,y),this.options=u({},L,N)}return f(y,[{key:"run",value:function(){var I=this,C=this.options,S=C.cy,X=C.eles,G=[],Q=void 0,O=void 0,H=[],s=void 0,m=[];C.fixedNodeConstraint&&(!Array.isArray(C.fixedNodeConstraint)||C.fixedNodeConstraint.length==0)&&(C.fixedNodeConstraint=void 0),C.alignmentConstraint&&(C.alignmentConstraint.vertical&&(!Array.isArray(C.alignmentConstraint.vertical)||C.alignmentConstraint.vertical.length==0)&&(C.alignmentConstraint.vertical=void 0),C.alignmentConstraint.horizontal&&(!Array.isArray(C.alignmentConstraint.horizontal)||C.alignmentConstraint.horizontal.length==0)&&(C.alignmentConstraint.horizontal=void 0)),C.relativePlacementConstraint&&(!Array.isArray(C.relativePlacementConstraint)||C.relativePlacementConstraint.length==0)&&(C.relativePlacementConstraint=void 0);var v=C.fixedNodeConstraint||C.alignmentConstraint||C.relativePlacementConstraint;v&&(C.tile=!1,C.packComponents=!1);var E=void 0,d=!1;if(S.layoutUtilities&&C.packComponents&&(E=S.layoutUtilities("get"),E||(E=S.layoutUtilities()),d=!0),X.nodes().length>0)if(d){var P=t.getTopMostNodes(C.eles.nodes());if(s=t.connectComponents(S,C.eles,P),s.forEach(function(at){var et=at.boundingBox();m.push({x:et.x1+et.w/2,y:et.y1+et.h/2})}),C.randomize&&s.forEach(function(at){C.eles=at,G.push(h(C))}),C.quality=="default"||C.quality=="proof"){var F=S.collection();if(C.tile){var R=new Map,k=[],tt=[],b=0,_={nodeIndexes:R,xCoords:k,yCoords:tt},$=[];if(s.forEach(function(at,et){at.edges().length==0&&(at.nodes().forEach(function(pt,mt){F.merge(at.nodes()[mt]),pt.isParent()||(_.nodeIndexes.set(at.nodes()[mt].id(),b++),_.xCoords.push(at.nodes()[0].position().x),_.yCoords.push(at.nodes()[0].position().y))}),$.push(et))}),F.length>1){var A=F.boundingBox();m.push({x:A.x1+A.w/2,y:A.y1+A.h/2}),s.push(F),G.push(_);for(var Y=$.length-1;Y>=0;Y--)s.splice($[Y],1),G.splice($[Y],1),m.splice($[Y],1)}}s.forEach(function(at,et){C.eles=at,H.push(l(C,G[et])),t.relocateComponent(m[et],H[et],C)})}else s.forEach(function(at,et){t.relocateComponent(m[et],G[et],C)});var W=new Set;if(s.length>1){var K=[],st=X.filter(function(at){return at.css("display")=="none"});s.forEach(function(at,et){var pt=void 0;if(C.quality=="draft"&&(pt=G[et].nodeIndexes),at.nodes().not(st).length>0){var mt={};mt.edges=[],mt.nodes=[];var wt=void 0;at.nodes().not(st).forEach(function(Et){if(C.quality=="draft")if(!Et.isParent())wt=pt.get(Et.id()),mt.nodes.push({x:G[et].xCoords[wt]-Et.boundingbox().w/2,y:G[et].yCoords[wt]-Et.boundingbox().h/2,width:Et.boundingbox().w,height:Et.boundingbox().h});else{var Tt=t.calcBoundingBox(Et,G[et].xCoords,G[et].yCoords,pt);mt.nodes.push({x:Tt.topLeftX,y:Tt.topLeftY,width:Tt.width,height:Tt.height})}else H[et][Et.id()]&&mt.nodes.push({x:H[et][Et.id()].getLeft(),y:H[et][Et.id()].getTop(),width:H[et][Et.id()].getWidth(),height:H[et][Et.id()].getHeight()})}),at.edges().forEach(function(Et){var Tt=Et.source(),Dt=Et.target();if(Tt.css("display")!="none"&&Dt.css("display")!="none")if(C.quality=="draft"){var It=pt.get(Tt.id()),Wt=pt.get(Dt.id()),Pt=[],Yt=[];if(Tt.isParent()){var bt=t.calcBoundingBox(Tt,G[et].xCoords,G[et].yCoords,pt);Pt.push(bt.topLeftX+bt.width/2),Pt.push(bt.topLeftY+bt.height/2)}else Pt.push(G[et].xCoords[It]),Pt.push(G[et].yCoords[It]);if(Dt.isParent()){var U=t.calcBoundingBox(Dt,G[et].xCoords,G[et].yCoords,pt);Yt.push(U.topLeftX+U.width/2),Yt.push(U.topLeftY+U.height/2)}else Yt.push(G[et].xCoords[Wt]),Yt.push(G[et].yCoords[Wt]);mt.edges.push({startX:Pt[0],startY:Pt[1],endX:Yt[0],endY:Yt[1]})}else H[et][Tt.id()]&&H[et][Dt.id()]&&mt.edges.push({startX:H[et][Tt.id()].getCenterX(),startY:H[et][Tt.id()].getCenterY(),endX:H[et][Dt.id()].getCenterX(),endY:H[et][Dt.id()].getCenterY()})}),mt.nodes.length>0&&(K.push(mt),W.add(et))}});var Lt=E.packComponents(K,C.randomize).shifts;if(C.quality=="draft")G.forEach(function(at,et){var pt=at.xCoords.map(function(wt){return wt+Lt[et].dx}),mt=at.yCoords.map(function(wt){return wt+Lt[et].dy});at.xCoords=pt,at.yCoords=mt});else{var St=0;W.forEach(function(at){Object.keys(H[at]).forEach(function(et){var pt=H[at][et];pt.setCenter(pt.getCenterX()+Lt[St].dx,pt.getCenterY()+Lt[St].dy)}),St++})}}}else{var x=C.eles.boundingBox();if(m.push({x:x.x1+x.w/2,y:x.y1+x.h/2}),C.randomize){var D=h(C);G.push(D)}C.quality=="default"||C.quality=="proof"?(H.push(l(C,G[0])),t.relocateComponent(m[0],H[0],C)):t.relocateComponent(m[0],G[0],C)}var J=function(et,pt){if(C.quality=="default"||C.quality=="proof"){typeof et=="number"&&(et=pt);var mt=void 0,wt=void 0,Et=et.data("id");return H.forEach(function(Dt){Et in Dt&&(mt={x:Dt[Et].getRect().getCenterX(),y:Dt[Et].getRect().getCenterY()},wt=Dt[Et])}),C.nodeDimensionsIncludeLabels&&(wt.labelWidth&&(wt.labelPosHorizontal=="left"?mt.x+=wt.labelWidth/2:wt.labelPosHorizontal=="right"&&(mt.x-=wt.labelWidth/2)),wt.labelHeight&&(wt.labelPosVertical=="top"?mt.y+=wt.labelHeight/2:wt.labelPosVertical=="bottom"&&(mt.y-=wt.labelHeight/2))),mt==null&&(mt={x:et.position("x"),y:et.position("y")}),{x:mt.x,y:mt.y}}else{var Tt=void 0;return G.forEach(function(Dt){var It=Dt.nodeIndexes.get(et.id());It!=null&&(Tt={x:Dt.xCoords[It],y:Dt.yCoords[It]})}),Tt==null&&(Tt={x:et.position("x"),y:et.position("y")}),{x:Tt.x,y:Tt.y}}};if(C.quality=="default"||C.quality=="proof"||C.randomize){var Ut=t.calcParentsWithoutChildren(S,X),At=X.filter(function(at){return at.css("display")=="none"});C.eles=X.not(At),X.nodes().not(":parent").not(At).layoutPositions(I,C,J),Ut.length>0&&Ut.forEach(function(at){at.position(J(at))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),y})();a.exports=p}),657:((a,r,n)=>{var f=n(548),i=n(140).layoutBase.Matrix,u=n(140).layoutBase.SVD,t=function(h){var g=h.cy,l=h.eles,L=l.nodes(),p=l.nodes(":parent"),y=new Map,N=new Map,I=new Map,C=[],S=[],X=[],G=[],Q=[],O=[],H=[],s=[],m=void 0,v=void 0,E=1e8,d=1e-9,x=h.piTol,D=h.samplingType,P=h.nodeSeparation,F=void 0,R=function(){for(var z=0,B=0,Z=!1;B<F;){z=Math.floor(Math.random()*v),Z=!1;for(var j=0;j<B;j++)if(G[j]==z){Z=!0;break}if(!Z)G[B]=z,B++;else continue}},k=function(z,B,Z){for(var j=[],ut=0,ct=0,q=0,ht=void 0,gt=[],rt=0,vt=1,Mt=0;Mt<v;Mt++)gt[Mt]=E;for(j[ct]=z,gt[z]=0;ct>=ut;){q=j[ut++];for(var ot=C[q],it=0;it<ot.length;it++)ht=N.get(ot[it]),gt[ht]==E&&(gt[ht]=gt[q]+1,j[++ct]=ht);O[q][B]=gt[q]*P}if(Z){for(var dt=0;dt<v;dt++)O[dt][B]<Q[dt]&&(Q[dt]=O[dt][B]);for(var nt=0;nt<v;nt++)Q[nt]>rt&&(rt=Q[nt],vt=nt)}return vt},tt=function(z){var B=void 0;if(z){B=Math.floor(Math.random()*v),m=B;for(var j=0;j<v;j++)Q[j]=E;for(var ut=0;ut<F;ut++)G[ut]=B,B=k(B,ut,z)}else{R();for(var Z=0;Z<F;Z++)k(G[Z],Z,z,!1)}for(var ct=0;ct<v;ct++)for(var q=0;q<F;q++)O[ct][q]*=O[ct][q];for(var ht=0;ht<F;ht++)H[ht]=[];for(var gt=0;gt<F;gt++)for(var rt=0;rt<F;rt++)H[gt][rt]=O[G[rt]][gt]},b=function(){for(var z=u.svd(H),B=z.S,Z=z.U,j=z.V,ut=B[0]*B[0]*B[0],ct=[],q=0;q<F;q++){ct[q]=[];for(var ht=0;ht<F;ht++)ct[q][ht]=0,q==ht&&(ct[q][ht]=B[q]/(B[q]*B[q]+ut/(B[q]*B[q])))}s=i.multMat(i.multMat(j,ct),i.transpose(Z))},_=function(){for(var z=void 0,B=void 0,Z=[],j=[],ut=[],ct=[],q=0;q<v;q++)Z[q]=Math.random(),j[q]=Math.random();Z=i.normalize(Z),j=i.normalize(j);for(var ht=0,gt=d,rt=d,vt=void 0;;){ht++;for(var Mt=0;Mt<v;Mt++)ut[Mt]=Z[Mt];if(Z=i.multGamma(i.multL(i.multGamma(ut),O,s)),z=i.dotProduct(ut,Z),Z=i.normalize(Z),gt=i.dotProduct(ut,Z),vt=Math.abs(gt/rt),vt<=1+x&&vt>=1)break;rt=gt}for(var ot=0;ot<v;ot++)ut[ot]=Z[ot];for(ht=0,rt=d;;){ht++;for(var it=0;it<v;it++)ct[it]=j[it];if(ct=i.minusOp(ct,i.multCons(ut,i.dotProduct(ut,ct))),j=i.multGamma(i.multL(i.multGamma(ct),O,s)),B=i.dotProduct(ct,j),j=i.normalize(j),gt=i.dotProduct(ct,j),vt=Math.abs(gt/rt),vt<=1+x&&vt>=1)break;rt=gt}for(var dt=0;dt<v;dt++)ct[dt]=j[dt];S=i.multCons(ut,Math.sqrt(Math.abs(z))),X=i.multCons(ct,Math.sqrt(Math.abs(B)))};f.connectComponents(g,l,f.getTopMostNodes(L),y),p.forEach(function(V){f.connectComponents(g,l,f.getTopMostNodes(V.descendants().intersection(l)),y)});for(var $=0,A=0;A<L.length;A++)L[A].isParent()||N.set(L[A].id(),$++);var Y=!0,W=!1,K=void 0;try{for(var st=y.keys()[Symbol.iterator](),Lt;!(Y=(Lt=st.next()).done);Y=!0){var St=Lt.value;N.set(St,$++)}}catch(V){W=!0,K=V}finally{try{!Y&&st.return&&st.return()}finally{if(W)throw K}}for(var J=0;J<N.size;J++)C[J]=[];p.forEach(function(V){for(var z=V.children().intersection(l);z.nodes(":childless").length==0;)z=z.nodes()[0].children().intersection(l);var B=0,Z=z.nodes(":childless")[0].connectedEdges().length;z.nodes(":childless").forEach(function(j,ut){j.connectedEdges().length<Z&&(Z=j.connectedEdges().length,B=ut)}),I.set(V.id(),z.nodes(":childless")[B].id())}),L.forEach(function(V){var z=void 0;V.isParent()?z=N.get(I.get(V.id())):z=N.get(V.id()),V.neighborhood().nodes().forEach(function(B){l.intersection(V.edgesWith(B)).length>0&&(B.isParent()?C[z].push(I.get(B.id())):C[z].push(B.id()))})});var Ut=function(z){var B=N.get(z),Z=void 0;y.get(z).forEach(function(j){g.getElementById(j).isParent()?Z=I.get(j):Z=j,C[B].push(Z),C[N.get(Z)].push(z)})},At=!0,at=!1,et=void 0;try{for(var pt=y.keys()[Symbol.iterator](),mt;!(At=(mt=pt.next()).done);At=!0){var wt=mt.value;Ut(wt)}}catch(V){at=!0,et=V}finally{try{!At&&pt.return&&pt.return()}finally{if(at)throw et}}v=N.size;var Et=void 0;if(v>2){F=v<h.sampleSize?v:h.sampleSize;for(var Tt=0;Tt<v;Tt++)O[Tt]=[];for(var Dt=0;Dt<F;Dt++)s[Dt]=[];return h.quality=="draft"||h.step=="all"?(tt(D),b(),_(),Et={nodeIndexes:N,xCoords:S,yCoords:X}):(N.forEach(function(V,z){S.push(g.getElementById(z).position("x")),X.push(g.getElementById(z).position("y"))}),Et={nodeIndexes:N,xCoords:S,yCoords:X}),Et}else{var It=N.keys(),Wt=g.getElementById(It.next().value),Pt=Wt.position(),Yt=Wt.outerWidth();if(S.push(Pt.x),X.push(Pt.y),v==2){var bt=g.getElementById(It.next().value),U=bt.outerWidth();S.push(Pt.x+Yt/2+U/2+h.idealEdgeLength),X.push(Pt.y)}return Et={nodeIndexes:N,xCoords:S,yCoords:X},Et}};a.exports={spectralLayout:t}}),579:((a,r,n)=>{var f=n(212),i=function(t){t&&t("layout","fcose",f)};typeof cytoscape<"u"&&i(cytoscape),a.exports=i}),140:(a=>{a.exports=w})},T={};function c(a){var r=T[a];if(r!==void 0)return r.exports;var n=T[a]={exports:{}};return M[a](n,n.exports,c),n.exports}var o=c(579);return o})()})});var or=pr(je(),1);var _e={L:"left",R:"right",T:"top",B:"bottom"},tr={L:ft(w=>`${w},${w/2} 0,${w} 0,0`,"L"),R:ft(w=>`0,${w/2} ${w},0 ${w},${w}`,"R"),T:ft(w=>`0,0 ${w},0 ${w/2},${w}`,"T"),B:ft(w=>`${w/2},0 ${w},${w} 0,${w}`,"B")},ce={L:ft((w,M)=>w-M+2,"L"),R:ft((w,M)=>w-2,"R"),T:ft((w,M)=>w-M+2,"T"),B:ft((w,M)=>w-2,"B")},yr=ft(function(w){return Ht(w)?w==="L"?"R":"L":w==="T"?"B":"T"},"getOppositeArchitectureDirection"),er=ft(function(w){let M=w;return M==="L"||M==="R"||M==="T"||M==="B"},"isArchitectureDirection"),Ht=ft(function(w){let M=w;return M==="L"||M==="R"},"isArchitectureDirectionX"),kt=ft(function(w){let M=w;return M==="T"||M==="B"},"isArchitectureDirectionY"),De=ft(function(w,M){let T=Ht(w)&&kt(M),c=kt(w)&&Ht(M);return T||c},"isArchitectureDirectionXY"),mr=ft(function(w){let M=w[0],T=w[1],c=Ht(M)&&kt(T),o=kt(M)&&Ht(T);return c||o},"isArchitecturePairXY"),Er=ft(function(w){return w!=="LL"&&w!=="RR"&&w!=="TT"&&w!=="BB"},"isValidArchitectureDirectionPair"),Ce=ft(function(w,M){let T=`${w}${M}`;return Er(T)?T:void 0},"getArchitectureDirectionPair"),Tr=ft(function([w,M],T){let c=T[0],o=T[1];return Ht(c)?kt(o)?[w+(c==="L"?-1:1),M+(o==="T"?1:-1)]:[w+(c==="L"?-1:1),M]:Ht(o)?[w+(o==="L"?1:-1),M+(c==="T"?1:-1)]:[w,M+(c==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),Nr=ft(function(w){return w==="LT"||w==="TL"?[1,1]:w==="BL"||w==="LB"?[1,-1]:w==="BR"||w==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),Lr=ft(function(w,M){return De(w,M)?"bend":Ht(w)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),wr=ft(function(w){return w.type==="service"},"isArchitectureService"),Mr=ft(function(w){return w.type==="junction"},"isArchitectureJunction"),rr=ft((w,M)=>{let[T,c]=[w,M].sort();return`${JSON.stringify(T)}-${JSON.stringify(c)}`},"architectureGroupAlignmentKey"),ir=ft(w=>w.data(),"edgeData"),ee=ft(w=>w.data(),"nodeData"),Cr=Fe.architecture,re,nr=(re=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=Ye,this.getAccTitle=Xe,this.setDiagramTitle=Ve,this.getDiagramTitle=ze,this.getAccDescription=We,this.setAccDescription=He,this.clear()}setDiagramId(M){this.diagramId=M}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",Ue()}addService({id:M,icon:T,in:c,title:o,iconText:a}){if(this.registeredIds.has(M))throw new Error(`The service id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(c!==void 0){if(M===c)throw new Error(`The service [${M}] cannot be placed within itself`);if(!this.registeredIds.has(c))throw new Error(`The service [${M}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds.get(c)==="node")throw new Error(`The service [${M}]'s parent is not a group`)}this.registeredIds.set(M,"node"),this.nodes.set(M,{id:M,type:"service",icon:T,iconText:a,title:o,edges:[],in:c})}getServices(){return[...this.nodes.values()].filter(wr)}addJunction({id:M,in:T}){if(this.registeredIds.has(M))throw new Error(`The junction id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(T!==void 0){if(M===T)throw new Error(`The junction [${M}] cannot be placed within itself`);if(!this.registeredIds.has(T))throw new Error(`The junction [${M}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds.get(T)==="node")throw new Error(`The junction [${M}]'s parent is not a group`)}this.registeredIds.set(M,"node"),this.nodes.set(M,{id:M,type:"junction",edges:[],in:T})}getJunctions(){return[...this.nodes.values()].filter(Mr)}getNodes(){return[...this.nodes.values()]}getNode(M){return this.nodes.get(M)??null}addGroup({id:M,icon:T,in:c,title:o}){if(this.registeredIds.has(M))throw new Error(`The group id [${M}] is already in use by another ${this.registeredIds.get(M)}`);if(c!==void 0){if(M===c)throw new Error(`The group [${M}] cannot be placed within itself`);if(!this.registeredIds.has(c))throw new Error(`The group [${M}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds.get(c)==="node")throw new Error(`The group [${M}]'s parent is not a group`)}this.registeredIds.set(M,"group"),this.groups.set(M,{id:M,icon:T,title:o,in:c})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:M,rhsId:T,lhsDir:c,rhsDir:o,lhsInto:a,rhsInto:r,lhsGroup:n,rhsGroup:f,title:i}){if(!er(c))throw new Error(`Invalid direction given for left hand side of edge ${M}--${T}. Expected (L,R,T,B) got ${String(c)}`);if(!er(o))throw new Error(`Invalid direction given for right hand side of edge ${M}--${T}. Expected (L,R,T,B) got ${String(o)}`);if(!this.nodes.has(M)&&!this.groups.has(M))throw new Error(`The left-hand id [${M}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(T)&&!this.groups.has(T))throw new Error(`The right-hand id [${T}] does not yet exist. Please create the service/group before declaring an edge to it.`);let u=this.nodes.get(M).in,t=this.nodes.get(T).in;if(n&&u&&t&&u==t)throw new Error(`The left-hand id [${M}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(f&&u&&t&&u==t)throw new Error(`The right-hand id [${T}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);let e={lhsId:M,lhsDir:c,lhsInto:a,lhsGroup:n,rhsId:T,rhsDir:o,rhsInto:r,rhsGroup:f,title:i};this.edges.push(e);let h=this.nodes.get(M),g=this.nodes.get(T);h&&g&&(h.edges.push(this.edges[this.edges.length-1]),g.edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}addLayoutHint(M){if(M.members.length<2)throw new Error(`An align directive requires at least two members; got ${M.members.length}`);let T=new Set;M.members.forEach(c=>{if(this.registeredIds.get(c)!=="node")throw new Error(`align ${M.direction} references [${c}], which is not a service or junction`);if(T.has(c))throw new Error(`align ${M.direction} lists [${c}] more than once`);T.add(c)}),this.layoutHints.push(M)}getLayoutHints(){return this.layoutHints}getDataStructures(){if(this.dataStructures===void 0){let M=new Map,T=new Map;for(let[n,f]of this.nodes.entries()){let i=new Map;for(let u of f.edges){let t=this.getNode(u.lhsId)?.in,e=this.getNode(u.rhsId)?.in;if(t&&e&&t!==e){let h=Lr(u.lhsDir,u.rhsDir);h!=="bend"&&M.set(rr(t,e),h)}if(u.lhsId===n){let h=Ce(u.lhsDir,u.rhsDir);h&&i.set(h,u.rhsId)}else{let h=Ce(u.rhsDir,u.lhsDir);h&&i.set(h,u.lhsId)}}T.set(n,i)}let c=new Set,o=new Set(T.keys()),a=ft(n=>{let f=new Map([[n,[0,0]]]),i=[n];for(;i.length>0;){let u=i.shift();if(u){c.add(u),o.delete(u);let t=T.get(u);if(!t)throw new Error(`BFS error: adjacency list for id ${u} not found. Please report this as a bug.`);let e=f.get(u);if(!e)throw new Error(`BFS error: position for id ${u} not found in spatial map. Please report this as a bug.`);let[h,g]=e;t.forEach((l,L)=>{c.has(l)||(f.set(l,Tr([h,g],L)),i.push(l))})}}return f},"BFS"),r=[];for(;o.size>0;){let n=o.values().next().value;r.push(a(n))}this.dataStructures={adjList:T,spatialMaps:r,groupAlignments:M}}return this.dataStructures}setElementForId(M,T){this.elements.set(M,T)}getElementById(M){return this.elements.get(M)}getConfig(){return qe({...Cr,...be().architecture})}getConfigField(M){return this.getConfig()[M]}},ft(re,"ArchitectureDB"),re),Ar=ft((w,M)=>{Je(w,M),w.groups.map(T=>M.addGroup(T)),w.services.map(T=>M.addService({...T,type:"service"})),w.junctions.map(T=>M.addJunction({...T,type:"junction"})),w.edges.map(T=>M.addEdge(T)),w.alignments?.map(T=>M.addLayoutHint({direction:T.direction,members:[...T.members]}))},"populateDb"),ar={parser:{yy:void 0},parse:ft(async w=>{let M=await Ke("architecture",w);me.debug(M);let T=ar.parser?.yy;if(!(T instanceof nr))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Ar(M,T)},"parse")},Dr=ft(w=>`
|
|
2
|
+
.edge {
|
|
3
|
+
stroke-width: ${w.archEdgeWidth};
|
|
4
|
+
stroke: ${w.archEdgeColor};
|
|
5
|
+
fill: none;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.arrow {
|
|
9
|
+
fill: ${w.archEdgeArrowColor};
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.node-bkg {
|
|
13
|
+
fill: none;
|
|
14
|
+
stroke: ${w.archGroupBorderColor};
|
|
15
|
+
stroke-width: ${w.archGroupBorderWidth};
|
|
16
|
+
stroke-dasharray: 8;
|
|
17
|
+
}
|
|
18
|
+
.node-icon-text {
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.node-icon-text > div {
|
|
24
|
+
color: #fff;
|
|
25
|
+
margin: 1px;
|
|
26
|
+
height: fit-content;
|
|
27
|
+
text-align: center;
|
|
28
|
+
overflow: hidden;
|
|
29
|
+
display: -webkit-box;
|
|
30
|
+
-webkit-box-orient: vertical;
|
|
31
|
+
}
|
|
32
|
+
`,"getStyles"),Or=Dr;function Ae(w,M){if(w===0)return M();let T=Math.random,c=w>>>0;Math.random=function(){c=c+1831565813>>>0;let o=c;return o=Math.imul(o^o>>>15,o|1),o^=o+Math.imul(o^o>>>7,o|61),((o^o>>>14)>>>0)/4294967296};try{return M()}finally{Math.random=T}}ft(Ae,"withSeededRandom");var te=ft(w=>`<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>${w}</g>`,"wrapIcon"),oe={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:te('<path id="b" data-name="4" d="m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="c" data-name="3" d="m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="d" data-name="2" d="m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse id="e" data-name="1" cx="40" cy="22.14" rx="20" ry="7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="20" y1="57.86" x2="20" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="60" y1="57.86" x2="60" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},server:{body:te('<rect x="17.5" y="17.5" width="45" height="45" rx="2" ry="2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="32.5" x2="62.5" y2="32.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="47.5" x2="62.5" y2="47.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><g><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g>')},disk:{body:te('<rect x="20" y="15" width="40" height="50" rx="1" ry="1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="14" ry="14.58" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="4" ry="4.17" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z" style="fill: #fff; stroke-width: 0px;"/>')},internet:{body:te('<circle cx="40" cy="40" r="22.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="40" y1="17.5" x2="40" y2="62.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="40" x2="62.5" y2="40" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="30.1" x2="60.25" y2="30.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="49.9" x2="60.25" y2="49.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},cloud:{body:te('<path d="m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},unknown:Ze,blank:{body:te("")}}},xr=ft(async function(w,M,T,c){let o=T.getConfigField("padding"),a=T.getConfigField("iconSize"),r=a/2,n=a/6,f=n/2;await Promise.all(M.edges().map(async i=>{let{source:u,sourceDir:t,sourceArrow:e,sourceGroup:h,target:g,targetDir:l,targetArrow:L,targetGroup:p,label:y}=ir(i),{x:N,y:I}=i[0].sourceEndpoint(),{x:C,y:S}=i[0].midpoint(),{x:X,y:G}=i[0].targetEndpoint(),Q=o+4;if(h&&(Ht(t)?N+=t==="L"?-Q:Q:I+=t==="T"?-Q:Q+18),p&&(Ht(l)?X+=l==="L"?-Q:Q:G+=l==="T"?-Q:Q+18),!h&&T.getNode(u)?.type==="junction"&&(Ht(t)?N+=t==="L"?r:-r:I+=t==="T"?r:-r),!p&&T.getNode(g)?.type==="junction"&&(Ht(l)?X+=l==="L"?r:-r:G+=l==="T"?r:-r),i[0]._private.rscratch){let O=w.insert("g");if(O.insert("path").attr("d",`M ${N},${I} L ${C},${S} L${X},${G} `).attr("class","edge").attr("id",`${c}-${Qe(u,g,{prefix:"L"})}`),e){let H=Ht(t)?ce[t](N,n):N-f,s=kt(t)?ce[t](I,n):I-f;O.insert("polygon").attr("points",tr[t](n)).attr("transform",`translate(${H},${s})`).attr("class","arrow")}if(L){let H=Ht(l)?ce[l](X,n):X-f,s=kt(l)?ce[l](G,n):G-f;O.insert("polygon").attr("points",tr[l](n)).attr("transform",`translate(${H},${s})`).attr("class","arrow")}if(y){let H=De(t,l)?"XY":Ht(t)?"X":"Y",s=0;H==="X"?s=Math.abs(N-X):H==="Y"?s=Math.abs(I-G)/1.5:s=Math.abs(N-X)/2;let m=O.append("g");if(await fe(m,y,{useHtmlLabels:!1,width:s,classes:"architecture-service-label"},he()),m.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),H==="X")m.attr("transform","translate("+C+", "+S+")");else if(H==="Y")m.attr("transform","translate("+C+", "+S+") rotate(-90)");else if(H==="XY"){let v=Ce(t,l);if(v&&mr(v)){let E=m.node().getBoundingClientRect(),[d,x]=Nr(v);m.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*d*x*45})`);let D=m.node().getBoundingClientRect();m.attr("transform",`
|
|
33
|
+
translate(${C}, ${S-E.height/2})
|
|
34
|
+
translate(${d*D.width/2}, ${x*D.height/2})
|
|
35
|
+
rotate(${-1*d*x*45}, 0, ${E.height/2})
|
|
36
|
+
`)}}}}}))},"drawEdges"),Ir=ft(async function(w,M,T,c){let a=T.getConfigField("padding")*.75,r=T.getConfigField("fontSize"),f=T.getConfigField("iconSize")/2;await Promise.all(M.nodes().map(async i=>{let u=ee(i);if(u.type==="group"){let{h:t,w:e,x1:h,y1:g}=i.boundingBox(),l=w.append("rect");l.attr("id",`${c}-group-${u.id}`).attr("x",h+f).attr("y",g+f).attr("width",e).attr("height",t).attr("class","node-bkg");let L=w.append("g"),p=h,y=g;if(u.icon){let N=L.append("g");N.html(`<g>${await le(u.icon,{height:a,width:a,fallbackPrefix:oe.prefix})}</g>`),N.attr("transform","translate("+(p+f+1)+", "+(y+f+1)+")"),p+=a,y+=r/2-1-2}if(u.label){let N=L.append("g");await fe(N,u.label,{useHtmlLabels:!1,width:e,classes:"architecture-service-label"},he()),N.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),N.attr("transform","translate("+(p+f+4)+", "+(y+f+2)+")")}T.setElementForId(u.id,l)}}))},"drawGroups"),Rr=ft(async function(w,M,T,c){let o=he();for(let a of T){let r=M.append("g"),n=w.getConfigField("iconSize");if(a.title){let t=r.append("g");await fe(t,a.title,{useHtmlLabels:!1,width:n*1.5,classes:"architecture-service-label"},o),t.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),t.attr("transform","translate("+n/2+", "+n+")")}let f=r.append("g");if(a.icon)f.html(`<g>${await le(a.icon,{height:n,width:n,fallbackPrefix:oe.prefix})}</g>`);else if(a.iconText){f.html(`<g>${await le("blank",{height:n,width:n,fallbackPrefix:oe.prefix})}</g>`);let h=f.append("g").append("foreignObject").attr("width",n).attr("height",n).append("div").attr("class","node-icon-text").attr("style",`height: ${n}px;`).append("div").html(Pe(a.iconText,o)),g=parseInt(window.getComputedStyle(h.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;h.attr("style",`-webkit-line-clamp: ${Math.floor((n-2)/g)};`)}else f.append("path").attr("class","node-bkg").attr("id",`${c}-node-${a.id}`).attr("d",`M0,${n} V5 Q0,0 5,0 H${n-5} Q${n},0 ${n},5 V${n} Z`);r.attr("id",`${c}-service-${a.id}`).attr("class","architecture-service");let{width:i,height:u}=r.node().getBBox();a.width=i,a.height=u,w.setElementForId(a.id,r)}return 0},"drawServices"),Sr=ft(function(w,M,T,c){T.forEach(o=>{let a=M.append("g"),r=w.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${c}-node-${o.id}`).attr("fill-opacity","0").attr("width",r).attr("height",r),a.attr("class","architecture-junction");let{width:f,height:i}=a._groups[0][0].getBBox();a.width=f,a.height=i,w.setElementForId(o.id,a)})},"drawJunctions");ke([{name:oe.prefix,icons:oe}]);Ee.use(or.default);function sr(w,M,T){w.forEach(c=>{M.add({group:"nodes",data:{type:"service",id:c.id,icon:c.icon,label:c.title,parent:c.in,width:T.getConfigField("iconSize"),height:T.getConfigField("iconSize")},classes:"node-service"})})}ft(sr,"addServices");function hr(w,M,T){w.forEach(c=>{M.add({group:"nodes",data:{type:"junction",id:c.id,parent:c.in,width:T.getConfigField("iconSize"),height:T.getConfigField("iconSize")},classes:"node-junction"})})}ft(hr,"addJunctions");function lr(w,M){M.nodes().map(T=>{let c=ee(T);if(c.type==="group")return;c.x=T.position().x,c.y=T.position().y,w.getElementById(c.id).attr("transform","translate("+(c.x||0)+","+(c.y||0)+")")})}ft(lr,"positionNodes");function fr(w,M){w.forEach(T=>{M.add({group:"nodes",data:{type:"group",id:T.id,icon:T.icon,label:T.title,parent:T.in},classes:"node-group"})})}ft(fr,"addGroups");function cr(w,M){w.forEach(T=>{let{lhsId:c,rhsId:o,lhsInto:a,lhsGroup:r,rhsInto:n,lhsDir:f,rhsDir:i,rhsGroup:u,title:t}=T,e=De(T.lhsDir,T.rhsDir)?"segments":"straight",h={id:`${c}-${o}`,label:t,source:c,sourceDir:f,sourceArrow:a,sourceGroup:r,sourceEndpoint:f==="L"?"0 50%":f==="R"?"100% 50%":f==="T"?"50% 0":"50% 100%",target:o,targetDir:i,targetArrow:n,targetGroup:u,targetEndpoint:i==="L"?"0 50%":i==="R"?"100% 50%":i==="T"?"50% 0":"50% 100%"};M.add({group:"edges",data:h,classes:e})})}ft(cr,"addEdges");function gr(w,M,T,c=[]){let o=ft((e,h)=>{let g=new Map;for(let[l,L]of e.entries()){let p=`${l}`,y=0,N=[...L.entries()];if(N.length===1){g.set(p,N[0][1]);continue}for(let I=0;I<N.length-1;I++)for(let C=I+1;C<N.length;C++){let[S,X]=N[I],[G,Q]=N[C];if(T.get(rr(S,G))===h)g.set(p,[...g.get(p)??[],...X,...Q]);else if(S==="default"||G==="default")g.set(p,[...g.get(p)??[],...X,...Q]);else{let H=`${p}-${y++}`;g.set(H,X);let s=`${p}-${y++}`;g.set(s,Q)}}}return g},"flattenAlignments"),a=M.map(e=>{let h=new Map,g=new Map;return e.forEach(([l,L],p)=>{let y=w.getNode(p)?.in??"default",N=h.get(L)??new Map;h.has(L)||h.set(L,N);let I=g.get(l)??new Map;g.has(l)||g.set(l,I);for(let C of[N,I]){let S=C.get(y)??[];C.has(y)||C.set(y,S),S.push(p)}}),{horiz:[...o(h,"horizontal").values()].filter(l=>l.length>1),vert:[...o(g,"vertical").values()].filter(l=>l.length>1)}}),[r,n]=a.reduce(([e,h],{horiz:g,vert:l})=>[[...e,...g],[...h,...l]],[[],[]]),f=new Set;c.forEach(e=>e.members.forEach(h=>f.add(h)));let i=ft(e=>e.filter(h=>!h.some(g=>f.has(g))),"dropOverlapping"),u=i(r),t=i(n);return c.forEach(e=>{e.members.length<2||(e.direction==="row"?u.push([...e.members]):t.push([...e.members]))}),{horizontal:u,vertical:t}}ft(gr,"getAlignments");function ur(w,M,T=[]){let c=[],o=M.getConfigField("iconSize"),a=M.getConfigField("idealEdgeLengthMultiplier"),r=a*o,n=new Set;T.forEach(u=>{for(let t=0;t<u.members.length-1;t++){let e=u.members[t],h=u.members[t+1];n.add(`${e}|${h}`),n.add(`${h}|${e}`),u.direction==="row"?c.push({left:e,right:h,gap:r}):c.push({top:e,bottom:h,gap:r})}});let f=ft(u=>`${u[0]},${u[1]}`,"posToStr"),i=ft(u=>u.split(",").map(t=>parseInt(t)),"strToPos");return w.forEach(u=>{let t=new Map([...u.entries()].map(([l,L])=>[f(L),l])),e=[f([0,0])],h={},g={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;e.length>0;){let l=e.shift();if(l){h[l]=1;let L=t.get(l);if(L){let p=i(l);Object.entries(g).forEach(([y,N])=>{let I=f([p[0]+N[0],p[1]+N[1]]),C=t.get(I);if(C&&!h[I]){if(e.push(I),n.has(`${L}|${C}`))return;c.push({[_e[y]]:C,[_e[yr(y)]]:L,gap:a*o})}})}}}}),c}ft(ur,"getRelativeConstraints");function dr(w,M,T,c,o,{spatialMaps:a,groupAlignments:r}){return new Promise(n=>{let f=$e("body").append("div").attr("id","cy").attr("style","display:none"),i=Ee({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${o.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${o.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});f.remove(),fr(T,i),sr(w,i,o),hr(M,i,o),cr(c,i);let u=o.getLayoutHints(),t=gr(o,a,r,u),e=ur(a,o,u),h=o.getConfigField("iconSize"),g=o.getConfigField("idealEdgeLengthMultiplier")*h,l=.5*h,L=o.getConfigField("edgeElasticity"),p=o.getConfigField("seed"),y=i.layout({name:"fcose",quality:"proof",randomize:o.getConfigField("randomize"),nodeSeparation:o.getConfigField("nodeSeparation"),numIter:o.getConfigField("numIter"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(N){let[I,C]=N.connectedNodes(),{parent:S}=ee(I),{parent:X}=ee(C);return S===X?g:l},edgeElasticity(N){let[I,C]=N.connectedNodes(),{parent:S}=ee(I),{parent:X}=ee(C);return S===X?L:.001},alignmentConstraint:t,relativePlacementConstraint:e});y.one("layoutstop",()=>{function N(I,C,S,X){let G,Q,{x:O,y:H}=I,{x:s,y:m}=C;Q=(X-H+(O-S)*(H-m)/(O-s))/Math.sqrt(1+Math.pow((H-m)/(O-s),2)),G=Math.sqrt(Math.pow(X-H,2)+Math.pow(S-O,2)-Math.pow(Q,2));let v=Math.sqrt(Math.pow(s-O,2)+Math.pow(m-H,2));G=G/v;let E=(s-O)*(X-H)-(m-H)*(S-O);switch(!0){case E>=0:E=1;break;case E<0:E=-1;break}let d=(s-O)*(S-O)+(m-H)*(X-H);switch(!0){case d>=0:d=1;break;case d<0:d=-1;break}return Q=Math.abs(Q)*E,G=G*d,{distances:Q,weights:G}}ft(N,"getSegmentWeights"),i.startBatch();for(let I of Object.values(i.edges()))if(I.data?.()){let{x:C,y:S}=I.source().position(),{x:X,y:G}=I.target().position();if(C!==X&&S!==G){let Q=I.sourceEndpoint(),O=I.targetEndpoint(),{sourceDir:H}=ir(I),[s,m]=kt(H)?[Q.x,O.y]:[O.x,Q.y],{weights:v,distances:E}=N(Q,O,s,m);I.style("segment-distances",E),I.style("segment-weights",v)}}i.endBatch(),Ae(p,()=>y.run())});try{Ae(p,()=>y.run())}catch(N){throw N instanceof RangeError&&N.message.includes("Invalid array length")?new Error("Architecture layout failed: a declared `align row|column` directive likely contradicts the edge directions, or two declared alignments overlap on a shared node. Check that the order of members in each `align` chain is consistent with the edges between them, and that no node appears in two `align` directives along the same axis."):N}i.ready(N=>{me.info("Ready",N),n(i)})})}ft(dr,"layoutArchitecture");var Fr=ft(async(w,M,T,c)=>{let o=c.db;o.setDiagramId(M);let a=o.getServices(),r=o.getJunctions(),n=o.getGroups(),f=o.getEdges(),i=o.getDataStructures(),u=Be(M),t=u.append("g");t.attr("class","architecture-edges");let e=u.append("g");e.attr("class","architecture-services");let h=u.append("g");h.attr("class","architecture-groups"),await Rr(o,e,a,M),Sr(o,e,r,M);let g=await dr(a,r,n,f,o,i);await xr(t,g,o,M),await Ir(h,g,o,M),lr(o,g),Ge(void 0,u,o.getConfigField("padding"),o.getConfigField("useMaxWidth"))},"draw"),br={draw:Fr},Zr={parser:ar,get db(){return new nr},renderer:br,styles:Or};export{Zr as diagram};
|