@epic-web/workshop-app 6.11.4 → 6.11.5

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.
Files changed (332) hide show
  1. package/build/client/assets/{_-e2Xlkk6B.js → _-C_1veCf_.js} +2 -2
  2. package/build/client/assets/_-C_1veCf_.js.map +1 -0
  3. package/build/client/assets/{_-DUOWTmgT.js → _-o38Dr8A1.js} +2 -2
  4. package/build/client/assets/{_-DUOWTmgT.js.map → _-o38Dr8A1.js.map} +1 -1
  5. package/build/client/assets/{_basePickBy-DKDn-LiP.js → _basePickBy-B088yToz.js} +2 -2
  6. package/build/client/assets/{_basePickBy-DKDn-LiP.js.map → _basePickBy-B088yToz.js.map} +1 -1
  7. package/build/client/assets/{_baseUniq-CorrKA0s.js → _baseUniq-CyERJfTM.js} +2 -2
  8. package/build/client/assets/{_baseUniq-CorrKA0s.js.map → _baseUniq-CyERJfTM.js.map} +1 -1
  9. package/build/client/assets/{_exerciseNumber-CpIEvXl6.js → _exerciseNumber-NZrDvsaC.js} +2 -2
  10. package/build/client/assets/{_exerciseNumber-CpIEvXl6.js.map → _exerciseNumber-NZrDvsaC.js.map} +1 -1
  11. package/build/client/assets/{_exerciseNumber_._stepNumber-BKHusfiM.js → _exerciseNumber_._stepNumber-BVn7XK01.js} +2 -2
  12. package/build/client/assets/{_exerciseNumber_._stepNumber-BKHusfiM.js.map → _exerciseNumber_._stepNumber-BVn7XK01.js.map} +1 -1
  13. package/build/client/assets/_exerciseNumber_._stepNumber.index-BlkLQGcQ.js +2 -0
  14. package/build/client/assets/_exerciseNumber_._stepNumber.index-BlkLQGcQ.js.map +1 -0
  15. package/build/client/assets/{_exerciseNumber_.finished-BqvLFRC5.js → _exerciseNumber_.finished-B9yUJlBN.js} +2 -2
  16. package/build/client/assets/{_exerciseNumber_.finished-BqvLFRC5.js.map → _exerciseNumber_.finished-B9yUJlBN.js.map} +1 -1
  17. package/build/client/assets/{_layout-D02pOo5p.js → _layout-B9MiLj7O.js} +2 -2
  18. package/build/client/assets/{_layout-D02pOo5p.js.map → _layout-B9MiLj7O.js.map} +1 -1
  19. package/build/client/assets/{_layout-CrM20ZMf.js → _layout-BUlH0FCI.js} +2 -2
  20. package/build/client/assets/{_layout-CrM20ZMf.js.map → _layout-BUlH0FCI.js.map} +1 -1
  21. package/build/client/assets/_layout-BeSEnEPz.js +2 -0
  22. package/build/client/assets/{_layout-B9ye-9Ji.js.map → _layout-BeSEnEPz.js.map} +1 -1
  23. package/build/client/assets/{_layout-Dhp0VrD1.js → _layout-DmLOH62u.js} +2 -2
  24. package/build/client/assets/{_layout-Dhp0VrD1.js.map → _layout-DmLOH62u.js.map} +1 -1
  25. package/build/client/assets/{accordion-Dy5mqpjl.js → accordion-BiZKAVrf.js} +2 -2
  26. package/build/client/assets/{accordion-Dy5mqpjl.js.map → accordion-BiZKAVrf.js.map} +1 -1
  27. package/build/client/assets/{account-OFZ1ObWN.js → account-DjVPcDEA.js} +2 -2
  28. package/build/client/assets/{account-OFZ1ObWN.js.map → account-DjVPcDEA.js.map} +1 -1
  29. package/build/client/assets/api._-BlkLQGcQ.js +2 -0
  30. package/build/client/assets/api._-BlkLQGcQ.js.map +1 -0
  31. package/build/client/assets/app-C-zGFtH4.js +2 -0
  32. package/build/client/assets/{app-rPujQnzF.js.map → app-C-zGFtH4.js.map} +1 -1
  33. package/build/client/assets/app.epic_ws_.js_-BlkLQGcQ.js +2 -0
  34. package/build/client/assets/app.epic_ws_.js_-BlkLQGcQ.js.map +1 -0
  35. package/build/client/assets/apps-BlkLQGcQ.js +2 -0
  36. package/build/client/assets/apps-BlkLQGcQ.js.map +1 -0
  37. package/build/client/assets/apps-BuOzfNde.js +2 -0
  38. package/build/client/assets/apps-BuOzfNde.js.map +1 -0
  39. package/build/client/assets/{arc-D6dECMGT.js → arc-DU84h6ei.js} +2 -2
  40. package/build/client/assets/{arc-D6dECMGT.js.map → arc-DU84h6ei.js.map} +1 -1
  41. package/build/client/assets/{architectureDiagram-NQ2NVSRB-Ds8AjbAF.js → architectureDiagram-NQ2NVSRB-fOwxUSKE.js} +2 -2
  42. package/build/client/assets/{architectureDiagram-NQ2NVSRB-Ds8AjbAF.js.map → architectureDiagram-NQ2NVSRB-fOwxUSKE.js.map} +1 -1
  43. package/build/client/assets/{blockDiagram-PHRCVELO-CJoL0bt8.js → blockDiagram-PHRCVELO-5--xjhSJ.js} +2 -2
  44. package/build/client/assets/{blockDiagram-PHRCVELO-CJoL0bt8.js.map → blockDiagram-PHRCVELO-5--xjhSJ.js.map} +1 -1
  45. package/build/client/assets/{button-Cpu7UeCw.js → button-fWH7YaIH.js} +2 -2
  46. package/build/client/assets/{button-Cpu7UeCw.js.map → button-fWH7YaIH.js.map} +1 -1
  47. package/build/client/assets/{c4Diagram-6F6E4RAY-CzecGdkB.js → c4Diagram-6F6E4RAY-DeHi0nPu.js} +2 -2
  48. package/build/client/assets/{c4Diagram-6F6E4RAY-CzecGdkB.js.map → c4Diagram-6F6E4RAY-DeHi0nPu.js.map} +1 -1
  49. package/build/client/assets/cache-BlkLQGcQ.js +2 -0
  50. package/build/client/assets/cache-BlkLQGcQ.js.map +1 -0
  51. package/build/client/assets/channel-B96858cT.js +2 -0
  52. package/build/client/assets/{channel-CoGTYC4P.js.map → channel-B96858cT.js.map} +1 -1
  53. package/build/client/assets/{chunk-353BL4L5-DLMqKTeB.js → chunk-353BL4L5-ChBBkr6E.js} +2 -2
  54. package/build/client/assets/{chunk-353BL4L5-DLMqKTeB.js.map → chunk-353BL4L5-ChBBkr6E.js.map} +1 -1
  55. package/build/client/assets/{chunk-67H74DCK-DZeFzIus.js → chunk-67H74DCK-cQvIJArr.js} +2 -2
  56. package/build/client/assets/{chunk-67H74DCK-DZeFzIus.js.map → chunk-67H74DCK-cQvIJArr.js.map} +1 -1
  57. package/build/client/assets/{chunk-6OLS64BW-C0zGlAL6.js → chunk-6OLS64BW-_LvGZf84.js} +2 -2
  58. package/build/client/assets/{chunk-6OLS64BW-C0zGlAL6.js.map → chunk-6OLS64BW-_LvGZf84.js.map} +1 -1
  59. package/build/client/assets/{chunk-AACKK3MU-DFUR3v1F.js → chunk-AACKK3MU-CxRzqKjj.js} +2 -2
  60. package/build/client/assets/{chunk-AACKK3MU-DFUR3v1F.js.map → chunk-AACKK3MU-CxRzqKjj.js.map} +1 -1
  61. package/build/client/assets/{chunk-BFAMUDN2-NvbcoM6f.js → chunk-BFAMUDN2-BYeIkze7.js} +2 -2
  62. package/build/client/assets/{chunk-BFAMUDN2-NvbcoM6f.js.map → chunk-BFAMUDN2-BYeIkze7.js.map} +1 -1
  63. package/build/client/assets/{chunk-E2GYISFI-B8HHqL2o.js → chunk-E2GYISFI-CKF_zXbs.js} +2 -2
  64. package/build/client/assets/{chunk-E2GYISFI-B8HHqL2o.js.map → chunk-E2GYISFI-CKF_zXbs.js.map} +1 -1
  65. package/build/client/assets/{chunk-QEP2MXWD-0Jj-Slk5.js → chunk-QEP2MXWD-Vkt-DvA2.js} +2 -2
  66. package/build/client/assets/{chunk-QEP2MXWD-0Jj-Slk5.js.map → chunk-QEP2MXWD-Vkt-DvA2.js.map} +1 -1
  67. package/build/client/assets/{chunk-QMGIS6GS-wDvgi5co.js → chunk-QMGIS6GS-BL6gelUt.js} +2 -2
  68. package/build/client/assets/{chunk-QMGIS6GS-wDvgi5co.js.map → chunk-QMGIS6GS-BL6gelUt.js.map} +1 -1
  69. package/build/client/assets/{chunk-SKB7J2MH-BLZQraR9.js → chunk-SKB7J2MH-BMLPqTZ1.js} +2 -2
  70. package/build/client/assets/{chunk-SKB7J2MH-BLZQraR9.js.map → chunk-SKB7J2MH-BMLPqTZ1.js.map} +1 -1
  71. package/build/client/assets/classDiagram-BGRH5UQR-BsT5CN4V.js +2 -0
  72. package/build/client/assets/{classDiagram-BGRH5UQR-Bf48axcX.js.map → classDiagram-BGRH5UQR-BsT5CN4V.js.map} +1 -1
  73. package/build/client/assets/classDiagram-v2-O24JOBDK-BsT5CN4V.js +2 -0
  74. package/build/client/assets/{classDiagram-v2-O24JOBDK-Bf48axcX.js.map → classDiagram-v2-O24JOBDK-BsT5CN4V.js.map} +1 -1
  75. package/build/client/assets/clone-Dwtn-GDB.js +2 -0
  76. package/build/client/assets/{clone-pdHbjyZH.js.map → clone-Dwtn-GDB.js.map} +1 -1
  77. package/build/client/assets/{dagre-FFZHY6LT-OpQGboIL.js → dagre-FFZHY6LT-BzFopzfe.js} +2 -2
  78. package/build/client/assets/{dagre-FFZHY6LT-OpQGboIL.js.map → dagre-FFZHY6LT-BzFopzfe.js.map} +1 -1
  79. package/build/client/assets/{diagram-3EMPZRKU-DHwKKaoW.js → diagram-3EMPZRKU-d3GiNLlg.js} +2 -2
  80. package/build/client/assets/{diagram-3EMPZRKU-DHwKKaoW.js.map → diagram-3EMPZRKU-d3GiNLlg.js.map} +1 -1
  81. package/build/client/assets/{diagram-5UYTHUR4-tRk0DDtE.js → diagram-5UYTHUR4-OtNa1Cxl.js} +2 -2
  82. package/build/client/assets/{diagram-5UYTHUR4-tRk0DDtE.js.map → diagram-5UYTHUR4-OtNa1Cxl.js.map} +1 -1
  83. package/build/client/assets/{diagram-ZTM2IBQH-BS9KLCBq.js → diagram-ZTM2IBQH-DZe7webW.js} +2 -2
  84. package/build/client/assets/{diagram-ZTM2IBQH-BS9KLCBq.js.map → diagram-ZTM2IBQH-DZe7webW.js.map} +1 -1
  85. package/build/client/assets/{diff-HsBXevjE.js → diff-BdMar_8I.js} +2 -2
  86. package/build/client/assets/{diff-HsBXevjE.js.map → diff-BdMar_8I.js.map} +1 -1
  87. package/build/client/assets/diff-D2h7lxNR.js +2 -0
  88. package/build/client/assets/{diff-Co5HpzMF.js.map → diff-D2h7lxNR.js.map} +1 -1
  89. package/build/client/assets/discord-KXApq9_r.js +2 -0
  90. package/build/client/assets/discord-KXApq9_r.js.map +1 -0
  91. package/build/client/assets/{discord-DX9LeEuZ.js → discord-oC768h5S.js} +2 -2
  92. package/build/client/assets/{discord-DX9LeEuZ.js.map → discord-oC768h5S.js.map} +1 -1
  93. package/build/client/assets/{entry.client-CI4ALVOi.js → entry.client-CO8FnlE7.js} +2 -2
  94. package/build/client/assets/{entry.client-CI4ALVOi.js.map → entry.client-CO8FnlE7.js.map} +1 -1
  95. package/build/client/assets/{epic-video-BCDTDFFL.js → epic-video-CWfDDjIm.js} +2 -2
  96. package/build/client/assets/{epic-video-BCDTDFFL.js.map → epic-video-CWfDDjIm.js.map} +1 -1
  97. package/build/client/assets/epic_ws_.js_-BlkLQGcQ.js +2 -0
  98. package/build/client/assets/epic_ws_.js_-BlkLQGcQ.js.map +1 -0
  99. package/build/client/assets/{erDiagram-R3QVA2FD-INrsjPU4.js → erDiagram-R3QVA2FD-Dfz2wrF6.js} +2 -2
  100. package/build/client/assets/{erDiagram-R3QVA2FD-INrsjPU4.js.map → erDiagram-R3QVA2FD-Dfz2wrF6.js.map} +1 -1
  101. package/build/client/assets/{error-boundary-BtY4rdJ7.js → error-boundary-BY0AvzWu.js} +2 -2
  102. package/build/client/assets/{error-boundary-BtY4rdJ7.js.map → error-boundary-BY0AvzWu.js.map} +1 -1
  103. package/build/client/assets/exercises-BlkLQGcQ.js +2 -0
  104. package/build/client/assets/exercises-BlkLQGcQ.js.map +1 -0
  105. package/build/client/assets/{finished-BBC8VfYM.js → finished-Cflomlgk.js} +2 -2
  106. package/build/client/assets/{finished-BBC8VfYM.js.map → finished-Cflomlgk.js.map} +1 -1
  107. package/build/client/assets/{flowDiagram-PKI6S5ZS-grPpiV5Y.js → flowDiagram-PKI6S5ZS-BPpbdxIB.js} +2 -2
  108. package/build/client/assets/{flowDiagram-PKI6S5ZS-grPpiV5Y.js.map → flowDiagram-PKI6S5ZS-BPpbdxIB.js.map} +1 -1
  109. package/build/client/assets/{ganttDiagram-EK5VF46D-Bs8AwMPu.js → ganttDiagram-EK5VF46D-Dyr0vzpl.js} +2 -2
  110. package/build/client/assets/{ganttDiagram-EK5VF46D-Bs8AwMPu.js.map → ganttDiagram-EK5VF46D-Dyr0vzpl.js.map} +1 -1
  111. package/build/client/assets/{gitGraphDiagram-GW3U2K7C-Dvsdd2Zk.js → gitGraphDiagram-GW3U2K7C-BFo0lvFO.js} +2 -2
  112. package/build/client/assets/{gitGraphDiagram-GW3U2K7C-Dvsdd2Zk.js.map → gitGraphDiagram-GW3U2K7C-BFo0lvFO.js.map} +1 -1
  113. package/build/client/assets/{graph-BJ09SWL5.js → graph-BPs9sx_3.js} +2 -2
  114. package/build/client/assets/{graph-BJ09SWL5.js.map → graph-BPs9sx_3.js.map} +1 -1
  115. package/build/client/assets/healthcheck-BlkLQGcQ.js +2 -0
  116. package/build/client/assets/healthcheck-BlkLQGcQ.js.map +1 -0
  117. package/build/client/assets/{index-_5nlj54x.js → index-BXzG30uC.js} +2 -2
  118. package/build/client/assets/{index-_5nlj54x.js.map → index-BXzG30uC.js.map} +1 -1
  119. package/build/client/assets/{index-CL2dBwvR.js → index-BYeleb9Q.js} +2 -2
  120. package/build/client/assets/{index-CL2dBwvR.js.map → index-BYeleb9Q.js.map} +1 -1
  121. package/build/client/assets/index-BlkLQGcQ.js +2 -0
  122. package/build/client/assets/index-BlkLQGcQ.js.map +1 -0
  123. package/build/client/assets/index-BuOzfNde.js +2 -0
  124. package/build/client/assets/index-BuOzfNde.js.map +1 -0
  125. package/build/client/assets/{index-BP6Pl2jJ.js → index-CTGuLtUh.js} +2 -2
  126. package/build/client/assets/{index-BP6Pl2jJ.js.map → index-CTGuLtUh.js.map} +1 -1
  127. package/build/client/assets/{index-B-zz6paP.js → index-CdhBx9jS.js} +2 -2
  128. package/build/client/assets/{index-B-zz6paP.js.map → index-CdhBx9jS.js.map} +1 -1
  129. package/build/client/assets/{index-Df71NSQU.js → index-DQDs3om6.js} +2 -2
  130. package/build/client/assets/{index-Df71NSQU.js.map → index-DQDs3om6.js.map} +1 -1
  131. package/build/client/assets/{index-D20K3FR6.js → index-DRgAwAn5.js} +2 -2
  132. package/build/client/assets/{index-D20K3FR6.js.map → index-DRgAwAn5.js.map} +1 -1
  133. package/build/client/assets/{index-CQ3cbzOO.js → index-Dv1p0du8.js} +2 -2
  134. package/build/client/assets/{index-CQ3cbzOO.js.map → index-Dv1p0du8.js.map} +1 -1
  135. package/build/client/assets/{index-DSz_ipRh.js → index-Izer-l1L.js} +2 -2
  136. package/build/client/assets/{index-DSz_ipRh.js.map → index-Izer-l1L.js.map} +1 -1
  137. package/build/client/assets/index-SIj8tEOH.js +2 -0
  138. package/build/client/assets/index-SIj8tEOH.js.map +1 -0
  139. package/build/client/assets/{index-T5ujYJo-.js → index-vxmsB3dh.js} +2 -2
  140. package/build/client/assets/{index-T5ujYJo-.js.map → index-vxmsB3dh.js.map} +1 -1
  141. package/build/client/assets/infoDiagram-XT3IWWJI-DtP7klkO.js +3 -0
  142. package/build/client/assets/{infoDiagram-XT3IWWJI-B1i2X3um.js.map → infoDiagram-XT3IWWJI-DtP7klkO.js.map} +1 -1
  143. package/build/client/assets/{journeyDiagram-EWQZEKCU-BYP62cJm.js → journeyDiagram-EWQZEKCU-CUqO-4dr.js} +2 -2
  144. package/build/client/assets/{journeyDiagram-EWQZEKCU-BYP62cJm.js.map → journeyDiagram-EWQZEKCU-CUqO-4dr.js.map} +1 -1
  145. package/build/client/assets/{jsx-runtime-Ws3ZaoIr.js → jsx-runtime-9Cyy0ME_.js} +2 -2
  146. package/build/client/assets/{jsx-runtime-Ws3ZaoIr.js.map → jsx-runtime-9Cyy0ME_.js.map} +1 -1
  147. package/build/client/assets/{kanban-definition-ILFWEQ3N-Do5ZbHTi.js → kanban-definition-ILFWEQ3N-CmRK0vvl.js} +2 -2
  148. package/build/client/assets/{kanban-definition-ILFWEQ3N-Do5ZbHTi.js.map → kanban-definition-ILFWEQ3N-CmRK0vvl.js.map} +1 -1
  149. package/build/client/assets/l-CUu9epW4.js +2 -0
  150. package/build/client/assets/{l-BVKiZXxi.js.map → l-CUu9epW4.js.map} +1 -1
  151. package/build/client/assets/launch-editor-BlkLQGcQ.js +2 -0
  152. package/build/client/assets/launch-editor-BlkLQGcQ.js.map +1 -0
  153. package/build/client/assets/{layout-D6mhIN85.js → layout-BtGoqx9J.js} +2 -2
  154. package/build/client/assets/{layout-D6mhIN85.js.map → layout-BtGoqx9J.js.map} +1 -1
  155. package/build/client/assets/{linear-DzkcUc5d.js → linear-DYrUvPIP.js} +2 -2
  156. package/build/client/assets/{linear-DzkcUc5d.js.map → linear-DYrUvPIP.js.map} +1 -1
  157. package/build/client/assets/{loading-BNhICPDU.js → loading--RwoJb4P.js} +2 -2
  158. package/build/client/assets/{loading-BNhICPDU.js.map → loading--RwoJb4P.js.map} +1 -1
  159. package/build/client/assets/{login-BlHGrlhf.js → login-BdjEvdHZ.js} +2 -2
  160. package/build/client/assets/{login-BlHGrlhf.js.map → login-BdjEvdHZ.js.map} +1 -1
  161. package/build/client/assets/login-sse-BlkLQGcQ.js +2 -0
  162. package/build/client/assets/login-sse-BlkLQGcQ.js.map +1 -0
  163. package/build/client/assets/lookout-BlkLQGcQ.js +2 -0
  164. package/build/client/assets/lookout-BlkLQGcQ.js.map +1 -0
  165. package/build/client/assets/manifest-4db796bb.js +1 -0
  166. package/build/client/assets/{mdx-C_UXfjhb.js → mdx-C1PObfiW.js} +3 -3
  167. package/build/client/assets/{mdx-C_UXfjhb.js.map → mdx-C1PObfiW.js.map} +1 -1
  168. package/build/client/assets/{mermaid.core-BL96QF8B.js → mermaid.core-DC-e6S_k.js} +5 -5
  169. package/build/client/assets/{mermaid.core-BL96QF8B.js.map → mermaid.core-DC-e6S_k.js.map} +1 -1
  170. package/build/client/assets/{mindmap-definition-CZNETY7S-RlhMtGN2.js → mindmap-definition-CZNETY7S-IFAb2F9-.js} +2 -2
  171. package/build/client/assets/{mindmap-definition-CZNETY7S-RlhMtGN2.js.map → mindmap-definition-CZNETY7S-IFAb2F9-.js.map} +1 -1
  172. package/build/client/assets/{misc-Cf8Bjd0w.js → misc-BKF_RPlm.js} +2 -2
  173. package/build/client/assets/{misc-Cf8Bjd0w.js.map → misc-BKF_RPlm.js.map} +1 -1
  174. package/build/client/assets/{nav-chevrons-BFuz0ufY.js → nav-chevrons-Bg7v1P3d.js} +2 -2
  175. package/build/client/assets/{nav-chevrons-BFuz0ufY.js.map → nav-chevrons-Bg7v1P3d.js.map} +1 -1
  176. package/build/client/assets/notifications-BlkLQGcQ.js +2 -0
  177. package/build/client/assets/notifications-BlkLQGcQ.js.map +1 -0
  178. package/build/client/assets/og-BlkLQGcQ.js +2 -0
  179. package/build/client/assets/og-BlkLQGcQ.js.map +1 -0
  180. package/build/client/assets/{onboarding-B4RQGyJj.js → onboarding-BYE3khgR.js} +2 -2
  181. package/build/client/assets/{onboarding-B4RQGyJj.js.map → onboarding-BYE3khgR.js.map} +1 -1
  182. package/build/client/assets/{online-DyhNsSFt.js → online-DC9kXHoI.js} +2 -2
  183. package/build/client/assets/{online-DyhNsSFt.js.map → online-DC9kXHoI.js.map} +1 -1
  184. package/build/client/assets/{pe-BbN41Can.js → pe-CuizilvG.js} +2 -2
  185. package/build/client/assets/{pe-BbN41Can.js.map → pe-CuizilvG.js.map} +1 -1
  186. package/build/client/assets/{pieDiagram-NIOCPIFQ-Ccdj-DTl.js → pieDiagram-NIOCPIFQ-BAUYYf_d.js} +2 -2
  187. package/build/client/assets/{pieDiagram-NIOCPIFQ-Ccdj-DTl.js.map → pieDiagram-NIOCPIFQ-BAUYYf_d.js.map} +1 -1
  188. package/build/client/assets/{preferences-ZyBgcUry.js → preferences-ApDJOq-C.js} +2 -2
  189. package/build/client/assets/{preferences-ZyBgcUry.js.map → preferences-ApDJOq-C.js.map} +1 -1
  190. package/build/client/assets/{presence-D6gaLMOG.js → presence-DLKPvngv.js} +2 -2
  191. package/build/client/assets/{presence-D6gaLMOG.js.map → presence-DLKPvngv.js.map} +1 -1
  192. package/build/client/assets/{preview-BG8QdifV.js → preview-Cdt_sThD.js} +2 -2
  193. package/build/client/assets/{preview-BG8QdifV.js.map → preview-Cdt_sThD.js.map} +1 -1
  194. package/build/client/assets/processes-BlkLQGcQ.js +2 -0
  195. package/build/client/assets/processes-BlkLQGcQ.js.map +1 -0
  196. package/build/client/assets/{product-Dr73IBtz.js → product-RvErxzj5.js} +2 -2
  197. package/build/client/assets/{product-Dr73IBtz.js.map → product-RvErxzj5.js.map} +1 -1
  198. package/build/client/assets/progress-BlkLQGcQ.js +2 -0
  199. package/build/client/assets/progress-BlkLQGcQ.js.map +1 -0
  200. package/build/client/assets/{progress-bar-Diy0Pj8s.js → progress-bar-Df7eu_-D.js} +2 -2
  201. package/build/client/assets/{progress-bar-Diy0Pj8s.js.map → progress-bar-Df7eu_-D.js.map} +1 -1
  202. package/build/client/assets/{progress-BnF8bIP4.js → progress-xvV8j2Cg.js} +2 -2
  203. package/build/client/assets/{progress-BnF8bIP4.js.map → progress-xvV8j2Cg.js.map} +1 -1
  204. package/build/client/assets/{quadrantDiagram-2OG54O6I-Vt5TfinS.js → quadrantDiagram-2OG54O6I-BRgITDfC.js} +2 -2
  205. package/build/client/assets/{quadrantDiagram-2OG54O6I-Vt5TfinS.js.map → quadrantDiagram-2OG54O6I-BRgITDfC.js.map} +1 -1
  206. package/build/client/assets/{requirementDiagram-SO3GGRV7-bH3G2By2.js → requirementDiagram-SO3GGRV7-B-SUlHLw.js} +2 -2
  207. package/build/client/assets/{requirementDiagram-SO3GGRV7-bH3G2By2.js.map → requirementDiagram-SO3GGRV7-B-SUlHLw.js.map} +1 -1
  208. package/build/client/assets/{revalidation-ws-DRQS4pz6.js → revalidation-ws-DpnD4KT8.js} +2 -2
  209. package/build/client/assets/{revalidation-ws-DRQS4pz6.js.map → revalidation-ws-DpnD4KT8.js.map} +1 -1
  210. package/build/client/assets/robots_._txt-BlkLQGcQ.js +2 -0
  211. package/build/client/assets/robots_._txt-BlkLQGcQ.js.map +1 -0
  212. package/build/client/assets/{root-Bp2Yx-P5.js → root-QZvMAiun.js} +2 -2
  213. package/build/client/assets/{root-Bp2Yx-P5.js.map → root-QZvMAiun.js.map} +1 -1
  214. package/build/client/assets/{sankeyDiagram-4UZDY2LN-heIwZYxQ.js → sankeyDiagram-4UZDY2LN-esQpIZB6.js} +2 -2
  215. package/build/client/assets/{sankeyDiagram-4UZDY2LN-heIwZYxQ.js.map → sankeyDiagram-4UZDY2LN-esQpIZB6.js.map} +1 -1
  216. package/build/client/assets/{seo-Bq_zunmn.js → seo-rl8-NY97.js} +2 -2
  217. package/build/client/assets/{seo-Bq_zunmn.js.map → seo-rl8-NY97.js.map} +1 -1
  218. package/build/client/assets/{sequenceDiagram-ZIKVLSP4-XcRri2Jv.js → sequenceDiagram-ZIKVLSP4-DbzETn2M.js} +2 -2
  219. package/build/client/assets/{sequenceDiagram-ZIKVLSP4-XcRri2Jv.js.map → sequenceDiagram-ZIKVLSP4-DbzETn2M.js.map} +1 -1
  220. package/build/client/assets/set-playground-BlkLQGcQ.js +2 -0
  221. package/build/client/assets/set-playground-BlkLQGcQ.js.map +1 -0
  222. package/build/client/assets/{set-playground-De8d0EOr.js → set-playground-Bo9wfdvF.js} +2 -2
  223. package/build/client/assets/{set-playground-De8d0EOr.js.map → set-playground-Bo9wfdvF.js.map} +1 -1
  224. package/build/client/assets/sitemap_._xml-BlkLQGcQ.js +2 -0
  225. package/build/client/assets/sitemap_._xml-BlkLQGcQ.js.map +1 -0
  226. package/build/client/assets/start-BlkLQGcQ.js +2 -0
  227. package/build/client/assets/start-BlkLQGcQ.js.map +1 -0
  228. package/build/client/assets/{stateDiagram-XX37X6EN-m_LYnQvw.js → stateDiagram-XX37X6EN-DNNvg29I.js} +2 -2
  229. package/build/client/assets/{stateDiagram-XX37X6EN-m_LYnQvw.js.map → stateDiagram-XX37X6EN-DNNvg29I.js.map} +1 -1
  230. package/build/client/assets/stateDiagram-v2-GD6S3NHB-BgqScrEb.js +2 -0
  231. package/build/client/assets/{stateDiagram-v2-GD6S3NHB-21gqwE97.js.map → stateDiagram-v2-GD6S3NHB-BgqScrEb.js.map} +1 -1
  232. package/build/client/assets/{support-DvHdkpSz.js → support-CyIjiBIC.js} +2 -2
  233. package/build/client/assets/{support-DvHdkpSz.js.map → support-CyIjiBIC.js.map} +1 -1
  234. package/build/client/assets/test-BlkLQGcQ.js +2 -0
  235. package/build/client/assets/test-BlkLQGcQ.js.map +1 -0
  236. package/build/client/assets/test-BqsOiuRA.js +2 -0
  237. package/build/client/assets/{test-Bx_Pm2KZ.js.map → test-BqsOiuRA.js.map} +1 -1
  238. package/build/client/assets/test._testName-BlkLQGcQ.js +2 -0
  239. package/build/client/assets/test._testName-BlkLQGcQ.js.map +1 -0
  240. package/build/client/assets/test.epic_ws_.js_-BlkLQGcQ.js +2 -0
  241. package/build/client/assets/test.epic_ws_.js_-BlkLQGcQ.js.map +1 -0
  242. package/build/client/assets/{tests-BnxiptFz.js → tests-DiRhCtvz.js} +2 -2
  243. package/build/client/assets/{tests-BnxiptFz.js.map → tests-DiRhCtvz.js.map} +1 -1
  244. package/build/client/assets/{timeline-definition-RI47OAVP-TryH_-B6.js → timeline-definition-RI47OAVP-BtSKBa09.js} +2 -2
  245. package/build/client/assets/{timeline-definition-RI47OAVP-TryH_-B6.js.map → timeline-definition-RI47OAVP-BtSKBa09.js.map} +1 -1
  246. package/build/client/assets/{tooltip-BZkEYlJq.js → tooltip-BjCA1w1z.js} +2 -2
  247. package/build/client/assets/{tooltip-BZkEYlJq.js.map → tooltip-BjCA1w1z.js.map} +1 -1
  248. package/build/client/assets/{treemap-6Y5VK53G-D9M1Degv.js → treemap-6Y5VK53G-DXmy7767.js} +2 -2
  249. package/build/client/assets/{treemap-6Y5VK53G-D9M1Degv.js.map → treemap-6Y5VK53G-DXmy7767.js.map} +1 -1
  250. package/build/client/assets/{use-event-source-B21L1pT7.js → use-event-source-BpKU8IIa.js} +2 -2
  251. package/build/client/assets/{use-event-source-B21L1pT7.js.map → use-event-source-BpKU8IIa.js.map} +1 -1
  252. package/build/client/assets/{user-CcCT1Oyg.js → user-CRSKXO0J.js} +2 -2
  253. package/build/client/assets/{user-CcCT1Oyg.js.map → user-CRSKXO0J.js.map} +1 -1
  254. package/build/client/assets/{version-CV27afsO.js → version-Bf21_6h1.js} +2 -2
  255. package/build/client/assets/{version-CV27afsO.js.map → version-Bf21_6h1.js.map} +1 -1
  256. package/build/client/assets/workshop-config-OWj8BrkR.js +2 -0
  257. package/build/client/assets/{workshop-config-KBjcnFp6.js.map → workshop-config-OWj8BrkR.js.map} +1 -1
  258. package/build/client/assets/{workspace-structure-BUY4str-.js → workspace-structure-C-E0pFUy.js} +2 -2
  259. package/build/client/assets/{workspace-structure-BUY4str-.js.map → workspace-structure-C-E0pFUy.js.map} +1 -1
  260. package/build/client/assets/{xychartDiagram-H2YORKM3-B_LwwIhP.js → xychartDiagram-H2YORKM3-CvTQQnZ3.js} +2 -2
  261. package/build/client/assets/{xychartDiagram-H2YORKM3-B_LwwIhP.js.map → xychartDiagram-H2YORKM3-CvTQQnZ3.js.map} +1 -1
  262. package/build/server/index.js +2 -2
  263. package/dist/server/index.js +4 -4
  264. package/package.json +1 -1
  265. package/build/client/assets/_-e2Xlkk6B.js.map +0 -1
  266. package/build/client/assets/_exerciseNumber_._stepNumber.index-BBC0ayEL.js +0 -2
  267. package/build/client/assets/_exerciseNumber_._stepNumber.index-BBC0ayEL.js.map +0 -1
  268. package/build/client/assets/_layout-B9ye-9Ji.js +0 -2
  269. package/build/client/assets/api._-BBC0ayEL.js +0 -2
  270. package/build/client/assets/api._-BBC0ayEL.js.map +0 -1
  271. package/build/client/assets/app-rPujQnzF.js +0 -2
  272. package/build/client/assets/app.epic_ws_.js_-BBC0ayEL.js +0 -2
  273. package/build/client/assets/app.epic_ws_.js_-BBC0ayEL.js.map +0 -1
  274. package/build/client/assets/apps-BBC0ayEL.js +0 -2
  275. package/build/client/assets/apps-BBC0ayEL.js.map +0 -1
  276. package/build/client/assets/apps-JYhDaKVC.js +0 -2
  277. package/build/client/assets/apps-JYhDaKVC.js.map +0 -1
  278. package/build/client/assets/cache-BBC0ayEL.js +0 -2
  279. package/build/client/assets/cache-BBC0ayEL.js.map +0 -1
  280. package/build/client/assets/channel-CoGTYC4P.js +0 -2
  281. package/build/client/assets/classDiagram-BGRH5UQR-Bf48axcX.js +0 -2
  282. package/build/client/assets/classDiagram-v2-O24JOBDK-Bf48axcX.js +0 -2
  283. package/build/client/assets/clone-pdHbjyZH.js +0 -2
  284. package/build/client/assets/diff-Co5HpzMF.js +0 -2
  285. package/build/client/assets/discord-DdNrm1FN.js +0 -2
  286. package/build/client/assets/discord-DdNrm1FN.js.map +0 -1
  287. package/build/client/assets/epic_ws_.js_-BBC0ayEL.js +0 -2
  288. package/build/client/assets/epic_ws_.js_-BBC0ayEL.js.map +0 -1
  289. package/build/client/assets/exercises-BBC0ayEL.js +0 -2
  290. package/build/client/assets/exercises-BBC0ayEL.js.map +0 -1
  291. package/build/client/assets/healthcheck-BBC0ayEL.js +0 -2
  292. package/build/client/assets/healthcheck-BBC0ayEL.js.map +0 -1
  293. package/build/client/assets/index-BBC0ayEL.js +0 -2
  294. package/build/client/assets/index-BBC0ayEL.js.map +0 -1
  295. package/build/client/assets/index-BNCOcodY.js +0 -2
  296. package/build/client/assets/index-BNCOcodY.js.map +0 -1
  297. package/build/client/assets/index-JYhDaKVC.js +0 -2
  298. package/build/client/assets/index-JYhDaKVC.js.map +0 -1
  299. package/build/client/assets/infoDiagram-XT3IWWJI-B1i2X3um.js +0 -3
  300. package/build/client/assets/l-BVKiZXxi.js +0 -2
  301. package/build/client/assets/launch-editor-BBC0ayEL.js +0 -2
  302. package/build/client/assets/launch-editor-BBC0ayEL.js.map +0 -1
  303. package/build/client/assets/login-sse-BBC0ayEL.js +0 -2
  304. package/build/client/assets/login-sse-BBC0ayEL.js.map +0 -1
  305. package/build/client/assets/lookout-BBC0ayEL.js +0 -2
  306. package/build/client/assets/lookout-BBC0ayEL.js.map +0 -1
  307. package/build/client/assets/manifest-3cb94b1e.js +0 -1
  308. package/build/client/assets/notifications-BBC0ayEL.js +0 -2
  309. package/build/client/assets/notifications-BBC0ayEL.js.map +0 -1
  310. package/build/client/assets/og-BBC0ayEL.js +0 -2
  311. package/build/client/assets/og-BBC0ayEL.js.map +0 -1
  312. package/build/client/assets/processes-BBC0ayEL.js +0 -2
  313. package/build/client/assets/processes-BBC0ayEL.js.map +0 -1
  314. package/build/client/assets/progress-BBC0ayEL.js +0 -2
  315. package/build/client/assets/progress-BBC0ayEL.js.map +0 -1
  316. package/build/client/assets/robots_._txt-BBC0ayEL.js +0 -2
  317. package/build/client/assets/robots_._txt-BBC0ayEL.js.map +0 -1
  318. package/build/client/assets/set-playground-BBC0ayEL.js +0 -2
  319. package/build/client/assets/set-playground-BBC0ayEL.js.map +0 -1
  320. package/build/client/assets/sitemap_._xml-BBC0ayEL.js +0 -2
  321. package/build/client/assets/sitemap_._xml-BBC0ayEL.js.map +0 -1
  322. package/build/client/assets/start-BBC0ayEL.js +0 -2
  323. package/build/client/assets/start-BBC0ayEL.js.map +0 -1
  324. package/build/client/assets/stateDiagram-v2-GD6S3NHB-21gqwE97.js +0 -2
  325. package/build/client/assets/test-BBC0ayEL.js +0 -2
  326. package/build/client/assets/test-BBC0ayEL.js.map +0 -1
  327. package/build/client/assets/test-Bx_Pm2KZ.js +0 -2
  328. package/build/client/assets/test._testName-BBC0ayEL.js +0 -2
  329. package/build/client/assets/test._testName-BBC0ayEL.js.map +0 -1
  330. package/build/client/assets/test.epic_ws_.js_-BBC0ayEL.js +0 -2
  331. package/build/client/assets/test.epic_ws_.js_-BBC0ayEL.js.map +0 -1
  332. package/build/client/assets/workshop-config-KBjcnFp6.js +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BlkLQGcQ.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import"./_-C_1veCf_.js";
