@epic-web/workshop-app 0.0.0-semantically-released
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 -0
- package/bin/epicshop.js +321 -0
- package/build/client/app-default.css +39 -0
- package/build/client/assets/_-C_7mS1-0.js +2 -0
- package/build/client/assets/_-C_7mS1-0.js.map +1 -0
- package/build/client/assets/_-l0sNRNKZ.js +2 -0
- package/build/client/assets/_-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/_basePickBy-DxgDhkrj.js +2 -0
- package/build/client/assets/_basePickBy-DxgDhkrj.js.map +1 -0
- package/build/client/assets/_baseUniq-Bh4NktJz.js +2 -0
- package/build/client/assets/_baseUniq-Bh4NktJz.js.map +1 -0
- package/build/client/assets/_exerciseNumber-D3lfJewu.js +2 -0
- package/build/client/assets/_exerciseNumber-D3lfJewu.js.map +1 -0
- package/build/client/assets/_exerciseNumber_._stepNumber-BNj079sn.js +2 -0
- package/build/client/assets/_exerciseNumber_._stepNumber-BNj079sn.js.map +1 -0
- package/build/client/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js +2 -0
- package/build/client/assets/_exerciseNumber_._stepNumber.index-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/_exerciseNumber_.finished-a6jXslNA.js +2 -0
- package/build/client/assets/_exerciseNumber_.finished-a6jXslNA.js.map +1 -0
- package/build/client/assets/_layout-B3FchrR9.js +2 -0
- package/build/client/assets/_layout-B3FchrR9.js.map +1 -0
- package/build/client/assets/_layout-B6ARVFTz.js +2 -0
- package/build/client/assets/_layout-B6ARVFTz.js.map +1 -0
- package/build/client/assets/_layout-CtqVeNw0.js +6 -0
- package/build/client/assets/_layout-CtqVeNw0.js.map +1 -0
- package/build/client/assets/_layout-dHfVo9gJ.js +2 -0
- package/build/client/assets/_layout-dHfVo9gJ.js.map +1 -0
- package/build/client/assets/accordion-PSsenYUI.js +2 -0
- package/build/client/assets/accordion-PSsenYUI.js.map +1 -0
- package/build/client/assets/account-Jl0f1Zst.js +2 -0
- package/build/client/assets/account-Jl0f1Zst.js.map +1 -0
- package/build/client/assets/api._-l0sNRNKZ.js +2 -0
- package/build/client/assets/api._-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/app-CpF0K1cW.css +1 -0
- package/build/client/assets/app-CzIg9kJh.js +2 -0
- package/build/client/assets/app-CzIg9kJh.js.map +1 -0
- package/build/client/assets/app.epic_ws_.js_-l0sNRNKZ.js +2 -0
- package/build/client/assets/app.epic_ws_.js_-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/apps-DP2rzg_V.js +2 -0
- package/build/client/assets/apps-DP2rzg_V.js.map +1 -0
- package/build/client/assets/apps-l0sNRNKZ.js +2 -0
- package/build/client/assets/apps-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/arc-B6tHINqs.js +2 -0
- package/build/client/assets/arc-B6tHINqs.js.map +1 -0
- package/build/client/assets/architectureDiagram-NQ2NVSRB-D_wGZ5nT.js +37 -0
- package/build/client/assets/architectureDiagram-NQ2NVSRB-D_wGZ5nT.js.map +1 -0
- package/build/client/assets/blockDiagram-PHRCVELO-h_TbDJvl.js +123 -0
- package/build/client/assets/blockDiagram-PHRCVELO-h_TbDJvl.js.map +1 -0
- package/build/client/assets/button-cFpvwtjC.js +2 -0
- package/build/client/assets/button-cFpvwtjC.js.map +1 -0
- package/build/client/assets/c4Diagram-6F6E4RAY-BfXjadL9.js +11 -0
- package/build/client/assets/c4Diagram-6F6E4RAY-BfXjadL9.js.map +1 -0
- package/build/client/assets/cache-l0sNRNKZ.js +2 -0
- package/build/client/assets/cache-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/channel-ClIoK57K.js +2 -0
- package/build/client/assets/channel-ClIoK57K.js.map +1 -0
- package/build/client/assets/chunk-353BL4L5-CExuR7H8.js +2 -0
- package/build/client/assets/chunk-353BL4L5-CExuR7H8.js.map +1 -0
- package/build/client/assets/chunk-67H74DCK-BF9_AOuB.js +2 -0
- package/build/client/assets/chunk-67H74DCK-BF9_AOuB.js.map +1 -0
- package/build/client/assets/chunk-6OLS64BW-B_GeRv1G.js +221 -0
- package/build/client/assets/chunk-6OLS64BW-B_GeRv1G.js.map +1 -0
- package/build/client/assets/chunk-AACKK3MU-BcoQc9Ht.js +2 -0
- package/build/client/assets/chunk-AACKK3MU-BcoQc9Ht.js.map +1 -0
- package/build/client/assets/chunk-BFAMUDN2-DBCLoV1m.js +2 -0
- package/build/client/assets/chunk-BFAMUDN2-DBCLoV1m.js.map +1 -0
- package/build/client/assets/chunk-E2GYISFI-DvCzOl_M.js +16 -0
- package/build/client/assets/chunk-E2GYISFI-DvCzOl_M.js.map +1 -0
- package/build/client/assets/chunk-QEP2MXWD-BA02qRA0.js +166 -0
- package/build/client/assets/chunk-QEP2MXWD-BA02qRA0.js.map +1 -0
- package/build/client/assets/chunk-QMGIS6GS-CG5cA6CX.js +44 -0
- package/build/client/assets/chunk-QMGIS6GS-CG5cA6CX.js.map +1 -0
- package/build/client/assets/chunk-SKB7J2MH-BG1nHV0M.js +2 -0
- package/build/client/assets/chunk-SKB7J2MH-BG1nHV0M.js.map +1 -0
- package/build/client/assets/classDiagram-BGRH5UQR-BZY1Xh5a.js +2 -0
- package/build/client/assets/classDiagram-BGRH5UQR-BZY1Xh5a.js.map +1 -0
- package/build/client/assets/classDiagram-v2-O24JOBDK-BZY1Xh5a.js +2 -0
- package/build/client/assets/classDiagram-v2-O24JOBDK-BZY1Xh5a.js.map +1 -0
- package/build/client/assets/clone-RGlausHy.js +2 -0
- package/build/client/assets/clone-RGlausHy.js.map +1 -0
- package/build/client/assets/cytoscape.esm-BBIONMvf.js +332 -0
- package/build/client/assets/cytoscape.esm-BBIONMvf.js.map +1 -0
- package/build/client/assets/dagre-FFZHY6LT-CGbe3nXJ.js +5 -0
- package/build/client/assets/dagre-FFZHY6LT-CGbe3nXJ.js.map +1 -0
- package/build/client/assets/defaultLocale-C4B-KCzX.js +2 -0
- package/build/client/assets/defaultLocale-C4B-KCzX.js.map +1 -0
- package/build/client/assets/diagram-3EMPZRKU-8UM2S96z.js +25 -0
- package/build/client/assets/diagram-3EMPZRKU-8UM2S96z.js.map +1 -0
- package/build/client/assets/diagram-5UYTHUR4-Bq8b35J7.js +25 -0
- package/build/client/assets/diagram-5UYTHUR4-Bq8b35J7.js.map +1 -0
- package/build/client/assets/diagram-ZTM2IBQH-DZ0Q3vKL.js +44 -0
- package/build/client/assets/diagram-ZTM2IBQH-DZ0Q3vKL.js.map +1 -0
- package/build/client/assets/diff-DTFs5rVO.js +2 -0
- package/build/client/assets/diff-DTFs5rVO.js.map +1 -0
- package/build/client/assets/diff-DpX_9FU6.js +2 -0
- package/build/client/assets/diff-DpX_9FU6.js.map +1 -0
- package/build/client/assets/discord-C86FbV-j.js +2 -0
- package/build/client/assets/discord-C86FbV-j.js.map +1 -0
- package/build/client/assets/discord-DOEtvB6W.js +2 -0
- package/build/client/assets/discord-DOEtvB6W.js.map +1 -0
- package/build/client/assets/entry.client-anc4-dZY.js +35 -0
- package/build/client/assets/entry.client-anc4-dZY.js.map +1 -0
- package/build/client/assets/epic-video-CCv7QINN.js +3210 -0
- package/build/client/assets/epic-video-CCv7QINN.js.map +1 -0
- package/build/client/assets/epic-video-D2Xftn6t.css +1 -0
- package/build/client/assets/epic_ws_.js_-l0sNRNKZ.js +2 -0
- package/build/client/assets/epic_ws_.js_-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/erDiagram-R3QVA2FD-Bu6B069U.js +61 -0
- package/build/client/assets/erDiagram-R3QVA2FD-Bu6B069U.js.map +1 -0
- package/build/client/assets/error-boundary-B8bEOgxp.js +2 -0
- package/build/client/assets/error-boundary-B8bEOgxp.js.map +1 -0
- package/build/client/assets/exercises-l0sNRNKZ.js +2 -0
- package/build/client/assets/exercises-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/finished-RnlPhc3t.js +2 -0
- package/build/client/assets/finished-RnlPhc3t.js.map +1 -0
- package/build/client/assets/flowDiagram-PKI6S5ZS-ie1Nf5_c.js +163 -0
- package/build/client/assets/flowDiagram-PKI6S5ZS-ie1Nf5_c.js.map +1 -0
- package/build/client/assets/ganttDiagram-EK5VF46D-BjgRWg6k.js +268 -0
- package/build/client/assets/ganttDiagram-EK5VF46D-BjgRWg6k.js.map +1 -0
- package/build/client/assets/gitGraphDiagram-GW3U2K7C-BmD31KK0.js +66 -0
- package/build/client/assets/gitGraphDiagram-GW3U2K7C-BmD31KK0.js.map +1 -0
- package/build/client/assets/graph-BBuyk5Ru.js +2 -0
- package/build/client/assets/graph-BBuyk5Ru.js.map +1 -0
- package/build/client/assets/icons-BM6r7NHK.svg +570 -0
- package/build/client/assets/index-7Ba6ptu2.js +42 -0
- package/build/client/assets/index-7Ba6ptu2.js.map +1 -0
- package/build/client/assets/index-Bp_2FjuO.js +10 -0
- package/build/client/assets/index-Bp_2FjuO.js.map +1 -0
- package/build/client/assets/index-CNmh2cao.js +2 -0
- package/build/client/assets/index-CNmh2cao.js.map +1 -0
- package/build/client/assets/index-CZ8q0Nf8.js +2 -0
- package/build/client/assets/index-CZ8q0Nf8.js.map +1 -0
- package/build/client/assets/index-DP2rzg_V.js +2 -0
- package/build/client/assets/index-DP2rzg_V.js.map +1 -0
- package/build/client/assets/index-DSMFPAn8.js +2 -0
- package/build/client/assets/index-DSMFPAn8.js.map +1 -0
- package/build/client/assets/index-DxbpRM0V.js +2 -0
- package/build/client/assets/index-DxbpRM0V.js.map +1 -0
- package/build/client/assets/index-K6Dvbx-E.js +2 -0
- package/build/client/assets/index-K6Dvbx-E.js.map +1 -0
- package/build/client/assets/index-LNXI3Vlr.js +2 -0
- package/build/client/assets/index-LNXI3Vlr.js.map +1 -0
- package/build/client/assets/index-_jNKXw67.js +2 -0
- package/build/client/assets/index-_jNKXw67.js.map +1 -0
- package/build/client/assets/index-l0sNRNKZ.js +2 -0
- package/build/client/assets/index-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/index-rknZKmMI.js +36 -0
- package/build/client/assets/index-rknZKmMI.js.map +1 -0
- package/build/client/assets/infoDiagram-RLU2ROGC-DVoDIRGH.js +3 -0
- package/build/client/assets/infoDiagram-RLU2ROGC-DVoDIRGH.js.map +1 -0
- package/build/client/assets/init-Gi6I4Gst.js +2 -0
- package/build/client/assets/init-Gi6I4Gst.js.map +1 -0
- package/build/client/assets/journeyDiagram-EWQZEKCU-C_Lb2L11.js +140 -0
- package/build/client/assets/journeyDiagram-EWQZEKCU-C_Lb2L11.js.map +1 -0
- package/build/client/assets/jsx-runtime-EKYJJIwR.js +10 -0
- package/build/client/assets/jsx-runtime-EKYJJIwR.js.map +1 -0
- package/build/client/assets/kanban-definition-ILFWEQ3N-KsekSC1N.js +90 -0
- package/build/client/assets/kanban-definition-ILFWEQ3N-KsekSC1N.js.map +1 -0
- package/build/client/assets/katex-DsmCZfJr.js +262 -0
- package/build/client/assets/katex-DsmCZfJr.js.map +1 -0
- package/build/client/assets/l-D9C1VDbZ.js +2 -0
- package/build/client/assets/l-D9C1VDbZ.js.map +1 -0
- package/build/client/assets/launch-editor-l0sNRNKZ.js +2 -0
- package/build/client/assets/launch-editor-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/layout-BkH8Qi9T.js +2 -0
- package/build/client/assets/layout-BkH8Qi9T.js.map +1 -0
- package/build/client/assets/linear-tKBS5mAJ.js +2 -0
- package/build/client/assets/linear-tKBS5mAJ.js.map +1 -0
- package/build/client/assets/loading-CZYaLyAk.js +2 -0
- package/build/client/assets/loading-CZYaLyAk.js.map +1 -0
- package/build/client/assets/login-BHKNDLwl.js +2 -0
- package/build/client/assets/login-BHKNDLwl.js.map +1 -0
- package/build/client/assets/login-sse-l0sNRNKZ.js +2 -0
- package/build/client/assets/login-sse-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/manifest-b97649b5.js +1 -0
- package/build/client/assets/mdx-BEhxx-X4.js +3 -0
- package/build/client/assets/mdx-BEhxx-X4.js.map +1 -0
- package/build/client/assets/mermaid.core-CqaUvNIK.js +214 -0
- package/build/client/assets/mermaid.core-CqaUvNIK.js.map +1 -0
- package/build/client/assets/mindmap-definition-CZNETY7S-BGn0gmpB.js +96 -0
- package/build/client/assets/mindmap-definition-CZNETY7S-BGn0gmpB.js.map +1 -0
- package/build/client/assets/misc-COGqV2fm.js +2 -0
- package/build/client/assets/misc-COGqV2fm.js.map +1 -0
- package/build/client/assets/nav-chevrons-Cxzx0j13.js +2 -0
- package/build/client/assets/nav-chevrons-Cxzx0j13.js.map +1 -0
- package/build/client/assets/notifications-l0sNRNKZ.js +2 -0
- package/build/client/assets/notifications-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/og-l0sNRNKZ.js +2 -0
- package/build/client/assets/og-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/onboarding-7Vho777l.js +2 -0
- package/build/client/assets/onboarding-7Vho777l.js.map +1 -0
- package/build/client/assets/online-CwZkKwTv.js +2 -0
- package/build/client/assets/online-CwZkKwTv.js.map +1 -0
- package/build/client/assets/ordinal-Cboi1Yqb.js +2 -0
- package/build/client/assets/ordinal-Cboi1Yqb.js.map +1 -0
- package/build/client/assets/pe-DoDyGTeN.js +2 -0
- package/build/client/assets/pe-DoDyGTeN.js.map +1 -0
- package/build/client/assets/pieDiagram-NIOCPIFQ-TwGmrzCW.js +31 -0
- package/build/client/assets/pieDiagram-NIOCPIFQ-TwGmrzCW.js.map +1 -0
- package/build/client/assets/preferences-Dx_EUPYj.js +2 -0
- package/build/client/assets/preferences-Dx_EUPYj.js.map +1 -0
- package/build/client/assets/presence-tDxUeb6L.js +28 -0
- package/build/client/assets/presence-tDxUeb6L.js.map +1 -0
- package/build/client/assets/preview-COuApZAb.js +2 -0
- package/build/client/assets/preview-COuApZAb.js.map +1 -0
- package/build/client/assets/processes-l0sNRNKZ.js +2 -0
- package/build/client/assets/processes-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/product-DNKDVhI_.js +2 -0
- package/build/client/assets/product-DNKDVhI_.js.map +1 -0
- package/build/client/assets/progress-DKsShYpv.js +2 -0
- package/build/client/assets/progress-DKsShYpv.js.map +1 -0
- package/build/client/assets/progress-bar-Cww9t8Vn.js +2 -0
- package/build/client/assets/progress-bar-Cww9t8Vn.js.map +1 -0
- package/build/client/assets/progress-l0sNRNKZ.js +2 -0
- package/build/client/assets/progress-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/quadrantDiagram-2OG54O6I-C2FaFW77.js +8 -0
- package/build/client/assets/quadrantDiagram-2OG54O6I-C2FaFW77.js.map +1 -0
- package/build/client/assets/requirementDiagram-SO3GGRV7-BENrmejn.js +65 -0
- package/build/client/assets/requirementDiagram-SO3GGRV7-BENrmejn.js.map +1 -0
- package/build/client/assets/revalidation-ws-DJwDeSaI.js +2 -0
- package/build/client/assets/revalidation-ws-DJwDeSaI.js.map +1 -0
- package/build/client/assets/robots_._txt-l0sNRNKZ.js +2 -0
- package/build/client/assets/robots_._txt-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/root-30K5JoaI.js +2 -0
- package/build/client/assets/root-30K5JoaI.js.map +1 -0
- package/build/client/assets/sankeyDiagram-4UZDY2LN-DHcxz6y6.js +11 -0
- package/build/client/assets/sankeyDiagram-4UZDY2LN-DHcxz6y6.js.map +1 -0
- package/build/client/assets/seo-t5J-DRxw.js +2 -0
- package/build/client/assets/seo-t5J-DRxw.js.map +1 -0
- package/build/client/assets/sequenceDiagram-ZIKVLSP4-wsbYfOcv.js +123 -0
- package/build/client/assets/sequenceDiagram-ZIKVLSP4-wsbYfOcv.js.map +1 -0
- package/build/client/assets/set-playground-Bx0yIjpY.js +2 -0
- package/build/client/assets/set-playground-Bx0yIjpY.js.map +1 -0
- package/build/client/assets/set-playground-l0sNRNKZ.js +2 -0
- package/build/client/assets/set-playground-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/sitemap_._xml-l0sNRNKZ.js +2 -0
- package/build/client/assets/sitemap_._xml-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/start-l0sNRNKZ.js +2 -0
- package/build/client/assets/start-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/stateDiagram-XX37X6EN-D8VCWzU7.js +2 -0
- package/build/client/assets/stateDiagram-XX37X6EN-D8VCWzU7.js.map +1 -0
- package/build/client/assets/stateDiagram-v2-GD6S3NHB-CWoWkzf7.js +2 -0
- package/build/client/assets/stateDiagram-v2-GD6S3NHB-CWoWkzf7.js.map +1 -0
- package/build/client/assets/support-BnsTkkCH.js +2 -0
- package/build/client/assets/support-BnsTkkCH.js.map +1 -0
- package/build/client/assets/tailwind-Dqccob1p.css +1 -0
- package/build/client/assets/test-B2dwsj84.js +2 -0
- package/build/client/assets/test-B2dwsj84.js.map +1 -0
- package/build/client/assets/test-l0sNRNKZ.js +2 -0
- package/build/client/assets/test-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/test._testName-l0sNRNKZ.js +2 -0
- package/build/client/assets/test._testName-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/test.epic_ws_.js_-l0sNRNKZ.js +2 -0
- package/build/client/assets/test.epic_ws_.js_-l0sNRNKZ.js.map +1 -0
- package/build/client/assets/tests-DvbNIXBP.js +4 -0
- package/build/client/assets/tests-DvbNIXBP.js.map +1 -0
- package/build/client/assets/timeline-definition-RI47OAVP-D44Hv-fs.js +62 -0
- package/build/client/assets/timeline-definition-RI47OAVP-D44Hv-fs.js.map +1 -0
- package/build/client/assets/tooltip-Cm7A1uIP.js +2 -0
- package/build/client/assets/tooltip-Cm7A1uIP.js.map +1 -0
- package/build/client/assets/treemap-FKARHQ26-COx8AcUM.js +129 -0
- package/build/client/assets/treemap-FKARHQ26-COx8AcUM.js.map +1 -0
- package/build/client/assets/use-event-source-DDlZtAwc.js +2 -0
- package/build/client/assets/use-event-source-DDlZtAwc.js.map +1 -0
- package/build/client/assets/user-BQ8D2Fty.js +2 -0
- package/build/client/assets/user-BQ8D2Fty.js.map +1 -0
- package/build/client/assets/version-CG_ZHfTC.js +2 -0
- package/build/client/assets/version-CG_ZHfTC.js.map +1 -0
- package/build/client/assets/workshop-config-5VcXxeyp.js +2 -0
- package/build/client/assets/workshop-config-5VcXxeyp.js.map +1 -0
- package/build/client/assets/xychartDiagram-H2YORKM3-rhbSyPlb.js +8 -0
- package/build/client/assets/xychartDiagram-H2YORKM3-rhbSyPlb.js.map +1 -0
- package/build/client/favicon.ico +0 -0
- package/build/client/favicon.png +0 -0
- package/build/client/favicon.svg +13 -0
- package/build/client/fonts/neogrotesk/0b8b755c-fee2-4661-9c8b-c5d1fbea901b.woff2 +0 -0
- package/build/client/fonts/neogrotesk/146d9d20-3e53-4e5d-beb2-1209bba5ac61.woff2 +0 -0
- package/build/client/fonts/neogrotesk/1798ef2b-5ee0-4f39-8b2c-ae3e36f07cd1.woff2 +0 -0
- package/build/client/fonts/neogrotesk/1eb2cb40-6822-4654-856c-8cbe652366b6.woff +0 -0
- package/build/client/fonts/neogrotesk/3b64793c-0bdb-4e4f-bf0e-cdf2e974d5f2.woff +0 -0
- package/build/client/fonts/neogrotesk/3bb44ed4-cf17-469c-8d0d-5946d10fdad1.woff +0 -0
- package/build/client/fonts/neogrotesk/4bd29470-1701-41fe-94b6-4a147512160c.woff +0 -0
- package/build/client/fonts/neogrotesk/5cdbf070-a094-44c8-b8f1-17a00a19c959.woff2 +0 -0
- package/build/client/fonts/neogrotesk/6d439be9-37df-4912-ac09-388ce938fa46.woff2 +0 -0
- package/build/client/fonts/neogrotesk/7fc2971f-a9c2-4e09-bd24-bfd4ee6e97b3.woff +0 -0
- package/build/client/fonts/neogrotesk/861b65ee-56bd-4057-9af4-3b2903af231e.woff +0 -0
- package/build/client/fonts/neogrotesk/8cf836d9-a49e-4387-bcbd-4800766e5d24.woff +0 -0
- package/build/client/fonts/neogrotesk/8d61128d-534c-4793-9668-b98bcc2e5969.woff2 +0 -0
- package/build/client/fonts/neogrotesk/98423f75-c341-4161-8b92-7cd5c05081e5.woff +0 -0
- package/build/client/fonts/neogrotesk/a1456726-ad0d-4f5e-9d8f-ce92e8ce375d.woff2 +0 -0
- package/build/client/fonts/neogrotesk/af81e7d2-0bb1-4aa0-bc76-adb78338c568.woff +0 -0
- package/build/client/fonts/neogrotesk/d1302ad5-ceee-47cb-a0fa-2da6bd0d4d54.woff2 +0 -0
- package/build/client/fonts/neogrotesk/e7e15c31-aad1-4384-abd3-0671ccd03251.woff +0 -0
- package/build/client/fonts/neogrotesk/ec6cb127-161b-469c-9816-69489032a234.woff2 +0 -0
- package/build/client/fonts/neogrotesk/f480430c-6c50-4ae3-9abb-e92c484f84d6.woff2 +0 -0
- package/build/client/img/tiffany.png +0 -0
- package/build/client/logo.svg +48 -0
- package/build/client/neogrotesk-font.css +100 -0
- package/build/client/og/background.png +0 -0
- package/build/client/og/logo.svg +1 -0
- package/build/server/index.js +11899 -0
- package/build/server/index.js.map +1 -0
- package/dist/server/index.js +247 -0
- package/package.json +1 -0
- package/start.js +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirementDiagram-SO3GGRV7-BENrmejn.js","sources":["../../../../../node_modules/mermaid/dist/chunks/mermaid.core/requirementDiagram-SO3GGRV7.mjs"],"sourcesContent":["import {\n getDiagramElement\n} from \"./chunk-BFAMUDN2.mjs\";\nimport {\n setupViewPortForSVG\n} from \"./chunk-SKB7J2MH.mjs\";\nimport {\n getRegisteredLayoutAlgorithm,\n render\n} from \"./chunk-27ZLIBVY.mjs\";\nimport \"./chunk-CPHRQXFT.mjs\";\nimport \"./chunk-MXNHSMXR.mjs\";\nimport \"./chunk-Y3GBUOFX.mjs\";\nimport \"./chunk-AC5SNWB5.mjs\";\nimport \"./chunk-UWXLY5YG.mjs\";\nimport \"./chunk-QESNASVV.mjs\";\nimport {\n utils_default\n} from \"./chunk-55PJQP7W.mjs\";\nimport {\n __export,\n __name,\n clear,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n log,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-3XYRH5AP.mjs\";\n\n// src/diagrams/requirement/parser/requirementDiagram.jison\nvar parser = function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 3], $V1 = [1, 4], $V2 = [1, 5], $V3 = [1, 6], $V4 = [5, 6, 8, 9, 11, 13, 21, 22, 23, 24, 41, 42, 43, 44, 45, 46, 54, 72, 74, 77, 89, 90], $V5 = [1, 22], $V6 = [2, 7], $V7 = [1, 26], $V8 = [1, 27], $V9 = [1, 28], $Va = [1, 29], $Vb = [1, 33], $Vc = [1, 34], $Vd = [1, 35], $Ve = [1, 36], $Vf = [1, 37], $Vg = [1, 38], $Vh = [1, 24], $Vi = [1, 31], $Vj = [1, 32], $Vk = [1, 30], $Vl = [1, 39], $Vm = [1, 40], $Vn = [5, 8, 9, 11, 13, 21, 22, 23, 24, 41, 42, 43, 44, 45, 46, 54, 72, 74, 77, 89, 90], $Vo = [1, 61], $Vp = [89, 90], $Vq = [5, 8, 9, 11, 13, 21, 22, 23, 24, 27, 29, 41, 42, 43, 44, 45, 46, 54, 61, 63, 72, 74, 75, 76, 77, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90], $Vr = [27, 29], $Vs = [1, 70], $Vt = [1, 71], $Vu = [1, 72], $Vv = [1, 73], $Vw = [1, 74], $Vx = [1, 75], $Vy = [1, 76], $Vz = [1, 83], $VA = [1, 80], $VB = [1, 84], $VC = [1, 85], $VD = [1, 86], $VE = [1, 87], $VF = [1, 88], $VG = [1, 89], $VH = [1, 90], $VI = [1, 91], $VJ = [1, 92], $VK = [5, 8, 9, 11, 13, 21, 22, 23, 24, 27, 41, 42, 43, 44, 45, 46, 54, 72, 74, 75, 76, 77, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90], $VL = [63, 64], $VM = [1, 101], $VN = [5, 8, 9, 11, 13, 21, 22, 23, 24, 41, 42, 43, 44, 45, 46, 54, 72, 74, 76, 77, 89, 90], $VO = [5, 8, 9, 11, 13, 21, 22, 23, 24, 41, 42, 43, 44, 45, 46, 54, 72, 74, 75, 76, 77, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90], $VP = [1, 110], $VQ = [1, 106], $VR = [1, 107], $VS = [1, 108], $VT = [1, 109], $VU = [1, 111], $VV = [1, 116], $VW = [1, 117], $VX = [1, 114], $VY = [1, 115];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"directive\": 4, \"NEWLINE\": 5, \"RD\": 6, \"diagram\": 7, \"EOF\": 8, \"acc_title\": 9, \"acc_title_value\": 10, \"acc_descr\": 11, \"acc_descr_value\": 12, \"acc_descr_multiline_value\": 13, \"requirementDef\": 14, \"elementDef\": 15, \"relationshipDef\": 16, \"direction\": 17, \"styleStatement\": 18, \"classDefStatement\": 19, \"classStatement\": 20, \"direction_tb\": 21, \"direction_bt\": 22, \"direction_rl\": 23, \"direction_lr\": 24, \"requirementType\": 25, \"requirementName\": 26, \"STRUCT_START\": 27, \"requirementBody\": 28, \"STYLE_SEPARATOR\": 29, \"idList\": 30, \"ID\": 31, \"COLONSEP\": 32, \"id\": 33, \"TEXT\": 34, \"text\": 35, \"RISK\": 36, \"riskLevel\": 37, \"VERIFYMTHD\": 38, \"verifyType\": 39, \"STRUCT_STOP\": 40, \"REQUIREMENT\": 41, \"FUNCTIONAL_REQUIREMENT\": 42, \"INTERFACE_REQUIREMENT\": 43, \"PERFORMANCE_REQUIREMENT\": 44, \"PHYSICAL_REQUIREMENT\": 45, \"DESIGN_CONSTRAINT\": 46, \"LOW_RISK\": 47, \"MED_RISK\": 48, \"HIGH_RISK\": 49, \"VERIFY_ANALYSIS\": 50, \"VERIFY_DEMONSTRATION\": 51, \"VERIFY_INSPECTION\": 52, \"VERIFY_TEST\": 53, \"ELEMENT\": 54, \"elementName\": 55, \"elementBody\": 56, \"TYPE\": 57, \"type\": 58, \"DOCREF\": 59, \"ref\": 60, \"END_ARROW_L\": 61, \"relationship\": 62, \"LINE\": 63, \"END_ARROW_R\": 64, \"CONTAINS\": 65, \"COPIES\": 66, \"DERIVES\": 67, \"SATISFIES\": 68, \"VERIFIES\": 69, \"REFINES\": 70, \"TRACES\": 71, \"CLASSDEF\": 72, \"stylesOpt\": 73, \"CLASS\": 74, \"ALPHA\": 75, \"COMMA\": 76, \"STYLE\": 77, \"style\": 78, \"styleComponent\": 79, \"NUM\": 80, \"COLON\": 81, \"UNIT\": 82, \"SPACE\": 83, \"BRKT\": 84, \"PCT\": 85, \"MINUS\": 86, \"LABEL\": 87, \"SEMICOLON\": 88, \"unqString\": 89, \"qString\": 90, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 5: \"NEWLINE\", 6: \"RD\", 8: \"EOF\", 9: \"acc_title\", 10: \"acc_title_value\", 11: \"acc_descr\", 12: \"acc_descr_value\", 13: \"acc_descr_multiline_value\", 21: \"direction_tb\", 22: \"direction_bt\", 23: \"direction_rl\", 24: \"direction_lr\", 27: \"STRUCT_START\", 29: \"STYLE_SEPARATOR\", 31: \"ID\", 32: \"COLONSEP\", 34: \"TEXT\", 36: \"RISK\", 38: \"VERIFYMTHD\", 40: \"STRUCT_STOP\", 41: \"REQUIREMENT\", 42: \"FUNCTIONAL_REQUIREMENT\", 43: \"INTERFACE_REQUIREMENT\", 44: \"PERFORMANCE_REQUIREMENT\", 45: \"PHYSICAL_REQUIREMENT\", 46: \"DESIGN_CONSTRAINT\", 47: \"LOW_RISK\", 48: \"MED_RISK\", 49: \"HIGH_RISK\", 50: \"VERIFY_ANALYSIS\", 51: \"VERIFY_DEMONSTRATION\", 52: \"VERIFY_INSPECTION\", 53: \"VERIFY_TEST\", 54: \"ELEMENT\", 57: \"TYPE\", 59: \"DOCREF\", 61: \"END_ARROW_L\", 63: \"LINE\", 64: \"END_ARROW_R\", 65: \"CONTAINS\", 66: \"COPIES\", 67: \"DERIVES\", 68: \"SATISFIES\", 69: \"VERIFIES\", 70: \"REFINES\", 71: \"TRACES\", 72: \"CLASSDEF\", 74: \"CLASS\", 75: \"ALPHA\", 76: \"COMMA\", 77: \"STYLE\", 80: \"NUM\", 81: \"COLON\", 82: \"UNIT\", 83: \"SPACE\", 84: \"BRKT\", 85: \"PCT\", 86: \"MINUS\", 87: \"LABEL\", 88: \"SEMICOLON\", 89: \"unqString\", 90: \"qString\" },\n productions_: [0, [3, 3], [3, 2], [3, 4], [4, 2], [4, 2], [4, 1], [7, 0], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [17, 1], [17, 1], [17, 1], [17, 1], [14, 5], [14, 7], [28, 5], [28, 5], [28, 5], [28, 5], [28, 2], [28, 1], [25, 1], [25, 1], [25, 1], [25, 1], [25, 1], [25, 1], [37, 1], [37, 1], [37, 1], [39, 1], [39, 1], [39, 1], [39, 1], [15, 5], [15, 7], [56, 5], [56, 5], [56, 2], [56, 1], [16, 5], [16, 5], [62, 1], [62, 1], [62, 1], [62, 1], [62, 1], [62, 1], [62, 1], [19, 3], [20, 3], [20, 3], [30, 1], [30, 3], [30, 1], [30, 3], [18, 3], [73, 1], [73, 3], [78, 1], [78, 2], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [79, 1], [26, 1], [26, 1], [33, 1], [33, 1], [35, 1], [35, 1], [55, 1], [55, 1], [58, 1], [58, 1], [60, 1], [60, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 4:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 5:\n case 6:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 7:\n this.$ = [];\n break;\n case 17:\n yy.setDirection(\"TB\");\n break;\n case 18:\n yy.setDirection(\"BT\");\n break;\n case 19:\n yy.setDirection(\"RL\");\n break;\n case 20:\n yy.setDirection(\"LR\");\n break;\n case 21:\n yy.addRequirement($$[$0 - 3], $$[$0 - 4]);\n break;\n case 22:\n yy.addRequirement($$[$0 - 5], $$[$0 - 6]);\n yy.setClass([$$[$0 - 5]], $$[$0 - 3]);\n break;\n case 23:\n yy.setNewReqId($$[$0 - 2]);\n break;\n case 24:\n yy.setNewReqText($$[$0 - 2]);\n break;\n case 25:\n yy.setNewReqRisk($$[$0 - 2]);\n break;\n case 26:\n yy.setNewReqVerifyMethod($$[$0 - 2]);\n break;\n case 29:\n this.$ = yy.RequirementType.REQUIREMENT;\n break;\n case 30:\n this.$ = yy.RequirementType.FUNCTIONAL_REQUIREMENT;\n break;\n case 31:\n this.$ = yy.RequirementType.INTERFACE_REQUIREMENT;\n break;\n case 32:\n this.$ = yy.RequirementType.PERFORMANCE_REQUIREMENT;\n break;\n case 33:\n this.$ = yy.RequirementType.PHYSICAL_REQUIREMENT;\n break;\n case 34:\n this.$ = yy.RequirementType.DESIGN_CONSTRAINT;\n break;\n case 35:\n this.$ = yy.RiskLevel.LOW_RISK;\n break;\n case 36:\n this.$ = yy.RiskLevel.MED_RISK;\n break;\n case 37:\n this.$ = yy.RiskLevel.HIGH_RISK;\n break;\n case 38:\n this.$ = yy.VerifyType.VERIFY_ANALYSIS;\n break;\n case 39:\n this.$ = yy.VerifyType.VERIFY_DEMONSTRATION;\n break;\n case 40:\n this.$ = yy.VerifyType.VERIFY_INSPECTION;\n break;\n case 41:\n this.$ = yy.VerifyType.VERIFY_TEST;\n break;\n case 42:\n yy.addElement($$[$0 - 3]);\n break;\n case 43:\n yy.addElement($$[$0 - 5]);\n yy.setClass([$$[$0 - 5]], $$[$0 - 3]);\n break;\n case 44:\n yy.setNewElementType($$[$0 - 2]);\n break;\n case 45:\n yy.setNewElementDocRef($$[$0 - 2]);\n break;\n case 48:\n yy.addRelationship($$[$0 - 2], $$[$0], $$[$0 - 4]);\n break;\n case 49:\n yy.addRelationship($$[$0 - 2], $$[$0 - 4], $$[$0]);\n break;\n case 50:\n this.$ = yy.Relationships.CONTAINS;\n break;\n case 51:\n this.$ = yy.Relationships.COPIES;\n break;\n case 52:\n this.$ = yy.Relationships.DERIVES;\n break;\n case 53:\n this.$ = yy.Relationships.SATISFIES;\n break;\n case 54:\n this.$ = yy.Relationships.VERIFIES;\n break;\n case 55:\n this.$ = yy.Relationships.REFINES;\n break;\n case 56:\n this.$ = yy.Relationships.TRACES;\n break;\n case 57:\n this.$ = $$[$0 - 2];\n yy.defineClass($$[$0 - 1], $$[$0]);\n break;\n case 58:\n yy.setClass($$[$0 - 1], $$[$0]);\n break;\n case 59:\n yy.setClass([$$[$0 - 2]], $$[$0]);\n break;\n case 60:\n case 62:\n this.$ = [$$[$0]];\n break;\n case 61:\n case 63:\n this.$ = $$[$0 - 2].concat([$$[$0]]);\n break;\n case 64:\n this.$ = $$[$0 - 2];\n yy.setCssStyle($$[$0 - 1], $$[$0]);\n break;\n case 65:\n this.$ = [$$[$0]];\n break;\n case 66:\n $$[$0 - 2].push($$[$0]);\n this.$ = $$[$0 - 2];\n break;\n case 68:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 1: [3] }, { 3: 8, 4: 2, 5: [1, 7], 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 5: [1, 9] }, { 10: [1, 10] }, { 12: [1, 11] }, o($V4, [2, 6]), { 3: 12, 4: 2, 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 1: [2, 2] }, { 4: 17, 5: $V5, 7: 13, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, o($V4, [2, 4]), o($V4, [2, 5]), { 1: [2, 1] }, { 8: [1, 41] }, { 4: 17, 5: $V5, 7: 42, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 43, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 44, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 45, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 46, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 47, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 48, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 49, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 4: 17, 5: $V5, 7: 50, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 18, 18: 19, 19: 20, 20: 21, 21: $V7, 22: $V8, 23: $V9, 24: $Va, 25: 23, 33: 25, 41: $Vb, 42: $Vc, 43: $Vd, 44: $Ve, 45: $Vf, 46: $Vg, 54: $Vh, 72: $Vi, 74: $Vj, 77: $Vk, 89: $Vl, 90: $Vm }, { 26: 51, 89: [1, 52], 90: [1, 53] }, { 55: 54, 89: [1, 55], 90: [1, 56] }, { 29: [1, 59], 61: [1, 57], 63: [1, 58] }, o($Vn, [2, 17]), o($Vn, [2, 18]), o($Vn, [2, 19]), o($Vn, [2, 20]), { 30: 60, 33: 62, 75: $Vo, 89: $Vl, 90: $Vm }, { 30: 63, 33: 62, 75: $Vo, 89: $Vl, 90: $Vm }, { 30: 64, 33: 62, 75: $Vo, 89: $Vl, 90: $Vm }, o($Vp, [2, 29]), o($Vp, [2, 30]), o($Vp, [2, 31]), o($Vp, [2, 32]), o($Vp, [2, 33]), o($Vp, [2, 34]), o($Vq, [2, 81]), o($Vq, [2, 82]), { 1: [2, 3] }, { 8: [2, 8] }, { 8: [2, 9] }, { 8: [2, 10] }, { 8: [2, 11] }, { 8: [2, 12] }, { 8: [2, 13] }, { 8: [2, 14] }, { 8: [2, 15] }, { 8: [2, 16] }, { 27: [1, 65], 29: [1, 66] }, o($Vr, [2, 79]), o($Vr, [2, 80]), { 27: [1, 67], 29: [1, 68] }, o($Vr, [2, 85]), o($Vr, [2, 86]), { 62: 69, 65: $Vs, 66: $Vt, 67: $Vu, 68: $Vv, 69: $Vw, 70: $Vx, 71: $Vy }, { 62: 77, 65: $Vs, 66: $Vt, 67: $Vu, 68: $Vv, 69: $Vw, 70: $Vx, 71: $Vy }, { 30: 78, 33: 62, 75: $Vo, 89: $Vl, 90: $Vm }, { 73: 79, 75: $Vz, 76: $VA, 78: 81, 79: 82, 80: $VB, 81: $VC, 82: $VD, 83: $VE, 84: $VF, 85: $VG, 86: $VH, 87: $VI, 88: $VJ }, o($VK, [2, 60]), o($VK, [2, 62]), { 73: 93, 75: $Vz, 76: $VA, 78: 81, 79: 82, 80: $VB, 81: $VC, 82: $VD, 83: $VE, 84: $VF, 85: $VG, 86: $VH, 87: $VI, 88: $VJ }, { 30: 94, 33: 62, 75: $Vo, 76: $VA, 89: $Vl, 90: $Vm }, { 5: [1, 95] }, { 30: 96, 33: 62, 75: $Vo, 89: $Vl, 90: $Vm }, { 5: [1, 97] }, { 30: 98, 33: 62, 75: $Vo, 89: $Vl, 90: $Vm }, { 63: [1, 99] }, o($VL, [2, 50]), o($VL, [2, 51]), o($VL, [2, 52]), o($VL, [2, 53]), o($VL, [2, 54]), o($VL, [2, 55]), o($VL, [2, 56]), { 64: [1, 100] }, o($Vn, [2, 59], { 76: $VA }), o($Vn, [2, 64], { 76: $VM }), { 33: 103, 75: [1, 102], 89: $Vl, 90: $Vm }, o($VN, [2, 65], { 79: 104, 75: $Vz, 80: $VB, 81: $VC, 82: $VD, 83: $VE, 84: $VF, 85: $VG, 86: $VH, 87: $VI, 88: $VJ }), o($VO, [2, 67]), o($VO, [2, 69]), o($VO, [2, 70]), o($VO, [2, 71]), o($VO, [2, 72]), o($VO, [2, 73]), o($VO, [2, 74]), o($VO, [2, 75]), o($VO, [2, 76]), o($VO, [2, 77]), o($VO, [2, 78]), o($Vn, [2, 57], { 76: $VM }), o($Vn, [2, 58], { 76: $VA }), { 5: $VP, 28: 105, 31: $VQ, 34: $VR, 36: $VS, 38: $VT, 40: $VU }, { 27: [1, 112], 76: $VA }, { 5: $VV, 40: $VW, 56: 113, 57: $VX, 59: $VY }, { 27: [1, 118], 76: $VA }, { 33: 119, 89: $Vl, 90: $Vm }, { 33: 120, 89: $Vl, 90: $Vm }, { 75: $Vz, 78: 121, 79: 82, 80: $VB, 81: $VC, 82: $VD, 83: $VE, 84: $VF, 85: $VG, 86: $VH, 87: $VI, 88: $VJ }, o($VK, [2, 61]), o($VK, [2, 63]), o($VO, [2, 68]), o($Vn, [2, 21]), { 32: [1, 122] }, { 32: [1, 123] }, { 32: [1, 124] }, { 32: [1, 125] }, { 5: $VP, 28: 126, 31: $VQ, 34: $VR, 36: $VS, 38: $VT, 40: $VU }, o($Vn, [2, 28]), { 5: [1, 127] }, o($Vn, [2, 42]), { 32: [1, 128] }, { 32: [1, 129] }, { 5: $VV, 40: $VW, 56: 130, 57: $VX, 59: $VY }, o($Vn, [2, 47]), { 5: [1, 131] }, o($Vn, [2, 48]), o($Vn, [2, 49]), o($VN, [2, 66], { 79: 104, 75: $Vz, 80: $VB, 81: $VC, 82: $VD, 83: $VE, 84: $VF, 85: $VG, 86: $VH, 87: $VI, 88: $VJ }), { 33: 132, 89: $Vl, 90: $Vm }, { 35: 133, 89: [1, 134], 90: [1, 135] }, { 37: 136, 47: [1, 137], 48: [1, 138], 49: [1, 139] }, { 39: 140, 50: [1, 141], 51: [1, 142], 52: [1, 143], 53: [1, 144] }, o($Vn, [2, 27]), { 5: $VP, 28: 145, 31: $VQ, 34: $VR, 36: $VS, 38: $VT, 40: $VU }, { 58: 146, 89: [1, 147], 90: [1, 148] }, { 60: 149, 89: [1, 150], 90: [1, 151] }, o($Vn, [2, 46]), { 5: $VV, 40: $VW, 56: 152, 57: $VX, 59: $VY }, { 5: [1, 153] }, { 5: [1, 154] }, { 5: [2, 83] }, { 5: [2, 84] }, { 5: [1, 155] }, { 5: [2, 35] }, { 5: [2, 36] }, { 5: [2, 37] }, { 5: [1, 156] }, { 5: [2, 38] }, { 5: [2, 39] }, { 5: [2, 40] }, { 5: [2, 41] }, o($Vn, [2, 22]), { 5: [1, 157] }, { 5: [2, 87] }, { 5: [2, 88] }, { 5: [1, 158] }, { 5: [2, 89] }, { 5: [2, 90] }, o($Vn, [2, 43]), { 5: $VP, 28: 159, 31: $VQ, 34: $VR, 36: $VS, 38: $VT, 40: $VU }, { 5: $VP, 28: 160, 31: $VQ, 34: $VR, 36: $VS, 38: $VT, 40: $VU }, { 5: $VP, 28: 161, 31: $VQ, 34: $VR, 36: $VS, 38: $VT, 40: $VU }, { 5: $VP, 28: 162, 31: $VQ, 34: $VR, 36: $VS, 38: $VT, 40: $VU }, { 5: $VV, 40: $VW, 56: 163, 57: $VX, 59: $VY }, { 5: $VV, 40: $VW, 56: 164, 57: $VX, 59: $VY }, o($Vn, [2, 23]), o($Vn, [2, 24]), o($Vn, [2, 25]), o($Vn, [2, 26]), o($Vn, [2, 44]), o($Vn, [2, 45])],\n defaultActions: { 8: [2, 2], 12: [2, 1], 41: [2, 3], 42: [2, 8], 43: [2, 9], 44: [2, 10], 45: [2, 11], 46: [2, 12], 47: [2, 13], 48: [2, 14], 49: [2, 15], 50: [2, 16], 134: [2, 83], 135: [2, 84], 137: [2, 35], 138: [2, 36], 139: [2, 37], 141: [2, 38], 142: [2, 39], 143: [2, 40], 144: [2, 41], 147: [2, 87], 148: [2, 88], 150: [2, 89], 151: [2, 90] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n 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).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n return \"title\";\n break;\n case 1:\n this.begin(\"acc_title\");\n return 9;\n break;\n case 2:\n this.popState();\n return \"acc_title_value\";\n break;\n case 3:\n this.begin(\"acc_descr\");\n return 11;\n break;\n case 4:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 5:\n this.begin(\"acc_descr_multiline\");\n break;\n case 6:\n this.popState();\n break;\n case 7:\n return \"acc_descr_multiline_value\";\n break;\n case 8:\n return 21;\n break;\n case 9:\n return 22;\n break;\n case 10:\n return 23;\n break;\n case 11:\n return 24;\n break;\n case 12:\n return 5;\n break;\n case 13:\n break;\n case 14:\n break;\n case 15:\n break;\n case 16:\n return 8;\n break;\n case 17:\n return 6;\n break;\n case 18:\n return 27;\n break;\n case 19:\n return 40;\n break;\n case 20:\n return 29;\n break;\n case 21:\n return 32;\n break;\n case 22:\n return 31;\n break;\n case 23:\n return 34;\n break;\n case 24:\n return 36;\n break;\n case 25:\n return 38;\n break;\n case 26:\n return 41;\n break;\n case 27:\n return 42;\n break;\n case 28:\n return 43;\n break;\n case 29:\n return 44;\n break;\n case 30:\n return 45;\n break;\n case 31:\n return 46;\n break;\n case 32:\n return 47;\n break;\n case 33:\n return 48;\n break;\n case 34:\n return 49;\n break;\n case 35:\n return 50;\n break;\n case 36:\n return 51;\n break;\n case 37:\n return 52;\n break;\n case 38:\n return 53;\n break;\n case 39:\n return 54;\n break;\n case 40:\n return 65;\n break;\n case 41:\n return 66;\n break;\n case 42:\n return 67;\n break;\n case 43:\n return 68;\n break;\n case 44:\n return 69;\n break;\n case 45:\n return 70;\n break;\n case 46:\n return 71;\n break;\n case 47:\n return 57;\n break;\n case 48:\n return 59;\n break;\n case 49:\n this.begin(\"style\");\n return 77;\n break;\n case 50:\n return 75;\n break;\n case 51:\n return 81;\n break;\n case 52:\n return 88;\n break;\n case 53:\n return \"PERCENT\";\n break;\n case 54:\n return 86;\n break;\n case 55:\n return 84;\n break;\n case 56:\n break;\n case 57:\n this.begin(\"string\");\n break;\n case 58:\n this.popState();\n break;\n case 59:\n this.begin(\"style\");\n return 72;\n break;\n case 60:\n this.begin(\"style\");\n return 74;\n break;\n case 61:\n return 61;\n break;\n case 62:\n return 64;\n break;\n case 63:\n return 63;\n break;\n case 64:\n this.begin(\"string\");\n break;\n case 65:\n this.popState();\n break;\n case 66:\n return \"qString\";\n break;\n case 67:\n yy_.yytext = yy_.yytext.trim();\n return 89;\n break;\n case 68:\n return 75;\n break;\n case 69:\n return 80;\n break;\n case 70:\n return 76;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:title\\s[^#\\n;]+)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:.*direction\\s+TB[^\\n]*)/i, /^(?:.*direction\\s+BT[^\\n]*)/i, /^(?:.*direction\\s+RL[^\\n]*)/i, /^(?:.*direction\\s+LR[^\\n]*)/i, /^(?:(\\r?\\n)+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/i, /^(?:%[^\\n]*)/i, /^(?:$)/i, /^(?:requirementDiagram\\b)/i, /^(?:\\{)/i, /^(?:\\})/i, /^(?::{3})/i, /^(?::)/i, /^(?:id\\b)/i, /^(?:text\\b)/i, /^(?:risk\\b)/i, /^(?:verifyMethod\\b)/i, /^(?:requirement\\b)/i, /^(?:functionalRequirement\\b)/i, /^(?:interfaceRequirement\\b)/i, /^(?:performanceRequirement\\b)/i, /^(?:physicalRequirement\\b)/i, /^(?:designConstraint\\b)/i, /^(?:low\\b)/i, /^(?:medium\\b)/i, /^(?:high\\b)/i, /^(?:analysis\\b)/i, /^(?:demonstration\\b)/i, /^(?:inspection\\b)/i, /^(?:test\\b)/i, /^(?:element\\b)/i, /^(?:contains\\b)/i, /^(?:copies\\b)/i, /^(?:derives\\b)/i, /^(?:satisfies\\b)/i, /^(?:verifies\\b)/i, /^(?:refines\\b)/i, /^(?:traces\\b)/i, /^(?:type\\b)/i, /^(?:docref\\b)/i, /^(?:style\\b)/i, /^(?:\\w+)/i, /^(?::)/i, /^(?:;)/i, /^(?:%)/i, /^(?:-)/i, /^(?:#)/i, /^(?: )/i, /^(?:[\"])/i, /^(?:\\n)/i, /^(?:classDef\\b)/i, /^(?:class\\b)/i, /^(?:<-)/i, /^(?:->)/i, /^(?:-)/i, /^(?:[\"])/i, /^(?:[\"])/i, /^(?:[^\"]*)/i, /^(?:[\\w][^:,\\r\\n\\{\\<\\>\\-\\=]*)/i, /^(?:\\w+)/i, /^(?:[0-9]+)/i, /^(?:,)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [6, 7, 68, 69, 70], \"inclusive\": false }, \"acc_descr\": { \"rules\": [4, 68, 69, 70], \"inclusive\": false }, \"acc_title\": { \"rules\": [2, 68, 69, 70], \"inclusive\": false }, \"style\": { \"rules\": [50, 51, 52, 53, 54, 55, 56, 57, 58, 68, 69, 70], \"inclusive\": false }, \"unqString\": { \"rules\": [68, 69, 70], \"inclusive\": false }, \"token\": { \"rules\": [68, 69, 70], \"inclusive\": false }, \"string\": { \"rules\": [65, 66, 68, 69, 70], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 59, 60, 61, 62, 63, 64, 67, 68, 69, 70], \"inclusive\": true } }\n };\n return lexer2;\n }();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n}();\nparser.parser = parser;\nvar requirementDiagram_default = parser;\n\n// src/diagrams/requirement/requirementDb.ts\nvar RequirementDB = class {\n constructor() {\n this.relations = [];\n this.latestRequirement = this.getInitialRequirement();\n this.requirements = /* @__PURE__ */ new Map();\n this.latestElement = this.getInitialElement();\n this.elements = /* @__PURE__ */ new Map();\n this.classes = /* @__PURE__ */ new Map();\n this.direction = \"TB\";\n this.RequirementType = {\n REQUIREMENT: \"Requirement\",\n FUNCTIONAL_REQUIREMENT: \"Functional Requirement\",\n INTERFACE_REQUIREMENT: \"Interface Requirement\",\n PERFORMANCE_REQUIREMENT: \"Performance Requirement\",\n PHYSICAL_REQUIREMENT: \"Physical Requirement\",\n DESIGN_CONSTRAINT: \"Design Constraint\"\n };\n this.RiskLevel = {\n LOW_RISK: \"Low\",\n MED_RISK: \"Medium\",\n HIGH_RISK: \"High\"\n };\n this.VerifyType = {\n VERIFY_ANALYSIS: \"Analysis\",\n VERIFY_DEMONSTRATION: \"Demonstration\",\n VERIFY_INSPECTION: \"Inspection\",\n VERIFY_TEST: \"Test\"\n };\n this.Relationships = {\n CONTAINS: \"contains\",\n COPIES: \"copies\",\n DERIVES: \"derives\",\n SATISFIES: \"satisfies\",\n VERIFIES: \"verifies\",\n REFINES: \"refines\",\n TRACES: \"traces\"\n };\n this.setAccTitle = setAccTitle;\n this.getAccTitle = getAccTitle;\n this.setAccDescription = setAccDescription;\n this.getAccDescription = getAccDescription;\n this.setDiagramTitle = setDiagramTitle;\n this.getDiagramTitle = getDiagramTitle;\n this.getConfig = /* @__PURE__ */ __name(() => getConfig().requirement, \"getConfig\");\n this.clear();\n this.setDirection = this.setDirection.bind(this);\n this.addRequirement = this.addRequirement.bind(this);\n this.setNewReqId = this.setNewReqId.bind(this);\n this.setNewReqRisk = this.setNewReqRisk.bind(this);\n this.setNewReqText = this.setNewReqText.bind(this);\n this.setNewReqVerifyMethod = this.setNewReqVerifyMethod.bind(this);\n this.addElement = this.addElement.bind(this);\n this.setNewElementType = this.setNewElementType.bind(this);\n this.setNewElementDocRef = this.setNewElementDocRef.bind(this);\n this.addRelationship = this.addRelationship.bind(this);\n this.setCssStyle = this.setCssStyle.bind(this);\n this.setClass = this.setClass.bind(this);\n this.defineClass = this.defineClass.bind(this);\n this.setAccTitle = this.setAccTitle.bind(this);\n this.setAccDescription = this.setAccDescription.bind(this);\n }\n static {\n __name(this, \"RequirementDB\");\n }\n getDirection() {\n return this.direction;\n }\n setDirection(dir) {\n this.direction = dir;\n }\n resetLatestRequirement() {\n this.latestRequirement = this.getInitialRequirement();\n }\n resetLatestElement() {\n this.latestElement = this.getInitialElement();\n }\n getInitialRequirement() {\n return {\n requirementId: \"\",\n text: \"\",\n risk: \"\",\n verifyMethod: \"\",\n name: \"\",\n type: \"\",\n cssStyles: [],\n classes: [\"default\"]\n };\n }\n getInitialElement() {\n return {\n name: \"\",\n type: \"\",\n docRef: \"\",\n cssStyles: [],\n classes: [\"default\"]\n };\n }\n addRequirement(name, type) {\n if (!this.requirements.has(name)) {\n this.requirements.set(name, {\n name,\n type,\n requirementId: this.latestRequirement.requirementId,\n text: this.latestRequirement.text,\n risk: this.latestRequirement.risk,\n verifyMethod: this.latestRequirement.verifyMethod,\n cssStyles: [],\n classes: [\"default\"]\n });\n }\n this.resetLatestRequirement();\n return this.requirements.get(name);\n }\n getRequirements() {\n return this.requirements;\n }\n setNewReqId(id) {\n if (this.latestRequirement !== void 0) {\n this.latestRequirement.requirementId = id;\n }\n }\n setNewReqText(text) {\n if (this.latestRequirement !== void 0) {\n this.latestRequirement.text = text;\n }\n }\n setNewReqRisk(risk) {\n if (this.latestRequirement !== void 0) {\n this.latestRequirement.risk = risk;\n }\n }\n setNewReqVerifyMethod(verifyMethod) {\n if (this.latestRequirement !== void 0) {\n this.latestRequirement.verifyMethod = verifyMethod;\n }\n }\n addElement(name) {\n if (!this.elements.has(name)) {\n this.elements.set(name, {\n name,\n type: this.latestElement.type,\n docRef: this.latestElement.docRef,\n cssStyles: [],\n classes: [\"default\"]\n });\n log.info(\"Added new element: \", name);\n }\n this.resetLatestElement();\n return this.elements.get(name);\n }\n getElements() {\n return this.elements;\n }\n setNewElementType(type) {\n if (this.latestElement !== void 0) {\n this.latestElement.type = type;\n }\n }\n setNewElementDocRef(docRef) {\n if (this.latestElement !== void 0) {\n this.latestElement.docRef = docRef;\n }\n }\n addRelationship(type, src, dst) {\n this.relations.push({\n type,\n src,\n dst\n });\n }\n getRelationships() {\n return this.relations;\n }\n clear() {\n this.relations = [];\n this.resetLatestRequirement();\n this.requirements = /* @__PURE__ */ new Map();\n this.resetLatestElement();\n this.elements = /* @__PURE__ */ new Map();\n this.classes = /* @__PURE__ */ new Map();\n clear();\n }\n setCssStyle(ids, styles) {\n for (const id of ids) {\n const node = this.requirements.get(id) ?? this.elements.get(id);\n if (!styles || !node) {\n return;\n }\n for (const s of styles) {\n if (s.includes(\",\")) {\n node.cssStyles.push(...s.split(\",\"));\n } else {\n node.cssStyles.push(s);\n }\n }\n }\n }\n setClass(ids, classNames) {\n for (const id of ids) {\n const node = this.requirements.get(id) ?? this.elements.get(id);\n if (node) {\n for (const _class of classNames) {\n node.classes.push(_class);\n const styles = this.classes.get(_class)?.styles;\n if (styles) {\n node.cssStyles.push(...styles);\n }\n }\n }\n }\n }\n defineClass(ids, style) {\n for (const id of ids) {\n let styleClass = this.classes.get(id);\n if (styleClass === void 0) {\n styleClass = { id, styles: [], textStyles: [] };\n this.classes.set(id, styleClass);\n }\n if (style) {\n style.forEach(function(s) {\n if (/color/.exec(s)) {\n const newStyle = s.replace(\"fill\", \"bgFill\");\n styleClass.textStyles.push(newStyle);\n }\n styleClass.styles.push(s);\n });\n }\n this.requirements.forEach((value) => {\n if (value.classes.includes(id)) {\n value.cssStyles.push(...style.flatMap((s) => s.split(\",\")));\n }\n });\n this.elements.forEach((value) => {\n if (value.classes.includes(id)) {\n value.cssStyles.push(...style.flatMap((s) => s.split(\",\")));\n }\n });\n }\n }\n getClasses() {\n return this.classes;\n }\n getData() {\n const config = getConfig();\n const nodes = [];\n const edges = [];\n for (const requirement of this.requirements.values()) {\n const node = requirement;\n node.id = requirement.name;\n node.cssStyles = requirement.cssStyles;\n node.cssClasses = requirement.classes.join(\" \");\n node.shape = \"requirementBox\";\n node.look = config.look;\n nodes.push(node);\n }\n for (const element of this.elements.values()) {\n const node = element;\n node.shape = \"requirementBox\";\n node.look = config.look;\n node.id = element.name;\n node.cssStyles = element.cssStyles;\n node.cssClasses = element.classes.join(\" \");\n nodes.push(node);\n }\n for (const relation of this.relations) {\n let counter = 0;\n const isContains = relation.type === this.Relationships.CONTAINS;\n const edge = {\n id: `${relation.src}-${relation.dst}-${counter}`,\n start: this.requirements.get(relation.src)?.name ?? this.elements.get(relation.src)?.name,\n end: this.requirements.get(relation.dst)?.name ?? this.elements.get(relation.dst)?.name,\n label: `<<${relation.type}>>`,\n classes: \"relationshipLine\",\n style: [\"fill:none\", isContains ? \"\" : \"stroke-dasharray: 10,7\"],\n labelpos: \"c\",\n thickness: \"normal\",\n type: \"normal\",\n pattern: isContains ? \"normal\" : \"dashed\",\n arrowTypeStart: isContains ? \"requirement_contains\" : \"\",\n arrowTypeEnd: isContains ? \"\" : \"requirement_arrow\",\n look: config.look\n };\n edges.push(edge);\n counter++;\n }\n return { nodes, edges, other: {}, config, direction: this.getDirection() };\n }\n};\n\n// src/diagrams/requirement/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `\n\n marker {\n fill: ${options.relationColor};\n stroke: ${options.relationColor};\n }\n\n marker.cross {\n stroke: ${options.lineColor};\n }\n\n svg {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n }\n\n .reqBox {\n fill: ${options.requirementBackground};\n fill-opacity: 1.0;\n stroke: ${options.requirementBorderColor};\n stroke-width: ${options.requirementBorderSize};\n }\n \n .reqTitle, .reqLabel{\n fill: ${options.requirementTextColor};\n }\n .reqLabelBox {\n fill: ${options.relationLabelBackground};\n fill-opacity: 1.0;\n }\n\n .req-title-line {\n stroke: ${options.requirementBorderColor};\n stroke-width: ${options.requirementBorderSize};\n }\n .relationshipLine {\n stroke: ${options.relationColor};\n stroke-width: 1;\n }\n .relationshipLabel {\n fill: ${options.relationLabelColor};\n }\n .divider {\n stroke: ${options.nodeBorder};\n stroke-width: 1;\n }\n .label {\n font-family: ${options.fontFamily};\n color: ${options.nodeTextColor || options.textColor};\n }\n .label text,span {\n fill: ${options.nodeTextColor || options.textColor};\n color: ${options.nodeTextColor || options.textColor};\n }\n .labelBkg {\n background-color: ${options.edgeLabelBackground};\n }\n\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/requirement/requirementRenderer.ts\nvar requirementRenderer_exports = {};\n__export(requirementRenderer_exports, {\n draw: () => draw\n});\nvar draw = /* @__PURE__ */ __name(async function(text, id, _version, diag) {\n log.info(\"REF0:\");\n log.info(\"Drawing requirement diagram (unified)\", id);\n const { securityLevel, state: conf, layout } = getConfig();\n const data4Layout = diag.db.getData();\n const svg = getDiagramElement(id, securityLevel);\n data4Layout.type = diag.type;\n data4Layout.layoutAlgorithm = getRegisteredLayoutAlgorithm(layout);\n data4Layout.nodeSpacing = conf?.nodeSpacing ?? 50;\n data4Layout.rankSpacing = conf?.rankSpacing ?? 50;\n data4Layout.markers = [\"requirement_contains\", \"requirement_arrow\"];\n data4Layout.diagramId = id;\n await render(data4Layout, svg);\n const padding = 8;\n utils_default.insertTitle(\n svg,\n \"requirementDiagramTitleText\",\n conf?.titleTopMargin ?? 25,\n diag.db.getDiagramTitle()\n );\n setupViewPortForSVG(svg, padding, \"requirementDiagram\", conf?.useMaxWidth ?? true);\n}, \"draw\");\n\n// src/diagrams/requirement/requirementDiagram.ts\nvar diagram = {\n parser: requirementDiagram_default,\n get db() {\n return new RequirementDB();\n },\n renderer: requirementRenderer_exports,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"names":["parser","o","__name","k","v","o2","l","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","$Vd","$Ve","$Vf","$Vg","$Vh","$Vi","$Vj","$Vk","$Vl","$Vm","$Vn","$Vo","$Vp","$Vq","$Vr","$Vs","$Vt","$Vu","$Vv","$Vw","$Vx","$Vy","$Vz","$VA","$VB","$VC","$VD","$VE","$VF","$VG","$VH","$VI","$VJ","$VK","$VL","$VM","$VN","$VO","$VP","$VQ","$VR","$VS","$VT","$VU","$VV","$VW","$VX","$VY","parser2","yytext","yyleng","yylineno","yy","yystate","$$","_$","$0","str","hash","error","input","self","stack","tstack","vstack","lstack","table","TERROR","EOF","args","lexer2","sharedState","yyloc","ranges","popStack","n","lex","token","symbol","state","action","r","yyval","p","len","newState","expected","errStr","lexer","ch","lines","oldLines","past","next","pre","c","match","indexed_rule","backup","tempMatch","index","rules","i","condition","yy_","$avoiding_name_collisions","YY_START","Parser","requirementDiagram_default","RequirementDB","_a","setAccTitle","getAccTitle","setAccDescription","getAccDescription","setDiagramTitle","getDiagramTitle","getConfig","dir","name","type","id","text","risk","verifyMethod","log","docRef","src","dst","clear","ids","styles","node","s","classNames","_class","style","styleClass","newStyle","value","config","nodes","edges","requirement","element","relation","counter","isContains","edge","getStyles","options","styles_default","requirementRenderer_exports","__export","draw","_version","diag","securityLevel","conf","layout","data4Layout","svg","getDiagramElement","getRegisteredLayoutAlgorithm","render","padding","utils_default","setupViewPortForSVG","diagram"],"mappings":"sqBAkCA,IAAIA,GAAS,UAAW,CACtB,IAAIC,EAAoBC,EAAO,SAASC,EAAGC,EAAGC,EAAIC,EAAG,CACnD,IAAKD,EAAKA,GAAM,GAAIC,EAAIH,EAAE,OAAQG,IAAKD,EAAGF,EAAEG,CAAC,CAAC,EAAIF,EAAG,CACrD,OAAOC,CACX,EAAK,GAAG,EAAGE,EAAM,CAAC,EAAG,CAAC,EAAGC,EAAM,CAAC,EAAG,CAAC,EAAGC,EAAM,CAAC,EAAG,CAAC,EAAGC,EAAM,CAAC,EAAG,CAAC,EAAGC,EAAM,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,CAAC,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,GAAI,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,GAAM,CAAC,GAAI,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAE,EAAGC,GAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,GAAI,EAAE,EAAGC,GAAM,CAAC,EAAG,GAAG,EAAGC,GAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAGC,EAAM,CAAC,EAAG,GAAG,EAAGC,EAAM,CAAC,EAAG,GAAG,EAAGC,EAAM,CAAC,EAAG,GAAG,EAAGC,EAAM,CAAC,EAAG,GAAG,EAAGC,EAAM,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CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,CAAC,GAAI,CAAC,EAAG,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AAM,qBAAqB,EAChC,MACF,IAAK,GACH,KAAK,SAAQ,EACb,MACF,IAAK,GACH,MAAO,4BAET,IAAK,GACH,MAAO,IAET,IAAK,GACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,GAET,IAAK,IACH,MACF,IAAK,IACH,MACF,IAAK,IACH,MACF,IAAK,IACH,MAAO,GAET,IAAK,IACH,MAAO,GAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,YAAK,MAAM,OAAO,EACX,GAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,UAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MACF,IAAK,IACH,KAAK,MAAM,QAAQ,EACnB,MACF,IAAK,IACH,KAAK,SAAQ,EACb,MACF,IAAK,IACH,YAAK,MAAM,OAAO,EACX,GAET,IAAK,IACH,YAAK,MAAM,OAAO,EACX,GAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,KAAK,MAAM,QAAQ,EACnB,MACF,IAAK,IACH,KAAK,SAAQ,EACb,MACF,IAAK,IACH,MAAO,UAET,IAAK,IACH,OAAAD,EAAI,OAASA,EAAI,OAAO,KAAI,EACrB,GAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,IAET,IAAK,IACH,MAAO,GAEnB,CACA,EAAS,WAAW,EACd,MAAO,CAAC,wBAAyB,wBAAyB,wBAAyB,wBAAyB,wBAAyB,yBAA0B,aAAc,eAAgB,+BAAgC,+BAAgC,+BAAgC,+BAAgC,iBAAkB,YAAa,gBAAiB,gBAAiB,UAAW,6BAA8B,WAAY,WAAY,aAAc,UAAW,aAAc,eAAgB,eAAgB,uBAAwB,sBAAuB,gCAAiC,+BAAgC,iCAAkC,8BAA+B,2BAA4B,cAAe,iBAAkB,eAAgB,mBAAoB,wBAAyB,qBAAsB,eAAgB,kBAAmB,mBAAoB,iBAAkB,kBAAmB,oBAAqB,mBAAoB,kBAAmB,iBAAkB,eAAgB,iBAAkB,gBAAiB,YAAa,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAAa,WAAY,mBAAoB,gBAAiB,WAAY,WAAY,UAAW,YAAa,YAAa,cAAe,iCAAkC,YAAa,eAAgB,SAAS,EACr0C,WAAY,CAAE,oBAAuB,CAAE,MAAS,CAAC,EAAG,EAAG,GAAI,GAAI,EAAE,EAAG,UAAa,EAAK,EAAI,UAAa,CAAE,MAAS,CAAC,EAAG,GAAI,GAAI,EAAE,EAAG,UAAa,EAAK,EAAI,UAAa,CAAE,MAAS,CAAC,EAAG,GAAI,GAAI,EAAE,EAAG,UAAa,EAAK,EAAI,MAAS,CAAE,MAAS,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAG,UAAa,EAAK,EAAI,UAAa,CAAE,MAAS,CAAC,GAAI,GAAI,EAAE,EAAG,UAAa,EAAK,EAAI,MAAS,CAAE,MAAS,CAAC,GAAI,GAAI,EAAE,EAAG,UAAa,EAAK,EAAI,OAAU,CAAE,MAAS,CAAC,GAAI,GAAI,GAAI,GAAI,EAAE,EAAG,UAAa,EAAK,EAAI,QAAW,CAAE,MAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAE,EAAG,UAAa,EAAI,CAAE,CACpvB,EACI,OAAOlC,CACX,EAAG,EACDtB,GAAQ,MAAQwC,GAChB,SAASmB,IAAS,CAChB,KAAK,GAAK,CAAA,CACd,CACE,OAAA7H,EAAO6H,GAAQ,QAAQ,EACvBA,GAAO,UAAY3D,GACnBA,GAAQ,OAAS2D,GACV,IAAIA,EACb,EAAC,EACD/H,GAAO,OAASA,GAChB,IAAIgI,GAA6BhI,KAG7BiI,IAAgBC,EAAA,KAAM,CACxB,aAAc,CACZ,KAAK,UAAY,CAAA,EACjB,KAAK,kBAAoB,KAAK,sBAAqB,EACnD,KAAK,aAA+B,IAAI,IACxC,KAAK,cAAgB,KAAK,kBAAiB,EAC3C,KAAK,SAA2B,IAAI,IACpC,KAAK,QAA0B,IAAI,IACnC,KAAK,UAAY,KACjB,KAAK,gBAAkB,CACrB,YAAa,cACb,uBAAwB,yBACxB,sBAAuB,wBACvB,wBAAyB,0BACzB,qBAAsB,uBACtB,kBAAmB,mBACzB,EACI,KAAK,UAAY,CACf,SAAU,MACV,SAAU,SACV,UAAW,MACjB,EACI,KAAK,WAAa,CAChB,gBAAiB,WACjB,qBAAsB,gBACtB,kBAAmB,aACnB,YAAa,MACnB,EACI,KAAK,cAAgB,CACnB,SAAU,WACV,OAAQ,SACR,QAAS,UACT,UAAW,YACX,SAAU,WACV,QAAS,UACT,OAAQ,QACd,EACI,KAAK,YAAcC,GACnB,KAAK,YAAcC,GACnB,KAAK,kBAAoBC,GACzB,KAAK,kBAAoBC,GACzB,KAAK,gBAAkBC,GACvB,KAAK,gBAAkBC,GACvB,KAAK,UAA4BtI,EAAO,IAAMuI,GAAS,EAAG,YAAa,WAAW,EAClF,KAAK,MAAK,EACV,KAAK,aAAe,KAAK,aAAa,KAAK,IAAI,EAC/C,KAAK,eAAiB,KAAK,eAAe,KAAK,IAAI,EACnD,KAAK,YAAc,KAAK,YAAY,KAAK,IAAI,EAC7C,KAAK,cAAgB,KAAK,cAAc,KAAK,IAAI,EACjD,KAAK,cAAgB,KAAK,cAAc,KAAK,IAAI,EACjD,KAAK,sBAAwB,KAAK,sBAAsB,KAAK,IAAI,EACjE,KAAK,WAAa,KAAK,WAAW,KAAK,IAAI,EAC3C,KAAK,kBAAoB,KAAK,kBAAkB,KAAK,IAAI,EACzD,KAAK,oBAAsB,KAAK,oBAAoB,KAAK,IAAI,EAC7D,KAAK,gBAAkB,KAAK,gBAAgB,KAAK,IAAI,EACrD,KAAK,YAAc,KAAK,YAAY,KAAK,IAAI,EAC7C,KAAK,SAAW,KAAK,SAAS,KAAK,IAAI,EACvC,KAAK,YAAc,KAAK,YAAY,KAAK,IAAI,EAC7C,KAAK,YAAc,KAAK,YAAY,KAAK,IAAI,EAC7C,KAAK,kBAAoB,KAAK,kBAAkB,KAAK,IAAI,CAC7D,CAIE,cAAe,CACb,OAAO,KAAK,SAChB,CACE,aAAaC,EAAK,CAChB,KAAK,UAAYA,CACrB,CACE,wBAAyB,CACvB,KAAK,kBAAoB,KAAK,sBAAqB,CACvD,CACE,oBAAqB,CACnB,KAAK,cAAgB,KAAK,kBAAiB,CAC/C,CACE,uBAAwB,CACtB,MAAO,CACL,cAAe,GACf,KAAM,GACN,KAAM,GACN,aAAc,GACd,KAAM,GACN,KAAM,GACN,UAAW,CAAA,EACX,QAAS,CAAC,SAAS,CACzB,CACA,CACE,mBAAoB,CAClB,MAAO,CACL,KAAM,GACN,KAAM,GACN,OAAQ,GACR,UAAW,CAAA,EACX,QAAS,CAAC,SAAS,CACzB,CACA,CACE,eAAeC,EAAMC,EAAM,CACzB,OAAK,KAAK,aAAa,IAAID,CAAI,GAC7B,KAAK,aAAa,IAAIA,EAAM,CAC1B,KAAAA,EACA,KAAAC,EACA,cAAe,KAAK,kBAAkB,cACtC,KAAM,KAAK,kBAAkB,KAC7B,KAAM,KAAK,kBAAkB,KAC7B,aAAc,KAAK,kBAAkB,aACrC,UAAW,CAAA,EACX,QAAS,CAAC,SAAS,CAC3B,CAAO,EAEH,KAAK,uBAAsB,EACpB,KAAK,aAAa,IAAID,CAAI,CACrC,CACE,iBAAkB,CAChB,OAAO,KAAK,YAChB,CACE,YAAYE,EAAI,CACV,KAAK,oBAAsB,SAC7B,KAAK,kBAAkB,cAAgBA,EAE7C,CACE,cAAcC,EAAM,CACd,KAAK,oBAAsB,SAC7B,KAAK,kBAAkB,KAAOA,EAEpC,CACE,cAAcC,EAAM,CACd,KAAK,oBAAsB,SAC7B,KAAK,kBAAkB,KAAOA,EAEpC,CACE,sBAAsBC,EAAc,CAC9B,KAAK,oBAAsB,SAC7B,KAAK,kBAAkB,aAAeA,EAE5C,CACE,WAAWL,EAAM,CACf,OAAK,KAAK,SAAS,IAAIA,CAAI,IACzB,KAAK,SAAS,IAAIA,EAAM,CACtB,KAAAA,EACA,KAAM,KAAK,cAAc,KACzB,OAAQ,KAAK,cAAc,OAC3B,UAAW,CAAA,EACX,QAAS,CAAC,SAAS,CAC3B,CAAO,EACDM,GAAI,KAAK,sBAAuBN,CAAI,GAEtC,KAAK,mBAAkB,EAChB,KAAK,SAAS,IAAIA,CAAI,CACjC,CACE,aAAc,CACZ,OAAO,KAAK,QAChB,CACE,kBAAkBC,EAAM,CAClB,KAAK,gBAAkB,SACzB,KAAK,cAAc,KAAOA,EAEhC,CACE,oBAAoBM,EAAQ,CACtB,KAAK,gBAAkB,SACzB,KAAK,cAAc,OAASA,EAElC,CACE,gBAAgBN,EAAMO,EAAKC,EAAK,CAC9B,KAAK,UAAU,KAAK,CAClB,KAAAR,EACA,IAAAO,EACA,IAAAC,CACN,CAAK,CACL,CACE,kBAAmB,CACjB,OAAO,KAAK,SAChB,CACE,OAAQ,CACN,KAAK,UAAY,CAAA,EACjB,KAAK,uBAAsB,EAC3B,KAAK,aAA+B,IAAI,IACxC,KAAK,mBAAkB,EACvB,KAAK,SAA2B,IAAI,IACpC,KAAK,QAA0B,IAAI,IACnCC,GAAK,CACT,CACE,YAAYC,EAAKC,EAAQ,CACvB,UAAWV,KAAMS,EAAK,CACpB,MAAME,EAAO,KAAK,aAAa,IAAIX,CAAE,GAAK,KAAK,SAAS,IAAIA,CAAE,EAC9D,GAAI,CAACU,GAAU,CAACC,EACd,OAEF,UAAWC,KAAKF,EACVE,EAAE,SAAS,GAAG,EAChBD,EAAK,UAAU,KAAK,GAAGC,EAAE,MAAM,GAAG,CAAC,EAEnCD,EAAK,UAAU,KAAKC,CAAC,CAG/B,CACA,CACE,SAASH,EAAKI,EAAY,CACxB,UAAWb,KAAMS,EAAK,CACpB,MAAME,EAAO,KAAK,aAAa,IAAIX,CAAE,GAAK,KAAK,SAAS,IAAIA,CAAE,EAC9D,GAAIW,EACF,UAAWG,KAAUD,EAAY,CAC/BF,EAAK,QAAQ,KAAKG,CAAM,EACxB,MAAMJ,EAAS,KAAK,QAAQ,IAAII,CAAM,GAAG,OACrCJ,GACFC,EAAK,UAAU,KAAK,GAAGD,CAAM,CAEzC,CAEA,CACA,CACE,YAAYD,EAAKM,EAAO,CACtB,UAAWf,KAAMS,EAAK,CACpB,IAAIO,EAAa,KAAK,QAAQ,IAAIhB,CAAE,EAChCgB,IAAe,SACjBA,EAAa,CAAE,GAAAhB,EAAI,OAAQ,CAAA,EAAI,WAAY,CAAA,CAAE,EAC7C,KAAK,QAAQ,IAAIA,EAAIgB,CAAU,GAE7BD,GACFA,EAAM,QAAQ,SAASH,EAAG,CACxB,GAAI,QAAQ,KAAKA,CAAC,EAAG,CACnB,MAAMK,EAAWL,EAAE,QAAQ,OAAQ,QAAQ,EAC3CI,EAAW,WAAW,KAAKC,CAAQ,CAC/C,CACUD,EAAW,OAAO,KAAKJ,CAAC,CAClC,CAAS,EAEH,KAAK,aAAa,QAASM,GAAU,CAC/BA,EAAM,QAAQ,SAASlB,CAAE,GAC3BkB,EAAM,UAAU,KAAK,GAAGH,EAAM,QAASH,GAAMA,EAAE,MAAM,GAAG,CAAC,CAAC,CAEpE,CAAO,EACD,KAAK,SAAS,QAASM,GAAU,CAC3BA,EAAM,QAAQ,SAASlB,CAAE,GAC3BkB,EAAM,UAAU,KAAK,GAAGH,EAAM,QAASH,GAAMA,EAAE,MAAM,GAAG,CAAC,CAAC,CAEpE,CAAO,CACP,CACA,CACE,YAAa,CACX,OAAO,KAAK,OAChB,CACE,SAAU,CACR,MAAMO,EAASvB,GAAS,EAClBwB,EAAQ,CAAA,EACRC,EAAQ,CAAA,EACd,UAAWC,KAAe,KAAK,aAAa,OAAM,EAAI,CACpD,MAAMX,EAAOW,EACbX,EAAK,GAAKW,EAAY,KACtBX,EAAK,UAAYW,EAAY,UAC7BX,EAAK,WAAaW,EAAY,QAAQ,KAAK,GAAG,EAC9CX,EAAK,MAAQ,iBACbA,EAAK,KAAOQ,EAAO,KACnBC,EAAM,KAAKT,CAAI,CACrB,CACI,UAAWY,KAAW,KAAK,SAAS,OAAM,EAAI,CAC5C,MAAMZ,EAAOY,EACbZ,EAAK,MAAQ,iBACbA,EAAK,KAAOQ,EAAO,KACnBR,EAAK,GAAKY,EAAQ,KAClBZ,EAAK,UAAYY,EAAQ,UACzBZ,EAAK,WAAaY,EAAQ,QAAQ,KAAK,GAAG,EAC1CH,EAAM,KAAKT,CAAI,CACrB,CACI,UAAWa,KAAY,KAAK,UAAW,CACrC,IAAIC,EAAU,EACd,MAAMC,EAAaF,EAAS,OAAS,KAAK,cAAc,SAClDG,EAAO,CACX,GAAI,GAAGH,EAAS,GAAG,IAAIA,EAAS,GAAG,IAAIC,CAAO,GAC9C,MAAO,KAAK,aAAa,IAAID,EAAS,GAAG,GAAG,MAAQ,KAAK,SAAS,IAAIA,EAAS,GAAG,GAAG,KACrF,IAAK,KAAK,aAAa,IAAIA,EAAS,GAAG,GAAG,MAAQ,KAAK,SAAS,IAAIA,EAAS,GAAG,GAAG,KACnF,MAAO,WAAWA,EAAS,IAAI,WAC/B,QAAS,mBACT,MAAO,CAAC,YAAaE,EAAa,GAAK,wBAAwB,EAC/D,SAAU,IACV,UAAW,SACX,KAAM,SACN,QAASA,EAAa,SAAW,SACjC,eAAgBA,EAAa,uBAAyB,GACtD,aAAcA,EAAa,GAAK,oBAChC,KAAMP,EAAO,IACrB,EACME,EAAM,KAAKM,CAAI,EACfF,GACN,CACI,MAAO,CAAE,MAAAL,EAAO,MAAAC,EAAO,MAAO,CAAA,EAAI,OAAAF,EAAQ,UAAW,KAAK,cAAc,CAC5E,CACA,EAjOI9J,EAAOgI,EAAM,eAAe,EA9DZA,GAkShBuC,GAA4BvK,EAAQwK,GAAY;AAAA;AAAA;AAAA,YAGxCA,EAAQ,aAAa;AAAA,cACnBA,EAAQ,aAAa;AAAA;AAAA;AAAA;AAAA,cAIrBA,EAAQ,SAAS;AAAA;AAAA;AAAA;AAAA,mBAIZA,EAAQ,UAAU;AAAA,iBACpBA,EAAQ,QAAQ;AAAA;AAAA;AAAA;AAAA,YAIrBA,EAAQ,qBAAqB;AAAA;AAAA,cAE3BA,EAAQ,sBAAsB;AAAA,oBACxBA,EAAQ,qBAAqB;AAAA;AAAA;AAAA;AAAA,aAIpCA,EAAQ,oBAAoB;AAAA;AAAA;AAAA,YAG7BA,EAAQ,uBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA,cAK7BA,EAAQ,sBAAsB;AAAA,oBACxBA,EAAQ,qBAAqB;AAAA;AAAA;AAAA,cAGnCA,EAAQ,aAAa;AAAA;AAAA;AAAA;AAAA,YAIvBA,EAAQ,kBAAkB;AAAA;AAAA;AAAA,cAGxBA,EAAQ,UAAU;AAAA;AAAA;AAAA;AAAA,mBAIbA,EAAQ,UAAU;AAAA,aACxBA,EAAQ,eAAiBA,EAAQ,SAAS;AAAA;AAAA;AAAA,YAG3CA,EAAQ,eAAiBA,EAAQ,SAAS;AAAA,aACzCA,EAAQ,eAAiBA,EAAQ,SAAS;AAAA;AAAA;AAAA,wBAG/BA,EAAQ,mBAAmB;AAAA;AAAA;AAAA,EAGhD,WAAW,EACVC,GAAiBF,GAGjBG,GAA8B,CAAA,EAClCC,GAASD,GAA6B,CACpC,KAAM,IAAME,EACd,CAAC,EACD,IAAIA,GAAuB5K,EAAO,eAAe4I,EAAMD,EAAIkC,EAAUC,EAAM,CACzE/B,GAAI,KAAK,OAAO,EAChBA,GAAI,KAAK,wCAAyCJ,CAAE,EACpD,KAAM,CAAE,cAAAoC,EAAe,MAAOC,EAAM,OAAAC,CAAM,EAAK1C,GAAS,EAClD2C,EAAcJ,EAAK,GAAG,QAAO,EAC7BK,EAAMC,GAAkBzC,EAAIoC,CAAa,EAC/CG,EAAY,KAAOJ,EAAK,KACxBI,EAAY,gBAAkBG,GAA6BJ,CAAM,EACjEC,EAAY,YAAcF,GAAM,aAAe,GAC/CE,EAAY,YAAcF,GAAM,aAAe,GAC/CE,EAAY,QAAU,CAAC,uBAAwB,mBAAmB,EAClEA,EAAY,UAAYvC,EACxB,MAAM2C,GAAOJ,EAAaC,CAAG,EAC7B,MAAMI,EAAU,EAChBC,GAAc,YACZL,EACA,8BACAH,GAAM,gBAAkB,GACxBF,EAAK,GAAG,gBAAe,CAC3B,EACEW,GAAoBN,EAAKI,EAAS,qBAAsBP,GAAM,aAAe,EAAI,CACnF,EAAG,MAAM,EAGLU,GAAU,CACZ,OAAQ5D,GACR,IAAI,IAAK,CACP,OAAO,IAAIC,EACf,EACE,SAAU2C,GACV,OAAQD,EACV","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{j as S,r}from"./chunk-QMGIS6GS-CG5cA6CX.js";import{a as P,o as u,l as R,b as g,s as y}from"./index-rknZKmMI.js";const E=u({type:R("epicshop:file-change"),data:u({filePaths:g(y())})});function w({watchPaths:d}){const o=P(),s=S(),c=r.useRef(s);r.useEffect(()=>{c.current=s},[s]);const n=new URLSearchParams;for(const e of d)n.append("watch",e);const a=n.toString(),h=o.protocol==="https:"?"wss:":"ws:",m=o.hostname,v=o.port,i=`${h}//${m}:${v}/__ws?${a}`;r.useEffect(()=>{if(!a)return;let e=null;function l(){e&&e.close(),e=new WebSocket(i),e.onmessage=t=>{const p=E.safeParse(JSON.parse(t.data));if(!p.success)return;const{data:f}=p;f.type==="epicshop:file-change"&&(console.log("🐨 Revalidating due to file changes:",f.data.filePaths),c.current.revalidate())},e.onclose=t=>{t.code===1006&&setTimeout(()=>{l()},1e3)},e.onerror=t=>{console.error("🐨 EpicShop WebSocket error:",t)}}return l(),()=>{e?.close()}},[a,i])}const T=ENV.EPICSHOP_DEPLOYED?()=>null:w;export{T as u};
|
|
2
|
+
//# sourceMappingURL=revalidation-ws-DJwDeSaI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"revalidation-ws-DJwDeSaI.js","sources":["../../../app/components/revalidation-ws.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport { useRevalidator } from 'react-router'\nimport { z } from 'zod'\nimport { useRequestInfo } from '#app/utils/request-info.js'\n\nconst eventSchema = z.object({\n\ttype: z.literal('epicshop:file-change'),\n\tdata: z.object({\n\t\tfilePaths: z.array(z.string()),\n\t}),\n})\n\nfunction useRevalidationWSImpl({ watchPaths }: { watchPaths: Array<string> }) {\n\tconst requestInfo = useRequestInfo()\n\n\tconst revalidator = useRevalidator()\n\tconst latestRevalidatorRef = useRef(revalidator)\n\tuseEffect(() => {\n\t\tlatestRevalidatorRef.current = revalidator\n\t}, [revalidator])\n\n\tconst socketParams = new URLSearchParams()\n\tfor (const path of watchPaths) {\n\t\tsocketParams.append('watch', path)\n\t}\n\tconst socketQuery = socketParams.toString()\n\tconst protocol = requestInfo.protocol === 'https:' ? 'wss:' : 'ws:'\n\tconst host = requestInfo.hostname\n\tconst port = requestInfo.port\n\tconst socketPath = `${protocol}//${host}:${port}/__ws?${socketQuery}`\n\n\tuseEffect(() => {\n\t\tif (!socketQuery) return\n\t\tlet ws: WebSocket | null = null\n\t\tfunction createWebSocket() {\n\t\t\tif (ws) ws.close()\n\n\t\t\tws = new WebSocket(socketPath)\n\n\t\t\tws.onmessage = (message) => {\n\t\t\t\tconst eventParsed = eventSchema.safeParse(JSON.parse(message.data))\n\t\t\t\tif (!eventParsed.success) return\n\t\t\t\tconst { data: event } = eventParsed\n\t\t\t\tif (event.type !== 'epicshop:file-change') return\n\t\t\t\tconsole.log(\n\t\t\t\t\t'🐨 Revalidating due to file changes:',\n\t\t\t\t\tevent.data.filePaths,\n\t\t\t\t)\n\t\t\t\tvoid latestRevalidatorRef.current.revalidate()\n\t\t\t}\n\n\t\t\tws.onclose = (event) => {\n\t\t\t\tif (event.code === 1006) {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tcreateWebSocket()\n\t\t\t\t\t}, 1000)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tws.onerror = (error) => {\n\t\t\t\tconsole.error('🐨 EpicShop WebSocket error:', error)\n\t\t\t}\n\t\t}\n\n\t\tcreateWebSocket()\n\n\t\t// Cleanup function to close the WebSocket when the component unmounts\n\t\treturn () => {\n\t\t\tws?.close()\n\t\t}\n\t}, [socketQuery, socketPath])\n}\n\nexport const useRevalidationWS = ENV.EPICSHOP_DEPLOYED\n\t? () => null\n\t: useRevalidationWSImpl\n"],"names":["eventSchema","z.object","z.literal","z.array","z.string","useRevalidationWSImpl","watchPaths","requestInfo","useRequestInfo","revalidator","useRevalidator","latestRevalidatorRef","useRef","useEffect","socketParams","path","socketQuery","protocol","host","port","socketPath","ws","createWebSocket","message","eventParsed","event","error","useRevalidationWS"],"mappings":"uHAKA,MAAMA,EAAcC,EAAS,CAC5B,KAAMC,EAAU,sBAAsB,EACtC,KAAMD,EAAS,CACd,UAAWE,EAAQC,GAAU,CAAA,CAC7B,CACF,CAAC,EAED,SAASC,EAAsB,CAAE,WAAAC,GAA6C,CAC7E,MAAMC,EAAcC,EAAA,EAEdC,EAAcC,EAAA,EACdC,EAAuBC,EAAAA,OAAOH,CAAW,EAC/CI,EAAAA,UAAU,IAAM,CACfF,EAAqB,QAAUF,CAAA,EAC7B,CAACA,CAAW,CAAC,EAEhB,MAAMK,EAAe,IAAI,gBACzB,UAAWC,KAAQT,EAClBQ,EAAa,OAAO,QAASC,CAAI,EAElC,MAAMC,EAAcF,EAAa,SAAA,EAC3BG,EAAWV,EAAY,WAAa,SAAW,OAAS,MACxDW,EAAOX,EAAY,SACnBY,EAAOZ,EAAY,KACnBa,EAAa,GAAGH,CAAQ,KAAKC,CAAI,IAAIC,CAAI,SAASH,CAAW,GAEnEH,EAAAA,UAAU,IAAM,CACf,GAAI,CAACG,EAAa,OAClB,IAAIK,EAAuB,KAC3B,SAASC,GAAkB,CACtBD,KAAO,MAAA,EAEXA,EAAK,IAAI,UAAUD,CAAU,EAE7BC,EAAG,UAAaE,GAAY,CAC3B,MAAMC,EAAcxB,EAAY,UAAU,KAAK,MAAMuB,EAAQ,IAAI,CAAC,EAClE,GAAI,CAACC,EAAY,QAAS,OAC1B,KAAM,CAAE,KAAMC,CAAA,EAAUD,EACpBC,EAAM,OAAS,yBACnB,QAAQ,IACP,uCACAA,EAAM,KAAK,SAAA,EAEPd,EAAqB,QAAQ,WAAA,EAAW,EAG9CU,EAAG,QAAWI,GAAU,CACnBA,EAAM,OAAS,MAClB,WAAW,IAAM,CAChBH,EAAA,CAAgB,EACd,GAAI,CACR,EAGDD,EAAG,QAAWK,GAAU,CACvB,QAAQ,MAAM,+BAAgCA,CAAK,CAAA,CACpD,CAGD,OAAAJ,EAAA,EAGO,IAAM,CACZD,GAAI,MAAA,CAAM,CACX,EACE,CAACL,EAAaI,CAAU,CAAC,CAC7B,CAEO,MAAMO,EAAoB,IAAI,kBAClC,IAAM,KACNtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"robots_._txt-l0sNRNKZ.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{o as V,R as I,r as p,d as W,w as Y,a as $,c as q,f as H,O as L,M as z,K,S as X,P as J}from"./chunk-QMGIS6GS-CG5cA6CX.js";import{j as c}from"./jsx-runtime-EKYJJIwR.js";import{d as Z,u as tt,a as et}from"./misc-COGqV2fm.js";import{a as nt}from"./pe-DoDyGTeN.js";import{G as rt}from"./error-boundary-B8bEOgxp.js";import{E as it}from"./progress-bar-Cww9t8Vn.js";import{T as st,t as h}from"./index-LNXI3Vlr.js";import{T as at}from"./tooltip-Cm7A1uIP.js";import{o as ot,s as ct,h as ut,u as ft,C as lt}from"./index-rknZKmMI.js";import{P as ht}from"./presence-tDxUeb6L.js";import{g as pt}from"./seo-t5J-DRxw.js";import"./index-Bp_2FjuO.js";import"./online-CwZkKwTv.js";var S,A;function dt(){if(A)return S;A=1;var s={linear:function(t,n,e,i){var r=e-n;return r*t/i+n},easeInQuad:function(t,n,e,i){var r=e-n;return r*(t/=i)*t+n},easeOutQuad:function(t,n,e,i){var r=e-n;return-r*(t/=i)*(t-2)+n},easeInOutQuad:function(t,n,e,i){var r=e-n;return(t/=i/2)<1?r/2*t*t+n:-r/2*(--t*(t-2)-1)+n},easeInCubic:function(t,n,e,i){var r=e-n;return r*(t/=i)*t*t+n},easeOutCubic:function(t,n,e,i){var r=e-n;return r*((t=t/i-1)*t*t+1)+n},easeInOutCubic:function(t,n,e,i){var r=e-n;return(t/=i/2)<1?r/2*t*t*t+n:r/2*((t-=2)*t*t+2)+n},easeInQuart:function(t,n,e,i){var r=e-n;return r*(t/=i)*t*t*t+n},easeOutQuart:function(t,n,e,i){var r=e-n;return-r*((t=t/i-1)*t*t*t-1)+n},easeInOutQuart:function(t,n,e,i){var r=e-n;return(t/=i/2)<1?r/2*t*t*t*t+n:-r/2*((t-=2)*t*t*t-2)+n},easeInQuint:function(t,n,e,i){var r=e-n;return r*(t/=i)*t*t*t*t+n},easeOutQuint:function(t,n,e,i){var r=e-n;return r*((t=t/i-1)*t*t*t*t+1)+n},easeInOutQuint:function(t,n,e,i){var r=e-n;return(t/=i/2)<1?r/2*t*t*t*t*t+n:r/2*((t-=2)*t*t*t*t+2)+n},easeInSine:function(t,n,e,i){var r=e-n;return-r*Math.cos(t/i*(Math.PI/2))+r+n},easeOutSine:function(t,n,e,i){var r=e-n;return r*Math.sin(t/i*(Math.PI/2))+n},easeInOutSine:function(t,n,e,i){var r=e-n;return-r/2*(Math.cos(Math.PI*t/i)-1)+n},easeInExpo:function(t,n,e,i){var r=e-n;return t==0?n:r*Math.pow(2,10*(t/i-1))+n},easeOutExpo:function(t,n,e,i){var r=e-n;return t==i?n+r:r*(-Math.pow(2,-10*t/i)+1)+n},easeInOutExpo:function(t,n,e,i){var r=e-n;return t===0?n:t===i?n+r:(t/=i/2)<1?r/2*Math.pow(2,10*(t-1))+n:r/2*(-Math.pow(2,-10*--t)+2)+n},easeInCirc:function(t,n,e,i){var r=e-n;return-r*(Math.sqrt(1-(t/=i)*t)-1)+n},easeOutCirc:function(t,n,e,i){var r=e-n;return r*Math.sqrt(1-(t=t/i-1)*t)+n},easeInOutCirc:function(t,n,e,i){var r=e-n;return(t/=i/2)<1?-r/2*(Math.sqrt(1-t*t)-1)+n:r/2*(Math.sqrt(1-(t-=2)*t)+1)+n},easeInElastic:function(t,n,e,i){var r=e-n,a,o,u;return u=1.70158,o=0,a=r,t===0?n:(t/=i)===1?n+r:(o||(o=i*.3),a<Math.abs(r)?(a=r,u=o/4):u=o/(2*Math.PI)*Math.asin(r/a),-(a*Math.pow(2,10*(t-=1))*Math.sin((t*i-u)*(2*Math.PI)/o))+n)},easeOutElastic:function(t,n,e,i){var r=e-n,a,o,u;return u=1.70158,o=0,a=r,t===0?n:(t/=i)===1?n+r:(o||(o=i*.3),a<Math.abs(r)?(a=r,u=o/4):u=o/(2*Math.PI)*Math.asin(r/a),a*Math.pow(2,-10*t)*Math.sin((t*i-u)*(2*Math.PI)/o)+r+n)},easeInOutElastic:function(t,n,e,i){var r=e-n,a,o,u;return u=1.70158,o=0,a=r,t===0?n:(t/=i/2)===2?n+r:(o||(o=i*(.3*1.5)),a<Math.abs(r)?(a=r,u=o/4):u=o/(2*Math.PI)*Math.asin(r/a),t<1?-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*i-u)*(2*Math.PI)/o))+n:a*Math.pow(2,-10*(t-=1))*Math.sin((t*i-u)*(2*Math.PI)/o)*.5+r+n)},easeInBack:function(t,n,e,i,r){var a=e-n;return r===void 0&&(r=1.70158),a*(t/=i)*t*((r+1)*t-r)+n},easeOutBack:function(t,n,e,i,r){var a=e-n;return r===void 0&&(r=1.70158),a*((t=t/i-1)*t*((r+1)*t+r)+1)+n},easeInOutBack:function(t,n,e,i,r){var a=e-n;return r===void 0&&(r=1.70158),(t/=i/2)<1?a/2*(t*t*(((r*=1.525)+1)*t-r))+n:a/2*((t-=2)*t*(((r*=1.525)+1)*t+r)+2)+n},easeInBounce:function(t,n,e,i){var r=e-n,a;return a=s.easeOutBounce(i-t,0,r,i),r-a+n},easeOutBounce:function(t,n,e,i){var r=e-n;return(t/=i)<1/2.75?r*(7.5625*t*t)+n:t<2/2.75?r*(7.5625*(t-=1.5/2.75)*t+.75)+n:t<2.5/2.75?r*(7.5625*(t-=2.25/2.75)*t+.9375)+n:r*(7.5625*(t-=2.625/2.75)*t+.984375)+n},easeInOutBounce:function(t,n,e,i){var r=e-n,a;return t<i/2?(a=s.easeInBounce(t*2,0,r,i),a*.5+n):(a=s.easeOutBounce(t*2-i,0,r,i),a*.5+r*.5+n)}};return S=s,S}var vt=dt();const wt=V(vt);function mt(s,t){for(var n=0;n<t.length;n++){var e=t[n];e.enumerable=e.enumerable||!1,e.configurable=!0,"value"in e&&(e.writable=!0),Object.defineProperty(s,e.key,e)}}function gt(s,t,n){return t&&mt(s.prototype,t),s}function M(){return M=Object.assign||function(s){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(s[e]=n[e])}return s},M.apply(this,arguments)}function xt(s,t){s.prototype=Object.create(t.prototype),s.prototype.constructor=s,k(s,t)}function k(s,t){return k=Object.setPrototypeOf||function(e,i){return e.__proto__=i,e},k(s,t)}function yt(s){return s*Math.PI/180}function l(s,t){return s+Math.random()*(t-s)}function Pt(s,t){return Math.floor(s+Math.random()*(t-s+1))}var O;(function(s){s[s.Circle=0]="Circle",s[s.Square=1]="Square",s[s.Strip=2]="Strip"})(O||(O={}));var d;(function(s){s[s.Positive=1]="Positive",s[s.Negative=-1]="Negative"})(d||(d={}));var Ot=function(){function s(n,e,i,r){this.getOptions=e;var a=this.getOptions(),o=a.colors,u=a.initialVelocityX,f=a.initialVelocityY;this.context=n,this.x=i,this.y=r,this.w=l(5,20),this.h=l(5,20),this.radius=l(5,10),this.vx=l(-u,u),this.vy=l(-f,0),this.shape=Pt(0,2),this.angle=yt(l(0,360)),this.angularSpin=l(-.2,.2),this.color=o[Math.floor(Math.random()*o.length)],this.rotateY=l(0,1),this.rotationDirection=l(0,1)?d.Positive:d.Negative}var t=s.prototype;return t.update=function(){var e=this.getOptions(),i=e.gravity,r=e.wind,a=e.friction,o=e.opacity,u=e.drawShape;this.x+=this.vx,this.y+=this.vy,this.vy+=i,this.vx+=r,this.vx*=a,this.vy*=a,this.rotateY>=1&&this.rotationDirection===d.Positive?this.rotationDirection=d.Negative:this.rotateY<=-1&&this.rotationDirection===d.Negative&&(this.rotationDirection=d.Positive);var f=.1*this.rotationDirection;if(this.rotateY+=f,this.angle+=this.angularSpin,this.context.save(),this.context.translate(this.x,this.y),this.context.rotate(this.angle),this.context.scale(1,this.rotateY),this.context.rotate(this.angle),this.context.beginPath(),this.context.fillStyle=this.color,this.context.strokeStyle=this.color,this.context.globalAlpha=o,this.context.lineCap="round",this.context.lineWidth=2,u&&typeof u=="function")u.call(this,this.context);else switch(this.shape){case O.Circle:{this.context.beginPath(),this.context.arc(0,0,this.radius,0,2*Math.PI),this.context.fill();break}case O.Square:{this.context.fillRect(-this.w/2,-this.h/2,this.w,this.h);break}case O.Strip:{this.context.fillRect(-this.w/6,-this.h/2,this.w/3,this.h);break}default:throw new Error("Unknown type in Particle.ts")}this.context.closePath(),this.context.restore()},s}(),It=function(t,n){var e=this;this.x=0,this.y=0,this.w=0,this.h=0,this.lastNumberOfPieces=0,this.tweenInitTime=Date.now(),this.particles=[],this.particlesGenerated=0,this.removeParticleAt=function(r){e.particles.splice(r,1)},this.getParticle=function(){var r=l(e.x,e.w+e.x),a=l(e.y,e.h+e.y);return new Ot(e.context,e.getOptions,r,a)},this.animate=function(){var r=e.canvas,a=e.context,o=e.particlesGenerated,u=e.lastNumberOfPieces,f=e.getOptions(),m=f.run,g=f.recycle,v=f.numberOfPieces,j=f.debug,C=f.tweenFunction,x=f.tweenDuration;if(!m)return!1;var w=e.particles.length,y=g?w:o,E=Date.now();if(y<v){u!==v&&(e.tweenInitTime=E,e.lastNumberOfPieces=v);for(var N=e.tweenInitTime,G=E-N>x?x:Math.max(0,E-N),Q=C(G,y,v,x),F=Math.round(Q-y),T=0;T<F;T+=1)e.particles.push(e.getParticle());e.particlesGenerated+=F}return j&&(a.font="12px sans-serif",a.fillStyle="#333",a.textAlign="right",a.fillText("Particles: "+w,r.width-10,r.height-20)),e.particles.forEach(function(P,B){P.update(),(P.y>r.height||P.y<-100||P.x>r.width+100||P.x<-100)&&(g&&y<=v?e.particles[B]=e.getParticle():e.removeParticleAt(B))}),w>0||y<v},this.canvas=t;var i=this.canvas.getContext("2d");if(!i)throw new Error("Could not get canvas context");this.context=i,this.getOptions=n},R={width:typeof window<"u"?window.innerWidth:300,height:typeof window<"u"?window.innerHeight:200,numberOfPieces:200,friction:.99,wind:0,gravity:.1,initialVelocityX:4,initialVelocityY:10,colors:["#f44336","#e91e63","#9c27b0","#673ab7","#3f51b5","#2196f3","#03a9f4","#00bcd4","#009688","#4CAF50","#8BC34A","#CDDC39","#FFEB3B","#FFC107","#FF9800","#FF5722","#795548"],opacity:1,debug:!1,tweenFunction:wt.easeInOutQuad,tweenDuration:5e3,recycle:!0,run:!0},Mt=function(){function s(t,n){var e=this;this.setOptionsWithDefaults=function(r){var a={confettiSource:{x:0,y:0,w:e.canvas.width,h:0}};e._options=M({},a,R,r),Object.assign(e,r.confettiSource)},this.update=function(){var r=e.options,a=r.run,o=r.onConfettiComplete,u=e.canvas,f=e.context;a&&(f.fillStyle="white",f.clearRect(0,0,u.width,u.height)),e.generator.animate()?e.rafId=requestAnimationFrame(e.update):(o&&typeof o=="function"&&e.generator.particlesGenerated>0&&o.call(e,e),e._options.run=!1)},this.reset=function(){e.generator&&e.generator.particlesGenerated>0&&(e.generator.particlesGenerated=0,e.generator.particles=[],e.generator.lastNumberOfPieces=0)},this.stop=function(){e.options={run:!1},e.rafId&&(cancelAnimationFrame(e.rafId),e.rafId=void 0)},this.canvas=t;var i=this.canvas.getContext("2d");if(!i)throw new Error("Could not get canvas context");this.context=i,this.generator=new It(this.canvas,function(){return e.options}),this.options=n,this.update()}return gt(s,[{key:"options",get:function(){return this._options},set:function(n){var e=this._options&&this._options.run,i=this._options&&this._options.recycle;this.setOptionsWithDefaults(n),this.generator&&(Object.assign(this.generator,this.options.confettiSource),typeof n.recycle=="boolean"&&n.recycle&&i===!1&&(this.generator.lastNumberOfPieces=this.generator.particles.length)),typeof n.run=="boolean"&&n.run&&e===!1&&this.update()}}]),s}(),U=I.createRef();function _(s){var t={},n={},e={},i=[].concat(Object.keys(R),["confettiSource","drawShape","onConfettiComplete"]),r=["canvasRef"];return Object.keys(s).forEach(function(a){var o=s[a];i.includes(a)?t[a]=o:r.includes(a)?r[a]=o:e[a]=o}),[t,e,n]}var D=function(s){xt(t,s);function t(e){var i;return i=s.call(this,e)||this,i.canvas=I.createRef(),i.canvas=e.canvasRef||U,i}var n=t.prototype;return n.componentDidMount=function(){if(this.canvas.current){var i=_(this.props)[0];this.confetti=new Mt(this.canvas.current,i)}},n.componentDidUpdate=function(){var i=_(this.props)[0];this.confetti&&(this.confetti.options=i)},n.componentWillUnmount=function(){this.confetti&&this.confetti.stop(),this.confetti=void 0},n.render=function(){var i=_(this.props),r=i[0],a=i[1],o=M({zIndex:2,position:"absolute",pointerEvents:"none",top:0,left:0,bottom:0,right:0},a.style);return I.createElement("canvas",Object.assign({width:r.width,height:r.height,ref:this.canvas},a,{style:o}))},t}(p.Component);D.defaultProps=M({},R);D.displayName="ConfettiReact";var jt=I.forwardRef(function(s,t){return I.createElement(D,Object.assign({canvasRef:U},s))});function Ct({children:s,fallback:t=null}){return nt()?c.jsx(c.Fragment,{children:s()}):c.jsx(c.Fragment,{children:t})}function Et({id:s}){return s?c.jsx(Ct,{children:()=>c.jsx(jt,{run:!!s,recycle:!1,numberOfPieces:800,width:window.innerWidth,height:window.innerHeight},s)}):null}function St({toast:s}){return c.jsxs(c.Fragment,{children:[c.jsx(st,{closeButton:!0,position:"top-center"}),s?c.jsx(_t,{toast:s}):null]})}function _t({toast:s}){const{id:t,type:n,title:e,description:i}=s;return p.useEffect(()=>{setTimeout(()=>{h[n](e,{id:t,description:i})},0)},[i,t,e,n]),null}function kt({repoUpdates:s}){const{updatesAvailable:t,diffLink:n,remoteCommit:e}=s,i=p.useRef(null),r=p.useRef(null),a=p.useRef(!1);return p.useEffect(()=>{if(t&&e){const o=h.info("New workshop updates available",{duration:1/0,description:c.jsxs("div",{children:["Get the latest updates by clicking the update button. ",n?c.jsx("a",{href:n,target:"_blank",rel:"noreferrer",className:"text-xs underline",children:"View changes"}):null]}),onDismiss:()=>{},action:{label:"Update",onClick:async()=>{if(r.current&&(h.dismiss(r.current),r.current=null),i.current||(i.current=h.loading("Update in progress...")),!a.current){a.current=!0;try{const{EPICSHOP_PARENT_PORT:u,EPICSHOP_PARENT_TOKEN:f}=window.ENV||{};if(!u||!f)throw new Error("Update API not available");const m=await fetch(`http://localhost:${u}/__epicshop-restart`,{method:"POST",headers:{"x-epicshop-token":f}});if(!m.ok)throw new Error(`Request to update workshop failed: ${m.statusText}`);const g=await m.json().catch(()=>({})),j=ot({status:ut(["ok","error"]),message:ct().optional()}).safeParse(g);if(!j.success)throw console.error("Invalid response from update API",g),new Error("Invalid response from update API");const{status:C,message:x}=j.data;if(C==="ok"){let w=!1;h.success("Workshop updated",{description:"Reloading in 2 seconds... You can reload now if you prefer.",duration:2e3,action:{label:"Reload now",onClick:()=>{w=!0,window.location.reload()}},onAutoClose:()=>{w||window.location.reload()}})}else h.error("Failed to update workshop",{description:x||"Unknown error"})}catch(u){h.error("Failed to update workshop",{description:u instanceof Error?u.message:String(u)})}finally{a.current=!1,i.current&&(h.dismiss(i.current),i.current=null)}}}}});r.current=o}},[t,n,e]),null}function Rt({unmutedNotifications:s}){const t=W(),n=p.useRef(t),e=p.useRef(new Set);return p.useEffect(()=>{for(const i of s)e.current.has(i.id)||(e.current.add(i.id),h.info(i.title,{id:i.id,description:c.jsxs("div",{children:[c.jsx("p",{children:i.message}),i.link&&c.jsx("a",{href:i.link,target:"_blank",className:"text-xs underline",children:"Learn more"})]}),duration:1/0,action:{label:"Dismiss",onClick:()=>{n.current.submit({intent:"mute",id:i.id},{method:"post",action:"/admin/notifications"})}}}))},[s]),null}const Dt="/assets/app-CpF0K1cW.css",Nt="/assets/tailwind-Dqccob1p.css",Lt=()=>[{rel:"stylesheet",href:"/neogrotesk-font.css"},{rel:"stylesheet",href:"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,200;0,300;0,400;0,500;0,600;1,700&display=swap"},{rel:"stylesheet",href:Nt},{rel:"stylesheet",href:Dt},{rel:"icon",href:"/favicon.ico",sizes:"48x48"},{rel:"icon",type:"image/svg+xml",href:"/favicon.svg"}],zt=({data:s})=>s?pt({instructor:s.instructor,title:s.workshopTitle,description:s.workshopSubtitle,requestInfo:s.requestInfo}):[];function b({children:s,env:t={},className:n,style:e}){return c.jsxs("html",{lang:"en",className:n,style:e,children:[c.jsxs("head",{children:[c.jsx(lt,{}),c.jsx(z,{}),c.jsx("meta",{charSet:"utf-8"}),c.jsx("meta",{name:"viewport",content:"width=device-width,initial-scale=1"}),c.jsx(K,{}),c.jsx("script",{dangerouslySetInnerHTML:{__html:`window.ENV = ${JSON.stringify(t)}`}})]}),c.jsxs("body",{className:"bg-background text-foreground scrollbar-thin scrollbar-thumb-scrollbar h-screen-safe",children:[s,c.jsx(X,{}),c.jsx(J,{})]})]})}function Ft(){const s=q(),t=H(),n=Z.useSpinDelay(t.state!=="idle",{delay:400,minDuration:200}),e=tt(),i=ft();return c.jsxs(b,{style:s.preferences?.fontSize?{fontSize:`${s.preferences?.fontSize}px`}:{},className:et("antialiased h-screen-safe",i,{"cursor-progress":n},e?"alt-down":null),env:s.ENV,children:[c.jsx(L,{}),c.jsx(Et,{id:s.confettiId}),c.jsx(St,{toast:s.toast}),c.jsx(kt,{repoUpdates:s.repoUpdates}),c.jsx(it,{}),c.jsx(Rt,{unmutedNotifications:s.unmutedNotifications})]})}const Kt=Y(function(){const{user:t}=q();return c.jsx(ht,{user:t,children:c.jsx(at,{children:c.jsx(Ft,{})})})}),Xt=$(function(){return c.jsx(b,{className:"h-screen-safe",children:c.jsx(rt,{})})});export{Xt as ErrorBoundary,Kt as default,Lt as links,zt as meta};
|
|
2
|
+
//# sourceMappingURL=root-30K5JoaI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root-30K5JoaI.js","sources":["../../../../../node_modules/tween-functions/index.js","../../../../../node_modules/confetti-react/dist/confetti-react.esm.js","../../../../../node_modules/remix-utils/build/react/client-only.js","../../../app/components/confetti.tsx","../../../app/components/toaster.tsx","../../../app/components/update-repo.tsx","../../../app/routes/admin+/notifications.tsx","../../../app/styles/app.css?url","../../../app/styles/tailwind.css?url","../../../app/root.tsx"],"sourcesContent":["'use strict';\n\n// t: current time, b: beginning value, _c: final value, d: total duration\nvar tweenFunctions = {\n linear: function(t, b, _c, d) {\n var c = _c - b;\n return c * t / d + b;\n },\n easeInQuad: function(t, b, _c, d) {\n var c = _c - b;\n return c * (t /= d) * t + b;\n },\n easeOutQuad: function(t, b, _c, d) {\n var c = _c - b;\n return -c * (t /= d) * (t - 2) + b;\n },\n easeInOutQuad: function(t, b, _c, d) {\n var c = _c - b;\n if ((t /= d / 2) < 1) {\n return c / 2 * t * t + b;\n } else {\n return -c / 2 * ((--t) * (t - 2) - 1) + b;\n }\n },\n easeInCubic: function(t, b, _c, d) {\n var c = _c - b;\n return c * (t /= d) * t * t + b;\n },\n easeOutCubic: function(t, b, _c, d) {\n var c = _c - b;\n return c * ((t = t / d - 1) * t * t + 1) + b;\n },\n easeInOutCubic: function(t, b, _c, d) {\n var c = _c - b;\n if ((t /= d / 2) < 1) {\n return c / 2 * t * t * t + b;\n } else {\n return c / 2 * ((t -= 2) * t * t + 2) + b;\n }\n },\n easeInQuart: function(t, b, _c, d) {\n var c = _c - b;\n return c * (t /= d) * t * t * t + b;\n },\n easeOutQuart: function(t, b, _c, d) {\n var c = _c - b;\n return -c * ((t = t / d - 1) * t * t * t - 1) + b;\n },\n easeInOutQuart: function(t, b, _c, d) {\n var c = _c - b;\n if ((t /= d / 2) < 1) {\n return c / 2 * t * t * t * t + b;\n } else {\n return -c / 2 * ((t -= 2) * t * t * t - 2) + b;\n }\n },\n easeInQuint: function(t, b, _c, d) {\n var c = _c - b;\n return c * (t /= d) * t * t * t * t + b;\n },\n easeOutQuint: function(t, b, _c, d) {\n var c = _c - b;\n return c * ((t = t / d - 1) * t * t * t * t + 1) + b;\n },\n easeInOutQuint: function(t, b, _c, d) {\n var c = _c - b;\n if ((t /= d / 2) < 1) {\n return c / 2 * t * t * t * t * t + b;\n } else {\n return c / 2 * ((t -= 2) * t * t * t * t + 2) + b;\n }\n },\n easeInSine: function(t, b, _c, d) {\n var c = _c - b;\n return -c * Math.cos(t / d * (Math.PI / 2)) + c + b;\n },\n easeOutSine: function(t, b, _c, d) {\n var c = _c - b;\n return c * Math.sin(t / d * (Math.PI / 2)) + b;\n },\n easeInOutSine: function(t, b, _c, d) {\n var c = _c - b;\n return -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b;\n },\n easeInExpo: function(t, b, _c, d) {\n var c = _c - b;\n return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;\n },\n easeOutExpo: function(t, b, _c, d) {\n var c = _c - b;\n return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;\n },\n easeInOutExpo: function(t, b, _c, d) {\n var c = _c - b;\n if (t === 0) {\n return b;\n }\n if (t === d) {\n return b + c;\n }\n if ((t /= d / 2) < 1) {\n return c / 2 * Math.pow(2, 10 * (t - 1)) + b;\n } else {\n return c / 2 * (-Math.pow(2, -10 * --t) + 2) + b;\n }\n },\n easeInCirc: function(t, b, _c, d) {\n var c = _c - b;\n return -c * (Math.sqrt(1 - (t /= d) * t) - 1) + b;\n },\n easeOutCirc: function(t, b, _c, d) {\n var c = _c - b;\n return c * Math.sqrt(1 - (t = t / d - 1) * t) + b;\n },\n easeInOutCirc: function(t, b, _c, d) {\n var c = _c - b;\n if ((t /= d / 2) < 1) {\n return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b;\n } else {\n return c / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + b;\n }\n },\n easeInElastic: function(t, b, _c, d) {\n var c = _c - b;\n var a, p, s;\n s = 1.70158;\n p = 0;\n a = c;\n if (t === 0) {\n return b;\n } else if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (a < Math.abs(c)) {\n a = c;\n s = p / 4;\n } else {\n s = p / (2 * Math.PI) * Math.asin(c / a);\n }\n return -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;\n },\n easeOutElastic: function(t, b, _c, d) {\n var c = _c - b;\n var a, p, s;\n s = 1.70158;\n p = 0;\n a = c;\n if (t === 0) {\n return b;\n } else if ((t /= d) === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n if (a < Math.abs(c)) {\n a = c;\n s = p / 4;\n } else {\n s = p / (2 * Math.PI) * Math.asin(c / a);\n }\n return a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b;\n },\n easeInOutElastic: function(t, b, _c, d) {\n var c = _c - b;\n var a, p, s;\n s = 1.70158;\n p = 0;\n a = c;\n if (t === 0) {\n return b;\n } else if ((t /= d / 2) === 2) {\n return b + c;\n }\n if (!p) {\n p = d * (0.3 * 1.5);\n }\n if (a < Math.abs(c)) {\n a = c;\n s = p / 4;\n } else {\n s = p / (2 * Math.PI) * Math.asin(c / a);\n }\n if (t < 1) {\n return -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p)) + b;\n } else {\n return a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t * d - s) * (2 * Math.PI) / p) * 0.5 + c + b;\n }\n },\n easeInBack: function(t, b, _c, d, s) {\n var c = _c - b;\n if (s === void 0) {\n s = 1.70158;\n }\n return c * (t /= d) * t * ((s + 1) * t - s) + b;\n },\n easeOutBack: function(t, b, _c, d, s) {\n var c = _c - b;\n if (s === void 0) {\n s = 1.70158;\n }\n return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;\n },\n easeInOutBack: function(t, b, _c, d, s) {\n var c = _c - b;\n if (s === void 0) {\n s = 1.70158;\n }\n if ((t /= d / 2) < 1) {\n return c / 2 * (t * t * (((s *= 1.525) + 1) * t - s)) + b;\n } else {\n return c / 2 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2) + b;\n }\n },\n easeInBounce: function(t, b, _c, d) {\n var c = _c - b;\n var v;\n v = tweenFunctions.easeOutBounce(d - t, 0, c, d);\n return c - v + b;\n },\n easeOutBounce: function(t, b, _c, d) {\n var c = _c - b;\n if ((t /= d) < 1 / 2.75) {\n return c * (7.5625 * t * t) + b;\n } else if (t < 2 / 2.75) {\n return c * (7.5625 * (t -= 1.5 / 2.75) * t + 0.75) + b;\n } else if (t < 2.5 / 2.75) {\n return c * (7.5625 * (t -= 2.25 / 2.75) * t + 0.9375) + b;\n } else {\n return c * (7.5625 * (t -= 2.625 / 2.75) * t + 0.984375) + b;\n }\n },\n easeInOutBounce: function(t, b, _c, d) {\n var c = _c - b;\n var v;\n if (t < d / 2) {\n v = tweenFunctions.easeInBounce(t * 2, 0, c, d);\n return v * 0.5 + b;\n } else {\n v = tweenFunctions.easeOutBounce(t * 2 - d, 0, c, d);\n return v * 0.5 + c * 0.5 + b;\n }\n }\n};\n\nmodule.exports = tweenFunctions;\n","import React, { Component } from 'react';\nimport tweens from 'tween-functions';\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction degreesToRads(degrees) {\n return degrees * Math.PI / 180;\n}\nfunction randomRange(min, max) {\n return min + Math.random() * (max - min);\n}\nfunction randomInt(min, max) {\n return Math.floor(min + Math.random() * (max - min + 1));\n}\n\nvar ParticleShape;\n\n(function (ParticleShape) {\n ParticleShape[ParticleShape[\"Circle\"] = 0] = \"Circle\";\n ParticleShape[ParticleShape[\"Square\"] = 1] = \"Square\";\n ParticleShape[ParticleShape[\"Strip\"] = 2] = \"Strip\";\n})(ParticleShape || (ParticleShape = {}));\n\nvar RotationDirection;\n\n(function (RotationDirection) {\n RotationDirection[RotationDirection[\"Positive\"] = 1] = \"Positive\";\n RotationDirection[RotationDirection[\"Negative\"] = -1] = \"Negative\";\n})(RotationDirection || (RotationDirection = {}));\n\nvar Particle = /*#__PURE__*/function () {\n function Particle(context, getOptions, x, y) {\n this.getOptions = getOptions;\n\n var _this$getOptions = this.getOptions(),\n colors = _this$getOptions.colors,\n initialVelocityX = _this$getOptions.initialVelocityX,\n initialVelocityY = _this$getOptions.initialVelocityY;\n\n this.context = context;\n this.x = x;\n this.y = y;\n this.w = randomRange(5, 20);\n this.h = randomRange(5, 20);\n this.radius = randomRange(5, 10);\n this.vx = randomRange(-initialVelocityX, initialVelocityX);\n this.vy = randomRange(-initialVelocityY, 0);\n this.shape = randomInt(0, 2);\n this.angle = degreesToRads(randomRange(0, 360));\n this.angularSpin = randomRange(-0.2, 0.2);\n this.color = colors[Math.floor(Math.random() * colors.length)];\n this.rotateY = randomRange(0, 1);\n this.rotationDirection = randomRange(0, 1) ? RotationDirection.Positive : RotationDirection.Negative;\n }\n\n var _proto = Particle.prototype;\n\n _proto.update = function update() {\n var _this$getOptions2 = this.getOptions(),\n gravity = _this$getOptions2.gravity,\n wind = _this$getOptions2.wind,\n friction = _this$getOptions2.friction,\n opacity = _this$getOptions2.opacity,\n drawShape = _this$getOptions2.drawShape;\n\n this.x += this.vx;\n this.y += this.vy;\n this.vy += gravity;\n this.vx += wind;\n this.vx *= friction;\n this.vy *= friction;\n\n if (this.rotateY >= 1 && this.rotationDirection === RotationDirection.Positive) {\n this.rotationDirection = RotationDirection.Negative;\n } else if (this.rotateY <= -1 && this.rotationDirection === RotationDirection.Negative) {\n this.rotationDirection = RotationDirection.Positive;\n }\n\n var rotateDelta = 0.1 * this.rotationDirection;\n this.rotateY += rotateDelta;\n this.angle += this.angularSpin;\n this.context.save();\n this.context.translate(this.x, this.y);\n this.context.rotate(this.angle);\n this.context.scale(1, this.rotateY);\n this.context.rotate(this.angle);\n this.context.beginPath();\n this.context.fillStyle = this.color;\n this.context.strokeStyle = this.color;\n this.context.globalAlpha = opacity;\n this.context.lineCap = 'round';\n this.context.lineWidth = 2;\n\n if (drawShape && typeof drawShape === 'function') {\n drawShape.call(this, this.context);\n } else {\n switch (this.shape) {\n case ParticleShape.Circle:\n {\n this.context.beginPath();\n this.context.arc(0, 0, this.radius, 0, 2 * Math.PI);\n this.context.fill();\n break;\n }\n\n case ParticleShape.Square:\n {\n this.context.fillRect(-this.w / 2, -this.h / 2, this.w, this.h);\n break;\n }\n\n case ParticleShape.Strip:\n {\n this.context.fillRect(-this.w / 6, -this.h / 2, this.w / 3, this.h);\n break;\n }\n\n default:\n {\n throw new Error('Unknown type in Particle.ts');\n }\n }\n }\n\n this.context.closePath();\n this.context.restore();\n };\n\n return Particle;\n}();\n\nvar ParticleGeneratorClass = function ParticleGeneratorClass(canvas, getOptions) {\n var _this = this;\n\n this.x = 0;\n this.y = 0;\n this.w = 0;\n this.h = 0;\n this.lastNumberOfPieces = 0;\n this.tweenInitTime = Date.now();\n this.particles = [];\n this.particlesGenerated = 0;\n\n this.removeParticleAt = function (i) {\n _this.particles.splice(i, 1);\n };\n\n this.getParticle = function () {\n var newParticleX = randomRange(_this.x, _this.w + _this.x);\n var newParticleY = randomRange(_this.y, _this.h + _this.y);\n return new Particle(_this.context, _this.getOptions, newParticleX, newParticleY);\n };\n\n this.animate = function () {\n var canvas = _this.canvas,\n context = _this.context,\n particlesGenerated = _this.particlesGenerated,\n lastNumberOfPieces = _this.lastNumberOfPieces;\n\n var _this$getOptions = _this.getOptions(),\n run = _this$getOptions.run,\n recycle = _this$getOptions.recycle,\n numberOfPieces = _this$getOptions.numberOfPieces,\n debug = _this$getOptions.debug,\n tweenFunction = _this$getOptions.tweenFunction,\n tweenDuration = _this$getOptions.tweenDuration;\n\n if (!run) {\n return false;\n }\n\n var nP = _this.particles.length;\n var activeCount = recycle ? nP : particlesGenerated;\n var now = Date.now(); // Initial population\n\n if (activeCount < numberOfPieces) {\n // Use the numberOfPieces prop as a key to reset the easing timing\n if (lastNumberOfPieces !== numberOfPieces) {\n _this.tweenInitTime = now;\n _this.lastNumberOfPieces = numberOfPieces;\n }\n\n var tweenInitTime = _this.tweenInitTime; // Add more than one piece per loop, otherwise the number of pieces would\n // be limitted by the RAF framerate\n\n var progressTime = now - tweenInitTime > tweenDuration ? tweenDuration : Math.max(0, now - tweenInitTime);\n var tweenedVal = tweenFunction(progressTime, activeCount, numberOfPieces, tweenDuration);\n var numToAdd = Math.round(tweenedVal - activeCount);\n\n for (var i = 0; i < numToAdd; i += 1) {\n _this.particles.push(_this.getParticle());\n }\n\n _this.particlesGenerated += numToAdd;\n }\n\n if (debug) {\n // Draw debug text\n context.font = '12px sans-serif';\n context.fillStyle = '#333';\n context.textAlign = 'right';\n context.fillText(\"Particles: \" + nP, canvas.width - 10, canvas.height - 20);\n } // Maintain the population\n\n\n _this.particles.forEach(function (p, i) {\n // Update each particle's position\n p.update(); // Prune the off-canvas particles\n\n if (p.y > canvas.height || p.y < -100 || p.x > canvas.width + 100 || p.x < -100) {\n if (recycle && activeCount <= numberOfPieces) {\n // Replace the particle with a brand new one\n _this.particles[i] = _this.getParticle();\n } else {\n _this.removeParticleAt(i);\n }\n }\n });\n\n return nP > 0 || activeCount < numberOfPieces;\n };\n\n this.canvas = canvas;\n var ctx = this.canvas.getContext('2d');\n\n if (!ctx) {\n throw new Error('Could not get canvas context');\n }\n\n this.context = ctx;\n this.getOptions = getOptions;\n};\n\nvar confettiDefaults = {\n width: typeof window !== 'undefined' ? window.innerWidth : 300,\n height: typeof window !== 'undefined' ? window.innerHeight : 200,\n numberOfPieces: 200,\n friction: 0.99,\n wind: 0,\n gravity: 0.1,\n initialVelocityX: 4,\n initialVelocityY: 10,\n colors: ['#f44336', '#e91e63', '#9c27b0', '#673ab7', '#3f51b5', '#2196f3', '#03a9f4', '#00bcd4', '#009688', '#4CAF50', '#8BC34A', '#CDDC39', '#FFEB3B', '#FFC107', '#FF9800', '#FF5722', '#795548'],\n opacity: 1.0,\n debug: false,\n tweenFunction: tweens.easeInOutQuad,\n tweenDuration: 5000,\n recycle: true,\n run: true\n};\nvar Confetti = /*#__PURE__*/function () {\n function Confetti(canvas, opts) {\n var _this = this;\n\n this.setOptionsWithDefaults = function (opts) {\n var computedConfettiDefaults = {\n confettiSource: {\n x: 0,\n y: 0,\n w: _this.canvas.width,\n h: 0\n }\n };\n _this._options = _extends({}, computedConfettiDefaults, confettiDefaults, opts);\n Object.assign(_this, opts.confettiSource);\n };\n\n this.update = function () {\n var _this$options = _this.options,\n run = _this$options.run,\n onConfettiComplete = _this$options.onConfettiComplete,\n canvas = _this.canvas,\n context = _this.context;\n\n if (run) {\n context.fillStyle = 'white';\n context.clearRect(0, 0, canvas.width, canvas.height);\n }\n\n if (_this.generator.animate()) {\n _this.rafId = requestAnimationFrame(_this.update);\n } else {\n if (onConfettiComplete && typeof onConfettiComplete === 'function' && _this.generator.particlesGenerated > 0) {\n onConfettiComplete.call(_this, _this);\n }\n\n _this._options.run = false;\n }\n };\n\n this.reset = function () {\n if (_this.generator && _this.generator.particlesGenerated > 0) {\n _this.generator.particlesGenerated = 0;\n _this.generator.particles = [];\n _this.generator.lastNumberOfPieces = 0;\n }\n };\n\n this.stop = function () {\n _this.options = {\n run: false\n };\n\n if (_this.rafId) {\n cancelAnimationFrame(_this.rafId);\n _this.rafId = undefined;\n }\n };\n\n this.canvas = canvas;\n var ctx = this.canvas.getContext('2d');\n\n if (!ctx) {\n throw new Error('Could not get canvas context');\n }\n\n this.context = ctx;\n this.generator = new ParticleGeneratorClass(this.canvas, function () {\n return _this.options;\n });\n this.options = opts;\n this.update();\n }\n\n _createClass(Confetti, [{\n key: \"options\",\n get: function get() {\n return this._options;\n },\n set: function set(opts) {\n var lastRunState = this._options && this._options.run;\n var lastRecycleState = this._options && this._options.recycle;\n this.setOptionsWithDefaults(opts);\n\n if (this.generator) {\n Object.assign(this.generator, this.options.confettiSource);\n\n if (typeof opts.recycle === 'boolean' && opts.recycle && lastRecycleState === false) {\n this.generator.lastNumberOfPieces = this.generator.particles.length;\n }\n }\n\n if (typeof opts.run === 'boolean' && opts.run && lastRunState === false) {\n this.update();\n }\n }\n }]);\n\n return Confetti;\n}();\n\nvar ref = /*#__PURE__*/React.createRef();\n\nfunction extractCanvasProps(props) {\n var confettiOptions = {};\n var refs = {};\n var rest = {};\n var confettiOptionKeys = [].concat(Object.keys(confettiDefaults), ['confettiSource', 'drawShape', 'onConfettiComplete']);\n var refProps = ['canvasRef'];\n Object.keys(props).forEach(function (prop) {\n var val = props[prop];\n\n if (confettiOptionKeys.includes(prop)) {\n confettiOptions[prop] = val;\n } else if (refProps.includes(prop)) {\n refProps[prop] = val;\n } else {\n rest[prop] = val;\n }\n });\n return [confettiOptions, rest, refs];\n}\n\nvar ConfettiReactInternal = /*#__PURE__*/function (_Component) {\n _inheritsLoose(ConfettiReactInternal, _Component);\n\n function ConfettiReactInternal(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n _this.canvas = React.createRef();\n _this.canvas = props.canvasRef || ref;\n return _this;\n }\n\n var _proto = ConfettiReactInternal.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n if (this.canvas.current) {\n var opts = extractCanvasProps(this.props)[0];\n this.confetti = new Confetti(this.canvas.current, opts);\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n var confettiOptions = extractCanvasProps(this.props)[0];\n\n if (this.confetti) {\n this.confetti.options = confettiOptions;\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.confetti) {\n this.confetti.stop();\n }\n\n this.confetti = undefined;\n };\n\n _proto.render = function render() {\n var _extractCanvasProps = extractCanvasProps(this.props),\n confettiOptions = _extractCanvasProps[0],\n passedProps = _extractCanvasProps[1];\n\n var canvasStyles = _extends({\n zIndex: 2,\n position: 'absolute',\n pointerEvents: 'none',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n }, passedProps.style);\n\n return React.createElement(\"canvas\", Object.assign({\n width: confettiOptions.width,\n height: confettiOptions.height,\n ref: this.canvas\n }, passedProps, {\n style: canvasStyles\n }));\n };\n\n return ConfettiReactInternal;\n}(Component);\n\nConfettiReactInternal.defaultProps = /*#__PURE__*/_extends({}, confettiDefaults);\nConfettiReactInternal.displayName = 'ConfettiReact'; // eslint-disable-next-line react/display-name\n\nvar Index = /*#__PURE__*/React.forwardRef(function (props, _ref) {\n return React.createElement(ConfettiReactInternal, Object.assign({\n canvasRef: ref\n }, props));\n});\n\nexport default Index;\nexport { Index };\n//# sourceMappingURL=confetti-react.esm.js.map\n","import { Fragment as _Fragment, jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nimport { useHydrated } from \"./use-hydrated.js\";\n/**\n * Render the children only after the JS has loaded client-side. Use an optional\n * fallback component if the JS is not yet loaded.\n *\n * Example: Render a Chart component if JS loads, renders a simple FakeChart\n * component server-side or if there is no JS. The FakeChart can have only the\n * UI without the behavior or be a loading spinner or skeleton.\n * ```tsx\n * return (\n * <ClientOnly fallback={<FakeChart />}>\n * {() => <Chart />}\n * </ClientOnly>\n * );\n * ```\n */\nexport function ClientOnly({ children, fallback = null }) {\n return useHydrated() ? _jsx(_Fragment, { children: children() }) : _jsx(_Fragment, { children: fallback });\n}\n//# sourceMappingURL=client-only.js.map","import { Index as ConfettiShower } from 'confetti-react'\nimport { ClientOnly } from 'remix-utils/client-only'\n\nexport function Confetti({ id }: { id?: string | null }) {\n\tif (!id) return null\n\n\treturn (\n\t\t<ClientOnly>\n\t\t\t{() => (\n\t\t\t\t<ConfettiShower\n\t\t\t\t\tkey={id}\n\t\t\t\t\trun={Boolean(id)}\n\t\t\t\t\trecycle={false}\n\t\t\t\t\tnumberOfPieces={800}\n\t\t\t\t\twidth={window.innerWidth}\n\t\t\t\t\theight={window.innerHeight}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</ClientOnly>\n\t)\n}\n","import { useEffect } from 'react'\nimport { Toaster, toast as showToast } from 'sonner'\nimport { type Toast } from '#app/utils/toast.server.ts'\n\nexport function EpicToaster({ toast }: { toast?: Toast | null }) {\n\treturn (\n\t\t<>\n\t\t\t<Toaster closeButton position=\"top-center\" />\n\t\t\t{toast ? <ShowToast toast={toast} /> : null}\n\t\t</>\n\t)\n}\n\nfunction ShowToast({ toast }: { toast: Toast }) {\n\tconst { id, type, title, description } = toast\n\tuseEffect(() => {\n\t\tsetTimeout(() => {\n\t\t\tshowToast[type](title, { id, description })\n\t\t}, 0)\n\t}, [description, id, title, type])\n\treturn null\n}\n","import { type checkForUpdatesCached } from '@epic-web/workshop-utils/git.server'\nimport { useEffect, useRef } from 'react'\nimport { toast } from 'sonner'\nimport { z } from 'zod'\n\nexport function UpdateToast({\n\trepoUpdates,\n}: {\n\trepoUpdates: Awaited<ReturnType<typeof checkForUpdatesCached>>\n}) {\n\tconst { updatesAvailable, diffLink, remoteCommit } = repoUpdates\n\n\t// Track the in-progress toast id and update notification id\n\tconst inProgressToastId = useRef<ReturnType<typeof toast.loading> | null>(\n\t\tnull,\n\t)\n\tconst updateNotificationId = useRef<ReturnType<typeof toast.info> | null>(\n\t\tnull,\n\t)\n\tconst updateInProgress = useRef(false)\n\n\tuseEffect(() => {\n\t\tif (updatesAvailable && remoteCommit) {\n\t\t\tconst id = toast.info('New workshop updates available', {\n\t\t\t\tduration: Infinity,\n\t\t\t\tdescription: (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{`Get the latest updates by clicking the update button. `}\n\t\t\t\t\t\t{diffLink ? (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={diffLink}\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\trel=\"noreferrer\"\n\t\t\t\t\t\t\t\tclassName=\"text-xs underline\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tView changes\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t),\n\t\t\t\tonDismiss: () => {\n\t\t\t\t\t// No-op for now, could call a dismiss endpoint if needed\n\t\t\t\t},\n\t\t\t\taction: {\n\t\t\t\t\tlabel: 'Update',\n\t\t\t\t\tonClick: async () => {\n\t\t\t\t\t\t// Dismiss the update notification immediately\n\t\t\t\t\t\tif (updateNotificationId.current) {\n\t\t\t\t\t\t\ttoast.dismiss(updateNotificationId.current)\n\t\t\t\t\t\t\tupdateNotificationId.current = null\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Show in-progress toast\n\t\t\t\t\t\tif (!inProgressToastId.current) {\n\t\t\t\t\t\t\tinProgressToastId.current = toast.loading('Update in progress...')\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (updateInProgress.current) return\n\t\t\t\t\t\tupdateInProgress.current = true\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst { EPICSHOP_PARENT_PORT, EPICSHOP_PARENT_TOKEN } =\n\t\t\t\t\t\t\t\twindow.ENV || {}\n\t\t\t\t\t\t\tif (!EPICSHOP_PARENT_PORT || !EPICSHOP_PARENT_TOKEN) {\n\t\t\t\t\t\t\t\tthrow new Error('Update API not available')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst res = await fetch(\n\t\t\t\t\t\t\t\t`http://localhost:${EPICSHOP_PARENT_PORT}/__epicshop-restart`,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t\t\t'x-epicshop-token': EPICSHOP_PARENT_TOKEN,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\tif (!res.ok) {\n\t\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t\t`Request to update workshop failed: ${res.statusText}`,\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst data = await res.json().catch(() => ({}))\n\t\t\t\t\t\t\tconst schema = z.object({\n\t\t\t\t\t\t\t\tstatus: z.enum(['ok', 'error']),\n\t\t\t\t\t\t\t\tmessage: z.string().optional(),\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\tconst parsed = schema.safeParse(data)\n\t\t\t\t\t\t\tif (!parsed.success) {\n\t\t\t\t\t\t\t\tconsole.error('Invalid response from update API', data)\n\t\t\t\t\t\t\t\tthrow new Error('Invalid response from update API')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst { status, message } = parsed.data\n\t\t\t\t\t\t\tif (status === 'ok') {\n\t\t\t\t\t\t\t\tlet reloaded = false\n\t\t\t\t\t\t\t\ttoast.success('Workshop updated', {\n\t\t\t\t\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t\t\t\t'Reloading in 2 seconds... You can reload now if you prefer.',\n\t\t\t\t\t\t\t\t\tduration: 2000,\n\t\t\t\t\t\t\t\t\taction: {\n\t\t\t\t\t\t\t\t\t\tlabel: 'Reload now',\n\t\t\t\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\t\t\t\treloaded = true\n\t\t\t\t\t\t\t\t\t\t\twindow.location.reload()\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonAutoClose: () => {\n\t\t\t\t\t\t\t\t\t\tif (!reloaded) {\n\t\t\t\t\t\t\t\t\t\t\twindow.location.reload()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\ttoast.error('Failed to update workshop', {\n\t\t\t\t\t\t\t\t\tdescription: message || 'Unknown error',\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\ttoast.error('Failed to update workshop', {\n\t\t\t\t\t\t\t\tdescription: err instanceof Error ? err.message : String(err),\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} finally {\n\t\t\t\t\t\t\tupdateInProgress.current = false\n\t\t\t\t\t\t\tif (inProgressToastId.current) {\n\t\t\t\t\t\t\t\ttoast.dismiss(inProgressToastId.current)\n\t\t\t\t\t\t\t\tinProgressToastId.current = null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t})\n\t\t\tupdateNotificationId.current = id\n\t\t}\n\t}, [updatesAvailable, diffLink, remoteCommit])\n\n\treturn null\n}\n","import { muteNotification } from '@epic-web/workshop-utils/db.server'\nimport { type getUnmutedNotifications } from '@epic-web/workshop-utils/notifications.server'\nimport { useEffect, useRef } from 'react'\nimport { data, type ActionFunctionArgs, useFetcher } from 'react-router'\nimport { toast } from 'sonner'\n\nexport async function action({ request }: ActionFunctionArgs) {\n\tconst formData = await request.formData()\n\tconst intent = formData.get('intent')\n\tconst id = formData.get('id')\n\tif (typeof id !== 'string') {\n\t\treturn data({ error: 'Invalid notification id' }, { status: 400 })\n\t}\n\tif (intent === 'mute') {\n\t\tawait muteNotification(id)\n\t\treturn data({ success: true })\n\t}\n\treturn data({ error: 'Invalid intent' }, { status: 400 })\n}\n\nexport function Notifications({\n\tunmutedNotifications,\n}: {\n\tunmutedNotifications: Awaited<ReturnType<typeof getUnmutedNotifications>>\n}) {\n\tconst fetcher = useFetcher<typeof action>()\n\tconst fetcherRef = useRef(fetcher)\n\tconst toastedIds = useRef<Set<string>>(new Set())\n\n\tuseEffect(() => {\n\t\tfor (const notification of unmutedNotifications) {\n\t\t\tif (toastedIds.current.has(notification.id)) continue\n\t\t\ttoastedIds.current.add(notification.id)\n\n\t\t\ttoast.info(notification.title, {\n\t\t\t\tid: notification.id,\n\t\t\t\tdescription: (\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<p>{notification.message}</p>\n\t\t\t\t\t\t{notification.link && (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={notification.link}\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tclassName=\"text-xs underline\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tLearn more\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t),\n\t\t\t\tduration: Infinity,\n\t\t\t\taction: {\n\t\t\t\t\tlabel: 'Dismiss',\n\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\tvoid fetcherRef.current.submit(\n\t\t\t\t\t\t\t{ intent: 'mute', id: notification.id },\n\t\t\t\t\t\t\t{ method: 'post', action: '/admin/notifications' },\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t})\n\t\t}\n\t}, [unmutedNotifications])\n\n\treturn null\n}\n","import \"/home/runner/work/epicshop/epicshop/packages/workshop-app/app/styles/app.css?transform-only\";export default \"__VITE_CSS_URL__2f686f6d652f72756e6e65722f776f726b2f6570696373686f702f6570696373686f702f7061636b616765732f776f726b73686f702d6170702f6170702f7374796c65732f6170702e6373733f7472616e73666f726d2d6f6e6c79__\"","import \"/home/runner/work/epicshop/epicshop/packages/workshop-app/app/styles/tailwind.css?transform-only\";export default \"__VITE_CSS_URL__2f686f6d652f72756e6e65722f776f726b2f6570696373686f702f6570696373686f702f7061636b616765732f776f726b73686f702d6170702f6170702f7374796c65732f7461696c77696e642e6373733f7472616e73666f726d2d6f6e6c79__\"","import path from 'node:path'\nimport { getPresentUsers } from '@epic-web/workshop-presence/presence.server'\nimport { getApps } from '@epic-web/workshop-utils/apps.server'\nimport { getWorkshopConfig } from '@epic-web/workshop-utils/config.server'\nimport {\n\tgetPreferences,\n\treadOnboardingData,\n\tgetMutedNotifications,\n} from '@epic-web/workshop-utils/db.server'\nimport { getEnv } from '@epic-web/workshop-utils/env.server'\nimport {\n\tgetProgress,\n\tgetUserInfo,\n\tuserHasAccessToWorkshop,\n} from '@epic-web/workshop-utils/epic-api.server'\nimport { checkForUpdatesCached } from '@epic-web/workshop-utils/git.server'\nimport { getUnmutedNotifications } from '@epic-web/workshop-utils/notifications.server'\nimport { makeTimings } from '@epic-web/workshop-utils/timing.server'\nimport {\n\tgetSetClientIdCookieHeader,\n\tgetUserId,\n} from '@epic-web/workshop-utils/user.server'\nimport { checkConnectionCached } from '@epic-web/workshop-utils/utils.server'\n\nimport {\n\tdata,\n\tredirect,\n\ttype LinksFunction,\n\tLinks,\n\tMeta,\n\tOutlet,\n\tScripts,\n\tScrollRestoration,\n\tuseLoaderData,\n\tuseNavigation,\n} from 'react-router'\nimport { promiseHash } from 'remix-utils/promise'\nimport { useSpinDelay } from 'spin-delay'\nimport { type Route } from './+types/root.tsx'\nimport { Confetti } from './components/confetti'\nimport { GeneralErrorBoundary } from './components/error-boundary'\nimport { EpicProgress } from './components/progress-bar'\nimport { EpicToaster } from './components/toaster'\nimport { TooltipProvider } from './components/ui/tooltip'\nimport { UpdateToast } from './components/update-repo'\nimport { Notifications } from './routes/admin+/notifications'\nimport { useTheme } from './routes/theme/index'\nimport { getTheme } from './routes/theme/theme-session.server'\nimport appStylesheetUrl from './styles/app.css?url'\nimport tailwindStylesheetUrl from './styles/tailwind.css?url'\nimport { ClientHintCheck, getHints } from './utils/client-hints'\nimport { getConfetti } from './utils/confetti.server'\nimport { cn, combineHeaders, getDomainUrl, useAltDown } from './utils/misc'\nimport { Presence } from './utils/presence'\nimport { getSeoMetaTags } from './utils/seo'\nimport { getToast } from './utils/toast.server'\n\nexport const links: LinksFunction = () => {\n\treturn [\n\t\t{ rel: 'stylesheet', href: '/neogrotesk-font.css' },\n\t\t{\n\t\t\trel: 'stylesheet',\n\t\t\thref: 'https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,200;0,300;0,400;0,500;0,600;1,700&display=swap',\n\t\t},\n\t\t{ rel: 'stylesheet', href: tailwindStylesheetUrl },\n\t\t{ rel: 'stylesheet', href: appStylesheetUrl },\n\t\t{\n\t\t\trel: 'icon',\n\t\t\thref: '/favicon.ico',\n\t\t\tsizes: '48x48',\n\t\t},\n\t\t{ rel: 'icon', type: 'image/svg+xml', href: '/favicon.svg' },\n\t]\n}\n\nexport const meta: Route.MetaFunction = ({ data }) => {\n\tif (!data) return []\n\n\treturn getSeoMetaTags({\n\t\tinstructor: data.instructor,\n\t\ttitle: data.workshopTitle,\n\t\tdescription: data.workshopSubtitle,\n\t\trequestInfo: data.requestInfo,\n\t})\n}\n\nexport type RootLoaderData = Route.ComponentProps['loaderData']\n\nexport async function loader({ request }: Route.LoaderArgs) {\n\tconst timings = makeTimings('rootLoader')\n\tconst workshopConfig = getWorkshopConfig()\n\tconst {\n\t\ttitle: workshopTitle,\n\t\tsubtitle: workshopSubtitle,\n\t\tinstructor,\n\t\tonboardingVideo,\n\t} = workshopConfig\n\n\tconst onboarding = await readOnboardingData()\n\tif (\n\t\t!ENV.EPICSHOP_DEPLOYED &&\n\t\t!onboarding?.tourVideosWatched.includes(onboardingVideo)\n\t) {\n\t\tif (new URL(request.url).pathname !== '/onboarding') {\n\t\t\tthrow redirect('/onboarding')\n\t\t}\n\t}\n\tconst theme = getTheme(request)\n\tconst { confettiId, headers: confettiHeaders } = getConfetti(request)\n\tconst { toast, headers: toastHeaders } = await getToast(request)\n\tconst isOnlinePromise = checkConnectionCached({ request, timings })\n\n\tconst asyncStuff = await promiseHash({\n\t\tuserId: getUserId({ request }),\n\t\tpreferences: getPreferences(),\n\t\tprogress: getProgress({ timings }).catch((e) => {\n\t\t\tconsole.error('Failed to get progress', e)\n\t\t\tconst emptyProgress: Awaited<ReturnType<typeof getProgress>> = []\n\t\t\treturn emptyProgress\n\t\t}),\n\t\tuser: getUserInfo(),\n\t\tuserHasAccess: userHasAccessToWorkshop({ request, timings }),\n\t\tapps: getApps({ request, timings }),\n\t\trepoUpdates: checkForUpdatesCached(),\n\t\tunmutedNotifications: getUnmutedNotifications(),\n\t})\n\n\tconst presentUsers = await getPresentUsers({\n\t\trequest,\n\t\ttimings,\n\t})\n\n\t// Filter out repoUpdates if muted\n\tconst mutedNotifications = await getMutedNotifications()\n\tlet repoUpdates = asyncStuff.repoUpdates\n\tif (\n\t\trepoUpdates &&\n\t\trepoUpdates.remoteCommit &&\n\t\tmutedNotifications.includes(`update-repo-${repoUpdates.remoteCommit}`)\n\t) {\n\t\trepoUpdates = { ...repoUpdates, updatesAvailable: false }\n\t}\n\n\treturn data(\n\t\t{\n\t\t\t...asyncStuff,\n\t\t\tworkshopConfig,\n\t\t\tworkshopTitle,\n\t\t\tworkshopSubtitle,\n\t\t\tinstructor,\n\t\t\tapps: asyncStuff.apps.map(({ name, fullPath, relativePath }) => ({\n\t\t\t\tname,\n\t\t\t\tfullPath,\n\t\t\t\trelativePath,\n\t\t\t})),\n\t\t\tENV: getEnv(),\n\t\t\trequestInfo: {\n\t\t\t\tprotocol: new URL(request.url).protocol,\n\t\t\t\thostname: new URL(request.url).hostname,\n\t\t\t\tport: new URL(request.url).port,\n\t\t\t\torigin: new URL(request.url).origin,\n\t\t\t\tdomain: getDomainUrl(request),\n\t\t\t\thints: getHints(request),\n\t\t\t\tpath: new URL(request.url).pathname,\n\t\t\t\tsession: { theme },\n\t\t\t\tseparator: path.sep,\n\t\t\t\tonline: await isOnlinePromise,\n\t\t\t},\n\t\t\ttoast,\n\t\t\tconfettiId,\n\t\t\tpresence: {\n\t\t\t\tusers: presentUsers,\n\t\t\t},\n\t\t\trepoUpdates,\n\t\t},\n\t\t{\n\t\t\theaders: combineHeaders(\n\t\t\t\ttoastHeaders,\n\t\t\t\tconfettiHeaders,\n\t\t\t\t{ 'Server-Timing': timings.toString() },\n\t\t\t\tasyncStuff.userId?.type === 'cookie.randomId'\n\t\t\t\t\t? { 'Set-Cookie': getSetClientIdCookieHeader(asyncStuff.userId.id) }\n\t\t\t\t\t: undefined,\n\t\t\t),\n\t\t},\n\t)\n}\n\nfunction Document({\n\tchildren,\n\tenv = {},\n\tclassName,\n\tstyle,\n}: {\n\tchildren: React.ReactNode\n\tenv?: Record<string, unknown>\n\tclassName: string\n\tstyle?: React.CSSProperties\n}) {\n\treturn (\n\t\t<html lang=\"en\" className={className} style={style}>\n\t\t\t<head>\n\t\t\t\t<ClientHintCheck />\n\t\t\t\t<Meta />\n\t\t\t\t<meta charSet=\"utf-8\" />\n\t\t\t\t<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" />\n\t\t\t\t<Links />\n\t\t\t\t<script\n\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t__html: `window.ENV = ${JSON.stringify(env)}`,\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</head>\n\t\t\t<body className=\"bg-background text-foreground scrollbar-thin scrollbar-thumb-scrollbar h-screen-safe\">\n\t\t\t\t{children}\n\t\t\t\t<ScrollRestoration />\n\t\t\t\t<Scripts />\n\t\t\t</body>\n\t\t</html>\n\t)\n}\n\nfunction App() {\n\tconst data = useLoaderData<typeof loader>()\n\tconst navigation = useNavigation()\n\tconst showSpinner = useSpinDelay(navigation.state !== 'idle', {\n\t\tdelay: 400,\n\t\tminDuration: 200,\n\t})\n\tconst altDown = useAltDown()\n\n\tconst theme = useTheme()\n\treturn (\n\t\t<Document\n\t\t\tstyle={\n\t\t\t\tdata.preferences?.fontSize\n\t\t\t\t\t? { fontSize: `${data.preferences?.fontSize}px` }\n\t\t\t\t\t: {}\n\t\t\t}\n\t\t\tclassName={cn(\n\t\t\t\t'antialiased h-screen-safe',\n\t\t\t\ttheme,\n\t\t\t\t{ 'cursor-progress': showSpinner },\n\t\t\t\taltDown ? 'alt-down' : null,\n\t\t\t)}\n\t\t\tenv={data.ENV}\n\t\t>\n\t\t\t<Outlet />\n\t\t\t<Confetti id={data.confettiId} />\n\t\t\t<EpicToaster toast={data.toast} />\n\t\t\t<UpdateToast repoUpdates={data.repoUpdates} />\n\t\t\t<EpicProgress />\n\t\t\t<Notifications unmutedNotifications={data.unmutedNotifications} />\n\t\t</Document>\n\t)\n}\n\nexport default function AppWithProviders() {\n\tconst { user } = useLoaderData<typeof loader>()\n\treturn (\n\t\t<Presence user={user}>\n\t\t\t<TooltipProvider>\n\t\t\t\t<App />\n\t\t\t</TooltipProvider>\n\t\t</Presence>\n\t)\n}\n\nexport function ErrorBoundary() {\n\treturn (\n\t\t<Document className=\"h-screen-safe\">\n\t\t\t<GeneralErrorBoundary />\n\t\t</Document>\n\t)\n}\n"],"names":["tweenFunctions","b","_c","d","c","p","s","v","tweenFunctions_1","_defineProperties","target","props","i","descriptor","_createClass","Constructor","protoProps","staticProps","_extends","source","key","_inheritsLoose","subClass","superClass","_setPrototypeOf","o","degreesToRads","degrees","randomRange","min","max","randomInt","ParticleShape","RotationDirection","Particle","context","getOptions","x","y","_this$getOptions","colors","initialVelocityX","initialVelocityY","_proto","_this$getOptions2","gravity","wind","friction","opacity","drawShape","rotateDelta","ParticleGeneratorClass","canvas","_this","newParticleX","newParticleY","particlesGenerated","lastNumberOfPieces","run","recycle","numberOfPieces","debug","tweenFunction","tweenDuration","nP","activeCount","now","tweenInitTime","progressTime","tweenedVal","numToAdd","ctx","confettiDefaults","tweens","Confetti","opts","computedConfettiDefaults","_this$options","onConfettiComplete","lastRunState","lastRecycleState","ref","React","extractCanvasProps","confettiOptions","refs","rest","confettiOptionKeys","refProps","prop","val","ConfettiReactInternal","_Component","_extractCanvasProps","passedProps","canvasStyles","Component","Index","_ref","ClientOnly","children","fallback","useHydrated","_jsx","_Fragment","id","jsx","ConfettiShower","EpicToaster","toast","jsxs","Fragment","Toaster","ShowToast","type","title","description","useEffect","showToast","UpdateToast","repoUpdates","updatesAvailable","diffLink","remoteCommit","inProgressToastId","useRef","updateNotificationId","updateInProgress","EPICSHOP_PARENT_PORT","EPICSHOP_PARENT_TOKEN","res","data","parsed","z.object","z.enum","z.string","status","message","reloaded","err","Notifications","unmutedNotifications","fetcher","useFetcher","fetcherRef","toastedIds","Set","notification","current","has","add","info","link","href","className","duration","Infinity","action","label","onClick","submit","intent","method","appStylesheetUrl","tailwindStylesheetUrl","links","rel","sizes","meta","getSeoMetaTags","instructor","workshopTitle","workshopSubtitle","requestInfo","Document","env","style","lang","ClientHintCheck","Meta","charSet","name","content","Links","dangerouslySetInnerHTML","__html","JSON","stringify","ScrollRestoration","Scripts","App","useLoaderData","navigation","useNavigation","showSpinner","useSpinDelay","state","delay","minDuration","altDown","useAltDown","theme","useTheme","preferences","fontSize","cn","ENV","Outlet","confettiId","EpicProgress","root","_UNSAFE_withComponentProps","user","Presence","TooltipProvider","ErrorBoundary","_UNSAFE_withErrorBoundaryProps","GeneralErrorBoundary"],"mappings":"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","x_google_ignoreList":[0,1,2]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{_ as p,q as _t,t as xt,s as vt,g as bt,b as wt,a as St,c as lt,A as Lt,d as H,ac as Et,z as At,k as Tt}from"./mermaid.core-CqaUvNIK.js";import{o as Mt}from"./ordinal-Cboi1Yqb.js";import"./mdx-BEhxx-X4.js";import"./jsx-runtime-EKYJJIwR.js";import"./misc-COGqV2fm.js";import"./chunk-QMGIS6GS-CG5cA6CX.js";import"./index-Bp_2FjuO.js";import"./epic-video-CCv7QINN.js";import"./index-rknZKmMI.js";import"./tooltip-Cm7A1uIP.js";import"./pe-DoDyGTeN.js";import"./online-CwZkKwTv.js";import"./loading-CZYaLyAk.js";import"./user-BQ8D2Fty.js";import"./workshop-config-5VcXxeyp.js";import"./progress-bar-Cww9t8Vn.js";import"./init-Gi6I4Gst.js";function Nt(t){for(var e=t.length/6|0,i=new Array(e),a=0;a<e;)i[a]="#"+t.slice(a*6,++a*6);return i}const It=Nt("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function ct(t,e){let i;if(e===void 0)for(const a of t)a!=null&&(i<a||i===void 0&&a>=a)&&(i=a);else{let a=-1;for(let h of t)(h=e(h,++a,t))!=null&&(i<h||i===void 0&&h>=h)&&(i=h)}return i}function gt(t,e){let i;if(e===void 0)for(const a of t)a!=null&&(i>a||i===void 0&&a>=a)&&(i=a);else{let a=-1;for(let h of t)(h=e(h,++a,t))!=null&&(i>h||i===void 0&&h>=h)&&(i=h)}return i}function nt(t,e){let i=0;if(e===void 0)for(let a of t)(a=+a)&&(i+=a);else{let a=-1;for(let h of t)(h=+e(h,++a,t))&&(i+=h)}return i}function Pt(t){return t.target.depth}function Ct(t){return t.depth}function Ot(t,e){return e-1-t.height}function mt(t,e){return t.sourceLinks.length?t.depth:e-1}function zt(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?gt(t.sourceLinks,Pt)-1:0}function X(t){return function(){return t}}function ut(t,e){return Q(t.source,e.source)||t.index-e.index}function ht(t,e){return Q(t.target,e.target)||t.index-e.index}function Q(t,e){return t.y0-e.y0}function it(t){return t.value}function Dt(t){return t.index}function $t(t){return t.nodes}function jt(t){return t.links}function ft(t,e){const i=t.get(e);if(!i)throw new Error("missing: "+e);return i}function yt({nodes:t}){for(const e of t){let i=e.y0,a=i;for(const h of e.sourceLinks)h.y0=i+h.width/2,i+=h.width;for(const h of e.targetLinks)h.y1=a+h.width/2,a+=h.width}}function Bt(){let t=0,e=0,i=1,a=1,h=24,b=8,g,k=Dt,r=mt,o,l,_=$t,x=jt,y=6;function v(){const n={nodes:_.apply(null,arguments),links:x.apply(null,arguments)};return M(n),T(n),N(n),C(n),S(n),yt(n),n}v.update=function(n){return yt(n),n},v.nodeId=function(n){return arguments.length?(k=typeof n=="function"?n:X(n),v):k},v.nodeAlign=function(n){return arguments.length?(r=typeof n=="function"?n:X(n),v):r},v.nodeSort=function(n){return arguments.length?(o=n,v):o},v.nodeWidth=function(n){return arguments.length?(h=+n,v):h},v.nodePadding=function(n){return arguments.length?(b=g=+n,v):b},v.nodes=function(n){return arguments.length?(_=typeof n=="function"?n:X(n),v):_},v.links=function(n){return arguments.length?(x=typeof n=="function"?n:X(n),v):x},v.linkSort=function(n){return arguments.length?(l=n,v):l},v.size=function(n){return arguments.length?(t=e=0,i=+n[0],a=+n[1],v):[i-t,a-e]},v.extent=function(n){return arguments.length?(t=+n[0][0],i=+n[1][0],e=+n[0][1],a=+n[1][1],v):[[t,e],[i,a]]},v.iterations=function(n){return arguments.length?(y=+n,v):y};function M({nodes:n,links:f}){for(const[c,s]of n.entries())s.index=c,s.sourceLinks=[],s.targetLinks=[];const u=new Map(n.map((c,s)=>[k(c,s,n),c]));for(const[c,s]of f.entries()){s.index=c;let{source:m,target:w}=s;typeof m!="object"&&(m=s.source=ft(u,m)),typeof w!="object"&&(w=s.target=ft(u,w)),m.sourceLinks.push(s),w.targetLinks.push(s)}if(l!=null)for(const{sourceLinks:c,targetLinks:s}of n)c.sort(l),s.sort(l)}function T({nodes:n}){for(const f of n)f.value=f.fixedValue===void 0?Math.max(nt(f.sourceLinks,it),nt(f.targetLinks,it)):f.fixedValue}function N({nodes:n}){const f=n.length;let u=new Set(n),c=new Set,s=0;for(;u.size;){for(const m of u){m.depth=s;for(const{target:w}of m.sourceLinks)c.add(w)}if(++s>f)throw new Error("circular link");u=c,c=new Set}}function C({nodes:n}){const f=n.length;let u=new Set(n),c=new Set,s=0;for(;u.size;){for(const m of u){m.height=s;for(const{source:w}of m.targetLinks)c.add(w)}if(++s>f)throw new Error("circular link");u=c,c=new Set}}function D({nodes:n}){const f=ct(n,s=>s.depth)+1,u=(i-t-h)/(f-1),c=new Array(f);for(const s of n){const m=Math.max(0,Math.min(f-1,Math.floor(r.call(null,s,f))));s.layer=m,s.x0=t+m*u,s.x1=s.x0+h,c[m]?c[m].push(s):c[m]=[s]}if(o)for(const s of c)s.sort(o);return c}function R(n){const f=gt(n,u=>(a-e-(u.length-1)*g)/nt(u,it));for(const u of n){let c=e;for(const s of u){s.y0=c,s.y1=c+s.value*f,c=s.y1+g;for(const m of s.sourceLinks)m.width=m.value*f}c=(a-c+g)/(u.length+1);for(let s=0;s<u.length;++s){const m=u[s];m.y0+=c*(s+1),m.y1+=c*(s+1)}A(u)}}function S(n){const f=D(n);g=Math.min(b,(a-e)/(ct(f,u=>u.length)-1)),R(f);for(let u=0;u<y;++u){const c=Math.pow(.99,u),s=Math.max(1-c,(u+1)/y);B(f,c,s),P(f,c,s)}}function P(n,f,u){for(let c=1,s=n.length;c<s;++c){const m=n[c];for(const w of m){let L=0,F=0;for(const{source:Y,value:et}of w.targetLinks){let q=et*(w.layer-Y.layer);L+=$(Y,w)*q,F+=q}if(!(F>0))continue;let G=(L/F-w.y0)*f;w.y0+=G,w.y1+=G,E(w)}o===void 0&&m.sort(Q),O(m,u)}}function B(n,f,u){for(let c=n.length,s=c-2;s>=0;--s){const m=n[s];for(const w of m){let L=0,F=0;for(const{target:Y,value:et}of w.sourceLinks){let q=et*(Y.layer-w.layer);L+=I(w,Y)*q,F+=q}if(!(F>0))continue;let G=(L/F-w.y0)*f;w.y0+=G,w.y1+=G,E(w)}o===void 0&&m.sort(Q),O(m,u)}}function O(n,f){const u=n.length>>1,c=n[u];d(n,c.y0-g,u-1,f),z(n,c.y1+g,u+1,f),d(n,a,n.length-1,f),z(n,e,0,f)}function z(n,f,u,c){for(;u<n.length;++u){const s=n[u],m=(f-s.y0)*c;m>1e-6&&(s.y0+=m,s.y1+=m),f=s.y1+g}}function d(n,f,u,c){for(;u>=0;--u){const s=n[u],m=(s.y1-f)*c;m>1e-6&&(s.y0-=m,s.y1-=m),f=s.y0-g}}function E({sourceLinks:n,targetLinks:f}){if(l===void 0){for(const{source:{sourceLinks:u}}of f)u.sort(ht);for(const{target:{targetLinks:u}}of n)u.sort(ut)}}function A(n){if(l===void 0)for(const{sourceLinks:f,targetLinks:u}of n)f.sort(ht),u.sort(ut)}function $(n,f){let u=n.y0-(n.sourceLinks.length-1)*g/2;for(const{target:c,width:s}of n.sourceLinks){if(c===f)break;u+=s+g}for(const{source:c,width:s}of f.targetLinks){if(c===n)break;u-=s}return u}function I(n,f){let u=f.y0-(f.targetLinks.length-1)*g/2;for(const{source:c,width:s}of f.targetLinks){if(c===n)break;u+=s+g}for(const{target:c,width:s}of n.sourceLinks){if(c===f)break;u-=s}return u}return v}var rt=Math.PI,st=2*rt,V=1e-6,Rt=st-V;function ot(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function kt(){return new ot}ot.prototype=kt.prototype={constructor:ot,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,i,a){this._+="Q"+ +t+","+ +e+","+(this._x1=+i)+","+(this._y1=+a)},bezierCurveTo:function(t,e,i,a,h,b){this._+="C"+ +t+","+ +e+","+ +i+","+ +a+","+(this._x1=+h)+","+(this._y1=+b)},arcTo:function(t,e,i,a,h){t=+t,e=+e,i=+i,a=+a,h=+h;var b=this._x1,g=this._y1,k=i-t,r=a-e,o=b-t,l=g-e,_=o*o+l*l;if(h<0)throw new Error("negative radius: "+h);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(_>V)if(!(Math.abs(l*k-r*o)>V)||!h)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var x=i-b,y=a-g,v=k*k+r*r,M=x*x+y*y,T=Math.sqrt(v),N=Math.sqrt(_),C=h*Math.tan((rt-Math.acos((v+_-M)/(2*T*N)))/2),D=C/N,R=C/T;Math.abs(D-1)>V&&(this._+="L"+(t+D*o)+","+(e+D*l)),this._+="A"+h+","+h+",0,0,"+ +(l*x>o*y)+","+(this._x1=t+R*k)+","+(this._y1=e+R*r)}},arc:function(t,e,i,a,h,b){t=+t,e=+e,i=+i,b=!!b;var g=i*Math.cos(a),k=i*Math.sin(a),r=t+g,o=e+k,l=1^b,_=b?a-h:h-a;if(i<0)throw new Error("negative radius: "+i);this._x1===null?this._+="M"+r+","+o:(Math.abs(this._x1-r)>V||Math.abs(this._y1-o)>V)&&(this._+="L"+r+","+o),i&&(_<0&&(_=_%st+st),_>Rt?this._+="A"+i+","+i+",0,1,"+l+","+(t-g)+","+(e-k)+"A"+i+","+i+",0,1,"+l+","+(this._x1=r)+","+(this._y1=o):_>V&&(this._+="A"+i+","+i+",0,"+ +(_>=rt)+","+l+","+(this._x1=t+i*Math.cos(h))+","+(this._y1=e+i*Math.sin(h))))},rect:function(t,e,i,a){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +i+"v"+ +a+"h"+-i+"Z"},toString:function(){return this._}};function dt(t){return function(){return t}}function Ft(t){return t[0]}function Vt(t){return t[1]}var Wt=Array.prototype.slice;function Ut(t){return t.source}function Gt(t){return t.target}function Yt(t){var e=Ut,i=Gt,a=Ft,h=Vt,b=null;function g(){var k,r=Wt.call(arguments),o=e.apply(this,r),l=i.apply(this,r);if(b||(b=k=kt()),t(b,+a.apply(this,(r[0]=o,r)),+h.apply(this,r),+a.apply(this,(r[0]=l,r)),+h.apply(this,r)),k)return b=null,k+""||null}return g.source=function(k){return arguments.length?(e=k,g):e},g.target=function(k){return arguments.length?(i=k,g):i},g.x=function(k){return arguments.length?(a=typeof k=="function"?k:dt(+k),g):a},g.y=function(k){return arguments.length?(h=typeof k=="function"?k:dt(+k),g):h},g.context=function(k){return arguments.length?(b=k??null,g):b},g}function qt(t,e,i,a,h){t.moveTo(e,i),t.bezierCurveTo(e=(e+a)/2,i,e,h,a,h)}function Ht(){return Yt(qt)}function Xt(t){return[t.source.x1,t.y0]}function Qt(t){return[t.target.x0,t.y1]}function Kt(){return Ht().source(Xt).target(Qt)}var at=function(){var t=p(function(k,r,o,l){for(o=o||{},l=k.length;l--;o[k[l]]=r);return o},"o"),e=[1,9],i=[1,10],a=[1,5,10,12],h={trace:p(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SANKEY:4,NEWLINE:5,csv:6,opt_eof:7,record:8,csv_tail:9,EOF:10,"field[source]":11,COMMA:12,"field[target]":13,"field[value]":14,field:15,escaped:16,non_escaped:17,DQUOTE:18,ESCAPED_TEXT:19,NON_ESCAPED_TEXT:20,$accept:0,$end:1},terminals_:{2:"error",4:"SANKEY",5:"NEWLINE",10:"EOF",11:"field[source]",12:"COMMA",13:"field[target]",14:"field[value]",18:"DQUOTE",19:"ESCAPED_TEXT",20:"NON_ESCAPED_TEXT"},productions_:[0,[3,4],[6,2],[9,2],[9,0],[7,1],[7,0],[8,5],[15,1],[15,1],[16,3],[17,1]],performAction:p(function(r,o,l,_,x,y,v){var M=y.length-1;switch(x){case 7:const T=_.findOrCreateNode(y[M-4].trim().replaceAll('""','"')),N=_.findOrCreateNode(y[M-2].trim().replaceAll('""','"')),C=parseFloat(y[M].trim());_.addLink(T,N,C);break;case 8:case 9:case 11:this.$=y[M];break;case 10:this.$=y[M-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:i},{1:[2,6],7:11,10:[1,12]},t(i,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(a,[2,8]),t(a,[2,9]),{19:[1,16]},t(a,[2,11]),{1:[2,1]},{1:[2,5]},t(i,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:i},{15:18,16:7,17:8,18:e,20:i},{18:[1,19]},t(i,[2,3]),{12:[1,20]},t(a,[2,10]),{15:21,16:7,17:8,18:e,20:i},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:p(function(r,o){if(o.recoverable)this.trace(r);else{var l=new Error(r);throw l.hash=o,l}},"parseError"),parse:p(function(r){var o=this,l=[0],_=[],x=[null],y=[],v=this.table,M="",T=0,N=0,C=2,D=1,R=y.slice.call(arguments,1),S=Object.create(this.lexer),P={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(P.yy[B]=this.yy[B]);S.setInput(r,P.yy),P.yy.lexer=S,P.yy.parser=this,typeof S.yylloc>"u"&&(S.yylloc={});var O=S.yylloc;y.push(O);var z=S.options&&S.options.ranges;typeof P.yy.parseError=="function"?this.parseError=P.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function d(L){l.length=l.length-2*L,x.length=x.length-L,y.length=y.length-L}p(d,"popStack");function E(){var L;return L=_.pop()||S.lex()||D,typeof L!="number"&&(L instanceof Array&&(_=L,L=_.pop()),L=o.symbols_[L]||L),L}p(E,"lex");for(var A,$,I,n,f={},u,c,s,m;;){if($=l[l.length-1],this.defaultActions[$]?I=this.defaultActions[$]:((A===null||typeof A>"u")&&(A=E()),I=v[$]&&v[$][A]),typeof I>"u"||!I.length||!I[0]){var w="";m=[];for(u in v[$])this.terminals_[u]&&u>C&&m.push("'"+this.terminals_[u]+"'");S.showPosition?w="Parse error on line "+(T+1)+`:
|
|
2
|
+
`+S.showPosition()+`
|
|
3
|
+
Expecting `+m.join(", ")+", got '"+(this.terminals_[A]||A)+"'":w="Parse error on line "+(T+1)+": Unexpected "+(A==D?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(w,{text:S.match,token:this.terminals_[A]||A,line:S.yylineno,loc:O,expected:m})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+$+", token: "+A);switch(I[0]){case 1:l.push(A),x.push(S.yytext),y.push(S.yylloc),l.push(I[1]),A=null,N=S.yyleng,M=S.yytext,T=S.yylineno,O=S.yylloc;break;case 2:if(c=this.productions_[I[1]][1],f.$=x[x.length-c],f._$={first_line:y[y.length-(c||1)].first_line,last_line:y[y.length-1].last_line,first_column:y[y.length-(c||1)].first_column,last_column:y[y.length-1].last_column},z&&(f._$.range=[y[y.length-(c||1)].range[0],y[y.length-1].range[1]]),n=this.performAction.apply(f,[M,N,T,P.yy,I[1],x,y].concat(R)),typeof n<"u")return n;c&&(l=l.slice(0,-1*c*2),x=x.slice(0,-1*c),y=y.slice(0,-1*c)),l.push(this.productions_[I[1]][0]),x.push(f.$),y.push(f._$),s=v[l[l.length-2]][l[l.length-1]],l.push(s);break;case 3:return!0}}return!0},"parse")},b=function(){var k={EOF:1,parseError:p(function(o,l){if(this.yy.parser)this.yy.parser.parseError(o,l);else throw new Error(o)},"parseError"),setInput:p(function(r,o){return this.yy=o||this.yy||{},this._input=r,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:p(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var o=r.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:p(function(r){var o=r.length,l=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o),this.offset-=o;var _=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),l.length-1&&(this.yylineno-=l.length-1);var x=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:l?(l.length===_.length?this.yylloc.first_column:0)+_[_.length-l.length].length-l[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[x[0],x[0]+this.yyleng-o]),this.yyleng=this.yytext.length,this},"unput"),more:p(function(){return this._more=!0,this},"more"),reject:p(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
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:p(function(r){this.unput(this.match.slice(r))},"less"),pastInput:p(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:p(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:p(function(){var r=this.pastInput(),o=new Array(r.length+1).join("-");return r+this.upcomingInput()+`
|
|
5
|
+
`+o+"^"},"showPosition"),test_match:p(function(r,o){var l,_,x;if(this.options.backtrack_lexer&&(x={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(x.yylloc.range=this.yylloc.range.slice(0))),_=r[0].match(/(?:\r\n?|\n).*/g),_&&(this.yylineno+=_.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:_?_[_.length-1].length-_[_.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+r[0].length},this.yytext+=r[0],this.match+=r[0],this.matches=r,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(r[0].length),this.matched+=r[0],l=this.performAction.call(this,this.yy,this,o,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),l)return l;if(this._backtrack){for(var y in x)this[y]=x[y];return!1}return!1},"test_match"),next:p(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var r,o,l,_;this._more||(this.yytext="",this.match="");for(var x=this._currentRules(),y=0;y<x.length;y++)if(l=this._input.match(this.rules[x[y]]),l&&(!o||l[0].length>o[0].length)){if(o=l,_=y,this.options.backtrack_lexer){if(r=this.test_match(l,x[y]),r!==!1)return r;if(this._backtrack){o=!1;continue}else return!1}else if(!this.options.flex)break}return o?(r=this.test_match(o,x[_]),r!==!1?r:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
|
|
6
|
+
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:p(function(){var o=this.next();return o||this.lex()},"lex"),begin:p(function(o){this.conditionStack.push(o)},"begin"),popState:p(function(){var o=this.conditionStack.length-1;return o>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:p(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:p(function(o){return o=this.conditionStack.length-1-Math.abs(o||0),o>=0?this.conditionStack[o]:"INITIAL"},"topState"),pushState:p(function(o){this.begin(o)},"pushState"),stateStackSize:p(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:p(function(o,l,_,x){switch(_){case 0:return this.pushState("csv"),4;case 1:return 10;case 2:return 5;case 3:return 12;case 4:return this.pushState("escaped_text"),18;case 5:return 20;case 6:return this.popState("escaped_text"),18;case 7:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:$)/i,/^(?:((\u000D\u000A)|(\u000A)))/i,/^(?:(\u002C))/i,/^(?:(\u0022))/i,/^(?:([\u0020-\u0021\u0023-\u002B\u002D-\u007E])*)/i,/^(?:(\u0022)(?!(\u0022)))/i,/^(?:(([\u0020-\u0021\u0023-\u002B\u002D-\u007E])|(\u002C)|(\u000D)|(\u000A)|(\u0022)(\u0022))*)/i],conditions:{csv:{rules:[1,2,3,4,5,6,7],inclusive:!1},escaped_text:{rules:[6,7],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return k}();h.lexer=b;function g(){this.yy={}}return p(g,"Parser"),g.prototype=h,h.Parser=g,new g}();at.parser=at;var K=at,J=[],tt=[],Z=new Map,Zt=p(()=>{J=[],tt=[],Z=new Map,At()},"clear"),W,Jt=(W=class{constructor(e,i,a=0){this.source=e,this.target=i,this.value=a}},p(W,"SankeyLink"),W),te=p((t,e,i)=>{J.push(new Jt(t,e,i))},"addLink"),U,ee=(U=class{constructor(e){this.ID=e}},p(U,"SankeyNode"),U),ne=p(t=>{t=Tt.sanitizeText(t,lt());let e=Z.get(t);return e===void 0&&(e=new ee(t),Z.set(t,e),tt.push(e)),e},"findOrCreateNode"),ie=p(()=>tt,"getNodes"),re=p(()=>J,"getLinks"),se=p(()=>({nodes:tt.map(t=>({id:t.ID})),links:J.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),oe={nodesMap:Z,getConfig:p(()=>lt().sankey,"getConfig"),getNodes:ie,getLinks:re,getGraph:se,addLink:te,findOrCreateNode:ne,getAccTitle:St,setAccTitle:wt,getAccDescription:bt,setAccDescription:vt,getDiagramTitle:xt,setDiagramTitle:_t,clear:Zt},j,pt=(j=class{static next(e){return new j(e+ ++j.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}},p(j,"Uid"),j.count=0,j),ae={left:Ct,right:Ot,center:zt,justify:mt},le=p(function(t,e,i,a){const{securityLevel:h,sankey:b}=lt(),g=Lt.sankey;let k;h==="sandbox"&&(k=H("#i"+e));const r=h==="sandbox"?H(k.nodes()[0].contentDocument.body):H("body"),o=h==="sandbox"?r.select(`[id="${e}"]`):H(`[id="${e}"]`),l=b?.width??g.width,_=b?.height??g.width,x=b?.useMaxWidth??g.useMaxWidth,y=b?.nodeAlignment??g.nodeAlignment,v=b?.prefix??g.prefix,M=b?.suffix??g.suffix,T=b?.showValues??g.showValues,N=a.db.getGraph(),C=ae[y];Bt().nodeId(d=>d.id).nodeWidth(10).nodePadding(10+(T?15:0)).nodeAlign(C).extent([[0,0],[l,_]])(N);const S=Mt(It);o.append("g").attr("class","nodes").selectAll(".node").data(N.nodes).join("g").attr("class","node").attr("id",d=>(d.uid=pt.next("node-")).id).attr("transform",function(d){return"translate("+d.x0+","+d.y0+")"}).attr("x",d=>d.x0).attr("y",d=>d.y0).append("rect").attr("height",d=>d.y1-d.y0).attr("width",d=>d.x1-d.x0).attr("fill",d=>S(d.id));const P=p(({id:d,value:E})=>T?`${d}
|
|
7
|
+
${v}${Math.round(E*100)/100}${M}`:d,"getText");o.append("g").attr("class","node-labels").attr("font-size",14).selectAll("text").data(N.nodes).join("text").attr("x",d=>d.x0<l/2?d.x1+6:d.x0-6).attr("y",d=>(d.y1+d.y0)/2).attr("dy",`${T?"0":"0.35"}em`).attr("text-anchor",d=>d.x0<l/2?"start":"end").text(P);const B=o.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(N.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),O=b?.linkColor??"gradient";if(O==="gradient"){const d=B.append("linearGradient").attr("id",E=>(E.uid=pt.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",E=>E.source.x1).attr("x2",E=>E.target.x0);d.append("stop").attr("offset","0%").attr("stop-color",E=>S(E.source.id)),d.append("stop").attr("offset","100%").attr("stop-color",E=>S(E.target.id))}let z;switch(O){case"gradient":z=p(d=>d.uid,"coloring");break;case"source":z=p(d=>S(d.source.id),"coloring");break;case"target":z=p(d=>S(d.target.id),"coloring");break;default:z=O}B.append("path").attr("d",Kt()).attr("stroke",z).attr("stroke-width",d=>Math.max(1,d.width)),Et(void 0,o,0,x)},"draw"),ce={draw:le},ue=p(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,`
|
|
8
|
+
`).trim(),"prepareTextForParsing"),he=p(t=>`.label {
|
|
9
|
+
font-family: ${t.fontFamily};
|
|
10
|
+
}`,"getStyles"),fe=he,ye=K.parse.bind(K);K.parse=t=>ye(ue(t));var Ie={styles:fe,parser:K,db:oe,renderer:ce};export{Ie as diagram};
|
|
11
|
+
//# sourceMappingURL=sankeyDiagram-4UZDY2LN-DHcxz6y6.js.map
|