collabmd 0.1.49 → 0.1.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -659
- package/bin/collabmd.js +36 -20
- package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-Crf9Y3Q6.js +1 -0
- package/dist/client/assets/{abnfDiagram-VCTEODGH-CdVZqicp.js → abnfDiagram-VCTEODGH-PuinKbSQ.js} +1 -1
- package/dist/client/assets/ar-SA-5WIASEJP-Di7OimCN.js +10 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-wUo0bXif.js → architectureDiagram-5GKGNRK7-46hPkrZv.js} +1 -1
- package/dist/client/assets/az-AZ-V5EUQD6C-C19OGTT_.js +1 -0
- package/dist/client/assets/bg-BG-EXASCMTR-BIt0xWyb.js +5 -0
- package/dist/client/assets/{blockDiagram-I7D4REHJ-BRSK3m49.js → blockDiagram-I7D4REHJ-C1S5Bzf8.js} +1 -1
- package/dist/client/assets/bn-BD-U4SYNFCO-CdNaPy4Q.js +3 -0
- package/dist/client/assets/bn-IN-HKDJIITE-CdNaPy4Q.js +3 -0
- package/dist/client/assets/{browser-BKLM0ThC-IxjwuOIz-BBqQnUEb.js → browser-BKLM0ThC-IxjwuOIz-DyJcVMFR.js} +1 -1
- package/dist/client/assets/{c4Diagram-7LVT6UL2-yD2poxqw.js → c4Diagram-7LVT6UL2-VAk1HPmz.js} +1 -1
- package/dist/client/assets/ca-ES-2KGUU5XB-C9t-c0cH.js +8 -0
- package/dist/client/assets/channel-jwdhnPiV.js +1 -0
- package/dist/client/assets/chunk-2E4U76K2-Ba8Wf22k.js +1 -0
- package/dist/client/assets/{chunk-4HAMMTFA-DStbIfJ1.js → chunk-4HAMMTFA-Ht-73lsT.js} +1 -1
- package/dist/client/assets/chunk-5XKZK2GL-D4UAZSOJ.js +1 -0
- package/dist/client/assets/{chunk-75Z2AOVW-C5pGd3W9.js → chunk-75Z2AOVW-B2cZexqK.js} +1 -1
- package/dist/client/assets/{chunk-CLGD4ZFX-BMeArk03.js → chunk-CLGD4ZFX-Cmtx89ht.js} +1 -1
- package/dist/client/assets/{chunk-DU6HZSFF-Zkp69c6c.js → chunk-DU6HZSFF-C6d6PJfE.js} +1 -1
- package/dist/client/assets/{chunk-F27PBJKO-D4xNct1r.js → chunk-F27PBJKO-Dg3H6KLL.js} +1 -1
- package/dist/client/assets/{chunk-GMAD6QVW-NZ6WpDb8.js → chunk-GMAD6QVW-DUfjx_d5.js} +1 -1
- package/dist/client/assets/{chunk-GVQU2GXP-D8SDprfX.js → chunk-GVQU2GXP-D1l7oRGR.js} +1 -1
- package/dist/client/assets/{chunk-IMKFNOWR-D8jEuU3Q.js → chunk-IMKFNOWR-3F6NhHUP.js} +1 -1
- package/dist/client/assets/{chunk-L3NEJ4N5-aijKP-eh.js → chunk-L3NEJ4N5-BmCVn4y-.js} +1 -1
- package/dist/client/assets/{chunk-OSK3NFVY-CCbLQAMa.js → chunk-OSK3NFVY-CWHXAmfx.js} +1 -1
- package/dist/client/assets/{chunk-P2QGCYS3-Oag_FdCq.js → chunk-P2QGCYS3-Du8EtwOa.js} +1 -1
- package/dist/client/assets/{chunk-POPQ4Y6H-CYnpIgXT.js → chunk-POPQ4Y6H-B5yJIrZE.js} +1 -1
- package/dist/client/assets/{chunk-PWAF6VOD-JSNrcBmP.js → chunk-PWAF6VOD-B3gML4ps.js} +1 -1
- package/dist/client/assets/{chunk-SHT3W25Y-BiQGljao.js → chunk-SHT3W25Y-BKaI8jZO.js} +1 -1
- package/dist/client/assets/{chunk-SVP7TREG-DB485R5x.js → chunk-SVP7TREG-XlsB_ZMZ.js} +1 -1
- package/dist/client/assets/{chunk-TICWLB2K-8rAVvoS3.js → chunk-TICWLB2K-Cpp2z8yK.js} +1 -1
- package/dist/client/assets/chunk-TLUHSLCS-Yl7B0Vrz.js +1 -0
- package/dist/client/assets/chunk-ZNVOA63L-BmCQjhx-.js +40 -0
- package/dist/client/assets/{chunk-FLYJHZSQ-Be7lKF17.js → chunk-ZPMXAHWN-Dt0TxJa6.js} +2 -2
- package/dist/client/assets/classDiagram-ZZMXUADV-BRw9vo8U.js +1 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-BRw9vo8U.js +1 -0
- package/dist/client/assets/comment-markdown-renderer-B9_vPc3F.js +1 -0
- package/dist/client/assets/comment-thread-store-NNHqRVsX.js +1 -0
- package/dist/client/assets/comment-threads-nJhK1yfc.js +4 -0
- package/dist/client/assets/cs-CZ-VUCGPRML-BfCoYAgj.js +7 -0
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-rTz9RhFH.js → cynefinDiagram-5FMLGOSQ-BRoCEoZM.js} +1 -1
- package/dist/client/assets/da-DK-NNDP2IVP-DBw9ZNTR.js +2 -0
- package/dist/client/assets/{dagre-GXQ25YYZ-Cr67wLpQ.js → dagre-GXQ25YYZ-BSfKCfy7.js} +1 -1
- package/dist/client/assets/de-CH-I7RAVIZN-DYW18Vsr.js +11 -0
- package/dist/client/assets/de-DE-WBQ3DQLR-DYW18Vsr.js +11 -0
- package/dist/client/assets/deferred-collab-rBe4nuQ2.css +1 -0
- package/dist/client/assets/deferred-git-BHKtkFYi.css +1 -0
- package/dist/client/assets/deferred-preview-pe7Iwwx3.css +1 -0
- package/dist/client/assets/{diagram-S7CK7UJ4-DywERe__.js → diagram-S7CK7UJ4-D7KaM9yj.js} +1 -1
- package/dist/client/assets/{diagram-UQ7AKVKN-CNYlXtu4.js → diagram-UQ7AKVKN-JevUZuYi.js} +1 -1
- package/dist/client/assets/{diagram-VSXAHHWV-0H1a61Bn.js → diagram-VSXAHHWV-B3-U-Q2E.js} +1 -1
- package/dist/client/assets/{diagram-VX7I27RA-CsJbsx5F.js → diagram-VX7I27RA-pSD4HMh1.js} +1 -1
- package/dist/client/assets/{diagram-Z3DM3KII-D0mLxEgI.js → diagram-Z3DM3KII-D8r1_CIb.js} +1 -1
- package/dist/client/assets/{direct-engine-DdrQKpgq-CtKfQzCt.js → direct-engine-DdrQKpgq-B5zIoeQw.js} +1 -1
- package/dist/client/assets/dist-B3HdUPsK.js +1 -0
- package/dist/client/assets/{dist-Tw-Fxpeb.js → dist-B7XMN9AT.js} +1 -1
- package/dist/client/assets/dist-BIRygGYH.js +1 -0
- package/dist/client/assets/dist-BPyOlNLY.js +2 -0
- package/dist/client/assets/{dist-D5wCC32z.js → dist-BR81yxMt.js} +1 -1
- package/dist/client/assets/{dist-TW8iFRyW.js → dist-B_B4XLmq.js} +1 -1
- package/dist/client/assets/dist-Bdy9ZRzd.js +9 -0
- package/dist/client/assets/{dist-netZOQtD.js → dist-Bfxzlnrf.js} +1 -1
- package/dist/client/assets/{dist-DzNmC81X.js → dist-Bx3QkS-3.js} +1 -1
- package/dist/client/assets/{dist-mj2Ht75J.js → dist-By7ieqAf.js} +1 -1
- package/dist/client/assets/dist-ByhQbe-x.js +1 -0
- package/dist/client/assets/{dist-CdmKGRGr.js → dist-BzFSJM0U.js} +1 -1
- package/dist/client/assets/dist-C5NkYKAa.js +1 -0
- package/dist/client/assets/{dist-D3fehAZ2.js → dist-CELhfKzh.js} +1 -1
- package/dist/client/assets/dist-CEirJSxk.js +1 -0
- package/dist/client/assets/dist-CO0-4CuV.js +39 -0
- package/dist/client/assets/dist-CRnJ0D9h.js +1 -0
- package/dist/client/assets/{dist-GvvCNBe4.js → dist-CbDyXgCo.js} +1 -1
- package/dist/client/assets/{dist-BeajGMhO.js → dist-CqXVyYoH.js} +1 -1
- package/dist/client/assets/{dist-LQ4kDCKz.js → dist-CrWzIWEE.js} +1 -1
- package/dist/client/assets/dist-CyNrloSI.js +1 -0
- package/dist/client/assets/dist-D60_kdpQ.js +1 -0
- package/dist/client/assets/{dist-DuH3ZrHo.js → dist-DCpIH3-_.js} +1 -1
- package/dist/client/assets/{dist-BPHLJ09L.js → dist-DJAMplZI.js} +2 -2
- package/dist/client/assets/{dist-DGEbEfw4.js → dist-DVXzbeDx.js} +1 -1
- package/dist/client/assets/{dist-C5NgpdG5.js → dist-Drv_wZYC.js} +1 -1
- package/dist/client/assets/{dist-DVy5woUy.js → dist-EWJYvBK1.js} +1 -1
- package/dist/client/assets/dist-Hdhj3L3t.js +1 -0
- package/dist/client/assets/{dist-DpYDHR9p.js → dist-gRRhmB-2.js} +3 -3
- package/dist/client/assets/dist-kWb2d1CH.js +1 -0
- package/dist/client/assets/dist-kiD2GIsD.js +13 -0
- package/dist/client/assets/{dist-JaU3aRlD.js → dist-l-56SowH.js} +1 -1
- package/dist/client/assets/{dist-BK9QvQrc.js → dist-nxQErAaK.js} +2 -2
- package/dist/client/assets/dist-sLzRQQk7.js +1 -0
- package/dist/client/assets/document-formatter-Qdiq9uJs.js +1 -0
- package/dist/client/assets/drawioEditor-CHf1vtdQ.js +9 -0
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-HeTxHpCU.js → ebnfDiagram-PWID7BFC-UJ0Fz5ci.js} +1 -1
- package/dist/client/assets/editor-session-4Bn81iWm.js +14 -0
- package/dist/client/assets/el-GR-TYQHVGXW-Dx82YYAS.js +7 -0
- package/dist/client/assets/embedded-editor-base-jK221GC8.css +1 -0
- package/dist/client/assets/{embedpdf-DA4bA119-BPqZxwjc.js → embedpdf-DA4bA119-E8wZ11J2.js} +2 -3
- package/dist/client/assets/{embedpdf-BmE13ZZ0.js → embedpdf-LUXDBD3-.js} +1 -1
- package/dist/client/assets/{en-SJ2YIMFF-CJBL3nkq.js → en-2RFA324Y-BsuNJTcL.js} +1 -1
- package/dist/client/assets/{erDiagram-RLTQ6QDP-CbrDdd5P.js → erDiagram-RLTQ6QDP-CWrH1UJ9.js} +1 -1
- package/dist/client/assets/es-ES-JEUOREKJ-Rx0NUQDl.js +12 -0
- package/dist/client/assets/eu-ES-SO5DEEAN-CDYm-BcK.js +8 -0
- package/dist/client/assets/excalidraw-element-link-iA6zo0_f.js +7 -0
- package/dist/client/assets/{excalidrawEditor-BbSbI80a.css → excalidrawEditor-DDE0n1Pk.css} +1 -1
- package/dist/client/assets/excalidrawEditor-WIuguTz7.js +9 -0
- package/dist/client/assets/export-page-AN-wI5p4.js +56 -0
- package/dist/client/assets/exportDocument-B7IagJhQ.css +1 -0
- package/dist/client/assets/exportDocument-B9xNKpQe.js +2 -0
- package/dist/client/assets/fa-IR-FIYUE2GQ-C865Nx3X.js +9 -0
- package/dist/client/assets/fi-FI-REAEF6HQ-BIpjJqIb.js +6 -0
- package/dist/client/assets/flowDiagram-HODETNUW-kb1lUSBo.js +1 -0
- package/dist/client/assets/fr-FR-SUCL7J6B-DGAKE8jH.js +12 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-BHgOYiZz.js → ganttDiagram-EL5Y4UJY-BBNzDfaV.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-Dl__X3Sk.js → gitGraphDiagram-WWUBYQGX-Csf0Dm_1.js} +1 -1
- package/dist/client/assets/gl-ES-KHCSOGVH-DWKh0CMu.js +6 -0
- package/dist/client/assets/he-IL-JYXVXV2Q-zqbcM-4g.js +9 -0
- package/dist/client/assets/hi-IN-BU52H3BO-CY8v6eG9.js +3 -0
- package/dist/client/assets/highlight-theme-CzNkO-IJ.js +1 -0
- package/dist/client/assets/hu-HU-OWADXDQ3-CEl6Udfh.js +3 -0
- package/dist/client/assets/id-ID-EOMR5R3I-CGQwUjoL.js +8 -0
- package/dist/client/assets/image-2QKV3NAF-BUbX0y5Y.js +1 -0
- package/dist/client/assets/index-BAmZnTFV.css +1 -0
- package/dist/client/assets/index-mWiw418b.js +1111 -0
- package/dist/client/assets/{infoDiagram-27XIBGKW-DBpoANC9.js → infoDiagram-27XIBGKW-Bzy6kCbb.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-BMPC6hfp.js → ishikawaDiagram-5VMMS53U-CRy9vIS5.js} +1 -1
- package/dist/client/assets/it-IT-FC2VTM3L-KTijNcUe.js +12 -0
- package/dist/client/assets/ja-JP-JBNTKYP4-BflWlGhw.js +12 -0
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-B1sApUmM.js → journeyDiagram-3NMN7TZE-D4ZR_s9J.js} +1 -1
- package/dist/client/assets/kaa-TC3VIB7V-B-xtZfy0.js +1 -0
- package/dist/client/assets/kab-KAB-UOUDSQKM-BmO0O4Y4.js +4 -0
- package/dist/client/assets/{kanban-definition-UXKFOSKX-C9yP4td1.js → kanban-definition-UXKFOSKX-CIDTmu5g.js} +1 -1
- package/dist/client/assets/kk-KZ-P5H2X7YS-CSQFB8IN.js +1 -0
- package/dist/client/assets/{km-KH-PCWDKPHP-DSmy5shj.js → km-KH-IHMV2US7-BxrjuEzr.js} +4 -4
- package/dist/client/assets/ko-KR-ZTMANIDF-BnNRXd5J.js +5 -0
- package/dist/client/assets/ku-TR-GPJTRB5G-BZM7f2aT.js +6 -0
- package/dist/client/assets/{line-BFl3ujec.js → line-DSWLHgpx.js} +1 -1
- package/dist/client/assets/lobby-presence-Rdjnc0_0.js +1 -0
- package/dist/client/assets/lt-LT-V3XDOK3P-MVQBOHmF.js +3 -0
- package/dist/client/assets/lv-LV-DVQ3FADO-CrenwAhS.js +4 -0
- package/dist/client/assets/markdown-it-CocJWnjv.js +13 -0
- package/dist/client/assets/mermaid-parser.core-DrdLA3p0.js +3 -0
- package/dist/client/assets/mermaid.core-C_FK-7n4.js +1 -0
- package/dist/client/assets/{mermaid.core-BrY09czX.js → mermaid.core-D0cMM4Rl.js} +2 -3
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-BUQHcYbK.js → mindmap-definition-YA3MSWOX-DO8NB9VH.js} +1 -1
- package/dist/client/assets/mr-IN-VZ6HH5FE-B-PHPglH.js +9 -0
- package/dist/client/assets/my-MM-XYKWHRK6-Be5sYp5q.js +1 -0
- package/dist/client/assets/nb-NO-UNO2GGZJ-BvSKGdja.js +8 -0
- package/dist/client/assets/nl-NL-76EFHT4P-C2yNx1Cj.js +13 -0
- package/dist/client/assets/nn-NO-CFKD7ABE-4NsqlDRP.js +4 -0
- package/dist/client/assets/oc-FR-YBJTCJ3J-B4OTQsWW.js +4 -0
- package/dist/client/assets/pa-IN-SNOXSMRV-CKj_sOG7.js +4 -0
- package/dist/client/assets/{pegDiagram-XKGWAZYB-Bi2Iml7Z.js → pegDiagram-XKGWAZYB-DS6Ab21R.js} +1 -1
- package/dist/client/assets/percentages-Q7USCRWZ-DWE6uvTs.js +1 -0
- package/dist/client/assets/{pieDiagram-E7YTZNPT-_gYXnMoi.js → pieDiagram-E7YTZNPT-BbFe6Tgs.js} +1 -1
- package/dist/client/assets/pl-PL-BSY6YFZ3-CFuzA6L0.js +12 -0
- package/dist/client/assets/preload-helper-CtT0-S4g.js +1 -0
- package/dist/client/assets/preview-render-compiler-C_7J7eia.js +43 -0
- package/dist/client/assets/preview-render-compiler-DzJ1KR_M.js +1 -0
- package/dist/client/assets/preview-render-worker-1DoIDllV.js +59 -0
- package/dist/client/assets/prod-D5TxmmoB.js +1 -0
- package/dist/client/assets/prod-pbFU4TaM.js +145 -0
- package/dist/client/assets/pt-BR-CZDV62R3-CkPMtyNx.js +10 -0
- package/dist/client/assets/pt-PT-JO57XJJW-CBSnfGtF.js +12 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-DwexhEhd.js → quadrantDiagram-AXDQQJYC-fJE7iAxt.js} +1 -1
- package/dist/client/assets/quick-switcher-De4PjZFC.css +1 -0
- package/dist/client/assets/quick-switcher-controller-CUajuy78.js +1 -0
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-BVA5UbMu.js → railroadDiagram-O6MQD6OU-CUQKqbCK.js} +1 -1
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-C4cKwiIw.js → requirementDiagram-BXWQKSXE-Balm0WW8.js} +1 -1
- package/dist/client/assets/ro-RO-UZ5ICYYN-BOuntc_r.js +12 -0
- package/dist/client/assets/room-DX7lIfnu.js +1 -0
- package/dist/client/assets/ru-RU-AN7JPREC-D-ow3SNR.js +10 -0
- package/dist/client/assets/runtime-config-BFVdhnJu.js +1 -0
- package/dist/client/assets/runtime-paths-Cn0snt_9.js +1 -0
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-B5HHkRT2.js → sankeyDiagram-P5KCCOFB-CcbMqrlQ.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-BX6jqJFD.js → sequenceDiagram-WJ2MYXX4-BL1j3Sn-.js} +1 -1
- package/dist/client/assets/si-LK-7CBLD6QQ-c91EepX0.js +1 -0
- package/dist/client/assets/sk-SK-SWR6DKBI-D5vFMIL6.js +7 -0
- package/dist/client/assets/sl-SI-JRML4FIH-D53L_0S2.js +6 -0
- package/dist/client/assets/{stateDiagram-D77RDMKH-CmqxyRGx.js → stateDiagram-D77RDMKH-DNi924hh.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-C62JEwak.js +1 -0
- package/dist/client/assets/sv-SE-4ZPKFFXF-DT-G7RCI.js +12 -0
- package/dist/client/assets/{swimlanes-42K2YHIH-Bmgb9Zld.js → swimlanes-42K2YHIH-ColgjSH4.js} +1 -1
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-B9UZhEj4.js +8 -0
- package/dist/client/assets/ta-IN-V6NHHU6Z-D5jy7_AE.js +6 -0
- package/dist/client/assets/th-TH-P7CTMGDK-6sy0NO7K.js +1 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-BA-lVH6P.js → timeline-definition-24CTP7MA-7pch5JAr.js} +1 -1
- package/dist/client/assets/tr-TR-GUFYG22B-ClVaf8h1.js +4 -0
- package/dist/client/assets/uk-UA-K6SV5NFQ-BLTTtyNB.js +6 -0
- package/dist/client/assets/uz-UZ-TVKTZO2G-Bm02Eg3D.js +1 -0
- package/dist/client/assets/vault-api-client-QjZ_T03l.js +7 -0
- package/dist/client/assets/vault-utils-Bct69Xw2.js +1 -0
- package/dist/client/assets/{vennDiagram-4TSXK5OY-DNdUC_Xj.js → vennDiagram-4TSXK5OY-C5taziCX.js} +1 -1
- package/dist/client/assets/vi-VN-7FKFXJNO-CL3WPhmG.js +7 -0
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-C2oY-YbF.js → wardleyDiagram-VM6X3IG4-BbSlUwuM.js} +1 -1
- package/dist/client/assets/{wiki-link-resolver-DFIwErjc.js → wiki-link-resolver-C2P_WmTV.js} +1 -1
- package/dist/client/assets/{worker-engine-m0rlHn8R-S8mpn_O0.js → worker-engine-m0rlHn8R-eSDcDGEI.js} +1 -1
- package/dist/client/assets/workspace-change-CVA9dVmy.js +1 -0
- package/dist/client/assets/workspace-sync-client-D4nblH_2.js +1 -0
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-CoIR8CBX.js → xychartDiagram-S5SC5T6Z-D06X1arY.js} +1 -1
- package/dist/client/assets/yjs-B41tM6Sz.js +4 -0
- package/dist/client/assets/yjs-provider-reset-guard-R43MnLNc.js +1 -0
- package/dist/client/assets/zh-CN-AOKVLNNK-DGidDH2b.js +11 -0
- package/dist/client/assets/zh-HK-CDKPF5DC-CRcNR3rk.js +1 -0
- package/dist/client/assets/zh-TW-ZVGYESGW-C7Qji1y6.js +13 -0
- package/dist/client/drawio-editor.html +7 -8
- package/dist/client/excalidraw-editor.html +31 -33
- package/dist/client/export-document.html +5 -7
- package/dist/client/index.html +30 -26
- package/package.json +14 -20
- package/src/client/app/drawio-editor.html +1 -1
- package/src/client/app/excalidraw-editor.html +1 -1
- package/src/client/app/export-document.html +1 -1
- package/src/client/app/index.html +28 -4
- package/src/client/app/main-entry.js +1 -19
- package/src/client/application/app-shell/comments-feature.js +6 -0
- package/src/client/application/app-shell/ui-feature-shell.js +136 -58
- package/src/client/application/app-shell/ui-feature-tab-activity.js +8 -3
- package/src/client/application/app-shell-elements.js +5 -0
- package/src/client/application/highlight-theme.js +16 -0
- package/src/client/application/preview-render-compiler.js +43 -20
- package/src/client/application/preview-render-executor.js +0 -26
- package/src/client/application/preview-renderer.js +24 -7
- package/src/client/application/workspace-coordinator.js +20 -21
- package/src/client/bootstrap/collabmd-app-shell.js +71 -35
- package/src/client/bootstrap/lazy-collab-clients.js +90 -0
- package/src/client/domain/excalidraw-scene-reconcile.js +5 -2
- package/src/client/domain/hash-routes.js +5 -0
- package/src/client/domain/highlight-runtime.js +47 -0
- package/src/client/domain/lobby-chat.js +2 -0
- package/src/client/domain/runtime-paths.js +56 -7
- package/src/client/domain/vault-utils.js +11 -0
- package/src/client/excalidraw-editor.js +20 -4
- package/src/client/infrastructure/auth-client.js +1 -2
- package/src/client/infrastructure/browser-preferences-port.js +16 -0
- package/src/client/infrastructure/editor-view-adapter.js +43 -8
- package/src/client/infrastructure/excalidraw-room-client.js +9 -1
- package/src/client/infrastructure/hosted-api-client.js +60 -0
- package/src/client/infrastructure/lobby-presence.js +2 -2
- package/src/client/infrastructure/runtime-config.js +3 -1
- package/src/client/infrastructure/webmcp-tool-registry.js +16 -2
- package/src/client/presentation/comment-markdown-renderer.js +2 -14
- package/src/client/presentation/comment-overview-controller.js +1 -2
- package/src/client/presentation/comment-ui/comment-ui-shared.js +5 -2
- package/src/client/presentation/file-explorer-controller.js +3 -0
- package/src/client/presentation/file-explorer-view.js +272 -174
- package/src/client/presentation/git-panel-controller.js +1 -1
- package/src/client/presentation/hosted-workspace-gate-controller.js +180 -0
- package/src/client/presentation/layout-controller.js +10 -1
- package/src/client/presentation/team-settings-controller.js +228 -0
- package/src/client/styles/deferred-collab.css +5 -0
- package/src/client/styles/deferred-git.css +7 -0
- package/src/client/styles/deferred-preview.css +6 -0
- package/src/client/styles/features/diagram-preview.css +0 -15
- package/src/client/styles/features/outline.css +4 -2
- package/src/client/styles/features/preview-markdown.css +25 -11
- package/src/client/styles/features/team-settings.css +162 -0
- package/src/client/styles/foundation/tokens.css +2 -2
- package/src/client/styles/layout/editor-page.css +0 -13
- package/src/client/styles/layout/overlays.css +16 -0
- package/src/client/styles/layout/responsive.css +5 -5
- package/src/client/styles/layout/shell.css +20 -1
- package/src/client/styles/layout/sidebar.css +92 -3
- package/src/client/styles/style.css +3 -19
- package/src/domain/agent-tool-definitions.js +139 -63
- package/src/domain/collabmd-content-capabilities.js +4 -4
- package/src/domain/excalidraw-agent-scene.js +108 -6
- package/src/domain/excalidraw-agent-verification.js +95 -1
- package/src/domain/excalidraw-room-codec.js +12 -1
- package/src/domain/literal-text-search.js +13 -0
- package/src/server/application/agent-content-service.js +142 -74
- package/src/server/config/env.js +96 -5
- package/src/server/create-app-server.js +23 -153
- package/src/server/domain/hosted-workspace.js +10 -1
- package/src/server/domain/ripgrep-search-service.js +68 -21
- package/src/server/infrastructure/git/local-exclude.js +13 -1
- package/src/server/infrastructure/http/create-agent-api-handler.js +1 -1
- package/src/server/infrastructure/http/create-hosted-api-handler.js +5 -0
- package/src/server/infrastructure/http/create-request-handler.js +95 -26
- package/src/server/infrastructure/http/create-static-handler.js +3 -0
- package/src/server/infrastructure/http/create-vault-api-query-handler.js +15 -2
- package/src/server/infrastructure/mcp/create-agent-mcp-handler.js +2 -1
- package/src/server/infrastructure/persistence/sidecar-store.js +12 -5
- package/src/server/infrastructure/persistence/vault-file-store.js +2 -3
- package/src/server/infrastructure/websocket/attach-collaboration-gateway.js +48 -22
- package/src/server/shared/agent-tool-rate-limiter.js +7 -0
- package/src/server/startup/git-remote-bootstrap.js +56 -49
- package/src/server/vault-registry.js +251 -0
- package/dist/client/assets/CodeMirrorEditor-UCMRAMCV-C-nmgL5g.js +0 -1
- package/dist/client/assets/ar-SA-PQUY64WN-xjXgbW6d.js +0 -10
- package/dist/client/assets/az-AZ-OXJXL76K-4JkO4Pca.js +0 -1
- package/dist/client/assets/base-CaIEJUF9.css +0 -1
- package/dist/client/assets/bg-BG-W2GKIJDF-DnkH_o81.js +0 -5
- package/dist/client/assets/bn-BD-TGL7M4PJ-CG4JkmtP.js +0 -3
- package/dist/client/assets/bn-IN-BKETKYEH-CG4JkmtP.js +0 -3
- package/dist/client/assets/ca-ES-LD5SCRVV-U6_TVMX9.js +0 -8
- package/dist/client/assets/channel-Fa4GS_-F.js +0 -1
- package/dist/client/assets/chunk-2E4U76K2-BPnTT-J3.js +0 -2
- package/dist/client/assets/chunk-7XWMRXBY-CfMzEq80.js +0 -1
- package/dist/client/assets/chunk-RM4UPSZO-DOWllDY8.js +0 -41
- package/dist/client/assets/chunk-TLUHSLCS-DTY5v0aj.js +0 -2
- package/dist/client/assets/classDiagram-ZZMXUADV-BsQWoR3Q.js +0 -1
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-BsQWoR3Q.js +0 -1
- package/dist/client/assets/comment-thread-store-CX98zR6q.js +0 -1
- package/dist/client/assets/comment-threads-BnRwo5B9.js +0 -4
- package/dist/client/assets/cs-CZ-OFPU5DBV-BmFAIhqX.js +0 -7
- package/dist/client/assets/da-DK-FRDJFYWF-H387Jw8B.js +0 -2
- package/dist/client/assets/de-CH-ZG7H3QK3-C_groygo.js +0 -11
- package/dist/client/assets/de-DE-SIJYH4IH-C_groygo.js +0 -11
- package/dist/client/assets/dist--hk9I5HQ.js +0 -1
- package/dist/client/assets/dist-B1XEa-Zs.js +0 -1
- package/dist/client/assets/dist-BJ1bJs33.js +0 -1
- package/dist/client/assets/dist-Bd1JucQF.js +0 -1
- package/dist/client/assets/dist-ByrG2qBA.js +0 -1
- package/dist/client/assets/dist-C0G3AaXG.js +0 -1
- package/dist/client/assets/dist-CKS_-are.js +0 -1
- package/dist/client/assets/dist-D37Hyu3h.js +0 -9
- package/dist/client/assets/dist-Dl_tpDSr.js +0 -1
- package/dist/client/assets/dist-Dm4w5UId.js +0 -1
- package/dist/client/assets/dist-RKBTaQMb.js +0 -13
- package/dist/client/assets/dist-eBx8q6Sy.js +0 -1
- package/dist/client/assets/dist-jVU5Be5P.js +0 -1
- package/dist/client/assets/document-formatter-rDDjRfZ2.js +0 -2
- package/dist/client/assets/drawioEditor-JubEEha7.js +0 -9
- package/dist/client/assets/editor-session-Bk6oIvSr.js +0 -54
- package/dist/client/assets/el-GR-IEE2CGI2-BkT6YT54.js +0 -7
- package/dist/client/assets/embedded-editor-base-BlCgz6mw.css +0 -1
- package/dist/client/assets/es-Bfdp096f.js +0 -22
- package/dist/client/assets/es-ES-TVVPWKV5-CpPKJXTM.js +0 -12
- package/dist/client/assets/eu-ES-CGBMFQDT-Bu3N2493.js +0 -8
- package/dist/client/assets/excalidraw-element-link-YLIaTnVF.js +0 -7
- package/dist/client/assets/excalidrawEditor-dBMbRX_S.js +0 -9
- package/dist/client/assets/export-page-CRRQ2NEl.js +0 -57
- package/dist/client/assets/exportDocument-BlQRd9_m.js +0 -2
- package/dist/client/assets/exportDocument-CNSbjZwu.css +0 -1
- package/dist/client/assets/fa-IR-IE6XAPR4-BEvLCORD.js +0 -9
- package/dist/client/assets/fi-FI-P7TKNHRM-DI0q8iSX.js +0 -6
- package/dist/client/assets/file-icon-svg-Y_kpF957.js +0 -1
- package/dist/client/assets/flowDiagram-HODETNUW-D5Gy0wmg.js +0 -1
- package/dist/client/assets/fr-FR-QI2XZNT7-y8kXd8LA.js +0 -12
- package/dist/client/assets/gl-ES-TLYCNOZZ-Br-Fhff-.js +0 -6
- package/dist/client/assets/he-IL-ZX43XLGP-qKQq6V9X.js +0 -9
- package/dist/client/assets/hi-IN-UTYRMTUF-DOUcwrDO.js +0 -3
- package/dist/client/assets/hu-HU-AJOSEBW6-FqTyvHlD.js +0 -3
- package/dist/client/assets/id-ID-ETLTVG6C-CQqh3CLS.js +0 -8
- package/dist/client/assets/image-ZVKINSPA-DgzW5zAy.js +0 -1
- package/dist/client/assets/index-D3RER1SZ.js +0 -1023
- package/dist/client/assets/index-DREVKl_K.css +0 -1
- package/dist/client/assets/it-IT-B4B6TP6L-V-yK3SZz.js +0 -12
- package/dist/client/assets/ja-JP-IYKVURR5-BQKBXRpX.js +0 -12
- package/dist/client/assets/kaa-SE2BUIKX-CZ5kfwPg.js +0 -1
- package/dist/client/assets/kab-KAB-Y3GLKXLR-Do7GWfuN.js +0 -4
- package/dist/client/assets/kk-KZ-ABWUFVOH-BpqVciQz.js +0 -1
- package/dist/client/assets/ko-KR-7JQDXKGM-N42lep78.js +0 -5
- package/dist/client/assets/ku-TR-NAH2Q5B7-K8LLl9fk.js +0 -6
- package/dist/client/assets/lt-LT-VQFYRSNQ-BmOd0ALn.js +0 -3
- package/dist/client/assets/lv-LV-T62VSYUM-B22WdPhp.js +0 -4
- package/dist/client/assets/mermaid-parser.core-Bl0efOMt.js +0 -4
- package/dist/client/assets/mermaid.core-DfcNfOTv.js +0 -1
- package/dist/client/assets/modulepreload-polyfill-P2Xu9kJm.js +0 -1
- package/dist/client/assets/mr-IN-V4FHLCJE-XX069tpm.js +0 -9
- package/dist/client/assets/my-MM-E3SQ6E54-cst_-5SB.js +0 -1
- package/dist/client/assets/nb-NO-MLNOFN5H-Bu2URWko.js +0 -8
- package/dist/client/assets/nl-NL-D5L3ZV4M-BqrV0btt.js +0 -13
- package/dist/client/assets/nn-NO-NNHDGPKB-DK-xZaWM.js +0 -4
- package/dist/client/assets/oc-FR-DWCRF55G-BZ5Po5R6.js +0 -4
- package/dist/client/assets/pa-IN-3JSAY44M-BZQSjKrS.js +0 -4
- package/dist/client/assets/percentages-ETZPVQEE-DFxFqXgH.js +0 -1
- package/dist/client/assets/pl-PL-ACURYKP3-qcEOSfCk.js +0 -12
- package/dist/client/assets/preload-helper-HclGiUj8.js +0 -1
- package/dist/client/assets/preview-render-compiler-CfxJYldJ.js +0 -41
- package/dist/client/assets/preview-render-compiler-Cu8_i9iS.js +0 -1
- package/dist/client/assets/preview-render-worker-c4Yi93qW.js +0 -66
- package/dist/client/assets/prod-BiJL30sl.js +0 -1
- package/dist/client/assets/prod-qAk7rHa4.js +0 -177
- package/dist/client/assets/pt-BR-LOX7MLGD-DLueHSyZ.js +0 -10
- package/dist/client/assets/pt-PT-CZ2U2RFQ-BJ-GAEm6.js +0 -12
- package/dist/client/assets/quick-switcher-controller-BoIK_wuG.js +0 -1
- package/dist/client/assets/ro-RO-2HECL2X6-CJUvKAf0.js +0 -12
- package/dist/client/assets/ru-RU-HAYNXO46-BWSlvTrt.js +0 -10
- package/dist/client/assets/runtime-config-DcmnGcXU.js +0 -1
- package/dist/client/assets/si-LK-W5KNS4H6-DGGCsn7k.js +0 -1
- package/dist/client/assets/sk-SK-7K2CFGDV-CY4uTYgQ.js +0 -7
- package/dist/client/assets/sl-SI-OXV2QZWW-2-weqaBY.js +0 -6
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-zoLLQVyh.js +0 -1
- package/dist/client/assets/sv-SE-JTOBZRGL-9-IUtVkO.js +0 -12
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DS-KQN37.js +0 -8
- package/dist/client/assets/ta-IN-KFAVKXGT-gHO6Q_DH.js +0 -6
- package/dist/client/assets/th-TH-VDMSCPDL-BvJuw6PJ.js +0 -1
- package/dist/client/assets/tr-TR-CEZ6GX45-CG6UU3Su.js +0 -4
- package/dist/client/assets/uk-UA-Q3H3OXQC-CSuIg_DY.js +0 -6
- package/dist/client/assets/uz-UZ-NGCSWWPX-mom7rxSP.js +0 -1
- package/dist/client/assets/vault-api-client-iZLhMJKe.js +0 -6
- package/dist/client/assets/vi-VN-P3NDEVPS-BB0Fu9ck.js +0 -7
- package/dist/client/assets/yjs-provider-reset-guard-9ul1qF6k.js +0 -4
- package/dist/client/assets/zh-CN-SS3O57GA-Bj8wsiMe.js +0 -11
- package/dist/client/assets/zh-HK-LWJT3VCF-DOTquTCh.js +0 -1
- package/dist/client/assets/zh-TW-VJXC72RT-B48PRo-l.js +0 -13
- package/integrations/pi/index.ts +0 -94
- /package/dist/client/assets/{vault-api-client-C3mlS_4N.css → auth-gate-C3mlS_4N.css} +0 -0
- /package/dist/client/assets/{base-BYODPHdS.js → github.min-DBihDoic.js} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import"./chunk-SRAX5OIU-KFQikY-4.js";var e={signUp:``,signIn:``,paste:`Dán`,pasteAsPlaintext:`Dán kiểu văn bản thuần`,pasteCharts:`Dán biểu đồ`,chartType_bar:``,chartType_line:``,chartType_radar:``,chartType_plaintext:``,selectAll:`Chọn tất cả`,multiSelect:`Chọn thêm đối tượng này`,moveCanvas:`Di chuyển canvas`,cut:`Cắt`,copy:`Sao chép`,copyAsPng:`Sao chép vào bộ nhớ tạm dưới dạng PNG`,copyAsSvg:`Sao chép vào bộ nhớ tạm dưới dạng SVG`,copyText:`Sao chép vào bộ nhớ tạm dưới dạng chữ`,copySource:`Sao chép vào bộ nhớ tạm`,convertToCode:`Chuyển thành mã`,bringForward:`Đưa ra trước`,sendToBack:`Hạ xuống dưới`,bringToFront:`Đưa ra đầu tiên`,sendBackward:`Hạ xuống cuối`,delete:`Xóa`,copyStyles:`Sao chép định dạng`,pasteStyles:`Dán định dạng`,stroke:`Nét`,changeStroke:`Đổi màu nét vẽ`,background:`Nền`,changeBackground:`Thay đổi màu nền`,fill:`Đổ màu`,strokeWidth:`Độ dày nét`,strokeStyle:`Kiểu nét`,strokeStyle_solid:`Khối`,strokeStyle_dashed:`Gạch ngang`,strokeStyle_dotted:`Nhiều chấm`,sloppiness:`Hoa văn nét`,pressure:``,pressure_constant:``,pressure_variable:``,opacity:`Độ trong suốt`,textAlign:`Căn chỉnh văn bản`,edges:`Cạnh`,sharp:`Nhọn`,round:`Tròn`,arrowheads:`Đầu mũi tên`,arrowhead_none:`Không`,arrowhead_arrow:`Mũi tên`,arrowhead_bar:`Thanh`,arrowhead_circle:`Hình tròn`,arrowhead_circle_outline:`Hình tròn (đường viền)`,arrowhead_triangle:`Tam giác`,arrowhead_triangle_outline:`Tam giác (đường viền)`,arrowhead_diamond:`Kim cương`,arrowhead_diamond_outline:`Kim cương (đường viền)`,arrowhead_crowfoot_many:``,arrowhead_crowfoot_one:``,arrowhead_crowfoot_one_or_many:``,arrowhead_cardinality_one:``,arrowhead_cardinality_many:``,arrowhead_cardinality_one_or_many:``,arrowhead_cardinality_exactly_one:``,arrowhead_cardinality_zero_or_one:``,arrowhead_cardinality_zero_or_many:``,more_options:`Tùy chọn khác`,cardinality:``,arrowtypes:`Loại mũi tên`,arrowtype_sharp:`Mũi tên nhọn`,arrowtype_round:`Mũi tên cong`,arrowtype_elbowed:`Mũi tên gấp khúc`,fontSize:`Cỡ chữ`,fontFamily:`Phông chữ`,addWatermark:`Làm với Excalidraw"`,handDrawn:`Vẽ tay`,normal:`Bình thường`,code:`Mã`,small:`Nhỏ`,medium:`Vừa`,large:`Lớn`,veryLarge:`Rất lớn`,solid:`Đặc`,hachure:`Nét gạch gạch`,zigzag:`Zig-zag`,crossHatch:`Nét gạch chéo`,thin:`Mỏng`,bold:`In đậm`,left:`Trái`,center:`Giữa`,right:`Phải`,extraBold:`Nét siêu đậm`,architect:`Kiến trúc sư`,artist:`Nghệ sỹ`,cartoonist:`Hoạt hình`,fileTitle:`Tên tập tin`,colorPicker:`Chọn màu`,canvasColors:`Đã dùng trên canvas`,canvasBackground:`Nền canvas`,drawingCanvas:`Canvas vẽ`,clearCanvas:`Xóa khung vẽ`,layers:`Lớp`,actions:`Chức năng`,language:`Ngôn ngữ`,liveCollaboration:`Hợp tác trực tiếp...`,duplicateSelection:`Tạo bản sao`,untitled:`Không có tiêu đề`,name:`Tên`,yourName:`Tên của bạn`,madeWithExcalidraw:`Làm với Excalidraw`,group:`Gộp nhóm lại lựa chọn`,ungroup:`Tách nhóm lựa chọn`,collaborators:`Cộng tác viên`,you:``,toggleGrid:`Bật/tắt lưới`,addToLibrary:`Thêm vào thư viện`,removeFromLibrary:`Xóa khỏi thư viện`,libraryLoadingMessage:`Đang tải thư viện…`,libraries:`Xem thư viện`,loadingScene:`Đang tải về…`,loadScene:`Tải bản vẽ từ tệp`,align:`Căn chỉnh`,alignTop:`Căn trên`,alignBottom:`Căn dưới`,alignLeft:`Canh trái`,alignRight:`Canh phải`,centerVertically:`Giữa theo chiều dọc`,centerHorizontally:`Giữa theo chiều ngang`,distributeHorizontally:`Phân bố theo chiều ngang`,distributeVertically:`Phân bố theo chiều dọc`,flipHorizontal:`Lật ngang`,flipVertical:`Lật dọc`,viewMode:`Chế độ xem`,share:`Chia sẻ`,showStroke:`Hiển thị chọn màu`,showBackground:`Hiện thị chọn màu nền`,showFonts:`Hiển thị bộ chọn phông chữ`,toggleTheme:`Chuyển đổi giao diện sáng/tối`,theme:`Chủ đề`,personalLib:`Thư viện cá nhân`,excalidrawLib:`Thư viện Excalidraw`,decreaseFontSize:`Giảm cỡ chữ`,increaseFontSize:`Tăng cỡ chữ`,unbindText:`Bỏ liên kết văn bản`,bindText:`Gắn văn bản vào khung`,createContainerFromText:`Ngắt dòng văn bản trong khung`,link:{edit:`Sửa liên kết`,editEmbed:`Chỉnh sửa liên kết nhúng`,create:`Thêm liên kết`,label:`Liên kết`,labelEmbed:`Liên kết & nhúng`,empty:`Chưa đặt liên kết`,hint:`Nhập hoặc dán liên kết vào đây`,goToElement:`Đi tới phần tử đích`},lineEditor:{edit:`Điều chỉnh nét`,editArrow:``},polygon:{breakPolygon:``,convertToPolygon:``},elementLock:{lock:`Khoá`,unlock:`Mở khoá`,lockAll:`Khóa tất cả`,unlockAll:`Mở khóa tất cả`},statusPublished:`Đã đăng tải`,sidebarLock:`Giữ thanh bên luôn mở`,selectAllElementsInFrame:`Chọn tất cả phần tử trong khung`,removeAllElementsFromFrame:`Loại bỏ tất cả các phần tử trong khung`,eyeDropper:`Chọn màu từ vùng vẽ`,textToDiagram:`Văn bản sang sơ đồ`,prompt:`Lời nhắc`,followUs:`Theo dõi chúng tôi`,discordChat:`Trò chuyện Discord`,zoomToFitViewport:`Thu phóng vừa với khung nhìn`,zoomToFitSelection:`Thu phóng vừa với vùng chọn`,zoomToFit:`Thu phóng để hiển thị toàn bộ các phần tử`,installPWA:`Cài đặt Excalidraw trên máy (PWA)`,autoResize:`Bật tự động thay đổi kích thước văn bản`,imageCropping:`Cắt ảnh`,unCroppedDimension:`Kích thước gốc (chưa cắt)`,copyElementLink:`Sao chép liên kết tới đối tượng`,linkToElement:`Liên kết đến đối tượng`,wrapSelectionInFrame:`Đưa vùng chọn vào khung`,tab:``,shapeSwitch:``,preferences:``,preferences_toolLock:``,boxSelectionMode:``,boxSelectionContain:``,boxSelectionOverlap:``,arrowBinding:``,midpointSnapping:``},t={title:`Liên kết đến đối tượng`,desc:`Nhấp vào một hình trên vùng vẽ hoặc dán liên kết.`,notFound:`Không tìm thấy đối tượng liên kết trên vùng vẽ.`},n={noItems:`Chưa có món nào...`,hint_emptyLibrary:`Chọn một món trên canvas để thêm nó vào đây, hoặc cài đặt thư viện từ kho lưu trữ công cộng, ở bên dưới.`,hint_emptyPrivateLibrary:`Chọn một món trên canvas để thêm nó vào đây.`,search:{inputPlaceholder:``,heading:``,noResults:``,clearSearch:``}},r={title:`Tìm trên vùng vẽ`,noMatch:`Không có kết quả phù hợp...`,singleResult:`kết quả`,multipleResults:`các kết quả`,placeholder:`Tìm văn bản trên vùng vẽ`,frames:``,texts:``},i={clearReset:`Reset canvas`,exportJSON:`Xuất ra tập tin`,exportImage:`Xuất file ảnh...`,export:`Lưu vào...`,copyToClipboard:`Sao chép vào bộ nhớ tạm`,copyLink:`Sao chép liên kết`,save:`Lưu vào tập tin hiện tại`,saveAs:`Lưu thành`,load:`Mở`,getShareableLink:`Tạo liên kết để chia sẻ`,close:`Đóng`,selectLanguage:`Chọn ngôn ngữ`,scrollBackToContent:`Cuộn về nội dung chính`,zoomIn:`Phóng to`,zoomOut:`Thu nhỏ`,resetZoom:`Đặt lại thu phóng`,menu:`Bảng chọn`,done:`Xong`,edit:`Chỉnh sửa`,undo:`Hoàn tác`,redo:`Làm lại`,resetLibrary:`Cài lại thư viện`,createNewRoom:`Tạo phòng mới`,fullScreen:`Toàn màn hình`,darkMode:`Chế độ tối`,lightMode:`Chế độ sáng`,systemMode:`Chế độ hệ thống`,zenMode:`Chế độ zen`,objectsSnapMode:`Căn chỉnh theo đối tượng`,exitZenMode:`Thoát chể độ zen`,cancel:`Hủy`,saveLibNames:``,clear:`Làm sạch`,remove:`Xóa`,embed:`Bật/tắt chế độ nhúng`,publishLibrary:``,submit:`Gửi`,confirm:`Xác nhận`,embeddableInteractionButton:`Nhấn để tương tác`},a={clearReset:`Điều này sẽ dọn hết canvas. Bạn có chắc không?`,couldNotCreateShareableLink:`Không thể tạo đường dẫn chia sẻ.`,couldNotCreateShareableLinkTooBig:`Không thể tạo đường dẫn chia sẻ: bản vẽ quá lớn`,couldNotLoadInvalidFile:`Không thể load tập tin không hợp lệ`,importBackendFailed:`Nhập dữ liệu từ máy chủ thất bại.`,cannotExportEmptyCanvas:`Không thể xuất canvas trống.`,couldNotCopyToClipboard:`Không thể sao chép vào bộ nhớ tạm.`,decryptFailed:`Không thể giải mã dữ liệu.`,uploadedSecurly:`Việc tải lên đã được bảo mật với mã hóa đầu cuối, có nghĩa là máy chủ Excalidraw và bên thứ ba không thể đọc nội dung.`,loadSceneOverridePrompt:`Mở bản vẽ bên ngoài sẽ thay thế nội dung hiện tại của bạn. Bạn có muốn tiếp tục không?`,collabStopOverridePrompt:`Dừng phiên sẽ ghi đè lên bản vẽ được lưu trữ cục bộ trước đó của bạn. Bạn có chắc không?
|
|
2
|
+
|
|
3
|
+
(Nếu bạn muốn giữ bản vẽ cục bộ của mình, chỉ cần đóng tab trình duyệt.)`,errorAddingToLibrary:`Không thể thêm món vào thư viện`,errorRemovingFromLibrary:`Không thể xoá món khỏi thư viện`,confirmAddLibrary:`Hình {{numShapes}} sẽ được thêm vào thư viện. Bạn chắc chứ?`,imageDoesNotContainScene:`Hình ảnh này dường như không chứa bất kỳ dữ liệu cảnh nào. Bạn đã bật tính năng nhúng cảnh khi xuất chưa?`,cannotRestoreFromImage:`Không thể khôi phục bản vẽ từ tệp hình ảnh này.`,invalidSceneUrl:`Không thể nhập nội dung từ URL đã cung cấp. Đó có thể là do URL không đúng cú pháp hoặc không chứa dữ liệu JSON hợp lệ với Excalidraw.`,resetLibrary:`Hành động này sẽ xóa toàn bộ thư viện của bạn. Bạn chắc chắn chứ?`,removeItemsFromsLibrary:`Xoá {{count}} món từ thư viện?`,invalidEncryptionKey:`Khóa mã hóa phải có 22 ký tự. Hợp tác trực tiếp bị vô hiệu hóa.`,collabOfflineWarning:`Không có kết nối internet.
|
|
4
|
+
Thay đổi của bạn sẽ không được lưu!`,localStorageQuotaExceeded:``},o={unsupportedFileType:`Loại tập tin không được hỗ trợ.`,imageInsertError:`Không thể thêm ảnh. Hãy thử lại sau...`,fileTooBig:`Tệp tin quá lớn. Dung lượng tối đa cho phép là {{maxSize}}.`,svgImageInsertError:`Không thể thêm ảnh SVG. Mã SVG có vẻ sai.`,failedToFetchImage:`Có lỗi khi tải ảnh.`,cannotResolveCollabServer:`Không thể kết nối với máy chủ hợp tác. Hãy tải lại trang và thử lại.`,importLibraryError:`Không thể tải thư viện`,saveLibraryError:`Không thể lưu thư viện vào bộ nhớ. Hãy lưu thành tệp trên máy để đảm bảo bạn không mất các thay đổi.`,collabSaveFailed:`Không thể lưu vào cơ sở dữ liệu. Nếu vấn đề tiếp tục xảy ra, bạn nên lưu tệp vào máy để đảm bảo bạn không bị mất công việc.`,collabSaveFailed_sizeExceeded:`Không thể lưu vào cơ sở dữ liệu, canvas có vẻ quá lớn. Bạn nên lưu tệp cục bộ để đảm bảo bạn không bị mất công việc.`,imageToolNotSupported:`Hình ảnh đã được vô hiệu hóa.`,brave_measure_text_error:{line1:`Dường như bạn đang sử dụng trình duyệt Brave với cài đặt <bold>Aggressively Block Fingerprinting</bold> được bật.`,line2:`Điều này có thể gây ra lỗi cho các <bold>Text Elements</bold> trong bản vẽ của bạn.`,line3:`Chúng tôi khuyên bạn nên tắt tùy chọn này. Xem <link>hướng dẫn này</link> để biết cách thực hiện.`,line4:`Nếu tắt cài đặt này vẫn không sửa được lỗi hiển thị chữ, hãy tạo <issueLink>báo cáo lỗi</issueLink> trên GitHub hoặc liên hệ qua <discordLink>Discord</discordLink>.`},libraryElementTypeError:{embeddable:`Không thể lưu phần tử nhúng vào thư viện`,iframe:`Các phần tử IFrame không thể được thêm vào thư viện.`,image:`Thêm hình ảnh vào thư viện sẽ sớm được hỗ trợ!`},asyncPasteFailedOnRead:`Không thể dán (không thể đọc từ bộ nhớ tạm của hệ thống).`,asyncPasteFailedOnParse:`Không thể dán.`,copyToSystemClipboardFailed:`Không thể sao chép vào bộ nhớ tạm.`},s={selection:`Lựa chọn`,lasso:``,image:`Chèn ảnh`,rectangle:`Hình chữ nhật`,diamond:`Kim cương`,ellipse:`Hình elíp`,arrow:`Mũi tên`,line:`Đường kẻ`,freedraw:`Vẽ`,text:`Văn bản`,library:`Thư viện`,lock:`Giữ dụng cũ hiện tại sau khi vẽ`,penMode:`Chế độ bút vẽ - ngăn ngừa chạm nhầm`,link:`Thêm / Cập nhật liên kết cho hình đã chọn`,eraser:`Xóa`,frame:`Công cụ tạo khung`,magicframe:`Wireframe thành code`,embeddable:`Nhúng Web`,laser:`Con trỏ laser`,autoshape:``,bucketfill:``,hand:`Tay kéo`,extraTools:`Công cụ khác`,mermaidToExcalidraw:`Mermaid sang Excalidraw`,convertElementType:``},c={noRegion:``,tooComplex:``},l={rectangle:`Hình chữ nhật`,diamond:`Kim cương`,ellipse:`Hình bầu dục`,arrow:`Mũi tên`,line:`Đường kẻ`,freedraw:`Vẽ tự do`,text:`Văn bản`,image:`Hình ảnh`,group:`Nhóm`,frame:`Khung hình`,magicframe:`Wireframe thành code`,embeddable:`Nhúng Web`,selection:`Lựa chọn`,iframe:`IFrame`},u={canvasActions:`Hành động canvas`,selectedShapeActions:`Các hành động cho hình dạng đã chọn`,shapes:`Các hình khối`},d={dismissSearch:``,canvasPanning:``,linearElement:`Ấn để bắt đầu nhiểm điểm vẽ, kéo để vẽ một đường thẳng`,arrowTool:``,arrowBindModifiers:``,freeDraw:`Ấn bà kéo, thả khi bạn xong`,text:`Mẹo: bạn có thể thêm văn bản tại bất cứ đâu bằng cách ấn hai lần bằng tool lựa chọn`,embeddable:`Nhấp và kéo để tạo nội dung nhúng từ website.`,autoshape:``,text_selected:``,text_editing:``,linearElementMulti:``,lockAngle:``,resize:``,resizeImage:``,rotate:`Giới hạn góc độ bằng cách giữ {{shortcut}} khi xoay`,toggleArrowhead:``,lineEditor_info:``,lineEditor_line_info:``,lineEditor_pointSelected:``,lineEditor_nothingSelected:``,publishLibrary:`Chia sẻ thư viện của bạn`,bindTextToElement:`Nhấn {{shortcut}} để thêm văn bản`,createFlowchart:``,deepBoxSelect:``,eraserRevert:``,firefox_clipboard_write:`Tính năng này có thể được bật bằng cách đặt cờ "dom.events.asyncClipboard.clipboardItem" thành "true". Để thay đổi cờ trình duyệt trong Firefox, hãy truy cập trang "about:config".`,disableSnapping:``,enterCropEditor:``,leaveCropEditor:``},f={cannotShowPreview:`Không thể xem trước`,canvasTooBig:`Canvas này có thể hơi lớn.`,canvasTooBigTip:`Mẹo: hãy thử di chuyển các elements nhất lại gần nhau hơn một chút.`},p={headingMain:`Đã xảy ra lỗi. Hãy thử <button>tải lại trang</button>.`,clearCanvasMessage:`Nếu không tải lại được, hãy thử <button>dọn canvas.</button>`,clearCanvasCaveat:` Điều này sẽ dẫn đến mất dữ liệu bạn đã làm `,trackedToSentry:``,openIssueMessage:``,sceneContent:`Nội dung bản vẽ:`},m={or:`Hoặc`},h={desc_intro:`Mời mọi người cùng cộng tác trong bản vẽ của bạn.`,desc_privacy:`Đừng lo, phiên hoạt động đã được mã hóa đầu cuối, và hoàn toàn riêng tư. Ngay cả máy chủ của chúng tôi cũng không thể thấy những gì bạn vẽ.`,button_startSession:`Bắt đầu phiên`,button_stopSession:`Kết thúc phiên`,desc_inProgressIntro:`Phiên làm việc trực tiếp hiện đang diễn ra.`,desc_shareLink:`Chia sẻ liên kết này với người bạn muốn cộng tác cùng:`,desc_exitSession:`Dừng phiên sẽ đưa bạn ra khỏi phòng, nhưng bạn vẫn có thể làm việc tiếp trên máy. Những người khác sẽ không bị ảnh hưởng và vẫn cộng tác trên bản của họ.`,shareTitle:`Vào phiên làm việc chung trên Excalidraw`},g={title:`Lỗi`},_={title:``,defaultMessage:``},v={disk_title:`Lưu về máy`,disk_details:``,disk_button:`Lưu vào tệp tin`,link_title:`Liên kết có thể chia sẻ`,link_details:`Tạo liên kết chỉ xem`,link_button:`Tạo liên kết`,excalidrawplus_description:`Lưu bản vẽ vào không gian làm việc Excalidraw+ của bạn.`,excalidrawplus_button:`Xuất`,excalidrawplus_exportError:`Hiện tại không thể xuất sang Excalidraw+...`},y={blog:`Đọc blog của chúng tôi`,click:`Nhấp`,deepSelect:``,deepBoxSelect:``,createFlowchart:``,navigateFlowchart:``,curvedArrow:`Mũi tên cong`,curvedLine:`Đường cong`,documentation:`Tài liệu`,doubleClick:`Nhấp đúp`,drag:`kéo`,editor:`Trình chỉnh sửa`,editLineArrowPoints:`Chỉnh sửa điểm của đường/mũi tên`,editText:`Chỉnh sửa văn bản / thêm nhãn`,github:`Phát hiện lỗi? Gửi phản hồi`,howto:`Làm theo hướng dẫn của chúng tôi`,or:`hoặc`,preventBinding:`Ngăn mũi tên tự gắn`,tools:`Công cụ`,shortcuts:`Phím tắt bàn phím`,textFinish:`Hoàn tất chỉnh sửa (trình soạn thảo văn bản)`,textNewLine:``,title:`Trợ giúp`,view:`Xem`,zoomToFit:``,zoomToSelection:``,toggleElementLock:`Khóa/mở khóa vùng lựa chọn`,movePageUpDown:`Chuyển trang lên/xuống`,movePageLeftRight:`Chuyển trang trái/phải`,cropStart:`Cắt ảnh`,cropFinish:``},b={title:`Dọn canvas`},x={title:``,itemName:`Tên món`,authorName:`Tên tác giả`,githubUsername:`Tên tài khoản Github`,twitterUsername:`Tên tài khoản Twitter`,libraryName:`Tên thư viện`,libraryDesc:`Mô tả thư viện`,website:`Website`,placeholder:{authorName:`Tên của bạn hoặc tên tài khoản`,libraryName:`Tên thư viện của bạn`,libraryDesc:`Mô tả thư viện của bạn để mọi người có thể hiểu được cách dùng của nó`,githubHandle:``,twitterHandle:`Tên Twitter (không bắt buộc) để chúng tôi ghi nhận bạn khi chia sẻ trên Twitter.`,website:`Đường dẫn tới trang web cá nhân của bạn hoặc tới đâu đó (tùy chọn)`},errors:{required:`Bắt buộc`,website:`Nhập đường dẫn hợp lệ`},noteDescription:`Chia sẻ thư viện của bạn vào <link>kho thư viện công khai</link> để mọi người có thể dùng trong bản vẽ của họ.`,noteGuidelines:`Thư viện cần được phê duyệt thủ công trước. Vui lòng đọc <link>hướng dẫn</link> trước khi gửi. Bạn sẽ cần tài khoản GitHub để trao đổi và chỉnh sửa khi được yêu cầu, nhưng điều này không bắt buộc.`,noteLicense:`Bằng việc gửi, bạn đồng ý rằng thư viện sẽ được phát hành theo <link>Giấy phép MIT</link>, nghĩa là bất kỳ ai cũng có thể sử dụng mà không bị hạn chế.`,noteItems:`Từng món trong thư viện phải có tên riêng để có thể lọc. Các món thư viện sau đây sẽ thêm:`,atleastOneLibItem:`Vui lòng chọn ít nhất một món thư viện để bắt đầu`,republishWarning:`Lưu ý: một số món đã chọn được đánh dấu là đã xuất bản/đã gửi. Bạn chỉ nên gửi lại các món khi cập nhật thư viện hiện có hoặc gửi.`},S={title:`Thư viện đã được gửi`,content:`Cảm ơn {{authorName}}! Thư viện của bạn đã được gửi để duyệt. Bạn có thể xem tiến trình <link>tại đây</link>.`},C={resetLibrary:`Cài lại thư viện`,removeItemsFromLib:`Xóa món đã chọn khỏi thư viện`},w={header:`Xuất thành hình ảnh`,label:{withBackground:`Nền`,onlySelected:`Chỉ phần tử đã lựa chọn`,darkMode:`Chế độ tối`,embedScene:``,scale:`Thu phóng`,padding:`Phần đệm`},tooltip:{embedScene:`Dữ liệu của bối cảnh sẽ được lưu dưới định dạng PNG/SVG vậy nên bối cảnh có thể khôi phục lại từ nó.
|
|
5
|
+
Sẽ tăng kích thước của tệp được lưu.`},title:{exportToPng:``,exportToSvg:``,copyPngToClipboard:`Sao chép PNG vào bộ nhớ`},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:`Sao chép vào bộ nhớ tạm`}},T={tooltip:`Bản vẽ của bạn được bảo mật bằng mã hóa đầu cuối, vì vậy máy chủ Excalidraw sẽ không thể xem chúng.`,link:`Bài blog về mã hóa đầu cuối trong Excalidraw`},E={angle:`Góc`,shapes:``,height:`Chiều cao`,scene:`Bối cảnh`,selected:`Đã chọn`,storage:`Bộ nhớ`,fullTitle:``,title:`Thuộc tính`,generalStats:`Chung`,elementProperties:``,total:`Tổng cộng`,version:`Phiên bản`,versionCopy:`Nhấn để sao chép`,versionNotAvailable:`Phiên bản không khả dụng`,width:`Chiều rộng`},D={addedToLibrary:`Đã thêm vào Thư viện`,copyStyles:`Đã sao chép định dạng.`,copyToClipboard:`Đã sao chép vào bộ nhớ tạm.`,copyToClipboardAsPng:`Đã sao chép {{exportSelection}} sang bộ nhớ tạm dưới định dạng PNG
|
|
6
|
+
({{exportColorScheme}})`,copyToClipboardAsSvg:`Đã sao chép {{exportSelection}} sang bộ nhớ tạm dưới định dạng SVG
|
|
7
|
+
({{exportColorScheme}})`,fileSaved:`Đã lưu tập tin`,fileSavedToFilename:``,canvas:``,selection:`lựa chọn`,pasteAsSingleElement:`Sử dụng {{shortcut}} để dán như một phần tử riêng lẻ hoặc dán vào một bộ soạn thảo văn bản có sẵn`,unableToEmbed:`Nhúng liên kết này hiện không được phép. Đưa ra vấn đề trên GitHub để yêu cầu đưa liên kết này vào danh sách được phép`,unrecognizedLinkFormat:`Liên kết bạn nhúng không khớp với định dạng mong đợi. Vui lòng thử dán liên kết 'embed' do trang nguồn cung cấp`,elementLinkCopied:`Đã sao chép liên kết vào bộ nhớ tạm`},O={transparent:`Độ trong suốt`,black:`Màu đen`,white:``,red:``,pink:``,grape:``,violet:``,gray:``,blue:``,cyan:``,teal:`Màu xanh lục`,green:`Màu xanh lá`,yellow:`Màu vàng`,orange:`Màu cam`,bronze:``},k={app:{center_heading:``,center_heading_line2:``,center_heading_line3:``,center_heading_plus:``,menuHint:``},defaults:{menuHint:``,center_heading:``,toolbarHint:``,helpHint:``}},A={color:``,mostUsedCustomColors:``,colors:``,shades:``,hexCode:``,noShades:``,invalidColor:``,invalidHexLength:``,topPicksTip:``,resetTopPicks:``},j={action:{exportToImage:{title:``,button:``,description:``},saveToDisk:{title:``,button:``,description:``},excalidrawPlus:{title:``,button:``,description:``}},modal:{loadFromFile:{title:``,button:``,description:``},shareableLink:{title:``,button:``,description:``}}},M={title:``,button:``,description:``,syntax:``,preview:``,label:``,inputPlaceholder:``,autoFixAvailable:``},N={error:``},P={inputPlaceholder:``,inputPlaceholderWithMessages:``,generating:``,rateLimitRemaining:``,role:{user:``,assistant:``,system:``},aiBeta:``,label:``,menu:``,newChat:``,deleteChat:``,deleteMessage:``,viewAsMermaid:``,placeholder:{title:``,description:``,hint:``},preview:``,insert:``,retry:``,errors:{promptTooShort:``,promptTooLong:``,generationFailed:``,invalidDiagram:``,fixInMermaid:``,aiRepair:``,requestAborted:``,requestFailed:``,mermaidParseError:``},rateLimit:{messageLimit:``,generalRateLimit:``,messageLimitInputPlaceholder:``},upsellBtnLabel:``},F={placeholder:``},I={badge:{old:``},sceneFonts:``,availableFonts:``,empty:``},L={empty:``,hint:{text:``,followStatus:``,inCall:``,micMuted:``,isSpeaking:``}},R={title:``,shortcuts:{select:``,confirm:``,close:``},recents:``,search:{placeholder:``,noMatch:``},itemNotAvailable:``,shortcutHint:``},z={ctrl:``,option:``,cmd:``,alt:``,escape:``,enter:``,shift:``,spacebar:``,delete:``,mmb:``},B={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,bucketfill:c,element:l,headings:u,hints:d,canvasError:f,errorSplash:p,shareDialog:m,roomDialog:h,errorDialog:g,progressDialog:_,exportDialog:v,helpDialog:y,clearCanvasDialog:b,publishDialog:x,publishSuccessDialog:S,confirmDialog:C,imageExportDialog:w,encrypted:T,stats:E,toast:D,colors:O,welcomeScreen:k,colorPicker:A,overwriteConfirm:j,mermaid:M,ttd:N,chat:P,quickSearch:F,fontList:I,userList:L,commandPalette:R,keys:z};export{a as alerts,c as bucketfill,i as buttons,f as canvasError,P as chat,b as clearCanvasDialog,A as colorPicker,O as colors,R as commandPalette,C as confirmDialog,B as default,l as element,t as elementLink,T as encrypted,g as errorDialog,p as errorSplash,o as errors,v as exportDialog,I as fontList,u as headings,y as helpDialog,d as hints,w as imageExportDialog,z as keys,e as labels,n as library,M as mermaid,j as overwriteConfirm,_ as progressDialog,x as publishDialog,S as publishSuccessDialog,F as quickSearch,h as roomDialog,r as search,m as shareDialog,E as stats,D as toast,s as toolBar,N as ttd,L as userList,k as welcomeScreen};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import{D as n,H as r,K as i,U as a,a as o,b as s,c,v as l,w as u,x as d,y as f}from"./chunk-DU6HZSFF-
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import{D as n,H as r,K as i,U as a,a as o,b as s,c,v as l,w as u,x as d,y as f}from"./chunk-DU6HZSFF-C6d6PJfE.js";import{i as p}from"./chunk-75Z2AOVW-B2cZexqK.js";import{t as m}from"./chunk-CLGD4ZFX-Cmtx89ht.js";import{t as h}from"./chunk-JWPE2WC7-DVXcaiue.js";import{n as g}from"./mermaid-parser.core-DrdLA3p0.js";var _=e((e,t)=>{let n=e<=1?e*100:e;if(n<0||n>100)throw Error(`${t} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${e}`);return n},`toPercent`),v=e((e,t,n)=>({x:_(t,`${n} evolution`),y:_(e,`${n} visibility`)}),`toCoordinates`),y=e(e=>{if(e){if(e===`+<>`)return`bidirectional`;if(e===`+<`)return`backward`;if(e===`+>`)return`forward`}},`getFlowFromPort`),b=e(e=>{if(!e?.startsWith(`+`))return{};let t=/^\+'([^']*)'/.exec(e)?.[1];return e.includes(`<>`)?{flow:`bidirectional`,label:t}:e.includes(`<`)?{flow:`backward`,label:t}:e.includes(`>`)?{flow:`forward`,label:t}:{label:t}},`extractFlowFromArrow`),x=e((e,t)=>{if(h(e,t),e.size&&t.setSize(e.size.width,e.size.height),e.evolution){let n=e.evolution.stages.map(e=>e.secondName?`${e.name.trim()} / ${e.secondName.trim()}`:e.name.trim()),r=e.evolution.stages.filter(e=>e.boundary!==void 0).map(e=>e.boundary);t.updateAxes({stages:n,stageBoundaries:r})}if(e.anchors.forEach(e=>{let n=v(e.visibility,e.evolution,`Anchor "${e.name}"`);t.addNode(e.name,e.name,n.x,n.y,`anchor`)}),e.components.forEach(e=>{let n=v(e.visibility,e.evolution,`Component "${e.name}"`),r=e.label?(e.label.negX?-1:1)*e.label.offsetX:void 0,i=e.label?(e.label.negY?-1:1)*e.label.offsetY:void 0,a=e.decorator?.strategy;t.addNode(e.name,e.name,n.x,n.y,`component`,r,i,e.inertia,a)}),e.notes.forEach(e=>{let n=v(e.visibility,e.evolution,`Note "${e.text}"`);t.addNote(e.text,n.x,n.y)}),e.pipelines.forEach(e=>{let n=t.getNode(e.parent);if(!n||typeof n.y!=`number`)throw Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);let r=n.y;t.startPipeline(e.parent),e.components.forEach(n=>{let i=`${e.parent}_${n.name}`,a=n.label?(n.label.negX?-1:1)*n.label.offsetX:void 0,o=n.label?(n.label.negY?-1:1)*n.label.offsetY:void 0,s=_(n.evolution,`Pipeline component "${n.name}" evolution`);t.addNode(i,n.name,s,r,`pipeline-component`,a,o),t.addPipelineComponent(e.parent,i)})}),e.links.forEach(e=>{let n=!!e.arrow&&(e.arrow.includes(`-.->`)||e.arrow.includes(`.-.`)),r=y(e.fromPort)??y(e.toPort),{flow:i,label:a}=b(e.arrow);!r&&i&&(r=i);let o=e.linkLabel,s=a??o;t.addLink(t.resolveNodeId(e.from),t.resolveNodeId(e.to),n,s,r)}),e.evolves.forEach(e=>{let n=t.getNode(e.component);if(n?.y!==void 0){let r=_(e.target,`Evolve target for "${e.component}"`);t.addTrend(e.component,r,n.y)}}),e.annotations.length>0){let n=e.annotations[0],r=v(n.x,n.y,`Annotations box`);t.setAnnotationsBox(r.x,r.y)}e.annotation.forEach(e=>{let n=v(e.x,e.y,`Annotation ${e.number}`);t.addAnnotation(e.number,[{x:n.x,y:n.y}],e.text)}),e.accelerators.forEach(e=>{let n=v(e.x,e.y,`Accelerator "${e.name}"`);t.addAccelerator(e.name,n.x,n.y)}),e.deaccelerators.forEach(e=>{let n=v(e.x,e.y,`Deaccelerator "${e.name}"`);t.addDeaccelerator(e.name,n.x,n.y)})},`populateDb`),S={parser:{yy:void 0},parse:e(async e=>{let n=await g(`wardley`,e);t.debug(n);let r=S.parser?.yy;if(!r||typeof r.addNode!=`function`)throw 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.`);x(n,r)},`parse`)},C=new 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={}}static{e(this,`WardleyBuilder`)}addNode(e){let t=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...t,...e,className:e.className??t.className,labelOffsetX:e.labelOffsetX??t.labelOffsetX,labelOffsetY:e.labelOffsetY??t.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});let t=this.nodes.get(e);t&&(t.isPipelineParent=!0)}addPipelineComponent(e,t){let n=this.pipelines.get(e);n&&n.componentIds.push(t);let r=this.nodes.get(t);r&&(r.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,t){this.annotationsBox={x:e,y:t}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,t){this.size={width:e,height:t}}getNode(e){return this.nodes.get(e)}resolveNodeId(e){if(this.nodes.has(e))return e;for(let[t,n]of this.nodes)if(n.label===e)return t;return e}build(){let e=[];for(let t of this.nodes.values()){if(typeof t.x!=`number`||typeof t.y!=`number`)throw Error(`Node "${t.label}" is missing coordinates`);e.push(t)}return{nodes:e,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}};function w(){return d()[`wardley-beta`]}e(w,`getConfig`);function T(e,t,n,r,i,a,o,s,c){C.addNode({id:e,label:t,x:n,y:r,className:i,labelOffsetX:a,labelOffsetY:o,inertia:s,sourceStrategy:c})}e(T,`addNode`);function E(e,t,n=!1,r,i){C.addLink({source:e,target:t,dashed:n,label:r,flow:i})}e(E,`addLink`);function D(e,t,n){C.addTrend({nodeId:e,targetX:t,targetY:n})}e(D,`addTrend`);function O(e,t,n){C.addAnnotation({number:e,coordinates:t,text:n})}e(O,`addAnnotation`);function k(e,t,n){C.addNote({text:e,x:t,y:n})}e(k,`addNote`);function A(e,t,n){C.addAccelerator({name:e,x:t,y:n})}e(A,`addAccelerator`);function j(e,t,n){C.addDeaccelerator({name:e,x:t,y:n})}e(j,`addDeaccelerator`);function M(e,t){C.setAnnotationsBox(e,t)}e(M,`setAnnotationsBox`);function N(e,t){C.setSize(e,t)}e(N,`setSize`);function P(e){C.startPipeline(e)}e(P,`startPipeline`);function F(e,t){C.addPipelineComponent(e,t)}e(F,`addPipelineComponent`);function I(e){C.setAxes(e)}e(I,`updateAxes`);function L(e){return C.getNode(e)}e(L,`getNode`);function R(e){return C.resolveNodeId(e)}e(R,`resolveNodeId`);function z(){return C.build()}e(z,`getWardleyData`);function B(){C.clear(),o()}e(B,`clear`);var V={getConfig:w,addNode:T,addLink:E,addTrend:D,addAnnotation:O,addNote:k,addAccelerator:A,addDeaccelerator:j,setAnnotationsBox:M,setSize:N,startPipeline:P,addPipelineComponent:F,updateAxes:I,getNode:L,resolveNodeId:R,getWardleyData:z,clear:B,setAccTitle:a,getAccTitle:f,setDiagramTitle:i,getDiagramTitle:u,getAccDescription:l,setAccDescription:r},H=[`Genesis`,`Custom Built`,`Product`,`Commodity`],U=e(()=>{let{themeVariables:e}=d();return{backgroundColor:e.wardley?.backgroundColor??e.background??`#fff`,axisColor:e.wardley?.axisColor??`#000`,axisTextColor:e.wardley?.axisTextColor??e.primaryTextColor??`#222`,gridColor:e.wardley?.gridColor??`rgba(100, 100, 100, 0.2)`,componentFill:e.wardley?.componentFill??`#fff`,componentStroke:e.wardley?.componentStroke??`#000`,componentLabelColor:e.wardley?.componentLabelColor??e.primaryTextColor??`#222`,linkStroke:e.wardley?.linkStroke??`#000`,evolutionStroke:e.wardley?.evolutionStroke??`#dc3545`,annotationStroke:e.wardley?.annotationStroke??`#000`,annotationTextColor:e.wardley?.annotationTextColor??e.primaryTextColor??`#222`,annotationFill:e.wardley?.annotationFill??e.background??`#fff`}},`getTheme`),W=e(()=>{let e=d()[`wardley-beta`];return{width:e?.width??900,height:e?.height??600,padding:e?.padding??48,nodeRadius:e?.nodeRadius??6,nodeLabelOffset:e?.nodeLabelOffset??8,axisFontSize:e?.axisFontSize??12,labelFontSize:e?.labelFontSize??10,showGrid:e?.showGrid??!1,useMaxWidth:e?.useMaxWidth??!0}},`getConfigValues`),G={parser:S,db:V,renderer:{draw:e((n,r,i,a)=>{t.debug(`Rendering Wardley map
|
|
2
2
|
`+n);let o=W(),s=U(),l=o.nodeRadius*1.6,u=a.db,d=u.getWardleyData(),f=u.getDiagramTitle(),p=d.size?.width??o.width,h=d.size?.height??o.height,g=m(r);g.selectAll(`*`).remove(),c(g,h,p,o.useMaxWidth),g.attr(`viewBox`,`0 0 ${p} ${h}`);let _=g.append(`g`).attr(`class`,`wardley-map`),v=g.append(`defs`);v.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`,s.evolutionStroke).attr(`stroke`,`none`),v.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`,s.linkStroke).attr(`stroke`,`none`),v.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`,s.linkStroke).attr(`stroke`,`none`),_.append(`rect`).attr(`class`,`wardley-background`).attr(`width`,p).attr(`height`,h).attr(`fill`,s.backgroundColor);let y=p-o.padding*2,b=h-o.padding*2;f&&_.append(`text`).attr(`class`,`wardley-title`).attr(`x`,p/2).attr(`y`,o.padding/2).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize*1.05).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).text(f);let x=e(e=>o.padding+e/100*y,`projectX`),S=e(e=>h-o.padding-e/100*b,`projectY`),C=_.append(`g`).attr(`class`,`wardley-axes`);C.append(`line`).attr(`x1`,o.padding).attr(`x2`,p-o.padding).attr(`y1`,h-o.padding).attr(`y2`,h-o.padding).attr(`stroke`,s.axisColor).attr(`stroke-width`,1),C.append(`line`).attr(`x1`,o.padding).attr(`x2`,o.padding).attr(`y1`,o.padding).attr(`y2`,h-o.padding).attr(`stroke`,s.axisColor).attr(`stroke-width`,1);let w=d.axes.xLabel??`Evolution`,T=d.axes.yLabel??`Visibility`;C.append(`text`).attr(`class`,`wardley-axis-label wardley-axis-label-x`).attr(`x`,o.padding+y/2).attr(`y`,h-o.padding/4).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).text(w),C.append(`text`).attr(`class`,`wardley-axis-label wardley-axis-label-y`).attr(`x`,o.padding/3).attr(`y`,o.padding+b/2).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize).attr(`font-weight`,`bold`).attr(`text-anchor`,`middle`).attr(`transform`,`rotate(-90 ${o.padding/3} ${o.padding+b/2})`).text(T);let E=d.axes.stages&&d.axes.stages.length>0?d.axes.stages:H;if(E.length>0){let e=_.append(`g`).attr(`class`,`wardley-stages`),t=d.axes.stageBoundaries,n=[];if(t&&t.length===E.length){let e=0;t.forEach(t=>{n.push({start:e,end:t}),e=t})}else{let e=1/E.length;E.forEach((t,r)=>{n.push({start:r*e,end:(r+1)*e})})}E.forEach((t,r)=>{let i=n[r],a=o.padding+i.start*y,c=(a+(o.padding+i.end*y))/2;r>0&&e.append(`line`).attr(`x1`,a).attr(`x2`,a).attr(`y1`,o.padding).attr(`y2`,h-o.padding).attr(`stroke`,`#000`).attr(`stroke-width`,1).attr(`stroke-dasharray`,`5 5`).attr(`opacity`,.8),e.append(`text`).attr(`class`,`wardley-stage-label`).attr(`x`,c).attr(`y`,h-o.padding/1.5).attr(`fill`,s.axisTextColor).attr(`font-size`,o.axisFontSize-2).attr(`text-anchor`,`middle`).text(t)})}if(o.showGrid){let e=_.append(`g`).attr(`class`,`wardley-grid`);for(let t=1;t<4;t++){let n=t/4,r=o.padding+y*n;e.append(`line`).attr(`x1`,r).attr(`x2`,r).attr(`y1`,o.padding).attr(`y2`,h-o.padding).attr(`stroke`,s.gridColor).attr(`stroke-dasharray`,`2 6`),e.append(`line`).attr(`x1`,o.padding).attr(`x2`,p-o.padding).attr(`y1`,h-o.padding-b*n).attr(`y2`,h-o.padding-b*n).attr(`stroke`,s.gridColor).attr(`stroke-dasharray`,`2 6`)}}let D=new Map;if(d.nodes.forEach(e=>{D.set(e.id,{x:x(e.x),y:S(e.y),node:e})}),d.pipelines.length>0){let e=_.append(`g`).attr(`class`,`wardley-pipelines`),t=_.append(`g`).attr(`class`,`wardley-pipeline-links`);d.pipelines.forEach(n=>{if(n.componentIds.length===0)return;let r=n.componentIds.map(e=>({id:e,pos:D.get(e),node:d.nodes.find(t=>t.id===e)})).filter(e=>e.pos&&e.node).sort((e,t)=>e.node.x-t.node.x);for(let e=0;e<r.length-1;e++){let n=r[e],i=r[e+1];t.append(`line`).attr(`class`,`wardley-pipeline-evolution-link`).attr(`x1`,n.pos.x).attr(`y1`,n.pos.y).attr(`x2`,i.pos.x).attr(`y2`,i.pos.y).attr(`stroke`,s.linkStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,`4 4`)}let i=1/0,a=-1/0,c=0;if(n.componentIds.forEach(e=>{let t=D.get(e);t&&(i=Math.min(i,t.x),a=Math.max(a,t.x),c=t.y)}),i!==1/0&&a!==-1/0){let t=o.nodeRadius*4,r=c-t/2,u=D.get(n.nodeId);u&&(u.x=(i+a)/2,u.y=r-l/6),e.append(`rect`).attr(`class`,`wardley-pipeline-box`).attr(`x`,i-15).attr(`y`,r).attr(`width`,a-i+30).attr(`height`,t).attr(`fill`,`none`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`rx`,4).attr(`ry`,4)}})}let O=_.append(`g`).attr(`class`,`wardley-links`),k=new Map;d.pipelines.forEach(e=>{k.set(e.nodeId,new Set(e.componentIds))});let A=d.links.filter(e=>!(!D.has(e.source)||!D.has(e.target)||k.get(e.target)?.has(e.source)));O.selectAll(`line`).data(A).enter().append(`line`).attr(`class`,e=>`wardley-link${e.dashed?` wardley-link--dashed`:``}`).attr(`x1`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.source).isPipelineParent?l/Math.sqrt(2):o.nodeRadius,i=n.x-t.x,a=n.y-t.y,s=Math.sqrt(i*i+a*a);return t.x+i/s*r}).attr(`y1`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.source).isPipelineParent?l/Math.sqrt(2):o.nodeRadius,i=n.x-t.x,a=n.y-t.y,s=Math.sqrt(i*i+a*a);return t.y+a/s*r}).attr(`x2`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.target).isPipelineParent?l/Math.sqrt(2):o.nodeRadius,i=t.x-n.x,a=t.y-n.y,s=Math.sqrt(i*i+a*a);return n.x+i/s*r}).attr(`y2`,e=>{let t=D.get(e.source),n=D.get(e.target),r=d.nodes.find(t=>t.id===e.target).isPipelineParent?l/Math.sqrt(2):o.nodeRadius,i=t.x-n.x,a=t.y-n.y,s=Math.sqrt(i*i+a*a);return n.y+a/s*r}).attr(`stroke`,s.linkStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,e=>e.dashed?`6 6`:null).attr(`marker-end`,e=>e.flow===`forward`||e.flow===`bidirectional`?`url(#link-arrow-end-${r})`:null).attr(`marker-start`,e=>e.flow===`backward`||e.flow===`bidirectional`?`url(#link-arrow-start-${r})`:null),O.selectAll(`text`).data(A.filter(e=>e.label)).enter().append(`text`).attr(`class`,`wardley-link-label`).attr(`x`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.x+n.x)/2,i=n.y-t.y,a=n.x-t.x;return r+i/Math.sqrt(a*a+i*i)*8}).attr(`y`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.y+n.y)/2,i=n.x-t.x,a=n.y-t.y,o=Math.sqrt(i*i+a*a);return r+-i/o*8}).attr(`fill`,s.axisTextColor).attr(`font-size`,o.labelFontSize).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`middle`).attr(`transform`,e=>{let t=D.get(e.source),n=D.get(e.target),r=(t.x+n.x)/2,i=(t.y+n.y)/2,a=n.x-t.x,o=n.y-t.y,s=Math.sqrt(a*a+o*o),c=o/s,l=-a/s,u=r+c*8,d=i+l*8,f=Math.atan2(o,a)*180/Math.PI;return(f>90||f<-90)&&(f+=180),`rotate(${f} ${u} ${d})`}).text(e=>e.label);let j=_.append(`g`).attr(`class`,`wardley-trends`),M=d.trends.map(e=>{let t=D.get(e.nodeId);if(!t)return null;let n=x(e.targetX),r=S(e.targetY),i=n-t.x,a=r-t.y,s=Math.sqrt(i*i+a*a),c=o.nodeRadius+2;return{origin:t,targetX:n,targetY:r,adjustedX2:s>c?n-i/s*c:n,adjustedY2:s>c?r-a/s*c:r}}).filter(e=>e!==null);j.selectAll(`line`).data(M).enter().append(`line`).attr(`class`,`wardley-trend`).attr(`x1`,e=>e.origin.x).attr(`y1`,e=>e.origin.y).attr(`x2`,e=>e.adjustedX2).attr(`y2`,e=>e.adjustedY2).attr(`stroke`,s.evolutionStroke).attr(`stroke-width`,1).attr(`stroke-dasharray`,`4 4`).attr(`marker-end`,`url(#arrow-${r})`);let N=_.append(`g`).attr(`class`,`wardley-nodes`).selectAll(`g`).data(d.nodes).enter().append(`g`).attr(`class`,e=>[`wardley-node`,e.className?`wardley-node--${e.className}`:``].filter(Boolean).join(` `));N.filter(e=>e.sourceStrategy===`outsource`).append(`circle`).attr(`class`,`wardley-outsource-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#666`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.sourceStrategy===`buy`).append(`circle`).attr(`class`,`wardley-buy-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#ccc`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.sourceStrategy===`build`).append(`circle`).attr(`class`,`wardley-build-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`#eee`).attr(`stroke`,`#000`).attr(`stroke-width`,1);let P=N.filter(e=>e.sourceStrategy===`market`);P.append(`circle`).attr(`class`,`wardley-market-overlay`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius*2).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>!e.isPipelineParent&&e.sourceStrategy!==`market`&&e.className!==`anchor`).append(`circle`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y).attr(`r`,o.nodeRadius).attr(`fill`,s.componentFill).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1);let F=o.nodeRadius*.7,I=o.nodeRadius*1.2;if(P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x).attr(`y1`,e=>D.get(e.id).y-I).attr(`x2`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`y2`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`y1`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`x2`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`y2`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`line`).attr(`class`,`wardley-market-line`).attr(`x1`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`y1`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`x2`,e=>D.get(e.id).x).attr(`y2`,e=>D.get(e.id).y-I).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x).attr(`cy`,e=>D.get(e.id).y-I).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x-I*Math.cos(Math.PI/6)).attr(`cy`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),P.append(`circle`).attr(`class`,`wardley-market-dot`).attr(`cx`,e=>D.get(e.id).x+I*Math.cos(Math.PI/6)).attr(`cy`,e=>D.get(e.id).y+I*Math.sin(Math.PI/6)).attr(`r`,F).attr(`fill`,`white`).attr(`stroke`,s.componentStroke).attr(`stroke-width`,2),N.filter(e=>e.isPipelineParent===!0).append(`rect`).attr(`x`,e=>D.get(e.id).x-l/2).attr(`y`,e=>D.get(e.id).y-l/2).attr(`width`,l).attr(`height`,l).attr(`fill`,s.componentFill).attr(`stroke`,s.componentStroke).attr(`stroke-width`,1),N.filter(e=>e.inertia===!0).append(`line`).attr(`class`,`wardley-inertia`).attr(`x1`,e=>{let t=D.get(e.id),n=e.isPipelineParent?l/2+15:o.nodeRadius+15;return e.sourceStrategy&&(n+=o.nodeRadius+10),t.x+n}).attr(`y1`,e=>{let t=D.get(e.id),n=e.isPipelineParent?l:o.nodeRadius*2;return t.y-n/2}).attr(`x2`,e=>{let t=D.get(e.id),n=e.isPipelineParent?l/2+15:o.nodeRadius+15;return e.sourceStrategy&&(n+=o.nodeRadius+10),t.x+n}).attr(`y2`,e=>{let t=D.get(e.id),n=e.isPipelineParent?l:o.nodeRadius*2;return t.y+n/2}).attr(`stroke`,s.componentStroke).attr(`stroke-width`,6),N.append(`text`).attr(`x`,e=>{let t=D.get(e.id);if(e.className===`anchor`)return e.labelOffsetX===void 0?t.x:t.x+e.labelOffsetX;let n=o.nodeLabelOffset;e.sourceStrategy&&e.labelOffsetX===void 0&&(n+=10);let r=e.labelOffsetX??n;return t.x+r}).attr(`y`,e=>{let t=D.get(e.id);if(e.className===`anchor`)return e.labelOffsetY===void 0?t.y-3:t.y+e.labelOffsetY;let n=-o.nodeLabelOffset;e.sourceStrategy&&e.labelOffsetY===void 0&&(n-=10);let r=e.labelOffsetY??n;return t.y+r}).attr(`class`,`wardley-node-label`).attr(`fill`,e=>e.className===`evolved`?s.evolutionStroke:e.className===`anchor`?`#000`:s.componentLabelColor).attr(`font-size`,o.labelFontSize).attr(`font-weight`,e=>e.className===`anchor`?`bold`:`normal`).attr(`text-anchor`,e=>e.className===`anchor`?`middle`:`start`).attr(`dominant-baseline`,e=>e.className===`anchor`?`middle`:`auto`).text(e=>e.label),d.annotations.length>0){let e=_.append(`g`).attr(`class`,`wardley-annotations`);if(d.annotations.forEach(t=>{let n=t.coordinates.map(e=>({x:x(e.x),y:S(e.y)}));if(n.length>1)for(let t=0;t<n.length-1;t++)e.append(`line`).attr(`class`,`wardley-annotation-line`).attr(`x1`,n[t].x).attr(`y1`,n[t].y).attr(`x2`,n[t+1].x).attr(`y2`,n[t+1].y).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`stroke-dasharray`,`4 4`);n.forEach(n=>{let r=e.append(`g`).attr(`class`,`wardley-annotation`);r.append(`circle`).attr(`cx`,n.x).attr(`cy`,n.y).attr(`r`,10).attr(`fill`,`white`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5),r.append(`text`).attr(`x`,n.x).attr(`y`,n.y).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,10).attr(`fill`,s.axisTextColor).attr(`font-weight`,`bold`).text(t.number)})}),d.annotationsBox){let t=x(d.annotationsBox.x),n=S(d.annotationsBox.y),r=e.append(`g`).attr(`class`,`wardley-annotations-box`),i=[...d.annotations].filter(e=>e.text).sort((e,t)=>e.number-t.number),a=[];if(i.forEach((e,i)=>{let o=r.append(`text`).attr(`x`,t+10).attr(`y`,n+10+(i+1)*16).attr(`font-size`,11).attr(`fill`,s.axisTextColor).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`middle`).text(`${e.number}. ${e.text}`);a.push(o)}),a.length>0){let e=0,c=0;a.forEach(t=>{let n=t.node(),r=n.getComputedTextLength();e=Math.max(e,r);let i=n.getBBox();c=Math.max(c,i.height)});let l=e+20+105,u=i.length*16+20+c/2,d=o.padding,f=p-o.padding-l,m=o.padding,g=h-o.padding-u;t=Math.max(d,Math.min(t,f)),n=Math.max(m,Math.min(n,g)),a.forEach((e,r)=>{e.attr(`x`,t+10).attr(`y`,n+10+(r+1)*16)}),r.insert(`rect`,`text`).attr(`x`,t).attr(`y`,n).attr(`width`,l).attr(`height`,u).attr(`fill`,`white`).attr(`stroke`,s.axisColor).attr(`stroke-width`,1.5).attr(`rx`,4).attr(`ry`,4)}}}if(d.notes.length>0){let e=_.append(`g`).attr(`class`,`wardley-notes`);d.notes.forEach(t=>{let n=x(t.x),r=S(t.y);e.append(`text`).attr(`x`,n).attr(`y`,r).attr(`text-anchor`,`start`).attr(`font-size`,11).attr(`fill`,s.axisTextColor).attr(`font-weight`,`bold`).text(t.text)})}if(d.accelerators.length>0){let e=_.append(`g`).attr(`class`,`wardley-accelerators`);d.accelerators.forEach(t=>{let n=x(t.x),r=S(t.y),i=`
|
|
3
3
|
M ${n} ${r-15}
|
|
4
4
|
L ${n+60-20} ${r-15}
|
package/dist/client/assets/{wiki-link-resolver-DFIwErjc.js → wiki-link-resolver-C2P_WmTV.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as e,n as t}from"./file-kind-BwMIcZbi.js";function n(e,t){return e.match(t)?.length??0}function r(e=``){let t=String(e),r=n(t,/!\[\[[^\]]+\.(?:mmd|mermaid)(?:\|[^\]]+)?\]\]/gi),i=n(t,/(^|\n)```(?:plantuml|puml)\b/gi),a=n(t,/!\[\[[^\]]+\.(?:puml|plantuml)(?:\|[^\]]+)?\]\]/gi);return{chars:t.length,drawioEmbeds:n(t,/!\[\[[^\]]+\.drawio(?:\|[^\]]+)?\]\]/gi),excalidrawEmbeds:n(t,/!\[\[[^\]]+\.excalidraw(?:\|[^\]]+)?\]\]/gi),mermaidBlocks:n(t,/(^|\n)```mermaid\b/gi)+r,plantumlBlocks:i+a}}function i(e){return!!(e&&(e.chars>=15e4||e.mermaidBlocks>=20||e.drawioEmbeds>=8||e.excalidrawEmbeds>=8||e.plantumlBlocks>=12))}function a(e=``){let t=String(e),n=/(^|\n)```mermaid\b/i.test(t)||/!\[\[[^\]]+\.(?:mmd|mermaid)(?:\|[^\]]+)?\]\]/i.test(t),r=/!\[\[[^\]]+\.drawio(?:\|[^\]]+)?\]\]/i.test(t),i=/!\[\[[^\]]+\.excalidraw(?:\|[^\]]+)?\]\]/i.test(t),a=/(^|\n)```(?:plantuml|puml)\b/i.test(t)||/!\[\[[^\]]+\.(?:puml|plantuml)(?:\|[^\]]+)?\]\]/i.test(t);return t.length>=15e4?{debounceMs:500,deferUntilIdle:!0}:n||a?{debounceMs:300,deferUntilIdle:!1}:r||i?{debounceMs:0,deferUntilIdle:!1}:{debounceMs:100,deferUntilIdle:!1}}function o(e){return String(e??``).trim()||null}function s(n,r){let i=o(n);if(!i||!Array.isArray(r)||r.length===0)return null;let a=null;for(let e of r){if(e===i)return e;!a&&e.endsWith(`/${i}`)&&(a=e)}if(a||t(i))return a;let s=`${i}.md`,c=null;for(let t of r)if(e(t)){if(t===s)return t;!c&&t.endsWith(`/${s}`)&&(c=t)}return c}export{
|
|
1
|
+
import{d as e,n as t}from"./file-kind-BwMIcZbi.js";function n(e,t){return e.match(t)?.length??0}function r(e=``){let t=String(e),r=n(t,/!\[\[[^\]]+\.(?:mmd|mermaid)(?:\|[^\]]+)?\]\]/gi),i=n(t,/(^|\n)```(?:plantuml|puml)\b/gi),a=n(t,/!\[\[[^\]]+\.(?:puml|plantuml)(?:\|[^\]]+)?\]\]/gi);return{chars:t.length,drawioEmbeds:n(t,/!\[\[[^\]]+\.drawio(?:\|[^\]]+)?\]\]/gi),excalidrawEmbeds:n(t,/!\[\[[^\]]+\.excalidraw(?:\|[^\]]+)?\]\]/gi),mermaidBlocks:n(t,/(^|\n)```mermaid\b/gi)+r,plantumlBlocks:i+a}}function i(e){return!!(e&&(e.chars>=15e4||e.mermaidBlocks>=20||e.drawioEmbeds>=8||e.excalidrawEmbeds>=8||e.plantumlBlocks>=12))}function a(e=``){let t=String(e),n=/(^|\n)```mermaid\b/i.test(t)||/!\[\[[^\]]+\.(?:mmd|mermaid)(?:\|[^\]]+)?\]\]/i.test(t),r=/!\[\[[^\]]+\.drawio(?:\|[^\]]+)?\]\]/i.test(t),i=/!\[\[[^\]]+\.excalidraw(?:\|[^\]]+)?\]\]/i.test(t),a=/(^|\n)```(?:plantuml|puml)\b/i.test(t)||/!\[\[[^\]]+\.(?:puml|plantuml)(?:\|[^\]]+)?\]\]/i.test(t);return t.length>=15e4?{debounceMs:500,deferUntilIdle:!0}:n||a?{debounceMs:300,deferUntilIdle:!1}:r||i?{debounceMs:0,deferUntilIdle:!1}:{debounceMs:100,deferUntilIdle:!1}}function o(e){return String(e??``).trim()||null}function s(e=[]){let t=new Set,n=new Map;for(let r of e){if(typeof r!=`string`||r.length===0)continue;t.add(r);let e=r.split(`/`);for(let t=0;t<e.length;t+=1){let i=e.slice(t).join(`/`);n.has(i)||n.set(i,r)}}return{exactPaths:t,suffixMatch:n}}function c(e,n){let r=o(e);if(!r||!n)return null;if(n.exactPaths?.has(r))return r;let i=n.suffixMatch?.get(r);if(i)return i;if(t(r))return null;let a=`${r}.md`;return n.exactPaths?.has(a)?a:n.suffixMatch?.get(a)??null}function l(n,r){let i=o(n);if(!i||!Array.isArray(r)||r.length===0)return null;let a=null;for(let e of r){if(e===i)return e;!a&&e.endsWith(`/${i}`)&&(a=e)}if(a||t(i))return a;let s=`${i}.md`,c=null;for(let t of r)if(e(t)){if(t===s)return t;!c&&t.endsWith(`/${s}`)&&(c=t)}return c}export{a,r as i,l as n,i as o,c as r,s as t};
|
package/dist/client/assets/{worker-engine-m0rlHn8R-S8mpn_O0.js → worker-engine-m0rlHn8R-eSDcDGEI.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{St as e,U as t,_ as n,lt as r}from"./embedpdf-DA4bA119-
|
|
1
|
+
import{St as e,U as t,_ as n,lt as r}from"./embedpdf-DA4bA119-E8wZ11J2.js";import{r as i,t as a}from"./browser-BKLM0ThC-IxjwuOIz-DyJcVMFR.js";var o=`RemoteExecutor`,s=`Worker`,c=class i{constructor(a,c){this.worker=a,this.pendingRequests=new Map,this.requestCounter=0,this.handleMessage=t=>{let n=t.data;if(n.type===`ready`)return this.logger.debug(o,s,`Worker is ready`),void this.readyTask.resolve(!0);let r=this.pendingRequests.get(n.id);if(r)switch(n.type){case`result`:this.logger.debug(o,s,`Received result for ${n.id}`),r.resolve(n.data),this.pendingRequests.delete(n.id);break;case`error`:this.logger.debug(o,s,`Received error for ${n.id}:`,n.error),n.error?r.fail(n.error):r.reject({code:e.Unknown,message:`Unknown error`}),this.pendingRequests.delete(n.id);break;case`progress`:this.logger.debug(o,s,`Received progress for ${n.id}`),r.progress(n.progress)}else this.logger.warn(o,s,`Received response for unknown request: ${n.id}`)},this.logger=c.logger??new r,this.worker.addEventListener(`message`,this.handleMessage),this.readyTask=new n,this.pendingRequests.set(i.READY_TASK_ID,this.readyTask),this.worker.postMessage({id:i.READY_TASK_ID,type:`wasmInit`,wasmUrl:c.wasmUrl,logger:c.logger?t(c.logger):void 0,fontFallback:c.fontFallback}),this.logger.debug(o,s,`RemoteExecutor created`)}generateId(){return`req-${Date.now()}-${this.requestCounter++}`}send(t,r){let i=this.generateId(),a=new n,c={id:i,type:`execute`,method:t,args:r};return this.readyTask.wait(()=>{this.pendingRequests.set(i,a),this.logger.debug(o,s,`Sending ${t} request:`,i),this.worker.postMessage(c)},n=>{this.logger.error(o,s,`Worker init failed, rejecting ${t}:`,n),a.reject({code:e.Initialization,message:`Worker initialization failed`})}),a}destroy(){this.worker.removeEventListener(`message`,this.handleMessage),this.pendingRequests.forEach((e,t)=>{t!==i.READY_TASK_ID&&(e.abort(`Worker destroyed`),this.logger.debug(o,s,`Aborted pending request: ${t}`))}),this.pendingRequests.clear(),this.worker.terminate(),this.logger.debug(o,s,`RemoteExecutor destroyed`)}openDocumentBuffer(e,t){return this.send(`openDocumentBuffer`,[e,t])}getMetadata(e){return this.send(`getMetadata`,[e])}setMetadata(e,t){return this.send(`setMetadata`,[e,t])}getDocPermissions(e){return this.send(`getDocPermissions`,[e])}getDocUserPermissions(e){return this.send(`getDocUserPermissions`,[e])}getSignatures(e){return this.send(`getSignatures`,[e])}getBookmarks(e){return this.send(`getBookmarks`,[e])}setBookmarks(e,t){return this.send(`setBookmarks`,[e,t])}deleteBookmarks(e){return this.send(`deleteBookmarks`,[e])}renderPageRaw(e,t,n){return this.send(`renderPageRaw`,[e,t,n])}renderPageRect(e,t,n,r){return this.send(`renderPageRect`,[e,t,n,r])}renderThumbnailRaw(e,t,n){return this.send(`renderThumbnailRaw`,[e,t,n])}renderPageAnnotationRaw(e,t,n,r){return this.send(`renderPageAnnotationRaw`,[e,t,n,r])}renderPageAnnotationsRaw(e,t,n){return this.send(`renderPageAnnotationsRaw`,[e,t,n])}getPageAnnotationsRaw(e,t){return this.send(`getPageAnnotationsRaw`,[e,t])}getPageAnnotations(e,t){return this.send(`getPageAnnotations`,[e,t])}createPageAnnotation(e,t,n,r){return this.send(`createPageAnnotation`,[e,t,n,r])}updatePageAnnotation(e,t,n,r){return this.send(`updatePageAnnotation`,[e,t,n,r])}removePageAnnotation(e,t,n){return this.send(`removePageAnnotation`,[e,t,n])}getPageTextRects(e,t){return this.send(`getPageTextRects`,[e,t])}searchInPage(e,t,n,r){return this.send(`searchInPage`,[e,t,n,r])}getAnnotationsBatch(e,t){return this.send(`getAnnotationsBatch`,[e,t])}searchBatch(e,t,n,r){return this.send(`searchBatch`,[e,t,n,r])}getAttachments(e){return this.send(`getAttachments`,[e])}addAttachment(e,t){return this.send(`addAttachment`,[e,t])}removeAttachment(e,t){return this.send(`removeAttachment`,[e,t])}readAttachmentContent(e,t){return this.send(`readAttachmentContent`,[e,t])}getDocumentJavaScriptActions(e){return this.send(`getDocumentJavaScriptActions`,[e])}getPageAnnoWidgets(e,t){return this.send(`getPageAnnoWidgets`,[e,t])}getPageWidgetJavaScriptActions(e,t){return this.send(`getPageWidgetJavaScriptActions`,[e,t])}setFormFieldValue(e,t,n,r){return this.send(`setFormFieldValue`,[e,t,n,r])}setFormFieldState(e,t,n,r){return this.send(`setFormFieldState`,[e,t,n,r])}renameWidgetField(e,t,n,r){return this.send(`renameWidgetField`,[e,t,n,r])}shareWidgetField(e,t,n,r,i){return this.send(`shareWidgetField`,[e,t,n,r,i])}regenerateWidgetAppearances(e,t,n){return this.send(`regenerateWidgetAppearances`,[e,t,n])}flattenPage(e,t,n){return this.send(`flattenPage`,[e,t,n])}extractPages(e,t){return this.send(`extractPages`,[e,t])}createDocument(e){return this.send(`createDocument`,[e])}importPages(e,t,n,r){return this.send(`importPages`,[e,t,n,r])}deletePage(e,t){return this.send(`deletePage`,[e,t])}extractText(e,t){return this.send(`extractText`,[e,t])}redactTextInRects(e,t,n,r){return this.send(`redactTextInRects`,[e,t,n,r])}applyRedaction(e,t,n){return this.send(`applyRedaction`,[e,t,n])}applyAllRedactions(e,t){return this.send(`applyAllRedactions`,[e,t])}flattenAnnotation(e,t,n){return this.send(`flattenAnnotation`,[e,t,n])}exportAnnotationAppearanceAsPdf(e,t,n){return this.send(`exportAnnotationAppearanceAsPdf`,[e,t,n])}exportAnnotationsAppearanceAsPdf(e,t,n){return this.send(`exportAnnotationsAppearanceAsPdf`,[e,t,n])}getTextSlices(e,t){return this.send(`getTextSlices`,[e,t])}getPageGlyphs(e,t){return this.send(`getPageGlyphs`,[e,t])}getPageGeometry(e,t){return this.send(`getPageGeometry`,[e,t])}getPageTextRuns(e,t){return this.send(`getPageTextRuns`,[e,t])}merge(e){return this.send(`merge`,[e])}mergePages(e){return this.send(`mergePages`,[e])}preparePrintDocument(e,t){return this.send(`preparePrintDocument`,[e,t])}saveAsCopy(e){return this.send(`saveAsCopy`,[e])}closeDocument(e){return this.send(`closeDocument`,[e])}closeAllDocuments(){return this.send(`closeAllDocuments`,[])}setDocumentEncryption(e,t,n,r){return this.send(`setDocumentEncryption`,[e,t,n,r])}removeEncryption(e){return this.send(`removeEncryption`,[e])}unlockOwnerPermissions(e,t){return this.send(`unlockOwnerPermissions`,[e,t])}isEncrypted(e){return this.send(`isEncrypted`,[e])}isOwnerUnlocked(e){return this.send(`isOwnerUnlocked`,[e])}};c.READY_TASK_ID=`0`;var l=c,u=`ImageEncoderPool`,d=`Encoder`,f=class{constructor(e=2,t,n){this.poolSize=e,this.workerUrl=t,this.workers=[],this.pendingTasks=new Map,this.nextWorkerId=0,this.requestCounter=0,this.logger=n??new r,this.initialize()}initialize(){this.logger.debug(u,d,`Creating worker pool with ${this.poolSize} workers`);for(let e=0;e<this.poolSize;e++)try{let t=new Worker(this.workerUrl,{type:`module`});t.onmessage=this.handleWorkerMessage.bind(this),t.onerror=this.handleWorkerError.bind(this),this.workers.push(t),this.logger.debug(u,d,`Worker ${e} created successfully`)}catch(t){this.logger.error(u,d,`Failed to create worker ${e}:`,t)}}handleWorkerMessage(e){let t=e.data,n=this.pendingTasks.get(t.id);if(n){if(this.pendingTasks.delete(t.id),t.type===`result`)n.resolve(t.data);else{let e=t.data;n.reject(Error(e.message))}}else this.logger.warn(u,d,`Received response for unknown task: ${t.id}`)}handleWorkerError(e){this.logger.error(u,d,`Worker error:`,e.message)}getNextWorker(){if(this.workers.length===0)return null;let e=this.workers[this.nextWorkerId];return this.nextWorkerId=(this.nextWorkerId+1)%this.workers.length,e}encode(e,t=`image/png`,n){return new Promise((r,i)=>{let a=this.getNextWorker();if(!a)return void i(Error(`No workers available in the pool`));let o=`encode-${Date.now()}-${this.requestCounter++}`;this.pendingTasks.set(o,{resolve:r,reject:i});let s={id:o,type:`encode`,data:{imageData:{data:e.data,width:e.width,height:e.height},imageType:t,quality:n}};this.logger.debug(u,d,`Sending encoding request ${o} (${e.width}x${e.height})`),a.postMessage(s,[e.data.buffer])})}destroy(){this.logger.debug(u,d,`Destroying worker pool`),this.pendingTasks.forEach((e,t)=>{e.reject(Error(`Worker pool destroyed`)),this.logger.debug(u,d,`Rejected pending task: ${t}`)}),this.pendingTasks.clear(),this.workers.forEach((e,t)=>{e.terminate(),this.logger.debug(u,d,`Worker ${t} terminated`)}),this.workers=[]}get activeWorkers(){return this.workers.length}get pendingTasksCount(){return this.pendingTasks.size}};function p(e,t){let{logger:n,encoderPoolSize:r,fontFallback:o}=t instanceof Object&&`debug`in t?{logger:t}:t||{},s=new l(new Worker(URL.createObjectURL(new Blob([`var Rotation = /* @__PURE__ */ ((Rotation2) => {
|
|
2
2
|
Rotation2[Rotation2["Degree0"] = 0] = "Degree0";
|
|
3
3
|
Rotation2[Rotation2["Degree90"] = 1] = "Degree90";
|
|
4
4
|
Rotation2[Rotation2["Degree180"] = 2] = "Degree180";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e=[]){return Array.from(new Set((e??[]).filter(Boolean)))}function t(e=[]){return Array.from(new Map((e??[]).filter(e=>e?.oldPath&&e?.newPath&&e.oldPath!==e.newPath).map(e=>[`${e.oldPath}:${e.newPath}`,{newPath:e.newPath,oldPath:e.oldPath}])).values())}function n(e=[]){return(e??[]).filter(e=>e?.path&&Number.isFinite(e?.from)&&Number.isFinite(e?.to)).map(e=>({from:Math.max(0,Math.round(e.from)),path:e.path,to:Math.max(0,Math.round(e.to))}))}function r({changedPaths:n=[],deletedPaths:r=[],refreshExplorer:i=!0,renamedPaths:a=[]}={}){return{changedPaths:e(n),deletedPaths:e(r),refreshExplorer:i!==!1,renamedPaths:t(a)}}function i(t){return!t||typeof t!=`object`||typeof t.id!=`string`?null:{action:typeof t.action==`string`?t.action:`workspace`,createdAt:Number.isFinite(t.createdAt)?t.createdAt:Date.now(),highlightRanges:n(t.highlightRanges),id:t.id,origin:typeof t.origin==`string`?t.origin:`api`,reloadRequiredPaths:e(t.reloadRequiredPaths),requestId:typeof t.requestId==`string`?t.requestId:null,sourceRef:typeof t.sourceRef==`string`?t.sourceRef:null,workspaceChange:r(t.workspaceChange)}}export{i as n,r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./runtime-paths-Cn0snt_9.js";import{t}from"./yjs-B41tM6Sz.js";import{n,t as r}from"./yjs-provider-reset-guard-R43MnLNc.js";import{n as i}from"./workspace-change-CVA9dVmy.js";var a=`__workspace__`;function o(e=``){return String(e??``).trim().replace(/\\/g,`/`).split(`/`).filter(Boolean).join(`/`)}function s(e=``){let t=o(e);if(!t)return``;let n=t.lastIndexOf(`/`);return n>=0?t.slice(0,n):``}function c(e={}){return s(e?.path??``)}function l(e){if(!e?.path||!e?.type)return null;if(e.nodeType===`directory`||e.type===`directory`)return{children:[],name:e.name,path:e.path,type:`directory`};let t={name:e.name,path:e.path,type:e.type},n=Number(e.mtimeMs);return Number.isFinite(n)&&(t.mtimeMs=n),t}function u(e=[]){return e.sort((e,t)=>e.type===`directory`&&t.type!==`directory`?-1:e.type!==`directory`&&t.type===`directory`?1:e.name.localeCompare(t.name,void 0,{sensitivity:`base`})),e.forEach(e=>{Array.isArray(e.children)&&u(e.children)}),e}function d(e){return e instanceof Map?e:new Map(Object.entries(e??{}))}function f(e=[],t=`asc`){let n=t===`desc`?-1:1;return[...e].sort((e,t)=>{let r=e.split(`/`).length-t.split(`/`).length;return r===0?e.localeCompare(t,void 0,{sensitivity:`base`})*n:r*n})}var p=class{constructor(){this.entriesByPath=new Map,this.nodesByPath=new Map,this.nodeParentPathByPath=new Map,this.roots=[]}reset(e){return this.entriesByPath=d(e),this.nodesByPath=new Map,this.nodeParentPathByPath=new Map,this.roots=[],this.entriesByPath.forEach(e=>{let t=l(e);t&&this.nodesByPath.set(e.path,t)}),f(Array.from(this.nodesByPath.keys())).forEach(e=>{let t=this.nodesByPath.get(e);t&&this.attachNode(e,t,c(this.entriesByPath.get(e)))}),u(this.roots),this.roots}getTree(){return this.roots}applyMapChanges(e,t){let n=[],r=[];return e.forEach((e,t)=>{e.action===`delete`?n.push(t):r.push(t)}),f(n,`desc`).forEach(e=>{this.removeEntry(e)}),f(r).forEach(e=>{this.upsertEntry(e,t.get(e))}),u(this.roots),this.roots}removeEntry(e){let t=this.nodesByPath.get(e);if(!t){this.entriesByPath.delete(e),this.nodeParentPathByPath.delete(e);return}this.detachNode(e,t),this.nodesByPath.delete(e),this.entriesByPath.delete(e),this.nodeParentPathByPath.delete(e)}upsertEntry(e,t){if(!t?.path||!t?.type){this.removeEntry(e);return}let n=l(t);if(!n){this.removeEntry(e);return}let r=this.nodesByPath.get(e);!r||r.type===`directory`!=(n.type===`directory`)?(r&&this.detachNode(e,r),r=n,this.nodesByPath.set(e,r)):(r.name=n.name,r.path=n.path,r.type=n.type,n.mtimeMs===void 0?delete r.mtimeMs:r.mtimeMs=n.mtimeMs,r.type===`directory`&&!Array.isArray(r.children)&&(r.children=[]),r.type!==`directory`&&Array.isArray(r.children)&&delete r.children),this.entriesByPath.set(e,t),this.attachNode(e,r,c(t)),r.type===`directory`&&this.rehomeChildren(e)}detachNode(e,t){let n=this.nodeParentPathByPath.get(e)||``,r=n?this.nodesByPath.get(n)?.children:this.roots,i=r?.indexOf?.(t)??-1;i>=0&&r.splice(i,1),this.nodeParentPathByPath.delete(e)}attachNode(e,t,n=``){let r=this.nodesByPath.get(n)?.type===`directory`?n:``,i=this.nodeParentPathByPath.get(e);if(i===r)return;i!==void 0&&this.detachNode(e,t);let a=r?this.nodesByPath.get(r)?.children:this.roots;a.includes(t)||a.push(t),this.nodeParentPathByPath.set(e,r)}rehomeChildren(e){this.entriesByPath.forEach((t,n)=>{if(c(t)!==e)return;let r=this.nodesByPath.get(n);r&&this.attachNode(n,r,e)})}},m=class{constructor({onTreeChange:e=()=>{},onWorkspaceEvent:n=()=>{}}={}){this.onTreeChange=e,this.onWorkspaceEvent=n,this.ydoc=new t,this.entries=this.ydoc.getMap(`entries`),this.events=this.ydoc.getArray(`events`),this.provider=null,this._didInitialSync=!1,this.seenEventIds=new Set,this.treeModel=new p,this.handleEntriesChange=e=>{!this._didInitialSync||!e||this.onTreeChange(this.treeModel.applyMapChanges(e.changes.keys,this.entries),{changedPaths:Array.from(e.changes.keys.keys()),reset:!1})},this.handleEventsChange=()=>{if(!this._didInitialSync){this.primeEventCache();return}this.events.toArray().forEach(e=>{let t=i(e);!t||this.seenEventIds.has(t.id)||(this.seenEventIds.add(t.id),this.onWorkspaceEvent(t))})}}connect(){this.provider||(this._didInitialSync=!1,this.provider=new n(e(),a,this.ydoc,{disableBc:!0,maxBackoffTime:5e3}),r(this.provider),this.entries.observe(this.handleEntriesChange),this.events.observe(this.handleEventsChange),this.provider.on(`sync`,e=>{!e||this._didInitialSync||(this._didInitialSync=!0,this.primeEventCache(),this.onTreeChange(this.treeModel.reset(this.entries.toJSON()),{changedPaths:[],reset:!0}))}))}primeEventCache(){this.events.toArray().forEach(e=>{let t=i(e);t&&this.seenEventIds.add(t.id)})}disconnect(){this.provider&&(this.entries.unobserve(this.handleEntriesChange),this.events.unobserve(this.handleEventsChange),this.provider.disconnect(),this.provider.destroy()),this.provider=null,this._didInitialSync=!1,this.seenEventIds.clear(),this.treeModel.reset(new Map)}destroy(){this.disconnect(),this.ydoc.destroy()}};export{m as WorkspaceSyncClient};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import{D as n,H as r,K as i,U as a,a as o,b as s,c,f as l,v as u,w as d,y as f,z as p}from"./chunk-DU6HZSFF-
|
|
1
|
+
import{n as e}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import{m as t}from"./src-oBChb5qS.js";import{D as n,H as r,K as i,U as a,a as o,b as s,c,f as l,v as u,w as d,y as f,z as p}from"./chunk-DU6HZSFF-C6d6PJfE.js";import{t as m}from"./linear-n-3HSMUF.js";import{t as h}from"./ordinal-BDEzSJ7C.js";import{t as g}from"./init-C-OQMol4.js";import{i as _}from"./chunk-75Z2AOVW-B2cZexqK.js";import{t as v}from"./line-DSWLHgpx.js";import{t as y}from"./chunk-CLGD4ZFX-Cmtx89ht.js";import"./chunk-PWAF6VOD-B3gML4ps.js";import{t as b}from"./chunk-GMAD6QVW-DUfjx_d5.js";function x(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function S(){var e=h().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=x(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return S(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},g.apply(d(),arguments)}var C=(function(){var t=e(function(e,t,n,r){for(n||={},r=e.length;r--;n[e[r]]=t);return n},`o`),n=[1,10,12,14,16,18,19,21,23],r=[2,6],i=[1,3],a=[1,5],o=[1,6],s=[1,7],c=[1,5,10,12,14,16,18,19,21,23,36,37,38],l=[1,25],u=[1,26],d=[1,28],f=[1,29],p=[1,30],m=[1,31],h=[1,32],g=[1,33],_=[1,34],v=[1,35],y=[1,36],b=[1,37],x=[1,43],S=[1,42],C=[1,47],w=[1,50],T=[1,10,12,14,16,18,19,21,23,36,37,38],E=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],D=[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],O=[1,65],k=[26,28],A={trace:e(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:e(function(e,t,n,r,i,a,o){var s=a.length-1;switch(i){case 5:r.setOrientation(a[s]);break;case 9:r.setDiagramTitle(a[s].text.trim());break;case 12:r.setLineData({text:``,type:`text`},a[s]);break;case 13:r.setLineData(a[s-1],a[s]);break;case 14:r.setBarData({text:``,type:`text`},a[s]);break;case 15:r.setBarData(a[s-1],a[s]);break;case 16:this.$=a[s].trim(),r.setAccTitle(this.$);break;case 17:case 18:this.$=a[s].trim(),r.setAccDescription(this.$);break;case 19:this.$=a[s-1];break;case 20:case 30:this.$=[a[s-2],...a[s]];break;case 21:case 31:this.$=[a[s]];break;case 22:this.$={value:Number(a[s-1]),label:a[s]};break;case 23:this.$={value:Number(a[s]),label:``};break;case 24:r.setXAxisTitle(a[s]);break;case 25:r.setXAxisTitle(a[s-1]);break;case 26:r.setXAxisTitle({type:`text`,text:``});break;case 27:r.setXAxisBand(a[s]);break;case 28:r.setXAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 29:this.$=a[s-1];break;case 32:r.setYAxisTitle(a[s]);break;case 33:r.setYAxisTitle(a[s-1]);break;case 34:r.setYAxisTitle({type:`text`,text:``});break;case 35:r.setYAxisRangeData(Number(a[s-2]),Number(a[s]));break;case 39:this.$={text:a[s],type:`text`};break;case 40:this.$={text:a[s],type:`text`};break;case 41:this.$={text:a[s],type:`markdown`};break;case 42:this.$=a[s];break;case 43:this.$=a[s-1]+``+a[s]}},`anonymous`),table:[t(n,r,{3:1,4:2,7:4,5:i,36:a,37:o,38:s}),{1:[3]},t(n,r,{4:2,7:4,3:8,5:i,36:a,37:o,38:s}),t(n,r,{4:2,7:4,6:9,3:10,5:i,8:[1,11],36:a,37:o,38:s}),{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]},t(c,[2,36]),t(c,[2,37]),t(c,[2,38]),{1:[2,1]},t(n,r,{4:2,7:4,3:21,5:i,36:a,37:o,38:s}),{1:[2,3]},t(c,[2,5]),t(n,[2,7],{4:22,36:a,37:o,38:s}),{11:23,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:39,13:38,24:x,29:S,30:l,31:40,32:41,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:45,15:44,29:C,30:l,35:46,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:49,17:48,24:w,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{11:52,17:51,24:w,30:l,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},{20:[1,53]},{22:[1,54]},t(T,[2,18]),{1:[2,2]},t(T,[2,8]),t(T,[2,9]),t(E,[2,39],{41:55,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b}),t(E,[2,40]),t(E,[2,41]),t(D,[2,42]),t(D,[2,44]),t(D,[2,45]),t(D,[2,46]),t(D,[2,47]),t(D,[2,48]),t(D,[2,49]),t(D,[2,50]),t(D,[2,51]),t(D,[2,52]),t(D,[2,53]),t(T,[2,10]),t(T,[2,24],{32:41,31:56,24:x,29:S}),t(T,[2,26]),t(T,[2,27]),{33:[1,57]},{11:59,30:l,34:58,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},t(T,[2,11]),t(T,[2,32],{35:60,29:C}),t(T,[2,34]),{33:[1,61]},t(T,[2,12]),{17:62,24:w},{25:63,27:64,29:O},t(T,[2,14]),{17:66,24:w},t(T,[2,16]),t(T,[2,17]),t(D,[2,43]),t(T,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},t(T,[2,33]),{29:[1,70]},t(T,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},t(k,[2,23],{30:[1,73]}),t(T,[2,15]),t(T,[2,28]),t(T,[2,29]),{11:59,30:l,34:74,39:24,40:u,41:27,42:d,43:f,44:p,45:m,46:h,47:g,48:_,49:v,50:y,51:b},t(T,[2,35]),t(T,[2,19]),{25:75,27:64,29:O},t(k,[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:e(function(e,t){if(t.recoverable)this.trace(e);else{var n=Error(e);throw n.hash=t,n}},`parseError`),parse:e(function(t){var n=this,r=[0],i=[],a=[null],o=[],s=this.table,c=``,l=0,u=0,d=0,f=2,p=1,m=o.slice.call(arguments,1),h=Object.create(this.lexer),g={yy:{}};for(var _ in this.yy)Object.prototype.hasOwnProperty.call(this.yy,_)&&(g.yy[_]=this.yy[_]);h.setInput(t,g.yy),g.yy.lexer=h,g.yy.parser=this,h.yylloc===void 0&&(h.yylloc={});var v=h.yylloc;o.push(v);var y=h.options&&h.options.ranges;this.parseError=typeof g.yy.parseError==`function`?g.yy.parseError:Object.getPrototypeOf(this).parseError;function b(e){r.length-=2*e,a.length-=e,o.length-=e}e(b,`popStack`);function x(){var e=i.pop()||h.lex()||p;return typeof e!=`number`&&(e instanceof Array&&(i=e,e=i.pop()),e=n.symbols_[e]||e),e}e(x,`lex`);for(var S,C,w,T,E,D={},O,k,A,j;;){if(w=r[r.length-1],this.defaultActions[w]?T=this.defaultActions[w]:(S??=x(),T=s[w]&&s[w][S]),T===void 0||!T.length||!T[0]){var M=``;for(O in j=[],s[w])this.terminals_[O]&&O>f&&j.push(`'`+this.terminals_[O]+`'`);M=h.showPosition?`Parse error on line `+(l+1)+`:
|
|
2
2
|
`+h.showPosition()+`
|
|
3
3
|
Expecting `+j.join(`, `)+`, got '`+(this.terminals_[S]||S)+`'`:`Parse error on line `+(l+1)+`: Unexpected `+(S==p?`end of input`:`'`+(this.terminals_[S]||S)+`'`),this.parseError(M,{text:h.match,token:this.terminals_[S]||S,line:h.yylineno,loc:v,expected:j})}if(T[0]instanceof Array&&T.length>1)throw Error(`Parse Error: multiple actions possible at state: `+w+`, token: `+S);switch(T[0]){case 1:r.push(S),a.push(h.yytext),o.push(h.yylloc),r.push(T[1]),S=null,C?(S=C,C=null):(u=h.yyleng,c=h.yytext,l=h.yylineno,v=h.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[T[1]][1],D.$=a[a.length-k],D._$={first_line:o[o.length-(k||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(k||1)].first_column,last_column:o[o.length-1].last_column},y&&(D._$.range=[o[o.length-(k||1)].range[0],o[o.length-1].range[1]]),E=this.performAction.apply(D,[c,u,l,g.yy,T[1],a,o].concat(m)),E!==void 0)return E;k&&(r=r.slice(0,-1*k*2),a=a.slice(0,-1*k),o=o.slice(0,-1*k)),r.push(this.productions_[T[1]][0]),a.push(D.$),o.push(D._$),A=s[r[r.length-2]][r[r.length-1]],r.push(A);break;case 3:return!0}}return!0},`parse`)};A.lexer=(function(){return{EOF:1,parseError:e(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},`parseError`),setInput:e(function(e,t){return this.yy=t||this.yy||{},this._input=e,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:e(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},`input`),unput:e(function(e){var t=e.length,n=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var r=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),n.length-1&&(this.yylineno-=n.length-1);var i=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:n?(n.length===r.length?this.yylloc.first_column:0)+r[r.length-n.length].length-n[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},`unput`),more:e(function(){return this._more=!0,this},`more`),reject:e(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:e(function(e){this.unput(this.match.slice(e))},`less`),pastInput:e(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?`...`:``)+e.substr(-20).replace(/\n/g,``)},`pastInput`),upcomingInput:e(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?`...`:``)).replace(/\n/g,``)},`upcomingInput`),showPosition:e(function(){var e=this.pastInput(),t=Array(e.length+1).join(`-`);return e+this.upcomingInput()+`
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var e=()=>new Map,t=t=>{let n=e();return t.forEach((e,t)=>{n.set(t,e)}),n},n=(e,t,n)=>{let r=e.get(t);return r===void 0&&e.set(t,r=n()),r},r=(e,t)=>{let n=[];for(let[r,i]of e)n.push(t(i,r));return n},i=(e,t)=>{for(let[n,r]of e)if(t(r,n))return!0;return!1},a=()=>new Set,o=e=>e[e.length-1],s=(e,t)=>{for(let n=0;n<t.length;n++)e.push(t[n])},c=Array.from,l=(e,t)=>{for(let n=0;n<e.length;n++)if(!t(e[n],n,e))return!1;return!0},u=(e,t)=>{for(let n=0;n<e.length;n++)if(t(e[n],n,e))return!0;return!1},d=(e,t)=>{let n=Array(e);for(let r=0;r<e;r++)n[r]=t(r,n);return n},f=Array.isArray,p=class{constructor(){this._observers=e()}on(e,t){return n(this._observers,e,a).add(t),t}once(e,t){let n=(...r)=>{this.off(e,n),t(...r)};this.on(e,n)}off(e,t){let n=this._observers.get(e);n!==void 0&&(n.delete(t),n.size===0&&this._observers.delete(e))}emit(t,n){return c((this._observers.get(t)||e()).values()).forEach(e=>e(...n))}destroy(){this._observers=e()}},ee=class{constructor(){this._observers=e()}on(e,t){n(this._observers,e,a).add(t)}once(e,t){let n=(...r)=>{this.off(e,n),t(...r)};this.on(e,n)}off(e,t){let n=this._observers.get(e);n!==void 0&&(n.delete(t),n.size===0&&this._observers.delete(e))}emit(t,n){return c((this._observers.get(t)||e()).values()).forEach(e=>e(...n))}destroy(){this._observers=e()}},m=Math.floor,te=Math.abs,ne=(e,t)=>e<t?e:t,h=(e,t)=>e>t?e:t;Number.isNaN;var re=Math.pow,ie=e=>e===0?1/e<0:e<0,ae=2**53-1,oe=-(2**53-1),se=Number.isInteger||(e=>typeof e==`number`&&isFinite(e)&&m(e)===e);Number.isNaN,Number.parseInt;var ce=String.fromCharCode;String.fromCodePoint,ce(65535);var le=e=>e.toLowerCase(),ue=/^\s*/g,de=e=>e.replace(ue,``),fe=/([A-Z])/g,pe=(e,t)=>de(e.replace(fe,e=>`${t}${le(e)}`)),me=e=>{let t=unescape(encodeURIComponent(e)),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.codePointAt(e);return r},he=typeof TextEncoder<`u`?new TextEncoder:null,ge=he?e=>he.encode(e):me,_e=typeof TextDecoder>`u`?null:new TextDecoder(`utf-8`,{fatal:!0,ignoreBOM:!0});_e&&_e.decode(new Uint8Array).length===1&&(_e=null);var ve=(e,t)=>d(t,()=>e).join(``),ye=class{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}},be=()=>new ye,xe=e=>{let t=e.cpos;for(let n=0;n<e.bufs.length;n++)t+=e.bufs[n].length;return t},g=e=>{let t=new Uint8Array(xe(e)),n=0;for(let r=0;r<e.bufs.length;r++){let i=e.bufs[r];t.set(i,n),n+=i.length}return t.set(new Uint8Array(e.cbuf.buffer,0,e.cpos),n),t},Se=(e,t)=>{let n=e.cbuf.length;n-e.cpos<t&&(e.bufs.push(new Uint8Array(e.cbuf.buffer,0,e.cpos)),e.cbuf=new Uint8Array(h(n,t)*2),e.cpos=0)},_=(e,t)=>{let n=e.cbuf.length;e.cpos===n&&(e.bufs.push(e.cbuf),e.cbuf=new Uint8Array(n*2),e.cpos=0),e.cbuf[e.cpos++]=t},Ce=_,v=(e,t)=>{for(;t>127;)_(e,128|127&t),t=m(t/128);_(e,127&t)},we=(e,t)=>{let n=ie(t);for(n&&(t=-t),_(e,(t>63?128:0)|(n?64:0)|63&t),t=m(t/64);t>0;)_(e,(t>127?128:0)|127&t),t=m(t/128)},Te=new Uint8Array(3e4),Ee=Te.length/3,y=he&&he.encodeInto?(e,t)=>{if(t.length<Ee){let n=he.encodeInto(t,Te).written||0;v(e,n);for(let t=0;t<n;t++)_(e,Te[t])}else b(e,ge(t))}:(e,t)=>{let n=unescape(encodeURIComponent(t)),r=n.length;v(e,r);for(let t=0;t<r;t++)_(e,n.codePointAt(t))},De=(e,t)=>{let n=e.cbuf.length,r=e.cpos,i=ne(n-r,t.length),a=t.length-i;e.cbuf.set(t.subarray(0,i),r),e.cpos+=i,a>0&&(e.bufs.push(e.cbuf),e.cbuf=new Uint8Array(h(n*2,a)),e.cbuf.set(t.subarray(i)),e.cpos=a)},b=(e,t)=>{v(e,t.byteLength),De(e,t)},Oe=(e,t)=>{Se(e,t);let n=new DataView(e.cbuf.buffer,e.cpos,t);return e.cpos+=t,n},ke=(e,t)=>Oe(e,4).setFloat32(0,t,!1),Ae=(e,t)=>Oe(e,8).setFloat64(0,t,!1),je=(e,t)=>Oe(e,8).setBigInt64(0,t,!1),Me=new DataView(new ArrayBuffer(4)),Ne=e=>(Me.setFloat32(0,e),Me.getFloat32(0)===e),Pe=(e,t)=>{switch(typeof t){case`string`:_(e,119),y(e,t);break;case`number`:se(t)&&te(t)<=2147483647?(_(e,125),we(e,t)):Ne(t)?(_(e,124),ke(e,t)):(_(e,123),Ae(e,t));break;case`bigint`:_(e,122),je(e,t);break;case`object`:if(t===null)_(e,126);else if(f(t)){_(e,117),v(e,t.length);for(let n=0;n<t.length;n++)Pe(e,t[n])}else if(t instanceof Uint8Array)_(e,116),b(e,t);else{_(e,118);let n=Object.keys(t);v(e,n.length);for(let r=0;r<n.length;r++){let i=n[r];y(e,i),Pe(e,t[i])}}break;case`boolean`:_(e,t?120:121);break;default:_(e,127)}},Fe=class extends ye{constructor(e){super(),this.w=e,this.s=null,this.count=0}write(e){this.s===e?this.count++:(this.count>0&&v(this,this.count-1),this.count=1,this.w(this,e),this.s=e)}},Ie=e=>{e.count>0&&(we(e.encoder,e.count===1?e.s:-e.s),e.count>1&&v(e.encoder,e.count-2))},Le=class{constructor(){this.encoder=new ye,this.s=0,this.count=0}write(e){this.s===e?this.count++:(Ie(this),this.count=1,this.s=e)}toUint8Array(){return Ie(this),g(this.encoder)}},Re=e=>{if(e.count>0){let t=e.diff*2+(e.count===1?0:1);we(e.encoder,t),e.count>1&&v(e.encoder,e.count-2)}},ze=class{constructor(){this.encoder=new ye,this.s=0,this.count=0,this.diff=0}write(e){this.diff===e-this.s?(this.s=e,this.count++):(Re(this),this.count=1,this.diff=e-this.s,this.s=e)}toUint8Array(){return Re(this),g(this.encoder)}},Be=class{constructor(){this.sarr=[],this.s=``,this.lensE=new Le}write(e){this.s+=e,this.s.length>19&&(this.sarr.push(this.s),this.s=``),this.lensE.write(e.length)}toUint8Array(){let e=new ye;return this.sarr.push(this.s),this.s=``,y(e,this.sarr.join(``)),De(e,this.lensE.toUint8Array()),g(e)}},x=e=>Error(e),S=()=>{throw x(`Method unimplemented`)},C=()=>{throw x(`Unexpected case`)},Ve=x(`Unexpected end of array`),He=x(`Integer out of Range`),Ue=class{constructor(e){this.arr=e,this.pos=0}},w=e=>new Ue(e),We=e=>e.pos!==e.arr.length,Ge=(e,t)=>{let n=new Uint8Array(e.arr.buffer,e.pos+e.arr.byteOffset,t);return e.pos+=t,n},T=e=>Ge(e,E(e)),Ke=e=>e.arr[e.pos++],E=e=>{let t=0,n=1,r=e.arr.length;for(;e.pos<r;){let r=e.arr[e.pos++];if(t+=(r&127)*n,n*=128,r<128)return t;if(t>ae)throw He}throw Ve},qe=e=>{let t=e.arr[e.pos++],n=t&63,r=64,i=(t&64)>0?-1:1;if(!(t&128))return i*n;let a=e.arr.length;for(;e.pos<a;){if(t=e.arr[e.pos++],n+=(t&127)*r,r*=128,t<128)return i*n;if(n>ae)throw He}throw Ve},D=_e?e=>_e.decode(T(e)):e=>{let t=E(e);if(t===0)return``;{let n=String.fromCodePoint(Ke(e));if(--t<100)for(;t--;)n+=String.fromCodePoint(Ke(e));else for(;t>0;){let r=t<1e4?t:1e4,i=e.arr.subarray(e.pos,e.pos+r);e.pos+=r,n+=String.fromCodePoint.apply(null,i),t-=r}return decodeURIComponent(escape(n))}},Je=(e,t)=>{let n=new DataView(e.arr.buffer,e.arr.byteOffset+e.pos,t);return e.pos+=t,n},Ye=[e=>void 0,e=>null,qe,e=>Je(e,4).getFloat32(0,!1),e=>Je(e,8).getFloat64(0,!1),e=>Je(e,8).getBigInt64(0,!1),e=>!1,e=>!0,D,e=>{let t=E(e),n={};for(let r=0;r<t;r++){let t=D(e);n[t]=Xe(e)}return n},e=>{let t=E(e),n=[];for(let r=0;r<t;r++)n.push(Xe(e));return n},T],Xe=e=>Ye[127-Ke(e)](e),Ze=class extends Ue{constructor(e,t){super(e),this.reader=t,this.s=null,this.count=0}read(){return this.count===0&&(this.s=this.reader(this),this.count=We(this)?E(this)+1:-1),this.count--,this.s}},Qe=class extends Ue{constructor(e){super(e),this.s=0,this.count=0}read(){if(this.count===0){this.s=qe(this);let e=ie(this.s);this.count=1,e&&(this.s=-this.s,this.count=E(this)+2)}return this.count--,this.s}},$e=class extends Ue{constructor(e){super(e),this.s=0,this.count=0,this.diff=0}read(){if(this.count===0){let e=qe(this),t=e&1;this.diff=m(e/2),this.count=1,t&&(this.count=E(this)+2)}return this.s+=this.diff,this.count--,this.s}},et=class{constructor(e){this.decoder=new Qe(e),this.str=D(this.decoder),this.spos=0}read(){let e=this.spos+this.decoder.read(),t=this.str.slice(this.spos,e);return this.spos=e,t}};crypto.subtle;var tt=crypto.getRandomValues.bind(crypto),nt=()=>tt(new Uint32Array(1))[0],rt=`10000000-1000-4000-8000-100000000000`,it=()=>rt.replace(/[018]/g,e=>(e^nt()&15>>e/4).toString(16)),at=Date.now,ot=e=>new Promise(e);Promise.all.bind(Promise);var st=e=>e===void 0?null:e,ct=new class{constructor(){this.map=new Map}setItem(e,t){this.map.set(e,t)}getItem(e){return this.map.get(e)}},lt=!0;try{typeof localStorage<`u`&&localStorage&&(ct=localStorage,lt=!1)}catch{}var ut=ct,dt=e=>lt||addEventListener(`storage`,e),ft=e=>lt||removeEventListener(`storage`,e),pt=Symbol(`Equality`),mt=(e,t)=>e===t||!!e?.[pt]?.(t)||!1,ht=e=>typeof e==`object`,gt=Object.assign,_t=Object.keys,vt=(e,t)=>{for(let n in e)t(e[n],n)},yt=(e,t)=>{let n=[];for(let r in e)n.push(t(e[r],r));return n},bt=e=>_t(e).length,xt=e=>{for(let t in e)return!1;return!0},St=(e,t)=>{for(let n in e)if(!t(e[n],n))return!1;return!0},Ct=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),wt=(e,t)=>e===t||bt(e)===bt(t)&&St(e,(e,n)=>(e!==void 0||Ct(t,n))&&mt(t[n],e)),Tt=Object.freeze,Et=e=>{for(let t in e){let n=e[t];(typeof n==`object`||typeof n==`function`)&&Et(e[t])}return Tt(e)},Dt=(e,t,n=0)=>{try{for(;n<e.length;n++)e[n](...t)}finally{n<e.length&&Dt(e,t,n+1)}},Ot=e=>e,kt=(e,t)=>{if(e===t)return!0;if(e==null||t==null||e.constructor!==t.constructor&&(e.constructor||Object)!==(t.constructor||Object))return!1;if(e[pt]!=null)return e[pt](t);switch(e.constructor){case ArrayBuffer:e=new Uint8Array(e),t=new Uint8Array(t);case Uint8Array:if(e.byteLength!==t.byteLength)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;break;case Set:if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;break;case Map:if(e.size!==t.size)return!1;for(let n of e.keys())if(!t.has(n)||!kt(e.get(n),t.get(n)))return!1;break;case void 0:case Object:if(bt(e)!==bt(t))return!1;for(let n in e)if(!Ct(e,n)||!kt(e[n],t[n]))return!1;break;case Array:if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!kt(e[n],t[n]))return!1;break;default:return!1}return!0},At=(e,t)=>t.includes(e),O=typeof process<`u`&&process.release&&/node|io\.js/.test(process.release.name)&&Object.prototype.toString.call(typeof process<`u`?process:0)===`[object process]`,jt=typeof window<`u`&&typeof document<`u`&&!O;typeof navigator<`u`&&/Mac/.test(navigator.platform);var k,Mt=[],Nt=()=>{if(k===void 0){if(O){k=e();let t=process.argv,n=null;for(let e=0;e<t.length;e++){let r=t[e];r[0]===`-`?(n!==null&&k.set(n,``),n=r):n===null?Mt.push(r):(k.set(n,r),n=null)}n!==null&&k.set(n,``)}else typeof location==`object`?(k=e(),(location.search||`?`).slice(1).split(`&`).forEach(e=>{if(e.length!==0){let[t,n]=e.split(`=`);k.set(`--${pe(t,`-`)}`,n),k.set(`-${pe(t,`-`)}`,n)}})):k=e()}return k},Pt=e=>Nt().has(e),Ft=e=>st(O?{}[e.toUpperCase().replaceAll(`-`,`_`)]:ut.getItem(e)),It=e=>Pt(`--`+e)||Ft(e)!==null,Lt=It(`production`),Rt=O&&At({}.FORCE_COLOR,[`true`,`1`,`2`])||!Pt(`--no-colors`)&&!It(`no-color`)&&(!O||process.stdout.isTTY)&&(!O||Pt(`--color`)||Ft(`COLORTERM`)!==null||(Ft(`TERM`)||``).includes(`color`)),zt=e=>new Uint8Array(e),Bt=(e,t,n)=>new Uint8Array(e,t,n),Vt=e=>new Uint8Array(e),Ht=e=>{let t=``;for(let n=0;n<e.byteLength;n++)t+=ce(e[n]);return btoa(t)},Ut=e=>Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString(`base64`),Wt=e=>{let t=atob(e),n=zt(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n},Gt=e=>{let t=Buffer.from(e,`base64`);return Bt(t.buffer,t.byteOffset,t.byteLength)},Kt=jt?Ht:Ut,qt=jt?Wt:Gt,Jt=e=>{let t=zt(e.byteLength);return t.set(e),t},Yt=class{constructor(e,t){this.left=e,this.right=t}},A=(e,t)=>new Yt(e,t),Xt=(e,t)=>e.forEach(e=>t(e.left,e.right)),Zt=e=>e.next()>=.5,Qt=(e,t,n)=>m(e.next()*(n+1-t)+t),$t=(e,t,n)=>m(e.next()*(n+1-t)+t),en=(e,t,n)=>$t(e,t,n),tn=e=>ce(en(e,97,122)),nn=(e,t=0,n=20)=>{let r=en(e,t,n),i=``;for(let t=0;t<r;t++)i+=tn(e);return i},rn=(e,t)=>t[en(e,0,t.length-1)],an=Symbol(`0schema`),on=class{constructor(){this._rerrs=[]}extend(e,t,n,r=null){this._rerrs.push({path:e,expected:t,has:n,message:r})}toString(){let e=[];for(let t=this._rerrs.length-1;t>0;t--){let n=this._rerrs[t];e.push(ve(` `,(this._rerrs.length-t)*2)+`${n.path==null?``:`[${n.path}] `}${n.has} doesn't match ${n.expected}. ${n.message}`)}return e.join(`
|
|
2
|
+
`)}},sn=(e,t)=>e===t?!0:e==null||t==null||e.constructor!==t.constructor?!1:e[pt]?mt(e,t):f(e)?l(e,e=>u(t,t=>sn(e,t))):ht(e)?St(e,(e,n)=>sn(e,t[n])):!1,j=class{static _dilutes=!1;extends(e){let[t,n]=[this.shape,e.shape];return this.constructor._dilutes&&([n,t]=[t,n]),sn(t,n)}equals(e){return this.constructor===e.constructor&&kt(this.shape,e.shape)}[an](){return!0}[pt](e){return this.equals(e)}validate(e){return this.check(e)}check(e,t){S()}get nullable(){return Rn(this,$n)}get optional(){return new gn(this)}cast(e){return rr(e,this),e}expect(e){return rr(e,this),e}},cn=class extends j{constructor(e,t){super(),this.shape=e,this._c=t}check(e,t=void 0){let n=e?.constructor===this.shape&&(this._c==null||this._c(e));return!n&&t?.extend(null,this.shape.name,e?.constructor.name,e?.constructor===this.shape?`Check failed`:`Constructor match failed`),n}},M=(e,t=null)=>new cn(e,t);M(cn);var ln=class extends j{constructor(e){super(),this.shape=e}check(e,t){let n=this.shape(e);return!n&&t?.extend(null,`custom prop`,e?.constructor.name,`failed to check custom prop`),n}},N=e=>new ln(e);M(ln);var un=class extends j{constructor(e){super(),this.shape=e}check(e,t){let n=this.shape.some(t=>t===e);return!n&&t?.extend(null,this.shape.join(` | `),e.toString()),n}},dn=(...e)=>new un(e),fn=M(un),pn=RegExp.escape||(e=>e.replace(/[().|&,$^[\]]/g,e=>`\\`+e)),mn=e=>{if(Jn.check(e))return[pn(e)];if(fn.check(e))return e.shape.map(e=>e+``);if(qn.check(e))return[`[+-]?\\d+.?\\d*`];if(Yn.check(e))return[`.*`];if(zn.check(e))return e.shape.map(mn).flat(1);C()};M(class extends j{constructor(e){super(),this.shape=e,this._r=RegExp(`^`+e.map(mn).map(e=>`(${e.join(`|`)})`).join(``)+`$`)}check(e,t){let n=this._r.exec(e)!=null;return!n&&t?.extend(null,this._r.toString(),e.toString(),`String doesn't match string template.`),n}});var hn=Symbol(`optional`),gn=class extends j{constructor(e){super(),this.shape=e}check(e,t){let n=e===void 0||this.shape.check(e);return!n&&t?.extend(null,`undefined (optional)`,`()`),n}get[hn](){return!0}},_n=M(gn),vn=class extends j{check(e,t){return t?.extend(null,`never`,typeof e),!1}};new vn,M(vn);var yn=class e extends j{constructor(e,t=!1){super(),this.shape=e,this._isPartial=t}static _dilutes=!0;get partial(){return new e(this.shape,!0)}check(e,t){return e==null?(t?.extend(null,`object`,`null`),!1):St(this.shape,(n,r)=>{let i=this._isPartial&&!Ct(e,r)||n.check(e[r],t);return!i&&t?.extend(r.toString(),n.toString(),typeof e[r],`Object property does not match`),i})}},bn=e=>new yn(e),xn=M(yn),Sn=N(e=>e!=null&&(e.constructor===Object||e.constructor==null)),Cn=class extends j{constructor(e,t){super(),this.shape={keys:e,values:t}}check(e,t){return e!=null&&St(e,(n,r)=>{let i=this.shape.keys.check(r,t);return!i&&t?.extend(r+``,`Record`,typeof e,i?`Key doesn't match schema`:`Value doesn't match value`),i&&this.shape.values.check(n,t)})}},wn=(e,t)=>new Cn(e,t),Tn=M(Cn),En=class extends j{constructor(e){super(),this.shape=e}check(e,t){return e!=null&&St(this.shape,(n,r)=>{let i=n.check(e[r],t);return!i&&t?.extend(r.toString(),`Tuple`,typeof n),i})}},Dn=(...e)=>new En(e);M(En);var On=class extends j{constructor(e){super(),this.shape=e.length===1?e[0]:new Ln(e)}check(e,t){let n=f(e)&&l(e,e=>this.shape.check(e));return!n&&t?.extend(null,`Array`,``),n}},kn=(...e)=>new On(e),An=M(On),jn=N(e=>f(e)),Mn=class extends j{constructor(e,t){super(),this.shape=e,this._c=t}check(e,t){let n=e instanceof this.shape&&(this._c==null||this._c(e));return!n&&t?.extend(null,this.shape.name,e?.constructor.name),n}},Nn=(e,t=null)=>new Mn(e,t);M(Mn);var Pn=Nn(j),Fn=M(class extends j{constructor(e){super(),this.len=e.length-1,this.args=Dn(...e.slice(-1)),this.res=e[this.len]}check(e,t){let n=e.constructor===Function&&e.length<=this.len;return!n&&t?.extend(null,`function`,typeof e),n}}),In=N(e=>typeof e==`function`);M(class extends j{constructor(e){super(),this.shape=e}check(e,t){let n=l(this.shape,n=>n.check(e,t));return!n&&t?.extend(null,`Intersectinon`,typeof e),n}},e=>e.shape.length>0);var Ln=class extends j{static _dilutes=!0;constructor(e){super(),this.shape=e}check(e,t){let n=u(this.shape,n=>n.check(e,t));return t?.extend(null,`Union`,typeof e),n}},Rn=(...e)=>e.findIndex(e=>zn.check(e))>=0?Rn(...e.map(e=>nr(e)).map(e=>zn.check(e)?e.shape:[e]).flat(1)):e.length===1?e[0]:new Ln(e),zn=M(Ln),Bn=()=>!0,Vn=N(Bn),Hn=M(ln,e=>e.shape===Bn),Un=N(e=>typeof e==`bigint`),Wn=N(e=>e===Un),Gn=N(e=>typeof e==`symbol`);N(e=>e===Gn);var Kn=N(e=>typeof e==`number`),qn=N(e=>e===Kn),Jn=N(e=>typeof e==`string`),Yn=N(e=>e===Jn),Xn=N(e=>typeof e==`boolean`),Zn=N(e=>e===Xn),Qn=dn(void 0);M(un,e=>e.shape.length===1&&e.shape[0]===void 0),dn(void 0);var $n=dn(null),er=M(un,e=>e.shape.length===1&&e.shape[0]===null);M(Uint8Array),M(cn,e=>e.shape===Uint8Array);var tr=Rn(Kn,Jn,$n,Qn,Un,Xn,Gn);(()=>{let e=kn(Vn),t=wn(Jn,Vn),n=Rn(Kn,Jn,$n,Xn,e,t);return e.shape=n,t.shape.values=n,n})();var nr=e=>{if(Pn.check(e))return e;if(Sn.check(e)){let t={};for(let n in e)t[n]=nr(e[n]);return bn(t)}if(jn.check(e))return Rn(...e.map(nr));if(tr.check(e))return dn(e);if(In.check(e))return M(e);C()},rr=Lt?()=>{}:(e,t)=>{let n=new on;if(!t.check(e,n))throw x(`Expected value to be of type ${t.constructor.name}.\n${n.toString()}`)},ir=class{constructor(e){this.patterns=[],this.$state=e}if(e,t){return this.patterns.push({if:nr(e),h:t}),this}else(e){return this.if(Vn,e)}done(){return(e,t)=>{for(let n=0;n<this.patterns.length;n++){let r=this.patterns[n];if(r.if.check(e))return r.h(e,t)}throw x(`Unhandled pattern`)}}},ar=(e=>new ir(e))(Vn).if(qn,(e,t)=>Qt(t,oe,ae)).if(Yn,(e,t)=>nn(t)).if(Zn,(e,t)=>Zt(t)).if(Wn,(e,t)=>BigInt(Qt(t,oe,ae))).if(zn,(e,t)=>P(t,rn(t,e.shape))).if(xn,(e,t)=>{let n={};for(let r in e.shape){let i=e.shape[r];if(_n.check(i)){if(Zt(t))continue;i=i.shape}n[r]=ar(i,t)}return n}).if(An,(e,t)=>{let n=[],r=$t(t,0,42);for(let i=0;i<r;i++)n.push(P(t,e.shape));return n}).if(fn,(e,t)=>rn(t,e.shape)).if(er,(e,t)=>null).if(Fn,(e,t)=>{let n=P(t,e.res);return()=>n}).if(Hn,(e,t)=>P(t,rn(t,[Kn,Jn,$n,Qn,Un,Xn,kn(Kn),wn(Rn(`a`,`b`,`c`),Kn)]))).if(Tn,(e,t)=>{let n={},r=Qt(t,0,3);for(let i=0;i<r;i++){let r=P(t,e.shape.keys);n[r]=P(t,e.shape.values)}return n}).done(),P=(e,t)=>ar(nr(t),e),F=typeof document<`u`?document:{},or=e=>F.createElement(e),sr=()=>F.createDocumentFragment();N(e=>e.nodeType===yr);var cr=e=>F.createTextNode(e);typeof DOMParser<`u`&&new DOMParser;var lr=(e,t)=>(Xt(t,(t,n)=>{n===!1?e.removeAttribute(t):n===!0?e.setAttribute(t,``):e.setAttribute(t,n)}),e),ur=e=>{let t=sr();for(let n=0;n<e.length;n++)hr(t,e[n]);return t},dr=(e,t)=>(hr(e,ur(t)),e),fr=(e,t=[],n=[])=>dr(lr(or(e),t),n);N(e=>e.nodeType===gr);var pr=cr;N(e=>e.nodeType===_r);var mr=e=>r(e,(e,t)=>`${t}:${e};`).join(``),hr=(e,t)=>e.appendChild(t),gr=F.ELEMENT_NODE,_r=F.TEXT_NODE;F.CDATA_SECTION_NODE,F.COMMENT_NODE;var vr=F.DOCUMENT_NODE;F.DOCUMENT_TYPE_NODE;var yr=F.DOCUMENT_FRAGMENT_NODE;N(e=>e.nodeType===vr);var I=Symbol,br=I(),xr=I(),Sr=I(),Cr=I(),wr=I(),Tr=I(),Er=I(),Dr=I(),Or=I(),kr=e=>{e.length===1&&e[0]?.constructor===Function&&(e=e[0]());let t=[],n=[],r=0;for(;r<e.length;r++){let n=e[r];if(n===void 0)break;if(n.constructor===String||n.constructor===Number)t.push(n);else if(n.constructor===Object)break}for(r>0&&n.push(t.join(``));r<e.length;r++){let t=e[r];t instanceof Symbol||n.push(t)}return n};at();var Ar={[br]:A(`font-weight`,`bold`),[xr]:A(`font-weight`,`normal`),[Sr]:A(`color`,`blue`),[wr]:A(`color`,`green`),[Cr]:A(`color`,`grey`),[Tr]:A(`color`,`red`),[Er]:A(`color`,`purple`),[Dr]:A(`color`,`orange`),[Or]:A(`color`,`black`)},jr=Rt?t=>{t.length===1&&t[0]?.constructor===Function&&(t=t[0]());let n=[],r=[],i=e(),a=[],o=0;for(;o<t.length;o++){let e=t[o],a=Ar[e];if(a!==void 0)i.set(a.left,a.right);else{if(e===void 0)break;if(e.constructor===String||e.constructor===Number){let t=mr(i);o>0||t.length>0?(n.push(`%c`+e),r.push(t)):n.push(e)}else break}}for(o>0&&(a=r,a.unshift(n.join(``)));o<t.length;o++){let e=t[o];e instanceof Symbol||a.push(e)}return a}:kr,Mr=(...e)=>{console.log(...jr(e)),Pr.forEach(t=>t.print(e))},Nr=(...e)=>{console.warn(...jr(e)),e.unshift(Dr),Pr.forEach(t=>t.print(e))},Pr=a(),Fr=e=>({[Symbol.iterator](){return this},next:e}),Ir=(e,t)=>Fr(()=>{let n;do n=e.next();while(!n.done&&!t(n.value));return n}),Lr=(e,t)=>Fr(()=>{let{done:n,value:r}=e.next();return{done:n,value:n?void 0:t(r)}}),Rr=class{constructor(e,t){this.clock=e,this.len=t}},zr=class{constructor(){this.clients=new Map}},Br=(e,t,n)=>t.clients.forEach((t,r)=>{let i=e.doc.store.clients.get(r);if(i!=null){let r=i[i.length-1],a=r.id.clock+r.length;for(let r=0,o=t[r];r<t.length&&o.clock<a;o=t[++r])Zi(e,i,o.clock,o.len,n)}}),Vr=(e,t)=>{let n=0,r=e.length-1;for(;n<=r;){let i=m((n+r)/2),a=e[i],o=a.clock;if(o<=t){if(t<o+a.len)return i;n=i+1}else r=i-1}return null},Hr=(e,t)=>{let n=e.clients.get(t.client);return n!==void 0&&Vr(n,t.clock)!==null},Ur=e=>{e.clients.forEach(e=>{e.sort((e,t)=>e.clock-t.clock);let t,n;for(t=1,n=1;t<e.length;t++){let r=e[n-1],i=e[t];r.clock+r.len>=i.clock?e[n-1]=new Rr(r.clock,h(r.len,i.clock+i.len-r.clock)):(n<t&&(e[n]=i),n++)}e.length=n})},Wr=e=>{let t=new zr;for(let n=0;n<e.length;n++)e[n].clients.forEach((r,i)=>{if(!t.clients.has(i)){let a=r.slice();for(let t=n+1;t<e.length;t++)s(a,e[t].clients.get(i)||[]);t.clients.set(i,a)}});return Ur(t),t},Gr=(e,t,r,i)=>{n(e.clients,t,()=>[]).push(new Rr(r,i))},Kr=()=>new zr,qr=e=>{let t=Kr();return e.clients.forEach((e,n)=>{let r=[];for(let t=0;t<e.length;t++){let n=e[t];if(n.deleted){let i=n.id.clock,a=n.length;if(t+1<e.length)for(let n=e[t+1];t+1<e.length&&n.deleted;n=e[++t+1])a+=n.length;r.push(new Rr(i,a))}}r.length>0&&t.clients.set(n,r)}),t},Jr=(e,t)=>{v(e.restEncoder,t.clients.size),c(t.clients.entries()).sort((e,t)=>t[0]-e[0]).forEach(([t,n])=>{e.resetDsCurVal(),v(e.restEncoder,t);let r=n.length;v(e.restEncoder,r);for(let t=0;t<r;t++){let r=n[t];e.writeDsClock(r.clock),e.writeDsLen(r.len)}})},Yr=e=>{let t=new zr,r=E(e.restDecoder);for(let i=0;i<r;i++){e.resetDsCurVal();let r=E(e.restDecoder),i=E(e.restDecoder);if(i>0){let a=n(t.clients,r,()=>[]);for(let t=0;t<i;t++)a.push(new Rr(e.readDsClock(),e.readDsLen()))}}return t},Xr=(e,t,n)=>{let r=new zr,i=E(e.restDecoder);for(let a=0;a<i;a++){e.resetDsCurVal();let i=E(e.restDecoder),a=E(e.restDecoder),o=n.clients.get(i)||[],s=B(n,i);for(let n=0;n<a;n++){let n=e.readDsClock(),a=n+e.readDsLen();if(n<s){s<a&&Gr(r,i,s,a-s);let e=V(o,n),c=o[e];for(!c.deleted&&c.id.clock<n&&(o.splice(e+1,0,as(t,c,n-c.id.clock)),e++);e<o.length&&(c=o[e++],c.id.clock<a);)c.deleted||(a<c.id.clock+c.length&&o.splice(e,0,as(t,c,a-c.id.clock)),c.delete(t))}else Gr(r,i,n,a-n)}}if(r.clients.size>0){let e=new L;return v(e.restEncoder,0),Jr(e,r),e.toUint8Array()}return null},Zr=nt,Qr=class e extends p{constructor({guid:e=it(),collectionid:t=null,gc:n=!0,gcFilter:r=()=>!0,meta:i=null,autoLoad:a=!1,shouldLoad:o=!0}={}){super(),this.gc=n,this.gcFilter=r,this.clientID=Zr(),this.guid=e,this.collectionid=t,this.share=new Map,this.store=new Wi,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=o,this.autoLoad=a,this.meta=i,this.isLoaded=!1,this.isSynced=!1,this.isDestroyed=!1,this.whenLoaded=ot(e=>{this.on(`load`,()=>{this.isLoaded=!0,e(this)})});let s=()=>ot(e=>{let t=n=>{(n===void 0||n===!0)&&(this.off(`sync`,t),e())};this.on(`sync`,t)});this.on(`sync`,e=>{e===!1&&this.isSynced&&(this.whenSynced=s()),this.isSynced=e===void 0||e===!0,this.isSynced&&!this.isLoaded&&this.emit(`load`,[this])}),this.whenSynced=s()}load(){let e=this._item;e!==null&&!this.shouldLoad&&U(e.parent.doc,e=>{e.subdocsLoaded.add(this)},null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(c(this.subdocs).map(e=>e.guid))}transact(e,t=null){return U(this,e,t)}get(e,t=K){let r=n(this.share,e,()=>{let e=new t;return e._integrate(this,null),e}),i=r.constructor;if(t!==K&&i!==t){if(i===K){let n=new t;n._map=r._map,r._map.forEach(e=>{for(;e!==null;e=e.left)e.parent=n}),n._start=r._start;for(let e=n._start;e!==null;e=e.right)e.parent=n;return n._length=r._length,this.share.set(e,n),n._integrate(this,null),n}throw Error(`Type with the name ${e} has already been defined with a different constructor`)}return r}getArray(e=``){return this.get(e,Za)}getText(e=``){return this.get(e,vo)}getMap(e=``){return this.get(e,eo)}getXmlElement(e=``){return this.get(e,Co)}getXmlFragment(e=``){return this.get(e,xo)}toJSON(){let e={};return this.share.forEach((t,n)=>{e[n]=t.toJSON()}),e}destroy(){this.isDestroyed=!0,c(this.subdocs).forEach(e=>e.destroy());let t=this._item;if(t!==null){this._item=null;let n=t.content;n.doc=new e({guid:this.guid,...n.opts,shouldLoad:!1}),n.doc._item=t,U(t.parent.doc,e=>{let r=n.doc;t.deleted||e.subdocsAdded.add(r),e.subdocsRemoved.add(this)},null,!0)}this.emit(`destroyed`,[!0]),this.emit(`destroy`,[this]),super.destroy()}},$r=class{constructor(e){this.restDecoder=e}resetDsCurVal(){}readDsClock(){return E(this.restDecoder)}readDsLen(){return E(this.restDecoder)}},ei=class extends $r{readLeftID(){return R(E(this.restDecoder),E(this.restDecoder))}readRightID(){return R(E(this.restDecoder),E(this.restDecoder))}readClient(){return E(this.restDecoder)}readInfo(){return Ke(this.restDecoder)}readString(){return D(this.restDecoder)}readParentInfo(){return E(this.restDecoder)===1}readTypeRef(){return E(this.restDecoder)}readLen(){return E(this.restDecoder)}readAny(){return Xe(this.restDecoder)}readBuf(){return Jt(T(this.restDecoder))}readJSON(){return JSON.parse(D(this.restDecoder))}readKey(){return D(this.restDecoder)}},ti=class{constructor(e){this.dsCurrVal=0,this.restDecoder=e}resetDsCurVal(){this.dsCurrVal=0}readDsClock(){return this.dsCurrVal+=E(this.restDecoder),this.dsCurrVal}readDsLen(){let e=E(this.restDecoder)+1;return this.dsCurrVal+=e,e}},ni=class extends ti{constructor(e){super(e),this.keys=[],E(e),this.keyClockDecoder=new $e(T(e)),this.clientDecoder=new Qe(T(e)),this.leftClockDecoder=new $e(T(e)),this.rightClockDecoder=new $e(T(e)),this.infoDecoder=new Ze(T(e),Ke),this.stringDecoder=new et(T(e)),this.parentInfoDecoder=new Ze(T(e),Ke),this.typeRefDecoder=new Qe(T(e)),this.lenDecoder=new Qe(T(e))}readLeftID(){return new Oi(this.clientDecoder.read(),this.leftClockDecoder.read())}readRightID(){return new Oi(this.clientDecoder.read(),this.rightClockDecoder.read())}readClient(){return this.clientDecoder.read()}readInfo(){return this.infoDecoder.read()}readString(){return this.stringDecoder.read()}readParentInfo(){return this.parentInfoDecoder.read()===1}readTypeRef(){return this.typeRefDecoder.read()}readLen(){return this.lenDecoder.read()}readAny(){return Xe(this.restDecoder)}readBuf(){return T(this.restDecoder)}readJSON(){return Xe(this.restDecoder)}readKey(){let e=this.keyClockDecoder.read();if(e<this.keys.length)return this.keys[e];{let e=this.stringDecoder.read();return this.keys.push(e),e}}},ri=class{constructor(){this.restEncoder=be()}toUint8Array(){return g(this.restEncoder)}resetDsCurVal(){}writeDsClock(e){v(this.restEncoder,e)}writeDsLen(e){v(this.restEncoder,e)}},ii=class extends ri{writeLeftID(e){v(this.restEncoder,e.client),v(this.restEncoder,e.clock)}writeRightID(e){v(this.restEncoder,e.client),v(this.restEncoder,e.clock)}writeClient(e){v(this.restEncoder,e)}writeInfo(e){Ce(this.restEncoder,e)}writeString(e){y(this.restEncoder,e)}writeParentInfo(e){v(this.restEncoder,+!!e)}writeTypeRef(e){v(this.restEncoder,e)}writeLen(e){v(this.restEncoder,e)}writeAny(e){Pe(this.restEncoder,e)}writeBuf(e){b(this.restEncoder,e)}writeJSON(e){y(this.restEncoder,JSON.stringify(e))}writeKey(e){y(this.restEncoder,e)}},ai=class{constructor(){this.restEncoder=be(),this.dsCurrVal=0}toUint8Array(){return g(this.restEncoder)}resetDsCurVal(){this.dsCurrVal=0}writeDsClock(e){let t=e-this.dsCurrVal;this.dsCurrVal=e,v(this.restEncoder,t)}writeDsLen(e){e===0&&C(),v(this.restEncoder,e-1),this.dsCurrVal+=e}},L=class extends ai{constructor(){super(),this.keyMap=new Map,this.keyClock=0,this.keyClockEncoder=new ze,this.clientEncoder=new Le,this.leftClockEncoder=new ze,this.rightClockEncoder=new ze,this.infoEncoder=new Fe(Ce),this.stringEncoder=new Be,this.parentInfoEncoder=new Fe(Ce),this.typeRefEncoder=new Le,this.lenEncoder=new Le}toUint8Array(){let e=be();return v(e,0),b(e,this.keyClockEncoder.toUint8Array()),b(e,this.clientEncoder.toUint8Array()),b(e,this.leftClockEncoder.toUint8Array()),b(e,this.rightClockEncoder.toUint8Array()),b(e,g(this.infoEncoder)),b(e,this.stringEncoder.toUint8Array()),b(e,g(this.parentInfoEncoder)),b(e,this.typeRefEncoder.toUint8Array()),b(e,this.lenEncoder.toUint8Array()),De(e,g(this.restEncoder)),g(e)}writeLeftID(e){this.clientEncoder.write(e.client),this.leftClockEncoder.write(e.clock)}writeRightID(e){this.clientEncoder.write(e.client),this.rightClockEncoder.write(e.clock)}writeClient(e){this.clientEncoder.write(e)}writeInfo(e){this.infoEncoder.write(e)}writeString(e){this.stringEncoder.write(e)}writeParentInfo(e){this.parentInfoEncoder.write(+!!e)}writeTypeRef(e){this.typeRefEncoder.write(e)}writeLen(e){this.lenEncoder.write(e)}writeAny(e){Pe(this.restEncoder,e)}writeBuf(e){b(this.restEncoder,e)}writeJSON(e){Pe(this.restEncoder,e)}writeKey(e){let t=this.keyMap.get(e);t===void 0?(this.keyClockEncoder.write(this.keyClock++),this.stringEncoder.write(e)):this.keyClockEncoder.write(t)}},oi=(e,t,n,r)=>{r=h(r,t[0].id.clock);let i=V(t,r);v(e.restEncoder,t.length-i),e.writeClient(n),v(e.restEncoder,r);let a=t[i];a.write(e,r-a.id.clock);for(let n=i+1;n<t.length;n++)t[n].write(e,0)},si=(e,t,n)=>{let r=new Map;n.forEach((e,n)=>{B(t,n)>e&&r.set(n,e)}),Gi(t).forEach((e,t)=>{n.has(t)||r.set(t,0)}),v(e.restEncoder,r.size),c(r.entries()).sort((e,t)=>t[0]-e[0]).forEach(([n,r])=>{oi(e,t.clients.get(n),n,r)})},ci=(t,n)=>{let r=e(),i=E(t.restDecoder);for(let e=0;e<i;e++){let e=E(t.restDecoder),i=Array(e),a=t.readClient(),o=E(t.restDecoder);r.set(a,{i:0,refs:i});for(let r=0;r<e;r++){let e=t.readInfo();switch(31&e){case 0:{let e=t.readLen();i[r]=new J(R(a,o),e),o+=e;break}case 10:{let e=E(t.restDecoder);i[r]=new $(R(a,o),e),o+=e;break}default:{let s=!(e&192),c=new Q(R(a,o),null,(e&128)==128?t.readLeftID():null,null,(e&64)==64?t.readRightID():null,s?t.readParentInfo()?n.get(t.readString()):t.readLeftID():null,s&&(e&32)==32?t.readString():null,cs(t,e));i[r]=c,o+=c.length}}}}return r},li=(e,t,r)=>{let i=[],a=c(r.keys()).sort((e,t)=>e-t);if(a.length===0)return null;let o=()=>{if(a.length===0)return null;let e=r.get(a[a.length-1]);for(;e.refs.length===e.i;)if(a.pop(),a.length>0)e=r.get(a[a.length-1]);else return null;return e},s=o();if(s===null)return null;let l=new Wi,u=new Map,d=(e,t)=>{let n=u.get(e);(n==null||n>t)&&u.set(e,t)},f=s.refs[s.i++],p=new Map,ee=()=>{for(let e of i){let t=e.id.client,n=r.get(t);n?(n.i--,l.clients.set(t,n.refs.slice(n.i)),r.delete(t),n.i=0,n.refs=[]):l.clients.set(t,[e]),a=a.filter(e=>e!==t)}i.length=0};for(;;){if(f.constructor!==$){let a=n(p,f.id.client,()=>B(t,f.id.client))-f.id.clock;if(a<0)i.push(f),d(f.id.client,f.id.clock-1),ee();else{let n=f.getMissing(e,t);if(n!==null){i.push(f);let e=r.get(n)||{refs:[],i:0};if(e.refs.length===e.i)d(n,B(t,n)),ee();else{f=e.refs[e.i++];continue}}else(a===0||a<f.length)&&(f.integrate(e,a),p.set(f.id.client,f.id.clock+f.length))}}if(i.length>0)f=i.pop();else if(s!==null&&s.i<s.refs.length)f=s.refs[s.i++];else{if(s=o(),s===null)break;f=s.refs[s.i++]}}if(l.clients.size>0){let e=new L;return si(e,l,new Map),v(e.restEncoder,0),{missing:u,update:e.toUint8Array()}}return null},ui=(e,t)=>si(e,t.doc.store,t.beforeState),di=(e,t,n,r=new ni(e))=>U(t,e=>{e.local=!1;let t=!1,n=e.doc,i=n.store,a=li(e,i,ci(r,n)),o=i.pendingStructs;if(o){for(let[e,n]of o.missing)if(n<B(i,e)){t=!0;break}if(a){for(let[e,t]of a.missing){let n=o.missing.get(e);(n==null||n>t)&&o.missing.set(e,t)}o.update=ma([o.update,a.update])}}else i.pendingStructs=a;let s=Xr(r,e,i);if(i.pendingDs){let t=new ni(w(i.pendingDs));E(t.restDecoder);let n=Xr(t,e,i);i.pendingDs=s&&n?ma([s,n]):s||n}else i.pendingDs=s;if(t){let t=i.pendingStructs.update;i.pendingStructs=null,fi(e.doc,t)}},n,!1),fi=(e,t,n,r=ni)=>{let i=w(t);di(i,e,n,new r(i))},pi=(e,t,n)=>fi(e,t,n,ei),mi=(e,t,n=new Map)=>{si(e,t.store,n),Jr(e,qr(t.store))},hi=(e,t=new Uint8Array([0]),n=new L)=>{mi(n,e,vi(t));let r=[n.toUint8Array()];if(e.store.pendingDs&&r.push(e.store.pendingDs),e.store.pendingStructs&&r.push(ha(e.store.pendingStructs.update,t)),r.length>1){if(n.constructor===ii)return fa(r.map((e,t)=>t===0?e:ya(e)));if(n.constructor===L)return ma(r)}return r[0]},gi=(e,t)=>hi(e,t,new ii),_i=e=>{let t=new Map,n=E(e.restDecoder);for(let r=0;r<n;r++){let n=E(e.restDecoder),r=E(e.restDecoder);t.set(n,r)}return t},vi=e=>_i(new $r(w(e))),yi=(e,t)=>(v(e.restEncoder,t.size),c(t.entries()).sort((e,t)=>t[0]-e[0]).forEach(([t,n])=>{v(e.restEncoder,t),v(e.restEncoder,n)}),e),bi=(e,t)=>yi(e,Gi(t.store)),xi=(e,t=new ai)=>(e instanceof Map?yi(t,e):bi(t,e),t.toUint8Array()),Si=e=>xi(e,new ri),Ci=class{constructor(){this.l=[]}},wi=()=>new Ci,Ti=(e,t)=>e.l.push(t),Ei=(e,t)=>{let n=e.l,r=n.length;e.l=n.filter(e=>t!==e),r===e.l.length&&console.error(`[yjs] Tried to remove event handler that doesn't exist.`)},Di=(e,t,n)=>Dt(e.l,[t,n]),Oi=class{constructor(e,t){this.client=e,this.clock=t}},ki=(e,t)=>e===t||e!==null&&t!==null&&e.client===t.client&&e.clock===t.clock,R=(e,t)=>new Oi(e,t),Ai=e=>{for(let[t,n]of e.doc.share.entries())if(n===e)return t;throw C()},ji=(e,t)=>{for(;t!==null;){if(t.parent===e)return!0;t=t.parent._item}return!1},Mi=class{constructor(e,t,n,r=0){this.type=e,this.tname=t,this.item=n,this.assoc=r}},Ni=e=>{let t={};return e.type&&(t.type=e.type),e.tname&&(t.tname=e.tname),e.item&&(t.item=e.item),e.assoc!=null&&(t.assoc=e.assoc),t},Pi=e=>new Mi(e.type==null?null:R(e.type.client,e.type.clock),e.tname??null,e.item==null?null:R(e.item.client,e.item.clock),e.assoc==null?0:e.assoc),Fi=class{constructor(e,t,n=0){this.type=e,this.index=t,this.assoc=n}},Ii=(e,t,n=0)=>new Fi(e,t,n),Li=(e,t,n)=>{let r=null,i=null;return e._item===null?i=Ai(e):r=R(e._item.id.client,e._item.id.clock),new Mi(r,i,t,n)},Ri=(e,t,n=0)=>{let r=e._start;if(n<0){if(t===0)return Li(e,null,n);t--}for(;r!==null;){if(!r.deleted&&r.countable){if(r.length>t)return Li(e,R(r.id.client,r.id.clock+t),n);t-=r.length}if(r.right===null&&n<0)return Li(e,r.lastId,n);r=r.right}return Li(e,null,n)},zi=(e,t)=>{let n=qi(e,t);return{item:n,diff:t.clock-n.id.clock}},Bi=(e,t,n=!0)=>{let r=t.store,i=e.item,a=e.type,o=e.tname,s=e.assoc,c=null,l=0;if(i!==null){if(B(r,i.client)<=i.clock)return null;let e=n?rs(r,i):zi(r,i),t=e.item;if(!(t instanceof Q))return null;if(c=t.parent,c._item===null||!c._item.deleted){l=t.deleted||!t.countable?0:e.diff+(s>=0?0:1);let n=t.left;for(;n!==null;)!n.deleted&&n.countable&&(l+=n.length),n=n.left}}else{if(o!==null)c=t.get(o);else if(a!==null){if(B(r,a.client)<=a.clock)return null;let{item:e}=n?rs(r,a):{item:qi(r,a)};if(e instanceof Q&&e.content instanceof Z)c=e.content.type;else return null}else throw C();l=s>=0?c._length:0}return Ii(c,l,e.assoc)},Vi=(e,t)=>e===t||e!==null&&t!==null&&e.tname===t.tname&&ki(e.item,t.item)&&ki(e.type,t.type)&&e.assoc===t.assoc,Hi=class{constructor(e,t){this.ds=e,this.sv=t}};((e,t)=>new Hi(e,t))(Kr(),new Map);var z=(e,t)=>t===void 0?!e.deleted:t.sv.has(e.id.client)&&(t.sv.get(e.id.client)||0)>e.id.clock&&!Hr(t.ds,e.id),Ui=(e,t)=>{let r=n(e.meta,Ui,a),i=e.doc.store;r.has(t)||(t.sv.forEach((t,n)=>{t<B(i,n)&&H(e,R(n,t))}),Br(e,t.ds,e=>{}),r.add(t))},Wi=class{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}},Gi=e=>{let t=new Map;return e.clients.forEach((e,n)=>{let r=e[e.length-1];t.set(n,r.id.clock+r.length)}),t},B=(e,t)=>{let n=e.clients.get(t);if(n===void 0)return 0;let r=n[n.length-1];return r.id.clock+r.length},Ki=(e,t)=>{let n=e.clients.get(t.id.client);if(n===void 0)n=[],e.clients.set(t.id.client,n);else{let e=n[n.length-1];if(e.id.clock+e.length!==t.id.clock)throw C()}n.push(t)},V=(e,t)=>{let n=0,r=e.length-1,i=e[r],a=i.id.clock;if(a===t)return r;let o=m(t/(a+i.length-1)*r);for(;n<=r;){if(i=e[o],a=i.id.clock,a<=t){if(t<a+i.length)return o;n=o+1}else r=o-1;o=m((n+r)/2)}throw C()},qi=(e,t)=>{let n=e.clients.get(t.client);return n[V(n,t.clock)]},Ji=(e,t,n)=>{let r=V(t,n),i=t[r];return i.id.clock<n&&i instanceof Q?(t.splice(r+1,0,as(e,i,n-i.id.clock)),r+1):r},H=(e,t)=>{let n=e.doc.store.clients.get(t.client);return n[Ji(e,n,t.clock)]},Yi=(e,t,n)=>{let r=t.clients.get(n.client),i=V(r,n.clock),a=r[i];return n.clock!==a.id.clock+a.length-1&&a.constructor!==J&&r.splice(i+1,0,as(e,a,n.clock-a.id.clock+1)),a},Xi=(e,t,n)=>{let r=e.clients.get(t.id.client);r[V(r,t.id.clock)]=n},Zi=(e,t,n,r,i)=>{if(r===0)return;let a=n+r,o=Ji(e,t,n),s;do s=t[o++],a<s.id.clock+s.length&&Ji(e,t,a),i(s);while(o<t.length&&t[o].id.clock<a)},Qi=class{constructor(e,t,n){this.doc=e,this.deleteSet=new zr,this.beforeState=Gi(e.store),this.afterState=new Map,this.changed=new Map,this.changedParentTypes=new Map,this._mergeStructs=[],this.origin=t,this.meta=new Map,this.local=n,this.subdocsAdded=new Set,this.subdocsRemoved=new Set,this.subdocsLoaded=new Set,this._needFormattingCleanup=!1}},$i=(e,t)=>t.deleteSet.clients.size===0&&!i(t.afterState,(e,n)=>t.beforeState.get(n)!==e)?!1:(Ur(t.deleteSet),ui(e,t),Jr(e,t.deleteSet),!0),ea=(e,t,r)=>{let i=t._item;(i===null||i.id.clock<(e.beforeState.get(i.id.client)||0)&&!i.deleted)&&n(e.changed,t,a).add(r)},ta=(e,t)=>{let n=e[t],r=e[t-1],i=t;for(;i>0;n=r,r=e[--i-1]){if(r.deleted===n.deleted&&r.constructor===n.constructor&&r.mergeWith(n)){n instanceof Q&&n.parentSub!==null&&n.parent._map.get(n.parentSub)===n&&n.parent._map.set(n.parentSub,r);continue}break}let a=t-i;return a&&e.splice(t+1-a,a),a},na=(e,t,n)=>{for(let[r,i]of e.clients.entries()){let e=t.clients.get(r);for(let r=i.length-1;r>=0;r--){let a=i[r],o=a.clock+a.len;for(let r=V(e,a.clock),i=e[r];r<e.length&&i.id.clock<o;i=e[++r]){let i=e[r];if(a.clock+a.len<=i.id.clock)break;i instanceof Q&&i.deleted&&!i.keep&&n(i)&&i.gc(t,!1)}}}},ra=(e,t)=>{e.clients.forEach((e,n)=>{let r=t.clients.get(n);for(let t=e.length-1;t>=0;t--){let n=e[t],i=ne(r.length-1,1+V(r,n.clock+n.len-1));for(let e=i,t=r[e];e>0&&t.id.clock>=n.clock;t=r[e])e-=1+ta(r,e)}})},ia=(e,t)=>{if(t<e.length){let n=e[t],r=n.doc,i=r.store,a=n.deleteSet,o=n._mergeStructs;try{Ur(a),n.afterState=Gi(n.doc.store),r.emit(`beforeObserverCalls`,[n,r]);let e=[];n.changed.forEach((t,r)=>e.push(()=>{(r._item===null||!r._item.deleted)&&r._callObserver(n,t)})),e.push(()=>{n.changedParentTypes.forEach((t,r)=>{r._dEH.l.length>0&&(r._item===null||!r._item.deleted)&&(t=t.filter(e=>e.target._item===null||!e.target._item.deleted),t.forEach(e=>{e.currentTarget=r,e._path=null}),t.sort((e,t)=>e.path.length-t.path.length),e.push(()=>{Di(r._dEH,t,n)}))}),e.push(()=>r.emit(`afterTransaction`,[n,r])),e.push(()=>{n._needFormattingCleanup&&ho(n)})}),Dt(e,[])}finally{r.gc&&na(a,i,r.gcFilter),ra(a,i),n.afterState.forEach((e,t)=>{let r=n.beforeState.get(t)||0;if(r!==e){let e=i.clients.get(t),n=h(V(e,r),1);for(let t=e.length-1;t>=n;)t-=1+ta(e,t)}});for(let e=o.length-1;e>=0;e--){let{client:t,clock:n}=o[e].id,r=i.clients.get(t),a=V(r,n);a+1<r.length&&ta(r,a+1)>1||a>0&&ta(r,a)}if(!n.local&&n.afterState.get(r.clientID)!==n.beforeState.get(r.clientID)&&(Mr(Dr,br,`[yjs] `,xr,Tr,`Changed the client-id because another client seems to be using it.`),r.clientID=Zr()),r.emit(`afterTransactionCleanup`,[n,r]),r._observers.has(`update`)){let e=new ii;$i(e,n)&&r.emit(`update`,[e.toUint8Array(),n.origin,r,n])}if(r._observers.has(`updateV2`)){let e=new L;$i(e,n)&&r.emit(`updateV2`,[e.toUint8Array(),n.origin,r,n])}let{subdocsAdded:s,subdocsLoaded:c,subdocsRemoved:l}=n;(s.size>0||l.size>0||c.size>0)&&(s.forEach(e=>{e.clientID=r.clientID,e.collectionid??=r.collectionid,r.subdocs.add(e)}),l.forEach(e=>r.subdocs.delete(e)),r.emit(`subdocs`,[{loaded:c,added:s,removed:l},r,n]),l.forEach(e=>e.destroy())),e.length<=t+1?(r._transactionCleanups=[],r.emit(`afterAllTransactions`,[r,e])):ia(e,t+1)}}},U=(e,t,n=null,r=!0)=>{let i=e._transactionCleanups,a=!1,o=null;e._transaction===null&&(a=!0,e._transaction=new Qi(e,n,r),i.push(e._transaction),i.length===1&&e.emit(`beforeAllTransactions`,[e]),e.emit(`beforeTransaction`,[e._transaction,e]));try{o=t(e._transaction)}finally{if(a){let t=e._transaction===i[0];e._transaction=null,t&&ia(i,0)}}return o},aa=class{constructor(e,t){this.insertions=t,this.deletions=e,this.meta=new Map}},oa=(e,t,n)=>{Br(e,n.deletions,n=>{n instanceof Q&&t.scope.some(t=>t===e.doc||ji(t,n))&&is(n,!1)})},sa=(e,t,n)=>{let r=null,i=e.doc,a=e.scope;U(i,n=>{for(;t.length>0&&e.currStackItem===null;){let r=i.store,o=t.pop(),s=new Set,c=[],l=!1;Br(n,o.insertions,e=>{if(e instanceof Q){if(e.redone!==null){let{item:t,diff:i}=rs(r,e.id);i>0&&(t=H(n,R(t.id.client,t.id.clock+i))),e=t}!e.deleted&&a.some(t=>t===n.doc||ji(t,e))&&c.push(e)}}),Br(n,o.deletions,e=>{e instanceof Q&&a.some(t=>t===n.doc||ji(t,e))&&!Hr(o.insertions,e.id)&&s.add(e)}),s.forEach(t=>{l=ss(n,t,s,o.insertions,e.ignoreRemoteMapChanges,e)!==null||l});for(let t=c.length-1;t>=0;t--){let r=c[t];e.deleteFilter(r)&&(r.delete(n),l=!0)}e.currStackItem=l?o:null}n.changed.forEach((e,t)=>{e.has(null)&&t._searchMarker&&(t._searchMarker.length=0)}),r=n},e);let o=e.currStackItem;if(o!=null){let t=r.changedParentTypes;e.emit(`stack-item-popped`,[{stackItem:o,type:n,changedParentTypes:t,origin:e},e]),e.currStackItem=null}return o},ca=class extends p{constructor(e,{captureTimeout:t=500,captureTransaction:n=e=>!0,deleteFilter:r=()=>!0,trackedOrigins:i=new Set([null]),ignoreRemoteMapChanges:a=!1,doc:o=f(e)?e[0].doc:e instanceof Qr?e:e.doc}={}){super(),this.scope=[],this.doc=o,this.addToScope(e),this.deleteFilter=r,i.add(this),this.trackedOrigins=i,this.captureTransaction=n,this.undoStack=[],this.redoStack=[],this.undoing=!1,this.redoing=!1,this.currStackItem=null,this.lastChange=0,this.ignoreRemoteMapChanges=a,this.captureTimeout=t,this.afterTransactionHandler=e=>{if(!this.captureTransaction(e)||!this.scope.some(t=>e.changedParentTypes.has(t)||t===this.doc)||!this.trackedOrigins.has(e.origin)&&(!e.origin||!this.trackedOrigins.has(e.origin.constructor)))return;let t=this.undoing,n=this.redoing,r=t?this.redoStack:this.undoStack;t?this.stopCapturing():n||this.clear(!1,!0);let i=new zr;e.afterState.forEach((t,n)=>{let r=e.beforeState.get(n)||0,a=t-r;a>0&&Gr(i,n,r,a)});let a=at(),o=!1;if(this.lastChange>0&&a-this.lastChange<this.captureTimeout&&r.length>0&&!t&&!n){let t=r[r.length-1];t.deletions=Wr([t.deletions,e.deleteSet]),t.insertions=Wr([t.insertions,i])}else r.push(new aa(e.deleteSet,i)),o=!0;!t&&!n&&(this.lastChange=a),Br(e,e.deleteSet,t=>{t instanceof Q&&this.scope.some(n=>n===e.doc||ji(n,t))&&is(t,!0)});let s=[{stackItem:r[r.length-1],origin:e.origin,type:t?`redo`:`undo`,changedParentTypes:e.changedParentTypes},this];o?this.emit(`stack-item-added`,s):this.emit(`stack-item-updated`,s)},this.destroy=this.destroy.bind(this),this.doc.on(`afterTransaction`,this.afterTransactionHandler),this.doc.on(`destroy`,this.destroy)}addToScope(e){let t=new Set(this.scope);e=f(e)?e:[e],e.forEach(e=>{t.has(e)||(t.add(e),(e instanceof K?e.doc!==this.doc:e!==this.doc)&&Nr(`[yjs#509] Not same Y.Doc`),this.scope.push(e))})}addTrackedOrigin(e){this.trackedOrigins.add(e)}removeTrackedOrigin(e){this.trackedOrigins.delete(e)}clear(e=!0,t=!0){(e&&this.canUndo()||t&&this.canRedo())&&this.doc.transact(n=>{e&&(this.undoStack.forEach(e=>oa(n,this,e)),this.undoStack=[]),t&&(this.redoStack.forEach(e=>oa(n,this,e)),this.redoStack=[]),this.emit(`stack-cleared`,[{undoStackCleared:e,redoStackCleared:t}])})}stopCapturing(){this.lastChange=0}undo(){this.undoing=!0;let e;try{e=sa(this,this.undoStack,`undo`)}finally{this.undoing=!1}return e}redo(){this.redoing=!0;let e;try{e=sa(this,this.redoStack,`redo`)}finally{this.redoing=!1}return e}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}destroy(){this.trackedOrigins.delete(this),this.doc.off(`afterTransaction`,this.afterTransactionHandler),this.doc.off(`destroy`,this.destroy),super.destroy()}};function*la(e){let t=E(e.restDecoder);for(let n=0;n<t;n++){let t=E(e.restDecoder),n=e.readClient(),r=E(e.restDecoder);for(let i=0;i<t;i++){let t=e.readInfo();if(t===10){let t=E(e.restDecoder);yield new $(R(n,r),t),r+=t}else if(31&t){let i=!(t&192),a=new Q(R(n,r),null,(t&128)==128?e.readLeftID():null,null,(t&64)==64?e.readRightID():null,i?e.readParentInfo()?e.readString():e.readLeftID():null,i&&(t&32)==32?e.readString():null,cs(e,t));yield a,r+=a.length}else{let t=e.readLen();yield new J(R(n,r),t),r+=t}}}}var ua=class{constructor(e,t){this.gen=la(e),this.curr=null,this.done=!1,this.filterSkips=t,this.next()}next(){do this.curr=this.gen.next().value||null;while(this.filterSkips&&this.curr!==null&&this.curr.constructor===$);return this.curr}},da=class{constructor(e){this.currClient=0,this.startClock=0,this.written=0,this.encoder=e,this.clientStructs=[]}},fa=e=>ma(e,ei,ii),pa=(e,t)=>{if(e.constructor===J){let{client:n,clock:r}=e.id;return new J(R(n,r+t),e.length-t)}if(e.constructor===$){let{client:n,clock:r}=e.id;return new $(R(n,r+t),e.length-t)}{let n=e,{client:r,clock:i}=n.id;return new Q(R(r,i+t),null,R(r,i+t-1),null,n.rightOrigin,n.parent,n.parentSub,n.content.splice(t))}},ma=(e,t=ni,n=L)=>{if(e.length===1)return e[0];let r=e.map(e=>new t(w(e))),i=r.map(e=>new ua(e,!0)),a=null,o=new n,s=new da(o);for(;i=i.filter(e=>e.curr!==null),i.sort((e,t)=>{if(e.curr.id.client===t.curr.id.client){let n=e.curr.id.clock-t.curr.id.clock;return n===0?e.curr.constructor===t.curr.constructor?0:e.curr.constructor===$?1:-1:n}return t.curr.id.client-e.curr.id.client}),i.length!==0;){let e=i[0],t=e.curr.id.client;if(a!==null){let n=e.curr,r=!1;for(;n!==null&&n.id.clock+n.length<=a.struct.id.clock+a.struct.length&&n.id.client>=a.struct.id.client;)n=e.next(),r=!0;if(n===null||n.id.client!==t||r&&n.id.clock>a.struct.id.clock+a.struct.length)continue;if(t!==a.struct.id.client)W(s,a.struct,a.offset),a={struct:n,offset:0},e.next();else if(a.struct.id.clock+a.struct.length<n.id.clock){if(a.struct.constructor===$)a.struct.length=n.id.clock+n.length-a.struct.id.clock;else{W(s,a.struct,a.offset);let e=n.id.clock-a.struct.id.clock-a.struct.length;a={struct:new $(R(t,a.struct.id.clock+a.struct.length),e),offset:0}}}else{let t=a.struct.id.clock+a.struct.length-n.id.clock;t>0&&(a.struct.constructor===$?a.struct.length-=t:n=pa(n,t)),a.struct.mergeWith(n)||(W(s,a.struct,a.offset),a={struct:n,offset:0},e.next())}}else a={struct:e.curr,offset:0},e.next();for(let n=e.curr;n!==null&&n.id.client===t&&n.id.clock===a.struct.id.clock+a.struct.length&&n.constructor!==$;n=e.next())W(s,a.struct,a.offset),a={struct:n,offset:0}}return a!==null&&(W(s,a.struct,a.offset),a=null),_a(s),Jr(o,Wr(r.map(e=>Yr(e)))),o.toUint8Array()},ha=(e,t,n=ni,r=L)=>{let i=vi(t),a=new r,o=new da(a),s=new n(w(e)),c=new ua(s,!1);for(;c.curr;){let e=c.curr,t=e.id.client,n=i.get(t)||0;if(c.curr.constructor===$){c.next();continue}if(e.id.clock+e.length>n)for(W(o,e,h(n-e.id.clock,0)),c.next();c.curr&&c.curr.id.client===t;)W(o,c.curr,0),c.next();else for(;c.curr&&c.curr.id.client===t&&c.curr.id.clock+c.curr.length<=n;)c.next()}return _a(o),Jr(a,Yr(s)),a.toUint8Array()},ga=e=>{e.written>0&&(e.clientStructs.push({written:e.written,restEncoder:g(e.encoder.restEncoder)}),e.encoder.restEncoder=be(),e.written=0)},W=(e,t,n)=>{e.written>0&&e.currClient!==t.id.client&&ga(e),e.written===0&&(e.currClient=t.id.client,e.encoder.writeClient(t.id.client),v(e.encoder.restEncoder,t.id.clock+n)),t.write(e.encoder,n),e.written++},_a=e=>{ga(e);let t=e.encoder.restEncoder;v(t,e.clientStructs.length);for(let n=0;n<e.clientStructs.length;n++){let r=e.clientStructs[n];v(t,r.written),De(t,r.restEncoder)}},va=(e,t,n,r)=>{let i=new n(w(e)),a=new ua(i,!1),o=new r,s=new da(o);for(let e=a.curr;e!==null;e=a.next())W(s,t(e),0);return _a(s),Jr(o,Yr(i)),o.toUint8Array()},ya=e=>va(e,Ot,ni,ii),ba=`You must not compute changes after the event-handler fired.`,xa=class{constructor(e,t){this.target=e,this.currentTarget=e,this.transaction=t,this._changes=null,this._keys=null,this._delta=null,this._path=null}get path(){return this._path||=Sa(this.currentTarget,this.target)}deletes(e){return Hr(this.transaction.deleteSet,e.id)}get keys(){if(this._keys===null){if(this.transaction.doc._transactionCleanups.length===0)throw x(ba);let e=new Map,t=this.target;this.transaction.changed.get(t).forEach(n=>{if(n!==null){let r=t._map.get(n),i,a;if(this.adds(r)){let e=r.left;for(;e!==null&&this.adds(e);)e=e.left;if(this.deletes(r)){if(e!==null&&this.deletes(e))i=`delete`,a=o(e.content.getContent());else return}else e!==null&&this.deletes(e)?(i=`update`,a=o(e.content.getContent())):(i=`add`,a=void 0)}else if(this.deletes(r))i=`delete`,a=o(r.content.getContent());else return;e.set(n,{action:i,oldValue:a})}}),this._keys=e}return this._keys}get delta(){return this.changes.delta}adds(e){return e.id.clock>=(this.transaction.beforeState.get(e.id.client)||0)}get changes(){let e=this._changes;if(e===null){if(this.transaction.doc._transactionCleanups.length===0)throw x(ba);let t=this.target,n=a(),r=a(),i=[];if(e={added:n,deleted:r,delta:i,keys:this.keys},this.transaction.changed.get(t).has(null)){let e=null,a=()=>{e&&i.push(e)};for(let i=t._start;i!==null;i=i.right)i.deleted?this.deletes(i)&&!this.adds(i)&&((e===null||e.delete===void 0)&&(a(),e={delete:0}),e.delete+=i.length,r.add(i)):this.adds(i)?((e===null||e.insert===void 0)&&(a(),e={insert:[]}),e.insert=e.insert.concat(i.content.getContent()),n.add(i)):((e===null||e.retain===void 0)&&(a(),e={retain:0}),e.retain+=i.length);e!==null&&e.retain===void 0&&a()}this._changes=e}return e}},Sa=(e,t)=>{let n=[];for(;t._item!==null&&t!==e;){if(t._item.parentSub!==null)n.unshift(t._item.parentSub);else{let e=0,r=t._item.parent._start;for(;r!==t._item&&r!==null;)!r.deleted&&r.countable&&(e+=r.length),r=r.right;n.unshift(e)}t=t._item.parent}return n},G=()=>{Nr(`Invalid access: Add Yjs type to a document before reading data.`)},Ca=80,wa=0,Ta=class{constructor(e,t){e.marker=!0,this.p=e,this.index=t,this.timestamp=wa++}},Ea=e=>{e.timestamp=wa++},Da=(e,t,n)=>{e.p.marker=!1,e.p=t,t.marker=!0,e.index=n,e.timestamp=wa++},Oa=(e,t,n)=>{if(e.length>=Ca){let r=e.reduce((e,t)=>e.timestamp<t.timestamp?e:t);return Da(r,t,n),r}{let r=new Ta(t,n);return e.push(r),r}},ka=(e,t)=>{if(e._start===null||t===0||e._searchMarker===null)return null;let n=e._searchMarker.length===0?null:e._searchMarker.reduce((e,n)=>te(t-e.index)<te(t-n.index)?e:n),r=e._start,i=0;for(n!==null&&(r=n.p,i=n.index,Ea(n));r.right!==null&&i<t;){if(!r.deleted&&r.countable){if(t<i+r.length)break;i+=r.length}r=r.right}for(;r.left!==null&&i>t;)r=r.left,!r.deleted&&r.countable&&(i-=r.length);for(;r.left!==null&&r.left.id.client===r.id.client&&r.left.id.clock+r.left.length===r.id.clock;)r=r.left,!r.deleted&&r.countable&&(i-=r.length);return n!==null&&te(n.index-i)<r.parent.length/Ca?(Da(n,r,i),n):Oa(e._searchMarker,r,i)},Aa=(e,t,n)=>{for(let r=e.length-1;r>=0;r--){let i=e[r];if(n>0){let t=i.p;for(t.marker=!1;t&&(t.deleted||!t.countable);)t=t.left,t&&!t.deleted&&t.countable&&(i.index-=t.length);if(t===null||t.marker===!0){e.splice(r,1);continue}i.p=t,t.marker=!0}(t<i.index||n>0&&t===i.index)&&(i.index=h(t,i.index+n))}},ja=(e,t,r)=>{let i=e,a=t.changedParentTypes;for(;n(a,e,()=>[]).push(r),e._item!==null;)e=e._item.parent;Di(i._eH,r,t)},K=class{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=wi(),this._dEH=wi(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(e,t){this.doc=e,this._item=t}_copy(){throw S()}clone(){throw S()}_write(e){}get _first(){let e=this._start;for(;e!==null&&e.deleted;)e=e.right;return e}_callObserver(e,t){!e.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(e){Ti(this._eH,e)}observeDeep(e){Ti(this._dEH,e)}unobserve(e){Ei(this._eH,e)}unobserveDeep(e){Ei(this._dEH,e)}toJSON(){}},Ma=(e,t,n)=>{e.doc??G(),t<0&&(t=e._length+t),n<0&&(n=e._length+n);let r=n-t,i=[],a=e._start;for(;a!==null&&r>0;){if(a.countable&&!a.deleted){let e=a.content.getContent();if(e.length<=t)t-=e.length;else{for(let n=t;n<e.length&&r>0;n++)i.push(e[n]),r--;t=0}}a=a.right}return i},Na=e=>{e.doc??G();let t=[],n=e._start;for(;n!==null;){if(n.countable&&!n.deleted){let e=n.content.getContent();for(let n=0;n<e.length;n++)t.push(e[n])}n=n.right}return t},Pa=(e,t)=>{let n=0,r=e._start;for(e.doc??G();r!==null;){if(r.countable&&!r.deleted){let i=r.content.getContent();for(let r=0;r<i.length;r++)t(i[r],n++,e)}r=r.right}},Fa=(e,t)=>{let n=[];return Pa(e,(r,i)=>{n.push(t(r,i,e))}),n},Ia=e=>{let t=e._start,n=null,r=0;return{[Symbol.iterator](){return this},next:()=>{if(n===null){for(;t!==null&&t.deleted;)t=t.right;if(t===null)return{done:!0,value:void 0};n=t.content.getContent(),r=0,t=t.right}let e=n[r++];return n.length<=r&&(n=null),{done:!1,value:e}}}},La=(e,t)=>{e.doc??G();let n=ka(e,t),r=e._start;for(n!==null&&(r=n.p,t-=n.index);r!==null;r=r.right)if(!r.deleted&&r.countable){if(t<r.length)return r.content.getContent()[t];t-=r.length}},Ra=(e,t,n,r)=>{let i=n,a=e.doc,o=a.clientID,s=a.store,c=n===null?t._start:n.right,l=[],u=()=>{l.length>0&&(i=new Q(R(o,B(s,o)),i,i&&i.lastId,c,c&&c.id,t,null,new Go(l)),i.integrate(e,0),l=[])};r.forEach(n=>{if(n===null)l.push(n);else switch(n.constructor){case Number:case Object:case Boolean:case Array:case String:l.push(n);break;default:switch(u(),n.constructor){case Uint8Array:case ArrayBuffer:i=new Q(R(o,B(s,o)),i,i&&i.lastId,c,c&&c.id,t,null,new Mo(new Uint8Array(n))),i.integrate(e,0);break;case Qr:i=new Q(R(o,B(s,o)),i,i&&i.lastId,c,c&&c.id,t,null,new Lo(n)),i.integrate(e,0);break;default:if(n instanceof K)i=new Q(R(o,B(s,o)),i,i&&i.lastId,c,c&&c.id,t,null,new Z(n)),i.integrate(e,0);else throw Error(`Unexpected content type in insert operation`)}}}),u()},za=()=>x(`Length exceeded!`),Ba=(e,t,n,r)=>{if(n>t._length)throw za();if(n===0)return t._searchMarker&&Aa(t._searchMarker,n,r.length),Ra(e,t,null,r);let i=n,a=ka(t,n),o=t._start;for(a!==null&&(o=a.p,n-=a.index,n===0&&(o=o.prev,n+=o&&o.countable&&!o.deleted?o.length:0));o!==null;o=o.right)if(!o.deleted&&o.countable){if(n<=o.length){n<o.length&&H(e,R(o.id.client,o.id.clock+n));break}n-=o.length}return t._searchMarker&&Aa(t._searchMarker,i,r.length),Ra(e,t,o,r)},Va=(e,t,n)=>{let r=(t._searchMarker||[]).reduce((e,t)=>t.index>e.index?t:e,{index:0,p:t._start}).p;if(r)for(;r.right;)r=r.right;return Ra(e,t,r,n)},Ha=(e,t,n,r)=>{if(r===0)return;let i=n,a=r,o=ka(t,n),s=t._start;for(o!==null&&(s=o.p,n-=o.index);s!==null&&n>0;s=s.right)!s.deleted&&s.countable&&(n<s.length&&H(e,R(s.id.client,s.id.clock+n)),n-=s.length);for(;r>0&&s!==null;)s.deleted||(r<s.length&&H(e,R(s.id.client,s.id.clock+r)),s.delete(e),r-=s.length),s=s.right;if(r>0)throw za();t._searchMarker&&Aa(t._searchMarker,i,-a+r)},Ua=(e,t,n)=>{let r=t._map.get(n);r!==void 0&&r.delete(e)},Wa=(e,t,n,r)=>{let i=t._map.get(n)||null,a=e.doc,o=a.clientID,s;if(r==null)s=new Go([r]);else switch(r.constructor){case Number:case Object:case Boolean:case Array:case String:case Date:case BigInt:s=new Go([r]);break;case Uint8Array:s=new Mo(r);break;case Qr:s=new Lo(r);break;default:if(r instanceof K)s=new Z(r);else throw Error(`Unexpected content type`)}new Q(R(o,B(a.store,o)),i,i&&i.lastId,null,null,t,n,s).integrate(e,0)},Ga=(e,t)=>{e.doc??G();let n=e._map.get(t);return n!==void 0&&!n.deleted?n.content.getContent()[n.length-1]:void 0},Ka=e=>{let t={};return e.doc??G(),e._map.forEach((e,n)=>{e.deleted||(t[n]=e.content.getContent()[e.length-1])}),t},qa=(e,t)=>{e.doc??G();let n=e._map.get(t);return n!==void 0&&!n.deleted},Ja=(e,t)=>{let n={};return e._map.forEach((e,r)=>{let i=e;for(;i!==null&&(!t.sv.has(i.id.client)||i.id.clock>=(t.sv.get(i.id.client)||0));)i=i.left;i!==null&&z(i,t)&&(n[r]=i.content.getContent()[i.length-1])}),n},Ya=e=>(e.doc??G(),Ir(e._map.entries(),e=>!e[1].deleted)),Xa=class extends xa{},Za=class e extends K{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(t){let n=new e;return n.push(t),n}_integrate(e,t){super._integrate(e,t),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new e}clone(){let t=new e;return t.insert(0,this.toArray().map(e=>e instanceof K?e.clone():e)),t}get length(){return this.doc??G(),this._length}_callObserver(e,t){super._callObserver(e,t),ja(this,e,new Xa(this,e))}insert(e,t){this.doc===null?this._prelimContent.splice(e,0,...t):U(this.doc,n=>{Ba(n,this,e,t)})}push(e){this.doc===null?this._prelimContent.push(...e):U(this.doc,t=>{Va(t,this,e)})}unshift(e){this.insert(0,e)}delete(e,t=1){this.doc===null?this._prelimContent.splice(e,t):U(this.doc,n=>{Ha(n,this,e,t)})}get(e){return La(this,e)}toArray(){return Na(this)}slice(e=0,t=this.length){return Ma(this,e,t)}toJSON(){return this.map(e=>e instanceof K?e.toJSON():e)}map(e){return Fa(this,e)}forEach(e){Pa(this,e)}[Symbol.iterator](){return Ia(this)}_write(e){e.writeTypeRef(Yo)}},Qa=e=>new Za,$a=class extends xa{constructor(e,t,n){super(e,t),this.keysChanged=n}},eo=class e extends K{constructor(e){super(),this._prelimContent=null,this._prelimContent=e===void 0?new Map:new Map(e)}_integrate(e,t){super._integrate(e,t),this._prelimContent.forEach((e,t)=>{this.set(t,e)}),this._prelimContent=null}_copy(){return new e}clone(){let t=new e;return this.forEach((e,n)=>{t.set(n,e instanceof K?e.clone():e)}),t}_callObserver(e,t){ja(this,e,new $a(this,e,t))}toJSON(){this.doc??G();let e={};return this._map.forEach((t,n)=>{if(!t.deleted){let r=t.content.getContent()[t.length-1];e[n]=r instanceof K?r.toJSON():r}}),e}get size(){return[...Ya(this)].length}keys(){return Lr(Ya(this),e=>e[0])}values(){return Lr(Ya(this),e=>e[1].content.getContent()[e[1].length-1])}entries(){return Lr(Ya(this),e=>[e[0],e[1].content.getContent()[e[1].length-1]])}forEach(e){this.doc??G(),this._map.forEach((t,n)=>{t.deleted||e(t.content.getContent()[t.length-1],n,this)})}[Symbol.iterator](){return this.entries()}delete(e){this.doc===null?this._prelimContent.delete(e):U(this.doc,t=>{Ua(t,this,e)})}set(e,t){return this.doc===null?this._prelimContent.set(e,t):U(this.doc,n=>{Wa(n,this,e,t)}),t}get(e){return Ga(this,e)}has(e){return qa(this,e)}clear(){this.doc===null?this._prelimContent.clear():U(this.doc,e=>{this.forEach(function(t,n,r){Ua(e,r,n)})})}_write(e){e.writeTypeRef(Xo)}},to=e=>new eo,q=(e,t)=>e===t||typeof e==`object`&&typeof t==`object`&&e&&t&&wt(e,t),no=class{constructor(e,t,n,r){this.left=e,this.right=t,this.index=n,this.currentAttributes=r}forward(){switch(this.right===null&&C(),this.right.content.constructor){case Y:this.right.deleted||oo(this.currentAttributes,this.right.content);break;default:this.right.deleted||(this.index+=this.right.length)}this.left=this.right,this.right=this.right.right}},ro=(e,t,n)=>{for(;t.right!==null&&n>0;){switch(t.right.content.constructor){case Y:t.right.deleted||oo(t.currentAttributes,t.right.content);break;default:t.right.deleted||(n<t.right.length&&H(e,R(t.right.id.client,t.right.id.clock+n)),t.index+=t.right.length,n-=t.right.length)}t.left=t.right,t.right=t.right.right}return t},io=(e,t,n,r)=>{let i=new Map,a=r?ka(t,n):null;return a?ro(e,new no(a.p.left,a.p,a.index,i),n-a.index):ro(e,new no(null,t._start,0,i),n)},ao=(e,t,n,r)=>{for(;n.right!==null&&(n.right.deleted===!0||n.right.content.constructor===Y&&q(r.get(n.right.content.key),n.right.content.value));)n.right.deleted||r.delete(n.right.content.key),n.forward();let i=e.doc,a=i.clientID;r.forEach((r,o)=>{let s=n.left,c=n.right,l=new Q(R(a,B(i.store,a)),s,s&&s.lastId,c,c&&c.id,t,null,new Y(o,r));l.integrate(e,0),n.right=l,n.forward()})},oo=(e,t)=>{let{key:n,value:r}=t;r===null?e.delete(n):e.set(n,r)},so=(e,t)=>{for(;e.right!==null&&(e.right.deleted||e.right.content.constructor===Y&&q(t[e.right.content.key]??null,e.right.content.value));)e.forward()},co=(e,t,n,r)=>{let i=e.doc,a=i.clientID,o=new Map;for(let s in r){let c=r[s],l=n.currentAttributes.get(s)??null;if(!q(l,c)){o.set(s,l);let{left:r,right:u}=n;n.right=new Q(R(a,B(i.store,a)),r,r&&r.lastId,u,u&&u.id,t,null,new Y(s,c)),n.right.integrate(e,0),n.forward()}}return o},lo=(e,t,n,r,i)=>{n.currentAttributes.forEach((e,t)=>{i[t]===void 0&&(i[t]=null)});let a=e.doc,o=a.clientID;so(n,i);let s=co(e,t,n,i),c=r.constructor===String?new X(r):r instanceof K?new Z(r):new zo(r),{left:l,right:u,index:d}=n;t._searchMarker&&Aa(t._searchMarker,n.index,c.getLength()),u=new Q(R(o,B(a.store,o)),l,l&&l.lastId,u,u&&u.id,t,null,c),u.integrate(e,0),n.right=u,n.index=d,n.forward(),ao(e,t,n,s)},uo=(e,t,n,r,i)=>{let a=e.doc,o=a.clientID;so(n,i);let s=co(e,t,n,i);iterationLoop:for(;n.right!==null&&(r>0||s.size>0&&(n.right.deleted||n.right.content.constructor===Y));){if(!n.right.deleted)switch(n.right.content.constructor){case Y:{let{key:t,value:a}=n.right.content,o=i[t];if(o!==void 0){if(q(o,a))s.delete(t);else{if(r===0)break iterationLoop;s.set(t,a)}n.right.delete(e)}else n.currentAttributes.set(t,a);break}default:r<n.right.length&&H(e,R(n.right.id.client,n.right.id.clock+r)),r-=n.right.length}n.forward()}if(r>0){let i=``;for(;r>0;r--)i+=`
|
|
3
|
+
`;n.right=new Q(R(o,B(a.store,o)),n.left,n.left&&n.left.lastId,n.right,n.right&&n.right.id,t,null,new X(i)),n.right.integrate(e,0),n.forward()}ao(e,t,n,s)},fo=(t,n,r,i,a)=>{let o=n,s=e();for(;o&&(!o.countable||o.deleted);){if(!o.deleted&&o.content.constructor===Y){let e=o.content;s.set(e.key,e)}o=o.right}let c=0,l=!1;for(;n!==o;){if(r===n&&(l=!0),!n.deleted){let e=n.content;switch(e.constructor){case Y:{let{key:r,value:o}=e,u=i.get(r)??null;(s.get(r)!==e||u===o)&&(n.delete(t),c++,!l&&(a.get(r)??null)===o&&u!==o&&(u===null?a.delete(r):a.set(r,u))),!l&&!n.deleted&&oo(a,e);break}}}n=n.right}return c},po=(e,t)=>{for(;t&&t.right&&(t.right.deleted||!t.right.countable);)t=t.right;let n=new Set;for(;t&&(t.deleted||!t.countable);){if(!t.deleted&&t.content.constructor===Y){let r=t.content.key;n.has(r)?t.delete(e):n.add(r)}t=t.left}},mo=n=>{let r=0;return U(n.doc,i=>{let a=n._start,o=n._start,s=e(),c=t(s);for(;o;){if(o.deleted===!1)switch(o.content.constructor){case Y:oo(c,o.content);break;default:r+=fo(i,a,o,s,c),s=t(c),a=o}o=o.right}}),r},ho=e=>{let t=new Set,n=e.doc;for(let[r,i]of e.afterState.entries()){let a=e.beforeState.get(r)||0;i!==a&&Zi(e,n.store.clients.get(r),a,i,e=>{!e.deleted&&e.content.constructor===Y&&e.constructor!==J&&t.add(e.parent)})}U(n,n=>{Br(e,e.deleteSet,e=>{if(e instanceof J||!e.parent._hasFormatting||t.has(e.parent))return;let r=e.parent;e.content.constructor===Y?t.add(r):po(n,e)});for(let e of t)mo(e)})},go=(e,n,r)=>{let i=r,a=t(n.currentAttributes),o=n.right;for(;r>0&&n.right!==null;){if(n.right.deleted===!1)switch(n.right.content.constructor){case Z:case zo:case X:r<n.right.length&&H(e,R(n.right.id.client,n.right.id.clock+r)),r-=n.right.length,n.right.delete(e)}n.forward()}o&&fo(e,o,n.right,a,n.currentAttributes);let s=(n.left||n.right).parent;return s._searchMarker&&Aa(s._searchMarker,n.index,-i+r),n},_o=class extends xa{constructor(e,t,n){super(e,t),this.childListChanged=!1,this.keysChanged=new Set,n.forEach(e=>{e===null?this.childListChanged=!0:this.keysChanged.add(e)})}get changes(){if(this._changes===null){let e={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=e}return this._changes}get delta(){if(this._delta===null){let e=this.target.doc,t=[];U(e,e=>{let n=new Map,r=new Map,i=this.target._start,a=null,o={},s=``,c=0,l=0,u=()=>{if(a!==null){let e=null;switch(a){case`delete`:l>0&&(e={delete:l}),l=0;break;case`insert`:(typeof s==`object`||s.length>0)&&(e={insert:s},n.size>0&&(e.attributes={},n.forEach((t,n)=>{t!==null&&(e.attributes[n]=t)}))),s=``;break;case`retain`:c>0&&(e={retain:c},xt(o)||(e.attributes=gt({},o))),c=0}e&&t.push(e),a=null}};for(;i!==null;){switch(i.content.constructor){case Z:case zo:this.adds(i)?this.deletes(i)||(u(),a=`insert`,s=i.content.getContent()[0],u()):this.deletes(i)?(a!==`delete`&&(u(),a=`delete`),l+=1):i.deleted||(a!==`retain`&&(u(),a=`retain`),c+=1);break;case X:this.adds(i)?this.deletes(i)||(a!==`insert`&&(u(),a=`insert`),s+=i.content.str):this.deletes(i)?(a!==`delete`&&(u(),a=`delete`),l+=i.length):i.deleted||(a!==`retain`&&(u(),a=`retain`),c+=i.length);break;case Y:{let{key:t,value:s}=i.content;if(this.adds(i))this.deletes(i)||(q(n.get(t)??null,s)?s!==null&&i.delete(e):(a===`retain`&&u(),q(s,r.get(t)??null)?delete o[t]:o[t]=s));else if(this.deletes(i)){r.set(t,s);let e=n.get(t)??null;q(e,s)||(a===`retain`&&u(),o[t]=e)}else if(!i.deleted){r.set(t,s);let n=o[t];n!==void 0&&(q(n,s)?n!==null&&i.delete(e):(a===`retain`&&u(),s===null?delete o[t]:o[t]=s))}i.deleted||(a===`insert`&&u(),oo(n,i.content));break}}i=i.right}for(u();t.length>0;){let e=t[t.length-1];if(e.retain!==void 0&&e.attributes===void 0)t.pop();else break}}),this._delta=t}return this._delta}},vo=class e extends K{constructor(e){super(),this._pending=e===void 0?[]:[()=>this.insert(0,e)],this._searchMarker=[],this._hasFormatting=!1}get length(){return this.doc??G(),this._length}_integrate(e,t){super._integrate(e,t);try{this._pending.forEach(e=>e())}catch(e){console.error(e)}this._pending=null}_copy(){return new e}clone(){let t=new e;return t.applyDelta(this.toDelta()),t}_callObserver(e,t){super._callObserver(e,t);let n=new _o(this,e,t);ja(this,e,n),!e.local&&this._hasFormatting&&(e._needFormattingCleanup=!0)}toString(){this.doc??G();let e=``,t=this._start;for(;t!==null;)!t.deleted&&t.countable&&t.content.constructor===X&&(e+=t.content.str),t=t.right;return e}toJSON(){return this.toString()}applyDelta(e,{sanitize:t=!0}={}){this.doc===null?this._pending.push(()=>this.applyDelta(e)):U(this.doc,n=>{let r=new no(null,this._start,0,new Map);for(let i=0;i<e.length;i++){let a=e[i];if(a.insert!==void 0){let o=!t&&typeof a.insert==`string`&&i===e.length-1&&r.right===null&&a.insert.slice(-1)===`
|
|
4
|
+
`?a.insert.slice(0,-1):a.insert;(typeof o!=`string`||o.length>0)&&lo(n,this,r,o,a.attributes||{})}else a.retain===void 0?a.delete!==void 0&&go(n,r,a.delete):uo(n,this,r,a.retain,a.attributes||{})}})}toDelta(e,t,n){this.doc??G();let r=[],i=new Map,a=this.doc,o=``,s=this._start;function c(){if(o.length>0){let e={},t=!1;i.forEach((n,r)=>{t=!0,e[r]=n});let n={insert:o};t&&(n.attributes=e),r.push(n),o=``}}let l=()=>{for(;s!==null;){if(z(s,e)||t!==void 0&&z(s,t))switch(s.content.constructor){case X:{let r=i.get(`ychange`);e!==void 0&&!z(s,e)?(r===void 0||r.user!==s.id.client||r.type!==`removed`)&&(c(),i.set(`ychange`,n?n(`removed`,s.id):{type:`removed`})):t!==void 0&&!z(s,t)?(r===void 0||r.user!==s.id.client||r.type!==`added`)&&(c(),i.set(`ychange`,n?n(`added`,s.id):{type:`added`})):r!==void 0&&(c(),i.delete(`ychange`)),o+=s.content.str;break}case Z:case zo:{c();let e={insert:s.content.getContent()[0]};if(i.size>0){let t={};e.attributes=t,i.forEach((e,n)=>{t[n]=e})}r.push(e);break}case Y:z(s,e)&&(c(),oo(i,s.content))}s=s.right}c()};return e||t?U(a,n=>{e&&Ui(n,e),t&&Ui(n,t),l()},`cleanup`):l(),r}insert(e,t,n){if(t.length<=0)return;let r=this.doc;r===null?this._pending.push(()=>this.insert(e,t,n)):U(r,r=>{let i=io(r,this,e,!n);n||(n={},i.currentAttributes.forEach((e,t)=>{n[t]=e})),lo(r,this,i,t,n)})}insertEmbed(e,t,n){let r=this.doc;r===null?this._pending.push(()=>this.insertEmbed(e,t,n||{})):U(r,r=>{let i=io(r,this,e,!n);lo(r,this,i,t,n||{})})}delete(e,t){if(t===0)return;let n=this.doc;n===null?this._pending.push(()=>this.delete(e,t)):U(n,n=>{go(n,io(n,this,e,!0),t)})}format(e,t,n){if(t===0)return;let r=this.doc;r===null?this._pending.push(()=>this.format(e,t,n)):U(r,r=>{let i=io(r,this,e,!1);i.right!==null&&uo(r,this,i,t,n)})}removeAttribute(e){this.doc===null?this._pending.push(()=>this.removeAttribute(e)):U(this.doc,t=>{Ua(t,this,e)})}setAttribute(e,t){this.doc===null?this._pending.push(()=>this.setAttribute(e,t)):U(this.doc,n=>{Wa(n,this,e,t)})}getAttribute(e){return Ga(this,e)}getAttributes(){return Ka(this)}_write(e){e.writeTypeRef(Zo)}},yo=e=>new vo,bo=class{constructor(e,t=()=>!0){this._filter=t,this._root=e,this._currentNode=e._start,this._firstCall=!0,e.doc??G()}[Symbol.iterator](){return this}next(){let e=this._currentNode,t=e&&e.content&&e.content.type;if(e!==null&&(!this._firstCall||e.deleted||!this._filter(t)))do if(t=e.content.type,!e.deleted&&(t.constructor===Co||t.constructor===xo)&&t._start!==null)e=t._start;else for(;e!==null;){let t=e.next;if(t!==null){e=t;break}e=e.parent===this._root?null:e.parent._item}while(e!==null&&(e.deleted||!this._filter(e.content.type)));return this._firstCall=!1,e===null?{value:void 0,done:!0}:(this._currentNode=e,{value:e.content.type,done:!1})}},xo=class e extends K{constructor(){super(),this._prelimContent=[]}get firstChild(){let e=this._first;return e?e.content.getContent()[0]:null}_integrate(e,t){super._integrate(e,t),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new e}clone(){let t=new e;return t.insert(0,this.toArray().map(e=>e instanceof K?e.clone():e)),t}get length(){return this.doc??G(),this._prelimContent===null?this._length:this._prelimContent.length}createTreeWalker(e){return new bo(this,e)}querySelector(e){e=e.toUpperCase();let t=new bo(this,t=>t.nodeName&&t.nodeName.toUpperCase()===e).next();return t.done?null:t.value}querySelectorAll(e){return e=e.toUpperCase(),c(new bo(this,t=>t.nodeName&&t.nodeName.toUpperCase()===e))}_callObserver(e,t){ja(this,e,new To(this,t,e))}toString(){return Fa(this,e=>e.toString()).join(``)}toJSON(){return this.toString()}toDOM(e=document,t={},n){let r=e.createDocumentFragment();return n!==void 0&&n._createAssociation(r,this),Pa(this,i=>{r.insertBefore(i.toDOM(e,t,n),null)}),r}insert(e,t){this.doc===null?this._prelimContent.splice(e,0,...t):U(this.doc,n=>{Ba(n,this,e,t)})}insertAfter(e,t){if(this.doc!==null)U(this.doc,n=>{let r=e&&e instanceof K?e._item:e;Ra(n,this,r,t)});else{let n=this._prelimContent,r=e===null?0:n.findIndex(t=>t===e)+1;if(r===0&&e!==null)throw x(`Reference item not found`);n.splice(r,0,...t)}}delete(e,t=1){this.doc===null?this._prelimContent.splice(e,t):U(this.doc,n=>{Ha(n,this,e,t)})}toArray(){return Na(this)}push(e){this.insert(this.length,e)}unshift(e){this.insert(0,e)}get(e){return La(this,e)}slice(e=0,t=this.length){return Ma(this,e,t)}forEach(e){Pa(this,e)}_write(e){e.writeTypeRef($o)}},So=e=>new xo,Co=class e extends xo{constructor(e=`UNDEFINED`){super(),this.nodeName=e,this._prelimAttrs=new Map}get nextSibling(){let e=this._item?this._item.next:null;return e?e.content.type:null}get prevSibling(){let e=this._item?this._item.prev:null;return e?e.content.type:null}_integrate(e,t){super._integrate(e,t),this._prelimAttrs.forEach((e,t)=>{this.setAttribute(t,e)}),this._prelimAttrs=null}_copy(){return new e(this.nodeName)}clone(){let t=new e(this.nodeName);return vt(this.getAttributes(),(e,n)=>{t.setAttribute(n,e)}),t.insert(0,this.toArray().map(e=>e instanceof K?e.clone():e)),t}toString(){let e=this.getAttributes(),t=[],n=[];for(let t in e)n.push(t);n.sort();let r=n.length;for(let i=0;i<r;i++){let r=n[i];t.push(r+`="`+e[r]+`"`)}let i=this.nodeName.toLocaleLowerCase();return`<${i}${t.length>0?` `+t.join(` `):``}>${super.toString()}</${i}>`}removeAttribute(e){this.doc===null?this._prelimAttrs.delete(e):U(this.doc,t=>{Ua(t,this,e)})}setAttribute(e,t){this.doc===null?this._prelimAttrs.set(e,t):U(this.doc,n=>{Wa(n,this,e,t)})}getAttribute(e){return Ga(this,e)}hasAttribute(e){return qa(this,e)}getAttributes(e){return e?Ja(this,e):Ka(this)}toDOM(e=document,t={},n){let r=e.createElement(this.nodeName),i=this.getAttributes();for(let e in i){let t=i[e];typeof t==`string`&&r.setAttribute(e,t)}return Pa(this,i=>{r.appendChild(i.toDOM(e,t,n))}),n!==void 0&&n._createAssociation(r,this),r}_write(e){e.writeTypeRef(Qo),e.writeKey(this.nodeName)}},wo=e=>new Co(e.readKey()),To=class extends xa{constructor(e,t,n){super(e,n),this.childListChanged=!1,this.attributesChanged=new Set,t.forEach(e=>{e===null?this.childListChanged=!0:this.attributesChanged.add(e)})}},Eo=class e extends eo{constructor(e){super(),this.hookName=e}_copy(){return new e(this.hookName)}clone(){let t=new e(this.hookName);return this.forEach((e,n)=>{t.set(n,e)}),t}toDOM(e=document,t={},n){let r=t[this.hookName],i;return i=r===void 0?document.createElement(this.hookName):r.createDom(this),i.setAttribute(`data-yjs-hook`,this.hookName),n!==void 0&&n._createAssociation(i,this),i}_write(e){e.writeTypeRef(es),e.writeKey(this.hookName)}},Do=e=>new Eo(e.readKey()),Oo=class e extends vo{get nextSibling(){let e=this._item?this._item.next:null;return e?e.content.type:null}get prevSibling(){let e=this._item?this._item.prev:null;return e?e.content.type:null}_copy(){return new e}clone(){let t=new e;return t.applyDelta(this.toDelta()),t}toDOM(e=document,t,n){let r=e.createTextNode(this.toString());return n!==void 0&&n._createAssociation(r,this),r}toString(){return this.toDelta().map(e=>{let t=[];for(let n in e.attributes){let r=[];for(let t in e.attributes[n])r.push({key:t,value:e.attributes[n][t]});r.sort((e,t)=>e.key<t.key?-1:1),t.push({nodeName:n,attrs:r})}t.sort((e,t)=>e.nodeName<t.nodeName?-1:1);let n=``;for(let e=0;e<t.length;e++){let r=t[e];n+=`<${r.nodeName}`;for(let e=0;e<r.attrs.length;e++){let t=r.attrs[e];n+=` ${t.key}="${t.value}"`}n+=`>`}n+=e.insert;for(let e=t.length-1;e>=0;e--)n+=`</${t[e].nodeName}>`;return n}).join(``)}toJSON(){return this.toString()}_write(e){e.writeTypeRef(ts)}},ko=e=>new Oo,Ao=class{constructor(e,t){this.id=e,this.length=t}get deleted(){throw S()}mergeWith(e){return!1}write(e,t,n){throw S()}integrate(e,t){throw S()}},jo=0,J=class extends Ao{get deleted(){return!0}delete(){}mergeWith(e){return this.constructor===e.constructor&&(this.length+=e.length,!0)}integrate(e,t){t>0&&(this.id.clock+=t,this.length-=t),Ki(e.doc.store,this)}write(e,t){e.writeInfo(jo),e.writeLen(this.length-t)}getMissing(e,t){return null}},Mo=class e{constructor(e){this.content=e}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new e(this.content)}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){}delete(e){}gc(e){}write(e,t){e.writeBuf(this.content)}getRef(){return 3}},No=e=>new Mo(e.readBuf()),Po=class e{constructor(e){this.len=e}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new e(this.len)}splice(t){let n=new e(this.len-t);return this.len=t,n}mergeWith(e){return this.len+=e.len,!0}integrate(e,t){Gr(e.deleteSet,t.id.client,t.id.clock,this.len),t.markDeleted()}delete(e){}gc(e){}write(e,t){e.writeLen(this.len-t)}getRef(){return 1}},Fo=e=>new Po(e.readLen()),Io=(e,t)=>new Qr({guid:e,...t,shouldLoad:t.shouldLoad||t.autoLoad||!1}),Lo=class e{constructor(e){e._item&&console.error(`This document was already integrated as a sub-document. You should create a second instance instead with the same guid.`),this.doc=e;let t={};this.opts=t,e.gc||(t.gc=!1),e.autoLoad&&(t.autoLoad=!0),e.meta!==null&&(t.meta=e.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new e(Io(this.doc.guid,this.opts))}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){this.doc._item=t,e.subdocsAdded.add(this.doc),this.doc.shouldLoad&&e.subdocsLoaded.add(this.doc)}delete(e){e.subdocsAdded.has(this.doc)?e.subdocsAdded.delete(this.doc):e.subdocsRemoved.add(this.doc)}gc(e){}write(e,t){e.writeString(this.doc.guid),e.writeAny(this.opts)}getRef(){return 9}},Ro=e=>new Lo(Io(e.readString(),e.readAny())),zo=class e{constructor(e){this.embed=e}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new e(this.embed)}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){}delete(e){}gc(e){}write(e,t){e.writeJSON(this.embed)}getRef(){return 5}},Bo=e=>new zo(e.readJSON()),Y=class e{constructor(e,t){this.key=e,this.value=t}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new e(this.key,this.value)}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){let n=t.parent;n._searchMarker=null,n._hasFormatting=!0}delete(e){}gc(e){}write(e,t){e.writeKey(this.key),e.writeJSON(this.value)}getRef(){return 6}},Vo=e=>new Y(e.readKey(),e.readJSON()),Ho=class e{constructor(e){this.arr=e}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new e(this.arr)}splice(t){let n=new e(this.arr.slice(t));return this.arr=this.arr.slice(0,t),n}mergeWith(e){return this.arr=this.arr.concat(e.arr),!0}integrate(e,t){}delete(e){}gc(e){}write(e,t){let n=this.arr.length;e.writeLen(n-t);for(let r=t;r<n;r++){let t=this.arr[r];e.writeString(t===void 0?`undefined`:JSON.stringify(t))}}getRef(){return 2}},Uo=e=>{let t=e.readLen(),n=[];for(let r=0;r<t;r++){let t=e.readString();t===`undefined`?n.push(void 0):n.push(JSON.parse(t))}return new Ho(n)},Wo=Ft(`node_env`)===`development`,Go=class e{constructor(e){this.arr=e,Wo&&Et(e)}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new e(this.arr)}splice(t){let n=new e(this.arr.slice(t));return this.arr=this.arr.slice(0,t),n}mergeWith(e){return this.arr=this.arr.concat(e.arr),!0}integrate(e,t){}delete(e){}gc(e){}write(e,t){let n=this.arr.length;e.writeLen(n-t);for(let r=t;r<n;r++){let t=this.arr[r];e.writeAny(t)}}getRef(){return 8}},Ko=e=>{let t=e.readLen(),n=[];for(let r=0;r<t;r++)n.push(e.readAny());return new Go(n)},X=class e{constructor(e){this.str=e}getLength(){return this.str.length}getContent(){return this.str.split(``)}isCountable(){return!0}copy(){return new e(this.str)}splice(t){let n=new e(this.str.slice(t));this.str=this.str.slice(0,t);let r=this.str.charCodeAt(t-1);return r>=55296&&r<=56319&&(this.str=this.str.slice(0,t-1)+`�`,n.str=`�`+n.str.slice(1)),n}mergeWith(e){return this.str+=e.str,!0}integrate(e,t){}delete(e){}gc(e){}write(e,t){e.writeString(t===0?this.str:this.str.slice(t))}getRef(){return 4}},qo=e=>new X(e.readString()),Jo=[Qa,to,yo,wo,So,Do,ko],Yo=0,Xo=1,Zo=2,Qo=3,$o=4,es=5,ts=6,Z=class e{constructor(e){this.type=e}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new e(this.type._copy())}splice(e){throw S()}mergeWith(e){return!1}integrate(e,t){this.type._integrate(e.doc,t)}delete(e){let t=this.type._start;for(;t!==null;)t.deleted?t.id.clock<(e.beforeState.get(t.id.client)||0)&&e._mergeStructs.push(t):t.delete(e),t=t.right;this.type._map.forEach(t=>{t.deleted?t.id.clock<(e.beforeState.get(t.id.client)||0)&&e._mergeStructs.push(t):t.delete(e)}),e.changed.delete(this.type)}gc(e){let t=this.type._start;for(;t!==null;)t.gc(e,!0),t=t.right;this.type._start=null,this.type._map.forEach(t=>{for(;t!==null;)t.gc(e,!0),t=t.left}),this.type._map=new Map}write(e,t){this.type._write(e)}getRef(){return 7}},ns=e=>new Z(Jo[e.readTypeRef()](e)),rs=(e,t)=>{let n=t,r=0,i;do r>0&&(n=R(n.client,n.clock+r)),i=qi(e,n),r=n.clock-i.id.clock,n=i.redone;while(n!==null&&i instanceof Q);return{item:i,diff:r}},is=(e,t)=>{for(;e!==null&&e.keep!==t;)e.keep=t,e=e.parent._item},as=(e,t,n)=>{let{client:r,clock:i}=t.id,a=new Q(R(r,i+n),t,R(r,i+n-1),t.right,t.rightOrigin,t.parent,t.parentSub,t.content.splice(n));return t.deleted&&a.markDeleted(),t.keep&&(a.keep=!0),t.redone!==null&&(a.redone=R(t.redone.client,t.redone.clock+n)),t.right=a,a.right!==null&&(a.right.left=a),e._mergeStructs.push(a),a.parentSub!==null&&a.right===null&&a.parent._map.set(a.parentSub,a),t.length=n,a},os=(e,t)=>u(e,e=>Hr(e.deletions,t)),ss=(e,t,n,r,i,a)=>{let o=e.doc,s=o.store,c=o.clientID,l=t.redone;if(l!==null)return H(e,l);let u=t.parent._item,d=null,f;if(u!==null&&u.deleted===!0){if(u.redone===null&&(!n.has(u)||ss(e,u,n,r,i,a)===null))return null;for(;u.redone!==null;)u=H(e,u.redone)}let p=u===null?t.parent:u.content.type;if(t.parentSub===null){for(d=t.left,f=t;d!==null;){let t=d;for(;t!==null&&t.parent._item!==u;)t=t.redone===null?null:H(e,t.redone);if(t!==null&&t.parent._item===u){d=t;break}d=d.left}for(;f!==null;){let t=f;for(;t!==null&&t.parent._item!==u;)t=t.redone===null?null:H(e,t.redone);if(t!==null&&t.parent._item===u){f=t;break}f=f.right}}else{if(f=null,t.right&&!i){for(d=t;d!==null&&d.right!==null&&(d.right.redone||Hr(r,d.right.id)||os(a.undoStack,d.right.id)||os(a.redoStack,d.right.id));)for(d=d.right;d.redone;)d=H(e,d.redone);if(d&&d.right!==null)return null}else d=p._map.get(t.parentSub)||null;d!==null&&d.parent._item!==u&&(d=p._map.get(t.parentSub)||null)}let ee=R(c,B(s,c)),m=new Q(ee,d,d&&d.lastId,f,f&&f.id,p,t.parentSub,t.content.copy());return t.redone=ee,is(m,!0),m.integrate(e,0),m},Q=class e extends Ao{constructor(e,t,n,r,i,a,o,s){super(e,s.getLength()),this.origin=n,this.left=t,this.right=r,this.rightOrigin=i,this.parent=a,this.parentSub=o,this.redone=null,this.content=s,this.info=this.content.isCountable()?2:0}set marker(e){(this.info&8)>0!==e&&(this.info^=8)}get marker(){return(this.info&8)>0}get keep(){return(this.info&1)>0}set keep(e){this.keep!==e&&(this.info^=1)}get countable(){return(this.info&2)>0}get deleted(){return(this.info&4)>0}set deleted(e){this.deleted!==e&&(this.info^=4)}markDeleted(){this.info|=4}getMissing(t,n){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=B(n,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=B(n,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===Oi&&this.id.client!==this.parent.client&&this.parent.clock>=B(n,this.parent.client))return this.parent.client;if(this.origin&&=(this.left=Yi(t,n,this.origin),this.left.lastId),this.rightOrigin&&=(this.right=H(t,this.rightOrigin),this.right.id),this.left&&this.left.constructor===J||this.right&&this.right.constructor===J)this.parent=null;else if(!this.parent)this.left&&this.left.constructor===e?(this.parent=this.left.parent,this.parentSub=this.left.parentSub):this.right&&this.right.constructor===e&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);else if(this.parent.constructor===Oi){let e=qi(n,this.parent);this.parent=e.constructor===J?null:e.content.type}return null}integrate(e,t){if(t>0&&(this.id.clock+=t,this.left=Yi(e,e.doc.store,R(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(t),this.length-=t),this.parent){if(!this.left&&(!this.right||this.right.left!==null)||this.left&&this.left.right!==this.right){let t=this.left,n;if(t!==null)n=t.right;else if(this.parentSub!==null)for(n=this.parent._map.get(this.parentSub)||null;n!==null&&n.left!==null;)n=n.left;else n=this.parent._start;let r=new Set,i=new Set;for(;n!==null&&n!==this.right;){if(i.add(n),r.add(n),ki(this.origin,n.origin)){if(n.id.client<this.id.client)t=n,r.clear();else if(ki(this.rightOrigin,n.rightOrigin))break}else if(n.origin!==null&&i.has(qi(e.doc.store,n.origin)))r.has(qi(e.doc.store,n.origin))||(t=n,r.clear());else break;n=n.right}this.left=t}if(this.left!==null){let e=this.left.right;this.right=e,this.left.right=this}else{let e;if(this.parentSub!==null)for(e=this.parent._map.get(this.parentSub)||null;e!==null&&e.left!==null;)e=e.left;else e=this.parent._start,this.parent._start=this;this.right=e}this.right===null?this.parentSub!==null&&(this.parent._map.set(this.parentSub,this),this.left!==null&&this.left.delete(e)):this.right.left=this,this.parentSub===null&&this.countable&&!this.deleted&&(this.parent._length+=this.length),Ki(e.doc.store,this),this.content.integrate(e,this),ea(e,this.parent,this.parentSub),(this.parent._item!==null&&this.parent._item.deleted||this.parentSub!==null&&this.right!==null)&&this.delete(e)}else new J(this.id,this.length).integrate(e,0)}get next(){let e=this.right;for(;e!==null&&e.deleted;)e=e.right;return e}get prev(){let e=this.left;for(;e!==null&&e.deleted;)e=e.left;return e}get lastId(){return this.length===1?this.id:R(this.id.client,this.id.clock+this.length-1)}mergeWith(e){if(this.constructor===e.constructor&&ki(e.origin,this.lastId)&&this.right===e&&ki(this.rightOrigin,e.rightOrigin)&&this.id.client===e.id.client&&this.id.clock+this.length===e.id.clock&&this.deleted===e.deleted&&this.redone===null&&e.redone===null&&this.content.constructor===e.content.constructor&&this.content.mergeWith(e.content)){let t=this.parent._searchMarker;return t&&t.forEach(t=>{t.p===e&&(t.p=this,!this.deleted&&this.countable&&(t.index-=this.length))}),e.keep&&(this.keep=!0),this.right=e.right,this.right!==null&&(this.right.left=this),this.length+=e.length,!0}return!1}delete(e){if(!this.deleted){let t=this.parent;this.countable&&this.parentSub===null&&(t._length-=this.length),this.markDeleted(),Gr(e.deleteSet,this.id.client,this.id.clock,this.length),ea(e,t,this.parentSub),this.content.delete(e)}}gc(e,t){if(!this.deleted)throw C();this.content.gc(e),t?Xi(e,this,new J(this.id,this.length)):this.content=new Po(this.length)}write(e,t){let n=t>0?R(this.id.client,this.id.clock+t-1):this.origin,r=this.rightOrigin,i=this.parentSub,a=this.content.getRef()&31|(n===null?0:128)|(r===null?0:64)|(i===null?0:32);if(e.writeInfo(a),n!==null&&e.writeLeftID(n),r!==null&&e.writeRightID(r),n===null&&r===null){let t=this.parent;if(t._item!==void 0){let n=t._item;if(n===null){let n=Ai(t);e.writeParentInfo(!0),e.writeString(n)}else e.writeParentInfo(!1),e.writeLeftID(n.id)}else t.constructor===String?(e.writeParentInfo(!0),e.writeString(t)):t.constructor===Oi?(e.writeParentInfo(!1),e.writeLeftID(t)):C();i!==null&&e.writeString(i)}this.content.write(e,t)}},cs=(e,t)=>ls[t&31](e),ls=[()=>{C()},Fo,Uo,No,qo,Bo,Vo,ns,Ko,Ro,()=>{C()}],us=10,$=class extends Ao{get deleted(){return!0}delete(){}mergeWith(e){return this.constructor===e.constructor&&(this.length+=e.length,!0)}integrate(e,t){C()}write(e,t){e.writeInfo(us),v(e.restEncoder,this.length-t)}getMissing(e,t){return null}},ds=typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:{},fs=`__ $YJS$ __`;ds[fs]===!0&&console.error(`Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438`),ds[fs]=!0;export{be as A,ee as B,dt as C,D,w as E,b as F,a as H,m as I,h as L,g as M,y as N,E as O,v as P,ne as R,ft as S,at as T,n as U,p as V,qt as _,pi as a,kt as b,Pi as c,Si as d,Ni as f,Vt as g,A as h,eo as i,xe as j,T as k,Ri as l,pr as m,ca as n,Vi as o,fr as p,Za as r,Bi as s,Qr as t,gi as u,Kt as v,ut as w,yt as x,O as y,re as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,B as t,C as n,D as r,E as i,F as a,H as o,I as s,M as c,N as l,O as u,P as d,R as f,S as p,T as m,U as h,V as g,_,a as ee,b as v,d as y,g as b,j as x,k as S,u as te,v as C,w,x as T,y as E,z as D}from"./yjs-B41tM6Sz.js";var O=new Map,k=class{constructor(e){this.room=e,this.onmessage=null,this._onChange=t=>t.key===e&&this.onmessage!==null&&this.onmessage({data:_(t.newValue||``)}),n(this._onChange)}postMessage(e){w.setItem(this.room,C(b(e)))}close(){p(this._onChange)}},A=typeof BroadcastChannel>`u`?k:BroadcastChannel,j=e=>h(O,e,()=>{let t=o(),n=new A(e);return n.onmessage=e=>t.forEach(t=>t(e.data,`broadcastchannel`)),{bc:n,subs:t}}),ne=(e,t)=>(j(e).subs.add(t),t),re=(e,t)=>{let n=j(e),r=n.subs.delete(t);return r&&n.subs.size===0&&(n.bc.close(),O.delete(e)),r},M=(e,t,n=null)=>{let r=j(e);r.bc.postMessage(t),r.subs.forEach(e=>e(t,n))},N=(e,t)=>{d(e,0);let n=y(t);a(e,n)},P=(e,t,n)=>{d(e,1),a(e,te(t,n))},F=(e,t,n)=>P(t,n,S(e)),I=(e,t,n,r)=>{try{ee(t,S(e),n)}catch(e){r?.(e),console.error(`Caught error while handling a Yjs update`,e)}},L=(e,t)=>{d(e,2),a(e,t)},R=I,z=(e,t,n,r,i)=>{let a=u(e);switch(a){case 0:F(e,t,n);break;case 1:I(e,n,r,i);break;case 2:R(e,n,r,i);break;default:throw Error(`Unknown message type`)}return a},B=(e,t,n)=>{u(e)===0&&n(t,r(e))},V=3e4,H=class extends t{constructor(e){super(),this.doc=e,this.clientID=e.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval(()=>{let e=m();this.getLocalState()!==null&&15e3<=e-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());let t=[];this.meta.forEach((n,r)=>{r!==this.clientID&&3e4<=e-n.lastUpdated&&this.states.has(r)&&t.push(r)}),t.length>0&&U(this,t,`timeout`)},s(V/10)),e.on(`destroy`,()=>{this.destroy()}),this.setLocalState({})}destroy(){this.emit(`destroy`,[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(e){let t=this.clientID,n=this.meta.get(t),r=n===void 0?0:n.clock+1,i=this.states.get(t);e===null?this.states.delete(t):this.states.set(t,e),this.meta.set(t,{clock:r,lastUpdated:m()});let a=[],o=[],s=[],c=[];e===null?c.push(t):i==null?e!=null&&a.push(t):(o.push(t),v(i,e)||s.push(t)),(a.length>0||s.length>0||c.length>0)&&this.emit(`change`,[{added:a,updated:s,removed:c},`local`]),this.emit(`update`,[{added:a,updated:o,removed:c},`local`])}setLocalStateField(e,t){let n=this.getLocalState();n!==null&&this.setLocalState({...n,[e]:t})}getStates(){return this.states}},U=(e,t,n)=>{let r=[];for(let n=0;n<t.length;n++){let i=t[n];if(e.states.has(i)){if(e.states.delete(i),i===e.clientID){let t=e.meta.get(i);e.meta.set(i,{clock:t.clock+1,lastUpdated:m()})}r.push(i)}}r.length>0&&(e.emit(`change`,[{added:[],updated:[],removed:r},n]),e.emit(`update`,[{added:[],updated:[],removed:r},n]))},W=(t,n,r=t.states)=>{let i=n.length,a=e();d(a,i);for(let e=0;e<i;e++){let i=n[e],o=r.get(i)||null,s=t.meta.get(i).clock;d(a,i),d(a,s),l(a,JSON.stringify(o))}return c(a)},G=(e,t,n)=>{let a=i(t),o=m(),s=[],c=[],l=[],d=[],f=u(a);for(let t=0;t<f;t++){let t=u(a),n=u(a),i=JSON.parse(r(a)),f=e.meta.get(t),p=e.states.get(t),m=f===void 0?0:f.clock;(m<n||m===n&&i===null&&e.states.has(t))&&(i===null?t===e.clientID&&e.getLocalState()!=null?n++:e.states.delete(t):e.states.set(t,i),e.meta.set(t,{clock:n,lastUpdated:o}),f===void 0&&i!==null?s.push(t):f!==void 0&&i===null?d.push(t):i!==null&&(v(i,p)||l.push(t),c.push(t)))}(s.length>0||l.length>0||d.length>0)&&e.emit(`change`,[{added:s,updated:l,removed:d},n]),(s.length>0||c.length>0||d.length>0)&&e.emit(`update`,[{added:s,updated:c,removed:d},n])},K=e=>T(e,(e,t)=>`${encodeURIComponent(t)}=${encodeURIComponent(e)}`).join(`&`),q=[];q[0]=(e,t,n,r,i)=>{d(e,0);let a=z(t,e,n.doc,n);r&&a===1&&!n.synced&&(n.synced=!0)},q[3]=(e,t,n,r,i)=>{d(e,1),a(e,W(n.awareness,Array.from(n.awareness.getStates().keys())))},q[1]=(e,t,n,r,i)=>{G(n.awareness,S(t),n)},q[2]=(e,t,n,r,i)=>{B(t,n.doc,(e,t)=>Y(n,t))};var J=3e4,Y=(e,t)=>console.warn(`Permission denied to access ${e.url}.\n${t}`),X=(t,n,r)=>{let a=i(n),o=e(),s=u(a),c=t.messageHandlers[s];return c?c(o,a,t,r,s):console.error(`Unable to compute message`),o},ie=e=>!(e.code>=4400&&e.code<4500),Z=(e,t,n)=>{if(t!==null&&t===e.ws){e.emit(`connection-close`,[n,e]),e.ws=null,t.onmessage=null,t.onopen=null,t.onclose=null,t.onerror=()=>{},t.close(),e.wsconnecting=!1,e.wsconnected&&(e.wsconnected=!1,e.synced=!1,U(e.awareness,Array.from(e.awareness.getStates().keys()).filter(t=>t!==e.doc.clientID),e),e.emit(`status`,[{status:`disconnected`}])),e.wsUnsuccessfulReconnects++;let r=null;n!=null&&!e.shouldReconnect(n,e)&&(e.shouldConnect=!1,r={code:n.code,reason:n.reason}),setTimeout(Q,f(D(2,e.wsUnsuccessfulReconnects)*100,e.maxBackoffTime),e),r!==null&&e.emit(`closed`,[r,e])}},Q=t=>{if(t.shouldConnect&&t.ws===null){let n=new t._WS(t.url,t.protocols);n.binaryType=`arraybuffer`,t.ws=n,t.wsconnecting=!0,t.wsconnected=!1,t.synced=!1,n.onmessage=e=>{if(t.ws!==n)return;t.wsLastMessageReceived=m();let r=X(t,new Uint8Array(e.data),!0);x(r)>1&&n.send(c(r))},n.onerror=e=>{t.ws===n&&t.emit(`connection-error`,[e,t])},n.onclose=e=>{Z(t,n,e)},n.onopen=()=>{if(t.ws!==n)return;t.wsLastMessageReceived=m(),t.wsconnecting=!1,t.wsconnected=!0,t.emit(`status`,[{status:`connected`}]);let r=e();if(d(r,0),N(r,t.doc),n.send(c(r)),t.awareness.getLocalState()!==null){let r=e();d(r,1),a(r,W(t.awareness,[t.doc.clientID])),n.send(c(r))}},t.emit(`status`,[{status:`connecting`}])}},$=(e,t)=>{let n=e.ws;e.wsconnected&&n&&n.readyState===n.OPEN&&n.send(t),e.bcconnected&&M(e.bcChannel,t,e)},ae=class extends g{constructor(t,n,r,{connect:i=!0,awareness:o=new H(r),params:s={},protocols:l=[],WebSocketPolyfill:u=WebSocket,resyncInterval:f=-1,maxBackoffTime:p=2500,disableBc:h=!1,shouldReconnect:g=ie}={}){for(super();t[t.length-1]===`/`;)t=t.slice(0,t.length-1);this.serverUrl=t,this.bcChannel=t+`/`+n,this.maxBackoffTime=p,this.shouldReconnect=g,this.params=s,this.protocols=l,this.roomname=n,this.doc=r,this._WS=u,this.awareness=o,this.wsconnected=!1,this.wsconnecting=!1,this.bcconnected=!1,this.disableBc=h,this.wsUnsuccessfulReconnects=0,this.messageHandlers=q.slice(),this._synced=!1,this.ws=null,this.wsLastMessageReceived=0,this.shouldConnect=i,this._resyncInterval=0,f>0&&(this._resyncInterval=setInterval(()=>{if(this.ws&&this.ws.readyState===WebSocket.OPEN){let t=e();d(t,0),N(t,r),this.ws.send(c(t))}},f)),this._bcSubscriber=(e,t)=>{if(t!==this){let t=X(this,new Uint8Array(e),!1);x(t)>1&&M(this.bcChannel,c(t),this)}},this._updateHandler=(t,n)=>{if(n!==this){let n=e();d(n,0),L(n,t),$(this,c(n))}},this.doc.on(`update`,this._updateHandler),this._awarenessUpdateHandler=({added:t,updated:n,removed:r},i)=>{let s=t.concat(n).concat(r),l=e();d(l,1),a(l,W(o,s)),$(this,c(l))},this._exitHandler=()=>{U(this.awareness,[r.clientID],`app closed`)},E&&typeof process<`u`&&process.on(`exit`,this._exitHandler),o.on(`update`,this._awarenessUpdateHandler),this._checkInterval=setInterval(()=>{this.wsconnected&&J<m()-this.wsLastMessageReceived&&Z(this,this.ws,null)},J/10),i&&this.connect()}get url(){let e=K(this.params);return this.serverUrl+`/`+this.roomname+(e.length===0?``:`?`+e)}get synced(){return this._synced}set synced(e){this._synced!==e&&(this._synced=e,e&&(this.wsUnsuccessfulReconnects=0),this.emit(`synced`,[e]),this.emit(`sync`,[e]))}destroy(){this._resyncInterval!==0&&clearInterval(this._resyncInterval),clearInterval(this._checkInterval),this.disconnect(),E&&typeof process<`u`&&process.off(`exit`,this._exitHandler),this.awareness.off(`update`,this._awarenessUpdateHandler),this.doc.off(`update`,this._updateHandler),super.destroy()}connectBc(){if(this.disableBc)return;this.bcconnected||=(ne(this.bcChannel,this._bcSubscriber),!0);let t=e();d(t,0),N(t,this.doc),M(this.bcChannel,c(t),this);let n=e();d(n,0),P(n,this.doc),M(this.bcChannel,c(n),this);let r=e();d(r,3),M(this.bcChannel,c(r),this);let i=e();d(i,1),a(i,W(this.awareness,[this.doc.clientID])),M(this.bcChannel,c(i),this)}disconnectBc(){let t=e();d(t,1),a(t,W(this.awareness,[this.doc.clientID],new Map)),$(this,c(t)),this.bcconnected&&=(re(this.bcChannel,this._bcSubscriber),!1)}disconnect(){this.shouldConnect=!1,this.disconnectBc(),this.ws!==null&&Z(this,this.ws,null)}connect(){this.shouldConnect=!0,!this.wsconnected&&this.ws===null&&(Q(this),this.connectBc())}},oe=new Set([`Room reset`,`Server shutting down`]);function se(e){!e||typeof e.on!=`function`||typeof e.disconnect!=`function`||e.on(`connection-close`,t=>{let n=String(t?.reason||``);oe.has(n)&&e.disconnect()})}export{ae as n,se as t};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import"./chunk-SRAX5OIU-KFQikY-4.js";var e={signUp:``,signIn:``,paste:`粘贴`,pasteAsPlaintext:`粘贴为纯文本`,pasteCharts:`粘贴图表`,chartType_bar:`条形图`,chartType_line:`折线图`,chartType_radar:`雷达图`,chartType_plaintext:`纯文本`,selectAll:`全部选中`,multiSelect:`添加元素到选区`,moveCanvas:`移动画布`,cut:`剪切`,copy:`拷贝`,copyAsPng:`复制为 PNG 到剪贴板`,copyAsSvg:`复制为 SVG 到剪贴板`,copyText:`复制文本到剪贴板`,copySource:`复制源码到剪贴板`,convertToCode:`转换成代码`,bringForward:`上移一层`,sendToBack:`置于底层`,bringToFront:`置于顶层`,sendBackward:`下移一层`,delete:`删除`,copyStyles:`拷贝样式`,pasteStyles:`粘贴样式`,stroke:`描边`,changeStroke:`更改描边颜色`,background:`背景`,changeBackground:`更改背景颜色`,fill:`填充`,strokeWidth:`描边宽度`,strokeStyle:`边框样式`,strokeStyle_solid:`实线`,strokeStyle_dashed:`虚线`,strokeStyle_dotted:`点虚线`,sloppiness:`线条风格`,pressure:``,pressure_constant:``,pressure_variable:``,opacity:`透明度`,textAlign:`文本对齐`,edges:`边角`,sharp:`尖锐`,round:`圆润`,arrowheads:`端点`,arrowhead_none:`无`,arrowhead_arrow:`箭头`,arrowhead_bar:`条状`,arrowhead_circle:`圆点`,arrowhead_circle_outline:`圆点(空心)`,arrowhead_triangle:`三角箭头`,arrowhead_triangle_outline:`三角箭头(空心)`,arrowhead_diamond:`菱形`,arrowhead_diamond_outline:`菱形(空心)`,arrowhead_crowfoot_many:`鸦爪标记(多)`,arrowhead_crowfoot_one:`鸦爪标记(一)`,arrowhead_crowfoot_one_or_many:`鸦爪标记(一或多)`,arrowhead_cardinality_one:`基数(一个)`,arrowhead_cardinality_many:`基数(多个)`,arrowhead_cardinality_one_or_many:`基数(一个或多个)`,arrowhead_cardinality_exactly_one:`基数(仅有一个)`,arrowhead_cardinality_zero_or_one:`基数(零个或一个)`,arrowhead_cardinality_zero_or_many:`基数(零个或多个)`,more_options:`更多选项`,cardinality:`基数`,arrowtypes:`箭头类型`,arrowtype_sharp:`直箭头`,arrowtype_round:`曲线箭头`,arrowtype_elbowed:`拐角箭头`,fontSize:`字体大小`,fontFamily:`字体`,addWatermark:`添加 “使用 Excalidraw 创建” 水印`,handDrawn:`手写`,normal:`普通`,code:`代码`,small:`小`,medium:`中`,large:`大`,veryLarge:`加大`,solid:`实心`,hachure:`线条`,zigzag:`之字形折线`,crossHatch:`交叉线条`,thin:`细`,bold:`粗`,left:`左对齐`,center:`居中`,right:`右对齐`,extraBold:`特粗`,architect:`朴素`,artist:`艺术`,cartoonist:`漫画家`,fileTitle:`文件名`,colorPicker:`取色器`,canvasColors:`画布上的`,canvasBackground:`画布背景`,drawingCanvas:`绘制 Canvas`,clearCanvas:`清除画布`,layers:`图层`,actions:`操作`,language:`语言`,liveCollaboration:`实时协作...`,duplicateSelection:`复制`,untitled:`无标题`,name:`名字`,yourName:`您的姓名`,madeWithExcalidraw:`使用 Excalidraw 创建`,group:`编组`,ungroup:`解除编组`,collaborators:`协作者`,you:``,toggleGrid:`切换网格显示`,addToLibrary:`添加到素材库中`,removeFromLibrary:`从素材库中移除`,libraryLoadingMessage:`正在加载素材库…`,libraries:`浏览素材库`,loadingScene:`正在加载绘图…`,loadScene:`从文件加载绘图`,align:`对齐`,alignTop:`顶部对齐`,alignBottom:`底端对齐`,alignLeft:`左对齐`,alignRight:`右对齐`,centerVertically:`垂直居中`,centerHorizontally:`水平居中`,distributeHorizontally:`水平等距分布`,distributeVertically:`垂直等距分布`,flipHorizontal:`水平翻转`,flipVertical:`垂直翻转`,viewMode:`查看模式`,share:`分享`,showStroke:`显示描边颜色选择器`,showBackground:`显示背景颜色选择器`,showFonts:`显示字体选择器`,toggleTheme:`切换浅色/深色主题`,theme:`主题`,personalLib:`个人素材库`,excalidrawLib:`Excalidraw 素材库`,decreaseFontSize:`缩小字体大小`,increaseFontSize:`放大字体大小`,unbindText:`取消文本绑定`,bindText:`将文本绑定到容器`,createContainerFromText:`将文本包围在容器中`,link:{edit:`编辑链接`,editEmbed:`编辑嵌入链接`,create:`添加链接`,label:`链接`,labelEmbed:`链接与嵌入`,empty:`未设定链接`,hint:`在此处输入或粘贴您的链接`,goToElement:`前往目标元素`},lineEditor:{edit:`编辑线条`,editArrow:`编辑箭头`},polygon:{breakPolygon:`解除多边形`,convertToPolygon:`转换为多边形`},elementLock:{lock:`锁定`,unlock:`解除锁定`,lockAll:`全部锁定`,unlockAll:`全部解锁`},statusPublished:`已发布`,sidebarLock:`侧边栏常驻`,selectAllElementsInFrame:`选择画框中的所有元素`,removeAllElementsFromFrame:`分离出画框中的所有元素`,eyeDropper:`从画布上取色`,textToDiagram:`文字至图表`,prompt:`Prompt`,followUs:`关注我们`,discordChat:`Discord 群组`,zoomToFitViewport:`缩放以适应视图`,zoomToFitSelection:`缩放以适应选区`,zoomToFit:`缩放以适应所有元素`,installPWA:`在本地安装 Excalidraw (PWA)`,autoResize:`启用文本自动缩放`,imageCropping:`图片裁剪`,unCroppedDimension:`未裁剪的尺寸`,copyElementLink:`复制此对象的链接`,linkToElement:`链接到对象`,wrapSelectionInFrame:`用选中的元素创建画框`,tab:`Tab`,shapeSwitch:`切换形状`,preferences:`首选项`,preferences_toolLock:`工具锁`,boxSelectionMode:``,boxSelectionContain:``,boxSelectionOverlap:``,arrowBinding:`箭头绑定`,midpointSnapping:`吸附到中点`},t={title:`链接到对象`,desc:`点击画布上的形状或粘贴链接。`,notFound:`在画布上找不到链接的对象。`},n={noItems:`尚未添加任何项目……`,hint_emptyLibrary:`选中画布上的项目添加到此处,或从下方的公共素材库中导入。`,hint_emptyPrivateLibrary:`选中画布上的项目添加到此处。`,search:{inputPlaceholder:`搜索库`,heading:`匹配的库`,noResults:`无匹配项……`,clearSearch:`清除搜索`}},r={title:`在画布上查找`,noMatch:`无匹配项…`,singleResult:`结果`,multipleResults:`结果`,placeholder:`在画布上查找文本…`,frames:`画框`,texts:`文本`},i={clearReset:`重置画布`,exportJSON:`导出为文件`,exportImage:`导出图片...`,export:`保存到...`,copyToClipboard:`复制到剪贴板`,copyLink:`复制链接`,save:`保存至当前文件`,saveAs:`保存为`,load:`打开`,getShareableLink:`获取共享链接`,close:`关闭`,selectLanguage:`选择语言`,scrollBackToContent:`滚动回到内容`,zoomIn:`放大`,zoomOut:`缩小`,resetZoom:`重置缩放`,menu:`菜单`,done:`完成`,edit:`编辑`,undo:`撤销`,redo:`重做`,resetLibrary:`重置素材库`,createNewRoom:`新建会议室`,fullScreen:`全屏`,darkMode:`深色模式`,lightMode:`浅色模式`,systemMode:`系统模式`,zenMode:`禅模式`,objectsSnapMode:`吸附至对象`,exitZenMode:`退出禅模式`,cancel:`取消`,saveLibNames:`保存名称并退出`,clear:`清除`,remove:`删除`,embed:`切换嵌入`,publishLibrary:`重命名或发布`,submit:`提交`,confirm:`确定`,embeddableInteractionButton:`点击以开始交互`},a={clearReset:`这将会清除整个画布。您是否要继续?`,couldNotCreateShareableLink:`无法创建共享链接`,couldNotCreateShareableLinkTooBig:`无法创建可共享链接:画布过大`,couldNotLoadInvalidFile:`无法加载无效的文件`,importBackendFailed:`从后端导入失败。`,cannotExportEmptyCanvas:`无法导出空白画布。`,couldNotCopyToClipboard:`无法复制到剪贴板。`,decryptFailed:`无法解密数据。`,uploadedSecurly:`上传已被端到端加密保护,这意味着 Excalidraw 的服务器和第三方都无法读取内容。`,loadSceneOverridePrompt:`加载外部绘图将取代您现有的内容。您想要继续吗?`,collabStopOverridePrompt:`停止会话将覆盖您先前本地存储的绘图。 您确定吗?
|
|
2
|
+
|
|
3
|
+
(如果您想保持本地绘图,只需关闭浏览器选项卡。)`,errorAddingToLibrary:`无法将项目添加到素材库中`,errorRemovingFromLibrary:`无法从素材库中移除项目`,confirmAddLibrary:`这将添加 {{numShapes}} 个形状到您的素材库中。您确定吗?`,imageDoesNotContainScene:`此图像似乎不包含任何画布数据。您是否在导出时启用了画布嵌入功能?`,cannotRestoreFromImage:`无法从此图像文件恢复画布`,invalidSceneUrl:`无法从提供的 URL 导入场景。它或者格式不正确,或者不包含有效的 Excalidraw JSON 数据。`,resetLibrary:`这将会清除你的素材库。你确定要这么做吗?`,removeItemsFromsLibrary:`确定要从素材库中删除 {{count}} 个项目吗?`,invalidEncryptionKey:`密钥必须包含22个字符。实时协作已被禁用。`,collabOfflineWarning:`无网络连接。
|
|
4
|
+
您的改动将不会被保存!`,localStorageQuotaExceeded:`超过浏览器存储配额。更改将不会被保存。`},o={unsupportedFileType:`不支持的文件格式。`,imageInsertError:`无法插入图像。请稍后再试……`,fileTooBig:`文件过大。最大允许的大小为 {{maxSize}}。`,svgImageInsertError:`无法插入 SVG 图像。该 SVG 标记似乎是无效的。`,failedToFetchImage:`无法获取图片。`,cannotResolveCollabServer:`无法连接到实时协作服务器。请重新加载页面并重试。`,importLibraryError:`无法加载素材库`,saveLibraryError:`无法将库保存至存储。请将库保存为本地文件,以确保您的更改不被丢失。`,collabSaveFailed:`无法保存到后端数据库。如果问题持续存在,您应该保存文件到本地,以确保您的工作不会丢失。`,collabSaveFailed_sizeExceeded:`无法保存到后端数据库,画布似乎过大。您应该保存文件到本地,以确保您的工作不会丢失。`,imageToolNotSupported:`图片已被禁用。`,brave_measure_text_error:{line1:`您似乎正在使用 Brave 浏览器并启用了<bold>积极阻止指纹识别</bold>的设置。`,line2:`这可能会破坏绘图中的 <bold>文本元素</bold>。`,line3:`我们强烈建议禁用此设置。您可以按照<link>这些步骤</link>来设置。`,line4:`如果禁用此设置无法修复文本元素的显示,请在 GitHub 上提交一个 <issueLink>issue</issueLink> ,或者在 <discordLink>Discord</discordLink> 上反馈`},libraryElementTypeError:{embeddable:`嵌入元素不能添加到素材库。`,iframe:`不能将 IFrame 元素添加到素材库中。`,image:`我们不久将支持添加图片到素材库`},asyncPasteFailedOnRead:`无法粘贴(无法读取系统剪贴板)。`,asyncPasteFailedOnParse:`无法粘贴。`,copyToSystemClipboardFailed:`无法复制到剪贴板。`},s={selection:`选择`,lasso:`套索选择`,image:`插入图像`,rectangle:`矩形`,diamond:`菱形`,ellipse:`椭圆`,arrow:`箭头`,line:`线条`,freedraw:`自由书写`,text:`文字`,library:`素材库`,lock:`绘制后保持所选的工具栏状态`,penMode:`笔模式 – 避免误触`,link:`为选定的形状添加或更改链接`,eraser:`橡皮`,frame:`画框工具`,magicframe:`线框图至代码`,embeddable:`嵌入网页`,laser:`激光笔`,autoshape:``,bucketfill:``,hand:`抓手(平移工具)`,extraTools:`更多工具`,mermaidToExcalidraw:`Mermaid 至 Excalidraw`,convertElementType:`切换形状种类`},c={noRegion:``,tooComplex:``},l={rectangle:`矩形`,diamond:`菱形`,ellipse:`椭圆`,arrow:`箭头`,line:`线条`,freedraw:`自由书写`,text:`文字`,image:`图片`,group:`组`,frame:`画框`,magicframe:`线框图至代码`,embeddable:`嵌入网页`,selection:`选择`,iframe:`IFrame`},u={canvasActions:`画布动作`,selectedShapeActions:`选定形状操作`,shapes:`形状`},d={dismissSearch:`按{{shortcut}}取消搜索`,canvasPanning:`要移动画布,请按住{{shortcut_1}}或{{shortcut_2}}同时拖拽鼠标,或使用抓手工具。`,linearElement:`点击创建多个点 拖动创建直线`,arrowTool:`点击创建多个点,拖动创建直线。按 {{shortcut}} 切换箭头类型。`,arrowBindModifiers:`按住{{shortcut_1}}取消绑定,或按住{{shortcut_2}}绑定到固定点`,freeDraw:`点击并拖动,完成时松开`,text:`提示:您也可以使用选择工具双击任意位置来添加文字`,embeddable:`点击并拖动以创建嵌入网页`,autoshape:``,text_selected:`双击或按{{shortcut}}编辑文本`,text_editing:`按{{shortcut_1}}或{{shortcut_2}}完成编辑`,linearElementMulti:`点击最后的点或按{{shortcut_1}}或{{shortcut_2}}完成`,lockAngle:`可以按住{{shortcut}}来约束角度`,resize:`缩放时按住{{shortcut_1}}可以约束宽高比例,
|
|
5
|
+
按住{{shortcut_2}}可以从中间缩放`,resizeImage:`按住{{shortcut_1}}可以自由缩放,
|
|
6
|
+
按住{{shortcut_2}}可以从中间缩放`,rotate:`旋转时可以按住{{shortcut}}来约束角度`,toggleArrowhead:``,lineEditor_info:`按住{{shortcut_1}}双击,或者按{{shortcut_2}}编辑点`,lineEditor_line_info:`双击或按{{shortcut}}编辑点`,lineEditor_pointSelected:`按{{shortcut_1}}移除点,按{{shortcut_2}}复制点,拖拽移动点`,lineEditor_nothingSelected:`选择要编辑的点 (按住{{shortcut_1}}选择多个),
|
|
7
|
+
或按住{{shortcut_2}}并点击以添加新点`,publishLibrary:`发布您自己的素材库`,bindTextToElement:`按{{shortcut}}添加文本`,createFlowchart:`按{{shortcut}}创建流程图`,deepBoxSelect:`按住{{shortcut}}深度选择,并避免拖拽`,eraserRevert:`按住{{shortcut}}反选被标记删除的元素`,firefox_clipboard_write:`将高级配置首选项“dom.events.asyncClipboard.clipboardItem”设置为“true”可以启用此功能。要更改 Firefox 的高级配置首选项,请前往“about:config”页面。`,disableSnapping:`按住{{shortcut}}禁用吸附`,enterCropEditor:`双击图片或按{{shortcut}}开始裁剪`,leaveCropEditor:`点击图片以外的区域或按{{shortcut_1}}或{{shortcut_2}}完成裁剪`},f={cannotShowPreview:`无法显示预览`,canvasTooBig:`画布可能过大。`,canvasTooBigTip:`提示:尝试将最远的元素移动到和其它元素更近一些。`},p={headingMain:`遇到异常。请尝试<button>重新加载页面</button>。`,clearCanvasMessage:`如果重新加载页面无效,请尝试<button>清除画布</button>。`,clearCanvasCaveat:`这会造成当前工作丢失`,trackedToSentry:`标识符为{{eventId}}的错误已在我们的系统中被记录`,openIssueMessage:`我们非常谨慎地处理错误信息,您的画布内容不会被包含在错误报告中。如果您的画布内容不需要保持私密,请考虑在我们的 <button>bug 跟踪系统</button>上提供更多信息。请复制粘贴以下信息到 GitHub Issue 中。`,sceneContent:`画布内容:`},m={or:`或`},h={desc_intro:`邀请他人协作绘图。`,desc_privacy:`别担心,会话是端到端加密、完全私密的。即使是我们的服务器也无法看到您绘制的内容。`,button_startSession:`开始会话`,button_stopSession:`结束会话`,desc_inProgressIntro:`实时协作会话进行中。`,desc_shareLink:`分享此链接给你要协作的用户`,desc_exitSession:`停止会话将中断您与房间的连接,但您依然可以在本地继续使用画布。请注意,这不会影响到其他用户,他们仍可以在他们的版本上继续协作。`,shareTitle:`加入 Excalidraw 实时协作会话`},g={title:`错误`},_={title:`正在保存`,defaultMessage:`正在准备保存…`},v={disk_title:`保存到本地`,disk_details:`将画布数据导出为文件,以便以后导入`,disk_button:`保存为文件`,link_title:`分享链接`,link_details:`导出为只读链接。`,link_button:`导出链接`,excalidrawplus_description:`将画布保存到您的 Excalidraw+ 工作区。`,excalidrawplus_button:`导出`,excalidrawplus_exportError:`暂时无法导出到 Excalidraw+ ...`},y={blog:`浏览我们的博客`,click:`单击`,deepSelect:`深度选择`,deepBoxSelect:`在方框内深度选择并避免拖拽`,createFlowchart:`从一个基本元素创建流程图`,navigateFlowchart:`在流程图元素间移动`,curvedArrow:`曲线箭头`,curvedLine:`曲线`,documentation:`文档`,doubleClick:`双击`,drag:`拖动`,editor:`编辑器`,editLineArrowPoints:`编辑线条或箭头的点`,editText:`添加或编辑文本`,github:`提交问题`,howto:`帮助文档`,or:`或`,preventBinding:`禁用箭头吸附`,tools:`工具`,shortcuts:`快捷键列表`,textFinish:`完成编辑 (文本编辑器)`,textNewLine:`添加新行(文本编辑器)`,title:`帮助`,view:`视图`,zoomToFit:`缩放以适应所有元素`,zoomToSelection:`缩放到选区`,toggleElementLock:`锁定/解锁`,movePageUpDown:`上下移动页面`,movePageLeftRight:`左右移动页面`,cropStart:`裁剪图片`,cropFinish:`完成图片裁剪`},b={title:`清除画布`},x={title:`发布素材库`,itemName:`项目名称`,authorName:`作者名`,githubUsername:`GitHub 用户名`,twitterUsername:`Twitter 用户名`,libraryName:`名称`,libraryDesc:`简介`,website:`网址`,placeholder:{authorName:`您的名字或用户名`,libraryName:`素材库名称`,libraryDesc:`介绍您的素材库,让人们了解其用途`,githubHandle:`GitHub 用户名(可选),填写后,您可以编辑已提交待审的素材库`,twitterHandle:`Twitter 用户名(可选),填写后,当我们在Twitter发布推广信息时便可提及您`,website:`您个人网站的或任意的链接(可选)`},errors:{required:`必填`,website:`输入一个有效的URL`},noteDescription:`提交后,您的素材库将被包含在<link>公共素材库广场</link>以供其他人在绘图中使用。`,noteGuidelines:`提交的素材库需先经人工审核。在提交之前,请先阅读<link>指南</link> 。后续沟通和对库的修改需要 GitHub 账号,但这不是必须的。`,noteLicense:`提交即表明您已同意素材库将遵循 <link>MIT 许可证</link>,简而言之,任何人都可以不受限制地使用它们。`,noteItems:`素材库中每个项目都有各自的名称以供筛选。以下项目将被包含:`,atleastOneLibItem:`请选择至少一个素材库以开始`,republishWarning:`注意:部分选中的项目已经发布或提交。请仅在更新已有或已提交的素材库时重复提交项目。`},S={title:`素材库已提交`,content:`谢谢你 {{authorName}}。您的素材库已被提交审核。请点击<link>此处</link>跟进此次提交的状态`},C={resetLibrary:`重置素材库`,removeItemsFromLib:`从素材库中删除选中的项目`},w={header:`导出图片`,label:{withBackground:`背景`,onlySelected:`仅选中`,darkMode:`深色模式`,embedScene:`包含画布数据`,scale:`缩放比例`,padding:`内边距`},tooltip:{embedScene:`画布数据将被保存到导出的 PNG/SVG 文件,以便恢复。
|
|
8
|
+
将会增加导出文件的大小。`},title:{exportToPng:`导出为 PNG`,exportToSvg:`导出为 SVG`,copyPngToClipboard:`复制 PNG 到剪切板`},button:{exportToPng:`PNG`,exportToSvg:`SVG`,copyPngToClipboard:`复制到剪贴板`}},T={tooltip:`您的绘图采用端到端加密,其内容对于 Excalidraw 服务器是不可见的。`,link:`Excalidraw 中关于端到端加密的博客`},E={angle:`角度`,shapes:`形状`,height:`高度`,scene:`画布`,selected:`选中`,storage:`存储`,fullTitle:`画布与形状属性`,title:`属性`,generalStats:`概况`,elementProperties:`形状属性`,total:`总计`,version:`版本`,versionCopy:`点击复制`,versionNotAvailable:`版本不可用`,width:`宽度`},D={addedToLibrary:`添加到素材库中`,copyStyles:`样式已拷贝。`,copyToClipboard:`已复制到剪切板。`,copyToClipboardAsPng:`已将 {{exportSelection}} 作为 PNG 复制到剪贴板
|
|
9
|
+
({{exportColorScheme}})`,copyToClipboardAsSvg:`已将 {{exportSelection}} 作为 SVG 复制到剪贴板
|
|
10
|
+
({{exportColorScheme}})`,fileSaved:`文件已保存。`,fileSavedToFilename:`保存到 {filename}`,canvas:`画布`,selection:`所选项`,pasteAsSingleElement:`使用 {{shortcut}} 粘贴为单个元素,
|
|
11
|
+
或粘贴到现有的文本编辑器里`,unableToEmbed:`目前不允许嵌入此网址。请在 GitHub 上提 issue 请求将此网址加入白名单`,unrecognizedLinkFormat:`您嵌入的链接不符合格式要求。请尝试粘贴源网站提供的“嵌入 (embed)”字符串`,elementLinkCopied:`链接已复制到剪贴板`},O={transparent:`透明`,black:`黑`,white:`白`,red:`红`,pink:`粉红`,grape:`紫红`,violet:`蓝紫`,gray:`灰`,blue:`蓝`,cyan:`青`,teal:`蓝绿`,green:`绿`,yellow:`黄`,orange:`橙`,bronze:`古铜`},k={app:{center_heading:`您的绘图已保存在您的浏览器存储中。`,center_heading_line2:`浏览器存储可能会被无意清除。`,center_heading_line3:`将您的工作定期保存到一个文件,以避免丢失。`,center_heading_plus:`是否前往 Excalidraw+ ?`,menuHint:`导出、首选项、语言……`},defaults:{menuHint:`导出、首选项……`,center_heading:`图,化繁为简。`,toolbarHint:`选择工具并开始绘图!`,helpHint:`快捷键和帮助`}},A={color:`颜色`,mostUsedCustomColors:`常用自定义颜色`,colors:`颜色`,shades:`色调明暗`,hexCode:`十六进制值`,noShades:`此颜色没有可用的明暗变化`,invalidColor:``,invalidHexLength:``,topPicksTip:``,resetTopPicks:``},j={action:{exportToImage:{title:`导出为图片`,button:`导出为图片`,description:`将画布数据导出为图片,以便以后导入。`},saveToDisk:{title:`保存到本地`,button:`保存到本地`,description:`将画布数据导出为文件,以便以后导入。`},excalidrawPlus:{title:`Excalidraw+`,button:`导出到 Excalidraw+`,description:`将画布保存到您的 Excalidraw+ 工作区。`}},modal:{loadFromFile:{title:`从文件加载`,button:`从文件加载`,description:`从文件加载将<bold>替换您现有的内容</bold>。<br></br>您可以先使用下列方式备份您的绘图。`},shareableLink:{title:`从链接加载`,button:`替换我的内容`,description:`加载外部绘图将<bold>替换您现有的内容</bold>。<br></br>您可以先使用下列方式备份您的绘图。`}}},M={title:`Mermaid 至 Excalidraw`,button:`插入`,description:`目前仅支持<flowchartLink>流程图</flowchartLink>、<sequenceLink>序列图</sequenceLink>、<classLink>类图</classLink>和<erdLink>实体关系(ER)图</erdLink>。其他类型在 Excalidraw 中将以图像呈现。`,syntax:`Mermaid 语法`,preview:`预览`,label:`Mermaid`,inputPlaceholder:`在此处输入 Mermaid 图定义……`,autoFixAvailable:`自动修复可用`},N={error:`错误!`},P={inputPlaceholder:`在此处描述你想要的图表……(按{{shortcut}}换行)`,inputPlaceholderWithMessages:`继续完善您的图表…`,generating:`正在生成…`,rateLimitRemaining:`今日剩余{{count}}次请求`,role:{user:`您`,assistant:`AI 助理`,system:`系统`},aiBeta:`AI 测试版`,label:`聊天`,menu:`菜单`,newChat:`新的聊天`,deleteChat:`删除聊天`,deleteMessage:`删除消息`,viewAsMermaid:`作为 Mermaid 图查看`,placeholder:{title:`让我们设计您的图表`,description:`描述您想要创建的图表,我们将为您生成它。`,hint:``},preview:`预览`,insert:`插入`,retry:`重试`,errors:{promptTooShort:`提示词太短(最少{{min}}字)`,promptTooLong:`提示词太长(最多{{max}}字)`,generationFailed:`生成失败`,invalidDiagram:`生成了一个无效的图表 :(。您可以手动编辑,用自动修复重试,或尝试不同的提示词。`,fixInMermaid:`手动编辑 Mermaid 图 →`,aiRepair:`重新生成(自动修复)→`,requestAborted:`请求中止`,requestFailed:`请求失败`,mermaidParseError:`Mermaid 语法错误`},rateLimit:{messageLimit:`您已达到免费版的 AI 使用上限。请尝试 Excalidraw+ 获取更多额度,或明天再试。`,generalRateLimit:`慢点慢点,您的手速太快了!请稍候再试。`,messageLimitInputPlaceholder:`您已达到消息上限`},upsellBtnLabel:`升级到 Plus`},F={placeholder:`快速搜索`},I={badge:{old:`旧的`},sceneFonts:`画布中的`,availableFonts:`可用字体`,empty:`未找到字体`},L={empty:`未找到用户`,hint:{text:`点击关注用户`,followStatus:`您已关注此用户`,inCall:`用户在语音通话中`,micMuted:`用户的麦克风已静音`,isSpeaking:`用户正在说话`}},R={title:`命令面板`,shortcuts:{select:`选择`,confirm:`确定`,close:`关闭`},recents:`最近使用`,search:{placeholder:`搜索菜单、命令、探索隐藏功能`,noMatch:`没有匹配的命令……`},itemNotAvailable:`命令不可用……`,shortcutHint:`用 {{shortcut}} 打开命令面板`},z={ctrl:`Ctrl`,option:`Option`,cmd:`Cmd`,alt:`Alt`,escape:`Esc`,enter:`回车键`,shift:`Shift`,spacebar:`空格`,delete:`Delete`,mmb:`鼠标滚轮`},B={labels:e,elementLink:t,library:n,search:r,buttons:i,alerts:a,errors:o,toolBar:s,bucketfill:c,element:l,headings:u,hints:d,canvasError:f,errorSplash:p,shareDialog:m,roomDialog:h,errorDialog:g,progressDialog:_,exportDialog:v,helpDialog:y,clearCanvasDialog:b,publishDialog:x,publishSuccessDialog:S,confirmDialog:C,imageExportDialog:w,encrypted:T,stats:E,toast:D,colors:O,welcomeScreen:k,colorPicker:A,overwriteConfirm:j,mermaid:M,ttd:N,chat:P,quickSearch:F,fontList:I,userList:L,commandPalette:R,keys:z};export{a as alerts,c as bucketfill,i as buttons,f as canvasError,P as chat,b as clearCanvasDialog,A as colorPicker,O as colors,R as commandPalette,C as confirmDialog,B as default,l as element,t as elementLink,T as encrypted,g as errorDialog,p as errorSplash,o as errors,v as exportDialog,I as fontList,u as headings,y as helpDialog,d as hints,w as imageExportDialog,z as keys,e as labels,n as library,M as mermaid,j as overwriteConfirm,_ as progressDialog,x as publishDialog,S as publishSuccessDialog,F as quickSearch,h as roomDialog,r as search,m as shareDialog,E as stats,D as toast,s as toolBar,N as ttd,L as userList,k as welcomeScreen};
|