termdock 1.4.353 → 1.4.355
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/THIRD_PARTY_NOTICES.md +56 -0
- package/dist/client/assets/AndroidMirrorView-BC_6L3mG.js +3 -0
- package/dist/client/assets/AndroidMirrorView-BC_6L3mG.js.br +0 -0
- package/dist/client/assets/AndroidMirrorView-BC_6L3mG.js.gz +0 -0
- package/dist/client/assets/{App-AjjtXg93.js → App-BGECv_n_.js} +36 -36
- package/dist/client/assets/App-BGECv_n_.js.br +0 -0
- package/dist/client/assets/App-BGECv_n_.js.gz +0 -0
- package/dist/client/assets/{ArchitecturePanel-Xi_R4Tso.js → ArchitecturePanel-CYdolNzT.js} +3 -3
- package/dist/client/assets/ArchitecturePanel-CYdolNzT.js.br +0 -0
- package/dist/client/assets/ArchitecturePanel-CYdolNzT.js.gz +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-mAiaX5i8.js +2 -0
- package/dist/client/assets/ChangeWalkthroughPanel-mAiaX5i8.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-mAiaX5i8.js.gz +0 -0
- package/dist/client/assets/ChatRichContent-D2NtgMuL.js +277 -0
- package/dist/client/assets/ChatRichContent-D2NtgMuL.js.br +0 -0
- package/dist/client/assets/ChatRichContent-D2NtgMuL.js.gz +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-CcHsVfXD.js +1 -0
- package/dist/client/assets/CollaborationMainWorkspace-CcHsVfXD.js.br +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-CcHsVfXD.js.gz +0 -0
- package/dist/client/assets/{CollaborationTaskContent-D_NDzA-t.js → CollaborationTaskContent-FcrGGSr_.js} +2 -2
- package/dist/client/assets/{ComputerControlView-BGvF5NeQ.js → ComputerControlView-DU9krDsg.js} +4 -4
- package/dist/client/assets/ComputerControlView-DU9krDsg.js.br +0 -0
- package/dist/client/assets/ComputerControlView-DU9krDsg.js.gz +0 -0
- package/dist/client/assets/DagPlayground-CbEuQA68.js +1 -0
- package/dist/client/assets/DagPlayground-CbEuQA68.js.br +0 -0
- package/dist/client/assets/DagPlayground-CbEuQA68.js.gz +0 -0
- package/dist/client/assets/{DiffLab-CDt8EP6I.js → DiffLab-PysBkJrJ.js} +1 -1
- package/dist/client/assets/DiffLab-PysBkJrJ.js.br +0 -0
- package/dist/client/assets/DiffLab-PysBkJrJ.js.gz +0 -0
- package/dist/client/assets/DiffReview-Ce3wKMBk.js +1 -0
- package/dist/client/assets/DiffReview-Ce3wKMBk.js.br +0 -0
- package/dist/client/assets/DiffReview-Ce3wKMBk.js.gz +0 -0
- package/dist/client/assets/{DiffReviewLab-YqgsRn_K.js → DiffReviewLab-D6PxvtBY.js} +2 -2
- package/dist/client/assets/DiffReviewLab-D6PxvtBY.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-D6PxvtBY.js.gz +0 -0
- package/dist/client/assets/{DiffViewer-CT5_YwM2.js → DiffViewer-Bp-BLT2f.js} +1 -1
- package/dist/client/assets/DiffViewer-Bp-BLT2f.js.br +0 -0
- package/dist/client/assets/DiffViewer-Bp-BLT2f.js.gz +0 -0
- package/dist/client/assets/GitLoadingSkeleton-Fa4AXG-N.js +1 -0
- package/dist/client/assets/GitLoadingSkeleton-Fa4AXG-N.js.br +0 -0
- package/dist/client/assets/GitLoadingSkeleton-Fa4AXG-N.js.gz +0 -0
- package/dist/client/assets/{MarkdownPreview-DHLp5cqt.js → MarkdownPreview-_Z5UzhLt.js} +2 -2
- package/dist/client/assets/MarkdownPreview-_Z5UzhLt.js.br +0 -0
- package/dist/client/assets/MarkdownPreview-_Z5UzhLt.js.gz +0 -0
- package/dist/client/assets/{ModelPreview-DymFzc55.js → ModelPreview-Cl0X7I-U.js} +3 -3
- package/dist/client/assets/ModelPreview-Cl0X7I-U.js.br +0 -0
- package/dist/client/assets/ModelPreview-Cl0X7I-U.js.gz +0 -0
- package/dist/client/assets/{RecordingSaveDialog-CxSN76bp.js → RecordingSaveDialog-Ca2iJsOW.js} +1 -1
- package/dist/client/assets/RecordingSaveDialog-Ca2iJsOW.js.br +0 -0
- package/dist/client/assets/RecordingSaveDialog-Ca2iJsOW.js.gz +0 -0
- package/dist/client/assets/{RightSidebar-eIuDnhJn.js → RightSidebar-CwXIBpEw.js} +20 -20
- package/dist/client/assets/RightSidebar-CwXIBpEw.js.br +0 -0
- package/dist/client/assets/RightSidebar-CwXIBpEw.js.gz +0 -0
- package/dist/client/assets/SessionChatView-D3sLcYAc.js +13 -0
- package/dist/client/assets/SessionChatView-D3sLcYAc.js.br +0 -0
- package/dist/client/assets/SessionChatView-D3sLcYAc.js.gz +0 -0
- package/dist/client/assets/SessionResourceSidebar-BObKJeA9.js +2 -0
- package/dist/client/assets/SessionResourceSidebar-BObKJeA9.js.br +0 -0
- package/dist/client/assets/SessionResourceSidebar-BObKJeA9.js.gz +0 -0
- package/dist/client/assets/TodoWorkspace-BdesAuz4.js +1 -0
- package/dist/client/assets/TodoWorkspace-BdesAuz4.js.br +0 -0
- package/dist/client/assets/TodoWorkspace-BdesAuz4.js.gz +0 -0
- package/dist/client/assets/{abnfDiagram-VCTEODGH-DI1Y-QAP.js → abnfDiagram-VCTEODGH-BajyXVpH.js} +1 -1
- package/dist/client/assets/abnfDiagram-VCTEODGH-BajyXVpH.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-BajyXVpH.js.gz +0 -0
- package/dist/client/assets/app-C3WX_u_Z.js +37 -0
- package/dist/client/assets/app-C3WX_u_Z.js.br +0 -0
- package/dist/client/assets/app-C3WX_u_Z.js.gz +0 -0
- package/dist/client/assets/{arc-QdJAJx_D.js → arc-CbhM5I2d.js} +1 -1
- package/dist/client/assets/arc-CbhM5I2d.js.br +0 -0
- package/dist/client/assets/arc-CbhM5I2d.js.gz +0 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-Bw2CvoGg.js → architectureDiagram-5GKGNRK7-CDKLcS6D.js} +1 -1
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CDKLcS6D.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CDKLcS6D.js.gz +0 -0
- package/dist/client/assets/{arrow-down-CZKuaGwN.js → arrow-down-Dp27yS0N.js} +1 -1
- package/dist/client/assets/{arrow-up-CYLC6_to.js → arrow-up-BEUQcf-s.js} +1 -1
- package/dist/client/assets/{blockDiagram-I7D4REHJ-CM2GI6sC.js → blockDiagram-I7D4REHJ-CXiIO6_W.js} +1 -1
- package/dist/client/assets/blockDiagram-I7D4REHJ-CXiIO6_W.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-CXiIO6_W.js.gz +0 -0
- package/dist/client/assets/{c4Diagram-7LVT6UL2-BAB2TKr4.js → c4Diagram-7LVT6UL2-uZ-i2eKH.js} +1 -1
- package/dist/client/assets/c4Diagram-7LVT6UL2-uZ-i2eKH.js.br +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-uZ-i2eKH.js.gz +0 -0
- package/dist/client/assets/channel-Dg7JKsqi.js +1 -0
- package/dist/client/assets/{chevron-left-BNby2AjR.js → chevron-left-D8ntyw2S.js} +1 -1
- package/dist/client/assets/{chunk-2Q5K7J3B-DI2pKKMQ.js → chunk-2Q5K7J3B-DVe3dVJR.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-D5l5zyYl.js → chunk-5VM5RSS4-BDBNKGuU.js} +1 -1
- package/dist/client/assets/{chunk-F27PBJKO-Japl432v.js → chunk-F27PBJKO-BP7hTwtm.js} +1 -1
- package/dist/client/assets/chunk-F27PBJKO-BP7hTwtm.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-BP7hTwtm.js.gz +0 -0
- package/dist/client/assets/{chunk-IMKFNOWR-CDJoLgpw.js → chunk-IMKFNOWR-LIGuOtnb.js} +1 -1
- package/dist/client/assets/chunk-IMKFNOWR-LIGuOtnb.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-LIGuOtnb.js.gz +0 -0
- package/dist/client/assets/{chunk-JWPE2WC7-BQ2cpPDE.js → chunk-JWPE2WC7-C1_iFEvk.js} +1 -1
- package/dist/client/assets/{chunk-POPQ4Y6H-CWjI0yRx.js → chunk-POPQ4Y6H-CYZsO-QL.js} +1 -1
- package/dist/client/assets/{chunk-SVP7TREG-BzEphMpl.js → chunk-SVP7TREG-FnWYLNCS.js} +1 -1
- package/dist/client/assets/chunk-SVP7TREG-FnWYLNCS.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-FnWYLNCS.js.gz +0 -0
- package/dist/client/assets/{chunk-TICWLB2K-B2hsw7jN.js → chunk-TICWLB2K-dcOCcmQq.js} +1 -1
- package/dist/client/assets/chunk-TICWLB2K-dcOCcmQq.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-dcOCcmQq.js.gz +0 -0
- package/dist/client/assets/{chunk-XXDRQBXY-BEWjHo7s.js → chunk-XXDRQBXY-B2H2Yt9G.js} +1 -1
- package/dist/client/assets/circle-Pldg1yI9.js +1 -0
- package/dist/client/assets/classDiagram-ZZMXUADV-D6QBd_IP.js +1 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-D6QBd_IP.js +1 -0
- package/dist/client/assets/{clipboard-6kE6vzDi.js → clipboard-tTkMEO1S.js} +1 -1
- package/dist/client/assets/clipboardText-BapOM7QN.js +1 -0
- package/dist/client/assets/clipboardText-BapOM7QN.js.br +0 -0
- package/dist/client/assets/clipboardText-BapOM7QN.js.gz +0 -0
- package/dist/client/assets/{cose-bilkent-JH36ORCC-DpS77pec.js → cose-bilkent-JH36ORCC-Bz38mqD8.js} +1 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-Bz38mqD8.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-Bz38mqD8.js.gz +0 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-D1y5kNwR.js → cynefin-OW5HDTMX-CZAa1A6y.js} +1 -1
- package/dist/client/assets/cynefin-OW5HDTMX-CZAa1A6y.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-CZAa1A6y.js.gz +0 -0
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-CqTCLyMC.js → cynefinDiagram-5FMLGOSQ-BaQnW4VG.js} +1 -1
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-BaQnW4VG.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-BaQnW4VG.js.gz +0 -0
- package/dist/client/assets/{dagre-GXQ25YYZ-DkJ-kRn6.js → dagre-GXQ25YYZ-BdnT61bc.js} +1 -1
- package/dist/client/assets/dagre-GXQ25YYZ-BdnT61bc.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-BdnT61bc.js.gz +0 -0
- package/dist/client/assets/{diagram-S7CK7UJ4-DenrrE_C.js → diagram-S7CK7UJ4-BWiF8QNc.js} +1 -1
- package/dist/client/assets/diagram-S7CK7UJ4-BWiF8QNc.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-BWiF8QNc.js.gz +0 -0
- package/dist/client/assets/{diagram-UQ7AKVKN-B2ikSD8K.js → diagram-UQ7AKVKN-DLURjCFp.js} +1 -1
- package/dist/client/assets/diagram-UQ7AKVKN-DLURjCFp.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-DLURjCFp.js.gz +0 -0
- package/dist/client/assets/{diagram-VSXAHHWV-CQcNoZDC.js → diagram-VSXAHHWV-DYIcLklz.js} +1 -1
- package/dist/client/assets/diagram-VSXAHHWV-DYIcLklz.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-DYIcLklz.js.gz +0 -0
- package/dist/client/assets/{diagram-VX7I27RA-Cq3FaI-1.js → diagram-VX7I27RA-C9vqviXX.js} +1 -1
- package/dist/client/assets/diagram-VX7I27RA-C9vqviXX.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-C9vqviXX.js.gz +0 -0
- package/dist/client/assets/{diagram-Z3DM3KII-BcWReLM8.js → diagram-Z3DM3KII-BJuQxTkw.js} +1 -1
- package/dist/client/assets/diagram-Z3DM3KII-BJuQxTkw.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-BJuQxTkw.js.gz +0 -0
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-DwwFkjaL.js → ebnfDiagram-PWID7BFC-BcbISm-z.js} +1 -1
- package/dist/client/assets/ebnfDiagram-PWID7BFC-BcbISm-z.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-BcbISm-z.js.gz +0 -0
- package/dist/client/assets/{erDiagram-RLTQ6QDP-B1MNvouo.js → erDiagram-RLTQ6QDP-fhNpRzUG.js} +1 -1
- package/dist/client/assets/erDiagram-RLTQ6QDP-fhNpRzUG.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-fhNpRzUG.js.gz +0 -0
- package/dist/client/assets/external-link-DE8Gj-da.js +1 -0
- package/dist/client/assets/{flowDiagram-HODETNUW-B_tIl0Vb.js → flowDiagram-HODETNUW-CVDJ_1Zu.js} +1 -1
- package/dist/client/assets/flowDiagram-HODETNUW-CVDJ_1Zu.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-CVDJ_1Zu.js.gz +0 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-CV0YyZHk.js → ganttDiagram-EL5Y4UJY-Dzn-mrfe.js} +1 -1
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-Dzn-mrfe.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-Dzn-mrfe.js.gz +0 -0
- package/dist/client/assets/{git-compare-CGiJqTYP.js → git-compare-Ct2eJNs4.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-DZvnSoyE.js → gitGraphDiagram-WWUBYQGX-Ci-wfvCz.js} +1 -1
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Ci-wfvCz.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Ci-wfvCz.js.gz +0 -0
- package/dist/client/assets/index-ByrWASlZ.js +1 -0
- package/dist/client/assets/index-ByrWASlZ.js.br +0 -0
- package/dist/client/assets/index-ByrWASlZ.js.gz +0 -0
- package/dist/client/assets/{index-CA1fR_jI.css → index-DOq3vkFG.css} +1 -1
- package/dist/client/assets/index-DOq3vkFG.css.br +0 -0
- package/dist/client/assets/{index-CA1fR_jI.css.gz → index-DOq3vkFG.css.gz} +0 -0
- package/dist/client/assets/{infoDiagram-27XIBGKW-G1OS50nR.js → infoDiagram-27XIBGKW-npBmeTt7.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-C0-s6pfy.js → ishikawaDiagram-5VMMS53U-CCn5Ha25.js} +1 -1
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-CCn5Ha25.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-CCn5Ha25.js.gz +0 -0
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-B-9Omdit.js → journeyDiagram-3NMN7TZE-CPl5oPfe.js} +1 -1
- package/dist/client/assets/journeyDiagram-3NMN7TZE-CPl5oPfe.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-CPl5oPfe.js.gz +0 -0
- package/dist/client/assets/{kanban-definition-UXKFOSKX-BS_qXegp.js → kanban-definition-UXKFOSKX-Dmia2kLZ.js} +1 -1
- package/dist/client/assets/kanban-definition-UXKFOSKX-Dmia2kLZ.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-Dmia2kLZ.js.gz +0 -0
- package/dist/client/assets/{layout-0NYin1Qz.js → layout-B2Kz5M73.js} +1 -1
- package/dist/client/assets/layout-B2Kz5M73.js.br +0 -0
- package/dist/client/assets/layout-B2Kz5M73.js.gz +0 -0
- package/dist/client/assets/{linear-CTVKrsxK.js → linear-D2CT7wE3.js} +1 -1
- package/dist/client/assets/linear-D2CT7wE3.js.br +0 -0
- package/dist/client/assets/linear-D2CT7wE3.js.gz +0 -0
- package/dist/client/assets/{link-C5oPMHMJ.js → link-x33s12VI.js} +3 -3
- package/dist/client/assets/link-x33s12VI.js.br +0 -0
- package/dist/client/assets/link-x33s12VI.js.gz +0 -0
- package/dist/client/assets/{list-tree-BPg9QdiM.js → list-tree-XBmm9il2.js} +1 -1
- package/dist/client/assets/{loader-circle-CTtHKNWd.js → loader-circle-D_nJKmMD.js} +1 -1
- package/dist/client/assets/{maximize-2-32OfQ0kG.js → maximize-2-t-zzENew.js} +1 -1
- package/dist/client/assets/{mermaid.core-BgCZP9ke.js → mermaid.core-G9XIcppl.js} +5 -5
- package/dist/client/assets/mermaid.core-G9XIcppl.js.br +0 -0
- package/dist/client/assets/mermaid.core-G9XIcppl.js.gz +0 -0
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-BjSZRjkg.js → mindmap-definition-YA3MSWOX-D2OX9OkO.js} +1 -1
- package/dist/client/assets/mindmap-definition-YA3MSWOX-D2OX9OkO.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-D2OX9OkO.js.gz +0 -0
- package/dist/client/assets/{passwordBootstrap-CXQgj5nw.js → passwordBootstrap-DkTynZfV.js} +2 -2
- package/dist/client/assets/passwordBootstrap-DkTynZfV.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-DkTynZfV.js.gz +0 -0
- package/dist/client/assets/{pegDiagram-XKGWAZYB-qDU0sU6m.js → pegDiagram-XKGWAZYB-qNjd6dbd.js} +1 -1
- package/dist/client/assets/pegDiagram-XKGWAZYB-qNjd6dbd.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-qNjd6dbd.js.gz +0 -0
- package/dist/client/assets/{pieDiagram-E7YTZNPT-CZF3MEOJ.js → pieDiagram-E7YTZNPT-DcCmKDFh.js} +1 -1
- package/dist/client/assets/pieDiagram-E7YTZNPT-DcCmKDFh.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-DcCmKDFh.js.gz +0 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-DcZW4RMG.js → quadrantDiagram-AXDQQJYC-BpDzkl9h.js} +1 -1
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BpDzkl9h.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BpDzkl9h.js.gz +0 -0
- package/dist/client/assets/{quote-CuTMveNr.js → quote-DeByS04O.js} +1 -1
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-DtQROK31.js → railroadDiagram-O6MQD6OU-DkwV8w7x.js} +1 -1
- package/dist/client/assets/railroadDiagram-O6MQD6OU-DkwV8w7x.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-DkwV8w7x.js.gz +0 -0
- package/dist/client/assets/{rdpSession-a1ZvAyiW.js → rdpSession-D5NrFTav.js} +1 -1
- package/dist/client/assets/rdpSession-D5NrFTav.js.br +0 -0
- package/dist/client/assets/rdpSession-D5NrFTav.js.gz +0 -0
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-B8yR39lm.js → requirementDiagram-BXWQKSXE-BRwt5MXl.js} +1 -1
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-B8yR39lm.js.br → requirementDiagram-BXWQKSXE-BRwt5MXl.js.br} +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-BRwt5MXl.js.gz +0 -0
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-D27zuIFg.js → sankeyDiagram-P5KCCOFB-DZ8y_gv3.js} +1 -1
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-DZ8y_gv3.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-DZ8y_gv3.js.gz +0 -0
- package/dist/client/assets/search-CDJ4fv-q.js +1 -0
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-BI3gSsUa.js → sequenceDiagram-WJ2MYXX4-CJ9lZEsN.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-BI3gSsUa.js.br → sequenceDiagram-WJ2MYXX4-CJ9lZEsN.js.br} +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-CJ9lZEsN.js.gz +0 -0
- package/dist/client/assets/{settings-2-GFFo5UwO.js → settings-2-DtFz7lgk.js} +1 -1
- package/dist/client/assets/{sizeCapture-INFHLROL-NBzIIRER.js → sizeCapture-INFHLROL-Dt9ZzegQ.js} +1 -1
- package/dist/client/assets/sizeCapture-INFHLROL-Dt9ZzegQ.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-Dt9ZzegQ.js.gz +0 -0
- package/dist/client/assets/{stateDiagram-D77RDMKH-D-D0FB4D.js → stateDiagram-D77RDMKH-DgeQtV3s.js} +1 -1
- package/dist/client/assets/stateDiagram-D77RDMKH-DgeQtV3s.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-DgeQtV3s.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-CKS6y2rR.js +1 -0
- package/dist/client/assets/sun-CvzpsfHU.js +1 -0
- package/dist/client/assets/{swimlanes-42K2YHIH-CH_jxbV3.js → swimlanes-42K2YHIH-DHB6MQ8v.js} +1 -1
- package/dist/client/assets/swimlanes-42K2YHIH-DHB6MQ8v.js.br +0 -0
- package/dist/client/assets/{swimlanes-42K2YHIH-CH_jxbV3.js.gz → swimlanes-42K2YHIH-DHB6MQ8v.js.gz} +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DvUzDKPI.js +8 -0
- package/dist/client/assets/{syntaxHighlight-C9PKWUqs.js → syntaxHighlight-DF6Q5phI.js} +1 -1
- package/dist/client/assets/syntaxHighlight-DF6Q5phI.js.br +0 -0
- package/dist/client/assets/syntaxHighlight-DF6Q5phI.js.gz +0 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-DuiaCBON.js → timeline-definition-24CTP7MA-EqVVyv-E.js} +1 -1
- package/dist/client/assets/timeline-definition-24CTP7MA-EqVVyv-E.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-EqVVyv-E.js.gz +0 -0
- package/dist/client/assets/{triangle-alert-CuGUScPU.js → triangle-alert--5QOrsVl.js} +1 -1
- package/dist/client/assets/{unplug-C0pb-BKU.js → unplug-BNUx6Lmk.js} +1 -1
- package/dist/client/assets/{vennDiagram-4TSXK5OY-DUEZFEzo.js → vennDiagram-4TSXK5OY-BBE17-sL.js} +1 -1
- package/dist/client/assets/vennDiagram-4TSXK5OY-BBE17-sL.js.br +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-BBE17-sL.js.gz +0 -0
- package/dist/client/assets/{videoCompression-JAcp0atl.js → videoCompression-B09OiyP5.js} +1 -1
- package/dist/client/assets/videoCompression-B09OiyP5.js.br +0 -0
- package/dist/client/assets/videoCompression-B09OiyP5.js.gz +0 -0
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-CnHmIbot.js → wardleyDiagram-VM6X3IG4-B4gZGXiA.js} +1 -1
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-B4gZGXiA.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-B4gZGXiA.js.gz +0 -0
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-CDAoHQTr.js → xychartDiagram-S5SC5T6Z-BDO5xF5D.js} +1 -1
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-BDO5xF5D.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-BDO5xF5D.js.gz +0 -0
- package/dist/client/index.html +2 -2
- package/dist/client/index.html.br +0 -0
- package/dist/client/index.html.gz +0 -0
- package/dist/client/sw.js +1 -1
- package/dist/client/sw.js.br +0 -0
- package/dist/client/sw.js.gz +0 -0
- package/dist/server/agent/chatUIPrompt.js +13 -0
- package/dist/server/agent/collaborationCli.js +8 -2
- package/dist/server/agent/collaborationPrompt.js +2 -2
- package/dist/server/agent/collaborationStore.js +17 -0
- package/dist/server/agent/sessionChatRoutes.js +23 -1
- package/dist/server/cli.js +5 -0
- package/dist/server/federation/accessPolicy.js +3 -0
- package/dist/server/federation/authorization.js +7 -3
- package/dist/server/federation/invitations.js +9 -6
- package/dist/server/federation/runtime.js +8 -1
- package/dist/server/shared/chatPresentation.js +36 -0
- package/dist/server/shared/chatUILibrary.js +26 -0
- package/dist/server/shared/sessionAppearance.js +17 -0
- package/package.json +4 -1
- package/runtime-manifest.json +4 -4
- package/dist/client/assets/AndroidMirrorView-C39BgFa_.js +0 -3
- package/dist/client/assets/AndroidMirrorView-C39BgFa_.js.br +0 -0
- package/dist/client/assets/AndroidMirrorView-C39BgFa_.js.gz +0 -0
- package/dist/client/assets/App-AjjtXg93.js.br +0 -0
- package/dist/client/assets/App-AjjtXg93.js.gz +0 -0
- package/dist/client/assets/ArchitecturePanel-Xi_R4Tso.js.br +0 -0
- package/dist/client/assets/ArchitecturePanel-Xi_R4Tso.js.gz +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-BH1Una8m.js +0 -2
- package/dist/client/assets/ChangeWalkthroughPanel-BH1Una8m.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-BH1Una8m.js.gz +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-CA9ZGT5N.js +0 -1
- package/dist/client/assets/CollaborationMainWorkspace-CA9ZGT5N.js.br +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-CA9ZGT5N.js.gz +0 -0
- package/dist/client/assets/ComputerControlView-BGvF5NeQ.js.br +0 -0
- package/dist/client/assets/ComputerControlView-BGvF5NeQ.js.gz +0 -0
- package/dist/client/assets/DagPlayground-CKqB6zap.js +0 -1
- package/dist/client/assets/DagPlayground-CKqB6zap.js.br +0 -0
- package/dist/client/assets/DagPlayground-CKqB6zap.js.gz +0 -0
- package/dist/client/assets/DiffLab-CDt8EP6I.js.br +0 -0
- package/dist/client/assets/DiffLab-CDt8EP6I.js.gz +0 -0
- package/dist/client/assets/DiffReview-YADkwVd6.js +0 -1
- package/dist/client/assets/DiffReview-YADkwVd6.js.br +0 -0
- package/dist/client/assets/DiffReview-YADkwVd6.js.gz +0 -0
- package/dist/client/assets/DiffReviewLab-YqgsRn_K.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-YqgsRn_K.js.gz +0 -0
- package/dist/client/assets/DiffViewer-CT5_YwM2.js.br +0 -0
- package/dist/client/assets/DiffViewer-CT5_YwM2.js.gz +0 -0
- package/dist/client/assets/GitLoadingSkeleton-DfWzAnA2.js +0 -1
- package/dist/client/assets/GitLoadingSkeleton-DfWzAnA2.js.br +0 -0
- package/dist/client/assets/GitLoadingSkeleton-DfWzAnA2.js.gz +0 -0
- package/dist/client/assets/MarkdownPreview-DHLp5cqt.js.br +0 -0
- package/dist/client/assets/MarkdownPreview-DHLp5cqt.js.gz +0 -0
- package/dist/client/assets/ModelPreview-DymFzc55.js.br +0 -0
- package/dist/client/assets/ModelPreview-DymFzc55.js.gz +0 -0
- package/dist/client/assets/RecordingSaveDialog-CxSN76bp.js.br +0 -0
- package/dist/client/assets/RecordingSaveDialog-CxSN76bp.js.gz +0 -0
- package/dist/client/assets/RightSidebar-eIuDnhJn.js.br +0 -0
- package/dist/client/assets/RightSidebar-eIuDnhJn.js.gz +0 -0
- package/dist/client/assets/SessionChatView-C5wXAt7h.js +0 -13
- package/dist/client/assets/SessionChatView-C5wXAt7h.js.br +0 -0
- package/dist/client/assets/SessionChatView-C5wXAt7h.js.gz +0 -0
- package/dist/client/assets/SessionResourceSidebar-Czai5Bt3.js +0 -2
- package/dist/client/assets/SessionResourceSidebar-Czai5Bt3.js.br +0 -0
- package/dist/client/assets/SessionResourceSidebar-Czai5Bt3.js.gz +0 -0
- package/dist/client/assets/TodoWorkspace-BftnnEU0.js +0 -1
- package/dist/client/assets/TodoWorkspace-BftnnEU0.js.br +0 -0
- package/dist/client/assets/TodoWorkspace-BftnnEU0.js.gz +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-DI1Y-QAP.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-DI1Y-QAP.js.gz +0 -0
- package/dist/client/assets/app-DvMXSNN7.js +0 -36
- package/dist/client/assets/app-DvMXSNN7.js.br +0 -0
- package/dist/client/assets/app-DvMXSNN7.js.gz +0 -0
- package/dist/client/assets/arc-QdJAJx_D.js.br +0 -0
- package/dist/client/assets/arc-QdJAJx_D.js.gz +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-Bw2CvoGg.js.br +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-Bw2CvoGg.js.gz +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-CM2GI6sC.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-CM2GI6sC.js.gz +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-BAB2TKr4.js.br +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-BAB2TKr4.js.gz +0 -0
- package/dist/client/assets/channel-CcDRt0AM.js +0 -1
- package/dist/client/assets/chunk-F27PBJKO-Japl432v.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-Japl432v.js.gz +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-CDJoLgpw.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-CDJoLgpw.js.gz +0 -0
- package/dist/client/assets/chunk-SVP7TREG-BzEphMpl.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-BzEphMpl.js.gz +0 -0
- package/dist/client/assets/chunk-TICWLB2K-B2hsw7jN.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-B2hsw7jN.js.gz +0 -0
- package/dist/client/assets/classDiagram-ZZMXUADV-Dz0qH9Hg.js +0 -1
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-Dz0qH9Hg.js +0 -1
- package/dist/client/assets/clipboardText-B7202UNa.js +0 -1
- package/dist/client/assets/clipboardText-B7202UNa.js.br +0 -0
- package/dist/client/assets/clipboardText-B7202UNa.js.gz +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-DpS77pec.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-DpS77pec.js.gz +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-D1y5kNwR.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-D1y5kNwR.js.gz +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CqTCLyMC.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-CqTCLyMC.js.gz +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-DkJ-kRn6.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-DkJ-kRn6.js.gz +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-DenrrE_C.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-DenrrE_C.js.gz +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-B2ikSD8K.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-B2ikSD8K.js.gz +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-CQcNoZDC.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-CQcNoZDC.js.gz +0 -0
- package/dist/client/assets/diagram-VX7I27RA-Cq3FaI-1.js.br +0 -0
- package/dist/client/assets/diagram-VX7I27RA-Cq3FaI-1.js.gz +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-BcWReLM8.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-BcWReLM8.js.gz +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-DwwFkjaL.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-DwwFkjaL.js.gz +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-B1MNvouo.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-B1MNvouo.js.gz +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-B_tIl0Vb.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-B_tIl0Vb.js.gz +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-CV0YyZHk.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-CV0YyZHk.js.gz +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-DZvnSoyE.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-DZvnSoyE.js.gz +0 -0
- package/dist/client/assets/index-CA1fR_jI.css.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-C0-s6pfy.js.br +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-C0-s6pfy.js.gz +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-B-9Omdit.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-B-9Omdit.js.gz +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-BS_qXegp.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-BS_qXegp.js.gz +0 -0
- package/dist/client/assets/layout-0NYin1Qz.js.br +0 -0
- package/dist/client/assets/layout-0NYin1Qz.js.gz +0 -0
- package/dist/client/assets/linear-CTVKrsxK.js.br +0 -0
- package/dist/client/assets/linear-CTVKrsxK.js.gz +0 -0
- package/dist/client/assets/link-C5oPMHMJ.js.br +0 -0
- package/dist/client/assets/link-C5oPMHMJ.js.gz +0 -0
- package/dist/client/assets/mermaid.core-BgCZP9ke.js.br +0 -0
- package/dist/client/assets/mermaid.core-BgCZP9ke.js.gz +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-BjSZRjkg.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-BjSZRjkg.js.gz +0 -0
- package/dist/client/assets/passwordBootstrap-CXQgj5nw.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-CXQgj5nw.js.gz +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-qDU0sU6m.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-qDU0sU6m.js.gz +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-CZF3MEOJ.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-CZF3MEOJ.js.gz +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-DcZW4RMG.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-DcZW4RMG.js.gz +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-DtQROK31.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-DtQROK31.js.gz +0 -0
- package/dist/client/assets/rdpSession-a1ZvAyiW.js.br +0 -0
- package/dist/client/assets/rdpSession-a1ZvAyiW.js.gz +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-B8yR39lm.js.gz +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-D27zuIFg.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-D27zuIFg.js.gz +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BI3gSsUa.js.gz +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-NBzIIRER.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-NBzIIRER.js.gz +0 -0
- package/dist/client/assets/sparkles-ZXBp-KvJ.js +0 -1
- package/dist/client/assets/stateDiagram-D77RDMKH-D-D0FB4D.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-D-D0FB4D.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-Dk-QpCnJ.js +0 -1
- package/dist/client/assets/sun-CO5F9zS4.js +0 -1
- package/dist/client/assets/swimlanes-42K2YHIH-CH_jxbV3.js.br +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-C4E5FOdv.js +0 -8
- package/dist/client/assets/syntaxHighlight-C9PKWUqs.js.br +0 -0
- package/dist/client/assets/syntaxHighlight-C9PKWUqs.js.gz +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-DuiaCBON.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-DuiaCBON.js.gz +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-DUEZFEzo.js.br +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-DUEZFEzo.js.gz +0 -0
- package/dist/client/assets/videoCompression-JAcp0atl.js.br +0 -0
- package/dist/client/assets/videoCompression-JAcp0atl.js.gz +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-CnHmIbot.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-CnHmIbot.js.gz +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-CDAoHQTr.js.br +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-CDAoHQTr.js.gz +0 -0
|
Binary file
|
package/dist/client/assets/{swimlanes-42K2YHIH-CH_jxbV3.js.gz → swimlanes-42K2YHIH-DHB6MQ8v.js.gz}
RENAMED
|
Binary file
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{c as r,s as e}from"./flowDiagram-HODETNUW-CVDJ_1Zu.js";import{d as o}from"./mermaid.core-G9XIcppl.js";import"./chunk-5VM5RSS4-BDBNKGuU.js";import"./chunk-XXDRQBXY-B2H2Yt9G.js";import"./chunk-POPQ4Y6H-CYZsO-QL.js";import"./chunk-F27PBJKO-BP7hTwtm.js";import"./purify.es-4eNOHKSq.js";import"./channel-Dg7JKsqi.js";import"./app-C3WX_u_Z.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-Dea8wJF3.js";var a=o(t=>`${e(t)}
|
|
2
|
+
.swimlane.cluster rect {
|
|
3
|
+
stroke: ${t.clusterBorder} !important;
|
|
4
|
+
}
|
|
5
|
+
[data-look="neo"].cluster rect {
|
|
6
|
+
filter: none;
|
|
7
|
+
}
|
|
8
|
+
`,"getStyles"),m=a,v=r({defaultLayout:"swimlane",styles:m});export{v as diagram};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-UqXCGE5m.js","assets/react-XDCjal2T.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{
|
|
2
|
+
import{a5 as b}from"./app-C3WX_u_Z.js";import{b as v}from"./dnd-BCFAPC0L.js";function L(e,t,r){const s=Math.min(t,r),n=Math.max(t,r);return e?.start===s&&e.end===n?null:e&&e.start===e.end?{start:Math.min(e.start,s),end:Math.max(e.end,n)}:{start:s,end:n}}function A(e,t){return`pointer-events-auto absolute z-30 inline-flex items-center gap-1 rounded-full font-semibold shadow-lg ring-1 transition active:scale-95 ${e?"h-9 px-4 text-[12px]":"h-7 px-3 text-[11px]"} ${t?"bg-surface-elevated text-foreground ring-border-strong/40 hover:bg-surface-2":"bg-primary text-primary-foreground ring-primary/30 hover:bg-primary/90"}`}function G(){if(typeof window>"u")return!1;const e=window.getSelection();return!!(e&&!e.isCollapsed&&e.toString().trim())}const y=1024*1024,j=2e4,x=2e3,k={js:"javascript",mjs:"javascript",cjs:"javascript",jsx:"jsx",ts:"typescript",mts:"typescript",cts:"typescript",tsx:"tsx",json:"json",json5:"json5",jsonc:"json",html:"markup",htm:"markup",xml:"markup",svg:"markup",vue:"markup",css:"css",scss:"scss",sass:"sass",less:"less",styl:"stylus",py:"python",pyw:"python",rb:"ruby",php:"php",go:"go",rs:"rust",java:"java",kt:"kotlin",kts:"kotlin",scala:"scala",groovy:"groovy",clj:"clojure",cljs:"clojure",c:"c",h:"c",cpp:"cpp",cc:"cpp",cxx:"cpp",hpp:"cpp",hxx:"cpp",cs:"csharp",fs:"fsharp",swift:"swift",m:"objectivec",mm:"objectivec",dart:"dart",lua:"lua",r:"r",jl:"julia",ex:"elixir",exs:"elixir",erl:"erlang",hrl:"erlang",hs:"haskell",ml:"ocaml",nim:"nim",pl:"perl",pm:"perl",d:"d",zig:"clike",v:"clike",sh:"bash",bash:"bash",zsh:"bash",fish:"bash",ksh:"bash",ps1:"powershell",psm1:"powershell",bat:"batch",cmd:"batch",yml:"yaml",yaml:"yaml",toml:"toml",ini:"ini",cfg:"ini",conf:"ini",properties:"properties",env:"bash",dockerfile:"docker",makefile:"makefile",mk:"makefile",cmake:"cmake",gradle:"groovy",sql:"sql",graphql:"graphql",gql:"graphql",md:"markdown",markdown:"markdown",tex:"latex",proto:"protobuf",diff:"diff",patch:"diff",vim:"vim",nginx:"nginx",apacheconf:"apacheconf",asm:"asm6502",tf:"hcl",hcl:"hcl",sol:"solidity",wasm:"wasm",wat:"wasm"},w={dockerfile:"docker",makefile:"makefile",cmakelists:"cmake",".bashrc":"bash",".zshrc":"bash",".profile":"bash",".gitconfig":"ini",".npmrc":"ini"};function _(e){return e.split(/[\\/]/).pop()??e}function H(e){if(!e)return null;const t=_(e).toLowerCase(),r=w[t];if(r)return r;const s=t.lastIndexOf(".");if(s<=0)return k[t]??null;const n=t.slice(s+1);return k[n]??null}function C(e){if(e.length>y)return!1;let t=1,r=0;for(let s=0;s<e.length;s+=1)if(e.charCodeAt(s)===10){if(s-r>x||(t+=1,t>j))return!1;r=s+1}return!(e.length-r>x)}let p=null;function S(){return p||(p=b(()=>import("./index-UqXCGE5m.js").then(e=>e.i),__vite__mapDeps([0,1])).then(e=>e.default??e).catch(e=>{throw p=null,e})),p}function T(e,t,r){if(!e.registered(r))return t.split(`
|
|
3
3
|
`).map(h=>[h||" "]);const s=e.highlight(t,r),n=[];let o=[],m=0,u=0;const g=()=>{n.push(o.length>0?o:[" "]),o=[],m+=1},d=(h,l)=>{for(const c of h)if(c.type==="text"){const a=c.value.split(`
|
|
4
4
|
`);for(let i=0;i<a.length;i+=1){i>0&&g();const f=a[i];f.length!==0&&(l?(u+=1,o.push(v.createElement("span",{key:`t-${m}-${u}`,className:l},f))):o.push(f))}}else{const a=Array.isArray(c.properties?.className)?c.properties.className.join(" "):void 0,i=l?a?`${l} ${a}`:l:a;d(c.children,i)}};return d(s,void 0),g(),n}export{A as a,T as b,L as g,G as h,S as l,H as r,C as s};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{d as o,ar as pt,a_ as Rt,bc as Ct,a6 as Wt,as as gt,bg as E,bJ as Pt,bt as Bt,bR as ft,bI as X,_ as Vt,T as Ft,O as Ot}from"./mermaid.core-
|
|
1
|
+
import{d as o,ar as pt,a_ as Rt,bc as Ct,a6 as Wt,as as gt,bg as E,bJ as Pt,bt as Bt,bR as ft,bI as X,_ as Vt,T as Ft,O as Ot}from"./mermaid.core-G9XIcppl.js";import{d as ot}from"./arc-CbhM5I2d.js";import"./app-C3WX_u_Z.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-Dea8wJF3.js";import"./purify.es-4eNOHKSq.js";var tt=(function(){var e=o(function(k,s,d,l){for(d=d||{},l=k.length;l--;d[k[l]]=s);return d},"o"),t=[6,11,13,14,15,17,19,20,23,24],n=[1,12],i=[1,13],r=[1,14],h=[1,15],c=[1,16],a=[1,19],f=[1,20],g={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:o(function(s,d,l,p,x,u,S){var v=u.length-1;switch(x){case 1:return u[v-1];case 3:p.setDirection("LR");break;case 4:p.setDirection("TD");break;case 5:this.$=[];break;case 6:u[v-1].push(u[v]),this.$=u[v-1];break;case 7:case 8:this.$=u[v];break;case 9:case 10:this.$=[];break;case 11:p.getCommonDb().setDiagramTitle(u[v].substr(6)),this.$=u[v].substr(6);break;case 12:this.$=u[v].trim(),p.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=u[v].trim(),p.getCommonDb().setAccDescription(this.$);break;case 15:p.addSection(u[v].substr(8)),this.$=u[v].substr(8);break;case 18:p.addTask(u[v],0,""),this.$=u[v];break;case 19:p.addEvent(u[v].substr(2)),this.$=u[v];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},e(t,[2,5],{5:6}),e(t,[2,2]),e(t,[2,3]),e(t,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:n,15:i,17:r,19:h,20:c,21:17,22:18,23:a,24:f},e(t,[2,10],{1:[2,1]}),e(t,[2,6]),{12:21,14:n,15:i,17:r,19:h,20:c,21:17,22:18,23:a,24:f},e(t,[2,8]),e(t,[2,9]),e(t,[2,11]),{16:[1,22]},{18:[1,23]},e(t,[2,14]),e(t,[2,15]),e(t,[2,16]),e(t,[2,17]),e(t,[2,18]),e(t,[2,19]),e(t,[2,7]),e(t,[2,12]),e(t,[2,13])],defaultActions:{},parseError:o(function(s,d){if(d.recoverable)this.trace(s);else{var l=new Error(s);throw l.hash=d,l}},"parseError"),parse:o(function(s){var d=this,l=[0],p=[],x=[null],u=[],S=this.table,v="",I=0,R=0,W=2,z=1,L=u.slice.call(arguments,1),w=Object.create(this.lexer),H={yy:{}};for(var V in this.yy)Object.prototype.hasOwnProperty.call(this.yy,V)&&(H.yy[V]=this.yy[V]);w.setInput(s,H.yy),H.yy.lexer=w,H.yy.parser=this,typeof w.yylloc>"u"&&(w.yylloc={});var F=w.yylloc;u.push(F);var U=w.options&&w.options.ranges;typeof H.yy.parseError=="function"?this.parseError=H.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function N(A){l.length=l.length-2*A,x.length=x.length-A,u.length=u.length-A}o(N,"popStack");function b(){var A;return A=p.pop()||w.lex()||z,typeof A!="number"&&(A instanceof Array&&(p=A,A=p.pop()),A=d.symbols_[A]||A),A}o(b,"lex");for(var _,$,T,P,C={},G,B,Z,j;;){if($=l[l.length-1],this.defaultActions[$]?T=this.defaultActions[$]:((_===null||typeof _>"u")&&(_=b()),T=S[$]&&S[$][_]),typeof T>"u"||!T.length||!T[0]){var Y="";j=[];for(G in S[$])this.terminals_[G]&&G>W&&j.push("'"+this.terminals_[G]+"'");w.showPosition?Y="Parse error on line "+(I+1)+`:
|
|
2
2
|
`+w.showPosition()+`
|
|
3
3
|
Expecting `+j.join(", ")+", got '"+(this.terminals_[_]||_)+"'":Y="Parse error on line "+(I+1)+": Unexpected "+(_==z?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(Y,{text:w.match,token:this.terminals_[_]||_,line:w.yylineno,loc:F,expected:j})}if(T[0]instanceof Array&&T.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$+", token: "+_);switch(T[0]){case 1:l.push(_),x.push(w.yytext),u.push(w.yylloc),l.push(T[1]),_=null,R=w.yyleng,v=w.yytext,I=w.yylineno,F=w.yylloc;break;case 2:if(B=this.productions_[T[1]][1],C.$=x[x.length-B],C._$={first_line:u[u.length-(B||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(B||1)].first_column,last_column:u[u.length-1].last_column},U&&(C._$.range=[u[u.length-(B||1)].range[0],u[u.length-1].range[1]]),P=this.performAction.apply(C,[v,R,I,H.yy,T[1],x,u].concat(L)),typeof P<"u")return P;B&&(l=l.slice(0,-1*B*2),x=x.slice(0,-1*B),u=u.slice(0,-1*B)),l.push(this.productions_[T[1]][0]),x.push(C.$),u.push(C._$),Z=S[l[l.length-2]][l[l.length-1]],l.push(Z);break;case 3:return!0}}return!0},"parse")},m=(function(){var k={EOF:1,parseError:o(function(d,l){if(this.yy.parser)this.yy.parser.parseError(d,l);else throw new Error(d)},"parseError"),setInput:o(function(s,d){return this.yy=d||this.yy||{},this._input=s,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var s=this._input[0];this.yytext+=s,this.yyleng++,this.offset++,this.match+=s,this.matched+=s;var d=s.match(/(?:\r\n?|\n).*/g);return d?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),s},"input"),unput:o(function(s){var d=s.length,l=s.split(/(?:\r\n?|\n)/g);this._input=s+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-d),this.offset-=d;var p=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===p.length?this.yylloc.first_column:0)+p[p.length-l.length].length-l[0].length:this.yylloc.first_column-d},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-d]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(s){this.unput(this.match.slice(s))},"less"),pastInput:o(function(){var s=this.matched.substr(0,this.matched.length-this.match.length);return(s.length>20?"...":"")+s.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var s=this.match;return s.length<20&&(s+=this._input.substr(0,20-s.length)),(s.substr(0,20)+(s.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var s=this.pastInput(),d=new Array(s.length+1).join("-");return s+this.upcomingInput()+`
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{aV as c}from"./app-C3WX_u_Z.js";const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],o=c("circle-check",e);const a=[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]],i=c("git-branch",a);const t=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],n=c("triangle-alert",t);export{o as C,i as G,n as T};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{aV as e}from"./app-C3WX_u_Z.js";const h=[["path",{d:"M10 8h.01",key:"1r9ogq"}],["path",{d:"M12 12h.01",key:"1mp3jc"}],["path",{d:"M14 8h.01",key:"1primd"}],["path",{d:"M16 12h.01",key:"1l6xoz"}],["path",{d:"M18 8h.01",key:"emo2bl"}],["path",{d:"M6 8h.01",key:"x9i8wu"}],["path",{d:"M7 16h10",key:"wp8him"}],["path",{d:"M8 12h.01",key:"czm47f"}],["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}]],d=e("keyboard",h);const a=[["path",{d:"m19 5 3-3",key:"yk6iyv"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z",key:"1snsnr"}]],p=e("unplug",a);export{d as K,p as U};
|
package/dist/client/assets/{vennDiagram-4TSXK5OY-DUEZFEzo.js → vennDiagram-4TSXK5OY-BBE17-sL.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as Kt,bK as Wt,ao as Ht,at as Xt,bN as Yt,ap as Zt,bL as Jt,d as w,ar as wt,bJ as Qt,bI as ot,r as $t,a_ as te,bc as ee,a6 as ne,X as se,O as ie,N as oe,ab as re}from"./mermaid.core-BgCZP9ke.js";import"./app-DvMXSNN7.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-Dea8wJF3.js";import"./purify.es-4eNOHKSq.js";const kt=(t,n)=>Kt(t,"a",-n),_t=1e-10;function st(t,n){const s=le(t),e=s.filter(l=>ae(l,t));let i=0,o=0;const r=[];if(e.length>1){const l=Et(e);for(let u=0;u<e.length;++u){const a=e[u];a.angle=Math.atan2(a.x-l.x,a.y-l.y)}e.sort((u,a)=>a.angle-u.angle);let f=e[e.length-1];for(let u=0;u<e.length;++u){const a=e[u];o+=(f.x+a.x)*(a.y-f.y);const y={x:(a.x+f.x)/2,y:(a.y+f.y)/2};let h=null;for(let b=0;b<a.parentIndex.length;++b)if(f.parentIndex.includes(a.parentIndex[b])){const p=t[a.parentIndex[b]],M=Math.atan2(a.x-p.x,a.y-p.y),E=Math.atan2(f.x-p.x,f.y-p.y);let _=E-M;_<0&&(_+=2*Math.PI);const S=E-_/2;let g=q(y,{x:p.x+p.radius*Math.sin(S),y:p.y+p.radius*Math.cos(S)});g>p.radius*2&&(g=p.radius*2),(h==null||h.width>g)&&(h={circle:p,width:g,p1:a,p2:f,large:g>p.radius,sweep:!0})}h!=null&&(r.push(h),i+=lt(h.circle.radius,h.width),f=a)}}else{let l=t[0];for(let u=1;u<t.length;++u)t[u].radius<l.radius&&(l=t[u]);let f=!1;for(let u=0;u<t.length;++u)if(q(t[u],l)>Math.abs(l.radius-t[u].radius)){f=!0;break}f?i=o=0:(i=l.radius*l.radius*Math.PI,r.push({circle:l,p1:{x:l.x,y:l.y+l.radius},p2:{x:l.x-_t,y:l.y+l.radius},width:l.radius*2,large:!0,sweep:!0}))}return o/=2,n&&(n.area=i+o,n.arcArea=i,n.polygonArea=o,n.arcs=r,n.innerPoints=e,n.intersectionPoints=s),i+o}function ae(t,n){return n.every(s=>q(t,s)<s.radius+_t)}function le(t){const n=[];for(let s=0;s<t.length;++s)for(let e=s+1;e<t.length;++e){const i=Tt(t[s],t[e]);for(const o of i)o.parentIndex=[s,e],n.push(o)}return n}function lt(t,n){return t*t*Math.acos(1-n/t)-(t-n)*Math.sqrt(n*(2*t-n))}function q(t,n){return Math.sqrt((t.x-n.x)*(t.x-n.x)+(t.y-n.y)*(t.y-n.y))}function xt(t,n,s){if(s>=t+n)return 0;if(s<=Math.abs(t-n))return Math.PI*Math.min(t,n)*Math.min(t,n);const e=t-(s*s-n*n+t*t)/(2*s),i=n-(s*s-t*t+n*n)/(2*s);return lt(t,e)+lt(n,i)}function Tt(t,n){const s=q(t,n),e=t.radius,i=n.radius;if(s>=e+i||s<=Math.abs(e-i))return[];const o=(e*e-i*i+s*s)/(2*s),r=Math.sqrt(e*e-o*o),l=t.x+o*(n.x-t.x)/s,f=t.y+o*(n.y-t.y)/s,u=-(n.y-t.y)*(r/s),a=-(n.x-t.x)*(r/s);return[{x:l+u,y:f-a},{x:l-u,y:f+a}]}function Et(t){const n={x:0,y:0};for(const s of t)n.x+=s.x,n.y+=s.y;return n.x/=t.length,n.y/=t.length,n}function ce(t,n,s,e){e=e||{};const i=e.maxIterations||100,o=e.tolerance||1e-10,r=t(n),l=t(s);let f=s-n;if(r*l>0)throw"Initial bisect points must have opposite signs";if(r===0)return n;if(l===0)return s;for(let u=0;u<i;++u){f/=2;const a=n+f,y=t(a);if(y*r>=0&&(n=a),Math.abs(f)<o||y===0)return a}return n+f}function ct(t){const n=new Array(t);for(let s=0;s<t;++s)n[s]=0;return n}function Mt(t,n){return ct(t).map(()=>ct(n))}function $(t,n){let s=0;for(let e=0;e<t.length;++e)s+=t[e]*n[e];return s}function ut(t){return Math.sqrt($(t,t))}function ft(t,n,s){for(let e=0;e<n.length;++e)t[e]=n[e]*s}function J(t,n,s,e,i){for(let o=0;o<t.length;++o)t[o]=n*s[o]+e*i[o]}function zt(t,n,s){s=s||{};const e=s.maxIterations||n.length*200,i=s.nonZeroDelta||1.05,o=s.zeroDelta||.001,r=s.minErrorDelta||1e-6,l=s.minErrorDelta||1e-5,f=s.rho!==void 0?s.rho:1,u=s.chi!==void 0?s.chi:2,a=s.psi!==void 0?s.psi:-.5,y=s.sigma!==void 0?s.sigma:.5;let h;const b=n.length,p=new Array(b+1);p[0]=n,p[0].fx=t(n),p[0].id=0;for(let v=0;v<b;++v){const c=n.slice();c[v]=c[v]?c[v]*i:o,p[v+1]=c,p[v+1].fx=t(c),p[v+1].id=v+1}function M(v){for(let c=0;c<v.length;c++)p[b][c]=v[c];p[b].fx=v.fx}const E=(v,c)=>v.fx-c.fx,_=n.slice(),S=n.slice(),g=n.slice(),m=n.slice();for(let v=0;v<e;++v){if(p.sort(E),s.history){const x=p.map(d=>{const C=d.slice();return C.fx=d.fx,C.id=d.id,C});x.sort((d,C)=>d.id-C.id),s.history.push({x:p[0].slice(),fx:p[0].fx,simplex:x})}h=0;for(let x=0;x<b;++x)h=Math.max(h,Math.abs(p[0][x]-p[1][x]));if(Math.abs(p[0].fx-p[b].fx)<r&&h<l)break;for(let x=0;x<b;++x){_[x]=0;for(let d=0;d<b;++d)_[x]+=p[d][x];_[x]/=b}const c=p[b];if(J(S,1+f,_,-f,c),S.fx=t(S),S.fx<p[0].fx)J(m,1+u,_,-u,c),m.fx=t(m),m.fx<S.fx?M(m):M(S);else if(S.fx>=p[b-1].fx){let x=!1;if(S.fx>c.fx?(J(g,1+a,_,-a,c),g.fx=t(g),g.fx<c.fx?M(g):x=!0):(J(g,1-a*f,_,a*f,c),g.fx=t(g),g.fx<S.fx?M(g):x=!0),x){if(y>=1)break;for(let d=1;d<p.length;++d)J(p[d],1-y,p[0],y,p[d]),p[d].fx=t(p[d])}}else M(S)}return p.sort(E),{fx:p[0].fx,x:p[0]}}function ue(t,n,s,e,i,o,r){const l=s.fx,f=$(s.fxprime,n);let u=l,a=l,y=f,h=0;i=i||1,o=o||1e-6,r=r||.1;function b(p,M,E){for(let _=0;_<16;++_)if(i=(p+M)/2,J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),y=$(e.fxprime,n),u>l+o*i*f||u>=E)M=i;else{if(Math.abs(y)<=-r*f)return i;y*(M-p)>=0&&(M=p),p=i,E=u}return 0}for(let p=0;p<10;++p){if(J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),y=$(e.fxprime,n),u>l+o*i*f||p&&u>=a)return b(h,i,a);if(Math.abs(y)<=-r*f)return i;if(y>=0)return b(i,h,u);a=u,h=i,i*=2}return i}function fe(t,n,s){let e={x:n.slice(),fx:0,fxprime:n.slice()},i={x:n.slice(),fx:0,fxprime:n.slice()};const o=n.slice();let r,l,f=1,u;s=s||{},u=s.maxIterations||n.length*20,e.fx=t(e.x,e.fxprime),r=e.fxprime.slice(),ft(r,e.fxprime,-1);for(let a=0;a<u;++a){if(f=ue(t,r,e,i,f),s.history&&s.history.push({x:e.x.slice(),fx:e.fx,fxprime:e.fxprime.slice(),alpha:f}),!f)ft(r,e.fxprime,-1);else{J(o,1,i.fxprime,-1,e.fxprime);const y=$(e.fxprime,e.fxprime),h=Math.max(0,$(o,i.fxprime)/y);J(r,h,r,-1,i.fxprime),l=e,e=i,i=l}if(ut(e.fxprime)<=1e-5)break}return s.history&&s.history.push({x:e.x.slice(),fx:e.fx,fxprime:e.fxprime.slice(),alpha:f}),e}function At(t,n={}){n.maxIterations=n.maxIterations||500;const s=n.initialLayout||xe,e=n.lossFunction||tt,i=he(t,n),o=s(i,n),r=Object.keys(o),l=[];for(const a of r)l.push(o[a].x),l.push(o[a].y);const u=zt(a=>{const y={};for(let h=0;h<r.length;++h){const b=r[h];y[b]={x:a[2*h],y:a[2*h+1],radius:o[b].radius}}return e(y,i)},l,n).x;for(let a=0;a<r.length;++a){const y=r[a];o[y].x=u[2*a],o[y].y=u[2*a+1]}return o}const Rt=1e-10;function ht(t,n,s){return Math.min(t,n)*Math.min(t,n)*Math.PI<=s+Rt?Math.abs(t-n):ce(e=>xt(t,n,e)-s,0,t+n)}function he(t,n={}){const s=n.distinct,e=t.map(l=>Object.assign({},l));function i(l){return l.join(";")}if(s){const l=new Map;for(const f of e)for(let u=0;u<f.sets.length;u++){const a=String(f.sets[u]);l.set(a,f.size+(l.get(a)||0));for(let y=u+1;y<f.sets.length;y++){const h=String(f.sets[y]),b=`${a};${h}`,p=`${h};${a}`;l.set(b,f.size+(l.get(b)||0)),l.set(p,f.size+(l.get(p)||0))}}for(const f of e)f.sets.length<3&&(f.size=l.get(i(f.sets)))}const o=[],r=new Set;for(const l of e)if(l.sets.length===1)o.push(l.sets[0]);else if(l.sets.length===2){const f=l.sets[0],u=l.sets[1];r.add(i(l.sets)),r.add(i([u,f]))}o.sort((l,f)=>l===f?0:l<f?-1:1);for(let l=0;l<o.length;++l){const f=o[l];for(let u=l+1;u<o.length;++u){const a=o[u];r.has(i([f,a]))||e.push({sets:[f,a],size:0})}}return e}function de(t,n,s){const e=Mt(n.length,n.length),i=Mt(n.length,n.length);return t.filter(o=>o.sets.length===2).forEach(o=>{const r=s[o.sets[0]],l=s[o.sets[1]],f=Math.sqrt(n[r].size/Math.PI),u=Math.sqrt(n[l].size/Math.PI),a=ht(f,u,o.size);e[r][l]=e[l][r]=a;let y=0;o.size+1e-10>=Math.min(n[r].size,n[l].size)?y=1:o.size<=1e-10&&(y=-1),i[r][l]=i[l][r]=y}),{distances:e,constraints:i}}function ge(t,n,s,e){for(let o=0;o<n.length;++o)n[o]=0;let i=0;for(let o=0;o<s.length;++o){const r=t[2*o],l=t[2*o+1];for(let f=o+1;f<s.length;++f){const u=t[2*f],a=t[2*f+1],y=s[o][f],h=e[o][f],b=(u-r)*(u-r)+(a-l)*(a-l),p=Math.sqrt(b),M=b-y*y;h>0&&p<=y||h<0&&p>=y||(i+=2*M*M,n[2*o]+=4*M*(r-u),n[2*o+1]+=4*M*(l-a),n[2*f]+=4*M*(u-r),n[2*f+1]+=4*M*(a-l))}}return i}function xe(t,n={}){let s=pe(t,n);const e=n.lossFunction||tt;if(t.length>=8){const i=ye(t,n),o=e(i,t),r=e(s,t);o+1e-8<r&&(s=i)}return s}function ye(t,n={}){const s=n.restarts||10,e=[],i={};for(const h of t)h.sets.length===1&&(i[h.sets[0]]=e.length,e.push(h));let{distances:o,constraints:r}=de(t,e,i);const l=ut(o.map(ut))/o.length;o=o.map(h=>h.map(b=>b/l));const f=(h,b)=>ge(h,b,o,r);let u=null;for(let h=0;h<s;++h){const b=ct(o.length*2).map(Math.random),p=fe(f,b,n);(!u||p.fx<u.fx)&&(u=p)}const a=u.x,y={};for(let h=0;h<e.length;++h){const b=e[h];y[b.sets[0]]={x:a[2*h]*l,y:a[2*h+1]*l,radius:Math.sqrt(b.size/Math.PI)}}if(n.history)for(const h of n.history)ft(h.x,l);return y}function pe(t,n){const s=n&&n.lossFunction?n.lossFunction:tt,e={},i={};for(const y of t)if(y.sets.length===1){const h=y.sets[0];e[h]={x:1e10,y:1e10,rowid:e.length,size:y.size,radius:Math.sqrt(y.size/Math.PI)},i[h]=[]}t=t.filter(y=>y.sets.length===2);for(const y of t){let h=y.weight!=null?y.weight:1;const b=y.sets[0],p=y.sets[1];y.size+Rt>=Math.min(e[b].size,e[p].size)&&(h=0),i[b].push({set:p,size:y.size,weight:h}),i[p].push({set:b,size:y.size,weight:h})}const o=[];Object.keys(i).forEach(y=>{let h=0;for(let b=0;b<i[y].length;++b)h+=i[y][b].size*i[y][b].weight;o.push({set:y,size:h})});function r(y,h){return h.size-y.size}o.sort(r);const l={};function f(y){return y.set in l}function u(y,h){e[h].x=y.x,e[h].y=y.y,l[h]=!0}u({x:0,y:0},o[0].set);for(let y=1;y<o.length;++y){const h=o[y].set,b=i[h].filter(f),p=e[h];if(b.sort(r),b.length===0)throw"ERROR: missing pairwise overlap information";const M=[];for(var a=0;a<b.length;++a){const S=e[b[a].set],g=ht(p.radius,S.radius,b[a].size);M.push({x:S.x+g,y:S.y}),M.push({x:S.x-g,y:S.y}),M.push({y:S.y+g,x:S.x}),M.push({y:S.y-g,x:S.x});for(let m=a+1;m<b.length;++m){const v=e[b[m].set],c=ht(p.radius,v.radius,b[m].size),x=Tt({x:S.x,y:S.y,radius:g},{x:v.x,y:v.y,radius:c});M.push(...x)}}let E=1e50,_=M[0];for(const S of M){e[h].x=S.x,e[h].y=S.y;const g=s(e,t);g<E&&(E=g,_=S)}u(_,h)}return e}function tt(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const r=t[e.sets[0]],l=t[e.sets[1]];i=xt(r.radius,l.radius,q(r,l))}else i=st(e.sets.map(r=>t[r]));const o=e.weight!=null?e.weight:1;s+=o*(i-e.size)*(i-e.size)}return s}function Ct(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const l=t[e.sets[0]],f=t[e.sets[1]];i=xt(l.radius,f.radius,q(l,f))}else i=st(e.sets.map(l=>t[l]));const o=e.weight!=null?e.weight:1,r=Math.log((i+1)/(e.size+1));s+=o*r*r}return s}function me(t,n,s){if(s==null?t.sort((i,o)=>o.radius-i.radius):t.sort(s),t.length>0){const i=t[0].x,o=t[0].y;for(const r of t)r.x-=i,r.y-=o}if(t.length===2&&q(t[0],t[1])<Math.abs(t[1].radius-t[0].radius)&&(t[1].x=t[0].x+t[0].radius-t[1].radius-1e-10,t[1].y=t[0].y),t.length>1){const i=Math.atan2(t[1].x,t[1].y)-n,o=Math.cos(i),r=Math.sin(i);for(const l of t){const f=l.x,u=l.y;l.x=o*f-r*u,l.y=r*f+o*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-n;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const o=t[1].y/(1e-10+t[1].x);for(const r of t){var e=(r.x+o*r.y)/(1+o*o);r.x=2*e-r.x,r.y=2*e*o-r.y}}}}function be(t){t.forEach(i=>{i.parent=i});function n(i){return i.parent!==i&&(i.parent=n(i.parent)),i.parent}function s(i,o){const r=n(i),l=n(o);r.parent=l}for(let i=0;i<t.length;++i)for(let o=i+1;o<t.length;++o){const r=t[i].radius+t[o].radius;q(t[i],t[o])+1e-10<r&&s(t[o],t[i])}const e=new Map;for(let i=0;i<t.length;++i){const o=n(t[i]).parent.setid;e.has(o)||e.set(o,[]),e.get(o).push(t[i])}return t.forEach(i=>{delete i.parent}),Array.from(e.values())}function dt(t){const n=s=>{const e=t.reduce((o,r)=>Math.max(o,r[s]+r.radius),Number.NEGATIVE_INFINITY),i=t.reduce((o,r)=>Math.min(o,r[s]-r.radius),Number.POSITIVE_INFINITY);return{max:e,min:i}};return{xRange:n("x"),yRange:n("y")}}function Dt(t,n,s){n==null&&(n=Math.PI/2);let e=Ft(t).map(u=>Object.assign({},u));const i=be(e);for(const u of i){me(u,n,s);const a=dt(u);u.size=(a.xRange.max-a.xRange.min)*(a.yRange.max-a.yRange.min),u.bounds=a}i.sort((u,a)=>a.size-u.size),e=i[0];let o=e.bounds;const r=(o.xRange.max-o.xRange.min)/50;function l(u,a,y){if(!u)return;const h=u.bounds;let b,p;if(a)b=o.xRange.max-h.xRange.min+r;else{b=o.xRange.max-h.xRange.max;const M=(h.xRange.max-h.xRange.min)/2-(o.xRange.max-o.xRange.min)/2;M<0&&(b+=M)}if(y)p=o.yRange.max-h.yRange.min+r;else{p=o.yRange.max-h.yRange.max;const M=(h.yRange.max-h.yRange.min)/2-(o.yRange.max-o.yRange.min)/2;M<0&&(p+=M)}for(const M of u)M.x+=b,M.y+=p,e.push(M)}let f=1;for(;f<i.length;)l(i[f],!0,!1),l(i[f+1],!1,!0),l(i[f+2],!0,!0),f+=3,o=dt(e);return Ot(e)}function Nt(t,n,s,e,i){const o=Ft(t);n-=2*e,s-=2*e;const{xRange:r,yRange:l}=dt(o);if(r.max===r.min||l.max===l.min)return console.log("not scaling solution: zero size detected"),t;let f,u;if(i){const b=Math.sqrt(i/Math.PI)*2;f=n/b,u=s/b}else f=n/(r.max-r.min),u=s/(l.max-l.min);const a=Math.min(u,f),y=(n-(r.max-r.min)*a)/2,h=(s-(l.max-l.min)*a)/2;return Ot(o.map(b=>({radius:a*b.radius,x:e+y+(b.x-r.min)*a,y:e+h+(b.y-l.min)*a,setid:b.setid})))}function Ot(t){const n={};for(const s of t)n[s.setid]=s;return n}function Ft(t){return Object.keys(t).map(s=>Object.assign(t[s],{setid:s}))}function ve(t={}){let n=!1,s=600,e=350,i=15,o=1e3,r=Math.PI/2,l=!0,f=null,u=!0,a=!0,y=null,h=null,b=!1,p=null,M=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,E={},_=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],S=0,g=function(x){if(x in E)return E[x];var d=E[x]=_[S];return S+=1,S>=_.length&&(S=0),d},m=At,v=tt;function c(x){let d=x.datum();const C=new Set;d.forEach(k=>{k.size==0&&k.sets.length==1&&C.add(k.sets[0])}),d=d.filter(k=>!k.sets.some(F=>C.has(F)));let I={},D={};if(d.length>0){let k=m(d,{lossFunction:v,distinct:b});l&&(k=Dt(k,r,h)),I=Nt(k,s,e,i,f),D=Lt(I,d,M)}const U={};d.forEach(k=>{k.label&&(U[k.sets]=k.label)});function V(k){if(k.sets in U)return U[k.sets];if(k.sets.length==1)return""+k.sets[0]}x.selectAll("svg").data([I]).enter().append("svg");const O=x.select("svg");n?O.attr("viewBox",`0 0 ${s} ${e}`):O.attr("width",s).attr("height",e);const R={};let T=!1;O.selectAll(".venn-area path").each(function(k){const F=this.getAttribute("d");k.sets.length==1&&F&&!b&&(T=!0,R[k.sets[0]]=Me(F))});function A(k){return F=>{const H=k.sets.map(et=>{let X=R[et],Z=I[et];return X||(X={x:s/2,y:e/2,radius:1}),Z||(Z={x:s/2,y:e/2,radius:1}),{x:X.x*(1-F)+Z.x*F,y:X.y*(1-F)+Z.y*F,radius:X.radius*(1-F)+Z.radius*F}});return St(H,p)}}const G=O.selectAll(".venn-area").data(d,k=>k.sets),P=G.enter().append("g").attr("class",k=>`venn-area venn-${k.sets.length==1?"circle":"intersection"}${k.colour||k.color?" venn-coloured":""}`).attr("data-venn-sets",k=>k.sets.join("_")),B=P.append("path"),L=P.append("text").attr("class","label").text(k=>V(k)).attr("text-anchor","middle").attr("dy",".35em").attr("x",s/2).attr("y",e/2);a&&(B.style("fill-opacity","0").filter(k=>k.sets.length==1).style("fill",k=>k.colour?k.colour:k.color?k.color:g(k.sets)).style("fill-opacity",".25"),L.style("fill",k=>k.colour||k.color?"#FFF":t.textFill?t.textFill:k.sets.length==1?g(k.sets):"#444"));function W(k){return typeof k.transition=="function"?k.transition("venn").duration(o):k}let z=x;T&&typeof z.transition=="function"?(z=W(x),z.selectAll("path").attrTween("d",A)):z.selectAll("path").attr("d",k=>St(k.sets.map(F=>I[F])),p);const N=z.selectAll("text").filter(k=>k.sets in D).text(k=>V(k)).attr("x",k=>Math.floor(D[k.sets].x)).attr("y",k=>Math.floor(D[k.sets].y));u&&(T?"on"in N?N.on("end",rt(I,V)):N.each("end",rt(I,V)):N.each(rt(I,V)));const j=W(G.exit()).remove();typeof G.transition=="function"&&j.selectAll("path").attrTween("d",A);const Y=j.selectAll("text").attr("x",s/2).attr("y",e/2);return y!==null&&(L.style("font-size","0px"),N.style("font-size",y),Y.style("font-size","0px")),{circles:I,textCentres:D,nodes:G,enter:P,update:z,exit:j}}return c.wrap=function(x){return arguments.length?(u=x,c):u},c.useViewBox=function(){return n=!0,c},c.width=function(x){return arguments.length?(s=x,c):s},c.height=function(x){return arguments.length?(e=x,c):e},c.padding=function(x){return arguments.length?(i=x,c):i},c.distinct=function(x){return arguments.length?(b=x,c):b},c.colours=function(x){return arguments.length?(g=x,c):g},c.colors=function(x){return arguments.length?(g=x,c):g},c.fontSize=function(x){return arguments.length?(y=x,c):y},c.round=function(x){return arguments.length?(p=x,c):p},c.duration=function(x){return arguments.length?(o=x,c):o},c.layoutFunction=function(x){return arguments.length?(m=x,c):m},c.normalize=function(x){return arguments.length?(l=x,c):l},c.scaleToFit=function(x){return arguments.length?(f=x,c):f},c.styled=function(x){return arguments.length?(a=x,c):a},c.orientation=function(x){return arguments.length?(r=x,c):r},c.orientationOrder=function(x){return arguments.length?(h=x,c):h},c.lossFunction=function(x){return arguments.length?(v=x==="default"?tt:x==="logRatio"?Ct:x,c):v},c}function rt(t,n){return function(s){const e=this,i=t[s.sets[0]].radius||50,o=n(s)||"",r=o.split(/\s+/).reverse(),f=(o.length+r.length)/3;let u=r.pop(),a=[u],y=0;const h=1.1;e.textContent=null;const b=[];function p(g){const m=e.ownerDocument.createElementNS(e.namespaceURI,"tspan");return m.textContent=g,b.push(m),e.append(m),m}let M=p(u);for(;u=r.pop(),!!u;){a.push(u);const g=a.join(" ");M.textContent=g,g.length>f&&M.getComputedTextLength()>i&&(a.pop(),M.textContent=a.join(" "),a=[u],M=p(u),y++)}const E=.35-y*h/2,_=e.getAttribute("x"),S=e.getAttribute("y");b.forEach((g,m)=>{g.setAttribute("x",_),g.setAttribute("y",S),g.setAttribute("dy",`${E+m*h}em`)})}}function at(t,n,s){let e=n[0].radius-q(n[0],t);for(let i=1;i<n.length;++i){const o=n[i].radius-q(n[i],t);o<=e&&(e=o)}for(let i=0;i<s.length;++i){const o=q(s[i],t)-s[i].radius;o<=e&&(e=o)}return e}function jt(t,n,s){const e=[];for(const a of t)e.push({x:a.x,y:a.y}),e.push({x:a.x+a.radius/2,y:a.y}),e.push({x:a.x-a.radius/2,y:a.y}),e.push({x:a.x,y:a.y+a.radius/2}),e.push({x:a.x,y:a.y-a.radius/2});let i=e[0],o=at(e[0],t,n);for(let a=1;a<e.length;++a){const y=at(e[a],t,n);y>=o&&(i=e[a],o=y)}const r=zt(a=>-1*at({x:a[0],y:a[1]},t,n),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,l={x:s?0:r[0],y:r[1]};let f=!0;for(const a of t)if(q(l,a)>a.radius){f=!1;break}for(const a of n)if(q(l,a)<a.radius){f=!1;break}if(f)return l;if(t.length==1)return{x:t[0].x,y:t[0].y};const u={};return st(t,u),u.arcs.length===0?{x:0,y:-1e3,disjoint:!0}:u.arcs.length==1?{x:u.arcs[0].circle.x,y:u.arcs[0].circle.y}:n.length?jt(t,[]):Et(u.arcs.map(a=>a.p1))}function Ie(t){const n={},s=Object.keys(t);for(const e of s)n[e]=[];for(let e=0;e<s.length;e++){const i=s[e],o=t[i];for(let r=e+1;r<s.length;++r){const l=s[r],f=t[l],u=q(o,f);u+f.radius<=o.radius+1e-10?n[l].push(i):u+o.radius<=f.radius+1e-10&&n[i].push(l)}}return n}function Lt(t,n,s){const e={},i=Ie(t);for(let o=0;o<n.length;++o){const r=n[o].sets,l={},f={};for(let h=0;h<r.length;++h){l[r[h]]=!0;const b=i[r[h]];for(let p=0;p<b.length;++p)f[b[p]]=!0}const u=[],a=[];for(let h in t)h in l?u.push(t[h]):h in f||a.push(t[h]);const y=jt(u,a,s);e[r]=y,y.disjoint&&n[o].size>0&&console.log("WARNING: area "+r+" not represented on screen")}return e}function ke(t,n,s){const e=[];return e.push(`
|
|
1
|
+
import{g as Kt,bK as Wt,ao as Ht,at as Xt,bN as Yt,ap as Zt,bL as Jt,d as w,ar as wt,bJ as Qt,bI as ot,r as $t,a_ as te,bc as ee,a6 as ne,X as se,O as ie,N as oe,ab as re}from"./mermaid.core-G9XIcppl.js";import"./app-C3WX_u_Z.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-Dea8wJF3.js";import"./purify.es-4eNOHKSq.js";const kt=(t,n)=>Kt(t,"a",-n),_t=1e-10;function st(t,n){const s=le(t),e=s.filter(l=>ae(l,t));let i=0,o=0;const r=[];if(e.length>1){const l=Et(e);for(let u=0;u<e.length;++u){const a=e[u];a.angle=Math.atan2(a.x-l.x,a.y-l.y)}e.sort((u,a)=>a.angle-u.angle);let f=e[e.length-1];for(let u=0;u<e.length;++u){const a=e[u];o+=(f.x+a.x)*(a.y-f.y);const y={x:(a.x+f.x)/2,y:(a.y+f.y)/2};let h=null;for(let b=0;b<a.parentIndex.length;++b)if(f.parentIndex.includes(a.parentIndex[b])){const p=t[a.parentIndex[b]],M=Math.atan2(a.x-p.x,a.y-p.y),E=Math.atan2(f.x-p.x,f.y-p.y);let _=E-M;_<0&&(_+=2*Math.PI);const S=E-_/2;let g=q(y,{x:p.x+p.radius*Math.sin(S),y:p.y+p.radius*Math.cos(S)});g>p.radius*2&&(g=p.radius*2),(h==null||h.width>g)&&(h={circle:p,width:g,p1:a,p2:f,large:g>p.radius,sweep:!0})}h!=null&&(r.push(h),i+=lt(h.circle.radius,h.width),f=a)}}else{let l=t[0];for(let u=1;u<t.length;++u)t[u].radius<l.radius&&(l=t[u]);let f=!1;for(let u=0;u<t.length;++u)if(q(t[u],l)>Math.abs(l.radius-t[u].radius)){f=!0;break}f?i=o=0:(i=l.radius*l.radius*Math.PI,r.push({circle:l,p1:{x:l.x,y:l.y+l.radius},p2:{x:l.x-_t,y:l.y+l.radius},width:l.radius*2,large:!0,sweep:!0}))}return o/=2,n&&(n.area=i+o,n.arcArea=i,n.polygonArea=o,n.arcs=r,n.innerPoints=e,n.intersectionPoints=s),i+o}function ae(t,n){return n.every(s=>q(t,s)<s.radius+_t)}function le(t){const n=[];for(let s=0;s<t.length;++s)for(let e=s+1;e<t.length;++e){const i=Tt(t[s],t[e]);for(const o of i)o.parentIndex=[s,e],n.push(o)}return n}function lt(t,n){return t*t*Math.acos(1-n/t)-(t-n)*Math.sqrt(n*(2*t-n))}function q(t,n){return Math.sqrt((t.x-n.x)*(t.x-n.x)+(t.y-n.y)*(t.y-n.y))}function xt(t,n,s){if(s>=t+n)return 0;if(s<=Math.abs(t-n))return Math.PI*Math.min(t,n)*Math.min(t,n);const e=t-(s*s-n*n+t*t)/(2*s),i=n-(s*s-t*t+n*n)/(2*s);return lt(t,e)+lt(n,i)}function Tt(t,n){const s=q(t,n),e=t.radius,i=n.radius;if(s>=e+i||s<=Math.abs(e-i))return[];const o=(e*e-i*i+s*s)/(2*s),r=Math.sqrt(e*e-o*o),l=t.x+o*(n.x-t.x)/s,f=t.y+o*(n.y-t.y)/s,u=-(n.y-t.y)*(r/s),a=-(n.x-t.x)*(r/s);return[{x:l+u,y:f-a},{x:l-u,y:f+a}]}function Et(t){const n={x:0,y:0};for(const s of t)n.x+=s.x,n.y+=s.y;return n.x/=t.length,n.y/=t.length,n}function ce(t,n,s,e){e=e||{};const i=e.maxIterations||100,o=e.tolerance||1e-10,r=t(n),l=t(s);let f=s-n;if(r*l>0)throw"Initial bisect points must have opposite signs";if(r===0)return n;if(l===0)return s;for(let u=0;u<i;++u){f/=2;const a=n+f,y=t(a);if(y*r>=0&&(n=a),Math.abs(f)<o||y===0)return a}return n+f}function ct(t){const n=new Array(t);for(let s=0;s<t;++s)n[s]=0;return n}function Mt(t,n){return ct(t).map(()=>ct(n))}function $(t,n){let s=0;for(let e=0;e<t.length;++e)s+=t[e]*n[e];return s}function ut(t){return Math.sqrt($(t,t))}function ft(t,n,s){for(let e=0;e<n.length;++e)t[e]=n[e]*s}function J(t,n,s,e,i){for(let o=0;o<t.length;++o)t[o]=n*s[o]+e*i[o]}function zt(t,n,s){s=s||{};const e=s.maxIterations||n.length*200,i=s.nonZeroDelta||1.05,o=s.zeroDelta||.001,r=s.minErrorDelta||1e-6,l=s.minErrorDelta||1e-5,f=s.rho!==void 0?s.rho:1,u=s.chi!==void 0?s.chi:2,a=s.psi!==void 0?s.psi:-.5,y=s.sigma!==void 0?s.sigma:.5;let h;const b=n.length,p=new Array(b+1);p[0]=n,p[0].fx=t(n),p[0].id=0;for(let v=0;v<b;++v){const c=n.slice();c[v]=c[v]?c[v]*i:o,p[v+1]=c,p[v+1].fx=t(c),p[v+1].id=v+1}function M(v){for(let c=0;c<v.length;c++)p[b][c]=v[c];p[b].fx=v.fx}const E=(v,c)=>v.fx-c.fx,_=n.slice(),S=n.slice(),g=n.slice(),m=n.slice();for(let v=0;v<e;++v){if(p.sort(E),s.history){const x=p.map(d=>{const C=d.slice();return C.fx=d.fx,C.id=d.id,C});x.sort((d,C)=>d.id-C.id),s.history.push({x:p[0].slice(),fx:p[0].fx,simplex:x})}h=0;for(let x=0;x<b;++x)h=Math.max(h,Math.abs(p[0][x]-p[1][x]));if(Math.abs(p[0].fx-p[b].fx)<r&&h<l)break;for(let x=0;x<b;++x){_[x]=0;for(let d=0;d<b;++d)_[x]+=p[d][x];_[x]/=b}const c=p[b];if(J(S,1+f,_,-f,c),S.fx=t(S),S.fx<p[0].fx)J(m,1+u,_,-u,c),m.fx=t(m),m.fx<S.fx?M(m):M(S);else if(S.fx>=p[b-1].fx){let x=!1;if(S.fx>c.fx?(J(g,1+a,_,-a,c),g.fx=t(g),g.fx<c.fx?M(g):x=!0):(J(g,1-a*f,_,a*f,c),g.fx=t(g),g.fx<S.fx?M(g):x=!0),x){if(y>=1)break;for(let d=1;d<p.length;++d)J(p[d],1-y,p[0],y,p[d]),p[d].fx=t(p[d])}}else M(S)}return p.sort(E),{fx:p[0].fx,x:p[0]}}function ue(t,n,s,e,i,o,r){const l=s.fx,f=$(s.fxprime,n);let u=l,a=l,y=f,h=0;i=i||1,o=o||1e-6,r=r||.1;function b(p,M,E){for(let _=0;_<16;++_)if(i=(p+M)/2,J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),y=$(e.fxprime,n),u>l+o*i*f||u>=E)M=i;else{if(Math.abs(y)<=-r*f)return i;y*(M-p)>=0&&(M=p),p=i,E=u}return 0}for(let p=0;p<10;++p){if(J(e.x,1,s.x,i,n),u=e.fx=t(e.x,e.fxprime),y=$(e.fxprime,n),u>l+o*i*f||p&&u>=a)return b(h,i,a);if(Math.abs(y)<=-r*f)return i;if(y>=0)return b(i,h,u);a=u,h=i,i*=2}return i}function fe(t,n,s){let e={x:n.slice(),fx:0,fxprime:n.slice()},i={x:n.slice(),fx:0,fxprime:n.slice()};const o=n.slice();let r,l,f=1,u;s=s||{},u=s.maxIterations||n.length*20,e.fx=t(e.x,e.fxprime),r=e.fxprime.slice(),ft(r,e.fxprime,-1);for(let a=0;a<u;++a){if(f=ue(t,r,e,i,f),s.history&&s.history.push({x:e.x.slice(),fx:e.fx,fxprime:e.fxprime.slice(),alpha:f}),!f)ft(r,e.fxprime,-1);else{J(o,1,i.fxprime,-1,e.fxprime);const y=$(e.fxprime,e.fxprime),h=Math.max(0,$(o,i.fxprime)/y);J(r,h,r,-1,i.fxprime),l=e,e=i,i=l}if(ut(e.fxprime)<=1e-5)break}return s.history&&s.history.push({x:e.x.slice(),fx:e.fx,fxprime:e.fxprime.slice(),alpha:f}),e}function At(t,n={}){n.maxIterations=n.maxIterations||500;const s=n.initialLayout||xe,e=n.lossFunction||tt,i=he(t,n),o=s(i,n),r=Object.keys(o),l=[];for(const a of r)l.push(o[a].x),l.push(o[a].y);const u=zt(a=>{const y={};for(let h=0;h<r.length;++h){const b=r[h];y[b]={x:a[2*h],y:a[2*h+1],radius:o[b].radius}}return e(y,i)},l,n).x;for(let a=0;a<r.length;++a){const y=r[a];o[y].x=u[2*a],o[y].y=u[2*a+1]}return o}const Rt=1e-10;function ht(t,n,s){return Math.min(t,n)*Math.min(t,n)*Math.PI<=s+Rt?Math.abs(t-n):ce(e=>xt(t,n,e)-s,0,t+n)}function he(t,n={}){const s=n.distinct,e=t.map(l=>Object.assign({},l));function i(l){return l.join(";")}if(s){const l=new Map;for(const f of e)for(let u=0;u<f.sets.length;u++){const a=String(f.sets[u]);l.set(a,f.size+(l.get(a)||0));for(let y=u+1;y<f.sets.length;y++){const h=String(f.sets[y]),b=`${a};${h}`,p=`${h};${a}`;l.set(b,f.size+(l.get(b)||0)),l.set(p,f.size+(l.get(p)||0))}}for(const f of e)f.sets.length<3&&(f.size=l.get(i(f.sets)))}const o=[],r=new Set;for(const l of e)if(l.sets.length===1)o.push(l.sets[0]);else if(l.sets.length===2){const f=l.sets[0],u=l.sets[1];r.add(i(l.sets)),r.add(i([u,f]))}o.sort((l,f)=>l===f?0:l<f?-1:1);for(let l=0;l<o.length;++l){const f=o[l];for(let u=l+1;u<o.length;++u){const a=o[u];r.has(i([f,a]))||e.push({sets:[f,a],size:0})}}return e}function de(t,n,s){const e=Mt(n.length,n.length),i=Mt(n.length,n.length);return t.filter(o=>o.sets.length===2).forEach(o=>{const r=s[o.sets[0]],l=s[o.sets[1]],f=Math.sqrt(n[r].size/Math.PI),u=Math.sqrt(n[l].size/Math.PI),a=ht(f,u,o.size);e[r][l]=e[l][r]=a;let y=0;o.size+1e-10>=Math.min(n[r].size,n[l].size)?y=1:o.size<=1e-10&&(y=-1),i[r][l]=i[l][r]=y}),{distances:e,constraints:i}}function ge(t,n,s,e){for(let o=0;o<n.length;++o)n[o]=0;let i=0;for(let o=0;o<s.length;++o){const r=t[2*o],l=t[2*o+1];for(let f=o+1;f<s.length;++f){const u=t[2*f],a=t[2*f+1],y=s[o][f],h=e[o][f],b=(u-r)*(u-r)+(a-l)*(a-l),p=Math.sqrt(b),M=b-y*y;h>0&&p<=y||h<0&&p>=y||(i+=2*M*M,n[2*o]+=4*M*(r-u),n[2*o+1]+=4*M*(l-a),n[2*f]+=4*M*(u-r),n[2*f+1]+=4*M*(a-l))}}return i}function xe(t,n={}){let s=pe(t,n);const e=n.lossFunction||tt;if(t.length>=8){const i=ye(t,n),o=e(i,t),r=e(s,t);o+1e-8<r&&(s=i)}return s}function ye(t,n={}){const s=n.restarts||10,e=[],i={};for(const h of t)h.sets.length===1&&(i[h.sets[0]]=e.length,e.push(h));let{distances:o,constraints:r}=de(t,e,i);const l=ut(o.map(ut))/o.length;o=o.map(h=>h.map(b=>b/l));const f=(h,b)=>ge(h,b,o,r);let u=null;for(let h=0;h<s;++h){const b=ct(o.length*2).map(Math.random),p=fe(f,b,n);(!u||p.fx<u.fx)&&(u=p)}const a=u.x,y={};for(let h=0;h<e.length;++h){const b=e[h];y[b.sets[0]]={x:a[2*h]*l,y:a[2*h+1]*l,radius:Math.sqrt(b.size/Math.PI)}}if(n.history)for(const h of n.history)ft(h.x,l);return y}function pe(t,n){const s=n&&n.lossFunction?n.lossFunction:tt,e={},i={};for(const y of t)if(y.sets.length===1){const h=y.sets[0];e[h]={x:1e10,y:1e10,rowid:e.length,size:y.size,radius:Math.sqrt(y.size/Math.PI)},i[h]=[]}t=t.filter(y=>y.sets.length===2);for(const y of t){let h=y.weight!=null?y.weight:1;const b=y.sets[0],p=y.sets[1];y.size+Rt>=Math.min(e[b].size,e[p].size)&&(h=0),i[b].push({set:p,size:y.size,weight:h}),i[p].push({set:b,size:y.size,weight:h})}const o=[];Object.keys(i).forEach(y=>{let h=0;for(let b=0;b<i[y].length;++b)h+=i[y][b].size*i[y][b].weight;o.push({set:y,size:h})});function r(y,h){return h.size-y.size}o.sort(r);const l={};function f(y){return y.set in l}function u(y,h){e[h].x=y.x,e[h].y=y.y,l[h]=!0}u({x:0,y:0},o[0].set);for(let y=1;y<o.length;++y){const h=o[y].set,b=i[h].filter(f),p=e[h];if(b.sort(r),b.length===0)throw"ERROR: missing pairwise overlap information";const M=[];for(var a=0;a<b.length;++a){const S=e[b[a].set],g=ht(p.radius,S.radius,b[a].size);M.push({x:S.x+g,y:S.y}),M.push({x:S.x-g,y:S.y}),M.push({y:S.y+g,x:S.x}),M.push({y:S.y-g,x:S.x});for(let m=a+1;m<b.length;++m){const v=e[b[m].set],c=ht(p.radius,v.radius,b[m].size),x=Tt({x:S.x,y:S.y,radius:g},{x:v.x,y:v.y,radius:c});M.push(...x)}}let E=1e50,_=M[0];for(const S of M){e[h].x=S.x,e[h].y=S.y;const g=s(e,t);g<E&&(E=g,_=S)}u(_,h)}return e}function tt(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const r=t[e.sets[0]],l=t[e.sets[1]];i=xt(r.radius,l.radius,q(r,l))}else i=st(e.sets.map(r=>t[r]));const o=e.weight!=null?e.weight:1;s+=o*(i-e.size)*(i-e.size)}return s}function Ct(t,n){let s=0;for(const e of n){if(e.sets.length===1)continue;let i;if(e.sets.length===2){const l=t[e.sets[0]],f=t[e.sets[1]];i=xt(l.radius,f.radius,q(l,f))}else i=st(e.sets.map(l=>t[l]));const o=e.weight!=null?e.weight:1,r=Math.log((i+1)/(e.size+1));s+=o*r*r}return s}function me(t,n,s){if(s==null?t.sort((i,o)=>o.radius-i.radius):t.sort(s),t.length>0){const i=t[0].x,o=t[0].y;for(const r of t)r.x-=i,r.y-=o}if(t.length===2&&q(t[0],t[1])<Math.abs(t[1].radius-t[0].radius)&&(t[1].x=t[0].x+t[0].radius-t[1].radius-1e-10,t[1].y=t[0].y),t.length>1){const i=Math.atan2(t[1].x,t[1].y)-n,o=Math.cos(i),r=Math.sin(i);for(const l of t){const f=l.x,u=l.y;l.x=o*f-r*u,l.y=r*f+o*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-n;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const o=t[1].y/(1e-10+t[1].x);for(const r of t){var e=(r.x+o*r.y)/(1+o*o);r.x=2*e-r.x,r.y=2*e*o-r.y}}}}function be(t){t.forEach(i=>{i.parent=i});function n(i){return i.parent!==i&&(i.parent=n(i.parent)),i.parent}function s(i,o){const r=n(i),l=n(o);r.parent=l}for(let i=0;i<t.length;++i)for(let o=i+1;o<t.length;++o){const r=t[i].radius+t[o].radius;q(t[i],t[o])+1e-10<r&&s(t[o],t[i])}const e=new Map;for(let i=0;i<t.length;++i){const o=n(t[i]).parent.setid;e.has(o)||e.set(o,[]),e.get(o).push(t[i])}return t.forEach(i=>{delete i.parent}),Array.from(e.values())}function dt(t){const n=s=>{const e=t.reduce((o,r)=>Math.max(o,r[s]+r.radius),Number.NEGATIVE_INFINITY),i=t.reduce((o,r)=>Math.min(o,r[s]-r.radius),Number.POSITIVE_INFINITY);return{max:e,min:i}};return{xRange:n("x"),yRange:n("y")}}function Dt(t,n,s){n==null&&(n=Math.PI/2);let e=Ft(t).map(u=>Object.assign({},u));const i=be(e);for(const u of i){me(u,n,s);const a=dt(u);u.size=(a.xRange.max-a.xRange.min)*(a.yRange.max-a.yRange.min),u.bounds=a}i.sort((u,a)=>a.size-u.size),e=i[0];let o=e.bounds;const r=(o.xRange.max-o.xRange.min)/50;function l(u,a,y){if(!u)return;const h=u.bounds;let b,p;if(a)b=o.xRange.max-h.xRange.min+r;else{b=o.xRange.max-h.xRange.max;const M=(h.xRange.max-h.xRange.min)/2-(o.xRange.max-o.xRange.min)/2;M<0&&(b+=M)}if(y)p=o.yRange.max-h.yRange.min+r;else{p=o.yRange.max-h.yRange.max;const M=(h.yRange.max-h.yRange.min)/2-(o.yRange.max-o.yRange.min)/2;M<0&&(p+=M)}for(const M of u)M.x+=b,M.y+=p,e.push(M)}let f=1;for(;f<i.length;)l(i[f],!0,!1),l(i[f+1],!1,!0),l(i[f+2],!0,!0),f+=3,o=dt(e);return Ot(e)}function Nt(t,n,s,e,i){const o=Ft(t);n-=2*e,s-=2*e;const{xRange:r,yRange:l}=dt(o);if(r.max===r.min||l.max===l.min)return console.log("not scaling solution: zero size detected"),t;let f,u;if(i){const b=Math.sqrt(i/Math.PI)*2;f=n/b,u=s/b}else f=n/(r.max-r.min),u=s/(l.max-l.min);const a=Math.min(u,f),y=(n-(r.max-r.min)*a)/2,h=(s-(l.max-l.min)*a)/2;return Ot(o.map(b=>({radius:a*b.radius,x:e+y+(b.x-r.min)*a,y:e+h+(b.y-l.min)*a,setid:b.setid})))}function Ot(t){const n={};for(const s of t)n[s.setid]=s;return n}function Ft(t){return Object.keys(t).map(s=>Object.assign(t[s],{setid:s}))}function ve(t={}){let n=!1,s=600,e=350,i=15,o=1e3,r=Math.PI/2,l=!0,f=null,u=!0,a=!0,y=null,h=null,b=!1,p=null,M=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,E={},_=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],S=0,g=function(x){if(x in E)return E[x];var d=E[x]=_[S];return S+=1,S>=_.length&&(S=0),d},m=At,v=tt;function c(x){let d=x.datum();const C=new Set;d.forEach(k=>{k.size==0&&k.sets.length==1&&C.add(k.sets[0])}),d=d.filter(k=>!k.sets.some(F=>C.has(F)));let I={},D={};if(d.length>0){let k=m(d,{lossFunction:v,distinct:b});l&&(k=Dt(k,r,h)),I=Nt(k,s,e,i,f),D=Lt(I,d,M)}const U={};d.forEach(k=>{k.label&&(U[k.sets]=k.label)});function V(k){if(k.sets in U)return U[k.sets];if(k.sets.length==1)return""+k.sets[0]}x.selectAll("svg").data([I]).enter().append("svg");const O=x.select("svg");n?O.attr("viewBox",`0 0 ${s} ${e}`):O.attr("width",s).attr("height",e);const R={};let T=!1;O.selectAll(".venn-area path").each(function(k){const F=this.getAttribute("d");k.sets.length==1&&F&&!b&&(T=!0,R[k.sets[0]]=Me(F))});function A(k){return F=>{const H=k.sets.map(et=>{let X=R[et],Z=I[et];return X||(X={x:s/2,y:e/2,radius:1}),Z||(Z={x:s/2,y:e/2,radius:1}),{x:X.x*(1-F)+Z.x*F,y:X.y*(1-F)+Z.y*F,radius:X.radius*(1-F)+Z.radius*F}});return St(H,p)}}const G=O.selectAll(".venn-area").data(d,k=>k.sets),P=G.enter().append("g").attr("class",k=>`venn-area venn-${k.sets.length==1?"circle":"intersection"}${k.colour||k.color?" venn-coloured":""}`).attr("data-venn-sets",k=>k.sets.join("_")),B=P.append("path"),L=P.append("text").attr("class","label").text(k=>V(k)).attr("text-anchor","middle").attr("dy",".35em").attr("x",s/2).attr("y",e/2);a&&(B.style("fill-opacity","0").filter(k=>k.sets.length==1).style("fill",k=>k.colour?k.colour:k.color?k.color:g(k.sets)).style("fill-opacity",".25"),L.style("fill",k=>k.colour||k.color?"#FFF":t.textFill?t.textFill:k.sets.length==1?g(k.sets):"#444"));function W(k){return typeof k.transition=="function"?k.transition("venn").duration(o):k}let z=x;T&&typeof z.transition=="function"?(z=W(x),z.selectAll("path").attrTween("d",A)):z.selectAll("path").attr("d",k=>St(k.sets.map(F=>I[F])),p);const N=z.selectAll("text").filter(k=>k.sets in D).text(k=>V(k)).attr("x",k=>Math.floor(D[k.sets].x)).attr("y",k=>Math.floor(D[k.sets].y));u&&(T?"on"in N?N.on("end",rt(I,V)):N.each("end",rt(I,V)):N.each(rt(I,V)));const j=W(G.exit()).remove();typeof G.transition=="function"&&j.selectAll("path").attrTween("d",A);const Y=j.selectAll("text").attr("x",s/2).attr("y",e/2);return y!==null&&(L.style("font-size","0px"),N.style("font-size",y),Y.style("font-size","0px")),{circles:I,textCentres:D,nodes:G,enter:P,update:z,exit:j}}return c.wrap=function(x){return arguments.length?(u=x,c):u},c.useViewBox=function(){return n=!0,c},c.width=function(x){return arguments.length?(s=x,c):s},c.height=function(x){return arguments.length?(e=x,c):e},c.padding=function(x){return arguments.length?(i=x,c):i},c.distinct=function(x){return arguments.length?(b=x,c):b},c.colours=function(x){return arguments.length?(g=x,c):g},c.colors=function(x){return arguments.length?(g=x,c):g},c.fontSize=function(x){return arguments.length?(y=x,c):y},c.round=function(x){return arguments.length?(p=x,c):p},c.duration=function(x){return arguments.length?(o=x,c):o},c.layoutFunction=function(x){return arguments.length?(m=x,c):m},c.normalize=function(x){return arguments.length?(l=x,c):l},c.scaleToFit=function(x){return arguments.length?(f=x,c):f},c.styled=function(x){return arguments.length?(a=x,c):a},c.orientation=function(x){return arguments.length?(r=x,c):r},c.orientationOrder=function(x){return arguments.length?(h=x,c):h},c.lossFunction=function(x){return arguments.length?(v=x==="default"?tt:x==="logRatio"?Ct:x,c):v},c}function rt(t,n){return function(s){const e=this,i=t[s.sets[0]].radius||50,o=n(s)||"",r=o.split(/\s+/).reverse(),f=(o.length+r.length)/3;let u=r.pop(),a=[u],y=0;const h=1.1;e.textContent=null;const b=[];function p(g){const m=e.ownerDocument.createElementNS(e.namespaceURI,"tspan");return m.textContent=g,b.push(m),e.append(m),m}let M=p(u);for(;u=r.pop(),!!u;){a.push(u);const g=a.join(" ");M.textContent=g,g.length>f&&M.getComputedTextLength()>i&&(a.pop(),M.textContent=a.join(" "),a=[u],M=p(u),y++)}const E=.35-y*h/2,_=e.getAttribute("x"),S=e.getAttribute("y");b.forEach((g,m)=>{g.setAttribute("x",_),g.setAttribute("y",S),g.setAttribute("dy",`${E+m*h}em`)})}}function at(t,n,s){let e=n[0].radius-q(n[0],t);for(let i=1;i<n.length;++i){const o=n[i].radius-q(n[i],t);o<=e&&(e=o)}for(let i=0;i<s.length;++i){const o=q(s[i],t)-s[i].radius;o<=e&&(e=o)}return e}function jt(t,n,s){const e=[];for(const a of t)e.push({x:a.x,y:a.y}),e.push({x:a.x+a.radius/2,y:a.y}),e.push({x:a.x-a.radius/2,y:a.y}),e.push({x:a.x,y:a.y+a.radius/2}),e.push({x:a.x,y:a.y-a.radius/2});let i=e[0],o=at(e[0],t,n);for(let a=1;a<e.length;++a){const y=at(e[a],t,n);y>=o&&(i=e[a],o=y)}const r=zt(a=>-1*at({x:a[0],y:a[1]},t,n),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,l={x:s?0:r[0],y:r[1]};let f=!0;for(const a of t)if(q(l,a)>a.radius){f=!1;break}for(const a of n)if(q(l,a)<a.radius){f=!1;break}if(f)return l;if(t.length==1)return{x:t[0].x,y:t[0].y};const u={};return st(t,u),u.arcs.length===0?{x:0,y:-1e3,disjoint:!0}:u.arcs.length==1?{x:u.arcs[0].circle.x,y:u.arcs[0].circle.y}:n.length?jt(t,[]):Et(u.arcs.map(a=>a.p1))}function Ie(t){const n={},s=Object.keys(t);for(const e of s)n[e]=[];for(let e=0;e<s.length;e++){const i=s[e],o=t[i];for(let r=e+1;r<s.length;++r){const l=s[r],f=t[l],u=q(o,f);u+f.radius<=o.radius+1e-10?n[l].push(i):u+o.radius<=f.radius+1e-10&&n[i].push(l)}}return n}function Lt(t,n,s){const e={},i=Ie(t);for(let o=0;o<n.length;++o){const r=n[o].sets,l={},f={};for(let h=0;h<r.length;++h){l[r[h]]=!0;const b=i[r[h]];for(let p=0;p<b.length;++p)f[b[p]]=!0}const u=[],a=[];for(let h in t)h in l?u.push(t[h]):h in f||a.push(t[h]);const y=jt(u,a,s);e[r]=y,y.disjoint&&n[o].size>0&&console.log("WARNING: area "+r+" not represented on screen")}return e}function ke(t,n,s){const e=[];return e.push(`
|
|
2
2
|
M`,t,n),e.push(`
|
|
3
3
|
m`,-s,0),e.push(`
|
|
4
4
|
a`,s,s,0,1,0,s*2,0),e.push(`
|
|
Binary file
|
|
Binary file
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{a5 as b}from"./app-C3WX_u_Z.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-Dea8wJF3.js";const v="termdock-video-compression-v2",L="termdock-media-plugins",m="assets";function P(){return new Promise((e,o)=>{const r=indexedDB.open(L,1);let t=!1;r.onupgradeneeded=()=>r.result.createObjectStore(m),r.onerror=()=>{t=!0,o(r.error??new Error("Plugin storage unavailable"))},r.onblocked=()=>{t=!0,o(new Error("Plugin storage unavailable"))},r.onsuccess=()=>{if(t){r.result.close();return}t=!0,e(r.result)}})}async function w(e,o){const r=await P();try{return await new Promise((t,s)=>{const a=r.transaction(m,e),c=o(a.objectStore(m));a.oncomplete=()=>t(c.result),a.onabort=a.onerror=()=>s(a.error??new Error("Plugin storage failed"))})}finally{r.close()}}async function A(e,o){try{const r=await caches.open(v),t=await r.match(e);if(t?.ok){const s=await t.blob();if(s.size===o)return s;await r.delete(e)}}catch{}try{const r=await w("readonly",t=>t.get(e));if(r instanceof Blob&&r.size===o)return r}catch{}return null}async function k(e,o){try{const r=await caches.open(v);await r.put(e,new Response(o,{headers:{"Content-Type":"application/wasm"}}));const t=await r.match(e);if(t?.ok&&(await t.blob()).size===o.size)return!0}catch{}try{await w("readwrite",t=>t.put(o,e));const r=await w("readonly",t=>t.get(e));return r instanceof Blob&&r.size===o.size}catch{return!1}}const E="/assets/video-compression/v2",y=32232419;let d=null,u={phase:"checking-cache"};const g=new Set;function p(e){e.phase===u.phase&&e.progress===u.progress&&e.source===u.source&&e.saved===u.saved||(u=e,g.forEach(o=>o(e)))}function B(e){return typeof Worker>"u"||typeof WebAssembly>"u"?Promise.reject(new Error("This browser cannot run local video compression.")):(d||(p({phase:"checking-cache"}),d=R().then(async({blob:o,source:r,saved:t})=>{p({phase:"initializing",source:r,saved:t});const{FFmpeg:s}=await b(async()=>{const{FFmpeg:i}=await import("./index-CUxsIblL.js");return{FFmpeg:i}},[]),a=new s,c=URL.createObjectURL(o);try{return await a.load({coreURL:`${E}/ffmpeg-core.js`,wasmURL:c}),p({phase:"ready",source:r,saved:t}),a}catch(i){throw a.terminate(),i}finally{URL.revokeObjectURL(c)}}).catch(o=>{throw d=null,o})),e?(g.add(e),e(u),d.finally(()=>{g.delete(e)})):d)}async function R(){const e=`${E}/ffmpeg-core.wasm`,o=await A(e,y);if(o)return{blob:o,source:"local",saved:!0};p({phase:"loading",progress:0,source:"fetch"});const r=await fetch(e,{cache:"force-cache"});if(!r.ok||!r.body)throw new Error(`Unable to download local video compression (${r.status}).`);const t=Number(r.headers.get("Content-Length")),s=r.body.getReader();let a=0;const c=[];for(;;){const{done:h,value:n}=await s.read();if(h)break;a+=n.byteLength,c.push(_(n)),Number.isFinite(t)&&t>0&&p({phase:"loading",progress:Math.min(99,Math.round(a/t*100)),source:"fetch"})}const i=new Blob(c,{type:"application/wasm"});if(c.length=0,i.size!==y)throw new Error("本地转码器下载不完整,请重试。");p({phase:"saving",progress:100,source:"fetch"});const f=await k(e,i);return{blob:i,source:"fetch",saved:f}}async function z(e,o){const[{fetchFile:r},t]=await Promise.all([b(()=>import("./index-607UPNXL.js"),[]),B()]),s=`input-${crypto.randomUUID()}${U(e)}`,a=`compressed-${crypto.randomUUID()}.mp4`;let c=0;const i=[],f=({message:n})=>{i.push(n.slice(0,500)),i.length>10&&i.shift()},h=({progress:n})=>{const l=Math.max(c,Math.min(95,Math.round(5+n*90)));c=l,o.onProgress?.(l)};t.on("progress",h),t.on("log",f);try{o.onProgress?.(1),await t.writeFile(s,await r(e));const n=await t.exec(["-i",s,"-map","0:v:0","-map","0:a?","-vf",`scale=w='min(${o.maxHeight},iw)':h='min(${o.maxHeight},ih)':force_original_aspect_ratio=decrease:force_divisible_by=2`,"-c:v","libx264","-preset","veryfast","-pix_fmt","yuv420p","-b:v",String(o.videoBitrate),"-maxrate",String(o.videoBitrate),"-bufsize",String(o.videoBitrate*2),"-c:a","aac","-b:a","128k","-movflags","+faststart",a]);if(n!==0)throw new Error(`视频转码失败(退出码 ${n})。`);const l=await t.readFile(a);if(!(l instanceof Uint8Array)||l.byteLength===0)throw new Error("转码器未生成有效的视频文件。");return o.onProgress?.(100),new File([_(l)],C(e.name),{type:"video/mp4"})}catch(n){const l=n instanceof Error?n.message:String(n);throw new Error([l,i.join(`
|
|
2
2
|
`)].filter(Boolean).join(`
|
|
3
3
|
`).slice(0,3e3))}finally{t.off("progress",h),t.off("log",f),await Promise.allSettled([t.deleteFile(s),t.deleteFile(a)])}}function _(e){return e.buffer instanceof ArrayBuffer?e:new Uint8Array(e)}function U(e){return/\.[A-Za-z0-9]{1,10}$/.exec(e.name)?.[0]??(e.type==="video/quicktime"?".mov":".mp4")}function C(e){return`${e.replace(/\.[^.]+$/,"")||"video"}-compressed.mp4`}export{z as compressVideoLocally,B as prepareLocalVideoCompression};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as Mt}from"./chunk-JWPE2WC7-
|
|
1
|
+
import{p as Mt}from"./chunk-JWPE2WC7-C1_iFEvk.js";import{bK as Nt,ao as Lt,at as zt,bN as Tt,ap as Xt,bL as At,d as u,aB as Et,ar as Yt,N as K,bg as Q,bJ as It,X as Bt,O as Ft,as as V}from"./mermaid.core-G9XIcppl.js";import{p as Ot}from"./cynefin-OW5HDTMX-CZAa1A6y.js";import"./app-C3WX_u_Z.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-Dea8wJF3.js";import"./purify.es-4eNOHKSq.js";var G=u((o,r)=>{const e=o<=1?o*100:o;if(e<0||e>100)throw new Error(`${r} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${o}`);return e},"toPercent"),X=u((o,r,e)=>({x:G(r,`${e} evolution`),y:G(o,`${e} visibility`)}),"toCoordinates"),U=u(o=>{if(o){if(o==="+<>")return"bidirectional";if(o==="+<")return"backward";if(o==="+>")return"forward"}},"getFlowFromPort"),Rt=u(o=>{if(!o?.startsWith("+"))return{};const e=/^\+'([^']*)'/.exec(o)?.[1];return o.includes("<>")?{flow:"bidirectional",label:e}:o.includes("<")?{flow:"backward",label:e}:o.includes(">")?{flow:"forward",label:e}:{label:e}},"extractFlowFromArrow"),Wt=u((o,r)=>{if(Mt(o,r),o.size&&r.setSize(o.size.width,o.size.height),o.evolution){const e=o.evolution.stages.map(a=>a.secondName?`${a.name.trim()} / ${a.secondName.trim()}`:a.name.trim()),h=o.evolution.stages.filter(a=>a.boundary!==void 0).map(a=>a.boundary);r.updateAxes({stages:e,stageBoundaries:h})}if(o.anchors.forEach(e=>{const h=X(e.visibility,e.evolution,`Anchor "${e.name}"`);r.addNode(e.name,e.name,h.x,h.y,"anchor")}),o.components.forEach(e=>{const h=X(e.visibility,e.evolution,`Component "${e.name}"`),a=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,d=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,w=e.decorator?.strategy;r.addNode(e.name,e.name,h.x,h.y,"component",a,d,e.inertia,w)}),o.notes.forEach(e=>{const h=X(e.visibility,e.evolution,`Note "${e.text}"`);r.addNote(e.text,h.x,h.y)}),o.pipelines.forEach(e=>{const h=r.getNode(e.parent);if(!h||typeof h.y!="number")throw new Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);const a=h.y;r.startPipeline(e.parent),e.components.forEach(d=>{const w=`${e.parent}_${d.name}`,C=d.label?(d.label.negX?-1:1)*d.label.offsetX:void 0,g=d.label?(d.label.negY?-1:1)*d.label.offsetY:void 0,O=G(d.evolution,`Pipeline component "${d.name}" evolution`);r.addNode(w,d.name,O,a,"pipeline-component",C,g),r.addPipelineComponent(e.parent,w)})}),o.links.forEach(e=>{const h=!!e.arrow&&(e.arrow.includes("-.->")||e.arrow.includes(".-."));let a=U(e.fromPort)??U(e.toPort);const{flow:d,label:w}=Rt(e.arrow);!a&&d&&(a=d);const C=e.linkLabel,g=w??C;r.addLink(r.resolveNodeId(e.from),r.resolveNodeId(e.to),h,g,a)}),o.evolves.forEach(e=>{const h=r.getNode(e.component);if(h?.y!==void 0){const a=G(e.target,`Evolve target for "${e.component}"`);r.addTrend(e.component,a,h.y)}}),o.annotations.length>0){const e=o.annotations[0],h=X(e.x,e.y,"Annotations box");r.setAnnotationsBox(h.x,h.y)}o.annotation.forEach(e=>{const h=X(e.x,e.y,`Annotation ${e.number}`);r.addAnnotation(e.number,[{x:h.x,y:h.y}],e.text)}),o.accelerators.forEach(e=>{const h=X(e.x,e.y,`Accelerator "${e.name}"`);r.addAccelerator(e.name,h.x,h.y)}),o.deaccelerators.forEach(e=>{const h=X(e.x,e.y,`Deaccelerator "${e.name}"`);r.addDeaccelerator(e.name,h.x,h.y)})},"populateDb"),tt={parser:{yy:void 0},parse:u(async o=>{const r=await Ot("wardley",o);Q.debug(r);const e=tt.parser?.yy;if(!e||typeof e.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Wt(r,e)},"parse")},E,Dt=(E=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(r){const e=this.nodes.get(r.id)??{id:r.id,label:r.label},h={...e,...r,className:r.className??e.className,labelOffsetX:r.labelOffsetX??e.labelOffsetX,labelOffsetY:r.labelOffsetY??e.labelOffsetY};this.nodes.set(r.id,h)}addLink(r){this.links.push(r)}addTrend(r){this.trends.set(r.nodeId,r)}startPipeline(r){this.pipelines.set(r,{nodeId:r,componentIds:[]});const e=this.nodes.get(r);e&&(e.isPipelineParent=!0)}addPipelineComponent(r,e){const h=this.pipelines.get(r);h&&h.componentIds.push(e);const a=this.nodes.get(e);a&&(a.inPipeline=!0)}addAnnotation(r){this.annotations.push(r)}addNote(r){this.notes.push(r)}addAccelerator(r){this.accelerators.push(r)}addDeaccelerator(r){this.deaccelerators.push(r)}setAnnotationsBox(r,e){this.annotationsBox={x:r,y:e}}setAxes(r){this.axes={...this.axes,...r}}setSize(r,e){this.size={width:r,height:e}}getNode(r){return this.nodes.get(r)}resolveNodeId(r){if(this.nodes.has(r))return r;for(const[e,h]of this.nodes)if(h.label===r)return e;return r}build(){const r=[];for(const e of this.nodes.values()){if(typeof e.x!="number"||typeof e.y!="number")throw new Error(`Node "${e.label}" is missing coordinates`);r.push(e)}return{nodes:r,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},u(E,"WardleyBuilder"),E),k=new Dt;function et(){return V()["wardley-beta"]}u(et,"getConfig");function at(o,r,e,h,a,d,w,C,g){k.addNode({id:o,label:r,x:e,y:h,className:a,labelOffsetX:d,labelOffsetY:w,inertia:C,sourceStrategy:g})}u(at,"addNode");function rt(o,r,e=!1,h,a){k.addLink({source:o,target:r,dashed:e,label:h,flow:a})}u(rt,"addLink");function ot(o,r,e){k.addTrend({nodeId:o,targetX:r,targetY:e})}u(ot,"addTrend");function nt(o,r,e){k.addAnnotation({number:o,coordinates:r,text:e})}u(nt,"addAnnotation");function st(o,r,e){k.addNote({text:o,x:r,y:e})}u(st,"addNote");function it(o,r,e){k.addAccelerator({name:o,x:r,y:e})}u(it,"addAccelerator");function dt(o,r,e){k.addDeaccelerator({name:o,x:r,y:e})}u(dt,"addDeaccelerator");function lt(o,r){k.setAnnotationsBox(o,r)}u(lt,"setAnnotationsBox");function ct(o,r){k.setSize(o,r)}u(ct,"setSize");function pt(o){k.startPipeline(o)}u(pt,"startPipeline");function ft(o,r){k.addPipelineComponent(o,r)}u(ft,"addPipelineComponent");function ht(o){k.setAxes(o)}u(ht,"updateAxes");function xt(o){return k.getNode(o)}u(xt,"getNode");function gt(o){return k.resolveNodeId(o)}u(gt,"resolveNodeId");function yt(){return k.build()}u(yt,"getWardleyData");function ut(){k.clear(),Ft()}u(ut,"clear");var Gt={getConfig:et,addNode:at,addLink:rt,addTrend:ot,addAnnotation:nt,addNote:st,addAccelerator:it,addDeaccelerator:dt,setAnnotationsBox:lt,setSize:ct,startPipeline:pt,addPipelineComponent:ft,updateAxes:ht,getNode:xt,resolveNodeId:gt,getWardleyData:yt,clear:ut,setAccTitle:At,getAccTitle:Xt,setDiagramTitle:Tt,getDiagramTitle:zt,getAccDescription:Lt,setAccDescription:Nt},qt=["Genesis","Custom Built","Product","Commodity"],Ht=u(()=>{const{themeVariables:o}=V();return{backgroundColor:o.wardley?.backgroundColor??o.background??"#fff",axisColor:o.wardley?.axisColor??"#000",axisTextColor:o.wardley?.axisTextColor??o.primaryTextColor??"#222",gridColor:o.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:o.wardley?.componentFill??"#fff",componentStroke:o.wardley?.componentStroke??"#000",componentLabelColor:o.wardley?.componentLabelColor??o.primaryTextColor??"#222",linkStroke:o.wardley?.linkStroke??"#000",evolutionStroke:o.wardley?.evolutionStroke??"#dc3545",annotationStroke:o.wardley?.annotationStroke??"#000",annotationTextColor:o.wardley?.annotationTextColor??o.primaryTextColor??"#222",annotationFill:o.wardley?.annotationFill??o.background??"#fff"}},"getTheme"),jt=u(()=>{const o=V()["wardley-beta"];return{width:o?.width??900,height:o?.height??600,padding:o?.padding??48,nodeRadius:o?.nodeRadius??6,nodeLabelOffset:o?.nodeLabelOffset??8,axisFontSize:o?.axisFontSize??12,labelFontSize:o?.labelFontSize??10,showGrid:o?.showGrid??!1,useMaxWidth:o?.useMaxWidth??!0}},"getConfigValues"),Vt=u((o,r,e,h)=>{Q.debug(`Rendering Wardley map
|
|
2
2
|
`+o);const a=jt(),d=Ht(),w=a.nodeRadius*1.6,C=h.db,g=C.getWardleyData(),O=C.getDiagramTitle(),S=g.size?.width??a.width,b=g.size?.height??a.height,Y=It(r);Y.selectAll("*").remove(),Bt(Y,b,S,a.useMaxWidth),Y.attr("viewBox",`0 0 ${S} ${b}`);const v=Y.append("g").attr("class","wardley-map"),q=Y.append("defs");q.append("marker").attr("id",`arrow-${r}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.evolutionStroke).attr("stroke","none"),q.append("marker").attr("id",`link-arrow-end-${r}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.linkStroke).attr("stroke","none"),q.append("marker").attr("id",`link-arrow-start-${r}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",d.linkStroke).attr("stroke","none"),v.append("rect").attr("class","wardley-background").attr("width",S).attr("height",b).attr("fill",d.backgroundColor);const I=S-a.padding*2,B=b-a.padding*2;O&&v.append("text").attr("class","wardley-title").attr("x",S/2).attr("y",a.padding/2).attr("fill",d.axisTextColor).attr("font-size",a.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(O);const L=u(t=>a.padding+t/100*I,"projectX"),z=u(t=>b-a.padding-t/100*B,"projectY"),R=v.append("g").attr("class","wardley-axes");R.append("line").attr("x1",a.padding).attr("x2",S-a.padding).attr("y1",b-a.padding).attr("y2",b-a.padding).attr("stroke",d.axisColor).attr("stroke-width",1),R.append("line").attr("x1",a.padding).attr("x2",a.padding).attr("y1",a.padding).attr("y2",b-a.padding).attr("stroke",d.axisColor).attr("stroke-width",1);const wt=g.axes.xLabel??"Evolution",mt=g.axes.yLabel??"Visibility";R.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",a.padding+I/2).attr("y",b-a.padding/4).attr("fill",d.axisTextColor).attr("font-size",a.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(wt),R.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",a.padding/3).attr("y",a.padding+B/2).attr("fill",d.axisTextColor).attr("font-size",a.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${a.padding/3} ${a.padding+B/2})`).text(mt);const F=g.axes.stages&&g.axes.stages.length>0?g.axes.stages:qt;if(F.length>0){const t=v.append("g").attr("class","wardley-stages"),s=g.axes.stageBoundaries,n=[];if(s&&s.length===F.length){let i=0;s.forEach(p=>{n.push({start:i,end:p}),i=p})}else{const i=1/F.length;F.forEach((p,l)=>{n.push({start:l*i,end:(l+1)*i})})}F.forEach((i,p)=>{const l=n[p],f=a.padding+l.start*I,x=a.padding+l.end*I,y=(f+x)/2;p>0&&t.append("line").attr("x1",f).attr("x2",f).attr("y1",a.padding).attr("y2",b-a.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",y).attr("y",b-a.padding/1.5).attr("fill",d.axisTextColor).attr("font-size",a.axisFontSize-2).attr("text-anchor","middle").text(i)})}if(a.showGrid){const t=v.append("g").attr("class","wardley-grid");for(let s=1;s<4;s++){const n=s/4,i=a.padding+I*n;t.append("line").attr("x1",i).attr("x2",i).attr("y1",a.padding).attr("y2",b-a.padding).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",a.padding).attr("x2",S-a.padding).attr("y1",b-a.padding-B*n).attr("y2",b-a.padding-B*n).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6")}}const c=new Map;if(g.nodes.forEach(t=>{c.set(t.id,{x:L(t.x),y:z(t.y),node:t})}),g.pipelines.length>0){const t=v.append("g").attr("class","wardley-pipelines"),s=v.append("g").attr("class","wardley-pipeline-links");g.pipelines.forEach(n=>{if(n.componentIds.length===0)return;const i=n.componentIds.map(x=>({id:x,pos:c.get(x),node:g.nodes.find(y=>y.id===x)})).filter(x=>x.pos&&x.node).sort((x,y)=>x.node.x-y.node.x);for(let x=0;x<i.length-1;x++){const y=i[x],m=i[x+1];s.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",y.pos.x).attr("y1",y.pos.y).attr("x2",m.pos.x).attr("y2",m.pos.y).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let p=1/0,l=-1/0,f=0;if(n.componentIds.forEach(x=>{const y=c.get(x);y&&(p=Math.min(p,y.x),l=Math.max(l,y.x),f=y.y)}),p!==1/0&&l!==-1/0){const y=a.nodeRadius*4,m=f-y/2,P=c.get(n.nodeId);if(P){const N=(p+l)/2;P.x=N,P.y=m-w/6}t.append("rect").attr("class","wardley-pipeline-box").attr("x",p-15).attr("y",m).attr("width",l-p+30).attr("height",y).attr("fill","none").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const _=v.append("g").attr("class","wardley-links"),Z=new Map;g.pipelines.forEach(t=>{Z.set(t.nodeId,new Set(t.componentIds))});const J=g.links.filter(t=>!(!c.has(t.source)||!c.has(t.target)||Z.get(t.target)?.has(t.source)));_.selectAll("line").data(J).enter().append("line").attr("class",t=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",t=>{const s=c.get(t.source),n=c.get(t.target),p=g.nodes.find(y=>y.id===t.source).isPipelineParent?w/Math.sqrt(2):a.nodeRadius,l=n.x-s.x,f=n.y-s.y,x=Math.sqrt(l*l+f*f);return s.x+l/x*p}).attr("y1",t=>{const s=c.get(t.source),n=c.get(t.target),p=g.nodes.find(y=>y.id===t.source).isPipelineParent?w/Math.sqrt(2):a.nodeRadius,l=n.x-s.x,f=n.y-s.y,x=Math.sqrt(l*l+f*f);return s.y+f/x*p}).attr("x2",t=>{const s=c.get(t.source),n=c.get(t.target),p=g.nodes.find(y=>y.id===t.target).isPipelineParent?w/Math.sqrt(2):a.nodeRadius,l=s.x-n.x,f=s.y-n.y,x=Math.sqrt(l*l+f*f);return n.x+l/x*p}).attr("y2",t=>{const s=c.get(t.source),n=c.get(t.target),p=g.nodes.find(y=>y.id===t.target).isPipelineParent?w/Math.sqrt(2):a.nodeRadius,l=s.x-n.x,f=s.y-n.y,x=Math.sqrt(l*l+f*f);return n.y+f/x*p}).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>t.flow==="forward"||t.flow==="bidirectional"?`url(#link-arrow-end-${r})`:null).attr("marker-start",t=>t.flow==="backward"||t.flow==="bidirectional"?`url(#link-arrow-start-${r})`:null),_.selectAll("text").data(J.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{const s=c.get(t.source),n=c.get(t.target),i=(s.x+n.x)/2,p=n.y-s.y,l=n.x-s.x,f=Math.sqrt(l*l+p*p),x=8,y=p/f;return i+y*x}).attr("y",t=>{const s=c.get(t.source),n=c.get(t.target),i=(s.y+n.y)/2,p=n.x-s.x,l=n.y-s.y,f=Math.sqrt(p*p+l*l),x=8,y=-p/f;return i+y*x}).attr("fill",d.axisTextColor).attr("font-size",a.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{const s=c.get(t.source),n=c.get(t.target),i=(s.x+n.x)/2,p=(s.y+n.y)/2,l=n.x-s.x,f=n.y-s.y,x=Math.sqrt(l*l+f*f),y=8,m=f/x,P=-l/x,N=i+m*y,W=p+P*y;let A=Math.atan2(f,l)*180/Math.PI;return(A>90||A<-90)&&(A+=180),`rotate(${A} ${N} ${W})`}).text(t=>t.label);const kt=v.append("g").attr("class","wardley-trends"),bt=g.trends.map(t=>{const s=c.get(t.nodeId);if(!s)return null;const n=L(t.targetX),i=z(t.targetY),p=n-s.x,l=i-s.y,f=Math.sqrt(p*p+l*l),x=a.nodeRadius+2,y=f>x?n-p/f*x:n,m=f>x?i-l/f*x:i;return{origin:s,targetX:n,targetY:i,adjustedX2:y,adjustedY2:m}}).filter(t=>t!==null);kt.selectAll("line").data(bt).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",d.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${r})`);const M=v.append("g").attr("class","wardley-nodes").selectAll("g").data(g.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));M.filter(t=>t.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius*2).attr("fill","#666").attr("stroke",d.componentStroke).attr("stroke-width",1),M.filter(t=>t.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius*2).attr("fill","#ccc").attr("stroke",d.componentStroke).attr("stroke-width",1),M.filter(t=>t.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const T=M.filter(t=>t.sourceStrategy==="market");T.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius*2).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),M.filter(t=>!t.isPipelineParent&&t.sourceStrategy!=="market"&&t.className!=="anchor").append("circle").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1);const H=a.nodeRadius*.7,$=a.nodeRadius*1.2;if(T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x).attr("y1",t=>c.get(t.id).y-$).attr("x2",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x).attr("y2",t=>c.get(t.id).y-$).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y-$).attr("r",H).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("r",H).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("r",H).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),M.filter(t=>t.isPipelineParent===!0).append("rect").attr("x",t=>c.get(t.id).x-w/2).attr("y",t=>c.get(t.id).y-w/2).attr("width",w).attr("height",w).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1),M.filter(t=>t.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",t=>{const s=c.get(t.id);let n=t.isPipelineParent?w/2+15:a.nodeRadius+15;return t.sourceStrategy&&(n+=a.nodeRadius+10),s.x+n}).attr("y1",t=>{const s=c.get(t.id),n=t.isPipelineParent?w:a.nodeRadius*2;return s.y-n/2}).attr("x2",t=>{const s=c.get(t.id);let n=t.isPipelineParent?w/2+15:a.nodeRadius+15;return t.sourceStrategy&&(n+=a.nodeRadius+10),s.x+n}).attr("y2",t=>{const s=c.get(t.id),n=t.isPipelineParent?w:a.nodeRadius*2;return s.y+n/2}).attr("stroke",d.componentStroke).attr("stroke-width",6),M.append("text").attr("x",t=>{const s=c.get(t.id);if(t.className==="anchor")return t.labelOffsetX!==void 0?s.x+t.labelOffsetX:s.x;let n=a.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetX===void 0&&(n+=10);const i=t.labelOffsetX??n;return s.x+i}).attr("y",t=>{const s=c.get(t.id);if(t.className==="anchor")return t.labelOffsetY!==void 0?s.y+t.labelOffsetY:s.y-3;let n=-a.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetY===void 0&&(n-=10);const i=t.labelOffsetY??n;return s.y+i}).attr("class","wardley-node-label").attr("fill",t=>t.className==="evolved"?d.evolutionStroke:t.className==="anchor"?"#000":d.componentLabelColor).attr("font-size",a.labelFontSize).attr("font-weight",t=>t.className==="anchor"?"bold":"normal").attr("text-anchor",t=>t.className==="anchor"?"middle":"start").attr("dominant-baseline",t=>t.className==="anchor"?"middle":"auto").text(t=>t.label),g.annotations.length>0){const t=v.append("g").attr("class","wardley-annotations");if(g.annotations.forEach(s=>{const n=s.coordinates.map(i=>({x:L(i.x),y:z(i.y)}));if(n.length>1)for(let i=0;i<n.length-1;i++)t.append("line").attr("class","wardley-annotation-line").attr("x1",n[i].x).attr("y1",n[i].y).attr("x2",n[i+1].x).attr("y2",n[i+1].y).attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");n.forEach(i=>{const p=t.append("g").attr("class","wardley-annotation");p.append("circle").attr("cx",i.x).attr("cy",i.y).attr("r",10).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5),p.append("text").attr("x",i.x).attr("y",i.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(s.number)})}),g.annotationsBox){let s=L(g.annotationsBox.x),n=z(g.annotationsBox.y);const i=10,p=16,l=11,f=t.append("g").attr("class","wardley-annotations-box"),x=[...g.annotations].filter(m=>m.text).sort((m,P)=>m.number-P.number),y=[];if(x.forEach((m,P)=>{const N=f.append("text").attr("x",s+i).attr("y",n+i+(P+1)*p).attr("font-size",l).attr("fill",d.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${m.number}. ${m.text}`);y.push(N)}),y.length>0){let m=0,P=0;y.forEach(j=>{const D=j.node(),Ct=D.getComputedTextLength();m=Math.max(m,Ct);const St=D.getBBox();P=Math.max(P,St.height)});const N=m+i*2+105,W=x.length*p+i*2+P/2,A=a.padding,$t=S-a.padding-N,vt=a.padding,Pt=b-a.padding-W;s=Math.max(A,Math.min(s,$t)),n=Math.max(vt,Math.min(n,Pt)),y.forEach((j,D)=>{j.attr("x",s+i).attr("y",n+i+(D+1)*p)}),f.insert("rect","text").attr("x",s).attr("y",n).attr("width",N).attr("height",W).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(g.notes.length>0){const t=v.append("g").attr("class","wardley-notes");g.notes.forEach(s=>{const n=L(s.x),i=z(s.y);t.append("text").attr("x",n).attr("y",i).attr("text-anchor","start").attr("font-size",11).attr("fill",d.axisTextColor).attr("font-weight","bold").text(s.text)})}if(g.accelerators.length>0){const t=v.append("g").attr("class","wardley-accelerators");g.accelerators.forEach(s=>{const n=L(s.x),i=z(s.y),p=60,l=30,f=20,x=`
|
|
3
3
|
M ${n} ${i-l/2}
|
|
4
4
|
L ${n+p-f} ${i-l/2}
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{bK as pi,ao as mi,at as $t,bN as yi,ap as bi,bL as wi,d as a,bg as Ut,bJ as Ai,X as Ci,O as Si,ar as Dt,bH as Ri,N as Gt,ab as _i,aB as ki,W as Ti,bd as Xt}from"./mermaid.core-
|
|
1
|
+
import{bK as pi,ao as mi,at as $t,bN as yi,ap as bi,bL as wi,d as a,bg as Ut,bJ as Ai,X as Ci,O as Si,ar as Dt,bH as Ri,N as Gt,ab as _i,aB as ki,W as Ti,bd as Xt}from"./mermaid.core-G9XIcppl.js";import{i as Di}from"./init-Gi6I4Gst.js";import{o as Pi}from"./ordinal-Cboi1Yqb.js";import{l as Nt}from"./linear-D2CT7wE3.js";import"./app-C3WX_u_Z.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-Dea8wJF3.js";import"./purify.es-4eNOHKSq.js";import"./defaultLocale-CrowFXzY.js";function vi(e,t,i){e=+e,t=+t,i=(n=arguments.length)<2?(t=e,e=0,1):n<3?1:+i;for(var s=-1,n=Math.max(0,Math.ceil((t-e)/i))|0,o=new Array(n);++s<n;)o[s]=e+s*i;return o}function St(){var e=Pi().unknown(void 0),t=e.domain,i=e.range,s=0,n=1,o,h,p=!1,u=0,f=0,R=.5;delete e.unknown;function C(){var y=t().length,E=n<s,v=E?n:s,L=E?s:n;o=(L-v)/Math.max(1,y-u+f*2),p&&(o=Math.floor(o)),v+=(L-v-o*(y-u))*R,h=o*(1-u),p&&(v=Math.round(v),h=Math.round(h));var M=vi(y).map(function(b){return v+o*b});return i(E?M.reverse():M)}return e.domain=function(y){return arguments.length?(t(y),C()):t()},e.range=function(y){return arguments.length?([s,n]=y,s=+s,n=+n,C()):[s,n]},e.rangeRound=function(y){return[s,n]=y,s=+s,n=+n,p=!0,C()},e.bandwidth=function(){return h},e.step=function(){return o},e.round=function(y){return arguments.length?(p=!!y,C()):p},e.padding=function(y){return arguments.length?(u=Math.min(1,f=+y),C()):u},e.paddingInner=function(y){return arguments.length?(u=Math.min(1,y),C()):u},e.paddingOuter=function(y){return arguments.length?(f=+y,C()):f},e.align=function(y){return arguments.length?(R=Math.max(0,Math.min(1,y)),C()):R},e.copy=function(){return St(t(),[s,n]).round(p).paddingInner(u).paddingOuter(f).align(R)},Di.apply(C(),arguments)}var Rt=(function(){var e=a(function(W,l,g,d){for(g=g||{},d=W.length;d--;g[W[d]]=l);return g},"o"),t=[1,10,12,14,16,18,19,21,23],i=[2,6],s=[1,3],n=[1,5],o=[1,6],h=[1,7],p=[1,5,10,12,14,16,18,19,21,23,36,37,38],u=[1,25],f=[1,26],R=[1,28],C=[1,29],y=[1,30],E=[1,31],v=[1,32],L=[1,33],M=[1,34],b=[1,35],D=[1,36],c=[1,37],z=[1,43],F=[1,42],X=[1,47],N=[1,50],k=[1,10,12,14,16,18,19,21,23,36,37,38],H=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],A=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],S=[1,65],O=[26,28],T={trace:a(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",28:"COMMA",29:"NUMBER_WITH_DECIMAL",30:"STR",33:"ARROW_DELIMITER",36:"NEWLINE",37:"SEMI",38:"EOF",40:"MD_STR",42:"AMP",43:"NUM",44:"ALPHA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"MINUS",51:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:a(function(l,g,d,x,_,r,lt){var m=r.length-1;switch(_){case 5:x.setOrientation(r[m]);break;case 9:x.setDiagramTitle(r[m].text.trim());break;case 12:x.setLineData({text:"",type:"text"},r[m]);break;case 13:x.setLineData(r[m-1],r[m]);break;case 14:x.setBarData({text:"",type:"text"},r[m]);break;case 15:x.setBarData(r[m-1],r[m]);break;case 16:this.$=r[m].trim(),x.setAccTitle(this.$);break;case 17:case 18:this.$=r[m].trim(),x.setAccDescription(this.$);break;case 19:this.$=r[m-1];break;case 20:case 30:this.$=[r[m-2],...r[m]];break;case 21:case 31:this.$=[r[m]];break;case 22:this.$={value:Number(r[m-1]),label:r[m]};break;case 23:this.$={value:Number(r[m]),label:""};break;case 24:x.setXAxisTitle(r[m]);break;case 25:x.setXAxisTitle(r[m-1]);break;case 26:x.setXAxisTitle({type:"text",text:""});break;case 27:x.setXAxisBand(r[m]);break;case 28:x.setXAxisRangeData(Number(r[m-2]),Number(r[m]));break;case 29:this.$=r[m-1];break;case 32:x.setYAxisTitle(r[m]);break;case 33:x.setYAxisTitle(r[m-1]);break;case 34:x.setYAxisTitle({type:"text",text:""});break;case 35:x.setYAxisRangeData(Number(r[m-2]),Number(r[m]));break;case 39:this.$={text:r[m],type:"text"};break;case 40:this.$={text:r[m],type:"text"};break;case 41:this.$={text:r[m],type:"markdown"};break;case 42:this.$=r[m];break;case 43:this.$=r[m-1]+""+r[m];break}},"anonymous"),table:[e(t,i,{3:1,4:2,7:4,5:s,36:n,37:o,38:h}),{1:[3]},e(t,i,{4:2,7:4,3:8,5:s,36:n,37:o,38:h}),e(t,i,{4:2,7:4,6:9,3:10,5:s,8:[1,11],36:n,37:o,38:h}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},e(p,[2,36]),e(p,[2,37]),e(p,[2,38]),{1:[2,1]},e(t,i,{4:2,7:4,3:21,5:s,36:n,37:o,38:h}),{1:[2,3]},e(p,[2,5]),e(t,[2,7],{4:22,36:n,37:o,38:h}),{11:23,30:u,39:24,40:f,41:27,42:R,43:C,44:y,45:E,46:v,47:L,48:M,49:b,50:D,51:c},{11:39,13:38,24:z,29:F,30:u,31:40,32:41,39:24,40:f,41:27,42:R,43:C,44:y,45:E,46:v,47:L,48:M,49:b,50:D,51:c},{11:45,15:44,29:X,30:u,35:46,39:24,40:f,41:27,42:R,43:C,44:y,45:E,46:v,47:L,48:M,49:b,50:D,51:c},{11:49,17:48,24:N,30:u,39:24,40:f,41:27,42:R,43:C,44:y,45:E,46:v,47:L,48:M,49:b,50:D,51:c},{11:52,17:51,24:N,30:u,39:24,40:f,41:27,42:R,43:C,44:y,45:E,46:v,47:L,48:M,49:b,50:D,51:c},{20:[1,53]},{22:[1,54]},e(k,[2,18]),{1:[2,2]},e(k,[2,8]),e(k,[2,9]),e(H,[2,39],{41:55,42:R,43:C,44:y,45:E,46:v,47:L,48:M,49:b,50:D,51:c}),e(H,[2,40]),e(H,[2,41]),e(A,[2,42]),e(A,[2,44]),e(A,[2,45]),e(A,[2,46]),e(A,[2,47]),e(A,[2,48]),e(A,[2,49]),e(A,[2,50]),e(A,[2,51]),e(A,[2,52]),e(A,[2,53]),e(k,[2,10]),e(k,[2,24],{32:41,31:56,24:z,29:F}),e(k,[2,26]),e(k,[2,27]),{33:[1,57]},{11:59,30:u,34:58,39:24,40:f,41:27,42:R,43:C,44:y,45:E,46:v,47:L,48:M,49:b,50:D,51:c},e(k,[2,11]),e(k,[2,32],{35:60,29:X}),e(k,[2,34]),{33:[1,61]},e(k,[2,12]),{17:62,24:N},{25:63,27:64,29:S},e(k,[2,14]),{17:66,24:N},e(k,[2,16]),e(k,[2,17]),e(A,[2,43]),e(k,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},e(k,[2,33]),{29:[1,70]},e(k,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},e(O,[2,23],{30:[1,73]}),e(k,[2,15]),e(k,[2,28]),e(k,[2,29]),{11:59,30:u,34:74,39:24,40:f,41:27,42:R,43:C,44:y,45:E,46:v,47:L,48:M,49:b,50:D,51:c},e(k,[2,35]),e(k,[2,19]),{25:75,27:64,29:S},e(O,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:a(function(l,g){if(g.recoverable)this.trace(l);else{var d=new Error(l);throw d.hash=g,d}},"parseError"),parse:a(function(l){var g=this,d=[0],x=[],_=[null],r=[],lt=this.table,m="",dt=0,Ot=0,ui=2,Vt=1,di=r.slice.call(arguments,1),P=Object.create(this.lexer),$={yy:{}};for(var bt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,bt)&&($.yy[bt]=this.yy[bt]);P.setInput(l,$.yy),$.yy.lexer=P,$.yy.parser=this,typeof P.yylloc>"u"&&(P.yylloc={});var wt=P.yylloc;r.push(wt);var xi=P.options&&P.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function fi(B){d.length=d.length-2*B,_.length=_.length-B,r.length=r.length-B}a(fi,"popStack");function Ft(){var B;return B=x.pop()||P.lex()||Vt,typeof B!="number"&&(B instanceof Array&&(x=B,B=x.pop()),B=g.symbols_[B]||B),B}a(Ft,"lex");for(var I,U,V,At,j={},xt,Y,Wt,ft;;){if(U=d[d.length-1],this.defaultActions[U]?V=this.defaultActions[U]:((I===null||typeof I>"u")&&(I=Ft()),V=lt[U]&<[U][I]),typeof V>"u"||!V.length||!V[0]){var Ct="";ft=[];for(xt in lt[U])this.terminals_[xt]&&xt>ui&&ft.push("'"+this.terminals_[xt]+"'");P.showPosition?Ct="Parse error on line "+(dt+1)+`:
|
|
2
2
|
`+P.showPosition()+`
|
|
3
3
|
Expecting `+ft.join(", ")+", got '"+(this.terminals_[I]||I)+"'":Ct="Parse error on line "+(dt+1)+": Unexpected "+(I==Vt?"end of input":"'"+(this.terminals_[I]||I)+"'"),this.parseError(Ct,{text:P.match,token:this.terminals_[I]||I,line:P.yylineno,loc:wt,expected:ft})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+U+", token: "+I);switch(V[0]){case 1:d.push(I),_.push(P.yytext),r.push(P.yylloc),d.push(V[1]),I=null,Ot=P.yyleng,m=P.yytext,dt=P.yylineno,wt=P.yylloc;break;case 2:if(Y=this.productions_[V[1]][1],j.$=_[_.length-Y],j._$={first_line:r[r.length-(Y||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(Y||1)].first_column,last_column:r[r.length-1].last_column},xi&&(j._$.range=[r[r.length-(Y||1)].range[0],r[r.length-1].range[1]]),At=this.performAction.apply(j,[m,Ot,dt,$.yy,V[1],_,r].concat(di)),typeof At<"u")return At;Y&&(d=d.slice(0,-1*Y*2),_=_.slice(0,-1*Y),r=r.slice(0,-1*Y)),d.push(this.productions_[V[1]][0]),_.push(j.$),r.push(j._$),Wt=lt[d[d.length-2]][d[d.length-1]],d.push(Wt);break;case 3:return!0}}return!0},"parse")},ht=(function(){var W={EOF:1,parseError:a(function(g,d){if(this.yy.parser)this.yy.parser.parseError(g,d);else throw new Error(g)},"parseError"),setInput:a(function(l,g){return this.yy=g||this.yy||{},this._input=l,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:a(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var g=l.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),l},"input"),unput:a(function(l){var g=l.length,d=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;var x=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),d.length-1&&(this.yylineno-=d.length-1);var _=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:d?(d.length===x.length?this.yylloc.first_column:0)+x[x.length-d.length].length-d[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[_[0],_[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:a(function(){return this._more=!0,this},"more"),reject:a(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:a(function(l){this.unput(this.match.slice(l))},"less"),pastInput:a(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:a(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:a(function(){var l=this.pastInput(),g=new Array(l.length+1).join("-");return l+this.upcomingInput()+`
|
|
Binary file
|
|
Binary file
|
package/dist/client/index.html
CHANGED
|
@@ -290,11 +290,11 @@
|
|
|
290
290
|
里为空,不声明,避免无谓的字体回退查找。
|
|
291
291
|
Regular + Bold 两种变体自托管,替代 xterm 合成 bold CJK。 */
|
|
292
292
|
</style>
|
|
293
|
-
<script type="module" crossorigin src="/assets/app-
|
|
293
|
+
<script type="module" crossorigin src="/assets/app-C3WX_u_Z.js"></script>
|
|
294
294
|
<link rel="modulepreload" crossorigin href="/assets/react-XDCjal2T.js">
|
|
295
295
|
<link rel="modulepreload" crossorigin href="/assets/dnd-BCFAPC0L.js">
|
|
296
296
|
<link rel="modulepreload" crossorigin href="/assets/terminal-Dea8wJF3.js">
|
|
297
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
297
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DOq3vkFG.css">
|
|
298
298
|
<link rel="manifest" href="/manifest.webmanifest"></head>
|
|
299
299
|
<body>
|
|
300
300
|
<div id="termdock-startup" class="termdock-boot z-modal-panel">
|
|
Binary file
|
|
Binary file
|
package/dist/client/sw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
if(!self.define){let e,s={};const n=(n,i)=>(n=new URL(n+".js",i).href,s[n]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=n,e.onload=s,document.head.appendChild(e)}else e=n,importScripts(n),s()}).then(()=>{let e=s[n];if(!e)throw new Error(`Module ${n} didn’t register its module`);return e}));self.define=(i,a)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let r={};const c=e=>n(e,o),d={module:{uri:o},exports:r,require:c};s[o]=Promise.all(i.map(e=>d[e]||c(e))).then(e=>(a(...e),r))}}define(["./workbox-9845bf53"],function(e){"use strict";importScripts("sw-encrypted-background.js","sw-notifications.js","sw-secure-api.js","sw-downloads.js"),self.addEventListener("message",e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()}),e.clientsClaim(),e.precacheAndRoute([{url:"index.html",revision:"
|
|
1
|
+
if(!self.define){let e,s={};const n=(n,i)=>(n=new URL(n+".js",i).href,s[n]||new Promise(s=>{if("document"in self){const e=document.createElement("script");e.src=n,e.onload=s,document.head.appendChild(e)}else e=n,importScripts(n),s()}).then(()=>{let e=s[n];if(!e)throw new Error(`Module ${n} didn’t register its module`);return e}));self.define=(i,a)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let r={};const c=e=>n(e,o),d={module:{uri:o},exports:r,require:c};s[o]=Promise.all(i.map(e=>d[e]||c(e))).then(e=>(a(...e),r))}}define(["./workbox-9845bf53"],function(e){"use strict";importScripts("sw-encrypted-background.js","sw-notifications.js","sw-secure-api.js","sw-downloads.js"),self.addEventListener("message",e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()}),e.clientsClaim(),e.precacheAndRoute([{url:"index.html",revision:"9ac5bf5a3d0a797f70a1de019e89f171"},{url:"assets/app-C3WX_u_Z.js",revision:null},{url:"assets/react-XDCjal2T.js",revision:null},{url:"assets/dnd-BCFAPC0L.js",revision:null},{url:"assets/terminal-Dea8wJF3.js",revision:null},{url:"assets/index-DOq3vkFG.css",revision:null},{url:"icons/agents/opencode.svg",revision:"851c2931d95821ba2b39b68587b48976"},{url:"icons/agents/kimi.svg",revision:"5366c710f4f763022fe159a69cf17409"},{url:"icons/agents/grok.svg",revision:"cd745b0b964545bc7a6b4f36021c3298"},{url:"icons/agents/goose.svg",revision:"c79b927278983c19098d77b4b0c11ab3"},{url:"icons/agents/gemini.svg",revision:"7a64f6d6f80a908255e9c0256903882e"},{url:"icons/agents/droid.svg",revision:"f28723b8c5c115e0908ba3c72613e256"},{url:"icons/agents/cursor.svg",revision:"a1528f3d3cda497f75a5db28defb19de"},{url:"icons/agents/copilot.svg",revision:"dd52e96c1eac0b6ec4bedcd0ddd3b52d"},{url:"icons/agents/codex.svg",revision:"608e55babb0b217e1f2da287342b46d3"},{url:"icons/agents/claude.svg",revision:"08af0225b7acdd8e8f573f3247e5e1c3"},{url:"icons/agents/amp.svg",revision:"af12f8b33faa81e4d46ea7b93c7e43f3"},{url:"apple-touch-icon-180x180.png",revision:"628c2e2f28a9b545aa57be1352025643"},{url:"boot-logo.png",revision:"2e3a25efd9b0b8ca1eab53b5f2284556"},{url:"favicon.ico",revision:"2994debfa6f59a0898e24eb0c54d64b5"},{url:"ipad-status-bar.js",revision:"3a8080edb8a5cc658a7908f6ad69537f"},{url:"maskable-icon-512x512.png",revision:"4d489331fd81f0713c400b26426442b9"},{url:"pwa-192x192.png",revision:"4d6f899888cfb8ccd7a1fd3c9e583ad2"},{url:"pwa-512x512.png",revision:"0885dd7ec8932e7f878b013d51a380a4"},{url:"robots.txt",revision:"d9339907142917dee4aac78494ac9cfe"},{url:"sw-downloads.js",revision:"48dab2e78bd93b4eee27fca487eccfde"},{url:"sw-notifications.js",revision:"fde578590ea8b0540d488ef448b48f45"},{url:"sw-secure-api.js",revision:"cf2bdbd03d41d66d60344c0b5a1075de"},{url:"manifest.webmanifest",revision:"83f9a43b74c236012adafb077fb6d774"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"),{denylist:[/^\/api\//,/^\/__termdock-download\//,/^\/health$/]})),e.registerRoute(/\/assets\/.*\.(?:js|css)$/,new e.CacheFirst({cacheName:"termdock-lazy-assets-v1",plugins:[new e.CacheableResponsePlugin({statuses:[0,200]}),new e.ExpirationPlugin({maxEntries:96,maxAgeSeconds:2592e3})]}),"GET"),e.registerRoute(/\/fonts\/terminal\/[^/]+-[a-f0-9]{12}\.woff2$/,new e.CacheFirst({cacheName:"termdock-fonts-v2",plugins:[new e.CacheableResponsePlugin({statuses:[0,200]}),new e.ExpirationPlugin({maxEntries:384,maxAgeSeconds:2592e3})]}),"GET"),e.registerRoute(/\/fonts\/.*\.(?:woff2|ttf)$/,new e.StaleWhileRevalidate({cacheName:"termdock-fonts-v1",plugins:[new e.ExpirationPlugin({maxEntries:24,maxAgeSeconds:2592e3})]}),"GET")});
|
package/dist/client/sw.js.br
CHANGED
|
Binary file
|
package/dist/client/sw.js.gz
CHANGED
|
Binary file
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { chatUILibrary } from '../shared/chatUILibrary.js';
|
|
2
|
+
export function chatUIPrompt() {
|
|
3
|
+
return [
|
|
4
|
+
'Termdock 普通对话支持 OpenUI。简单回复使用普通 Markdown;比较、数据、表单和文件入口优先使用结构化组件。',
|
|
5
|
+
'适用边界:仅回复明确标记“来自用户的普通对话界面”的原消息。其他协作组或后台集成的消息不会自动进入普通对话;按其原话题和原接收方回复,不要为它们套用此展示协议。',
|
|
6
|
+
'将回复写入 UTF-8 JSON 文件,格式 {"text":"完整、可独立阅读的 Markdown 说明","ui":"OpenUI Lang 程序"}。text 必须包含全部关键事实,供引用、复制、旧客户端和降级显示。',
|
|
7
|
+
'通过 td collab --session <你的会话id> reply <原消息id> --file <文件路径> --metadata \'{"openui":{"version":1}}\' --response-kind result --idempotency-key <稳定唯一key> --text 回复。不要把 JSON 或 OpenUI 程序直接打印到聊天正文。',
|
|
8
|
+
'表单使用 Form + Input/Select/Checkbox + Button(@ToAssistant("用户可读的提交说明"))。用户提交会成为同一会话的新消息,附带填写内容。每个字段名称唯一;不要嵌套 Form。',
|
|
9
|
+
'Resource 文件仅使用已授权绝对路径;链接仅使用 http/https。所有操作由用户明确点击,权限由服务端检查。禁止生成 Query/Mutation、脚本、任意 HTML 或自己调用业务接口。',
|
|
10
|
+
'只展示原始数据和明确报告。Checklist 不代表推测的 Agent 忙闲或内部进度。ui 最长 64000 字符,text 最长 32000 字符。',
|
|
11
|
+
chatUILibrary.prompt({ toolCalls: false, bindings: false, builtinFunctions: false, examples: ['root = Stack([summary, options])\nsummary = Card("比较结果", [Text("两种方案各有取舍。"), Table(["方案", "内存"], [["A", "4 GB"], ["B", "8 GB"]])])\noptions = Form("choice", "选择下一步", [Select("plan", "采用哪个方案", ["A", "B"], true), Input("notes", "补充要求"), Button("确认选择", @ToAssistant("采用所选方案,按补充要求继续"))])'] }),
|
|
12
|
+
].join('\n\n');
|
|
13
|
+
}
|
|
@@ -23,6 +23,7 @@ export const COLLAB_HELP = `td collab — durable messages; no agent-specific ho
|
|
|
23
23
|
task coordinate <目标id> --revision <当前版本> [--summary <用户可读进展>] --content <完整协调说明>
|
|
24
24
|
task pause|resume|retry <任务id> --revision <当前版本>
|
|
25
25
|
task create 支持 --managed --coordinator <成员id> --reviewers <成员id,成员id>;子任务用 --work-type read-only|code 分类,代码默认独立目录
|
|
26
|
+
ui [--text] 查看普通对话的 OpenUI 组件规范与结构化回复格式。
|
|
26
27
|
正文支持 --file <文本文件> 或 --stdin;变更支持 --idempotency-key。
|
|
27
28
|
report|plan|review 支持 --evidence <JSON> 保存证据。
|
|
28
29
|
complete 提交结果;用户在工作台回答问题与验收。报告保留成员原文与时间。
|
|
@@ -276,7 +277,7 @@ export function parseCollaborationCommand(argv) {
|
|
|
276
277
|
positional.push('capture');
|
|
277
278
|
}
|
|
278
279
|
const action = (requestedAction === 'capture' ? 'drive' : requestedAction === 'traits' ? 'role' : requestedAction);
|
|
279
|
-
if (!['events', 'session', 'task', 'status', 'inbox', 'send', 'handoff', 'reply', 'add', 'remove', 'spawn', 'message', 'cursor', 'route', 'rebind', 'role', 'rename', 'cleanup', 'drive', 'capabilities', 'transport', 'group', 'rules', 'help'].includes(action))
|
|
280
|
+
if (!['events', 'session', 'task', 'status', 'inbox', 'send', 'handoff', 'reply', 'add', 'remove', 'spawn', 'message', 'cursor', 'route', 'rebind', 'role', 'rename', 'cleanup', 'drive', 'capabilities', 'ui', 'transport', 'group', 'rules', 'help'].includes(action))
|
|
280
281
|
throw new Error('Unknown collaboration command; see td collab --help');
|
|
281
282
|
if (typeof options.session === 'string' && !options.session.trim())
|
|
282
283
|
throw new Error('--session requires a non-empty full Termdock session id');
|
|
@@ -459,7 +460,7 @@ export function parseCollaborationCommand(argv) {
|
|
|
459
460
|
const byAction = {
|
|
460
461
|
events: ['consumer', 'group', 'timeout'], session: ['group', 'launch-profile', 'cwd', 'idempotency-key', 'generation', 'name'],
|
|
461
462
|
task: ['purpose', 'to-event', 'decision', 'source', 'external-actor', 'external-message-id', 'metadata', 'work-type', 'summary', 'integration', 'managed', 'shared-directory', 'reviewers', 'verdict', 'group', 'title', 'content', 'constraints', 'acceptance', 'assignee', 'coordinator', 'parent', 'depends-on', 'attempt', 'status', 'artifact', 'options', 'revision', 'evidence', 'idempotency-key', 'file', 'stdin'],
|
|
462
|
-
rules: ['file', 'stdin', 'if-version'], transport: ['file', 'origin'], group: ['file'], status: [], capabilities: [], route: [], rebind: ['pane'], help: [...BOOLEAN_OPTIONS, ...VALUE_OPTIONS],
|
|
463
|
+
rules: ['file', 'stdin', 'if-version'], transport: ['file', 'origin'], group: ['file'], status: [], capabilities: [], ui: [], route: [], rebind: ['pane'], help: [...BOOLEAN_OPTIONS, ...VALUE_OPTIONS],
|
|
463
464
|
send: ['group', 'thread', 'idempotency-key', 'file', 'stdin', 'wait-until', 'timeout', 'expect-reply', 'response-kind', 'metadata', 'expires-at', 'kind'],
|
|
464
465
|
handoff: ['group', 'thread', 'idempotency-key', 'file', 'stdin', 'wait-until', 'timeout', 'expect-reply', 'response-kind', 'metadata', 'expires-at'],
|
|
465
466
|
reply: ['idempotency-key', 'file', 'stdin', 'wait-until', 'timeout', 'expect-reply', 'response-kind', 'metadata', 'task-envelope', 'expires-at'],
|
|
@@ -658,6 +659,11 @@ export async function executeCollaborationCommand(command, context, io) {
|
|
|
658
659
|
}
|
|
659
660
|
return 0;
|
|
660
661
|
}
|
|
662
|
+
if (command.action === 'ui') {
|
|
663
|
+
const { chatUIPrompt } = await import('./chatUIPrompt.js');
|
|
664
|
+
io.write(o.text ? chatUIPrompt() : JSON.stringify({ version: 1, instructions: chatUIPrompt() }));
|
|
665
|
+
return 0;
|
|
666
|
+
}
|
|
661
667
|
if (command.action === 'help') {
|
|
662
668
|
io.write(COLLAB_HELP);
|
|
663
669
|
// Append the caller's own groups with every member role — help doubles
|
|
@@ -104,9 +104,9 @@ export function formatCollaborationDelivery(input) {
|
|
|
104
104
|
.map((sessionId) => sanitizeCollaborationName(sessionsById.get(sessionId)?.name ?? sessionId));
|
|
105
105
|
blocks.push(formatCollaborationMessage({ ...message, content: body }, source, fannedNames, fence, token));
|
|
106
106
|
if (message.integrationOrigin?.source === 'session-chat')
|
|
107
|
-
blocks.push(`此消息来自用户的普通对话界面。请自然地与用户交流,并用 td collab --session ${input.targetSessionId} reply ${token} \"答复正文\" --response-kind result --idempotency-key <稳定唯一key> --text 将面向用户的答复写回对话。终端中的普通输出不会成为聊天回复。需要补充问题时也使用 reply
|
|
107
|
+
blocks.push(`此消息来自用户的普通对话界面。请自然地与用户交流,并用 td collab --session ${input.targetSessionId} reply ${token} \"答复正文\" --response-kind result --idempotency-key <稳定唯一key> --text 将面向用户的答复写回对话。终端中的普通输出不会成为聊天回复。需要补充问题时也使用 reply;不要仅在终端打印答案。比较结果、数据、选择表单和资源入口支持 OpenUI:先运行 td collab ui --text 读取当前组件规范与回复格式,再用 --file 和 --metadata 提交结构化回复;简单文字仍可直接回复 Markdown。`);
|
|
108
108
|
else if (message.integrationOrigin)
|
|
109
|
-
blocks.push(`此消息来自后台程序,使用原消息 id 回复:td collab --session ${input.targetSessionId} reply ${token} "答复正文" --response-kind result --idempotency-key <稳定唯一key> --text\n需要时用 --response-kind ack|progress 明确回复收到或进展;result 提交结果。回复持久保存为 stored
|
|
109
|
+
blocks.push(`此消息来自后台程序,使用原消息 id 回复:td collab --session ${input.targetSessionId} reply ${token} "答复正文" --response-kind result --idempotency-key <稳定唯一key> --text\n需要时用 --response-kind ack|progress 明确回复收到或进展;result 提交结果。回复持久保存为 stored 并主动推送给后台,不创建看板任务,不代表用户验收。此回复不会进入普通对话界面,不要使用普通对话的 OpenUI 展示协议。`);
|
|
110
110
|
}
|
|
111
111
|
// The shell header names the group only when every block belongs to one;
|
|
112
112
|
// a mixed batch drops the header entirely (no single-group claim to make).
|
|
@@ -3,6 +3,7 @@ import { validateLaunchProfiles } from './collaborationLaunchProfiles.js';
|
|
|
3
3
|
import fs from 'node:fs';
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import crypto from 'node:crypto';
|
|
6
|
+
import { chatPresentation, validChatUIValues } from '../shared/chatPresentation.js';
|
|
6
7
|
import { COLLAB_NAME_FORBIDDEN, COLLAB_LIMITS, CollaborationError, STATUS_RANK, canonicalShortId, drawCollaborationId, newCollaborationId, resolveIdPrefix, validateExtras } from './collaborationProtocol.js';
|
|
7
8
|
function newerRevision(a, b) {
|
|
8
9
|
return !b || a.updatedAt > b.updatedAt || (a.updatedAt === b.updatedAt && a.version > b.version);
|
|
@@ -622,6 +623,22 @@ export class CollaborationStore {
|
|
|
622
623
|
listMessages(groupId, limit = 200) {
|
|
623
624
|
return this.document.messages.filter((message) => message.groupId === groupId).slice(-Math.max(1, Math.min(limit, 500)));
|
|
624
625
|
}
|
|
626
|
+
saveChatUIState(messageId, sessionId, values, revision) {
|
|
627
|
+
const message = this.getMessage(messageId), original = message?.replyTo ? this.getMessage(message.replyTo) : null;
|
|
628
|
+
if (!message || message.fromSessionId !== sessionId || !message.toPrincipalId || original?.integrationOrigin?.source !== 'session-chat'
|
|
629
|
+
|| original.toSessionId !== sessionId || original.groupId !== message.groupId || original.integrationOrigin.integrationId !== message.toPrincipalId || !chatPresentation(message.content, message.metadata).ui)
|
|
630
|
+
throw new CollaborationError('UI_MESSAGE_UNAVAILABLE', '此消息无法保存交互状态', 404);
|
|
631
|
+
if (!Number.isSafeInteger(revision) || Number(revision) < 0 || !validChatUIValues(values))
|
|
632
|
+
throw new CollaborationError('INVALID_UI_STATE', '填写内容无效或过长');
|
|
633
|
+
const current = message.uiState || { revision: 0, values: {} };
|
|
634
|
+
if (stableJson(current.values) === stableJson(values))
|
|
635
|
+
return structuredClone(current);
|
|
636
|
+
if (revision !== current.revision)
|
|
637
|
+
throw new CollaborationError('UI_STATE_CHANGED', '填写内容已在其他客户端更新', 409, { state: current });
|
|
638
|
+
message.uiState = { revision: current.revision + 1, values: structuredClone(values) };
|
|
639
|
+
this.persist(true);
|
|
640
|
+
return structuredClone(message.uiState);
|
|
641
|
+
}
|
|
625
642
|
getMessage(id) {
|
|
626
643
|
this.expire();
|
|
627
644
|
return this.document.messages.find((message) => message.id === id) ?? null;
|