2
+ //# sourceMappingURL=index-BuOzfNde.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BuOzfNde.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{w as u,f as b,L as a,F as i}from"./chunk-QMGIS6GS-wDvgi5co.js";import{j as e}from"./jsx-runtime-Ws3ZaoIr.js";import{I as d}from"./misc-Cf8Bjd0w.js";import{S as j}from"./tooltip-BZkEYlJq.js";import{a as f}from"./progress-BnF8bIP4.js";import"./_-e2Xlkk6B.js";import"./clsx-B-dksMZM.js";import"./index-B-zz6paP.js";import"./pe-BbN41Can.js";const D={getSitemapEntries:()=>null},L=({matches:t})=>[{title:`👷 | ${t.find(r=>r?.id==="root")?.data?.workshopTitle}`}];function g(t,n){return t.type==="unknown"&&n.type==="unknown"?0:t.type==="unknown"?-1:n.type==="unknown"?1:0}function N(t){switch(t.type){case"workshop-instructions":return"/";case"workshop-finished":return"/finished";case"instructions":return`/${t.exerciseNumber.toString().padStart(2,"0")}`;case"step":return`/${t.exerciseNumber.toString().padStart(2,"0")}/${t.stepNumber.toString().padStart(2,"0")}`;case"finished":return`/${t.exerciseNumber.toString().padStart(2,"0")}/finished`;default:return""}}const E=u(function({loaderData:n}){const r=b(),o=f(),h=r.formData?.get("intent")==="inspect",m=r.formData?.get("intent")==="stop-inspect",x={completed:"bg-blue-500",incomplete:"bg-yellow-500"};return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Progress"}),o?e.jsx("ul",{className:"flex max-h-72 flex-col gap-2 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:o.sort(g).map(s=>{const l=s.epicCompletedAt?"completed":"incomplete",c=[s.epicLessonSlug,s.epicCompletedAt?`(${s.epicCompletedAt})`:null].filter(Boolean).join(" ");return e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`h-3 w-3 rounded-full ${x[l]}`,title:l}),s.type==="unknown"?e.jsxs("span",{className:"flex items-center gap-1",children:[c,e.jsx("span",{className:"text-red-500",children:e.jsx(j,{content:"This video is in the workshop on EpicWeb.dev, but not in the local workshop.",children:e.jsx(d,{name:"Close"})})})]}):e.jsx(a,{to:N(s),children:c}),e.jsx(a,{to:s.epicLessonUrl,children:e.jsx(d,{name:"ExternalLink"})})]},s.epicLessonSlug)})}):e.jsx("p",{children:"No progress data"})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Commands"}),e.jsxs("ul",{className:"max-h-48 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:[e.jsx("li",{children:e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"clear-caches",children:"Clear local caches"})})}),e.jsx("li",{children:e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"clear-data",children:"Clear all local data (including auth data)"})})}),e.jsx("li",{children:n.inspectorRunning?e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"stop-inspect",children:h?"Stopping inspector...":"Stop inspector"})}):e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"inspect",children:m?"Starting inspector...":"Start inspector"})})})]})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Apps"}),e.jsx("ul",{className:"max-h-48 list-none overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:n.apps.map(s=>e.jsxs("li",{className:"flex items-center gap-2 py-1",children:[n.processes[s.name]?e.jsx(p,{status:"running"}):e.jsx(p,{status:"stopped"}),s.name]},s.name))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Processes"}),e.jsx("ul",{className:"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:Object.entries(n.processes).map(([s,l])=>e.jsx("li",{children:e.jsxs("span",{children:[s," - Port: ",l.port," - PID ",l.pid," -"," ",l.color]})},s))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Test Processes"}),e.jsx("ul",{className:"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:Object.entries(n.testProcesses).map(([s,l])=>e.jsx("li",{children:e.jsxs("span",{children:[s," - PID ",l.pid," - Exit code: ",l.exitCode]})},s))})]})]})});function p({status:t}){const n={running:{pinger:"bg-green-400",circle:"bg-green-500"},starting:{pinger:"bg-sky-400",circle:"bg-sky-500"},stopped:{circle:"bg-gray-500"},taken:{pinger:"bg-red-400",circle:"bg-red-500"}}[t];return e.jsxs("span",{className:"relative flex h-3 w-3",children:[n.pinger?e.jsx("span",{className:`absolute inline-flex h-full w-full animate-ping rounded-full ${n.pinger} opacity-75`}):null,e.jsx("span",{className:`relative inline-flex h-3 w-3 rounded-full ${n.circle}`})]})}export{E as default,D as handle,L as meta};
2
- //# sourceMappingURL=index-BP6Pl2jJ.js.map
1
+ import{w as u,f as b,L as a,F as i}from"./chunk-QMGIS6GS-BL6gelUt.js";import{j as e}from"./jsx-runtime-9Cyy0ME_.js";import{I as d}from"./misc-BKF_RPlm.js";import{S as j}from"./tooltip-BjCA1w1z.js";import{a as f}from"./progress-xvV8j2Cg.js";import"./_-C_1veCf_.js";import"./clsx-B-dksMZM.js";import"./index-CdhBx9jS.js";import"./pe-CuizilvG.js";const D={getSitemapEntries:()=>null},L=({matches:t})=>[{title:`👷 | ${t.find(r=>r?.id==="root")?.data?.workshopTitle}`}];function g(t,n){return t.type==="unknown"&&n.type==="unknown"?0:t.type==="unknown"?-1:n.type==="unknown"?1:0}function N(t){switch(t.type){case"workshop-instructions":return"/";case"workshop-finished":return"/finished";case"instructions":return`/${t.exerciseNumber.toString().padStart(2,"0")}`;case"step":return`/${t.exerciseNumber.toString().padStart(2,"0")}/${t.stepNumber.toString().padStart(2,"0")}`;case"finished":return`/${t.exerciseNumber.toString().padStart(2,"0")}/finished`;default:return""}}const E=u(function({loaderData:n}){const r=b(),o=f(),h=r.formData?.get("intent")==="inspect",m=r.formData?.get("intent")==="stop-inspect",x={completed:"bg-blue-500",incomplete:"bg-yellow-500"};return e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Progress"}),o?e.jsx("ul",{className:"flex max-h-72 flex-col gap-2 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:o.sort(g).map(s=>{const l=s.epicCompletedAt?"completed":"incomplete",c=[s.epicLessonSlug,s.epicCompletedAt?`(${s.epicCompletedAt})`:null].filter(Boolean).join(" ");return e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx("span",{className:`h-3 w-3 rounded-full ${x[l]}`,title:l}),s.type==="unknown"?e.jsxs("span",{className:"flex items-center gap-1",children:[c,e.jsx("span",{className:"text-red-500",children:e.jsx(j,{content:"This video is in the workshop on EpicWeb.dev, but not in the local workshop.",children:e.jsx(d,{name:"Close"})})})]}):e.jsx(a,{to:N(s),children:c}),e.jsx(a,{to:s.epicLessonUrl,children:e.jsx(d,{name:"ExternalLink"})})]},s.epicLessonSlug)})}):e.jsx("p",{children:"No progress data"})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Commands"}),e.jsxs("ul",{className:"max-h-48 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:[e.jsx("li",{children:e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"clear-caches",children:"Clear local caches"})})}),e.jsx("li",{children:e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"clear-data",children:"Clear all local data (including auth data)"})})}),e.jsx("li",{children:n.inspectorRunning?e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"stop-inspect",children:h?"Stopping inspector...":"Stop inspector"})}):e.jsx(i,{method:"POST",children:e.jsx("button",{name:"intent",value:"inspect",children:m?"Starting inspector...":"Start inspector"})})})]})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Apps"}),e.jsx("ul",{className:"max-h-48 list-none overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:n.apps.map(s=>e.jsxs("li",{className:"flex items-center gap-2 py-1",children:[n.processes[s.name]?e.jsx(p,{status:"running"}):e.jsx(p,{status:"stopped"}),s.name]},s.name))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Processes"}),e.jsx("ul",{className:"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:Object.entries(n.processes).map(([s,l])=>e.jsx("li",{children:e.jsxs("span",{children:[s," - Port: ",l.port," - PID ",l.pid," -"," ",l.color]})},s))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-bold",children:"Test Processes"}),e.jsx("ul",{className:"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar",children:Object.entries(n.testProcesses).map(([s,l])=>e.jsx("li",{children:e.jsxs("span",{children:[s," - PID ",l.pid," - Exit code: ",l.exitCode]})},s))})]})]})});function p({status:t}){const n={running:{pinger:"bg-green-400",circle:"bg-green-500"},starting:{pinger:"bg-sky-400",circle:"bg-sky-500"},stopped:{circle:"bg-gray-500"},taken:{pinger:"bg-red-400",circle:"bg-red-500"}}[t];return e.jsxs("span",{className:"relative flex h-3 w-3",children:[n.pinger?e.jsx("span",{className:`absolute inline-flex h-full w-full animate-ping rounded-full ${n.pinger} opacity-75`}):null,e.jsx("span",{className:`relative inline-flex h-3 w-3 rounded-full ${n.circle}`})]})}export{E as default,D as handle,L as meta};
2
+ //# sourceMappingURL=index-CTGuLtUh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-BP6Pl2jJ.js","sources":["../../../app/routes/admin+/index.tsx"],"sourcesContent":["import { getApps } from '@epic-web/workshop-utils/apps.server'\nimport { getProcesses } from '@epic-web/workshop-utils/process-manager.server'\nimport {\n\tgetServerTimeHeader,\n\tmakeTimings,\n} from '@epic-web/workshop-utils/timing.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { data, Form, Link, useNavigation } from 'react-router'\nimport { Icon } from '#app/components/icons.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.tsx'\nimport { type RootLoaderData } from '#app/root.tsx'\nimport {\n\tuseEpicProgress,\n\ttype SerializedProgress,\n} from '#app/routes/progress.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { type Route } from './+types/index.tsx'\nimport {\n\tclearCaches,\n\tclearData,\n\tstartInspector,\n\tstopInspector,\n} from './admin-utils.server.tsx'\n\ndeclare global {\n\tvar __inspector_open__: boolean | undefined\n}\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport const meta: Route.MetaFunction = ({ matches }) => {\n\tconst rootData = matches.find((m) => m?.id === 'root')?.data as RootLoaderData\n\treturn [{ title: `👷 | ${rootData?.workshopTitle}` }]\n}\n\nexport async function loader({ request }: Route.LoaderArgs) {\n\tensureUndeployed()\n\tconst timings = makeTimings('adminLoader')\n\tconst apps = (await getApps({ request, timings })).filter(\n\t\t(a, i, ar) => ar.findIndex((b) => a.name === b.name) === i,\n\t)\n\tconst processes: Record<\n\t\tstring,\n\t\t{ port: number; pid?: number; color: string }\n\t> = {}\n\tconst testProcesses: Record<\n\t\tstring,\n\t\t{ pid?: number; exitCode?: number | null }\n\t> = {}\n\tfor (const [\n\t\tname,\n\t\t{ port, process, color },\n\t] of getProcesses().devProcesses.entries()) {\n\t\tprocesses[name] = { port, pid: process.pid, color }\n\t}\n\n\tfor (const [\n\t\tname,\n\t\t{ process, exitCode },\n\t] of getProcesses().testProcesses.entries()) {\n\t\ttestProcesses[name] = { pid: process?.pid, exitCode }\n\t}\n\treturn data(\n\t\t{\n\t\t\tapps,\n\t\t\tprocesses,\n\t\t\ttestProcesses,\n\t\t\tinspectorRunning: global.__inspector_open__,\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': getServerTimeHeader(timings),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport async function action({ request }: Route.ActionArgs) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\tconst intent = formData.get('intent')\n\tswitch (intent) {\n\t\tcase 'clear-data': {\n\t\t\tawait clearData()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'clear-caches': {\n\t\t\tawait clearCaches()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'inspect': {\n\t\t\tawait startInspector()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'stop-inspect': {\n\t\t\tawait stopInspector()\n\t\t\treturn { success: true }\n\t\t}\n\t\tdefault: {\n\t\t\tthrow new Error(`Unknown intent: ${intent}`)\n\t\t}\n\t}\n}\n\nfunction sortProgress(a: SerializedProgress, b: SerializedProgress) {\n\treturn a.type === 'unknown' && b.type === 'unknown'\n\t\t? 0\n\t\t: a.type === 'unknown'\n\t\t\t? -1\n\t\t\t: b.type === 'unknown'\n\t\t\t\t? 1\n\t\t\t\t: 0\n}\n\nfunction linkProgress(progress: SerializedProgress) {\n\tswitch (progress.type) {\n\t\tcase 'workshop-instructions':\n\t\t\treturn '/'\n\t\tcase 'workshop-finished':\n\t\t\treturn '/finished'\n\t\tcase 'instructions':\n\t\t\treturn `/${progress.exerciseNumber.toString().padStart(2, '0')}`\n\t\tcase 'step':\n\t\t\treturn `/${progress.exerciseNumber\n\t\t\t\t.toString()\n\t\t\t\t.padStart(2, '0')}/${progress.stepNumber.toString().padStart(2, '0')}`\n\t\tcase 'finished':\n\t\t\treturn `/${progress.exerciseNumber.toString().padStart(2, '0')}/finished`\n\t\tdefault:\n\t\t\treturn ''\n\t}\n}\n\nexport default function AdminLayout({\n\tloaderData: data,\n}: Route.ComponentProps) {\n\tconst navigation = useNavigation()\n\tconst epicProgress = useEpicProgress()\n\n\tconst isStartingInspector = navigation.formData?.get('intent') === 'inspect'\n\tconst isStoppingInspector =\n\t\tnavigation.formData?.get('intent') === 'stop-inspect'\n\n\tconst progressStatus = {\n\t\tcompleted: 'bg-blue-500',\n\t\tincomplete: 'bg-yellow-500',\n\t}\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Progress</h2>\n\t\t\t\t{epicProgress ? (\n\t\t\t\t\t<ul className=\"flex max-h-72 flex-col gap-2 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t\t{epicProgress.sort(sortProgress).map((progress) => {\n\t\t\t\t\t\t\tconst status = progress.epicCompletedAt\n\t\t\t\t\t\t\t\t? 'completed'\n\t\t\t\t\t\t\t\t: 'incomplete'\n\t\t\t\t\t\t\tconst label = [\n\t\t\t\t\t\t\t\tprogress.epicLessonSlug,\n\t\t\t\t\t\t\t\tprogress.epicCompletedAt\n\t\t\t\t\t\t\t\t\t? `(${progress.epicCompletedAt})`\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t.join(' ')\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tkey={progress.epicLessonSlug}\n\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-2\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName={`h-3 w-3 rounded-full ${progressStatus[status]}`}\n\t\t\t\t\t\t\t\t\t\ttitle={status}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{progress.type === 'unknown' ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-red-500\">\n\t\t\t\t\t\t\t\t\t\t\t\t<SimpleTooltip content=\"This video is in the workshop on EpicWeb.dev, but not in the local workshop.\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon name=\"Close\" />\n\t\t\t\t\t\t\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<Link to={linkProgress(progress)}>{label}</Link>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<Link to={progress.epicLessonUrl}>\n\t\t\t\t\t\t\t\t\t\t<Icon name=\"ExternalLink\"></Icon>\n\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t) : (\n\t\t\t\t\t<p>No progress data</p>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Commands</h2>\n\t\t\t\t<ul className=\"max-h-48 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t<button name=\"intent\" value=\"clear-caches\">\n\t\t\t\t\t\t\t\tClear local caches\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Form>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t<button name=\"intent\" value=\"clear-data\">\n\t\t\t\t\t\t\t\tClear all local data (including auth data)\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Form>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t{data.inspectorRunning ? (\n\t\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t\t<button name=\"intent\" value=\"stop-inspect\">\n\t\t\t\t\t\t\t\t\t{isStartingInspector\n\t\t\t\t\t\t\t\t\t\t? 'Stopping inspector...'\n\t\t\t\t\t\t\t\t\t\t: 'Stop inspector'}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t\t<button name=\"intent\" value=\"inspect\">\n\t\t\t\t\t\t\t\t\t{isStoppingInspector\n\t\t\t\t\t\t\t\t\t\t? 'Starting inspector...'\n\t\t\t\t\t\t\t\t\t\t: 'Start inspector'}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Apps</h2>\n\t\t\t\t<ul className=\"max-h-48 list-none overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{data.apps.map((app) => (\n\t\t\t\t\t\t<li key={app.name} className=\"flex items-center gap-2 py-1\">\n\t\t\t\t\t\t\t{data.processes[app.name] ? (\n\t\t\t\t\t\t\t\t<Pinger status=\"running\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Pinger status=\"stopped\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{app.name}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Processes</h2>\n\t\t\t\t<ul className=\"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{Object.entries(data.processes).map(([key, process]) => (\n\t\t\t\t\t\t<li key={key}>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t{key} - Port: {process.port} - PID {process.pid} -{' '}\n\t\t\t\t\t\t\t\t{process.color}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Test Processes</h2>\n\t\t\t\t<ul className=\"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{Object.entries(data.testProcesses).map(([key, process]) => (\n\t\t\t\t\t\t<li key={key}>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t{key} - PID {process.pid} - Exit code: {process.exitCode}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nfunction Pinger({\n\tstatus,\n}: {\n\tstatus: 'running' | 'starting' | 'stopped' | 'taken'\n}) {\n\tconst colors = {\n\t\trunning: {\n\t\t\tpinger: 'bg-green-400',\n\t\t\tcircle: 'bg-green-500',\n\t\t},\n\t\tstarting: {\n\t\t\tpinger: 'bg-sky-400',\n\t\t\tcircle: 'bg-sky-500',\n\t\t},\n\t\tstopped: {\n\t\t\tcircle: 'bg-gray-500',\n\t\t},\n\t\ttaken: {\n\t\t\tpinger: 'bg-red-400',\n\t\t\tcircle: 'bg-red-500',\n\t\t},\n\t}[status]\n\treturn (\n\t\t<span className=\"relative flex h-3 w-3\">\n\t\t\t{colors.pinger ? (\n\t\t\t\t<span\n\t\t\t\t\tclassName={`absolute inline-flex h-full w-full animate-ping rounded-full ${colors.pinger} opacity-75`}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<span\n\t\t\t\tclassName={`relative inline-flex h-3 w-3 rounded-full ${colors.circle}`}\n\t\t\t/>\n\t\t</span>\n\t)\n}\n"],"names":["handle","getSitemapEntries","meta","matches","title","find","m","id","data","workshopTitle","sortProgress","a","b","type","linkProgress","progress","exerciseNumber","toString","padStart","stepNumber","index","_UNSAFE_withComponentProps","loaderData","navigation","useNavigation","epicProgress","useEpicProgress","isStartingInspector","formData","get","isStoppingInspector","progressStatus","completed","incomplete","jsxs","className","children","jsx","sort","map","status","epicCompletedAt","label","epicLessonSlug","filter","Boolean","join","SimpleTooltip","content","Icon","name","Link","to","epicLessonUrl","Form","method","value","inspectorRunning","apps","app","processes","Pinger","Object","entries","key","process","port","pid","color","testProcesses","exitCode","colors","running","pinger","circle","starting","stopped","taken"],"mappings":"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"}
1
+ {"version":3,"file":"index-CTGuLtUh.js","sources":["../../../app/routes/admin+/index.tsx"],"sourcesContent":["import { getApps } from '@epic-web/workshop-utils/apps.server'\nimport { getProcesses } from '@epic-web/workshop-utils/process-manager.server'\nimport {\n\tgetServerTimeHeader,\n\tmakeTimings,\n} from '@epic-web/workshop-utils/timing.server'\nimport { type SEOHandle } from '@nasa-gcn/remix-seo'\nimport { data, Form, Link, useNavigation } from 'react-router'\nimport { Icon } from '#app/components/icons.tsx'\nimport { SimpleTooltip } from '#app/components/ui/tooltip.tsx'\nimport { type RootLoaderData } from '#app/root.tsx'\nimport {\n\tuseEpicProgress,\n\ttype SerializedProgress,\n} from '#app/routes/progress.tsx'\nimport { ensureUndeployed } from '#app/utils/misc.tsx'\nimport { type Route } from './+types/index.tsx'\nimport {\n\tclearCaches,\n\tclearData,\n\tstartInspector,\n\tstopInspector,\n} from './admin-utils.server.tsx'\n\ndeclare global {\n\tvar __inspector_open__: boolean | undefined\n}\n\nexport const handle: SEOHandle = {\n\tgetSitemapEntries: () => null,\n}\n\nexport const meta: Route.MetaFunction = ({ matches }) => {\n\tconst rootData = matches.find((m) => m?.id === 'root')?.data as RootLoaderData\n\treturn [{ title: `👷 | ${rootData?.workshopTitle}` }]\n}\n\nexport async function loader({ request }: Route.LoaderArgs) {\n\tensureUndeployed()\n\tconst timings = makeTimings('adminLoader')\n\tconst apps = (await getApps({ request, timings })).filter(\n\t\t(a, i, ar) => ar.findIndex((b) => a.name === b.name) === i,\n\t)\n\tconst processes: Record<\n\t\tstring,\n\t\t{ port: number; pid?: number; color: string }\n\t> = {}\n\tconst testProcesses: Record<\n\t\tstring,\n\t\t{ pid?: number; exitCode?: number | null }\n\t> = {}\n\tfor (const [\n\t\tname,\n\t\t{ port, process, color },\n\t] of getProcesses().devProcesses.entries()) {\n\t\tprocesses[name] = { port, pid: process.pid, color }\n\t}\n\n\tfor (const [\n\t\tname,\n\t\t{ process, exitCode },\n\t] of getProcesses().testProcesses.entries()) {\n\t\ttestProcesses[name] = { pid: process?.pid, exitCode }\n\t}\n\treturn data(\n\t\t{\n\t\t\tapps,\n\t\t\tprocesses,\n\t\t\ttestProcesses,\n\t\t\tinspectorRunning: global.__inspector_open__,\n\t\t},\n\t\t{\n\t\t\theaders: {\n\t\t\t\t'Server-Timing': getServerTimeHeader(timings),\n\t\t\t},\n\t\t},\n\t)\n}\n\nexport async function action({ request }: Route.ActionArgs) {\n\tensureUndeployed()\n\tconst formData = await request.formData()\n\tconst intent = formData.get('intent')\n\tswitch (intent) {\n\t\tcase 'clear-data': {\n\t\t\tawait clearData()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'clear-caches': {\n\t\t\tawait clearCaches()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'inspect': {\n\t\t\tawait startInspector()\n\t\t\treturn { success: true }\n\t\t}\n\t\tcase 'stop-inspect': {\n\t\t\tawait stopInspector()\n\t\t\treturn { success: true }\n\t\t}\n\t\tdefault: {\n\t\t\tthrow new Error(`Unknown intent: ${intent}`)\n\t\t}\n\t}\n}\n\nfunction sortProgress(a: SerializedProgress, b: SerializedProgress) {\n\treturn a.type === 'unknown' && b.type === 'unknown'\n\t\t? 0\n\t\t: a.type === 'unknown'\n\t\t\t? -1\n\t\t\t: b.type === 'unknown'\n\t\t\t\t? 1\n\t\t\t\t: 0\n}\n\nfunction linkProgress(progress: SerializedProgress) {\n\tswitch (progress.type) {\n\t\tcase 'workshop-instructions':\n\t\t\treturn '/'\n\t\tcase 'workshop-finished':\n\t\t\treturn '/finished'\n\t\tcase 'instructions':\n\t\t\treturn `/${progress.exerciseNumber.toString().padStart(2, '0')}`\n\t\tcase 'step':\n\t\t\treturn `/${progress.exerciseNumber\n\t\t\t\t.toString()\n\t\t\t\t.padStart(2, '0')}/${progress.stepNumber.toString().padStart(2, '0')}`\n\t\tcase 'finished':\n\t\t\treturn `/${progress.exerciseNumber.toString().padStart(2, '0')}/finished`\n\t\tdefault:\n\t\t\treturn ''\n\t}\n}\n\nexport default function AdminLayout({\n\tloaderData: data,\n}: Route.ComponentProps) {\n\tconst navigation = useNavigation()\n\tconst epicProgress = useEpicProgress()\n\n\tconst isStartingInspector = navigation.formData?.get('intent') === 'inspect'\n\tconst isStoppingInspector =\n\t\tnavigation.formData?.get('intent') === 'stop-inspect'\n\n\tconst progressStatus = {\n\t\tcompleted: 'bg-blue-500',\n\t\tincomplete: 'bg-yellow-500',\n\t}\n\n\treturn (\n\t\t<div className=\"flex flex-col gap-4\">\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Progress</h2>\n\t\t\t\t{epicProgress ? (\n\t\t\t\t\t<ul className=\"flex max-h-72 flex-col gap-2 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t\t{epicProgress.sort(sortProgress).map((progress) => {\n\t\t\t\t\t\t\tconst status = progress.epicCompletedAt\n\t\t\t\t\t\t\t\t? 'completed'\n\t\t\t\t\t\t\t\t: 'incomplete'\n\t\t\t\t\t\t\tconst label = [\n\t\t\t\t\t\t\t\tprogress.epicLessonSlug,\n\t\t\t\t\t\t\t\tprogress.epicCompletedAt\n\t\t\t\t\t\t\t\t\t? `(${progress.epicCompletedAt})`\n\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t.join(' ')\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tkey={progress.epicLessonSlug}\n\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-2\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tclassName={`h-3 w-3 rounded-full ${progressStatus[status]}`}\n\t\t\t\t\t\t\t\t\t\ttitle={status}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{progress.type === 'unknown' ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"flex items-center gap-1\">\n\t\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"text-red-500\">\n\t\t\t\t\t\t\t\t\t\t\t\t<SimpleTooltip content=\"This video is in the workshop on EpicWeb.dev, but not in the local workshop.\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Icon name=\"Close\" />\n\t\t\t\t\t\t\t\t\t\t\t\t</SimpleTooltip>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<Link to={linkProgress(progress)}>{label}</Link>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<Link to={progress.epicLessonUrl}>\n\t\t\t\t\t\t\t\t\t\t<Icon name=\"ExternalLink\"></Icon>\n\t\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t})}\n\t\t\t\t\t</ul>\n\t\t\t\t) : (\n\t\t\t\t\t<p>No progress data</p>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Commands</h2>\n\t\t\t\t<ul className=\"max-h-48 overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t<button name=\"intent\" value=\"clear-caches\">\n\t\t\t\t\t\t\t\tClear local caches\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Form>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t<button name=\"intent\" value=\"clear-data\">\n\t\t\t\t\t\t\t\tClear all local data (including auth data)\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Form>\n\t\t\t\t\t</li>\n\t\t\t\t\t<li>\n\t\t\t\t\t\t{data.inspectorRunning ? (\n\t\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t\t<button name=\"intent\" value=\"stop-inspect\">\n\t\t\t\t\t\t\t\t\t{isStartingInspector\n\t\t\t\t\t\t\t\t\t\t? 'Stopping inspector...'\n\t\t\t\t\t\t\t\t\t\t: 'Stop inspector'}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Form method=\"POST\">\n\t\t\t\t\t\t\t\t<button name=\"intent\" value=\"inspect\">\n\t\t\t\t\t\t\t\t\t{isStoppingInspector\n\t\t\t\t\t\t\t\t\t\t? 'Starting inspector...'\n\t\t\t\t\t\t\t\t\t\t: 'Start inspector'}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t</Form>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Apps</h2>\n\t\t\t\t<ul className=\"max-h-48 list-none overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{data.apps.map((app) => (\n\t\t\t\t\t\t<li key={app.name} className=\"flex items-center gap-2 py-1\">\n\t\t\t\t\t\t\t{data.processes[app.name] ? (\n\t\t\t\t\t\t\t\t<Pinger status=\"running\" />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Pinger status=\"stopped\" />\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{app.name}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Processes</h2>\n\t\t\t\t<ul className=\"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{Object.entries(data.processes).map(([key, process]) => (\n\t\t\t\t\t\t<li key={key}>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t{key} - Port: {process.port} - PID {process.pid} -{' '}\n\t\t\t\t\t\t\t\t{process.color}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<h2 className=\"text-lg font-bold\">Test Processes</h2>\n\t\t\t\t<ul className=\"overflow-y-scroll border-2 p-8 scrollbar-thin scrollbar-thumb-scrollbar\">\n\t\t\t\t\t{Object.entries(data.testProcesses).map(([key, process]) => (\n\t\t\t\t\t\t<li key={key}>\n\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t{key} - PID {process.pid} - Exit code: {process.exitCode}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nfunction Pinger({\n\tstatus,\n}: {\n\tstatus: 'running' | 'starting' | 'stopped' | 'taken'\n}) {\n\tconst colors = {\n\t\trunning: {\n\t\t\tpinger: 'bg-green-400',\n\t\t\tcircle: 'bg-green-500',\n\t\t},\n\t\tstarting: {\n\t\t\tpinger: 'bg-sky-400',\n\t\t\tcircle: 'bg-sky-500',\n\t\t},\n\t\tstopped: {\n\t\t\tcircle: 'bg-gray-500',\n\t\t},\n\t\ttaken: {\n\t\t\tpinger: 'bg-red-400',\n\t\t\tcircle: 'bg-red-500',\n\t\t},\n\t}[status]\n\treturn (\n\t\t<span className=\"relative flex h-3 w-3\">\n\t\t\t{colors.pinger ? (\n\t\t\t\t<span\n\t\t\t\t\tclassName={`absolute inline-flex h-full w-full animate-ping rounded-full ${colors.pinger} opacity-75`}\n\t\t\t\t/>\n\t\t\t) : null}\n\t\t\t<span\n\t\t\t\tclassName={`relative inline-flex h-3 w-3 rounded-full ${colors.circle}`}\n\t\t\t/>\n\t\t</span>\n\t)\n}\n"],"names":["handle","getSitemapEntries","meta","matches","title","find","m","id","data","workshopTitle","sortProgress","a","b","type","linkProgress","progress","exerciseNumber","toString","padStart","stepNumber","index","_UNSAFE_withComponentProps","loaderData","navigation","useNavigation","epicProgress","useEpicProgress","isStartingInspector","formData","get","isStoppingInspector","progressStatus","completed","incomplete","jsxs","className","children","jsx","sort","map","status","epicCompletedAt","label","epicLessonSlug","filter","Boolean","join","SimpleTooltip","content","Icon","name","Link","to","epicLessonUrl","Form","method","value","inspectorRunning","apps","app","processes","Pinger","Object","entries","key","process","port","pid","color","testProcesses","exitCode","colors","running","pinger","circle","starting","stopped","taken"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{n as O,o as S}from"./chunk-QMGIS6GS-wDvgi5co.js";import"./_-e2Xlkk6B.js";var d={exports:{}},n={};/**
1
+ import{n as O,o as S}from"./chunk-QMGIS6GS-BL6gelUt.js";import"./_-C_1veCf_.js";var d={exports:{}},n={};/**
2
2
  * @license React
3
3
  * react-dom.production.js
4
4
  *
@@ -7,4 +7,4 @@ import{n as O,o as S}from"./chunk-QMGIS6GS-wDvgi5co.js";import"./_-e2Xlkk6B.js";
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
9
  */var l;function R(){if(l)return n;l=1;var u=O();function g(e){var r="https://react.dev/errors/"+e;if(1<arguments.length){r+="?args[]="+encodeURIComponent(arguments[1]);for(var t=2;t<arguments.length;t++)r+="&args[]="+encodeURIComponent(arguments[t])}return"Minified React error #"+e+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function a(){}var i={d:{f:a,r:function(){throw Error(g(522))},D:a,C:a,L:a,m:a,X:a,S:a,M:a},p:0,findDOMNode:null},m=Symbol.for("react.portal");function v(e,r,t){var c=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:m,key:c==null?null:""+c,children:e,containerInfo:r,implementation:t}}var f=u.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function s(e,r){if(e==="font")return"";if(typeof r=="string")return r==="use-credentials"?r:""}return n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,n.createPortal=function(e,r){var t=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!r||r.nodeType!==1&&r.nodeType!==9&&r.nodeType!==11)throw Error(g(299));return v(e,r,null,t)},n.flushSync=function(e){var r=f.T,t=i.p;try{if(f.T=null,i.p=2,e)return e()}finally{f.T=r,i.p=t,i.d.f()}},n.preconnect=function(e,r){typeof e=="string"&&(r?(r=r.crossOrigin,r=typeof r=="string"?r==="use-credentials"?r:"":void 0):r=null,i.d.C(e,r))},n.prefetchDNS=function(e){typeof e=="string"&&i.d.D(e)},n.preinit=function(e,r){if(typeof e=="string"&&r&&typeof r.as=="string"){var t=r.as,c=s(t,r.crossOrigin),y=typeof r.integrity=="string"?r.integrity:void 0,o=typeof r.fetchPriority=="string"?r.fetchPriority:void 0;t==="style"?i.d.S(e,typeof r.precedence=="string"?r.precedence:void 0,{crossOrigin:c,integrity:y,fetchPriority:o}):t==="script"&&i.d.X(e,{crossOrigin:c,integrity:y,fetchPriority:o,nonce:typeof r.nonce=="string"?r.nonce:void 0})}},n.preinitModule=function(e,r){if(typeof e=="string")if(typeof r=="object"&&r!==null){if(r.as==null||r.as==="script"){var t=s(r.as,r.crossOrigin);i.d.M(e,{crossOrigin:t,integrity:typeof r.integrity=="string"?r.integrity:void 0,nonce:typeof r.nonce=="string"?r.nonce:void 0})}}else r==null&&i.d.M(e)},n.preload=function(e,r){if(typeof e=="string"&&typeof r=="object"&&r!==null&&typeof r.as=="string"){var t=r.as,c=s(t,r.crossOrigin);i.d.L(e,t,{crossOrigin:c,integrity:typeof r.integrity=="string"?r.integrity:void 0,nonce:typeof r.nonce=="string"?r.nonce:void 0,type:typeof r.type=="string"?r.type:void 0,fetchPriority:typeof r.fetchPriority=="string"?r.fetchPriority:void 0,referrerPolicy:typeof r.referrerPolicy=="string"?r.referrerPolicy:void 0,imageSrcSet:typeof r.imageSrcSet=="string"?r.imageSrcSet:void 0,imageSizes:typeof r.imageSizes=="string"?r.imageSizes:void 0,media:typeof r.media=="string"?r.media:void 0})}},n.preloadModule=function(e,r){if(typeof e=="string")if(r){var t=s(r.as,r.crossOrigin);i.d.m(e,{as:typeof r.as=="string"&&r.as!=="script"?r.as:void 0,crossOrigin:t,integrity:typeof r.integrity=="string"?r.integrity:void 0})}else i.d.m(e)},n.requestFormReset=function(e){i.d.r(e)},n.unstable_batchedUpdates=function(e,r){return e(r)},n.useFormState=function(e,r,t){return f.H.useFormState(e,r,t)},n.useFormStatus=function(){return f.H.useHostTransitionStatus()},n.version="19.1.0",n}var _;function E(){if(_)return d.exports;_=1;function u(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(u)}catch(g){console.error(g)}}return u(),d.exports=R(),d.exports}var T=E();const p=S(T);export{p as R,E as a,T as r};
