@epic-web/workshop-app 6.20.1 → 6.20.2
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/build/client/assets/{_-DWD4zboG.js → _-0zvftzc9.js} +2 -2
- package/build/client/assets/_-0zvftzc9.js.map +1 -0
- package/build/client/assets/{_-C_50vCcD.js → _-Y5r2g2tH.js} +2 -2
- package/build/client/assets/{_-C_50vCcD.js.map → _-Y5r2g2tH.js.map} +1 -1
- package/build/client/assets/{_basePickBy-DGqP6iMb.js → _basePickBy--4ugtlL7.js} +2 -2
- package/build/client/assets/{_basePickBy-DGqP6iMb.js.map → _basePickBy--4ugtlL7.js.map} +1 -1
- package/build/client/assets/{_baseUniq-BSqu7sbU.js → _baseUniq--A-X_j04.js} +2 -2
- package/build/client/assets/{_baseUniq-BSqu7sbU.js.map → _baseUniq--A-X_j04.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber-BPYA1c50.js → _exerciseNumber-Drsod2Cz.js} +2 -2
- package/build/client/assets/{_exerciseNumber-BPYA1c50.js.map → _exerciseNumber-Drsod2Cz.js.map} +1 -1
- package/build/client/assets/{_exerciseNumber_._stepNumber-nJUN9z9v.js → _exerciseNumber_._stepNumber-CjpC54Pi.js} +2 -2
- package/build/client/assets/{_exerciseNumber_._stepNumber-nJUN9z9v.js.map → _exerciseNumber_._stepNumber-CjpC54Pi.js.map} +1 -1
- package/build/client/assets/_exerciseNumber_._stepNumber.index-DWy-rQ_9.js +2 -0
- package/build/client/assets/_exerciseNumber_._stepNumber.index-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/{_exerciseNumber_.finished-DIDOiP21.js → _exerciseNumber_.finished-C58JqmBV.js} +2 -2
- package/build/client/assets/{_exerciseNumber_.finished-DIDOiP21.js.map → _exerciseNumber_.finished-C58JqmBV.js.map} +1 -1
- package/build/client/assets/_layout-BNP4EhvI.js +2 -0
- package/build/client/assets/{_layout-C-H3yMjY.js.map → _layout-BNP4EhvI.js.map} +1 -1
- package/build/client/assets/{_layout-C4Hwf3f3.js → _layout-B_d-4S-3.js} +2 -2
- package/build/client/assets/{_layout-C4Hwf3f3.js.map → _layout-B_d-4S-3.js.map} +1 -1
- package/build/client/assets/{_layout-DfxMfCEd.js → _layout-Bod5MopJ.js} +2 -2
- package/build/client/assets/{_layout-DfxMfCEd.js.map → _layout-Bod5MopJ.js.map} +1 -1
- package/build/client/assets/{_layout-D9T-Cuv8.js → _layout-DZq3b6h6.js} +2 -2
- package/build/client/assets/{_layout-D9T-Cuv8.js.map → _layout-DZq3b6h6.js.map} +1 -1
- package/build/client/assets/{accordion-SIWqGFTZ.js → accordion-B_Bctn7r.js} +2 -2
- package/build/client/assets/{accordion-SIWqGFTZ.js.map → accordion-B_Bctn7r.js.map} +1 -1
- package/build/client/assets/{account-CcbrcoIi.js → account-BZuQKrcR.js} +2 -2
- package/build/client/assets/{account-CcbrcoIi.js.map → account-BZuQKrcR.js.map} +1 -1
- package/build/client/assets/api._-DWy-rQ_9.js +2 -0
- package/build/client/assets/api._-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/app-Db1vYxi2.js +2 -0
- package/build/client/assets/{app-D8r5tt-B.js.map → app-Db1vYxi2.js.map} +1 -1
- package/build/client/assets/app.epic_ws_.js_-DWy-rQ_9.js +2 -0
- package/build/client/assets/app.epic_ws_.js_-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/apps-CKQaUZlO.js +2 -0
- package/build/client/assets/apps-CKQaUZlO.js.map +1 -0
- package/build/client/assets/apps-DWy-rQ_9.js +2 -0
- package/build/client/assets/apps-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/{arc-Kn-_Nztl.js → arc-CD085IRc.js} +2 -2
- package/build/client/assets/{arc-Kn-_Nztl.js.map → arc-CD085IRc.js.map} +1 -1
- package/build/client/assets/{architectureDiagram-SUXI7LT5-CWC9mtAi.js → architectureDiagram-SUXI7LT5-AviavNgR.js} +2 -2
- package/build/client/assets/{architectureDiagram-SUXI7LT5-CWC9mtAi.js.map → architectureDiagram-SUXI7LT5-AviavNgR.js.map} +1 -1
- package/build/client/assets/{blockDiagram-6J76NXCF-DaW_EiWx.js → blockDiagram-6J76NXCF-BgZLSpDQ.js} +2 -2
- package/build/client/assets/{blockDiagram-6J76NXCF-DaW_EiWx.js.map → blockDiagram-6J76NXCF-BgZLSpDQ.js.map} +1 -1
- package/build/client/assets/{button-BrdF5r7w.js → button-C0GoYB78.js} +2 -2
- package/build/client/assets/{button-BrdF5r7w.js.map → button-C0GoYB78.js.map} +1 -1
- package/build/client/assets/{c4Diagram-6F6E4RAY-CV2n217o.js → c4Diagram-6F6E4RAY-7mbkBwyG.js} +2 -2
- package/build/client/assets/{c4Diagram-6F6E4RAY-CV2n217o.js.map → c4Diagram-6F6E4RAY-7mbkBwyG.js.map} +1 -1
- package/build/client/assets/cache-DWy-rQ_9.js +2 -0
- package/build/client/assets/cache-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/channel-P_PUT8ex.js +2 -0
- package/build/client/assets/{channel-Cid8xIsU.js.map → channel-P_PUT8ex.js.map} +1 -1
- package/build/client/assets/{chunk-353BL4L5-CWSjvIXQ.js → chunk-353BL4L5-DvRc4vAz.js} +2 -2
- package/build/client/assets/{chunk-353BL4L5-CWSjvIXQ.js.map → chunk-353BL4L5-DvRc4vAz.js.map} +1 -1
- package/build/client/assets/{chunk-67H74DCK-DuB-SOWr.js → chunk-67H74DCK-B5dZzyAT.js} +2 -2
- package/build/client/assets/{chunk-67H74DCK-DuB-SOWr.js.map → chunk-67H74DCK-B5dZzyAT.js.map} +1 -1
- package/build/client/assets/{chunk-AACKK3MU-BtuDQ-TG.js → chunk-AACKK3MU-CVVr9Uzw.js} +2 -2
- package/build/client/assets/{chunk-AACKK3MU-BtuDQ-TG.js.map → chunk-AACKK3MU-CVVr9Uzw.js.map} +1 -1
- package/build/client/assets/{chunk-BFAMUDN2-C5d1tXK7.js → chunk-BFAMUDN2-DikUjjtj.js} +2 -2
- package/build/client/assets/{chunk-BFAMUDN2-C5d1tXK7.js.map → chunk-BFAMUDN2-DikUjjtj.js.map} +1 -1
- package/build/client/assets/{chunk-E2GYISFI-DSVwHmLX.js → chunk-E2GYISFI-Dm-t-lF1.js} +2 -2
- package/build/client/assets/{chunk-E2GYISFI-DSVwHmLX.js.map → chunk-E2GYISFI-Dm-t-lF1.js.map} +1 -1
- package/build/client/assets/{chunk-EF7DTUVF-OESp29xk.js → chunk-EF7DTUVF-D_zZ4QXW.js} +2 -2
- package/build/client/assets/{chunk-EF7DTUVF-OESp29xk.js.map → chunk-EF7DTUVF-D_zZ4QXW.js.map} +1 -1
- package/build/client/assets/{chunk-OW32GOEJ-Ceuc2Lvy.js → chunk-OW32GOEJ-Bh-_ZV90.js} +2 -2
- package/build/client/assets/{chunk-OW32GOEJ-Ceuc2Lvy.js.map → chunk-OW32GOEJ-Bh-_ZV90.js.map} +1 -1
- package/build/client/assets/{chunk-SKB7J2MH-6OdR-ZoQ.js → chunk-SKB7J2MH-Ba9RINCD.js} +2 -2
- package/build/client/assets/{chunk-SKB7J2MH-6OdR-ZoQ.js.map → chunk-SKB7J2MH-Ba9RINCD.js.map} +1 -1
- package/build/client/assets/{chunk-SZ463SBG-Zfv2t9w-.js → chunk-SZ463SBG-CWXiCwvT.js} +2 -2
- package/build/client/assets/{chunk-SZ463SBG-Zfv2t9w-.js.map → chunk-SZ463SBG-CWXiCwvT.js.map} +1 -1
- package/build/client/assets/classDiagram-M3E45YP4-ljONSsaM.js +2 -0
- package/build/client/assets/{classDiagram-M3E45YP4-CHu66Du8.js.map → classDiagram-M3E45YP4-ljONSsaM.js.map} +1 -1
- package/build/client/assets/classDiagram-v2-YAWTLIQI-ljONSsaM.js +2 -0
- package/build/client/assets/{classDiagram-v2-YAWTLIQI-CHu66Du8.js.map → classDiagram-v2-YAWTLIQI-ljONSsaM.js.map} +1 -1
- package/build/client/assets/clone-Jol_G8pz.js +2 -0
- package/build/client/assets/{clone-Dvru0KJ7.js.map → clone-Jol_G8pz.js.map} +1 -1
- package/build/client/assets/{dagre-JOIXM2OF-Bnu2W3NO.js → dagre-JOIXM2OF-FAhtn48L.js} +2 -2
- package/build/client/assets/{dagre-JOIXM2OF-Bnu2W3NO.js.map → dagre-JOIXM2OF-FAhtn48L.js.map} +1 -1
- package/build/client/assets/{diagram-5UYTHUR4-BFd2roQZ.js → diagram-5UYTHUR4-DGvTo4IP.js} +2 -2
- package/build/client/assets/{diagram-5UYTHUR4-BFd2roQZ.js.map → diagram-5UYTHUR4-DGvTo4IP.js.map} +1 -1
- package/build/client/assets/{diagram-VMROVX33-DIsvFs8F.js → diagram-VMROVX33-BKKObvO7.js} +2 -2
- package/build/client/assets/{diagram-VMROVX33-DIsvFs8F.js.map → diagram-VMROVX33-BKKObvO7.js.map} +1 -1
- package/build/client/assets/{diagram-ZTM2IBQH-BfIhHMBp.js → diagram-ZTM2IBQH-BpLBpXVg.js} +2 -2
- package/build/client/assets/{diagram-ZTM2IBQH-BfIhHMBp.js.map → diagram-ZTM2IBQH-BpLBpXVg.js.map} +1 -1
- package/build/client/assets/diff-B45s_syH.js +2 -0
- package/build/client/assets/{diff-B755vQv2.js.map → diff-B45s_syH.js.map} +1 -1
- package/build/client/assets/{diff-3mVR5m20.js → diff-D75Hwk0w.js} +2 -2
- package/build/client/assets/{diff-3mVR5m20.js.map → diff-D75Hwk0w.js.map} +1 -1
- package/build/client/assets/{discord-Bv7e7TmO.js → discord-ChkQ2Ohv.js} +2 -2
- package/build/client/assets/{discord-Bv7e7TmO.js.map → discord-ChkQ2Ohv.js.map} +1 -1
- package/build/client/assets/discord-DYhyGj2p.js +2 -0
- package/build/client/assets/discord-DYhyGj2p.js.map +1 -0
- package/build/client/assets/{entry.client-Dbz6GpOK.js → entry.client-Cy5ZUpwR.js} +2 -2
- package/build/client/assets/{entry.client-Dbz6GpOK.js.map → entry.client-Cy5ZUpwR.js.map} +1 -1
- package/build/client/assets/{epic-video-DKfkUIte.js → epic-video-DkCQ81iW.js} +2 -2
- package/build/client/assets/{epic-video-DKfkUIte.js.map → epic-video-DkCQ81iW.js.map} +1 -1
- package/build/client/assets/epic_ws_.js_-DWy-rQ_9.js +2 -0
- package/build/client/assets/epic_ws_.js_-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/{erDiagram-3M52JZNH-CqBOSjHF.js → erDiagram-3M52JZNH-C8KiRSuz.js} +2 -2
- package/build/client/assets/{erDiagram-3M52JZNH-CqBOSjHF.js.map → erDiagram-3M52JZNH-C8KiRSuz.js.map} +1 -1
- package/build/client/assets/{error-boundary-CYqLMwAB.js → error-boundary-DGrb_QZA.js} +2 -2
- package/build/client/assets/{error-boundary-CYqLMwAB.js.map → error-boundary-DGrb_QZA.js.map} +1 -1
- package/build/client/assets/exercises-DWy-rQ_9.js +2 -0
- package/build/client/assets/exercises-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/{finished-B_yNB1ox.js → finished-BwmbdgL7.js} +2 -2
- package/build/client/assets/{finished-B_yNB1ox.js.map → finished-BwmbdgL7.js.map} +1 -1
- package/build/client/assets/{flowDiagram-KYDEHFYC-DWkugkrC.js → flowDiagram-KYDEHFYC-C70WnMPP.js} +2 -2
- package/build/client/assets/{flowDiagram-KYDEHFYC-DWkugkrC.js.map → flowDiagram-KYDEHFYC-C70WnMPP.js.map} +1 -1
- package/build/client/assets/{ganttDiagram-EK5VF46D-_taoCE-l.js → ganttDiagram-EK5VF46D-BEG56SIx.js} +2 -2
- package/build/client/assets/{ganttDiagram-EK5VF46D-_taoCE-l.js.map → ganttDiagram-EK5VF46D-BEG56SIx.js.map} +1 -1
- package/build/client/assets/{gitGraphDiagram-GW3U2K7C-CnbC1JKc.js → gitGraphDiagram-GW3U2K7C-BnX5qo0a.js} +2 -2
- package/build/client/assets/{gitGraphDiagram-GW3U2K7C-CnbC1JKc.js.map → gitGraphDiagram-GW3U2K7C-BnX5qo0a.js.map} +1 -1
- package/build/client/assets/{graph-Bz9-G6lm.js → graph-CbtexoWS.js} +2 -2
- package/build/client/assets/{graph-Bz9-G6lm.js.map → graph-CbtexoWS.js.map} +1 -1
- package/build/client/assets/healthcheck-DWy-rQ_9.js +2 -0
- package/build/client/assets/healthcheck-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/{index-CTXozaWe.js → index-B3PE7aDv.js} +2 -2
- package/build/client/assets/{index-CTXozaWe.js.map → index-B3PE7aDv.js.map} +1 -1
- package/build/client/assets/{index-VOH-_-g0.js → index-B_tN7eB-.js} +2 -2
- package/build/client/assets/{index-VOH-_-g0.js.map → index-B_tN7eB-.js.map} +1 -1
- package/build/client/assets/{index-BJL4Zqq0.js → index-CHLoyetQ.js} +2 -2
- package/build/client/assets/{index-BJL4Zqq0.js.map → index-CHLoyetQ.js.map} +1 -1
- package/build/client/assets/index-CKQaUZlO.js +2 -0
- package/build/client/assets/index-CKQaUZlO.js.map +1 -0
- package/build/client/assets/{index-Bz5zb3Yz.js → index-CUgS2KZc.js} +2 -2
- package/build/client/assets/{index-Bz5zb3Yz.js.map → index-CUgS2KZc.js.map} +1 -1
- package/build/client/assets/index-ChIIGIuw.js +2 -0
- package/build/client/assets/index-ChIIGIuw.js.map +1 -0
- package/build/client/assets/{index-CtRWY9qo.js → index-DFfkKhg2.js} +2 -2
- package/build/client/assets/{index-CtRWY9qo.js.map → index-DFfkKhg2.js.map} +1 -1
- package/build/client/assets/{index-xaQ1AGsq.js → index-DPsetOJf.js} +2 -2
- package/build/client/assets/{index-xaQ1AGsq.js.map → index-DPsetOJf.js.map} +1 -1
- package/build/client/assets/{index-CQIcIn1f.js → index-DRLmuB21.js} +2 -2
- package/build/client/assets/{index-CQIcIn1f.js.map → index-DRLmuB21.js.map} +1 -1
- package/build/client/assets/index-DWy-rQ_9.js +2 -0
- package/build/client/assets/index-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/{index-B6rbckLn.js → index-Dg5_MM1A.js} +2 -2
- package/build/client/assets/{index-B6rbckLn.js.map → index-Dg5_MM1A.js.map} +1 -1
- package/build/client/assets/{index-DIoK98vX.js → index-T47eroKy.js} +2 -2
- package/build/client/assets/{index-DIoK98vX.js.map → index-T47eroKy.js.map} +1 -1
- package/build/client/assets/infoDiagram-LHK5PUON-CNlpBWH-.js +3 -0
- package/build/client/assets/{infoDiagram-LHK5PUON-CTz_Pggq.js.map → infoDiagram-LHK5PUON-CNlpBWH-.js.map} +1 -1
- package/build/client/assets/{journeyDiagram-EWQZEKCU-BRzzp7N-.js → journeyDiagram-EWQZEKCU-B1fqHQBA.js} +2 -2
- package/build/client/assets/{journeyDiagram-EWQZEKCU-BRzzp7N-.js.map → journeyDiagram-EWQZEKCU-B1fqHQBA.js.map} +1 -1
- package/build/client/assets/{jsx-runtime-D1o9gi0D.js → jsx-runtime-Cdd9Sn68.js} +2 -2
- package/build/client/assets/{jsx-runtime-D1o9gi0D.js.map → jsx-runtime-Cdd9Sn68.js.map} +1 -1
- package/build/client/assets/{kanban-definition-ZSS6B67P-CIoKb5zA.js → kanban-definition-ZSS6B67P-9DM76xyO.js} +2 -2
- package/build/client/assets/{kanban-definition-ZSS6B67P-CIoKb5zA.js.map → kanban-definition-ZSS6B67P-9DM76xyO.js.map} +1 -1
- package/build/client/assets/l-DtjC67Ey.js +2 -0
- package/build/client/assets/{l-B54WvJRl.js.map → l-DtjC67Ey.js.map} +1 -1
- package/build/client/assets/launch-editor-DWy-rQ_9.js +2 -0
- package/build/client/assets/launch-editor-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/{layout-Bw4uZbIs.js → layout-Dvnb0s21.js} +2 -2
- package/build/client/assets/{layout-Bw4uZbIs.js.map → layout-Dvnb0s21.js.map} +1 -1
- package/build/client/assets/{linear-CMZVPe_R.js → linear-CMWb3i1M.js} +2 -2
- package/build/client/assets/{linear-CMZVPe_R.js.map → linear-CMWb3i1M.js.map} +1 -1
- package/build/client/assets/{loading-BGn6JlKC.js → loading-Dc6mBqMI.js} +2 -2
- package/build/client/assets/{loading-BGn6JlKC.js.map → loading-Dc6mBqMI.js.map} +1 -1
- package/build/client/assets/{login-RUTUBA14.js → login-DA1-p5EP.js} +2 -2
- package/build/client/assets/{login-RUTUBA14.js.map → login-DA1-p5EP.js.map} +1 -1
- package/build/client/assets/login-sse-DWy-rQ_9.js +2 -0
- package/build/client/assets/login-sse-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/lookout-DWy-rQ_9.js +2 -0
- package/build/client/assets/lookout-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/manifest-93263c91.js +1 -0
- package/build/client/assets/{mdx-6c4MQL-0.js → mdx-PWK9PuLU.js} +3 -3
- package/build/client/assets/{mdx-6c4MQL-0.js.map → mdx-PWK9PuLU.js.map} +1 -1
- package/build/client/assets/{mermaid.core-DQzUGX4k.js → mermaid.core-DLVWWtXS.js} +5 -5
- package/build/client/assets/{mermaid.core-DQzUGX4k.js.map → mermaid.core-DLVWWtXS.js.map} +1 -1
- package/build/client/assets/{mindmap-definition-6CBA2TL7-DeU6uVVG.js → mindmap-definition-6CBA2TL7-CIdxYU8z.js} +2 -2
- package/build/client/assets/{mindmap-definition-6CBA2TL7-DeU6uVVG.js.map → mindmap-definition-6CBA2TL7-CIdxYU8z.js.map} +1 -1
- package/build/client/assets/{misc-Cdu2Jn5f.js → misc-B6Ue_GWd.js} +2 -2
- package/build/client/assets/{misc-Cdu2Jn5f.js.map → misc-B6Ue_GWd.js.map} +1 -1
- package/build/client/assets/{nav-chevrons-CWlO5NC5.js → nav-chevrons-COYKxPrK.js} +2 -2
- package/build/client/assets/{nav-chevrons-CWlO5NC5.js.map → nav-chevrons-COYKxPrK.js.map} +1 -1
- package/build/client/assets/notifications-DWy-rQ_9.js +2 -0
- package/build/client/assets/notifications-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/og-DWy-rQ_9.js +2 -0
- package/build/client/assets/og-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/{onboarding-cJPfoZaf.js → onboarding-DkePmQ8Z.js} +2 -2
- package/build/client/assets/{onboarding-cJPfoZaf.js.map → onboarding-DkePmQ8Z.js.map} +1 -1
- package/build/client/assets/{online-lUrGpqW9.js → online-BbkaL54u.js} +2 -2
- package/build/client/assets/{online-lUrGpqW9.js.map → online-BbkaL54u.js.map} +1 -1
- package/build/client/assets/{pe-BN5ZYPn6.js → pe-BwvJIJp3.js} +2 -2
- package/build/client/assets/{pe-BN5ZYPn6.js.map → pe-BwvJIJp3.js.map} +1 -1
- package/build/client/assets/{pieDiagram-NIOCPIFQ-ukQ6DFNq.js → pieDiagram-NIOCPIFQ-YUuge9IA.js} +2 -2
- package/build/client/assets/{pieDiagram-NIOCPIFQ-ukQ6DFNq.js.map → pieDiagram-NIOCPIFQ-YUuge9IA.js.map} +1 -1
- package/build/client/assets/{preferences-J-Zz5Ilm.js → preferences-w8UjOAfu.js} +2 -2
- package/build/client/assets/{preferences-J-Zz5Ilm.js.map → preferences-w8UjOAfu.js.map} +1 -1
- package/build/client/assets/{presence-CbZ3YQol.js → presence-GGo21TNO.js} +2 -2
- package/build/client/assets/{presence-CbZ3YQol.js.map → presence-GGo21TNO.js.map} +1 -1
- package/build/client/assets/{preview-DyUvtTKi.js → preview-CPhUtkqO.js} +2 -2
- package/build/client/assets/{preview-DyUvtTKi.js.map → preview-CPhUtkqO.js.map} +1 -1
- package/build/client/assets/processes-DWy-rQ_9.js +2 -0
- package/build/client/assets/processes-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/{product-C2U9WlH9.js → product-D4_lcZTJ.js} +2 -2
- package/build/client/assets/{product-C2U9WlH9.js.map → product-D4_lcZTJ.js.map} +1 -1
- package/build/client/assets/{progress-DFyxK6pG.js → progress-Bp5vGrgq.js} +2 -2
- package/build/client/assets/{progress-DFyxK6pG.js.map → progress-Bp5vGrgq.js.map} +1 -1
- package/build/client/assets/progress-DWy-rQ_9.js +2 -0
- package/build/client/assets/progress-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/{progress-bar-B8GNxZS5.js → progress-bar-BW8RQXL9.js} +2 -2
- package/build/client/assets/{progress-bar-B8GNxZS5.js.map → progress-bar-BW8RQXL9.js.map} +1 -1
- package/build/client/assets/{quadrantDiagram-2OG54O6I-DNQGZT2E.js → quadrantDiagram-2OG54O6I-Bgem6Z1Y.js} +2 -2
- package/build/client/assets/{quadrantDiagram-2OG54O6I-DNQGZT2E.js.map → quadrantDiagram-2OG54O6I-Bgem6Z1Y.js.map} +1 -1
- package/build/client/assets/{requirementDiagram-QOLK2EJ7-B9EIx2zj.js → requirementDiagram-QOLK2EJ7-QLK3BzxY.js} +2 -2
- package/build/client/assets/{requirementDiagram-QOLK2EJ7-B9EIx2zj.js.map → requirementDiagram-QOLK2EJ7-QLK3BzxY.js.map} +1 -1
- package/build/client/assets/{revalidation-ws-C2B9Uk6a.js → revalidation-ws-DCwrTB2K.js} +2 -2
- package/build/client/assets/{revalidation-ws-C2B9Uk6a.js.map → revalidation-ws-DCwrTB2K.js.map} +1 -1
- package/build/client/assets/robots_._txt-DWy-rQ_9.js +2 -0
- package/build/client/assets/robots_._txt-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/{root-bTeMROtd.js → root-CFpHVa6i.js} +2 -2
- package/build/client/assets/{root-bTeMROtd.js.map → root-CFpHVa6i.js.map} +1 -1
- package/build/client/assets/{sankeyDiagram-4UZDY2LN-DPd_FJg_.js → sankeyDiagram-4UZDY2LN-C-ikb3r5.js} +2 -2
- package/build/client/assets/{sankeyDiagram-4UZDY2LN-DPd_FJg_.js.map → sankeyDiagram-4UZDY2LN-C-ikb3r5.js.map} +1 -1
- package/build/client/assets/{seo-BI-FNjTq.js → seo-BA5mzfZ2.js} +2 -2
- package/build/client/assets/{seo-BI-FNjTq.js.map → seo-BA5mzfZ2.js.map} +1 -1
- package/build/client/assets/{sequenceDiagram-SKLFT4DO-BFuAVFRb.js → sequenceDiagram-SKLFT4DO-BFahGBkV.js} +2 -2
- package/build/client/assets/{sequenceDiagram-SKLFT4DO-BFuAVFRb.js.map → sequenceDiagram-SKLFT4DO-BFahGBkV.js.map} +1 -1
- package/build/client/assets/{set-playground-RSVHh_LZ.js → set-playground-CIGbE3rB.js} +2 -2
- package/build/client/assets/{set-playground-RSVHh_LZ.js.map → set-playground-CIGbE3rB.js.map} +1 -1
- package/build/client/assets/set-playground-DWy-rQ_9.js +2 -0
- package/build/client/assets/set-playground-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/sitemap_._xml-DWy-rQ_9.js +2 -0
- package/build/client/assets/sitemap_._xml-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/start-DWy-rQ_9.js +2 -0
- package/build/client/assets/start-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/{stateDiagram-MI5ZYTHO-D5fMJAn6.js → stateDiagram-MI5ZYTHO-DX4PgbWR.js} +2 -2
- package/build/client/assets/{stateDiagram-MI5ZYTHO-D5fMJAn6.js.map → stateDiagram-MI5ZYTHO-DX4PgbWR.js.map} +1 -1
- package/build/client/assets/stateDiagram-v2-5AN5P6BG-D0YtlKIq.js +2 -0
- package/build/client/assets/{stateDiagram-v2-5AN5P6BG-Cpx5ijiQ.js.map → stateDiagram-v2-5AN5P6BG-D0YtlKIq.js.map} +1 -1
- package/build/client/assets/{support-BTLhNxHf.js → support-Wam3zNX2.js} +2 -2
- package/build/client/assets/{support-BTLhNxHf.js.map → support-Wam3zNX2.js.map} +1 -1
- package/build/client/assets/test-BsU0UmvG.js +2 -0
- package/build/client/assets/{test-1Nh4noBk.js.map → test-BsU0UmvG.js.map} +1 -1
- package/build/client/assets/test-DWy-rQ_9.js +2 -0
- package/build/client/assets/test-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/test._testName-DWy-rQ_9.js +2 -0
- package/build/client/assets/test._testName-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/test.epic_ws_.js_-DWy-rQ_9.js +2 -0
- package/build/client/assets/test.epic_ws_.js_-DWy-rQ_9.js.map +1 -0
- package/build/client/assets/{tests-fLMWNKGp.js → tests-CcnrDNWg.js} +2 -2
- package/build/client/assets/{tests-fLMWNKGp.js.map → tests-CcnrDNWg.js.map} +1 -1
- package/build/client/assets/{timeline-definition-MYPXXCX6-C4D9K3xr.js → timeline-definition-MYPXXCX6-Ba35wmBG.js} +2 -2
- package/build/client/assets/{timeline-definition-MYPXXCX6-C4D9K3xr.js.map → timeline-definition-MYPXXCX6-Ba35wmBG.js.map} +1 -1
- package/build/client/assets/{tooltip-DSLW5RGc.js → tooltip-D2wOWoMQ.js} +2 -2
- package/build/client/assets/{tooltip-DSLW5RGc.js.map → tooltip-D2wOWoMQ.js.map} +1 -1
- package/build/client/assets/{treemap-75Q7IDZK-8s4T265C.js → treemap-75Q7IDZK-DqNb-_Xr.js} +2 -2
- package/build/client/assets/{treemap-75Q7IDZK-8s4T265C.js.map → treemap-75Q7IDZK-DqNb-_Xr.js.map} +1 -1
- package/build/client/assets/{use-event-source-Dl9Hp_ub.js → use-event-source-DYldWo0N.js} +2 -2
- package/build/client/assets/{use-event-source-Dl9Hp_ub.js.map → use-event-source-DYldWo0N.js.map} +1 -1
- package/build/client/assets/{user-DCYIfXv6.js → user-B69t3v8f.js} +2 -2
- package/build/client/assets/{user-DCYIfXv6.js.map → user-B69t3v8f.js.map} +1 -1
- package/build/client/assets/{version-odocFHmD.js → version-WYDh0NJf.js} +2 -2
- package/build/client/assets/{version-odocFHmD.js.map → version-WYDh0NJf.js.map} +1 -1
- package/build/client/assets/workshop-config-BewosyY9.js +2 -0
- package/build/client/assets/{workshop-config-C-XUEalp.js.map → workshop-config-BewosyY9.js.map} +1 -1
- package/build/client/assets/{workspace-structure-CdAZsIxR.js → workspace-structure-n_fzy3Nc.js} +2 -2
- package/build/client/assets/{workspace-structure-CdAZsIxR.js.map → workspace-structure-n_fzy3Nc.js.map} +1 -1
- package/build/client/assets/{xychartDiagram-H2YORKM3-CdVpa_Sz.js → xychartDiagram-H2YORKM3-DXR2Bjnw.js} +2 -2
- package/build/client/assets/{xychartDiagram-H2YORKM3-CdVpa_Sz.js.map → xychartDiagram-H2YORKM3-DXR2Bjnw.js.map} +1 -1
- package/build/server/index.js +2 -2
- package/package.json +3 -3
- package/build/client/assets/_-DWD4zboG.js.map +0 -1
- package/build/client/assets/_exerciseNumber_._stepNumber.index-C4ee5iGM.js +0 -2
- package/build/client/assets/_exerciseNumber_._stepNumber.index-C4ee5iGM.js.map +0 -1
- package/build/client/assets/_layout-C-H3yMjY.js +0 -2
- package/build/client/assets/api._-C4ee5iGM.js +0 -2
- package/build/client/assets/api._-C4ee5iGM.js.map +0 -1
- package/build/client/assets/app-D8r5tt-B.js +0 -2
- package/build/client/assets/app.epic_ws_.js_-C4ee5iGM.js +0 -2
- package/build/client/assets/app.epic_ws_.js_-C4ee5iGM.js.map +0 -1
- package/build/client/assets/apps-B5V2fS_j.js +0 -2
- package/build/client/assets/apps-B5V2fS_j.js.map +0 -1
- package/build/client/assets/apps-C4ee5iGM.js +0 -2
- package/build/client/assets/apps-C4ee5iGM.js.map +0 -1
- package/build/client/assets/cache-C4ee5iGM.js +0 -2
- package/build/client/assets/cache-C4ee5iGM.js.map +0 -1
- package/build/client/assets/channel-Cid8xIsU.js +0 -2
- package/build/client/assets/classDiagram-M3E45YP4-CHu66Du8.js +0 -2
- package/build/client/assets/classDiagram-v2-YAWTLIQI-CHu66Du8.js +0 -2
- package/build/client/assets/clone-Dvru0KJ7.js +0 -2
- package/build/client/assets/diff-B755vQv2.js +0 -2
- package/build/client/assets/discord-Cb40aF0n.js +0 -2
- package/build/client/assets/discord-Cb40aF0n.js.map +0 -1
- package/build/client/assets/epic_ws_.js_-C4ee5iGM.js +0 -2
- package/build/client/assets/epic_ws_.js_-C4ee5iGM.js.map +0 -1
- package/build/client/assets/exercises-C4ee5iGM.js +0 -2
- package/build/client/assets/exercises-C4ee5iGM.js.map +0 -1
- package/build/client/assets/healthcheck-C4ee5iGM.js +0 -2
- package/build/client/assets/healthcheck-C4ee5iGM.js.map +0 -1
- package/build/client/assets/index-B5V2fS_j.js +0 -2
- package/build/client/assets/index-B5V2fS_j.js.map +0 -1
- package/build/client/assets/index-C4ee5iGM.js +0 -2
- package/build/client/assets/index-C4ee5iGM.js.map +0 -1
- package/build/client/assets/index-DaBhkH2D.js +0 -2
- package/build/client/assets/index-DaBhkH2D.js.map +0 -1
- package/build/client/assets/infoDiagram-LHK5PUON-CTz_Pggq.js +0 -3
- package/build/client/assets/l-B54WvJRl.js +0 -2
- package/build/client/assets/launch-editor-C4ee5iGM.js +0 -2
- package/build/client/assets/launch-editor-C4ee5iGM.js.map +0 -1
- package/build/client/assets/login-sse-C4ee5iGM.js +0 -2
- package/build/client/assets/login-sse-C4ee5iGM.js.map +0 -1
- package/build/client/assets/lookout-C4ee5iGM.js +0 -2
- package/build/client/assets/lookout-C4ee5iGM.js.map +0 -1
- package/build/client/assets/manifest-b2d36ff4.js +0 -1
- package/build/client/assets/notifications-C4ee5iGM.js +0 -2
- package/build/client/assets/notifications-C4ee5iGM.js.map +0 -1
- package/build/client/assets/og-C4ee5iGM.js +0 -2
- package/build/client/assets/og-C4ee5iGM.js.map +0 -1
- package/build/client/assets/processes-C4ee5iGM.js +0 -2
- package/build/client/assets/processes-C4ee5iGM.js.map +0 -1
- package/build/client/assets/progress-C4ee5iGM.js +0 -2
- package/build/client/assets/progress-C4ee5iGM.js.map +0 -1
- package/build/client/assets/robots_._txt-C4ee5iGM.js +0 -2
- package/build/client/assets/robots_._txt-C4ee5iGM.js.map +0 -1
- package/build/client/assets/set-playground-C4ee5iGM.js +0 -2
- package/build/client/assets/set-playground-C4ee5iGM.js.map +0 -1
- package/build/client/assets/sitemap_._xml-C4ee5iGM.js +0 -2
- package/build/client/assets/sitemap_._xml-C4ee5iGM.js.map +0 -1
- package/build/client/assets/start-C4ee5iGM.js +0 -2
- package/build/client/assets/start-C4ee5iGM.js.map +0 -1
- package/build/client/assets/stateDiagram-v2-5AN5P6BG-Cpx5ijiQ.js +0 -2
- package/build/client/assets/test-1Nh4noBk.js +0 -2
- package/build/client/assets/test-C4ee5iGM.js +0 -2
- package/build/client/assets/test-C4ee5iGM.js.map +0 -1
- package/build/client/assets/test._testName-C4ee5iGM.js +0 -2
- package/build/client/assets/test._testName-C4ee5iGM.js.map +0 -1
- package/build/client/assets/test.epic_ws_.js_-C4ee5iGM.js +0 -2
- package/build/client/assets/test.epic_ws_.js_-C4ee5iGM.js.map +0 -1
- package/build/client/assets/workshop-config-C-XUEalp.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff-3mVR5m20.js","sources":["../../../app/components/diff.tsx"],"sourcesContent":["import * as Accordion from '@radix-ui/react-accordion'\nimport * as Select from '@radix-ui/react-select'\nimport { clsx } from 'clsx'\nimport React, { Suspense } from 'react'\nimport {\n\tAwait,\n\tForm,\n\tLink,\n\tuseNavigation,\n\tuseSearchParams,\n\tuseSubmit,\n} from 'react-router'\nimport { useSpinDelay } from 'spin-delay'\nimport AccordionComponent from '#app/components/accordion.tsx'\nimport { Mdx } from '#app/utils/mdx.tsx'\nimport { cn } from '#app/utils/misc.tsx'\nimport { useApps } from './apps.tsx'\nimport { DeferredEpicVideo } from './epic-video.tsx'\nimport { Icon } from './icons.tsx'\nimport { useRevalidationWS } from './revalidation-ws.tsx'\nimport { SimpleTooltip } from './ui/tooltip.tsx'\nimport { useUserHasAccess } from './user.tsx'\n\ntype diffProp = {\n\tapp1?: string\n\tapp2?: string\n\tdiffCode?: string | null\n}\n\nconst pre = (props: any) => <pre {...props} />\n\nconst mdxComponents = {\n\tAccordion: AccordionComponent,\n\t// override the pre-with-buttons\n\tpre,\n}\n\nfunction RevalidateApps({\n\tapp1: app1Name,\n\tapp2: app2Name,\n}: {\n\tapp1?: string\n\tapp2?: string\n}) {\n\tconst apps = useApps()\n\tconst app1 = apps.find((app) => app.name === app1Name)\n\tconst app2 = apps.find((app) => app.name === app2Name)\n\n\tuseRevalidationWS({\n\t\twatchPaths: [app1?.fullPath, app2?.fullPath].filter(Boolean),\n\t})\n\treturn null\n}\n\nexport function Diff({\n\tdiff,\n\tallApps,\n}: {\n\tdiff: Promise<diffProp> | diffProp\n\tallApps: Array<{ name: string; displayName: string }>\n}) {\n\tconst userHasAccess = useUserHasAccess()\n\tconst submit = useSubmit()\n\tconst [params] = useSearchParams()\n\tconst paramsWithForcedRefresh = new URLSearchParams(params)\n\tparamsWithForcedRefresh.set('forceFresh', 'diff')\n\tconst navigation = useNavigation()\n\tconst spinnerNavigating = useSpinDelay(navigation.state !== 'idle', {\n\t\tdelay: 0,\n\t\tminDuration: 1000,\n\t})\n\n\tconst hiddenInputs: Array<React.ReactNode> = []\n\tfor (const [key, value] of params.entries()) {\n\t\tif (key === 'app1' || key === 'app2') continue\n\t\thiddenInputs.push(\n\t\t\t<input key={key} type=\"hidden\" name={key} value={value} />,\n\t\t)\n\t}\n\n\tif (!userHasAccess) {\n\t\treturn (\n\t\t\t<div className=\"w-full p-12\">\n\t\t\t\t<div className=\"flex w-full flex-col gap-4 text-center\">\n\t\t\t\t\t<p className=\"text-2xl font-bold\">Access Denied</p>\n\t\t\t\t\t<p className=\"text-lg\">\n\t\t\t\t\t\tYou must login or register for the workshop to view the diff.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"h-16\" />\n\t\t\t\t<p className=\"pb-4\">\n\t\t\t\t\tCheck out this video to see how the diff tab works.\n\t\t\t\t</p>\n\t\t\t\t<DeferredEpicVideo url=\"https://www.epicweb.dev/tips/epic-workshop-diff-tab-demo\" />\n\t\t\t</div>\n\t\t)\n\t}\n\n\treturn (\n\t\t<Suspense\n\t\t\tfallback={\n\t\t\t\t<div className=\"flex items-center justify-center p-8\">\n\t\t\t\t\t<SimpleTooltip content=\"Loading diff\">\n\t\t\t\t\t\t<Icon name=\"Refresh\" className=\"animate-spin\" />\n\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t</div>\n\t\t\t}\n\t\t>\n\t\t\t<Await\n\t\t\t\tresolve={diff}\n\t\t\t\terrorElement={\n\t\t\t\t\t<p className=\"p-6 text-foreground-destructive\">\n\t\t\t\t\t\tThere was an error calculating the diff. Sorry.\n\t\t\t\t\t</p>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{(diff) => (\n\t\t\t\t\t<div className=\"flex h-full w-full flex-col\">\n\t\t\t\t\t\t<div className=\"flex h-14 min-h-14 w-full overflow-x-hidden border-b\">\n\t\t\t\t\t\t\t<div className=\"border-r\">\n\t\t\t\t\t\t\t\t<SimpleTooltip content=\"Reload diff\">\n\t\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\t\tto={`.?${paramsWithForcedRefresh}`}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex h-full w-14 items-center justify-center\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\tname=\"Refresh\"\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn({ 'animate-spin': spinnerNavigating })}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Form\n\t\t\t\t\t\t\t\tonChange={(e) => submit(e.currentTarget)}\n\t\t\t\t\t\t\t\tclassName=\"flex h-full flex-1 items-center overflow-x-auto scrollbar-thin scrollbar-thumb-scrollbar\"\n\t\t\t\t\t\t\t\tkey={`${diff.app1}${diff.app2}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{hiddenInputs}\n\t\t\t\t\t\t\t\t<SelectFileToDiff\n\t\t\t\t\t\t\t\t\tname=\"app1\"\n\t\t\t\t\t\t\t\t\tlabel=\"App 1\"\n\t\t\t\t\t\t\t\t\tclassName=\"border-r\"\n\t\t\t\t\t\t\t\t\tallApps={allApps}\n\t\t\t\t\t\t\t\t\tdefaultValue={diff.app1}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<SelectFileToDiff\n\t\t\t\t\t\t\t\t\tname=\"app2\"\n\t\t\t\t\t\t\t\t\tlabel=\"App 2\"\n\t\t\t\t\t\t\t\t\tallApps={allApps}\n\t\t\t\t\t\t\t\t\tdefaultValue={diff.app2}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-grow overflow-y-scroll scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t\t\t{diff.diffCode ? (\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<Accordion.Root className=\"w-full\" type=\"multiple\">\n\t\t\t\t\t\t\t\t\t\t<Mdx code={diff.diffCode} components={mdxComponents} />\n\t\t\t\t\t\t\t\t\t</Accordion.Root>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : diff.app1 && diff.app2 ? (\n\t\t\t\t\t\t\t\t<p className=\"m-5 inline-flex items-center justify-center bg-foreground px-1 py-0.5 font-mono text-sm uppercase text-background\">\n\t\t\t\t\t\t\t\t\tThere was a problem generating the diff\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<p className=\"m-5 inline-flex items-center justify-center bg-foreground px-1 py-0.5 font-mono text-sm uppercase text-background\">\n\t\t\t\t\t\t\t\t\tSelect two apps to compare\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<RevalidateApps app1={diff.app1} app2={diff.app2} />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Await>\n\t\t</Suspense>\n\t)\n}\n\nfunction SelectFileToDiff({\n\tname,\n\tlabel,\n\tclassName,\n\tallApps,\n\tdefaultValue,\n}: {\n\tname: string\n\tlabel: string\n\tclassName?: string\n\tallApps: Array<{ name: string; displayName: string }>\n\tdefaultValue?: string\n}) {\n\treturn (\n\t\t<Select.Root name={name} defaultValue={defaultValue}>\n\t\t\t<Select.Trigger\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t'flex h-full w-full max-w-[50%] items-center justify-between px-3 text-left radix-placeholder:text-gray-500 focus-visible:outline-none',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\taria-label={`Select ${label} for git Diff`}\n\t\t\t>\n\t\t\t\t<span className=\"overflow-hidden text-ellipsis whitespace-nowrap\">\n\t\t\t\t\t{label}:{' '}\n\t\t\t\t\t<SelectValue\n\t\t\t\t\t\tplaceholder={`Select ${label}`}\n\t\t\t\t\t\tclassName=\"inline-block w-40 text-ellipsis\"\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t\t<Select.Icon className=\"\">\n\t\t\t\t\t<Icon name=\"TriangleDownSmall\" />\n\t\t\t\t</Select.Icon>\n\t\t\t</Select.Trigger>\n\t\t\t<Select.Portal>\n\t\t\t\t<Select.Content\n\t\t\t\t\tposition=\"popper\"\n\t\t\t\t\talign=\"start\"\n\t\t\t\t\tclassName=\"z-20 max-h-[50vh] bg-black text-white lg:max-h-[70vh]\"\n\t\t\t\t>\n\t\t\t\t\t<Select.ScrollUpButton className=\"flex h-5 cursor-default items-center justify-center\">\n\t\t\t\t\t\t<Icon name=\"ChevronUp\" />\n\t\t\t\t\t</Select.ScrollUpButton>\n\t\t\t\t\t<Select.Viewport className=\"p-3\">\n\t\t\t\t\t\t<Select.Group>\n\t\t\t\t\t\t\t<Select.Label className=\"px-5 pb-3 font-mono uppercase\">\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</Select.Label>\n\t\t\t\t\t\t\t{allApps.map((app) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<SelectItem key={app.name} value={app.name}>\n\t\t\t\t\t\t\t\t\t\t{app.displayName}\n\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</Select.Group>\n\t\t\t\t\t</Select.Viewport>\n\t\t\t\t\t<Select.ScrollDownButton className=\"flex h-5 cursor-default items-center justify-center\">\n\t\t\t\t\t\t<Icon name=\"ChevronDown\" />\n\t\t\t\t\t</Select.ScrollDownButton>\n\t\t\t\t</Select.Content>\n\t\t\t</Select.Portal>\n\t\t</Select.Root>\n\t)\n}\n\nconst SelectItem: React.FC<any> = ({\n\tref: forwardedRef,\n\tchildren,\n\tclassName,\n\t...props\n}) => {\n\treturn (\n\t\t<Select.Item\n\t\t\tclassName={clsx(\n\t\t\t\t'relative flex cursor-pointer select-none items-center rounded px-10 py-2 leading-none opacity-80 radix-disabled:text-red-500 radix-highlighted:opacity-100 radix-highlighted:outline-none radix-state-checked:opacity-100',\n\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t\tref={forwardedRef}\n\t\t>\n\t\t\t<Select.ItemText>{children}</Select.ItemText>\n\t\t\t<Select.ItemIndicator className=\"absolute left-0 inline-flex w-[25px] items-center justify-center\">\n\t\t\t\t<Icon name=\"CheckSmall\" />\n\t\t\t</Select.ItemIndicator>\n\t\t</Select.Item>\n\t)\n}\n\nconst SelectValue: React.FC<any> = ({\n\tref: forwardedRef,\n\tchildren,\n\tclassName,\n\t...props\n}) => {\n\treturn (\n\t\t<Select.Value {...props} ref={forwardedRef}>\n\t\t\t{props.value}\n\t\t</Select.Value>\n\t)\n}\n"],"names":["pre","props","jsx","mdxComponents","AccordionComponent","RevalidateApps","app1Name","app2Name","apps","useApps","app1","app","app2","useRevalidationWS","Diff","diff","allApps","userHasAccess","useUserHasAccess","submit","useSubmit","params","useSearchParams","paramsWithForcedRefresh","navigation","useNavigation","spinnerNavigating","useSpinDelay","hiddenInputs","key","value","Suspense","SimpleTooltip","Icon","Await","jsxs","Link","cn","Form","e","SelectFileToDiff","Accordion.Root","Mdx","DeferredEpicVideo","name","label","className","defaultValue","Select.Root","Select.Trigger","clsx","SelectValue","Select.Icon","Select.Portal","Select.Content","Select.ScrollUpButton","Select.Viewport","Select.Group","Select.Label","SelectItem","Select.ScrollDownButton","forwardedRef","children","Select.Item","Select.ItemText","Select.ItemIndicator","Select.Value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diff-D75Hwk0w.js","sources":["../../../app/components/diff.tsx"],"sourcesContent":["import * as Accordion from '@radix-ui/react-accordion'\nimport * as Select from '@radix-ui/react-select'\nimport { clsx } from 'clsx'\nimport React, { Suspense } from 'react'\nimport {\n\tAwait,\n\tForm,\n\tLink,\n\tuseNavigation,\n\tuseSearchParams,\n\tuseSubmit,\n} from 'react-router'\nimport { useSpinDelay } from 'spin-delay'\nimport AccordionComponent from '#app/components/accordion.tsx'\nimport { Mdx } from '#app/utils/mdx.tsx'\nimport { cn } from '#app/utils/misc.tsx'\nimport { useApps } from './apps.tsx'\nimport { DeferredEpicVideo } from './epic-video.tsx'\nimport { Icon } from './icons.tsx'\nimport { useRevalidationWS } from './revalidation-ws.tsx'\nimport { SimpleTooltip } from './ui/tooltip.tsx'\nimport { useUserHasAccess } from './user.tsx'\n\ntype diffProp = {\n\tapp1?: string\n\tapp2?: string\n\tdiffCode?: string | null\n}\n\nconst pre = (props: any) => <pre {...props} />\n\nconst mdxComponents = {\n\tAccordion: AccordionComponent,\n\t// override the pre-with-buttons\n\tpre,\n}\n\nfunction RevalidateApps({\n\tapp1: app1Name,\n\tapp2: app2Name,\n}: {\n\tapp1?: string\n\tapp2?: string\n}) {\n\tconst apps = useApps()\n\tconst app1 = apps.find((app) => app.name === app1Name)\n\tconst app2 = apps.find((app) => app.name === app2Name)\n\n\tuseRevalidationWS({\n\t\twatchPaths: [app1?.fullPath, app2?.fullPath].filter(Boolean),\n\t})\n\treturn null\n}\n\nexport function Diff({\n\tdiff,\n\tallApps,\n}: {\n\tdiff: Promise<diffProp> | diffProp\n\tallApps: Array<{ name: string; displayName: string }>\n}) {\n\tconst userHasAccess = useUserHasAccess()\n\tconst submit = useSubmit()\n\tconst [params] = useSearchParams()\n\tconst paramsWithForcedRefresh = new URLSearchParams(params)\n\tparamsWithForcedRefresh.set('forceFresh', 'diff')\n\tconst navigation = useNavigation()\n\tconst spinnerNavigating = useSpinDelay(navigation.state !== 'idle', {\n\t\tdelay: 0,\n\t\tminDuration: 1000,\n\t})\n\n\tconst hiddenInputs: Array<React.ReactNode> = []\n\tfor (const [key, value] of params.entries()) {\n\t\tif (key === 'app1' || key === 'app2') continue\n\t\thiddenInputs.push(\n\t\t\t<input key={key} type=\"hidden\" name={key} value={value} />,\n\t\t)\n\t}\n\n\tif (!userHasAccess) {\n\t\treturn (\n\t\t\t<div className=\"w-full p-12\">\n\t\t\t\t<div className=\"flex w-full flex-col gap-4 text-center\">\n\t\t\t\t\t<p className=\"text-2xl font-bold\">Access Denied</p>\n\t\t\t\t\t<p className=\"text-lg\">\n\t\t\t\t\t\tYou must login or register for the workshop to view the diff.\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"h-16\" />\n\t\t\t\t<p className=\"pb-4\">\n\t\t\t\t\tCheck out this video to see how the diff tab works.\n\t\t\t\t</p>\n\t\t\t\t<DeferredEpicVideo url=\"https://www.epicweb.dev/tips/epic-workshop-diff-tab-demo\" />\n\t\t\t</div>\n\t\t)\n\t}\n\n\treturn (\n\t\t<Suspense\n\t\t\tfallback={\n\t\t\t\t<div className=\"flex items-center justify-center p-8\">\n\t\t\t\t\t<SimpleTooltip content=\"Loading diff\">\n\t\t\t\t\t\t<Icon name=\"Refresh\" className=\"animate-spin\" />\n\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t</div>\n\t\t\t}\n\t\t>\n\t\t\t<Await\n\t\t\t\tresolve={diff}\n\t\t\t\terrorElement={\n\t\t\t\t\t<p className=\"p-6 text-foreground-destructive\">\n\t\t\t\t\t\tThere was an error calculating the diff. Sorry.\n\t\t\t\t\t</p>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{(diff) => (\n\t\t\t\t\t<div className=\"flex h-full w-full flex-col\">\n\t\t\t\t\t\t<div className=\"flex h-14 min-h-14 w-full overflow-x-hidden border-b\">\n\t\t\t\t\t\t\t<div className=\"border-r\">\n\t\t\t\t\t\t\t\t<SimpleTooltip content=\"Reload diff\">\n\t\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\t\tto={`.?${paramsWithForcedRefresh}`}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex h-full w-14 items-center justify-center\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\tname=\"Refresh\"\n\t\t\t\t\t\t\t\t\t\t\tclassName={cn({ 'animate-spin': spinnerNavigating })}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Form\n\t\t\t\t\t\t\t\tonChange={(e) => submit(e.currentTarget)}\n\t\t\t\t\t\t\t\tclassName=\"flex h-full flex-1 items-center overflow-x-auto scrollbar-thin scrollbar-thumb-scrollbar\"\n\t\t\t\t\t\t\t\tkey={`${diff.app1}${diff.app2}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{hiddenInputs}\n\t\t\t\t\t\t\t\t<SelectFileToDiff\n\t\t\t\t\t\t\t\t\tname=\"app1\"\n\t\t\t\t\t\t\t\t\tlabel=\"App 1\"\n\t\t\t\t\t\t\t\t\tclassName=\"border-r\"\n\t\t\t\t\t\t\t\t\tallApps={allApps}\n\t\t\t\t\t\t\t\t\tdefaultValue={diff.app1}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<SelectFileToDiff\n\t\t\t\t\t\t\t\t\tname=\"app2\"\n\t\t\t\t\t\t\t\t\tlabel=\"App 2\"\n\t\t\t\t\t\t\t\t\tallApps={allApps}\n\t\t\t\t\t\t\t\t\tdefaultValue={diff.app2}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"flex-grow overflow-y-scroll scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t\t\t{diff.diffCode ? (\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<Accordion.Root className=\"w-full\" type=\"multiple\">\n\t\t\t\t\t\t\t\t\t\t<Mdx code={diff.diffCode} components={mdxComponents} />\n\t\t\t\t\t\t\t\t\t</Accordion.Root>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) : diff.app1 && diff.app2 ? (\n\t\t\t\t\t\t\t\t<p className=\"m-5 inline-flex items-center justify-center bg-foreground px-1 py-0.5 font-mono text-sm uppercase text-background\">\n\t\t\t\t\t\t\t\t\tThere was a problem generating the diff\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<p className=\"m-5 inline-flex items-center justify-center bg-foreground px-1 py-0.5 font-mono text-sm uppercase text-background\">\n\t\t\t\t\t\t\t\t\tSelect two apps to compare\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<RevalidateApps app1={diff.app1} app2={diff.app2} />\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Await>\n\t\t</Suspense>\n\t)\n}\n\nfunction SelectFileToDiff({\n\tname,\n\tlabel,\n\tclassName,\n\tallApps,\n\tdefaultValue,\n}: {\n\tname: string\n\tlabel: string\n\tclassName?: string\n\tallApps: Array<{ name: string; displayName: string }>\n\tdefaultValue?: string\n}) {\n\treturn (\n\t\t<Select.Root name={name} defaultValue={defaultValue}>\n\t\t\t<Select.Trigger\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t'flex h-full w-full max-w-[50%] items-center justify-between px-3 text-left radix-placeholder:text-gray-500 focus-visible:outline-none',\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\taria-label={`Select ${label} for git Diff`}\n\t\t\t>\n\t\t\t\t<span className=\"overflow-hidden text-ellipsis whitespace-nowrap\">\n\t\t\t\t\t{label}:{' '}\n\t\t\t\t\t<SelectValue\n\t\t\t\t\t\tplaceholder={`Select ${label}`}\n\t\t\t\t\t\tclassName=\"inline-block w-40 text-ellipsis\"\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t\t<Select.Icon className=\"\">\n\t\t\t\t\t<Icon name=\"TriangleDownSmall\" />\n\t\t\t\t</Select.Icon>\n\t\t\t</Select.Trigger>\n\t\t\t<Select.Portal>\n\t\t\t\t<Select.Content\n\t\t\t\t\tposition=\"popper\"\n\t\t\t\t\talign=\"start\"\n\t\t\t\t\tclassName=\"z-20 max-h-[50vh] bg-black text-white lg:max-h-[70vh]\"\n\t\t\t\t>\n\t\t\t\t\t<Select.ScrollUpButton className=\"flex h-5 cursor-default items-center justify-center\">\n\t\t\t\t\t\t<Icon name=\"ChevronUp\" />\n\t\t\t\t\t</Select.ScrollUpButton>\n\t\t\t\t\t<Select.Viewport className=\"p-3\">\n\t\t\t\t\t\t<Select.Group>\n\t\t\t\t\t\t\t<Select.Label className=\"px-5 pb-3 font-mono uppercase\">\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</Select.Label>\n\t\t\t\t\t\t\t{allApps.map((app) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<SelectItem key={app.name} value={app.name}>\n\t\t\t\t\t\t\t\t\t\t{app.displayName}\n\t\t\t\t\t\t\t\t\t</SelectItem>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</Select.Group>\n\t\t\t\t\t</Select.Viewport>\n\t\t\t\t\t<Select.ScrollDownButton className=\"flex h-5 cursor-default items-center justify-center\">\n\t\t\t\t\t\t<Icon name=\"ChevronDown\" />\n\t\t\t\t\t</Select.ScrollDownButton>\n\t\t\t\t</Select.Content>\n\t\t\t</Select.Portal>\n\t\t</Select.Root>\n\t)\n}\n\nconst SelectItem: React.FC<any> = ({\n\tref: forwardedRef,\n\tchildren,\n\tclassName,\n\t...props\n}) => {\n\treturn (\n\t\t<Select.Item\n\t\t\tclassName={clsx(\n\t\t\t\t'relative flex cursor-pointer select-none items-center rounded px-10 py-2 leading-none opacity-80 radix-disabled:text-red-500 radix-highlighted:opacity-100 radix-highlighted:outline-none radix-state-checked:opacity-100',\n\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t\tref={forwardedRef}\n\t\t>\n\t\t\t<Select.ItemText>{children}</Select.ItemText>\n\t\t\t<Select.ItemIndicator className=\"absolute left-0 inline-flex w-[25px] items-center justify-center\">\n\t\t\t\t<Icon name=\"CheckSmall\" />\n\t\t\t</Select.ItemIndicator>\n\t\t</Select.Item>\n\t)\n}\n\nconst SelectValue: React.FC<any> = ({\n\tref: forwardedRef,\n\tchildren,\n\tclassName,\n\t...props\n}) => {\n\treturn (\n\t\t<Select.Value {...props} ref={forwardedRef}>\n\t\t\t{props.value}\n\t\t</Select.Value>\n\t)\n}\n"],"names":["pre","props","jsx","mdxComponents","AccordionComponent","RevalidateApps","app1Name","app2Name","apps","useApps","app1","app","app2","useRevalidationWS","Diff","diff","allApps","userHasAccess","useUserHasAccess","submit","useSubmit","params","useSearchParams","paramsWithForcedRefresh","navigation","useNavigation","spinnerNavigating","useSpinDelay","hiddenInputs","key","value","Suspense","SimpleTooltip","Icon","Await","jsxs","Link","cn","Form","e","SelectFileToDiff","Accordion.Root","Mdx","DeferredEpicVideo","name","label","className","defaultValue","Select.Root","Select.Trigger","clsx","SelectValue","Select.Icon","Select.Portal","Select.Content","Select.ScrollUpButton","Select.Viewport","Select.Group","Select.Label","SelectItem","Select.ScrollDownButton","forwardedRef","children","Select.Item","Select.ItemText","Select.ItemIndicator","Select.Value"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{w as d,L as s}from"./chunk-EF7DTUVF-
|
|
2
|
-
//# sourceMappingURL=discord-
|
|
1
|
+
import{w as d,L as s}from"./chunk-EF7DTUVF-D_zZ4QXW.js";import{j as e}from"./jsx-runtime-Cdd9Sn68.js";import{I as t}from"./misc-B6Ue_GWd.js";import{c as i,a as c}from"./user-B69t3v8f.js";import{u as a}from"./workshop-config-BewosyY9.js";import"./_-0zvftzc9.js";const g={getSitemapEntries:()=>null};function l(){const{product:{host:r}}=a();return`https://${r}/discord`}function D(){const r=i(),n=c(),o=l();return r?n?"https://discord.com/channels/715220730605731931/1161045224907341972":o:"/login"}function h(){const r=i(),n=c(),o=l();return r?n?e.jsxs("div",{className:"flex items-center justify-center gap-2 text-xl underline",children:[e.jsx(s,{to:"discord://discord.com/channels/715220730605731931/1161045224907341972",children:e.jsx(t,{name:"Discord",size:"2xl"})}),e.jsx(s,{to:"https://discord.com/channels/715220730605731931/1161045224907341972",target:"_blank",rel:"noreferrer noopener",children:"Open Discord"})]}):e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2 text-xl",children:[e.jsxs(s,{to:o,className:"flex items-center gap-2 underline",children:[e.jsx(t,{name:"Discord",size:"2xl"}),"Connect Discord"]})," ",e.jsxs("span",{children:["to get access to the exclusive"," ",e.jsx(s,{to:"/discord",className:"underline",children:"discord channel"}),"."]})]}):e.jsxs("div",{className:"flex flex-wrap items-center justify-center gap-2 text-xl",children:[e.jsxs(s,{to:"/login",className:"inline-flex items-center gap-2 underline",children:[e.jsx(t,{name:"Discord",size:"2xl"}),"Login"]})," ",e.jsxs("span",{children:["to get access to the exclusive"," ",e.jsx(s,{to:"/discord",className:"underline",children:"discord channel"}),"."]})]})}const y=d(function(){return e.jsxs("div",{className:"container flex h-full max-w-3xl flex-col items-center justify-center gap-4 p-12",children:[e.jsx(h,{}),e.jsxs("p",{children:["The"," ",e.jsx(s,{target:"_blank",rel:"noreferrer noopener",className:"underline",to:"https://kentcdodds.com/discord",children:"Epic Web Community on Discord"})," ","is a great place to hang out with other developers who are working through this workshop. You can ask questions, get help, and solidify what you're learning by helping others."]}),e.jsx("p",{children:e.jsxs("small",{className:"text-sm",children:["If you've not joined the Epic Web Community on Discord yet, you'll be required to go through a short onboarding process first. A friendly bot will explain the process when you"," ",e.jsx(s,{to:"https://kcd.im/discord",target:"_blank",rel:"noreferrer noopener",className:"underline",children:"join"}),"."]})})]})});export{h as D,y as d,g as h,D as u};
|
|
2
|
+
//# sourceMappingURL=discord-ChkQ2Ohv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discord-
|
|
1
|
+
{"version":3,"file":"discord-ChkQ2Ohv.js","sources":["../../../app/routes/_app+/discord.tsx"],"sourcesContent":["import { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { Link } from 'react-router'\nimport { Icon } from '#app/components/icons.tsx'\nimport {\n\tuseOptionalDiscordMember,\n\tuseOptionalUser,\n} from '#app/components/user.tsx'\nimport { useWorkshopConfig } from '#app/components/workshop-config.tsx'\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nfunction useConnectDiscordURL() {\n\tconst {\n\t\tproduct: { host },\n\t} = useWorkshopConfig()\n\treturn `https://${host}/discord`\n}\n\nexport function useDiscordCTALink() {\n\tconst user = useOptionalUser()\n\tconst discordMember = useOptionalDiscordMember()\n\tconst connectDiscordURL = useConnectDiscordURL()\n\n\tif (!user) {\n\t\treturn '/login'\n\t}\n\tif (!discordMember) {\n\t\treturn connectDiscordURL\n\t}\n\n\treturn 'https://discord.com/channels/715220730605731931/1161045224907341972'\n}\n\nexport function DiscordCTA() {\n\tconst user = useOptionalUser()\n\tconst discordMember = useOptionalDiscordMember()\n\tconst connectDiscordURL = useConnectDiscordURL()\n\tif (!user) {\n\t\treturn (\n\t\t\t<div className=\"flex flex-wrap items-center justify-center gap-2 text-xl\">\n\t\t\t\t<Link to=\"/login\" className=\"inline-flex items-center gap-2 underline\">\n\t\t\t\t\t<Icon name=\"Discord\" size=\"2xl\" />\n\t\t\t\t\tLogin\n\t\t\t\t</Link>{' '}\n\t\t\t\t<span>\n\t\t\t\t\tto get access to the exclusive{' '}\n\t\t\t\t\t<Link to=\"/discord\" className=\"underline\">\n\t\t\t\t\t\tdiscord channel\n\t\t\t\t\t</Link>\n\t\t\t\t\t.\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t)\n\t}\n\tif (!discordMember) {\n\t\treturn (\n\t\t\t<div className=\"flex flex-wrap items-center justify-center gap-2 text-xl\">\n\t\t\t\t<Link\n\t\t\t\t\tto={connectDiscordURL}\n\t\t\t\t\tclassName=\"flex items-center gap-2 underline\"\n\t\t\t\t>\n\t\t\t\t\t<Icon name=\"Discord\" size=\"2xl\" />\n\t\t\t\t\tConnect Discord\n\t\t\t\t</Link>{' '}\n\t\t\t\t<span>\n\t\t\t\t\tto get access to the exclusive{' '}\n\t\t\t\t\t<Link to=\"/discord\" className=\"underline\">\n\t\t\t\t\t\tdiscord channel\n\t\t\t\t\t</Link>\n\t\t\t\t\t.\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t)\n\t}\n\n\treturn (\n\t\t<div className=\"flex items-center justify-center gap-2 text-xl underline\">\n\t\t\t<Link to=\"discord://discord.com/channels/715220730605731931/1161045224907341972\">\n\t\t\t\t<Icon name=\"Discord\" size=\"2xl\" />\n\t\t\t</Link>\n\t\t\t<Link\n\t\t\t\tto=\"https://discord.com/channels/715220730605731931/1161045224907341972\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t>\n\t\t\t\tOpen Discord\n\t\t\t</Link>\n\t\t</div>\n\t)\n}\n\nexport default function DiscordRoute() {\n\treturn (\n\t\t<div className=\"container flex h-full max-w-3xl flex-col items-center justify-center gap-4 p-12\">\n\t\t\t<DiscordCTA />\n\t\t\t<p>\n\t\t\t\tThe{' '}\n\t\t\t\t<Link\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\tto=\"https://kentcdodds.com/discord\"\n\t\t\t\t>\n\t\t\t\t\tEpic Web Community on Discord\n\t\t\t\t</Link>{' '}\n\t\t\t\tis a great place to hang out with other developers who are working\n\t\t\t\tthrough this workshop. You can ask questions, get help, and solidify\n\t\t\t\twhat you're learning by helping others.\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<small className=\"text-sm\">\n\t\t\t\t\tIf you've not joined the Epic Web Community on Discord yet, you'll be\n\t\t\t\t\trequired to go through a short onboarding process first. A friendly\n\t\t\t\t\tbot will explain the process when you{' '}\n\t\t\t\t\t<Link\n\t\t\t\t\t\tto=\"https://kcd.im/discord\"\n\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\tclassName=\"underline\"\n\t\t\t\t\t>\n\t\t\t\t\t\tjoin\n\t\t\t\t\t</Link>\n\t\t\t\t\t.\n\t\t\t\t</small>\n\t\t\t</p>\n\t\t</div>\n\t)\n}\n"],"names":["handle","getSitemapEntries","useConnectDiscordURL","product","host","useWorkshopConfig","useDiscordCTALink","user","useOptionalUser","discordMember","useOptionalDiscordMember","connectDiscordURL","DiscordCTA","jsxs","className","children","jsx","Link","to","Icon","name","size","target","rel","discord","_UNSAFE_withComponentProps"],"mappings":"qQASO,MAAMA,EAAoB,CAChCC,kBAAmBA,IAAM,IAC1B,EAEA,SAASC,GAAuB,CAC/B,KAAM,CACLC,QAAS,CAAEC,KAAAA,CAAK,GACbC,EAAA,EACJ,MAAO,WAAWD,CAAI,UACvB,CAEO,SAASE,GAAoB,CACnC,MAAMC,EAAOC,EAAA,EACPC,EAAgBC,EAAA,EAChBC,EAAoBT,EAAA,EAE1B,OAAKK,EAGAE,EAIE,sEAHCE,EAHA,QAOT,CAEO,SAASC,GAAa,CAC5B,MAAML,EAAOC,EAAA,EACPC,EAAgBC,EAAA,EAChBC,EAAoBT,EAAA,EAC1B,OAAKK,EAiBAE,EAsBJI,EAAAA,KAAC,MAAA,CAAIC,UAAU,2DACdC,SAAA,CAAAC,EAAAA,IAACC,EAAA,CAAKC,GAAG,wEACRH,SAAAC,EAAAA,IAACG,GAAKC,KAAK,UAAUC,KAAK,MAAM,CAAA,CACjC,EACAL,EAAAA,IAACC,EAAA,CACAC,GAAG,sEACHI,OAAO,SACPC,IAAI,sBACJR,SAAA,cAAA,CAED,CAAA,CAAA,CACD,EA/BCF,EAAAA,KAAC,MAAA,CAAIC,UAAU,2DACdC,SAAA,CAAAF,EAAAA,KAACI,EAAA,CACAC,GAAIP,EACJG,UAAU,oCAEVC,SAAA,CAAAC,EAAAA,IAACG,EAAA,CAAKC,KAAK,UAAUC,KAAK,MAAM,EAAE,iBAAA,EAEnC,EAAQ,WACP,OAAA,CAAKN,SAAA,CAAA,iCAC0B,UAC9BE,EAAA,CAAKC,GAAG,WAAWJ,UAAU,YAAYC,SAAA,kBAE1C,EAAO,GAAA,CAAA,CAER,CAAA,CAAA,CACD,EAhCAF,EAAAA,KAAC,MAAA,CAAIC,UAAU,2DACdC,SAAA,CAAAF,EAAAA,KAACI,EAAA,CAAKC,GAAG,SAASJ,UAAU,2CAC3BC,SAAA,CAAAC,EAAAA,IAACG,EAAA,CAAKC,KAAK,UAAUC,KAAK,MAAM,EAAE,OAAA,EAEnC,EAAQ,WACP,OAAA,CAAKN,SAAA,CAAA,iCAC0B,UAC9BE,EAAA,CAAKC,GAAG,WAAWJ,UAAU,YAAYC,SAAA,kBAE1C,EAAO,GAAA,CAAA,CAER,CAAA,CAAA,CACD,CAsCH,CAEA,MAAAS,EAAAC,EAAA,UAAuC,CACtC,OACCZ,EAAAA,KAAC,MAAA,CAAIC,UAAU,kFACdC,SAAA,CAAAC,EAAAA,IAACJ,EAAA,CAAA,CAAW,SACX,IAAA,CAAEG,SAAA,CAAA,MACE,IACJC,EAAAA,IAACC,EAAA,CACAK,OAAO,SACPC,IAAI,sBACJT,UAAU,YACVI,GAAG,iCACHH,SAAA,+BAAA,CAED,EAAQ,IAAI,iLAAA,CAAA,CAIb,EACAC,EAAAA,IAAC,IAAA,CACAD,SAAAF,EAAAA,KAAC,QAAA,CAAMC,UAAU,UAAUC,SAAA,CAAA,kLAGY,IACtCC,EAAAA,IAACC,EAAA,CACAC,GAAG,yBACHI,OAAO,SACPC,IAAI,sBACJT,UAAU,YACVC,SAAA,OAED,EAAO,GAAA,EAER,CAAA,CACD,CAAA,CAAA,CACD,CAEF,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{d as f,h}from"./discord-ChkQ2Ohv.js";import"./_-0zvftzc9.js";import"./chunk-EF7DTUVF-D_zZ4QXW.js";import"./jsx-runtime-Cdd9Sn68.js";import"./misc-B6Ue_GWd.js";import"./clsx-B-dksMZM.js";import"./user-B69t3v8f.js";import"./workshop-config-BewosyY9.js";export{f as default,h as handle};
|
|
2
|
+
//# sourceMappingURL=discord-DYhyGj2p.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discord-DYhyGj2p.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as V0}from"./jsx-runtime-
|
|
1
|
+
import{j as V0}from"./jsx-runtime-Cdd9Sn68.js";import"./_-0zvftzc9.js";import{n as Q0,t as Z0,v as K0,E as F0,x as J0,R as he,i as $0,r as be,y as Ig,z as W0,B as P0,C as t_,D as e_,G as n_,H as a_,I as i_,J as r_,K as l_,P as s_,Q as o_,T as u_,U as c_}from"./chunk-EF7DTUVF-D_zZ4QXW.js";import{a as f_,r as d_}from"./index-CUgS2KZc.js";import{D as bt,d as Y,g as ta,G as $t,n as lf,a as Qs,b as h_,e as qg,S as Yg,f as jg,m as m_,u as Ra,h as Op,i as sf,j as Ap,r as Tn,k as Gg,l as Xg,p as Vg,o as p_,q as g_,s as Di,t as of,v as Ds,w as Qg,x as wp,y as y_,z as v_,A as Nc,B as S_,C as Kr,E as Dp,F as Qt,H as uf,I as Ea,J as Fr,K as kc,L as __,M as Te,N as xp,O as Cp,P as En,Q as Zg,R as xs,T as E_,U as Zs,V as b_,W as T_,X as zc,Y as jr,c as Kg,Z as Fg,_ as Np,$ as M_,a0 as cf,a1 as R_,a2 as O_,a3 as Lr,a4 as A_,a5 as Mi,a6 as ff,a7 as w_,a8 as kp,a9 as zp,aa as Up,ab as Jg,ac as D_,ad as df,ae as Uc,af as ba,ag as x_,ah as C_,ai as N_,aj as k_,ak as $g,al as z_,am as U_}from"./debug-build-CpR5hKXb.js";var gc={exports:{}},Nr={},yc={exports:{}},vc={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* scheduler.production.js
|
|
4
4
|
*
|
|
@@ -47,4 +47,4 @@ now you can use replayer.getMirror() to access the mirror instance of a replayer
|
|
|
47
47
|
or you can use record.mirror to access the mirror instance during recording.`;let yg={map:{},getId(){return console.error(yi),-1},getNode(){return console.error(yi),null},removeNodeFromMap(){console.error(yi)},has(){return console.error(yi),!1},reset(){console.error(yi)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(yg=new Proxy(yg,{get(n,i,l){return i==="map"&&console.error(yi),Reflect.get(n,i,l)}}));function Qr(n,i,l={}){let s=null,c=0;return function(...f){const h=Date.now();!c&&l.leading===!1&&(c=h);const p=i-(h-c),m=this;p<=0||p>i?(s&&(pM(s),s=null),c=h,n.apply(m,f)):!s&&l.trailing!==!1&&(s=to(()=>{c=l.leading===!1?0:Date.now(),s=null,n.apply(m,f)},p))}}function jy(n,i,l,s,c=window){const f=c.Object.getOwnPropertyDescriptor(n,i);return c.Object.defineProperty(n,i,s?l:{set(h){to(()=>{l.set.call(this,h)},0),f&&f.set&&f.set.call(this,h)}}),()=>jy(n,i,f||{},!0)}function Of(n,i,l){try{if(!(i in n))return()=>{};const s=n[i],c=l(s);return typeof c=="function"&&(c.prototype=c.prototype||{},Object.defineProperties(c,{__rrweb_original__:{enumerable:!1,value:s}})),n[i]=c,()=>{n[i]=s}}catch{return()=>{}}}let qs=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(qs=()=>new Date().getTime());function Gy(n){const i=n.document;return{left:i.scrollingElement?i.scrollingElement.scrollLeft:n.pageXOffset!==void 0?n.pageXOffset:i?.documentElement.scrollLeft||i?.body?.parentElement?.scrollLeft||i?.body?.scrollLeft||0,top:i.scrollingElement?i.scrollingElement.scrollTop:n.pageYOffset!==void 0?n.pageYOffset:i?.documentElement.scrollTop||i?.body?.parentElement?.scrollTop||i?.body?.scrollTop||0}}function Xy(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Vy(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function Qy(n){if(!n)return null;try{return n.nodeType===n.ELEMENT_NODE?n:n.parentElement}catch{return null}}function ke(n,i,l,s,c){if(!n)return!1;const f=Qy(n);if(!f)return!1;const h=Ei(i,l);if(!c){const y=s&&f.matches(s);return h(f)&&!y}const p=Ta(f,h);let m=-1;return p<0?!1:(s&&(m=Ta(f,Ei(null,s))),p>-1&&m<0?!0:p<m)}function uM(n,i){return i.getId(n)!==-1}function wc(n,i){return i.getId(n)===Vr}function Zy(n,i){if(Ir(n))return!1;const l=i.getId(n);return i.has(l)?n.parentNode&&n.parentNode.nodeType===n.DOCUMENT_NODE?!1:n.parentNode?Zy(n.parentNode,i):!0:!0}function $c(n){return!!n.changedTouches}function cM(n=window){"NodeList"in n&&!n.NodeList.prototype.forEach&&(n.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in n&&!n.DOMTokenList.prototype.forEach&&(n.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=(...i)=>{let l=i[0];if(!(0 in i))throw new TypeError("1 argument is required");do if(this===l)return!0;while(l=l&&l.parentNode);return!1})}function Ky(n,i){return!!(n.nodeName==="IFRAME"&&i.getMeta(n))}function Fy(n,i){return!!(n.nodeName==="LINK"&&n.nodeType===n.ELEMENT_NODE&&n.getAttribute&&n.getAttribute("rel")==="stylesheet"&&i.getMeta(n))}function Wc(n){return!!n?.shadowRoot}class fM{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(i){return this.styleIDMap.get(i)??-1}has(i){return this.styleIDMap.has(i)}add(i,l){if(this.has(i))return this.getId(i);let s;return l===void 0?s=this.id++:s=l,this.styleIDMap.set(i,s),this.idStyleMap.set(s,i),s}getStyle(i){return this.idStyleMap.get(i)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}}function Jy(n){let i=null;return n.getRootNode?.()?.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&n.getRootNode().host&&(i=n.getRootNode().host),i}function dM(n){let i=n,l;for(;l=Jy(i);)i=l;return i}function hM(n){const i=n.ownerDocument;if(!i)return!1;const l=dM(n);return i.contains(l)}function $y(n){const i=n.ownerDocument;return i?i.contains(n)||hM(n):!1}const vg={};function Af(n){const i=vg[n];if(i)return i;const l=window.document;let s=window[n];if(l&&typeof l.createElement=="function")try{const c=l.createElement("iframe");c.hidden=!0,l.head.appendChild(c);const f=c.contentWindow;f&&f[n]&&(s=f[n]),l.head.removeChild(c)}catch{}return vg[n]=s.bind(window)}function mM(...n){return Af("requestAnimationFrame")(...n)}function to(...n){return Af("setTimeout")(...n)}function pM(...n){return Af("clearTimeout")(...n)}var rt=(n=>(n[n.DomContentLoaded=0]="DomContentLoaded",n[n.Load=1]="Load",n[n.FullSnapshot=2]="FullSnapshot",n[n.IncrementalSnapshot=3]="IncrementalSnapshot",n[n.Meta=4]="Meta",n[n.Custom=5]="Custom",n[n.Plugin=6]="Plugin",n))(rt||{}),nt=(n=>(n[n.Mutation=0]="Mutation",n[n.MouseMove=1]="MouseMove",n[n.MouseInteraction=2]="MouseInteraction",n[n.Scroll=3]="Scroll",n[n.ViewportResize=4]="ViewportResize",n[n.Input=5]="Input",n[n.TouchMove=6]="TouchMove",n[n.MediaInteraction=7]="MediaInteraction",n[n.StyleSheetRule=8]="StyleSheetRule",n[n.CanvasMutation=9]="CanvasMutation",n[n.Font=10]="Font",n[n.Log=11]="Log",n[n.Drag=12]="Drag",n[n.StyleDeclaration=13]="StyleDeclaration",n[n.Selection=14]="Selection",n[n.AdoptedStyleSheet=15]="AdoptedStyleSheet",n[n.CustomElement=16]="CustomElement",n))(nt||{}),de=(n=>(n[n.MouseUp=0]="MouseUp",n[n.MouseDown=1]="MouseDown",n[n.Click=2]="Click",n[n.ContextMenu=3]="ContextMenu",n[n.DblClick=4]="DblClick",n[n.Focus=5]="Focus",n[n.Blur=6]="Blur",n[n.TouchStart=7]="TouchStart",n[n.TouchMove_Departed=8]="TouchMove_Departed",n[n.TouchEnd=9]="TouchEnd",n[n.TouchCancel=10]="TouchCancel",n))(de||{}),_n=(n=>(n[n.Mouse=0]="Mouse",n[n.Pen=1]="Pen",n[n.Touch=2]="Touch",n))(_n||{}),vi=(n=>(n[n.Play=0]="Play",n[n.Pause=1]="Pause",n[n.Seeked=2]="Seeked",n[n.VolumeChange=3]="VolumeChange",n[n.RateChange=4]="RateChange",n))(vi||{});function wf(n){try{return n.contentDocument}catch{}}function gM(n){try{return n.contentWindow}catch{}}function Sg(n){return"__ln"in n}class yM{constructor(){this.length=0,this.head=null,this.tail=null}get(i){if(i>=this.length)throw new Error("Position outside of list range");let l=this.head;for(let s=0;s<i;s++)l=l?.next||null;return l}addNode(i){const l={value:i,previous:null,next:null};if(i.__ln=l,i.previousSibling&&Sg(i.previousSibling)){const s=i.previousSibling.__ln.next;l.next=s,l.previous=i.previousSibling.__ln,i.previousSibling.__ln.next=l,s&&(s.previous=l)}else if(i.nextSibling&&Sg(i.nextSibling)&&i.nextSibling.__ln.previous){const s=i.nextSibling.__ln.previous;l.previous=s,l.next=i.nextSibling.__ln,i.nextSibling.__ln.previous=l,s&&(s.next=l)}else this.head&&(this.head.previous=l),l.next=this.head,this.head=l;l.next===null&&(this.tail=l),this.length++}removeNode(i){const l=i.__ln;this.head&&(l.previous?(l.previous.next=l.next,l.next?l.next.previous=l.previous:this.tail=l.previous):(this.head=l.next,this.head?this.head.previous=null:this.tail=null),i.__ln&&delete i.__ln,this.length--)}}const _g=(n,i)=>`${n}@${i}`;class vM{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=i=>{i.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;const i=[],l=new Set,s=new yM,c=m=>{let y=m,E=Vr;for(;E===Vr;)y=y&&y.nextSibling,E=y&&this.mirror.getId(y);return E},f=m=>{if(!m.parentNode||!$y(m))return;const y=Ir(m.parentNode)?this.mirror.getId(Jy(m)):this.mirror.getId(m.parentNode),E=c(m);if(y===-1||E===-1)return s.addNode(m);const S=bi(m,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskAllText:this.maskAllText,unblockSelector:this.unblockSelector,maskTextClass:this.maskTextClass,unmaskTextClass:this.unmaskTextClass,maskTextSelector:this.maskTextSelector,unmaskTextSelector:this.unmaskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskAttributeFn:this.maskAttributeFn,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:b=>{Ky(b,this.mirror)&&!ke(b,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&this.iframeManager.addIframe(b),Fy(b,this.mirror)&&this.stylesheetManager.trackLinkElement(b),Wc(m)&&this.shadowDomManager.addShadowRoot(m.shadowRoot,this.doc)},onIframeLoad:(b,x)=>{ke(b,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(this.iframeManager.attachIframe(b,x),b.contentWindow&&this.canvasManager.addWindow(b.contentWindow),this.shadowDomManager.observeAttachShadow(b))},onStylesheetLoad:(b,x)=>{this.stylesheetManager.attachLinkElement(b,x)}});S&&(i.push({parentId:y,nextId:E,node:S}),l.add(S.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const m of this.movedSet)Eg(this.removes,m,this.mirror)&&!this.movedSet.has(m.parentNode)||f(m);for(const m of this.addedSet)!bg(this.droppedSet,m)&&!Eg(this.removes,m,this.mirror)||bg(this.movedSet,m)?f(m):this.droppedSet.add(m);let h=null;for(;s.length;){let m=null;if(h){const y=this.mirror.getId(h.value.parentNode),E=c(h.value);y!==-1&&E!==-1&&(m=h)}if(!m){let y=s.tail;for(;y;){const E=y;if(y=y.previous,E){const S=this.mirror.getId(E.value.parentNode);if(c(E.value)===-1)continue;if(S!==-1){m=E;break}else{const x=E.value;if(x.parentNode&&x.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const A=x.parentNode.host;if(this.mirror.getId(A)!==-1){m=E;break}}}}}}if(!m){for(;s.head;)s.removeNode(s.head.value);break}h=m.previous,s.removeNode(m.value),f(m.value)}const p={texts:this.texts.map(m=>({id:this.mirror.getId(m.node),value:m.value})).filter(m=>!l.has(m.id)).filter(m=>this.mirror.has(m.id)),attributes:this.attributes.map(m=>{const{attributes:y}=m;if(typeof y.style=="string"){const E=JSON.stringify(m.styleDiff),S=JSON.stringify(m._unchangedStyles);E.length<y.style.length&&(E+S).split("var(").length===y.style.split("var(").length&&(y.style=m.styleDiff)}return{id:this.mirror.getId(m.node),attributes:y}}).filter(m=>!l.has(m.id)).filter(m=>this.mirror.has(m.id)),removes:this.removes,adds:i};!p.texts.length&&!p.attributes.length&&!p.removes.length&&!p.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(p))},this.processMutation=i=>{if(!wc(i.target,this.mirror))switch(i.type){case"characterData":{const l=i.target.textContent;!ke(i.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&l!==i.oldValue&&this.texts.push({value:Ai(i.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,this.maskAllText)&&l?this.maskTextFn?this.maskTextFn(l,Qy(i.target)):l.replace(/[\S]/g,"*"):l,node:i.target});break}case"attributes":{const l=i.target;let s=i.attributeName,c=i.target.getAttribute(s);if(s==="value"){const h=Mf(l),p=l.tagName;c=Hs(l,p,h);const m=Ws({maskInputOptions:this.maskInputOptions,tagName:p,type:h}),y=Ai(i.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,m);c=Xr({isMasked:y,element:l,value:c,maskInputFn:this.maskInputFn})}if(ke(i.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||c===i.oldValue)return;let f=this.attributeMap.get(i.target);if(l.tagName==="IFRAME"&&s==="src"&&!this.keepIframeSrcFn(c))if(!wf(l))s="rr_src";else return;if(f||(f={node:i.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(f),this.attributeMap.set(i.target,f)),s==="type"&&l.tagName==="INPUT"&&(i.oldValue||"").toLowerCase()==="password"&&l.setAttribute("data-rr-is-password","true"),!qy(l.tagName,s)&&(f.attributes[s]=Iy(this.doc,Oi(l.tagName),Oi(s),c,l,this.maskAttributeFn),s==="style")){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}const h=this.unattachedDoc.createElement("span");i.oldValue&&h.setAttribute("style",i.oldValue);for(const p of Array.from(l.style)){const m=l.style.getPropertyValue(p),y=l.style.getPropertyPriority(p);m!==h.style.getPropertyValue(p)||y!==h.style.getPropertyPriority(p)?y===""?f.styleDiff[p]=m:f.styleDiff[p]=[m,y]:f._unchangedStyles[p]=[m,y]}for(const p of Array.from(h.style))l.style.getPropertyValue(p)===""&&(f.styleDiff[p]=!1)}break}case"childList":{if(ke(i.target,this.blockClass,this.blockSelector,this.unblockSelector,!0))return;i.addedNodes.forEach(l=>this.genAdds(l,i.target)),i.removedNodes.forEach(l=>{const s=this.mirror.getId(l),c=Ir(i.target)?this.mirror.getId(i.target.host):this.mirror.getId(i.target);ke(i.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||wc(l,this.mirror)||!uM(l,this.mirror)||(this.addedSet.has(l)?(Pc(this.addedSet,l),this.droppedSet.add(l)):this.addedSet.has(i.target)&&s===-1||Zy(i.target,this.mirror)||(this.movedSet.has(l)&&this.movedMap[_g(s,c)]?Pc(this.movedSet,l):this.removes.push({parentId:c,id:s,isShadow:Ir(i.target)&&qr(i.target)?!0:void 0})),this.mapRemoves.push(l))});break}}},this.genAdds=(i,l)=>{if(!this.processedNodeManager.inOtherBuffer(i,this)&&!(this.addedSet.has(i)||this.movedSet.has(i))){if(this.mirror.hasNode(i)){if(wc(i,this.mirror))return;this.movedSet.add(i);let s=null;l&&this.mirror.hasNode(l)&&(s=this.mirror.getId(l)),s&&s!==-1&&(this.movedMap[_g(this.mirror.getId(i),s)]=!0)}else this.addedSet.add(i),this.droppedSet.delete(i);ke(i,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(i.childNodes.forEach(s=>this.genAdds(s)),Wc(i)&&i.shadowRoot.childNodes.forEach(s=>{this.processedNodeManager.add(s,this),this.genAdds(s,i)}))}}}init(i){["mutationCb","blockClass","blockSelector","unblockSelector","maskAllText","maskTextClass","unmaskTextClass","maskTextSelector","unmaskTextSelector","inlineStylesheet","maskInputOptions","maskAttributeFn","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(l=>{this[l]=i[l]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function Pc(n,i){n.delete(i),i.childNodes.forEach(l=>Pc(n,l))}function Eg(n,i,l){return n.length===0?!1:SM(n,i,l)}function SM(n,i,l){let s=i.parentNode;for(;s;){const c=l.getId(s);if(n.some(f=>f.id===c))return!0;s=s.parentNode}return!1}function bg(n,i){return n.size===0?!1:Wy(n,i)}function Wy(n,i){const{parentNode:l}=i;return l?n.has(l)?!0:Wy(n,l):!1}let Yr;function _M(n){Yr=n}function EM(){Yr=void 0}const gt=n=>Yr?(...l)=>{try{return n(...l)}catch(s){if(Yr&&Yr(s)===!0)return()=>{};throw s}}:n,Ti=[];function tl(n){try{if("composedPath"in n){const i=n.composedPath();if(i.length)return i[0]}else if("path"in n&&n.path.length)return n.path[0]}catch{}return n&&n.target}function Py(n,i){const l=new vM;Ti.push(l),l.init(n);let s=window.MutationObserver||window.__rrMutationObserver;const c=window?.Zone?.__symbol__?.("MutationObserver");c&&window[c]&&(s=window[c]);const f=new s(gt(h=>{n.onMutation&&n.onMutation(h)===!1||l.processMutations.bind(l)(h)}));return f.observe(i,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),f}function bM({mousemoveCb:n,sampling:i,doc:l,mirror:s}){if(i.mousemove===!1)return()=>{};const c=typeof i.mousemove=="number"?i.mousemove:50,f=typeof i.mousemoveCallback=="number"?i.mousemoveCallback:500;let h=[],p;const m=Qr(gt(S=>{const b=Date.now()-p;n(h.map(x=>(x.timeOffset-=b,x)),S),h=[],p=null}),f),y=gt(Qr(gt(S=>{const b=tl(S),{clientX:x,clientY:A}=$c(S)?S.changedTouches[0]:S;p||(p=qs()),h.push({x,y:A,id:s.getId(b),timeOffset:qs()-p}),m(typeof DragEvent<"u"&&S instanceof DragEvent?nt.Drag:S instanceof MouseEvent?nt.MouseMove:nt.TouchMove)}),c,{trailing:!1})),E=[me("mousemove",y,l),me("touchmove",y,l),me("drag",y,l)];return gt(()=>{E.forEach(S=>S())})}function TM({mouseInteractionCb:n,doc:i,mirror:l,blockClass:s,blockSelector:c,unblockSelector:f,sampling:h}){if(h.mouseInteraction===!1)return()=>{};const p=h.mouseInteraction===!0||h.mouseInteraction===void 0?{}:h.mouseInteraction,m=[];let y=null;const E=S=>b=>{const x=tl(b);if(ke(x,s,c,f,!0))return;let A=null,z=S;if("pointerType"in b){switch(b.pointerType){case"mouse":A=_n.Mouse;break;case"touch":A=_n.Touch;break;case"pen":A=_n.Pen;break}A===_n.Touch?de[S]===de.MouseDown?z="TouchStart":de[S]===de.MouseUp&&(z="TouchEnd"):_n.Pen}else $c(b)&&(A=_n.Touch);A!==null?(y=A,(z.startsWith("Touch")&&A===_n.Touch||z.startsWith("Mouse")&&A===_n.Mouse)&&(A=null)):de[S]===de.Click&&(A=y,y=null);const I=$c(b)?b.changedTouches[0]:b;if(!I)return;const U=l.getId(x),{clientX:X,clientY:at}=I;gt(n)({type:de[z],id:U,x:X,y:at,...A!==null&&{pointerType:A}})};return Object.keys(de).filter(S=>Number.isNaN(Number(S))&&!S.endsWith("_Departed")&&p[S]!==!1).forEach(S=>{let b=Oi(S);const x=E(S);if(window.PointerEvent)switch(de[S]){case de.MouseDown:case de.MouseUp:b=b.replace("mouse","pointer");break;case de.TouchStart:case de.TouchEnd:return}m.push(me(b,x,i))}),gt(()=>{m.forEach(S=>S())})}function tv({scrollCb:n,doc:i,mirror:l,blockClass:s,blockSelector:c,unblockSelector:f,sampling:h}){const p=gt(Qr(gt(m=>{const y=tl(m);if(!y||ke(y,s,c,f,!0))return;const E=l.getId(y);if(y===i&&i.defaultView){const S=Gy(i.defaultView);n({id:E,x:S.left,y:S.top})}else n({id:E,x:y.scrollLeft,y:y.scrollTop})}),h.scroll||100));return me("scroll",p,i)}function MM({viewportResizeCb:n},{win:i}){let l=-1,s=-1;const c=gt(Qr(gt(()=>{const f=Xy(),h=Vy();(l!==f||s!==h)&&(n({width:Number(h),height:Number(f)}),l=f,s=h)}),200));return me("resize",c,i)}const RM=["INPUT","TEXTAREA","SELECT"],Tg=new WeakMap;function OM({inputCb:n,doc:i,mirror:l,blockClass:s,blockSelector:c,unblockSelector:f,ignoreClass:h,ignoreSelector:p,maskInputOptions:m,maskInputFn:y,sampling:E,userTriggeredOnInput:S,maskTextClass:b,unmaskTextClass:x,maskTextSelector:A,unmaskTextSelector:z}){function I(W){let Z=tl(W);const H=W.isTrusted,K=Z&&Fc(Z.tagName);if(K==="OPTION"&&(Z=Z.parentElement),!Z||!K||RM.indexOf(K)<0||ke(Z,s,c,f,!0))return;const ht=Z;if(ht.classList.contains(h)||p&&ht.matches(p))return;const ct=Mf(Z);let Ut=Hs(ht,K,ct),Ht=!1;const qt=Ws({maskInputOptions:m,tagName:K,type:ct}),w=Ai(Z,b,A,x,z,qt);(ct==="radio"||ct==="checkbox")&&(Ht=Z.checked),Ut=Xr({isMasked:w,element:Z,value:Ut,maskInputFn:y}),U(Z,S?{text:Ut,isChecked:Ht,userTriggered:H}:{text:Ut,isChecked:Ht});const L=Z.name;ct==="radio"&&L&&Ht&&i.querySelectorAll(`input[type="radio"][name="${L}"]`).forEach(B=>{if(B!==Z){const st=Xr({isMasked:w,element:B,value:Hs(B,K,ct),maskInputFn:y});U(B,S?{text:st,isChecked:!Ht,userTriggered:!1}:{text:st,isChecked:!Ht})}})}function U(W,Z){const H=Tg.get(W);if(!H||H.text!==Z.text||H.isChecked!==Z.isChecked){Tg.set(W,Z);const K=l.getId(W);gt(n)({...Z,id:K})}}const at=(E.input==="last"?["change"]:["input","change"]).map(W=>me(W,gt(I),i)),$=i.defaultView;if(!$)return()=>{at.forEach(W=>W())};const Q=$.Object.getOwnPropertyDescriptor($.HTMLInputElement.prototype,"value"),j=[[$.HTMLInputElement.prototype,"value"],[$.HTMLInputElement.prototype,"checked"],[$.HTMLSelectElement.prototype,"value"],[$.HTMLTextAreaElement.prototype,"value"],[$.HTMLSelectElement.prototype,"selectedIndex"],[$.HTMLOptionElement.prototype,"selected"]];return Q&&Q.set&&at.push(...j.map(W=>jy(W[0],W[1],{set(){gt(I)({target:this,isTrusted:!1})}},!1,$))),gt(()=>{at.forEach(W=>W())})}function Ys(n){const i=[];function l(s,c){if(Ss("CSSGroupingRule")&&s.parentRule instanceof CSSGroupingRule||Ss("CSSMediaRule")&&s.parentRule instanceof CSSMediaRule||Ss("CSSSupportsRule")&&s.parentRule instanceof CSSSupportsRule||Ss("CSSConditionRule")&&s.parentRule instanceof CSSConditionRule){const h=Array.from(s.parentRule.cssRules).indexOf(s);c.unshift(h)}else if(s.parentStyleSheet){const h=Array.from(s.parentStyleSheet.cssRules).indexOf(s);c.unshift(h)}return c}return l(n,i)}function $n(n,i,l){let s,c;return n?(n.ownerNode?s=i.getId(n.ownerNode):c=l.getId(n),{styleId:c,id:s}):{}}function AM({styleSheetRuleCb:n,mirror:i,stylesheetManager:l},{win:s}){if(!s.CSSStyleSheet||!s.CSSStyleSheet.prototype)return()=>{};const c=s.CSSStyleSheet.prototype.insertRule;s.CSSStyleSheet.prototype.insertRule=new Proxy(c,{apply:gt((E,S,b)=>{const[x,A]=b,{id:z,styleId:I}=$n(S,i,l.styleMirror);return(z&&z!==-1||I&&I!==-1)&&n({id:z,styleId:I,adds:[{rule:x,index:A}]}),E.apply(S,b)})});const f=s.CSSStyleSheet.prototype.deleteRule;s.CSSStyleSheet.prototype.deleteRule=new Proxy(f,{apply:gt((E,S,b)=>{const[x]=b,{id:A,styleId:z}=$n(S,i,l.styleMirror);return(A&&A!==-1||z&&z!==-1)&&n({id:A,styleId:z,removes:[{index:x}]}),E.apply(S,b)})});let h;s.CSSStyleSheet.prototype.replace&&(h=s.CSSStyleSheet.prototype.replace,s.CSSStyleSheet.prototype.replace=new Proxy(h,{apply:gt((E,S,b)=>{const[x]=b,{id:A,styleId:z}=$n(S,i,l.styleMirror);return(A&&A!==-1||z&&z!==-1)&&n({id:A,styleId:z,replace:x}),E.apply(S,b)})}));let p;s.CSSStyleSheet.prototype.replaceSync&&(p=s.CSSStyleSheet.prototype.replaceSync,s.CSSStyleSheet.prototype.replaceSync=new Proxy(p,{apply:gt((E,S,b)=>{const[x]=b,{id:A,styleId:z}=$n(S,i,l.styleMirror);return(A&&A!==-1||z&&z!==-1)&&n({id:A,styleId:z,replaceSync:x}),E.apply(S,b)})}));const m={};_s("CSSGroupingRule")?m.CSSGroupingRule=s.CSSGroupingRule:(_s("CSSMediaRule")&&(m.CSSMediaRule=s.CSSMediaRule),_s("CSSConditionRule")&&(m.CSSConditionRule=s.CSSConditionRule),_s("CSSSupportsRule")&&(m.CSSSupportsRule=s.CSSSupportsRule));const y={};return Object.entries(m).forEach(([E,S])=>{y[E]={insertRule:S.prototype.insertRule,deleteRule:S.prototype.deleteRule},S.prototype.insertRule=new Proxy(y[E].insertRule,{apply:gt((b,x,A)=>{const[z,I]=A,{id:U,styleId:X}=$n(x.parentStyleSheet,i,l.styleMirror);return(U&&U!==-1||X&&X!==-1)&&n({id:U,styleId:X,adds:[{rule:z,index:[...Ys(x),I||0]}]}),b.apply(x,A)})}),S.prototype.deleteRule=new Proxy(y[E].deleteRule,{apply:gt((b,x,A)=>{const[z]=A,{id:I,styleId:U}=$n(x.parentStyleSheet,i,l.styleMirror);return(I&&I!==-1||U&&U!==-1)&&n({id:I,styleId:U,removes:[{index:[...Ys(x),z]}]}),b.apply(x,A)})})}),gt(()=>{s.CSSStyleSheet.prototype.insertRule=c,s.CSSStyleSheet.prototype.deleteRule=f,h&&(s.CSSStyleSheet.prototype.replace=h),p&&(s.CSSStyleSheet.prototype.replaceSync=p),Object.entries(m).forEach(([E,S])=>{S.prototype.insertRule=y[E].insertRule,S.prototype.deleteRule=y[E].deleteRule})})}function ev({mirror:n,stylesheetManager:i},l){let s=null;l.nodeName==="#document"?s=n.getId(l):s=n.getId(l.host);const c=l.nodeName==="#document"?l.defaultView?.Document:l.ownerDocument?.defaultView?.ShadowRoot,f=c?.prototype?Object.getOwnPropertyDescriptor(c?.prototype,"adoptedStyleSheets"):void 0;return s===null||s===-1||!c||!f?()=>{}:(Object.defineProperty(l,"adoptedStyleSheets",{configurable:f.configurable,enumerable:f.enumerable,get(){return f.get?.call(this)},set(h){const p=f.set?.call(this,h);if(s!==null&&s!==-1)try{i.adoptStyleSheets(h,s)}catch{}return p}}),gt(()=>{Object.defineProperty(l,"adoptedStyleSheets",{configurable:f.configurable,enumerable:f.enumerable,get:f.get,set:f.set})}))}function wM({styleDeclarationCb:n,mirror:i,ignoreCSSAttributes:l,stylesheetManager:s},{win:c}){const f=c.CSSStyleDeclaration.prototype.setProperty;c.CSSStyleDeclaration.prototype.setProperty=new Proxy(f,{apply:gt((p,m,y)=>{const[E,S,b]=y;if(l.has(E))return f.apply(m,[E,S,b]);const{id:x,styleId:A}=$n(m.parentRule?.parentStyleSheet,i,s.styleMirror);return(x&&x!==-1||A&&A!==-1)&&n({id:x,styleId:A,set:{property:E,value:S,priority:b},index:Ys(m.parentRule)}),p.apply(m,y)})});const h=c.CSSStyleDeclaration.prototype.removeProperty;return c.CSSStyleDeclaration.prototype.removeProperty=new Proxy(h,{apply:gt((p,m,y)=>{const[E]=y;if(l.has(E))return h.apply(m,[E]);const{id:S,styleId:b}=$n(m.parentRule?.parentStyleSheet,i,s.styleMirror);return(S&&S!==-1||b&&b!==-1)&&n({id:S,styleId:b,remove:{property:E},index:Ys(m.parentRule)}),p.apply(m,y)})}),gt(()=>{c.CSSStyleDeclaration.prototype.setProperty=f,c.CSSStyleDeclaration.prototype.removeProperty=h})}function DM({mediaInteractionCb:n,blockClass:i,blockSelector:l,unblockSelector:s,mirror:c,sampling:f,doc:h}){const p=gt(y=>Qr(gt(E=>{const S=tl(E);if(!S||ke(S,i,l,s,!0))return;const{currentTime:b,volume:x,muted:A,playbackRate:z}=S;n({type:y,id:c.getId(S),currentTime:b,volume:x,muted:A,playbackRate:z})}),f.media||500)),m=[me("play",p(vi.Play),h),me("pause",p(vi.Pause),h),me("seeked",p(vi.Seeked),h),me("volumechange",p(vi.VolumeChange),h),me("ratechange",p(vi.RateChange),h)];return gt(()=>{m.forEach(y=>y())})}function xM({fontCb:n,doc:i}){const l=i.defaultView;if(!l)return()=>{};const s=[],c=new WeakMap,f=l.FontFace;l.FontFace=function(m,y,E){const S=new f(m,y,E);return c.set(S,{family:m,buffer:typeof y!="string",descriptors:E,fontSource:typeof y=="string"?y:JSON.stringify(Array.from(new Uint8Array(y)))}),S};const h=Of(i.fonts,"add",function(p){return function(m){return to(gt(()=>{const y=c.get(m);y&&(n(y),c.delete(m))}),0),p.apply(this,[m])}});return s.push(()=>{l.FontFace=f}),s.push(h),gt(()=>{s.forEach(p=>p())})}function CM(n){const{doc:i,mirror:l,blockClass:s,blockSelector:c,unblockSelector:f,selectionCb:h}=n;let p=!0;const m=gt(()=>{const y=i.getSelection();if(!y||p&&y?.isCollapsed)return;p=y.isCollapsed||!1;const E=[],S=y.rangeCount||0;for(let b=0;b<S;b++){const x=y.getRangeAt(b),{startContainer:A,startOffset:z,endContainer:I,endOffset:U}=x;ke(A,s,c,f,!0)||ke(I,s,c,f,!0)||E.push({start:l.getId(A),startOffset:z,end:l.getId(I),endOffset:U})}h({ranges:E})});return m(),me("selectionchange",m)}function NM({doc:n,customElementCb:i}){const l=n.defaultView;return!l||!l.customElements?()=>{}:Of(l.customElements,"define",function(c){return function(f,h,p){try{i({define:{name:f}})}catch{}return c.apply(this,[f,h,p])}})}function kM(n,i={}){const l=n.doc.defaultView;if(!l)return()=>{};let s;n.recordDOM&&(s=Py(n,n.doc));const c=bM(n),f=TM(n),h=tv(n),p=MM(n,{win:l}),m=OM(n),y=DM(n);let E=()=>{},S=()=>{},b=()=>{},x=()=>{};n.recordDOM&&(E=AM(n,{win:l}),S=ev(n,n.doc),b=wM(n,{win:l}),n.collectFonts&&(x=xM(n)));const A=CM(n),z=NM(n),I=[];for(const U of n.plugins)I.push(U.observer(U.callback,l,U.options));return gt(()=>{Ti.forEach(U=>U.reset()),s?.disconnect(),c(),f(),h(),p(),m(),y(),E(),S(),b(),x(),A(),z(),I.forEach(U=>U())})}function Ss(n){return typeof window[n]<"u"}function _s(n){return!!(typeof window[n]<"u"&&window[n].prototype&&"insertRule"in window[n].prototype&&"deleteRule"in window[n].prototype)}class tf{constructor(i){this.generateIdFn=i,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(i,l,s,c){const f=s||this.getIdToRemoteIdMap(i),h=c||this.getRemoteIdToIdMap(i);let p=f.get(l);return p||(p=this.generateIdFn(),f.set(l,p),h.set(p,l)),p}getIds(i,l){const s=this.getIdToRemoteIdMap(i),c=this.getRemoteIdToIdMap(i);return l.map(f=>this.getId(i,f,s,c))}getRemoteId(i,l,s){const c=s||this.getRemoteIdToIdMap(i);if(typeof l!="number")return l;const f=c.get(l);return f||-1}getRemoteIds(i,l){const s=this.getRemoteIdToIdMap(i);return l.map(c=>this.getRemoteId(i,c,s))}reset(i){if(!i){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(i),this.iframeRemoteIdToIdMap.delete(i)}getIdToRemoteIdMap(i){let l=this.iframeIdToRemoteIdMap.get(i);return l||(l=new Map,this.iframeIdToRemoteIdMap.set(i,l)),l}getRemoteIdToIdMap(i){let l=this.iframeRemoteIdToIdMap.get(i);return l||(l=new Map,this.iframeRemoteIdToIdMap.set(i,l)),l}}class zM{constructor(){this.crossOriginIframeMirror=new tf(Rf),this.crossOriginIframeRootIdMap=new WeakMap}addIframe(){}addLoadListener(){}attachIframe(){}}class UM{constructor(i){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new tf(Rf),this.crossOriginIframeRootIdMap=new WeakMap,this.mutationCb=i.mutationCb,this.wrappedEmit=i.wrappedEmit,this.stylesheetManager=i.stylesheetManager,this.recordCrossOriginIframes=i.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new tf(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=i.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(i){this.iframes.set(i,!0),i.contentWindow&&this.crossOriginIframeMap.set(i.contentWindow,i)}addLoadListener(i){this.loadListener=i}attachIframe(i,l){this.mutationCb({adds:[{parentId:this.mirror.getId(i),nextId:null,node:l}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&i.contentWindow?.addEventListener("message",this.handleMessage.bind(this)),this.loadListener?.(i);const s=wf(i);s&&s.adoptedStyleSheets&&s.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(s.adoptedStyleSheets,this.mirror.getId(s))}handleMessage(i){const l=i;if(l.data.type!=="rrweb"||l.origin!==l.data.origin||!i.source)return;const c=this.crossOriginIframeMap.get(i.source);if(!c)return;const f=this.transformCrossOriginEvent(c,l.data.event);f&&this.wrappedEmit(f,l.data.isCheckout)}transformCrossOriginEvent(i,l){switch(l.type){case rt.FullSnapshot:{this.crossOriginIframeMirror.reset(i),this.crossOriginIframeStyleMirror.reset(i),this.replaceIdOnNode(l.data.node,i);const s=l.data.node.id;return this.crossOriginIframeRootIdMap.set(i,s),this.patchRootIdOnNode(l.data.node,s),{timestamp:l.timestamp,type:rt.IncrementalSnapshot,data:{source:nt.Mutation,adds:[{parentId:this.mirror.getId(i),nextId:null,node:l.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case rt.Meta:case rt.Load:case rt.DomContentLoaded:return!1;case rt.Plugin:return l;case rt.Custom:return this.replaceIds(l.data.payload,i,["id","parentId","previousId","nextId"]),l;case rt.IncrementalSnapshot:switch(l.data.source){case nt.Mutation:return l.data.adds.forEach(s=>{this.replaceIds(s,i,["parentId","nextId","previousId"]),this.replaceIdOnNode(s.node,i);const c=this.crossOriginIframeRootIdMap.get(i);c&&this.patchRootIdOnNode(s.node,c)}),l.data.removes.forEach(s=>{this.replaceIds(s,i,["parentId","id"])}),l.data.attributes.forEach(s=>{this.replaceIds(s,i,["id"])}),l.data.texts.forEach(s=>{this.replaceIds(s,i,["id"])}),l;case nt.Drag:case nt.TouchMove:case nt.MouseMove:return l.data.positions.forEach(s=>{this.replaceIds(s,i,["id"])}),l;case nt.ViewportResize:return!1;case nt.MediaInteraction:case nt.MouseInteraction:case nt.Scroll:case nt.CanvasMutation:case nt.Input:return this.replaceIds(l.data,i,["id"]),l;case nt.StyleSheetRule:case nt.StyleDeclaration:return this.replaceIds(l.data,i,["id"]),this.replaceStyleIds(l.data,i,["styleId"]),l;case nt.Font:return l;case nt.Selection:return l.data.ranges.forEach(s=>{this.replaceIds(s,i,["start","end"])}),l;case nt.AdoptedStyleSheet:return this.replaceIds(l.data,i,["id"]),this.replaceStyleIds(l.data,i,["styleIds"]),l.data.styles?.forEach(s=>{this.replaceStyleIds(s,i,["styleId"])}),l}}return!1}replace(i,l,s,c){for(const f of c)!Array.isArray(l[f])&&typeof l[f]!="number"||(Array.isArray(l[f])?l[f]=i.getIds(s,l[f]):l[f]=i.getId(s,l[f]));return l}replaceIds(i,l,s){return this.replace(this.crossOriginIframeMirror,i,l,s)}replaceStyleIds(i,l,s){return this.replace(this.crossOriginIframeStyleMirror,i,l,s)}replaceIdOnNode(i,l){this.replaceIds(i,l,["id","rootId"]),"childNodes"in i&&i.childNodes.forEach(s=>{this.replaceIdOnNode(s,l)})}patchRootIdOnNode(i,l){i.type!==ie.Document&&!i.rootId&&(i.rootId=l),"childNodes"in i&&i.childNodes.forEach(s=>{this.patchRootIdOnNode(s,l)})}}class LM{init(){}addShadowRoot(){}observeAttachShadow(){}reset(){}}class BM{constructor(i){this.shadowDoms=new WeakSet,this.restoreHandlers=[],this.mutationCb=i.mutationCb,this.scrollCb=i.scrollCb,this.bypassOptions=i.bypassOptions,this.mirror=i.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(i,l){if(!qr(i)||this.shadowDoms.has(i))return;this.shadowDoms.add(i),this.bypassOptions.canvasManager.addShadowRoot(i);const s=Py({...this.bypassOptions,doc:l,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},i);this.restoreHandlers.push(()=>s.disconnect()),this.restoreHandlers.push(tv({...this.bypassOptions,scrollCb:this.scrollCb,doc:i,mirror:this.mirror})),to(()=>{i.adoptedStyleSheets&&i.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(i.adoptedStyleSheets,this.mirror.getId(i.host)),this.restoreHandlers.push(ev({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},i))},0)}observeAttachShadow(i){const l=wf(i),s=gM(i);!l||!s||this.patchAttachShadow(s.Element,l)}patchAttachShadow(i,l){const s=this;this.restoreHandlers.push(Of(i.prototype,"attachShadow",function(c){return function(f){const h=c.call(this,f);return this.shadowRoot&&$y(this)&&s.addShadowRoot(this.shadowRoot,l),h}}))}reset(){this.restoreHandlers.forEach(i=>{try{i()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet,this.bypassOptions.canvasManager.resetShadowRoots()}}var Mg="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",HM=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var Es=0;Es<Mg.length;Es++)HM[Mg.charCodeAt(Es)]=Es;class Rg{reset(){}freeze(){}unfreeze(){}lock(){}unlock(){}snapshot(){}addWindow(){}addShadowRoot(){}resetShadowRoots(){}}class IM{constructor(i){this.trackedLinkElements=new WeakSet,this.styleMirror=new fM,this.mutationCb=i.mutationCb,this.adoptedStyleSheetCb=i.adoptedStyleSheetCb}attachLinkElement(i,l){"_cssText"in l.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:l.id,attributes:l.attributes}]}),this.trackLinkElement(i)}trackLinkElement(i){this.trackedLinkElements.has(i)||(this.trackedLinkElements.add(i),this.trackStylesheetInLinkElement(i))}adoptStyleSheets(i,l){if(i.length===0)return;const s={id:l,styleIds:[]},c=[];for(const f of i){let h;this.styleMirror.has(f)?h=this.styleMirror.getId(f):(h=this.styleMirror.add(f),c.push({styleId:h,rules:Array.from(f.rules||CSSRule,(p,m)=>({rule:ky(p),index:m}))})),s.styleIds.push(h)}c.length>0&&(s.styles=c),this.adoptedStyleSheetCb(s)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(i){}}class qM{constructor(){this.nodeMap=new WeakMap,this.active=!1}inOtherBuffer(i,l){const s=this.nodeMap.get(i);return s&&Array.from(s).some(c=>c!==l)}add(i,l){this.active||(this.active=!0,mM(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(i,(this.nodeMap.get(i)||new Set).add(l))}destroy(){}}let Gt,js;try{if(Array.from([1],n=>n*2)[0]!==2){const n=document.createElement("iframe");document.body.appendChild(n),Array.from=n.contentWindow?.Array.from||Array.from,document.body.removeChild(n)}}catch(n){console.debug("Unable to override Array.from",n)}const Ke=qT();function bn(n={}){const{emit:i,checkoutEveryNms:l,checkoutEveryNth:s,blockClass:c="rr-block",blockSelector:f=null,unblockSelector:h=null,ignoreClass:p="rr-ignore",ignoreSelector:m=null,maskAllText:y=!1,maskTextClass:E="rr-mask",unmaskTextClass:S=null,maskTextSelector:b=null,unmaskTextSelector:x=null,inlineStylesheet:A=!0,maskAllInputs:z,maskInputOptions:I,slimDOMOptions:U,maskAttributeFn:X,maskInputFn:at,maskTextFn:$,maxCanvasSize:Q=null,packFn:j,sampling:W={},dataURLOptions:Z={},mousemoveWait:H,recordDOM:K=!0,recordCanvas:ht=!1,recordCrossOriginIframes:ct=!1,recordAfter:Ut=n.recordAfter==="DOMContentLoaded"?n.recordAfter:"load",userTriggeredOnInput:Ht=!1,collectFonts:qt=!1,inlineImages:w=!1,plugins:L,keepIframeSrcFn:B=()=>!1,ignoreCSSAttributes:st=new Set([]),errorHandler:dt,onMutation:Wt,getCanvasManager:kt}=n;_M(dt);const yt=ct?window.parent===window:!0;let Lt=!1;if(!yt)try{window.parent.document&&(Lt=!1)}catch{Lt=!0}if(yt&&!i)throw new Error("emit function is required");if(!yt&&!Lt)return()=>{};H!==void 0&&W.mousemove===void 0&&(W.mousemove=H),Ke.reset();const pe=z===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,radio:!0,checkbox:!0}:I!==void 0?I:{},ze=U===!0||U==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:U==="all",headMetaDescKeywords:U==="all"}:U||{};cM();let Mn,Rn=0;const nn=mt=>{for(const oe of L||[])oe.eventProcessor&&(mt=oe.eventProcessor(mt));return j&&!Lt&&(mt=j(mt)),mt};Gt=(mt,oe)=>{const ft=mt;if(ft.timestamp=qs(),Ti[0]?.isFrozen()&&ft.type!==rt.FullSnapshot&&!(ft.type===rt.IncrementalSnapshot&&ft.data.source===nt.Mutation)&&Ti.forEach(Pt=>Pt.unfreeze()),yt)i?.(nn(ft),oe);else if(Lt){const Pt={type:"rrweb",event:nn(ft),origin:window.location.origin,isCheckout:oe};window.parent.postMessage(Pt,"*")}if(ft.type===rt.FullSnapshot)Mn=ft,Rn=0;else if(ft.type===rt.IncrementalSnapshot){if(ft.data.source===nt.Mutation&&ft.data.isAttachIframe)return;Rn++;const Pt=s&&Rn>=s,_t=l&&Mn&&ft.timestamp-Mn.timestamp>l;(Pt||_t)&&xa(!0)}};const On=mt=>{Gt({type:rt.IncrementalSnapshot,data:{source:nt.Mutation,...mt}})},na=mt=>Gt({type:rt.IncrementalSnapshot,data:{source:nt.Scroll,...mt}}),Ci=mt=>Gt({type:rt.IncrementalSnapshot,data:{source:nt.CanvasMutation,...mt}}),Ni=mt=>Gt({type:rt.IncrementalSnapshot,data:{source:nt.AdoptedStyleSheet,...mt}}),Xe=new IM({mutationCb:On,adoptedStyleSheetCb:Ni}),an=typeof __RRWEB_EXCLUDE_IFRAME__=="boolean"&&__RRWEB_EXCLUDE_IFRAME__?new zM:new UM({mirror:Ke,mutationCb:On,stylesheetManager:Xe,recordCrossOriginIframes:ct,wrappedEmit:Gt});for(const mt of L||[])mt.getMirror&&mt.getMirror({nodeMirror:Ke,crossOriginIframeMirror:an.crossOriginIframeMirror,crossOriginIframeStyleMirror:an.crossOriginIframeStyleMirror});const ki=new qM,ge=jM(kt,{mirror:Ke,win:window,mutationCb:mt=>Gt({type:rt.IncrementalSnapshot,data:{source:nt.CanvasMutation,...mt}}),recordCanvas:ht,blockClass:c,blockSelector:f,unblockSelector:h,maxCanvasSize:Q,sampling:W.canvas,dataURLOptions:Z,errorHandler:dt}),Da=typeof __RRWEB_EXCLUDE_SHADOW_DOM__=="boolean"&&__RRWEB_EXCLUDE_SHADOW_DOM__?new LM:new BM({mutationCb:On,scrollCb:na,bypassOptions:{onMutation:Wt,blockClass:c,blockSelector:f,unblockSelector:h,maskAllText:y,maskTextClass:E,unmaskTextClass:S,maskTextSelector:b,unmaskTextSelector:x,inlineStylesheet:A,maskInputOptions:pe,dataURLOptions:Z,maskAttributeFn:X,maskTextFn:$,maskInputFn:at,recordCanvas:ht,inlineImages:w,sampling:W,slimDOMOptions:ze,iframeManager:an,stylesheetManager:Xe,canvasManager:ge,keepIframeSrcFn:B,processedNodeManager:ki},mirror:Ke}),xa=(mt=!1)=>{if(!K)return;Gt({type:rt.Meta,data:{href:window.location.href,width:Vy(),height:Xy()}},mt),Xe.reset(),Da.init(),Ti.forEach(ft=>ft.lock());const oe=oM(document,{mirror:Ke,blockClass:c,blockSelector:f,unblockSelector:h,maskAllText:y,maskTextClass:E,unmaskTextClass:S,maskTextSelector:b,unmaskTextSelector:x,inlineStylesheet:A,maskAllInputs:pe,maskAttributeFn:X,maskInputFn:at,maskTextFn:$,slimDOM:ze,dataURLOptions:Z,recordCanvas:ht,inlineImages:w,onSerialize:ft=>{Ky(ft,Ke)&&an.addIframe(ft),Fy(ft,Ke)&&Xe.trackLinkElement(ft),Wc(ft)&&Da.addShadowRoot(ft.shadowRoot,document)},onIframeLoad:(ft,Pt)=>{an.attachIframe(ft,Pt),ft.contentWindow&&ge.addWindow(ft.contentWindow),Da.observeAttachShadow(ft)},onStylesheetLoad:(ft,Pt)=>{Xe.attachLinkElement(ft,Pt)},keepIframeSrcFn:B});if(!oe)return console.warn("Failed to snapshot the document");Gt({type:rt.FullSnapshot,data:{node:oe,initialOffset:Gy(window)}}),Ti.forEach(ft=>ft.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&Xe.adoptStyleSheets(document.adoptedStyleSheets,Ke.getId(document))};js=xa;try{const mt=[],oe=Pt=>gt(kM)({onMutation:Wt,mutationCb:On,mousemoveCb:(_t,zi)=>Gt({type:rt.IncrementalSnapshot,data:{source:zi,positions:_t}}),mouseInteractionCb:_t=>Gt({type:rt.IncrementalSnapshot,data:{source:nt.MouseInteraction,..._t}}),scrollCb:na,viewportResizeCb:_t=>Gt({type:rt.IncrementalSnapshot,data:{source:nt.ViewportResize,..._t}}),inputCb:_t=>Gt({type:rt.IncrementalSnapshot,data:{source:nt.Input,..._t}}),mediaInteractionCb:_t=>Gt({type:rt.IncrementalSnapshot,data:{source:nt.MediaInteraction,..._t}}),styleSheetRuleCb:_t=>Gt({type:rt.IncrementalSnapshot,data:{source:nt.StyleSheetRule,..._t}}),styleDeclarationCb:_t=>Gt({type:rt.IncrementalSnapshot,data:{source:nt.StyleDeclaration,..._t}}),canvasMutationCb:Ci,fontCb:_t=>Gt({type:rt.IncrementalSnapshot,data:{source:nt.Font,..._t}}),selectionCb:_t=>{Gt({type:rt.IncrementalSnapshot,data:{source:nt.Selection,..._t}})},customElementCb:_t=>{Gt({type:rt.IncrementalSnapshot,data:{source:nt.CustomElement,..._t}})},blockClass:c,ignoreClass:p,ignoreSelector:m,maskAllText:y,maskTextClass:E,unmaskTextClass:S,maskTextSelector:b,unmaskTextSelector:x,maskInputOptions:pe,inlineStylesheet:A,sampling:W,recordDOM:K,recordCanvas:ht,inlineImages:w,userTriggeredOnInput:Ht,collectFonts:qt,doc:Pt,maskAttributeFn:X,maskInputFn:at,maskTextFn:$,keepIframeSrcFn:B,blockSelector:f,unblockSelector:h,slimDOMOptions:ze,dataURLOptions:Z,mirror:Ke,iframeManager:an,stylesheetManager:Xe,shadowDomManager:Da,processedNodeManager:ki,canvasManager:ge,ignoreCSSAttributes:st,plugins:L?.filter(_t=>_t.observer)?.map(_t=>({observer:_t.observer,options:_t.options,callback:zi=>Gt({type:rt.Plugin,data:{plugin:_t.name,payload:zi}})}))||[]},{});an.addLoadListener(Pt=>{try{mt.push(oe(Pt.contentDocument))}catch(_t){console.warn(_t)}});const ft=()=>{xa(),mt.push(oe(document))};return document.readyState==="interactive"||document.readyState==="complete"?ft():(mt.push(me("DOMContentLoaded",()=>{Gt({type:rt.DomContentLoaded,data:{}}),Ut==="DOMContentLoaded"&&ft()})),mt.push(me("load",()=>{Gt({type:rt.Load,data:{}}),Ut==="load"&&ft()},window))),()=>{mt.forEach(Pt=>Pt()),ki.destroy(),js=void 0,EM()}}catch(mt){console.warn(mt)}}function YM(n){if(!js)throw new Error("please take full snapshot after start recording");js(n)}bn.mirror=Ke;bn.takeFullSnapshot=YM;function jM(n,i){try{return n?n(i):new Rg}catch{return console.warn("Unable to initialize CanvasManager"),new Rg}}var Og;(function(n){n[n.NotStarted=0]="NotStarted",n[n.Running=1]="Running",n[n.Stopped=2]="Stopped"})(Og||(Og={}));const GM=3,XM=5;function Df(n){return n>9999999999?n:n*1e3}function Dc(n){return n>9999999999?n/1e3:n}function el(n,i){i.category!=="sentry.transaction"&&(["ui.click","ui.input"].includes(i.category)?n.triggerUserActivity():n.checkAndHandleExpiredSession(),n.addUpdate(()=>(n.throttledAddEvent({type:rt.Custom,timestamp:(i.timestamp||0)*1e3,data:{tag:"breadcrumb",payload:lf(i,10,1e3)}}),i.category==="console")))}const VM="button,a";function nv(n){return n.closest(VM)||n}function av(n){const i=iv(n);return!i||!(i instanceof Element)?i:nv(i)}function iv(n){return QM(n)?n.target:n}function QM(n){return typeof n=="object"&&!!n&&"target"in n}let Wn;function ZM(n){return Wn||(Wn=[],KM()),Wn.push(n),()=>{const i=Wn?Wn.indexOf(n):-1;i>-1&&Wn.splice(i,1)}}function KM(){Te(Ct,"open",function(n){return function(...i){if(Wn)try{Wn.forEach(l=>l())}catch{}return n.apply(Ct,i)}})}const FM=new Set([nt.Mutation,nt.StyleSheetRule,nt.StyleDeclaration,nt.AdoptedStyleSheet,nt.CanvasMutation,nt.Selection,nt.MediaInteraction]);function JM(n,i,l){n.handleClick(i,l)}class $M{constructor(i,l,s=el){this._lastMutation=0,this._lastScroll=0,this._clicks=[],this._timeout=l.timeout/1e3,this._threshold=l.threshold/1e3,this._scrollTimeout=l.scrollTimeout/1e3,this._replay=i,this._ignoreSelector=l.ignoreSelector,this._addBreadcrumbEvent=s}addListeners(){const i=ZM(()=>{this._lastMutation=Ag()});this._teardown=()=>{i(),this._clicks=[],this._lastMutation=0,this._lastScroll=0}}removeListeners(){this._teardown&&this._teardown(),this._checkClickTimeout&&clearTimeout(this._checkClickTimeout)}handleClick(i,l){if(PM(l,this._ignoreSelector)||!tR(i))return;const s={timestamp:Dc(i.timestamp),clickBreadcrumb:i,clickCount:0,node:l};this._clicks.some(c=>c.node===s.node&&Math.abs(c.timestamp-s.timestamp)<1)||(this._clicks.push(s),this._clicks.length===1&&this._scheduleCheckClicks())}registerMutation(i=Date.now()){this._lastMutation=Dc(i)}registerScroll(i=Date.now()){this._lastScroll=Dc(i)}registerClick(i){const l=nv(i);this._handleMultiClick(l)}_handleMultiClick(i){this._getClicks(i).forEach(l=>{l.clickCount++})}_getClicks(i){return this._clicks.filter(l=>l.node===i)}_checkClicks(){const i=[],l=Ag();this._clicks.forEach(s=>{!s.mutationAfter&&this._lastMutation&&(s.mutationAfter=s.timestamp<=this._lastMutation?this._lastMutation-s.timestamp:void 0),!s.scrollAfter&&this._lastScroll&&(s.scrollAfter=s.timestamp<=this._lastScroll?this._lastScroll-s.timestamp:void 0),s.timestamp+this._timeout<=l&&i.push(s)});for(const s of i){const c=this._clicks.indexOf(s);c>-1&&(this._generateBreadcrumbs(s),this._clicks.splice(c,1))}this._clicks.length&&this._scheduleCheckClicks()}_generateBreadcrumbs(i){const l=this._replay,s=i.scrollAfter&&i.scrollAfter<=this._scrollTimeout,c=i.mutationAfter&&i.mutationAfter<=this._threshold,f=!s&&!c,{clickCount:h,clickBreadcrumb:p}=i;if(f){const m=Math.min(i.mutationAfter||this._timeout,this._timeout)*1e3,y=m<this._timeout*1e3?"mutation":"timeout",E={type:"default",message:p.message,timestamp:p.timestamp,category:"ui.slowClickDetected",data:{...p.data,url:Ct.location.href,route:l.getCurrentRoute(),timeAfterClickMs:m,endReason:y,clickCount:h||1}};this._addBreadcrumbEvent(l,E);return}if(h>1){const m={type:"default",message:p.message,timestamp:p.timestamp,category:"ui.multiClick",data:{...p.data,url:Ct.location.href,route:l.getCurrentRoute(),clickCount:h,metric:!0}};this._addBreadcrumbEvent(l,m)}}_scheduleCheckClicks(){this._checkClickTimeout&&clearTimeout(this._checkClickTimeout),this._checkClickTimeout=Pr(()=>this._checkClicks(),1e3)}}const WM=["A","BUTTON","INPUT"];function PM(n,i){return!!(!WM.includes(n.tagName)||n.tagName==="INPUT"&&!["submit","button"].includes(n.getAttribute("type")||"")||n.tagName==="A"&&(n.hasAttribute("download")||n.hasAttribute("target")&&n.getAttribute("target")!=="_self")||i&&n.matches(i))}function tR(n){return!!(n.data&&typeof n.data.nodeId=="number"&&n.timestamp)}function Ag(){return Date.now()/1e3}function eR(n,i){try{if(!nR(i))return;const{source:l}=i.data;if(FM.has(l)&&n.registerMutation(i.timestamp),l===nt.Scroll&&n.registerScroll(i.timestamp),aR(i)){const{type:s,id:c}=i.data,f=bn.mirror.getNode(c);f instanceof HTMLElement&&s===de.Click&&n.registerClick(f)}}catch{}}function nR(n){return n.type===GM}function aR(n){return n.data.source===nt.MouseInteraction}function en(n){return{timestamp:Date.now()/1e3,type:"default",...n}}var xf=(n=>(n[n.Document=0]="Document",n[n.DocumentType=1]="DocumentType",n[n.Element=2]="Element",n[n.Text=3]="Text",n[n.CDATA=4]="CDATA",n[n.Comment=5]="Comment",n))(xf||{});const iR=new Set(["id","class","aria-label","role","name","alt","title","data-test-id","data-testid","disabled","aria-disabled","data-sentry-component"]);function rR(n){const i={};!n["data-sentry-component"]&&n["data-sentry-element"]&&(n["data-sentry-component"]=n["data-sentry-element"]);for(const l in n)if(iR.has(l)){let s=l;(l==="data-testid"||l==="data-test-id")&&(s="testId"),i[s]=n[l]}return i}const lR=n=>i=>{if(!n.isEnabled())return;const l=sR(i);if(!l)return;const s=i.name==="click",c=s?i.event:void 0;s&&n.clickDetector&&c?.target&&!c.altKey&&!c.metaKey&&!c.ctrlKey&&!c.shiftKey&&JM(n.clickDetector,l,av(i.event)),el(n,l)};function rv(n,i){const l=bn.mirror.getId(n),s=l&&bn.mirror.getNode(l),c=s&&bn.mirror.getMeta(s),f=c&&uR(c)?c:null;return{message:i,data:f?{nodeId:l,node:{id:l,tagName:f.tagName,textContent:Array.from(f.childNodes).map(h=>h.type===xf.Text&&h.textContent).filter(Boolean).map(h=>h.trim()).join(""),attributes:rR(f.attributes)}}:{}}}function sR(n){const{target:i,message:l}=oR(n);return en({category:`ui.${n.name}`,...rv(i,l)})}function oR(n){const i=n.name==="click";let l,s=null;try{s=i?av(n.event):iv(n.event),l=ff(s,{maxStringLength:200})||"<unknown>"}catch{l="<unknown>"}return{target:s,message:l}}function uR(n){return n.type===xf.Element}function cR(n,i){if(!n.isEnabled())return;n.updateUserActivity();const l=fR(i);l&&el(n,l)}function fR(n){const{metaKey:i,shiftKey:l,ctrlKey:s,altKey:c,key:f,target:h}=n;if(!h||dR(h)||!f)return null;const p=i||s||c,m=f.length===1;if(!p&&m)return null;const y=ff(h,{maxStringLength:200})||"<unknown>",E=rv(h,y);return en({category:"ui.keyDown",message:y,data:{...E.data,metaKey:i,shiftKey:l,ctrlKey:s,altKey:c,key:f}})}function dR(n){return n.tagName==="INPUT"||n.tagName==="TEXTAREA"||n.isContentEditable}const hR={resource:vR,paint:gR,navigation:yR};function bs(n,i){return({metric:l})=>void i.replayPerformanceEntries.push(n(l))}function mR(n){return n.map(pR).filter(Boolean)}function pR(n){const i=hR[n.entryType];return i?i(n):null}function wi(n){return(($g()||Ct.performance.timeOrigin)+n)/1e3}function gR(n){const{duration:i,entryType:l,name:s,startTime:c}=n,f=wi(c);return{type:l,name:s,start:f,end:f+i,data:void 0}}function yR(n){const{entryType:i,name:l,decodedBodySize:s,duration:c,domComplete:f,encodedBodySize:h,domContentLoadedEventStart:p,domContentLoadedEventEnd:m,domInteractive:y,loadEventStart:E,loadEventEnd:S,redirectCount:b,startTime:x,transferSize:A,type:z}=n;return c===0?null:{type:`${i}.${z}`,start:wi(x),end:wi(f),name:l,data:{size:A,decodedBodySize:s,encodedBodySize:h,duration:c,domInteractive:y,domContentLoadedEventStart:p,domContentLoadedEventEnd:m,loadEventStart:E,loadEventEnd:S,domComplete:f,redirectCount:b}}}function vR(n){const{entryType:i,initiatorType:l,name:s,responseEnd:c,startTime:f,decodedBodySize:h,encodedBodySize:p,responseStatus:m,transferSize:y}=n;return["fetch","xmlhttprequest"].includes(l)?null:{type:`${i}.${l}`,start:wi(f),end:wi(c),name:s,data:{size:y,statusCode:m,decodedBodySize:h,encodedBodySize:p}}}function SR(n){const i=n.entries[n.entries.length-1],l=i?.element?[i.element]:void 0;return eo(n,"largest-contentful-paint",l)}function _R(n){return n.sources!==void 0}function ER(n){const i=[],l=[];for(const s of n.entries)if(_R(s)){const c=[];for(const f of s.sources)if(f.node){l.push(f.node);const h=bn.mirror.getId(f.node);h&&c.push(h)}i.push({value:s.value,nodeIds:c.length?c:void 0})}return eo(n,"cumulative-layout-shift",l,i)}function bR(n){const i=n.entries[n.entries.length-1],l=i?.target?[i.target]:void 0;return eo(n,"first-input-delay",l)}function TR(n){const i=n.entries[n.entries.length-1],l=i?.target?[i.target]:void 0;return eo(n,"interaction-to-next-paint",l)}function eo(n,i,l,s){const c=n.value,f=n.rating,h=wi(c);return{type:"web-vital",name:i,start:h,end:h,data:{value:c,size:c,rating:f,nodeIds:l?l.map(p=>bn.mirror.getId(p)):void 0,attributions:s}}}function MR(n){function i(c){n.performanceEntries.includes(c)||n.performanceEntries.push(c)}function l({entries:c}){c.forEach(i)}const s=[];return["navigation","paint","resource"].forEach(c=>{s.push(r1(c,l))}),s.push(n1(bs(SR,n)),e1(bs(ER,n)),a1(bs(bR,n)),i1(bs(TR,n))),()=>{s.forEach(c=>c())}}const tt=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,RR='var t=Uint8Array,n=Uint16Array,r=Int32Array,e=new t([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),i=new t([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),s=new t([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=function(t,e){for(var i=new n(31),s=0;s<31;++s)i[s]=e+=1<<t[s-1];var a=new r(i[30]);for(s=1;s<30;++s)for(var o=i[s];o<i[s+1];++o)a[o]=o-i[s]<<5|s;return{b:i,r:a}},o=a(e,2),h=o.b,f=o.r;h[28]=258,f[258]=28;for(var l=a(i,0).r,u=new n(32768),c=0;c<32768;++c){var v=(43690&c)>>1|(21845&c)<<1;v=(61680&(v=(52428&v)>>2|(13107&v)<<2))>>4|(3855&v)<<4,u[c]=((65280&v)>>8|(255&v)<<8)>>1}var d=function(t,r,e){for(var i=t.length,s=0,a=new n(r);s<i;++s)t[s]&&++a[t[s]-1];var o,h=new n(r);for(s=1;s<r;++s)h[s]=h[s-1]+a[s-1]<<1;if(e){o=new n(1<<r);var f=15-r;for(s=0;s<i;++s)if(t[s])for(var l=s<<4|t[s],c=r-t[s],v=h[t[s]-1]++<<c,d=v|(1<<c)-1;v<=d;++v)o[u[v]>>f]=l}else for(o=new n(i),s=0;s<i;++s)t[s]&&(o[s]=u[h[t[s]-1]++]>>15-t[s]);return o},p=new t(288);for(c=0;c<144;++c)p[c]=8;for(c=144;c<256;++c)p[c]=9;for(c=256;c<280;++c)p[c]=7;for(c=280;c<288;++c)p[c]=8;var g=new t(32);for(c=0;c<32;++c)g[c]=5;var w=d(p,9,0),y=d(g,5,0),m=function(t){return(t+7)/8|0},b=function(n,r,e){return(null==e||e>n.length)&&(e=n.length),new t(n.subarray(r,e))},M=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=function(t,n,r){var e=new Error(n||M[t]);if(e.code=t,Error.captureStackTrace&&Error.captureStackTrace(e,E),!r)throw e;return e},z=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8},_=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8,t[e+2]|=r>>16},x=function(r,e){for(var i=[],s=0;s<r.length;++s)r[s]&&i.push({s:s,f:r[s]});var a=i.length,o=i.slice();if(!a)return{t:F,l:0};if(1==a){var h=new t(i[0].s+1);return h[i[0].s]=1,{t:h,l:1}}i.sort(function(t,n){return t.f-n.f}),i.push({s:-1,f:25001});var f=i[0],l=i[1],u=0,c=1,v=2;for(i[0]={s:-1,f:f.f+l.f,l:f,r:l};c!=a-1;)f=i[i[u].f<i[v].f?u++:v++],l=i[u!=c&&i[u].f<i[v].f?u++:v++],i[c++]={s:-1,f:f.f+l.f,l:f,r:l};var d=o[0].s;for(s=1;s<a;++s)o[s].s>d&&(d=o[s].s);var p=new n(d+1),g=A(i[c-1],p,0);if(g>e){s=0;var w=0,y=g-e,m=1<<y;for(o.sort(function(t,n){return p[n.s]-p[t.s]||t.f-n.f});s<a;++s){var b=o[s].s;if(!(p[b]>e))break;w+=m-(1<<g-p[b]),p[b]=e}for(w>>=y;w>0;){var M=o[s].s;p[M]<e?w-=1<<e-p[M]++-1:++s}for(;s>=0&&w;--s){var E=o[s].s;p[E]==e&&(--p[E],++w)}g=e}return{t:new t(p),l:g}},A=function(t,n,r){return-1==t.s?Math.max(A(t.l,n,r+1),A(t.r,n,r+1)):n[t.s]=r},D=function(t){for(var r=t.length;r&&!t[--r];);for(var e=new n(++r),i=0,s=t[0],a=1,o=function(t){e[i++]=t},h=1;h<=r;++h)if(t[h]==s&&h!=r)++a;else{if(!s&&a>2){for(;a>138;a-=138)o(32754);a>2&&(o(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(o(s),--a;a>6;a-=6)o(8304);a>2&&(o(a-3<<5|8208),a=0)}for(;a--;)o(s);a=1,s=t[h]}return{c:e.subarray(0,i),n:r}},T=function(t,n){for(var r=0,e=0;e<n.length;++e)r+=t[e]*n[e];return r},k=function(t,n,r){var e=r.length,i=m(n+2);t[i]=255&e,t[i+1]=e>>8,t[i+2]=255^t[i],t[i+3]=255^t[i+1];for(var s=0;s<e;++s)t[i+s+4]=r[s];return 8*(i+4+e)},U=function(t,r,a,o,h,f,l,u,c,v,m){z(r,m++,a),++h[256];for(var b=x(h,15),M=b.t,E=b.l,A=x(f,15),U=A.t,C=A.l,F=D(M),I=F.c,S=F.n,L=D(U),O=L.c,j=L.n,q=new n(19),B=0;B<I.length;++B)++q[31&I[B]];for(B=0;B<O.length;++B)++q[31&O[B]];for(var G=x(q,7),H=G.t,J=G.l,K=19;K>4&&!H[s[K-1]];--K);var N,P,Q,R,V=v+5<<3,W=T(h,p)+T(f,g)+l,X=T(h,M)+T(f,U)+l+14+3*K+T(q,H)+2*q[16]+3*q[17]+7*q[18];if(c>=0&&V<=W&&V<=X)return k(r,m,t.subarray(c,c+v));if(z(r,m,1+(X<W)),m+=2,X<W){N=d(M,E,0),P=M,Q=d(U,C,0),R=U;var Y=d(H,J,0);z(r,m,S-257),z(r,m+5,j-1),z(r,m+10,K-4),m+=14;for(B=0;B<K;++B)z(r,m+3*B,H[s[B]]);m+=3*K;for(var Z=[I,O],$=0;$<2;++$){var tt=Z[$];for(B=0;B<tt.length;++B){var nt=31&tt[B];z(r,m,Y[nt]),m+=H[nt],nt>15&&(z(r,m,tt[B]>>5&127),m+=tt[B]>>12)}}}else N=w,P=p,Q=y,R=g;for(B=0;B<u;++B){var rt=o[B];if(rt>255){_(r,m,N[(nt=rt>>18&31)+257]),m+=P[nt+257],nt>7&&(z(r,m,rt>>23&31),m+=e[nt]);var et=31&rt;_(r,m,Q[et]),m+=R[et],et>3&&(_(r,m,rt>>5&8191),m+=i[et])}else _(r,m,N[rt]),m+=P[rt]}return _(r,m,N[256]),m+P[256]},C=new r([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),F=new t(0),I=function(){for(var t=new Int32Array(256),n=0;n<256;++n){for(var r=n,e=9;--e;)r=(1&r&&-306674912)^r>>>1;t[n]=r}return t}(),S=function(){var t=1,n=0;return{p:function(r){for(var e=t,i=n,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a<o;++a)i+=e+=r[a];e=(65535&e)+15*(e>>16),i=(65535&i)+15*(i>>16)}t=e,n=i},d:function(){return(255&(t%=65521))<<24|(65280&t)<<8|(255&(n%=65521))<<8|n>>8}}},L=function(s,a,o,h,u){if(!u&&(u={l:1},a.dictionary)){var c=a.dictionary.subarray(-32768),v=new t(c.length+s.length);v.set(c),v.set(s,c.length),s=v,u.w=c.length}return function(s,a,o,h,u,c){var v=c.z||s.length,d=new t(h+v+5*(1+Math.ceil(v/7e3))+u),p=d.subarray(h,d.length-u),g=c.l,w=7&(c.r||0);if(a){w&&(p[0]=c.r>>3);for(var y=C[a-1],M=y>>13,E=8191&y,z=(1<<o)-1,_=c.p||new n(32768),x=c.h||new n(z+1),A=Math.ceil(o/3),D=2*A,T=function(t){return(s[t]^s[t+1]<<A^s[t+2]<<D)&z},F=new r(25e3),I=new n(288),S=new n(32),L=0,O=0,j=c.i||0,q=0,B=c.w||0,G=0;j+2<v;++j){var H=T(j),J=32767&j,K=x[H];if(_[J]=K,x[H]=J,B<=j){var N=v-j;if((L>7e3||q>24576)&&(N>423||!g)){w=U(s,p,0,F,I,S,O,q,G,j-G,w),q=L=O=0,G=j;for(var P=0;P<286;++P)I[P]=0;for(P=0;P<30;++P)S[P]=0}var Q=2,R=0,V=E,W=J-K&32767;if(N>2&&H==T(j-W))for(var X=Math.min(M,N)-1,Y=Math.min(32767,j),Z=Math.min(258,N);W<=Y&&--V&&J!=K;){if(s[j+Q]==s[j+Q-W]){for(var $=0;$<Z&&s[j+$]==s[j+$-W];++$);if($>Q){if(Q=$,R=W,$>X)break;var tt=Math.min(W,$-2),nt=0;for(P=0;P<tt;++P){var rt=j-W+P&32767,et=rt-_[rt]&32767;et>nt&&(nt=et,K=rt)}}}W+=(J=K)-(K=_[J])&32767}if(R){F[q++]=268435456|f[Q]<<18|l[R];var it=31&f[Q],st=31&l[R];O+=e[it]+i[st],++I[257+it],++S[st],B=j+Q,++L}else F[q++]=s[j],++I[s[j]]}}for(j=Math.max(j,B);j<v;++j)F[q++]=s[j],++I[s[j]];w=U(s,p,g,F,I,S,O,q,G,j-G,w),g||(c.r=7&w|p[w/8|0]<<3,w-=7,c.h=x,c.p=_,c.i=j,c.w=B)}else{for(j=c.w||0;j<v+g;j+=65535){var at=j+65535;at>=v&&(p[w/8|0]=g,at=v),w=k(p,w+1,s.subarray(j,at))}c.i=v}return b(d,0,h+m(w)+u)}(s,null==a.level?6:a.level,null==a.mem?u.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(s.length)))):20:12+a.mem,o,h,u)},O=function(t,n,r){for(;r;++n)t[n]=r,r>>>=8},j=function(){function n(n,r){if("function"==typeof n&&(r=n,n={}),this.ondata=r,this.o=n||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new t(98304),this.o.dictionary){var e=this.o.dictionary.subarray(-32768);this.b.set(e,32768-e.length),this.s.i=32768-e.length}}return n.prototype.p=function(t,n){this.ondata(L(t,this.o,0,0,this.s),n)},n.prototype.push=function(n,r){this.ondata||E(5),this.s.l&&E(4);var e=n.length+this.s.z;if(e>this.b.length){if(e>2*this.b.length-32768){var i=new t(-32768&e);i.set(this.b.subarray(0,this.s.z)),this.b=i}var s=this.b.length-this.s.z;this.b.set(n.subarray(0,s),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(n.subarray(s),32768),this.s.z=n.length-s+32768,this.s.i=32766,this.s.w=32768}else this.b.set(n,this.s.z),this.s.z+=n.length;this.s.l=1&r,(this.s.z>this.s.w+8191||r)&&(this.p(this.b,r||!1),this.s.w=this.s.i,this.s.i-=2)},n.prototype.flush=function(){this.ondata||E(5),this.s.l&&E(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},n}();function q(t,n){n||(n={});var r=function(){var t=-1;return{p:function(n){for(var r=t,e=0;e<n.length;++e)r=I[255&r^n[e]]^r>>>8;t=r},d:function(){return~t}}}(),e=t.length;r.p(t);var i,s=L(t,n,10+((i=n).filename?i.filename.length+1:0),8),a=s.length;return function(t,n){var r=n.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=n.level<2?4:9==n.level?2:0,t[9]=3,0!=n.mtime&&O(t,4,Math.floor(new Date(n.mtime||Date.now())/1e3)),r){t[3]=8;for(var e=0;e<=r.length;++e)t[e+10]=r.charCodeAt(e)}}(s,n),O(s,a-8,r.d()),O(s,a-4,e),s}var B=function(){function t(t,n){this.c=S(),this.v=1,j.call(this,t,n)}return t.prototype.push=function(t,n){this.c.p(t),j.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){var r=L(t,this.o,this.v&&(this.o.dictionary?6:2),n&&4,this.s);this.v&&(function(t,n){var r=n.level,e=0==r?0:r<6?1:9==r?3:2;if(t[0]=120,t[1]=e<<6|(n.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,n.dictionary){var i=S();i.p(n.dictionary),O(t,2,i.d())}}(r,this.o),this.v=0),n&&O(r,r.length-4,this.c.d()),this.ondata(r,n)},t.prototype.flush=function(){j.prototype.flush.call(this)},t}(),G="undefined"!=typeof TextEncoder&&new TextEncoder,H="undefined"!=typeof TextDecoder&&new TextDecoder;try{H.decode(F,{stream:!0})}catch(t){}var J=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,n){this.ondata||E(5),this.d&&E(4),this.ondata(K(t),this.d=n||!1)},t}();function K(n,r){if(G)return G.encode(n);for(var e=n.length,i=new t(n.length+(n.length>>1)),s=0,a=function(t){i[s++]=t},o=0;o<e;++o){if(s+5>i.length){var h=new t(s+8+(e-o<<1));h.set(i),i=h}var f=n.charCodeAt(o);f<128||r?a(f):f<2048?(a(192|f>>6),a(128|63&f)):f>55295&&f<57344?(a(240|(f=65536+(1047552&f)|1023&n.charCodeAt(++o))>>18),a(128|f>>12&63),a(128|f>>6&63),a(128|63&f)):(a(224|f>>12),a(128|f>>6&63),a(128|63&f))}return b(i,0,s)}const N=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error("Adding invalid event");const n=this._hasEvents?",":"";this.stream.push(n+t),this._hasEvents=!0}finish(){this.stream.push("]",!0);const t=function(t){let n=0;for(const r of t)n+=r.length;const r=new Uint8Array(n);for(let n=0,e=0,i=t.length;n<i;n++){const i=t[n];r.set(i,e),e+=i.length}return r}(this._deflatedData);return this._init(),t}_init(){this._hasEvents=!1,this._deflatedData=[],this.deflate=new B,this.deflate.ondata=(t,n)=>{this._deflatedData.push(t)},this.stream=new J((t,n)=>{this.deflate.push(t,n)}),this.stream.push("[")}},P={clear:()=>{N.clear()},addEvent:t=>N.addEvent(t),finish:()=>N.finish(),compress:t=>function(t){return q(K(t))}(t)};addEventListener("message",function(t){const n=t.data.method,r=t.data.id,e=t.data.arg;if(n in P&&"function"==typeof P[n])try{const t=P[n](e);postMessage({id:r,method:n,success:!0,response:t})}catch(t){postMessage({id:r,method:n,success:!1,response:t.message}),console.error(t)}}),postMessage({id:void 0,method:"init",success:!0,response:void 0});';function OR(){const n=new Blob([RR]);return URL.createObjectURL(n)}const wg=["log","warn","error"],As="[Replay] ";function xc(n,i="info"){ea({category:"console",data:{logger:"replay"},level:i,message:`${As}${n}`},{level:i})}function AR(){let n=!1,i=!1;const l={exception:()=>{},infoTick:()=>{},setConfig:s=>{n=!!s.captureExceptions,i=!!s.traceInternals}};return tt?(wg.forEach(s=>{l[s]=(...c)=>{Y[s](As,...c),i&&xc(c.join(""),uy(s))}}),l.exception=(s,...c)=>{c.length&&l.error&&l.error(...c),Y.error(As,s),n?Kg(s):i&&xc(s,"error")},l.infoTick=(...s)=>{Y.log(As,...s),i&&setTimeout(()=>xc(s[0]),0)}):wg.forEach(s=>{l[s]=()=>{}}),l}const et=AR();class Cf extends Error{constructor(){super(`Event buffer exceeded maximum size of ${Tf}.`)}}class lv{constructor(){this.events=[],this._totalSize=0,this.hasCheckout=!1,this.waitForCheckout=!1}get hasEvents(){return this.events.length>0}get type(){return"sync"}destroy(){this.events=[]}async addEvent(i){const l=JSON.stringify(i).length;if(this._totalSize+=l,this._totalSize>Tf)throw new Cf;this.events.push(i)}finish(){return new Promise(i=>{const l=this.events;this.clear(),i(JSON.stringify(l))})}clear(){this.events=[],this._totalSize=0,this.hasCheckout=!1}getEarliestTimestamp(){const i=this.events.map(l=>l.timestamp).sort()[0];return i?Df(i):null}}class wR{constructor(i){this._worker=i,this._id=0}ensureReady(){return this._ensureReadyPromise?this._ensureReadyPromise:(this._ensureReadyPromise=new Promise((i,l)=>{this._worker.addEventListener("message",({data:s})=>{s.success?i():l()},{once:!0}),this._worker.addEventListener("error",s=>{l(s)},{once:!0})}),this._ensureReadyPromise)}destroy(){tt&&et.log("Destroying compression worker"),this._worker.terminate()}postMessage(i,l){const s=this._getAndIncrementId();return new Promise((c,f)=>{const h=({data:p})=>{const m=p;if(m.method===i&&m.id===s){if(this._worker.removeEventListener("message",h),!m.success){tt&&et.error("Error in compression worker: ",m.response),f(new Error("Error in compression worker"));return}c(m.response)}};this._worker.addEventListener("message",h),this._worker.postMessage({id:s,method:i,arg:l})})}_getAndIncrementId(){return this._id++}}class DR{constructor(i){this._worker=new wR(i),this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this.waitForCheckout=!1}get hasEvents(){return!!this._earliestTimestamp}get type(){return"worker"}ensureReady(){return this._worker.ensureReady()}destroy(){this._worker.destroy()}addEvent(i){const l=Df(i.timestamp);(!this._earliestTimestamp||l<this._earliestTimestamp)&&(this._earliestTimestamp=l);const s=JSON.stringify(i);return this._totalSize+=s.length,this._totalSize>Tf?Promise.reject(new Cf):this._sendEventToWorker(s)}finish(){return this._finishRequest()}clear(){this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this._worker.postMessage("clear").then(null,i=>{tt&&et.exception(i,'Sending "clear" message to worker failed',i)})}getEarliestTimestamp(){return this._earliestTimestamp}_sendEventToWorker(i){return this._worker.postMessage("addEvent",i)}async _finishRequest(){const i=await this._worker.postMessage("finish");return this._earliestTimestamp=null,this._totalSize=0,i}}class xR{constructor(i){this._fallback=new lv,this._compression=new DR(i),this._used=this._fallback,this._ensureWorkerIsLoadedPromise=this._ensureWorkerIsLoaded()}get waitForCheckout(){return this._used.waitForCheckout}get type(){return this._used.type}get hasEvents(){return this._used.hasEvents}get hasCheckout(){return this._used.hasCheckout}set hasCheckout(i){this._used.hasCheckout=i}set waitForCheckout(i){this._used.waitForCheckout=i}destroy(){this._fallback.destroy(),this._compression.destroy()}clear(){return this._used.clear()}getEarliestTimestamp(){return this._used.getEarliestTimestamp()}addEvent(i){return this._used.addEvent(i)}async finish(){return await this.ensureWorkerIsLoaded(),this._used.finish()}ensureWorkerIsLoaded(){return this._ensureWorkerIsLoadedPromise}async _ensureWorkerIsLoaded(){try{await this._compression.ensureReady()}catch(i){tt&&et.exception(i,"Failed to load the compression worker, falling back to simple buffer");return}await this._switchToCompressionWorker()}async _switchToCompressionWorker(){const{events:i,hasCheckout:l,waitForCheckout:s}=this._fallback,c=[];for(const f of i)c.push(this._compression.addEvent(f));this._compression.hasCheckout=l,this._compression.waitForCheckout=s,this._used=this._compression;try{await Promise.all(c),this._fallback.clear()}catch(f){tt&&et.exception(f,"Failed to add events when switching buffers.")}}}function CR({useCompression:n,workerUrl:i}){if(n&&window.Worker){const l=NR(i);if(l)return l}return tt&&et.log("Using simple buffer"),new lv}function NR(n){try{const i=n||kR();if(!i)return;tt&&et.log(`Using compression worker${n?` from ${n}`:""}`);const l=new Worker(i);return new xR(l)}catch(i){tt&&et.exception(i,"Failed to create compression worker")}}function kR(){return typeof __SENTRY_EXCLUDE_REPLAY_WORKER__>"u"||!__SENTRY_EXCLUDE_REPLAY_WORKER__?OR():""}function Nf(){try{return"sessionStorage"in Ct&&!!Ct.sessionStorage}catch{return!1}}function zR(n){UR(),n.session=void 0}function UR(){if(Nf())try{Ct.sessionStorage.removeItem(Ef)}catch{}}function sv(n){return n===void 0?!1:Math.random()<n}function kf(n){if(Nf())try{Ct.sessionStorage.setItem(Ef,JSON.stringify(n))}catch{}}function ov(n){const i=Date.now(),l=n.id||Ra(),s=n.started||i,c=n.lastActivity||i,f=n.segmentId||0,h=n.sampled,p=n.previousSessionId;return{id:l,started:s,lastActivity:c,segmentId:f,sampled:h,previousSessionId:p}}function LR(n,i){return sv(n)?"session":i?"buffer":!1}function Dg({sessionSampleRate:n,allowBuffering:i,stickySession:l=!1},{previousSessionId:s}={}){const c=LR(n,i),f=ov({sampled:c,previousSessionId:s});return l&&kf(f),f}function BR(){if(!Nf())return null;try{const n=Ct.sessionStorage.getItem(Ef);if(!n)return null;const i=JSON.parse(n);return tt&&et.infoTick("Loading existing session"),ov(i)}catch{return null}}function ef(n,i,l=+new Date){return n===null||i===void 0||i<0?!0:i===0?!1:n+i<=l}function uv(n,{maxReplayDuration:i,sessionIdleExpire:l,targetTime:s=Date.now()}){return ef(n.started,i,s)||ef(n.lastActivity,l,s)}function cv(n,{sessionIdleExpire:i,maxReplayDuration:l}){return!(!uv(n,{sessionIdleExpire:i,maxReplayDuration:l})||n.sampled==="buffer"&&n.segmentId===0)}function Cc({sessionIdleExpire:n,maxReplayDuration:i,previousSessionId:l},s){const c=s.stickySession&&BR();return c?cv(c,{sessionIdleExpire:n,maxReplayDuration:i})?(tt&&et.infoTick("Session in sessionStorage is expired, creating new one..."),Dg(s,{previousSessionId:c.id})):c:(tt&&et.infoTick("Creating new session"),Dg(s,{previousSessionId:l}))}function HR(n){return n.type===rt.Custom}function zf(n,i,l){return dv(n,i)?(fv(n,i,l),!0):!1}function IR(n,i,l){return dv(n,i)?fv(n,i,l):Promise.resolve(null)}async function fv(n,i,l){const{eventBuffer:s}=n;if(!s||s.waitForCheckout&&!l)return null;const c=n.recordingMode==="buffer";try{l&&c&&s.clear(),l&&(s.hasCheckout=!0,s.waitForCheckout=!1);const f=n.getOptions(),h=qR(i,f.beforeAddRecordingEvent);return h?await s.addEvent(h):void 0}catch(f){const h=f&&f instanceof Cf,p=h?"addEventSizeExceeded":"addEvent";if(h&&c)return s.clear(),s.waitForCheckout=!0,null;n.handleException(f),await n.stop({reason:p});const m=Qt();m&&m.recordDroppedEvent("internal_sdk_error","replay")}}function dv(n,i){if(!n.eventBuffer||n.isPaused()||!n.isEnabled())return!1;const l=Df(i.timestamp);return l+n.timeouts.sessionIdlePause<Date.now()?!1:l>n.getContext().initialTimestamp+n.getOptions().maxReplayDuration?(tt&&et.infoTick(`Skipping event with timestamp ${l} because it is after maxReplayDuration`),!1):!0}function qR(n,i){try{if(typeof i=="function"&&HR(n))return i(n)}catch(l){return tt&&et.exception(l,"An error occurred in the `beforeAddRecordingEvent` callback, skipping the event..."),null}return n}function Uf(n){return!n.type}function nf(n){return n.type==="transaction"}function YR(n){return n.type==="replay_event"}function xg(n){return n.type==="feedback"}function jR(n){return(i,l)=>{if(!n.isEnabled()||!Uf(i)&&!nf(i))return;const s=l?.statusCode;if(!(!s||s<200||s>=300)){if(nf(i)){GR(n,i);return}XR(n,i)}}}function GR(n,i){const l=n.getContext();i.contexts?.trace?.trace_id&&l.traceIds.size<100&&l.traceIds.add(i.contexts.trace.trace_id)}function XR(n,i){const l=n.getContext();if(i.event_id&&l.errorIds.size<100&&l.errorIds.add(i.event_id),n.recordingMode!=="buffer"||!i.tags||!i.tags.replayId)return;const{beforeErrorSampling:s}=n.getOptions();typeof s=="function"&&!s(i)||Pr(async()=>{try{await n.sendBufferedReplayOrFlush()}catch(c){n.handleException(c)}})}function VR(n){return i=>{!n.isEnabled()||!Uf(i)||QR(n,i)}}function QR(n,i){const l=i.exception?.values?.[0]?.value;if(typeof l=="string"&&(l.match(/(reactjs\.org\/docs\/error-decoder\.html\?invariant=|react\.dev\/errors\/)(418|419|422|423|425)/)||l.match(/(does not match server-rendered HTML|Hydration failed because)/i))){const s=en({category:"replay.hydrate-error",data:{url:Zs()}});el(n,s)}}function ZR(n){const i=Qt();i&&i.on("beforeAddBreadcrumb",l=>KR(n,l))}function KR(n,i){if(!n.isEnabled()||!hv(i))return;const l=FR(i);l&&el(n,l)}function FR(n){return!hv(n)||["fetch","xhr","sentry.event","sentry.transaction"].includes(n.category)||n.category.startsWith("ui.")?null:n.category==="console"?JR(n):en(n)}function JR(n){const i=n.data?.arguments;if(!Array.isArray(i)||i.length===0)return en(n);let l=!1;const s=i.map(c=>{if(!c)return c;if(typeof c=="string")return c.length>vs?(l=!0,`${c.slice(0,vs)}…`):c;if(typeof c=="object")try{const f=lf(c,7);return JSON.stringify(f).length>vs?(l=!0,`${JSON.stringify(f,null,2).slice(0,vs)}…`):f}catch{}return c});return en({...n,data:{...n.data,arguments:s,...l?{_meta:{warnings:["CONSOLE_ARG_TRUNCATED"]}}:{}}})}function hv(n){return!!n.category}function $R(n,i){return n.type||!n.exception?.values?.length?!1:!!i.originalException?.__rrweb__}function mv(){const n=Di().getPropagationContext().dsc;n&&delete n.replay_id;const i=df();if(i){const l=C_(i);delete l.replay_id}}function WR(n,i){n.triggerUserActivity(),n.addUpdate(()=>i.timestamp?(n.throttledAddEvent({type:rt.Custom,timestamp:i.timestamp*1e3,data:{tag:"breadcrumb",payload:{timestamp:i.timestamp,type:"default",category:"sentry.feedback",data:{feedbackId:i.event_id}}}}),!1):!0)}function PR(n,i){return n.recordingMode!=="buffer"||i.message===bf||!i.exception||i.type?!1:sv(n.getOptions().errorSampleRate)}function tO(n){return Object.assign((i,l)=>!n.isEnabled()||n.isPaused()?i:YR(i)?(delete i.breadcrumbs,i):!Uf(i)&&!nf(i)&&!xg(i)?i:n.checkAndHandleExpiredSession()?xg(i)?(n.flush(),i.contexts.feedback.replay_id=n.getSessionId(),WR(n,i),i):$R(i,l)&&!n.getOptions()._experiments.captureExceptions?(tt&&et.log("Ignoring error from rrweb internals",i),null):((PR(n,i)||n.recordingMode==="session")&&(i.tags={...i.tags,replayId:n.getSessionId()}),i):(mv(),i),{id:"Replay"})}function no(n,i){return i.map(({type:l,start:s,end:c,name:f,data:h})=>{const p=n.throttledAddEvent({type:rt.Custom,timestamp:s,data:{tag:"performanceSpan",payload:{op:l,description:f,startTimestamp:s,endTimestamp:c,data:h}}});return typeof p=="string"?Promise.resolve(null):p})}function eO(n){const{from:i,to:l}=n,s=Date.now()/1e3;return{type:"navigation.push",start:s,end:s,name:l,data:{previous:i}}}function nO(n){return i=>{if(!n.isEnabled())return;const l=eO(i);l!==null&&(n.getContext().urls.push(l.name),n.triggerUserActivity(),n.addUpdate(()=>(no(n,[l]),!1)))}}function aO(n,i){return tt&&n.getOptions()._experiments.traceInternals?!1:NE(i,Qt())}function pv(n,i){n.isEnabled()&&i!==null&&(aO(n,i.name)||n.addUpdate(()=>(no(n,[i]),!0)))}function ao(n){if(!n)return;const i=new TextEncoder;try{if(typeof n=="string")return i.encode(n).length;if(n instanceof URLSearchParams)return i.encode(n.toString()).length;if(n instanceof FormData){const l=wy(n);return i.encode(l).length}if(n instanceof Blob)return n.size;if(n instanceof ArrayBuffer)return n.byteLength}catch{}}function gv(n){if(!n)return;const i=parseInt(n,10);return isNaN(i)?void 0:i}function Gs(n,i){if(!n)return{headers:{},size:void 0,_meta:{warnings:[i]}};const l={...n._meta},s=l.warnings||[];return l.warnings=[...s,i],n._meta=l,n}function yv(n,i){if(!i)return null;const{startTimestamp:l,endTimestamp:s,url:c,method:f,statusCode:h,request:p,response:m}=i;return{type:n,start:l/1e3,end:s/1e3,name:c,data:{method:f,statusCode:h,request:p,response:m}}}function Zr(n){return{headers:{},size:n,_meta:{warnings:["URL_SKIPPED"]}}}function Pn(n,i,l){if(!i&&Object.keys(n).length===0)return;if(!i)return{headers:n};if(!l)return{headers:n,size:i};const s={headers:n,size:i},{body:c,warnings:f}=iO(l);return s.body=c,f?.length&&(s._meta={warnings:f}),s}function af(n,i){return Object.entries(n).reduce((l,[s,c])=>{const f=s.toLowerCase();return i.includes(f)&&n[s]&&(l[f]=c),l},{})}function iO(n){if(!n||typeof n!="string")return{body:n};const i=n.length>cg,l=rO(n);if(i){const s=n.slice(0,cg);return l?{body:s,warnings:["MAYBE_JSON_TRUNCATED"]}:{body:`${s}…`,warnings:["TEXT_TRUNCATED"]}}if(l)try{return{body:JSON.parse(n)}}catch{}return{body:n}}function rO(n){const i=n[0],l=n[n.length-1];return i==="["&&l==="]"||i==="{"&&l==="}"}function Xs(n,i){const l=lO(n);return Fr(l,i)}function lO(n,i=Ct.document.baseURI){if(n.startsWith("http://")||n.startsWith("https://")||n.startsWith(Ct.location.origin))return n;const l=new URL(n,i);if(l.origin!==new URL(i).origin)return n;const s=l.href;return!n.endsWith("/")&&s.endsWith("/")?s.slice(0,-1):s}async function sO(n,i,l){try{const s=await uO(n,i,l),c=yv("resource.fetch",s);pv(l.replay,c)}catch(s){tt&&et.exception(s,"Failed to capture fetch breadcrumb")}}function oO(n,i){const{input:l,response:s}=i,c=l?xy(l):void 0,f=ao(c),h=s?gv(s.headers.get("content-length")):void 0;f!==void 0&&(n.data.request_body_size=f),h!==void 0&&(n.data.response_body_size=h)}async function uO(n,i,l){const s=Date.now(),{startTimestamp:c=s,endTimestamp:f=s}=i,{url:h,method:p,status_code:m=0,request_body_size:y,response_body_size:E}=n.data,S=Xs(h,l.networkDetailAllowUrls)&&!Xs(h,l.networkDetailDenyUrls),b=S?cO(l,i.input,y):Zr(y),x=await fO(S,l,i.response,E);return{startTimestamp:c,endTimestamp:f,url:h,method:p,statusCode:m,request:b,response:x}}function cO({networkCaptureBodies:n,networkRequestHeaders:i},l,s){const c=l?mO(l,i):{};if(!n)return Pn(c,s,void 0);const f=xy(l),[h,p]=Dy(f,et),m=Pn(c,s,h);return p?Gs(m,p):m}async function fO(n,{networkCaptureBodies:i,networkResponseHeaders:l},s,c){if(!n&&c!==void 0)return Zr(c);const f=s?vv(s.headers,l):{};if(!s||!i&&c!==void 0)return Pn(f,c,void 0);const[h,p]=await hO(s),m=dO(h,{networkCaptureBodies:i,responseBodySize:c,captureDetails:n,headers:f});return p?Gs(m,p):m}function dO(n,{networkCaptureBodies:i,responseBodySize:l,captureDetails:s,headers:c}){try{const f=n?.length&&l===void 0?ao(n):l;return s?i?Pn(c,f,n):Pn(c,f,void 0):Zr(f)}catch(f){return tt&&et.exception(f,"Failed to serialize response body"),Pn(c,l,void 0)}}async function hO(n){const i=pO(n);if(!i)return[void 0,"BODY_PARSE_ERROR"];try{return[await gO(i)]}catch(l){return l instanceof Error&&l.message.indexOf("Timeout")>-1?(tt&&et.warn("Parsing text body from response timed out"),[void 0,"BODY_PARSE_TIMEOUT"]):(tt&&et.exception(l,"Failed to get text body from response"),[void 0,"BODY_PARSE_ERROR"])}}function vv(n,i){const l={};return i.forEach(s=>{n.get(s)&&(l[s]=n.get(s))}),l}function mO(n,i){return n.length===1&&typeof n[0]!="string"?Cg(n[0],i):n.length===2?Cg(n[1],i):{}}function Cg(n,i){if(!n)return{};const l=n.headers;return l?l instanceof Headers?vv(l,i):Array.isArray(l)?{}:af(l,i):{}}function pO(n){try{return n.clone()}catch(i){tt&&et.exception(i,"Failed to clone response body")}}function gO(n){return new Promise((i,l)=>{const s=Pr(()=>l(new Error("Timeout while trying to read response body")),500);yO(n).then(c=>i(c),c=>l(c)).finally(()=>clearTimeout(s))})}async function yO(n){return await n.text()}async function vO(n,i,l){try{const s=_O(n,i,l),c=yv("resource.xhr",s);pv(l.replay,c)}catch(s){tt&&et.exception(s,"Failed to capture xhr breadcrumb")}}function SO(n,i){const{xhr:l,input:s}=i;if(!l)return;const c=ao(s),f=l.getResponseHeader("content-length")?gv(l.getResponseHeader("content-length")):MO(l.response,l.responseType);c!==void 0&&(n.data.request_body_size=c),f!==void 0&&(n.data.response_body_size=f)}function _O(n,i,l){const s=Date.now(),{startTimestamp:c=s,endTimestamp:f=s,input:h,xhr:p}=i,{url:m,method:y,status_code:E=0,request_body_size:S,response_body_size:b}=n.data;if(!m)return null;if(!p||!Xs(m,l.networkDetailAllowUrls)||Xs(m,l.networkDetailDenyUrls)){const j=Zr(S),W=Zr(b);return{startTimestamp:c,endTimestamp:f,url:m,method:y,statusCode:E,request:j,response:W}}const x=p[Si],A=x?af(x.request_headers,l.networkRequestHeaders):{},z=af(EO(p),l.networkResponseHeaders),[I,U]=l.networkCaptureBodies?Dy(h,et):[void 0],[X,at]=l.networkCaptureBodies?bO(p):[void 0],$=Pn(A,S,I),Q=Pn(z,b,X);return{startTimestamp:c,endTimestamp:f,url:m,method:y,statusCode:E,request:U?Gs($,U):$,response:at?Gs(Q,at):Q}}function EO(n){const i=n.getAllResponseHeaders();return i?i.split(`\r
|
|
48
48
|
`).reduce((l,s)=>{const[c,f]=s.split(": ");return f&&(l[c.toLowerCase()]=f),l},{}):{}}function bO(n){const i=[];try{return[n.responseText]}catch(l){i.push(l)}try{return TO(n.response,n.responseType)}catch(l){i.push(l)}return tt&&et.warn("Failed to get xhr response body",...i),[void 0]}function TO(n,i){try{if(typeof n=="string")return[n];if(n instanceof Document)return[n.body.outerHTML];if(i==="json"&&n&&typeof n=="object")return[JSON.stringify(n)];if(!n)return[void 0]}catch(l){return tt&&et.exception(l,"Failed to serialize body",n),[void 0,"BODY_PARSE_ERROR"]}return tt&&et.log("Skipping network body because of body type",n),[void 0,"UNPARSEABLE_BODY_TYPE"]}function MO(n,i){try{const l=i==="json"&&n&&typeof n=="object"?JSON.stringify(n):n;return ao(l)}catch{return}}function RO(n){const i=Qt();try{const{networkDetailAllowUrls:l,networkDetailDenyUrls:s,networkCaptureBodies:c,networkRequestHeaders:f,networkResponseHeaders:h}=n.getOptions(),p={replay:n,networkDetailAllowUrls:l,networkDetailDenyUrls:s,networkCaptureBodies:c,networkRequestHeaders:f,networkResponseHeaders:h};i&&i.on("beforeAddBreadcrumb",(m,y)=>OO(p,m,y))}catch{}}function OO(n,i,l){if(i.data)try{AO(i)&&DO(l)&&(SO(i,l),vO(i,l,n)),wO(i)&&xO(l)&&(oO(i,l),sO(i,l,n))}catch(s){tt&&et.exception(s,"Error when enriching network breadcrumb")}}function AO(n){return n.category==="xhr"}function wO(n){return n.category==="fetch"}function DO(n){return n?.xhr}function xO(n){return n?.response}function CO(n,{autoFlushOnFeedback:i}){const l=Qt();Oy(lR(n)),_f(nO(n)),ZR(n),RO(n);const s=tO(n);N_(s),l&&(l.on("beforeSendEvent",VR(n)),l.on("afterSendEvent",jR(n)),l.on("createDsc",c=>{const f=n.getSessionId();f&&n.isEnabled()&&n.recordingMode==="session"&&n.checkAndHandleExpiredSession()&&(c.replay_id=f)}),l.on("spanStart",c=>{n.lastActiveSpan=c}),l.on("spanEnd",c=>{n.lastActiveSpan=c}),l.on("beforeSendFeedback",async(c,f)=>{const h=n.getSessionId();f?.includeReplay&&n.isEnabled()&&h&&c.contexts?.feedback&&(c.contexts.feedback.source==="api"&&i&&await n.flush(),c.contexts.feedback.replay_id=h)}),i&&l.on("openFeedbackWidget",async()=>{await n.flush()}))}async function NO(n){try{return Promise.all(no(n,[kO(Ct.performance.memory)]))}catch{return[]}}function kO(n){const{jsHeapSizeLimit:i,totalJSHeapSize:l,usedJSHeapSize:s}=n,c=Date.now()/1e3;return{type:"memory",name:"memory",start:c,end:c,data:{memory:{jsHeapSizeLimit:i,totalJSHeapSize:l,usedJSHeapSize:s}}}}function zO(n,i,l){return BE(n,i,{...l,setTimeoutImpl:Pr})}const Ts=$t.navigator;function UO(){return/iPhone|iPad|iPod/i.test(Ts?.userAgent??"")||/Macintosh/i.test(Ts?.userAgent??"")&&Ts?.maxTouchPoints&&Ts?.maxTouchPoints>1?{sampling:{mousemove:!1}}:{}}function LO(n){let i=!1;return(l,s)=>{if(!n.checkAndHandleExpiredSession()){tt&&et.warn("Received replay event after session expired.");return}const c=s||!i;i=!0,n.clickDetector&&eR(n.clickDetector,l),n.addUpdate(()=>{if(n.recordingMode==="buffer"&&c&&n.setInitialState(),!zf(n,l,c))return!0;if(!c)return!1;const f=n.session;if(HO(n,c),n.recordingMode==="buffer"&&f&&n.eventBuffer){const h=n.eventBuffer.getEarliestTimestamp();h&&(tt&&et.log(`Updating session start time to earliest event in buffer to ${new Date(h)}`),f.started=h,n.getOptions().stickySession&&kf(f))}return f?.previousSessionId||n.recordingMode==="session"&&n.flush(),!0})}}function BO(n){const i=n.getOptions();return{type:rt.Custom,timestamp:Date.now(),data:{tag:"options",payload:{shouldRecordCanvas:n.isRecordingCanvas(),sessionSampleRate:i.sessionSampleRate,errorSampleRate:i.errorSampleRate,useCompressionOption:i.useCompression,blockAllMedia:i.blockAllMedia,maskAllText:i.maskAllText,maskAllInputs:i.maskAllInputs,useCompression:n.eventBuffer?n.eventBuffer.type==="worker":!1,networkDetailHasUrls:i.networkDetailAllowUrls.length>0,networkCaptureBodies:i.networkCaptureBodies,networkRequestHasHeaders:i.networkRequestHeaders.length>0,networkResponseHasHeaders:i.networkResponseHeaders.length>0}}}}function HO(n,i){!i||!n.session||n.session.segmentId!==0||zf(n,BO(n),!1)}function IO(n){if(!n)return null;try{return n.nodeType===n.ELEMENT_NODE?n:n.parentElement}catch{return null}}function qO(n,i,l,s){return xi(Wg(n,hf(n),s,l),[[{type:"replay_event"},n],[{type:"replay_recording",length:typeof i=="string"?new TextEncoder().encode(i).length:i.length},i]])}function YO({recordingData:n,headers:i}){let l;const s=`${JSON.stringify(i)}
|
|
49
49
|
`;if(typeof n=="string")l=`${s}${n}`;else{const f=new TextEncoder().encode(s);l=new Uint8Array(f.length+n.length),l.set(f),l.set(n,f.length)}return l}async function jO({client:n,scope:i,replayId:l,event:s}){const c=typeof n._integrations=="object"&&n._integrations!==null&&!Array.isArray(n._integrations)?Object.keys(n._integrations):void 0,f={event_id:l,integrations:c};n.emit("preprocessEvent",s,f);const h=await Vg(n.getOptions(),s,f,i,n,of());if(!h)return null;n.emit("postprocessEvent",h,f),h.platform=h.platform||"javascript";const p=n.getSdkMetadata(),{name:m,version:y}=p?.sdk||{};return h.sdk={...h.sdk,name:m||"sentry.javascript.unknown",version:y||"0.0.0"},h}async function GO({recordingData:n,replayId:i,segmentId:l,eventContext:s,timestamp:c,session:f}){const h=YO({recordingData:n,headers:{segment_id:l}}),{urls:p,errorIds:m,traceIds:y,initialTimestamp:E}=s,S=Qt(),b=Di(),x=S?.getTransport(),A=S?.getDsn();if(!S||!x||!A||!f.sampled)return Tn({});const z={type:ST,replay_start_timestamp:E/1e3,timestamp:c/1e3,error_ids:m,trace_ids:y,urls:p,replay_id:i,segment_id:l,replay_type:f.sampled},I=await jO({scope:b,client:S,replayId:i,event:z});if(!I)return S.recordDroppedEvent("event_processor","replay"),tt&&et.log("An event processor returned `null`, will not send event."),Tn({});delete I.sdkProcessingMetadata;const U=qO(I,h,A,S.getOptions().tunnel);let X;try{X=await x.send(U)}catch($){const Q=new Error(bf);try{Q.cause=$}catch{}throw Q}if(typeof X.statusCode=="number"&&(X.statusCode<200||X.statusCode>=300))throw new Sv(X.statusCode);const at=sy({},X);if(ly(at,"replay"))throw new Lf(at);return X}class Sv extends Error{constructor(i){super(`Transport returned status code ${i}`)}}class Lf extends Error{constructor(i){super("Rate limit hit"),this.rateLimits=i}}async function _v(n,i={count:0,interval:RT}){const{recordingData:l,onError:s}=n;if(l.length)try{return await GO(n),!0}catch(c){if(c instanceof Sv||c instanceof Lf)throw c;if(k_("Replays",{_retryCount:i.count}),s&&s(c),i.count>=OT){const f=new Error(`${bf} - max retries exceeded`);try{f.cause=c}catch{}throw f}return i.interval*=++i.count,new Promise((f,h)=>{Pr(async()=>{try{await _v(n,i),f(!0)}catch(p){h(p)}},i.interval)})}}const Ev="__THROTTLED",XO="__SKIPPED";function VO(n,i,l){const s=new Map,c=p=>{const m=p-l;s.forEach((y,E)=>{E<m&&s.delete(E)})},f=()=>[...s.values()].reduce((p,m)=>p+m,0);let h=!1;return(...p)=>{const m=Math.floor(Date.now()/1e3);if(c(m),f()>=i){const E=h;return h=!0,E?XO:Ev}h=!1;const y=s.get(m)||0;return s.set(m,y+1),n(...p)}}class QO{constructor({options:i,recordingOptions:l}){this.eventBuffer=null,this.performanceEntries=[],this.replayPerformanceEntries=[],this.recordingMode="session",this.timeouts={sessionIdlePause:_T,sessionIdleExpire:ET},this._lastActivity=Date.now(),this._isEnabled=!1,this._isPaused=!1,this._requiresManualStart=!1,this._hasInitializedCoreListeners=!1,this._context={errorIds:new Set,traceIds:new Set,urls:[],initialTimestamp:Date.now(),initialUrl:""},this._recordingOptions=l,this._options=i,this._debouncedFlush=zO(()=>this._flush(),this._options.flushMinDelay,{maxWait:this._options.flushMaxDelay}),this._throttledAddEvent=VO((h,p)=>IR(this,h,p),300,5);const{slowClickTimeout:s,slowClickIgnoreSelectors:c}=this.getOptions(),f=s?{threshold:Math.min(AT,s),timeout:s,scrollTimeout:wT,ignoreSelector:c?c.join(","):""}:void 0;if(f&&(this.clickDetector=new $M(this,f)),tt){const h=i._experiments;et.setConfig({captureExceptions:!!h.captureExceptions,traceInternals:!!h.traceInternals})}this._handleVisibilityChange=()=>{Ct.document.visibilityState==="visible"?this._doChangeToForegroundTasks():this._doChangeToBackgroundTasks()},this._handleWindowBlur=()=>{const h=en({category:"ui.blur"});this._doChangeToBackgroundTasks(h)},this._handleWindowFocus=()=>{const h=en({category:"ui.focus"});this._doChangeToForegroundTasks(h)},this._handleKeyboardEvent=h=>{cR(this,h)}}getContext(){return this._context}isEnabled(){return this._isEnabled}isPaused(){return this._isPaused}isRecordingCanvas(){return!!this._canvas}getOptions(){return this._options}handleException(i){tt&&et.exception(i),this._options.onError&&this._options.onError(i)}initializeSampling(i){const{errorSampleRate:l,sessionSampleRate:s}=this._options,c=l<=0&&s<=0;if(this._requiresManualStart=c,!c){if(this._initializeSessionForSampling(i),!this.session){tt&&et.exception(new Error("Unable to initialize and create session"));return}this.session.sampled!==!1&&(this.recordingMode=this.session.sampled==="buffer"&&this.session.segmentId===0?"buffer":"session",tt&&et.infoTick(`Starting replay in ${this.recordingMode} mode`),this._initializeRecording())}}start(){if(this._isEnabled&&this.recordingMode==="session"){tt&&et.log("Recording is already in progress");return}if(this._isEnabled&&this.recordingMode==="buffer"){tt&&et.log("Buffering is in progress, call `flush()` to save the replay");return}tt&&et.infoTick("Starting replay in session mode"),this._updateUserActivity();const i=Cc({maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire},{stickySession:this._options.stickySession,sessionSampleRate:1,allowBuffering:!1});this.session=i,this._initializeRecording()}startBuffering(){if(this._isEnabled){tt&&et.log("Buffering is in progress, call `flush()` to save the replay");return}tt&&et.infoTick("Starting replay in buffer mode");const i=Cc({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration},{stickySession:this._options.stickySession,sessionSampleRate:0,allowBuffering:!0});this.session=i,this.recordingMode="buffer",this._initializeRecording()}startRecording(){try{const i=this._canvas;this._stopRecording=bn({...this._recordingOptions,...this.recordingMode==="buffer"?{checkoutEveryNms:MT}:this._options._experiments.continuousCheckout&&{checkoutEveryNms:Math.max(36e4,this._options._experiments.continuousCheckout)},emit:LO(this),...UO(),onMutation:this._onMutationHandler.bind(this),...i?{recordCanvas:i.recordCanvas,getCanvasManager:i.getCanvasManager,sampling:i.sampling,dataURLOptions:i.dataURLOptions}:{}})}catch(i){this.handleException(i)}}stopRecording(){try{return this._stopRecording&&(this._stopRecording(),this._stopRecording=void 0),!0}catch(i){return this.handleException(i),!1}}async stop({forceFlush:i=!1,reason:l}={}){if(this._isEnabled){this._isEnabled=!1;try{tt&&et.log(`Stopping Replay${l?` triggered by ${l}`:""}`),mv(),this._removeListeners(),this.stopRecording(),this._debouncedFlush.cancel(),i&&await this._flush({force:!0}),this.eventBuffer?.destroy(),this.eventBuffer=null,zR(this)}catch(s){this.handleException(s)}}}pause(){this._isPaused||(this._isPaused=!0,this.stopRecording(),tt&&et.log("Pausing replay"))}resume(){!this._isPaused||!this._checkSession()||(this._isPaused=!1,this.startRecording(),tt&&et.log("Resuming replay"))}async sendBufferedReplayOrFlush({continueRecording:i=!0}={}){if(this.recordingMode==="session")return this.flushImmediate();const l=Date.now();tt&&et.log("Converting buffer to session"),await this.flushImmediate();const s=this.stopRecording();!i||!s||this.recordingMode!=="session"&&(this.recordingMode="session",this.session&&(this._updateUserActivity(l),this._updateSessionActivity(l),this._maybeSaveSession()),this.startRecording())}addUpdate(i){const l=i();this.recordingMode!=="buffer"&&l!==!0&&this._debouncedFlush()}triggerUserActivity(){if(this._updateUserActivity(),!this._stopRecording){if(!this._checkSession())return;this.resume();return}this.checkAndHandleExpiredSession(),this._updateSessionActivity()}updateUserActivity(){this._updateUserActivity(),this._updateSessionActivity()}conditionalFlush(){return this.recordingMode==="buffer"?Promise.resolve():this.flushImmediate()}flush(){return this._debouncedFlush()}flushImmediate(){return this._debouncedFlush(),this._debouncedFlush.flush()}cancelFlush(){this._debouncedFlush.cancel()}getSessionId(){return this.session?.id}checkAndHandleExpiredSession(){if(this._lastActivity&&ef(this._lastActivity,this.timeouts.sessionIdlePause)&&this.session&&this.session.sampled==="session"){this.pause();return}return!!this._checkSession()}setInitialState(){const i=`${Ct.location.pathname}${Ct.location.hash}${Ct.location.search}`,l=`${Ct.location.origin}${i}`;this.performanceEntries=[],this.replayPerformanceEntries=[],this._clearContext(),this._context.initialUrl=l,this._context.initialTimestamp=Date.now(),this._context.urls.push(l)}throttledAddEvent(i,l){const s=this._throttledAddEvent(i,l);if(s===Ev){const c=en({category:"replay.throttled"});this.addUpdate(()=>!zf(this,{type:XM,timestamp:c.timestamp||0,data:{tag:"breadcrumb",payload:c,metric:!0}}))}return s}getCurrentRoute(){const i=this.lastActiveSpan||df(),l=i&&Uc(i),c=(l&&ba(l).data||{})[x_];if(!(!l||!c||!["route","custom"].includes(c)))return ba(l).description}_initializeRecording(){this.setInitialState(),this._updateSessionActivity(),this.eventBuffer=CR({useCompression:this._options.useCompression,workerUrl:this._options.workerUrl}),this._removeListeners(),this._addListeners(),this._isEnabled=!0,this._isPaused=!1,this.startRecording()}_initializeSessionForSampling(i){const l=this._options.errorSampleRate>0,s=Cc({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration,previousSessionId:i},{stickySession:this._options.stickySession,sessionSampleRate:this._options.sessionSampleRate,allowBuffering:l});this.session=s}_checkSession(){if(!this.session)return!1;const i=this.session;return cv(i,{sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration})?(this._refreshSession(i),!1):!0}async _refreshSession(i){this._isEnabled&&(await this.stop({reason:"refresh session"}),this.initializeSampling(i.id))}_addListeners(){try{Ct.document.addEventListener("visibilitychange",this._handleVisibilityChange),Ct.addEventListener("blur",this._handleWindowBlur),Ct.addEventListener("focus",this._handleWindowFocus),Ct.addEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.addListeners(),this._hasInitializedCoreListeners||(CO(this,{autoFlushOnFeedback:this._options._experiments.autoFlushOnFeedback}),this._hasInitializedCoreListeners=!0)}catch(i){this.handleException(i)}this._performanceCleanupCallback=MR(this)}_removeListeners(){try{Ct.document.removeEventListener("visibilitychange",this._handleVisibilityChange),Ct.removeEventListener("blur",this._handleWindowBlur),Ct.removeEventListener("focus",this._handleWindowFocus),Ct.removeEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.removeListeners(),this._performanceCleanupCallback&&this._performanceCleanupCallback()}catch(i){this.handleException(i)}}_doChangeToBackgroundTasks(i){!this.session||uv(this.session,{maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire})||(i&&this._createCustomBreadcrumb(i),this.conditionalFlush())}_doChangeToForegroundTasks(i){if(!this.session)return;if(!this.checkAndHandleExpiredSession()){tt&&et.log("Document has become active, but session has expired");return}i&&this._createCustomBreadcrumb(i)}_updateUserActivity(i=Date.now()){this._lastActivity=i}_updateSessionActivity(i=Date.now()){this.session&&(this.session.lastActivity=i,this._maybeSaveSession())}_createCustomBreadcrumb(i){this.addUpdate(()=>{this.throttledAddEvent({type:rt.Custom,timestamp:i.timestamp||0,data:{tag:"breadcrumb",payload:i}})})}_addPerformanceEntries(){let i=mR(this.performanceEntries).concat(this.replayPerformanceEntries);if(this.performanceEntries=[],this.replayPerformanceEntries=[],this._requiresManualStart){const l=this._context.initialTimestamp/1e3;i=i.filter(s=>s.start>=l)}return Promise.all(no(this,i))}_clearContext(){this._context.errorIds.clear(),this._context.traceIds.clear(),this._context.urls=[]}_updateInitialTimestampFromEventBuffer(){const{session:i,eventBuffer:l}=this;if(!i||!l||this._requiresManualStart||i.segmentId)return;const s=l.getEarliestTimestamp();s&&s<this._context.initialTimestamp&&(this._context.initialTimestamp=s)}_popEventContext(){const i={initialTimestamp:this._context.initialTimestamp,initialUrl:this._context.initialUrl,errorIds:Array.from(this._context.errorIds),traceIds:Array.from(this._context.traceIds),urls:this._context.urls};return this._clearContext(),i}async _runFlush(){const i=this.getSessionId();if(!this.session||!this.eventBuffer||!i){tt&&et.error("No session or eventBuffer found to flush.");return}if(await this._addPerformanceEntries(),!!this.eventBuffer?.hasEvents&&(await NO(this),!!this.eventBuffer&&i===this.getSessionId()))try{this._updateInitialTimestampFromEventBuffer();const l=Date.now();if(l-this._context.initialTimestamp>this._options.maxReplayDuration+3e4)throw new Error("Session is too long, not sending replay");const s=this._popEventContext(),c=this.session.segmentId++;this._maybeSaveSession();const f=await this.eventBuffer.finish();await _v({replayId:i,recordingData:f,segmentId:c,eventContext:s,session:this.session,timestamp:l,onError:h=>this.handleException(h)})}catch(l){this.handleException(l),this.stop({reason:"sendReplay"});const s=Qt();if(s){const c=l instanceof Lf?"ratelimit_backoff":"send_error";s.recordDroppedEvent(c,"replay")}}}async _flush({force:i=!1}={}){if(!this._isEnabled&&!i)return;if(!this.checkAndHandleExpiredSession()){tt&&et.error("Attempting to finish replay event after session expired.");return}if(!this.session)return;const l=this.session.started,c=Date.now()-l;this._debouncedFlush.cancel();const f=c<this._options.minReplayDuration,h=c>this._options.maxReplayDuration+5e3;if(f||h){tt&&et.log(`Session duration (${Math.floor(c/1e3)}s) is too ${f?"short":"long"}, not sending replay.`),f&&this._debouncedFlush();return}const p=this.eventBuffer;p&&this.session.segmentId===0&&!p.hasCheckout&&tt&&et.log("Flushing initial segment without checkout.");const m=!!this._flushLock;this._flushLock||(this._flushLock=this._runFlush());try{await this._flushLock}catch(y){this.handleException(y)}finally{this._flushLock=void 0,m&&this._debouncedFlush()}}_maybeSaveSession(){this.session&&this._options.stickySession&&kf(this.session)}_onMutationHandler(i){const{ignoreMutations:l}=this._options._experiments;if(l?.length&&i.some(p=>{const m=IO(p.target),y=l.join(",");return m?.matches(y)}))return!1;const s=i.length,c=this._options.mutationLimit,f=this._options.mutationBreadcrumbLimit,h=c&&s>c;if(s>f||h){const p=en({category:"replay.mutations",data:{count:s,limit:h}});this._createCustomBreadcrumb(p)}return h?(this.stop({reason:"mutationLimit",forceFlush:this.recordingMode==="session"}),!1):!0}}function Ur(n,i){return[...n,...i].join(",")}function ZO({mask:n,unmask:i,block:l,unblock:s,ignore:c}){const f=["base","iframe[srcdoc]:not([src])"],h=Ur(n,[".sentry-mask","[data-sentry-mask]"]),p=Ur(i,[]);return{maskTextSelector:h,unmaskTextSelector:p,blockSelector:Ur(l,[".sentry-block","[data-sentry-block]",...f]),unblockSelector:Ur(s,[]),ignoreSelector:Ur(c,[".sentry-ignore","[data-sentry-ignore]",'input[type="file"]'])}}function KO({el:n,key:i,maskAttributes:l,maskAllText:s,privacyOptions:c,value:f}){return!s||c.unmaskTextSelector&&n.matches(c.unmaskTextSelector)?f:l.includes(i)||i==="value"&&n.tagName==="INPUT"&&["submit","button"].includes(n.getAttribute("type")||"")?f.replace(/[\S]/g,"*"):f}const Ng='img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',FO=["content-length","content-type","accept"];let kg=!1;const JO=n=>new $O(n);class $O{constructor({flushMinDelay:i=bT,flushMaxDelay:l=TT,minReplayDuration:s=DT,maxReplayDuration:c=fg,stickySession:f=!0,useCompression:h=!0,workerUrl:p,_experiments:m={},maskAllText:y=!0,maskAllInputs:E=!0,blockAllMedia:S=!0,mutationBreadcrumbLimit:b=750,mutationLimit:x=1e4,slowClickTimeout:A=7e3,slowClickIgnoreSelectors:z=[],networkDetailAllowUrls:I=[],networkDetailDenyUrls:U=[],networkCaptureBodies:X=!0,networkRequestHeaders:at=[],networkResponseHeaders:$=[],mask:Q=[],maskAttributes:j=["title","placeholder","aria-label"],unmask:W=[],block:Z=[],unblock:H=[],ignore:K=[],maskFn:ht,beforeAddRecordingEvent:ct,beforeErrorSampling:Ut,onError:Ht}={}){this.name="Replay";const qt=ZO({mask:Q,unmask:W,block:Z,unblock:H,ignore:K});if(this._recordingOptions={maskAllInputs:E,maskAllText:y,maskInputOptions:{password:!0},maskTextFn:ht,maskInputFn:ht,maskAttributeFn:(w,L,B)=>KO({maskAttributes:j,maskAllText:y,privacyOptions:qt,key:w,value:L,el:B}),...qt,slimDOMOptions:"all",inlineStylesheet:!0,inlineImages:!1,collectFonts:!0,errorHandler:w=>{try{w.__rrweb__=!0}catch{}},recordCrossOriginIframes:!!m.recordCrossOriginIframes},this._initialOptions={flushMinDelay:i,flushMaxDelay:l,minReplayDuration:Math.min(s,xT),maxReplayDuration:Math.min(c,fg),stickySession:f,useCompression:h,workerUrl:p,blockAllMedia:S,maskAllInputs:E,maskAllText:y,mutationBreadcrumbLimit:b,mutationLimit:x,slowClickTimeout:A,slowClickIgnoreSelectors:z,networkDetailAllowUrls:I,networkDetailDenyUrls:U,networkCaptureBodies:X,networkRequestHeaders:zg(at),networkResponseHeaders:zg($),beforeAddRecordingEvent:ct,beforeErrorSampling:Ut,onError:Ht,_experiments:m},this._initialOptions.blockAllMedia&&(this._recordingOptions.blockSelector=this._recordingOptions.blockSelector?`${this._recordingOptions.blockSelector},${Ng}`:Ng),this._isInitialized&&ig())throw new Error("Multiple Sentry Session Replay instances are not supported");this._isInitialized=!0}get _isInitialized(){return kg}set _isInitialized(i){kg=i}afterAllSetup(i){!ig()||this._replay||(this._setup(i),this._initialize(i))}start(){this._replay&&this._replay.start()}startBuffering(){this._replay&&this._replay.startBuffering()}stop(){return this._replay?this._replay.stop({forceFlush:this._replay.recordingMode==="session"}):Promise.resolve()}flush(i){return this._replay?this._replay.isEnabled()?this._replay.sendBufferedReplayOrFlush(i):(this._replay.start(),Promise.resolve()):Promise.resolve()}getReplayId(){if(this._replay?.isEnabled())return this._replay.getSessionId()}getRecordingMode(){if(this._replay?.isEnabled())return this._replay.recordingMode}_initialize(i){this._replay&&(this._maybeLoadFromReplayCanvasIntegration(i),this._replay.initializeSampling())}_setup(i){const l=WO(this._initialOptions,i);this._replay=new QO({options:l,recordingOptions:this._recordingOptions})}_maybeLoadFromReplayCanvasIntegration(i){try{const l=i.getIntegrationByName("ReplayCanvas");if(!l)return;this._replay._canvas=l.getOptions()}catch{}}}function WO(n,i){const l=i.getOptions(),s={sessionSampleRate:0,errorSampleRate:0,...n},c=Lc(l.replaysSessionSampleRate),f=Lc(l.replaysOnErrorSampleRate);return c==null&&f==null&&Kr(()=>{console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.")}),c!=null&&(s.sessionSampleRate=c),f!=null&&(s.errorSampleRate=f),s}function zg(n){return[...FO,...n.map(i=>i.toLowerCase())]}const Ug=1e6,ws=String(0),PO="main",Vs=Nt.navigator;let bv="",Tv="",Mv="",rf=Vs?.userAgent||"",Rv="";const tA=Vs?.language||Vs?.languages?.[0]||"";function eA(n){return typeof n=="object"&&n!==null&&"getHighEntropyValues"in n}const Lg=Vs?.userAgentData;eA(Lg)&&Lg.getHighEntropyValues(["architecture","model","platform","platformVersion","fullVersionList"]).then(n=>{if(bv=n.platform||"",Mv=n.architecture||"",Rv=n.model||"",Tv=n.platformVersion||"",n.fullVersionList?.length){const i=n.fullVersionList[n.fullVersionList.length-1];rf=`${i.brand} ${i.version}`}}).catch(n=>{});function nA(n){return!("thread_metadata"in n)}function aA(n){return nA(n)?lA(n):n}function iA(n){const i=n.contexts?.trace?.trace_id;return typeof i=="string"&&i.length!==32&&zt&&Y.log(`[Profiling] Invalid traceId: ${i} on profiled event`),typeof i!="string"?"":i}function rA(n,i,l,s){if(s.type!=="transaction")throw new TypeError("Profiling events may only be attached to transactions, this should never occur.");if(l==null)throw new TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${l} instead.`);const c=iA(s),f=aA(l),h=i||(typeof s.start_timestamp=="number"?s.start_timestamp*1e3:En()*1e3),p=typeof s.timestamp=="number"?s.timestamp*1e3:En()*1e3;return{event_id:n,timestamp:new Date(h).toISOString(),platform:"javascript",version:"1",release:s.release||"",environment:s.environment||Gg,runtime:{name:"javascript",version:Nt.navigator.userAgent},os:{name:bv,version:Tv,build_number:rf},device:{locale:tA,model:Rv,manufacturer:rf,architecture:Mv,is_emulator:!1},debug_meta:{images:uA(l.resources)},profile:f,transactions:[{name:s.transaction||"",id:s.event_id||Ra(),trace_id:c,active_thread_id:ws,relative_start_ns:"0",relative_end_ns:((p-h)*1e6).toFixed(0)}]}}function Ov(n){return ba(n).op==="pageload"}function lA(n){let i,l=0;const s={samples:[],stacks:[],frames:[],thread_metadata:{[ws]:{name:PO}}},c=n.samples[0];if(!c)return s;const f=c.timestamp,h=$g(),p=typeof performance.timeOrigin=="number"?performance.timeOrigin:h||0,m=p-(h||p);return n.samples.forEach((y,E)=>{if(y.stackId===void 0){i===void 0&&(i=l,s.stacks[i]=[],l++),s.samples[E]={elapsed_since_start_ns:((y.timestamp+m-f)*Ug).toFixed(0),stack_id:i,thread_id:ws};return}let S=n.stacks[y.stackId];const b=[];for(;S;){b.push(S.frameId);const A=n.frames[S.frameId];A&&s.frames[S.frameId]===void 0&&(s.frames[S.frameId]={function:A.name,abs_path:typeof A.resourceId=="number"?n.resources[A.resourceId]:void 0,lineno:A.line,colno:A.column}),S=S.parentId===void 0?void 0:n.stacks[S.parentId]}const x={elapsed_since_start_ns:((y.timestamp+m-f)*Ug).toFixed(0),stack_id:l,thread_id:ws};s.stacks[l]=b,s.samples[E]=x,l++}),s}function sA(n,i){if(!i.length)return n;for(const l of i)n[1].push([{type:"profile"},l]);return n}function oA(n){const i=[];return Bc(n,(l,s)=>{if(s==="transaction")for(let c=1;c<l.length;c++)l[c]?.contexts?.profile?.profile_id&&i.push(l[c])}),i}function uA(n){const s=Qt()?.getOptions()?.stackParser;return s?z_(s,n):[]}function cA(n){return typeof n!="number"&&typeof n!="boolean"||typeof n=="number"&&isNaN(n)?(zt&&Y.warn(`[Profiling] Invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(n)} of type ${JSON.stringify(typeof n)}.`),!1):n===!0||n===!1?!0:n<0||n>1?(zt&&Y.warn(`[Profiling] Invalid sample rate. Sample rate must be between 0 and 1. Got ${n}.`),!1):!0}function fA(n){return n.samples.length<2?(zt&&Y.log("[Profiling] Discarding profile because it contains less than 2 samples"),!1):n.frames.length?!0:(zt&&Y.log("[Profiling] Discarding profile because it contains no frames"),!1)}let Av=!1;const wv=3e4;function dA(n){return typeof n=="function"}function hA(){const n=Nt.Profiler;if(!dA(n)){zt&&Y.log("[Profiling] Profiling is not supported by this browser, Profiler interface missing on window object.");return}const i=10,l=Math.floor(wv/i);try{return new n({sampleInterval:i,maxBufferSize:l})}catch{zt&&(Y.log("[Profiling] Failed to initialize the Profiling constructor, this is likely due to a missing 'Document-Policy': 'js-profiling' header."),Y.log("[Profiling] Disabling profiling for current user session.")),Av=!0}}function Bg(n){if(Av)return zt&&Y.log("[Profiling] Profiling has been disabled for the duration of the current user session."),!1;if(!n.isRecording())return zt&&Y.log("[Profiling] Discarding profile because transaction was not sampled."),!1;const l=Qt()?.getOptions();if(!l)return zt&&Y.log("[Profiling] Profiling disabled, no options found."),!1;const s=l.profilesSampleRate;return cA(s)?s?(s===!0?!0:Math.random()<s)?!0:(zt&&Y.log(`[Profiling] Discarding profile because it's not included in the random sample (sampling rate = ${Number(s)})`),!1):(zt&&Y.log("[Profiling] Discarding profile because a negative sampling decision was inherited or profileSampleRate is set to 0"),!1):(zt&&Y.warn("[Profiling] Discarding profile because of invalid sample rate."),!1)}function mA(n,i,l,s){return fA(l)?rA(n,i,l,s):null}const Ma=new Map;function pA(){return Ma.size}function gA(n){const i=Ma.get(n);return i&&Ma.delete(n),i}function yA(n,i){if(Ma.set(n,i),Ma.size>30){const l=Ma.keys().next().value;Ma.delete(l)}}function Hg(n){let i;Ov(n)&&(i=En()*1e3);const l=hA();if(!l)return;zt&&Y.log(`[Profiling] started profiling span: ${ba(n).description}`);const s=Ra();Di().setContext("profile",{profile_id:s,start_timestamp:i});async function c(){if(n&&l)return l.stop().then(m=>{if(f&&(Nt.clearTimeout(f),f=void 0),zt&&Y.log(`[Profiling] stopped profiling of span: ${ba(n).description}`),!m){zt&&Y.log(`[Profiling] profiler returned null profile for: ${ba(n).description}`,"this may indicate an overlapping span or a call to stopProfiling with a profile title that was never started");return}yA(s,m)}).catch(m=>{zt&&Y.log("[Profiling] error while stopping profiler:",m)})}let f=Nt.setTimeout(()=>{zt&&Y.log("[Profiling] max profile duration elapsed, stopping profiling for:",ba(n).description),c()},wv);const h=n.end.bind(n);function p(){return n?(c().then(()=>{h()},()=>{h()}),n):h()}n.end=p}const vA="BrowserProfiling",SA=()=>({name:vA,setup(n){const i=df(),l=i&&Uc(i);l&&Ov(l)&&Bg(l)&&Hg(l),n.on("spanStart",s=>{s===Uc(s)&&Bg(s)&&Hg(s)}),n.on("beforeEnvelope",s=>{if(!pA())return;const c=oA(s);if(!c.length)return;const f=[];for(const h of c){const p=h?.contexts,m=p?.profile?.profile_id,y=p?.profile?.start_timestamp;if(typeof m!="string"){zt&&Y.log("[Profiling] cannot find profile for a span without a profile context");continue}if(!m){zt&&Y.log("[Profiling] cannot find profile for a span without a profile context");continue}p?.profile&&delete p.profile;const E=gA(m);if(!E){zt&&Y.log(`[Profiling] Could not retrieve profile for span: ${m}`);continue}const S=mA(m,y,E,h);S&&f.push(S)}sA(s,f)})}}),_A=SA,EA="BrowserTracing";function bA(n){n.integrations&&Array.isArray(n.integrations)&&n.integrations.some(s=>s.name===EA)&&Kr(()=>{console.warn("browserTracingIntegration is not fully compatible with @sentry/react-router. Please use reactRouterTracingIntegration instead.")}),oy(n,"react-router",["react-router","browser"]);const i=vT(n);return U_("runtime","browser"),i}function TA(){ENV.EPICSHOP_IS_PUBLISHED&&bA({dsn:ENV.SENTRY_DSN,environment:ENV.MODE,tunnel:"/resources/lookout",ignoreErrors:["Failed to execute 'requestPictureInPicture' on 'HTMLVideoElement'"],beforeSend(n){if(n.exception?.values?.some(i=>i.stacktrace?.frames?.some(l=>l.filename?.includes("chrome-extension:")||l.filename?.includes("moz-extension:"))))return null;if(n.request?.url){const i=new URL(n.request.url);if(i.protocol==="chrome-extension:"||i.protocol==="moz-extension:")return null}return n},integrations:[JO(),_A()],tracesSampleRate:1,replaysSessionSampleRate:.1,replaysOnErrorSampleRate:1,initialScope:{tags:{github_repo:ENV.EPICSHOP_GITHUB_REPO||"unknown",deployed:ENV.EPICSHOP_DEPLOYED?"true":"false",app_version:ENV.EPICSHOP_APP_VERSION||"unknown",environment:ENV.MODE||"development"}}})}TA();q_.hydrateRoot(document,V0.jsx(K_,{}));
|
|
50
|
-
//# sourceMappingURL=entry.client-
|
|
50
|
+
//# sourceMappingURL=entry.client-Cy5ZUpwR.js.map
|