10
- //# sourceMappingURL=index-B-zz6paP.js.map
10
+ //# sourceMappingURL=index-CdhBx9jS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-B-zz6paP.js","sources":["../../../../../node_modules/react-dom/cjs/react-dom.production.js","../../../../../node_modules/react-dom/index.js"],"sourcesContent":["/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.1.0\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n"],"names":["React","require$$0","formatProdErrorMessage","code","url","i","noop","Internals","REACT_PORTAL_TYPE","createPortal$1","children","containerInfo","implementation","key","ReactSharedInternals","getCrossOriginStringAs","as","input","reactDom_production","container","fn","previousTransition","previousUpdatePriority","href","options","crossOrigin","integrity","fetchPriority","form","a","action","initialState","permalink","checkDCE","err","reactDomModule"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"index-CdhBx9jS.js","sources":["../../../../../node_modules/react-dom/cjs/react-dom.production.js","../../../../../node_modules/react-dom/index.js"],"sourcesContent":["/**\n * @license React\n * react-dom.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nfunction noop() {}\nvar Internals = {\n d: {\n f: noop,\n r: function () {\n throw Error(formatProdErrorMessage(522));\n },\n D: noop,\n C: noop,\n L: noop,\n m: noop,\n X: noop,\n S: noop,\n M: noop\n },\n p: 0,\n findDOMNode: null\n },\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\");\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;\nfunction getCrossOriginStringAs(as, input) {\n if (\"font\" === as) return \"\";\n if (\"string\" === typeof input)\n return \"use-credentials\" === input ? input : \"\";\n}\nexports.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n Internals;\nexports.createPortal = function (children, container) {\n var key =\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null;\n if (\n !container ||\n (1 !== container.nodeType &&\n 9 !== container.nodeType &&\n 11 !== container.nodeType)\n )\n throw Error(formatProdErrorMessage(299));\n return createPortal$1(children, container, null, key);\n};\nexports.flushSync = function (fn) {\n var previousTransition = ReactSharedInternals.T,\n previousUpdatePriority = Internals.p;\n try {\n if (((ReactSharedInternals.T = null), (Internals.p = 2), fn)) return fn();\n } finally {\n (ReactSharedInternals.T = previousTransition),\n (Internals.p = previousUpdatePriority),\n Internals.d.f();\n }\n};\nexports.preconnect = function (href, options) {\n \"string\" === typeof href &&\n (options\n ? ((options = options.crossOrigin),\n (options =\n \"string\" === typeof options\n ? \"use-credentials\" === options\n ? options\n : \"\"\n : void 0))\n : (options = null),\n Internals.d.C(href, options));\n};\nexports.prefetchDNS = function (href) {\n \"string\" === typeof href && Internals.d.D(href);\n};\nexports.preinit = function (href, options) {\n if (\"string\" === typeof href && options && \"string\" === typeof options.as) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin),\n integrity =\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n fetchPriority =\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0;\n \"style\" === as\n ? Internals.d.S(\n href,\n \"string\" === typeof options.precedence ? options.precedence : void 0,\n {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority\n }\n )\n : \"script\" === as &&\n Internals.d.X(href, {\n crossOrigin: crossOrigin,\n integrity: integrity,\n fetchPriority: fetchPriority,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n};\nexports.preinitModule = function (href, options) {\n if (\"string\" === typeof href)\n if (\"object\" === typeof options && null !== options) {\n if (null == options.as || \"script\" === options.as) {\n var crossOrigin = getCrossOriginStringAs(\n options.as,\n options.crossOrigin\n );\n Internals.d.M(href, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0\n });\n }\n } else null == options && Internals.d.M(href);\n};\nexports.preload = function (href, options) {\n if (\n \"string\" === typeof href &&\n \"object\" === typeof options &&\n null !== options &&\n \"string\" === typeof options.as\n ) {\n var as = options.as,\n crossOrigin = getCrossOriginStringAs(as, options.crossOrigin);\n Internals.d.L(href, as, {\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0,\n nonce: \"string\" === typeof options.nonce ? options.nonce : void 0,\n type: \"string\" === typeof options.type ? options.type : void 0,\n fetchPriority:\n \"string\" === typeof options.fetchPriority\n ? options.fetchPriority\n : void 0,\n referrerPolicy:\n \"string\" === typeof options.referrerPolicy\n ? options.referrerPolicy\n : void 0,\n imageSrcSet:\n \"string\" === typeof options.imageSrcSet ? options.imageSrcSet : void 0,\n imageSizes:\n \"string\" === typeof options.imageSizes ? options.imageSizes : void 0,\n media: \"string\" === typeof options.media ? options.media : void 0\n });\n }\n};\nexports.preloadModule = function (href, options) {\n if (\"string\" === typeof href)\n if (options) {\n var crossOrigin = getCrossOriginStringAs(options.as, options.crossOrigin);\n Internals.d.m(href, {\n as:\n \"string\" === typeof options.as && \"script\" !== options.as\n ? options.as\n : void 0,\n crossOrigin: crossOrigin,\n integrity:\n \"string\" === typeof options.integrity ? options.integrity : void 0\n });\n } else Internals.d.m(href);\n};\nexports.requestFormReset = function (form) {\n Internals.d.r(form);\n};\nexports.unstable_batchedUpdates = function (fn, a) {\n return fn(a);\n};\nexports.useFormState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useFormState(action, initialState, permalink);\n};\nexports.useFormStatus = function () {\n return ReactSharedInternals.H.useHostTransitionStatus();\n};\nexports.version = \"19.1.0\";\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n"],"names":["React","require$$0","formatProdErrorMessage","code","url","i","noop","Internals","REACT_PORTAL_TYPE","createPortal$1","children","containerInfo","implementation","key","ReactSharedInternals","getCrossOriginStringAs","as","input","reactDom_production","container","fn","previousTransition","previousUpdatePriority","href","options","crossOrigin","integrity","fetchPriority","form","a","action","initialState","permalink","checkDCE","err","reactDomModule"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,2 +1,2 @@
1
- import{j as m}from"./jsx-runtime-Ws3ZaoIr.js";import{f as y,u as w,r as l}from"./chunk-QMGIS6GS-wDvgi5co.js";const h={vertical:"scrollTop",horizontal:"scrollLeft"};function I({elementQuery:r,direction:S="vertical",...d}){const e=`position:${r}`,f=y(),p=w(),a=h[S],i=l.useCallback(()=>{const t=document.querySelector(r);if(!t)return;let o={};try{const s=JSON.parse(sessionStorage.getItem(e)||"{}");typeof s=="object"&&s!==null&&(o=s)}catch(s){console.warn("Error parsing scroll positions from sessionStorage:",s)}const n={...o,[p.key]:t[a]};sessionStorage.setItem(e,JSON.stringify(n))},[e,r,p.key]);l.useEffect(()=>{if(f.state==="idle"){const t=document.querySelector(r);if(!t)return;try{const n=JSON.parse(sessionStorage.getItem(e)||"{}")[window.history.state.key];typeof n=="number"&&(t[a]=n)}catch(o){console.error(o),sessionStorage.removeItem(e)}}else i()},[e,r,f.state,i]),l.useEffect(()=>(window.addEventListener("pagehide",i),()=>{window.removeEventListener("pagehide",i)}),[i]);function g(t,o,n){const s=document.querySelector(o);if(!s){console.warn(`Element not found: ${o}. Cannot restore scroll.`);return}if(!window.history.state||!window.history.state.key){const c=Math.random().toString(32).slice(2);window.history.replaceState({key:c},"")}try{const u=JSON.parse(sessionStorage.getItem(t)||"{}")[window.history.state.key];typeof u=="number"&&(s[n]=u)}catch(c){console.error(c),sessionStorage.removeItem(t)}}return m.jsx("script",{...d,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${g})(${JSON.stringify(e)}, ${JSON.stringify(r)}, ${JSON.stringify(a)})`}})}export{I as E};
2
- //# sourceMappingURL=index-Df71NSQU.js.map
1
+ import{j as m}from"./jsx-runtime-9Cyy0ME_.js";import{f as y,u as w,r as l}from"./chunk-QMGIS6GS-BL6gelUt.js";const h={vertical:"scrollTop",horizontal:"scrollLeft"};function I({elementQuery:r,direction:S="vertical",...d}){const e=`position:${r}`,f=y(),p=w(),a=h[S],i=l.useCallback(()=>{const t=document.querySelector(r);if(!t)return;let o={};try{const s=JSON.parse(sessionStorage.getItem(e)||"{}");typeof s=="object"&&s!==null&&(o=s)}catch(s){console.warn("Error parsing scroll positions from sessionStorage:",s)}const n={...o,[p.key]:t[a]};sessionStorage.setItem(e,JSON.stringify(n))},[e,r,p.key]);l.useEffect(()=>{if(f.state==="idle"){const t=document.querySelector(r);if(!t)return;try{const n=JSON.parse(sessionStorage.getItem(e)||"{}")[window.history.state.key];typeof n=="number"&&(t[a]=n)}catch(o){console.error(o),sessionStorage.removeItem(e)}}else i()},[e,r,f.state,i]),l.useEffect(()=>(window.addEventListener("pagehide",i),()=>{window.removeEventListener("pagehide",i)}),[i]);function g(t,o,n){const s=document.querySelector(o);if(!s){console.warn(`Element not found: ${o}. Cannot restore scroll.`);return}if(!window.history.state||!window.history.state.key){const c=Math.random().toString(32).slice(2);window.history.replaceState({key:c},"")}try{const u=JSON.parse(sessionStorage.getItem(t)||"{}")[window.history.state.key];typeof u=="number"&&(s[n]=u)}catch(c){console.error(c),sessionStorage.removeItem(t)}}return m.jsx("script",{...d,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:`(${g})(${JSON.stringify(e)}, ${JSON.stringify(r)}, ${JSON.stringify(a)})`}})}export{I as E};
2
+ //# sourceMappingURL=index-DQDs3om6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-Df71NSQU.js","sources":["../../../../../node_modules/@epic-web/restore-scroll/dist/index.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useCallback, useEffect } from 'react';\nimport { useLocation, useNavigation } from 'react-router';\nconst DIRECTION = {\n vertical: 'scrollTop',\n horizontal: 'scrollLeft',\n};\nexport function ElementScrollRestoration({ elementQuery, direction = 'vertical', ...props }) {\n const STORAGE_KEY = `position:${elementQuery}`;\n const navigation = useNavigation();\n const location = useLocation();\n const scrollAttribute = DIRECTION[direction];\n const updatePositions = useCallback(() => {\n const element = document.querySelector(elementQuery);\n if (!element)\n return;\n let positions = {};\n try {\n const rawPositions = JSON.parse(sessionStorage.getItem(STORAGE_KEY) || '{}');\n if (typeof rawPositions === 'object' && rawPositions !== null) {\n positions = rawPositions;\n }\n }\n catch (error) {\n console.warn(`Error parsing scroll positions from sessionStorage:`, error);\n }\n const newPositions = {\n ...positions,\n [location.key]: element[scrollAttribute],\n };\n sessionStorage.setItem(STORAGE_KEY, JSON.stringify(newPositions));\n }, [STORAGE_KEY, elementQuery, location.key]);\n useEffect(() => {\n if (navigation.state === 'idle') {\n const element = document.querySelector(elementQuery);\n if (!element)\n return;\n try {\n const positions = JSON.parse(sessionStorage.getItem(STORAGE_KEY) || '{}');\n const stored = positions[window.history.state.key];\n if (typeof stored === 'number') {\n element[scrollAttribute] = stored;\n }\n }\n catch (error) {\n console.error(error);\n sessionStorage.removeItem(STORAGE_KEY);\n }\n }\n else {\n updatePositions();\n }\n }, [STORAGE_KEY, elementQuery, navigation.state, updatePositions]);\n useEffect(() => {\n window.addEventListener('pagehide', updatePositions);\n return () => {\n window.removeEventListener('pagehide', updatePositions);\n };\n }, [updatePositions]);\n function restoreScroll(storageKey, elementQuery, scrollAttribute) {\n const element = document.querySelector(elementQuery);\n if (!element) {\n console.warn(`Element not found: ${elementQuery}. Cannot restore scroll.`);\n return;\n }\n if (!window.history.state || !window.history.state.key) {\n const key = Math.random().toString(32).slice(2);\n window.history.replaceState({ key }, '');\n }\n try {\n const positions = JSON.parse(sessionStorage.getItem(storageKey) || '{}');\n const stored = positions[window.history.state.key];\n if (typeof stored === 'number') {\n element[scrollAttribute] = stored;\n }\n }\n catch (error) {\n console.error(error);\n sessionStorage.removeItem(storageKey);\n }\n }\n return (_jsx(\"script\", { ...props, suppressHydrationWarning: true, dangerouslySetInnerHTML: {\n __html: `(${restoreScroll})(${JSON.stringify(STORAGE_KEY)}, ${JSON.stringify(elementQuery)}, ${JSON.stringify(scrollAttribute)})`,\n } }));\n}\n"],"names":["DIRECTION","ElementScrollRestoration","elementQuery","direction","props","STORAGE_KEY","navigation","useNavigation","location","useLocation","scrollAttribute","updatePositions","useCallback","element","positions","rawPositions","error","newPositions","useEffect","stored","restoreScroll","storageKey","key","_jsx"],"mappings":"6GAGA,MAAMA,EAAY,CACd,SAAU,YACV,WAAY,YAChB,EACO,SAASC,EAAyB,CAAE,aAAAC,EAAc,UAAAC,EAAY,WAAY,GAAGC,CAAK,EAAI,CACzF,MAAMC,EAAc,YAAYH,CAAY,GACtCI,EAAaC,EAAa,EAC1BC,EAAWC,EAAW,EACtBC,EAAkBV,EAAUG,CAAS,EACrCQ,EAAkBC,EAAAA,YAAY,IAAM,CACtC,MAAMC,EAAU,SAAS,cAAcX,CAAY,EACnD,GAAI,CAACW,EACD,OACJ,IAAIC,EAAY,CAAA,EAChB,GAAI,CACA,MAAMC,EAAe,KAAK,MAAM,eAAe,QAAQV,CAAW,GAAK,IAAI,EACvE,OAAOU,GAAiB,UAAYA,IAAiB,OACrDD,EAAYC,EAEpB,OACOC,EAAO,CACV,QAAQ,KAAK,sDAAuDA,CAAK,CAC7E,CACA,MAAMC,EAAe,CACjB,GAAGH,EACH,CAACN,EAAS,GAAG,EAAGK,EAAQH,CAAe,CACnD,EACQ,eAAe,QAAQL,EAAa,KAAK,UAAUY,CAAY,CAAC,CACpE,EAAG,CAACZ,EAAaH,EAAcM,EAAS,GAAG,CAAC,EAC5CU,EAAAA,UAAU,IAAM,CACZ,GAAIZ,EAAW,QAAU,OAAQ,CAC7B,MAAMO,EAAU,SAAS,cAAcX,CAAY,EACnD,GAAI,CAACW,EACD,OACJ,GAAI,CAEA,MAAMM,EADY,KAAK,MAAM,eAAe,QAAQd,CAAW,GAAK,IAAI,EAC/C,OAAO,QAAQ,MAAM,GAAG,EAC7C,OAAOc,GAAW,WAClBN,EAAQH,CAAe,EAAIS,EAEnC,OACOH,EAAO,CACV,QAAQ,MAAMA,CAAK,EACnB,eAAe,WAAWX,CAAW,CACzC,CACJ,MAEIM,EAAe,CAEvB,EAAG,CAACN,EAAaH,EAAcI,EAAW,MAAOK,CAAe,CAAC,EACjEO,EAAAA,UAAU,KACN,OAAO,iBAAiB,WAAYP,CAAe,EAC5C,IAAM,CACT,OAAO,oBAAoB,WAAYA,CAAe,CAC1D,GACD,CAACA,CAAe,CAAC,EACpB,SAASS,EAAcC,EAAYnB,EAAcQ,EAAiB,CAC9D,MAAMG,EAAU,SAAS,cAAcX,CAAY,EACnD,GAAI,CAACW,EAAS,CACV,QAAQ,KAAK,sBAAsBX,CAAY,0BAA0B,EACzE,MACJ,CACA,GAAI,CAAC,OAAO,QAAQ,OAAS,CAAC,OAAO,QAAQ,MAAM,IAAK,CACpD,MAAMoB,EAAM,KAAK,OAAM,EAAG,SAAS,EAAE,EAAE,MAAM,CAAC,EAC9C,OAAO,QAAQ,aAAa,CAAE,IAAAA,CAAG,EAAI,EAAE,CAC3C,CACA,GAAI,CAEA,MAAMH,EADY,KAAK,MAAM,eAAe,QAAQE,CAAU,GAAK,IAAI,EAC9C,OAAO,QAAQ,MAAM,GAAG,EAC7C,OAAOF,GAAW,WAClBN,EAAQH,CAAe,EAAIS,EAEnC,OACOH,EAAO,CACV,QAAQ,MAAMA,CAAK,EACnB,eAAe,WAAWK,CAAU,CACxC,CACJ,CACA,OAAQE,EAAAA,IAAK,SAAU,CAAE,GAAGnB,EAAO,yBAA0B,GAAM,wBAAyB,CACpF,OAAQ,IAAIgB,CAAa,KAAK,KAAK,UAAUf,CAAW,CAAC,KAAK,KAAK,UAAUH,CAAY,CAAC,KAAK,KAAK,UAAUQ,CAAe,CAAC,GAC1I,EAAW,CACX","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index-DQDs3om6.js","sources":["../../../../../node_modules/@epic-web/restore-scroll/dist/index.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useCallback, useEffect } from 'react';\nimport { useLocation, useNavigation } from 'react-router';\nconst DIRECTION = {\n vertical: 'scrollTop',\n horizontal: 'scrollLeft',\n};\nexport function ElementScrollRestoration({ elementQuery, direction = 'vertical', ...props }) {\n const STORAGE_KEY = `position:${elementQuery}`;\n const navigation = useNavigation();\n const location = useLocation();\n const scrollAttribute = DIRECTION[direction];\n const updatePositions = useCallback(() => {\n const element = document.querySelector(elementQuery);\n if (!element)\n return;\n let positions = {};\n try {\n const rawPositions = JSON.parse(sessionStorage.getItem(STORAGE_KEY) || '{}');\n if (typeof rawPositions === 'object' && rawPositions !== null) {\n positions = rawPositions;\n }\n }\n catch (error) {\n console.warn(`Error parsing scroll positions from sessionStorage:`, error);\n }\n const newPositions = {\n ...positions,\n [location.key]: element[scrollAttribute],\n };\n sessionStorage.setItem(STORAGE_KEY, JSON.stringify(newPositions));\n }, [STORAGE_KEY, elementQuery, location.key]);\n useEffect(() => {\n if (navigation.state === 'idle') {\n const element = document.querySelector(elementQuery);\n if (!element)\n return;\n try {\n const positions = JSON.parse(sessionStorage.getItem(STORAGE_KEY) || '{}');\n const stored = positions[window.history.state.key];\n if (typeof stored === 'number') {\n element[scrollAttribute] = stored;\n }\n }\n catch (error) {\n console.error(error);\n sessionStorage.removeItem(STORAGE_KEY);\n }\n }\n else {\n updatePositions();\n }\n }, [STORAGE_KEY, elementQuery, navigation.state, updatePositions]);\n useEffect(() => {\n window.addEventListener('pagehide', updatePositions);\n return () => {\n window.removeEventListener('pagehide', updatePositions);\n };\n }, [updatePositions]);\n function restoreScroll(storageKey, elementQuery, scrollAttribute) {\n const element = document.querySelector(elementQuery);\n if (!element) {\n console.warn(`Element not found: ${elementQuery}. Cannot restore scroll.`);\n return;\n }\n if (!window.history.state || !window.history.state.key) {\n const key = Math.random().toString(32).slice(2);\n window.history.replaceState({ key }, '');\n }\n try {\n const positions = JSON.parse(sessionStorage.getItem(storageKey) || '{}');\n const stored = positions[window.history.state.key];\n if (typeof stored === 'number') {\n element[scrollAttribute] = stored;\n }\n }\n catch (error) {\n console.error(error);\n sessionStorage.removeItem(storageKey);\n }\n }\n return (_jsx(\"script\", { ...props, suppressHydrationWarning: true, dangerouslySetInnerHTML: {\n __html: `(${restoreScroll})(${JSON.stringify(STORAGE_KEY)}, ${JSON.stringify(elementQuery)}, ${JSON.stringify(scrollAttribute)})`,\n } }));\n}\n"],"names":["DIRECTION","ElementScrollRestoration","elementQuery","direction","props","STORAGE_KEY","navigation","useNavigation","location","useLocation","scrollAttribute","updatePositions","useCallback","element","positions","rawPositions","error","newPositions","useEffect","stored","restoreScroll","storageKey","key","_jsx"],"mappings":"6GAGA,MAAMA,EAAY,CACd,SAAU,YACV,WAAY,YAChB,EACO,SAASC,EAAyB,CAAE,aAAAC,EAAc,UAAAC,EAAY,WAAY,GAAGC,CAAK,EAAI,CACzF,MAAMC,EAAc,YAAYH,CAAY,GACtCI,EAAaC,EAAa,EAC1BC,EAAWC,EAAW,EACtBC,EAAkBV,EAAUG,CAAS,EACrCQ,EAAkBC,EAAAA,YAAY,IAAM,CACtC,MAAMC,EAAU,SAAS,cAAcX,CAAY,EACnD,GAAI,CAACW,EACD,OACJ,IAAIC,EAAY,CAAA,EAChB,GAAI,CACA,MAAMC,EAAe,KAAK,MAAM,eAAe,QAAQV,CAAW,GAAK,IAAI,EACvE,OAAOU,GAAiB,UAAYA,IAAiB,OACrDD,EAAYC,EAEpB,OACOC,EAAO,CACV,QAAQ,KAAK,sDAAuDA,CAAK,CAC7E,CACA,MAAMC,EAAe,CACjB,GAAGH,EACH,CAACN,EAAS,GAAG,EAAGK,EAAQH,CAAe,CACnD,EACQ,eAAe,QAAQL,EAAa,KAAK,UAAUY,CAAY,CAAC,CACpE,EAAG,CAACZ,EAAaH,EAAcM,EAAS,GAAG,CAAC,EAC5CU,EAAAA,UAAU,IAAM,CACZ,GAAIZ,EAAW,QAAU,OAAQ,CAC7B,MAAMO,EAAU,SAAS,cAAcX,CAAY,EACnD,GAAI,CAACW,EACD,OACJ,GAAI,CAEA,MAAMM,EADY,KAAK,MAAM,eAAe,QAAQd,CAAW,GAAK,IAAI,EAC/C,OAAO,QAAQ,MAAM,GAAG,EAC7C,OAAOc,GAAW,WAClBN,EAAQH,CAAe,EAAIS,EAEnC,OACOH,EAAO,CACV,QAAQ,MAAMA,CAAK,EACnB,eAAe,WAAWX,CAAW,CACzC,CACJ,MAEIM,EAAe,CAEvB,EAAG,CAACN,EAAaH,EAAcI,EAAW,MAAOK,CAAe,CAAC,EACjEO,EAAAA,UAAU,KACN,OAAO,iBAAiB,WAAYP,CAAe,EAC5C,IAAM,CACT,OAAO,oBAAoB,WAAYA,CAAe,CAC1D,GACD,CAACA,CAAe,CAAC,EACpB,SAASS,EAAcC,EAAYnB,EAAcQ,EAAiB,CAC9D,MAAMG,EAAU,SAAS,cAAcX,CAAY,EACnD,GAAI,CAACW,EAAS,CACV,QAAQ,KAAK,sBAAsBX,CAAY,0BAA0B,EACzE,MACJ,CACA,GAAI,CAAC,OAAO,QAAQ,OAAS,CAAC,OAAO,QAAQ,MAAM,IAAK,CACpD,MAAMoB,EAAM,KAAK,OAAM,EAAG,SAAS,EAAE,EAAE,MAAM,CAAC,EAC9C,OAAO,QAAQ,aAAa,CAAE,IAAAA,CAAG,EAAI,EAAE,CAC3C,CACA,GAAI,CAEA,MAAMH,EADY,KAAK,MAAM,eAAe,QAAQE,CAAU,GAAK,IAAI,EAC9C,OAAO,QAAQ,MAAM,GAAG,EAC7C,OAAOF,GAAW,WAClBN,EAAQH,CAAe,EAAIS,EAEnC,OACOH,EAAO,CACV,QAAQ,MAAMA,CAAK,EACnB,eAAe,WAAWK,CAAU,CACxC,CACJ,CACA,OAAQE,EAAAA,IAAK,SAAU,CAAE,GAAGnB,EAAO,yBAA0B,GAAM,wBAAyB,CACpF,OAAQ,IAAIgB,CAAa,KAAK,KAAK,UAAUf,CAAW,CAAC,KAAK,KAAK,UAAUH,CAAY,CAAC,KAAK,KAAK,UAAUQ,CAAe,CAAC,GAC1I,EAAW,CACX","x_google_ignoreList":[0]}