@saooti/octopus-sdk 42.1.2 → 42.2.0

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 (1509) hide show
  1. package/dist/AdvancedSearch-8-KQYWuv.mjs.map +1 -0
  2. package/dist/AdvancedSearch-B0cuNtOh.mjs.map +1 -0
  3. package/dist/AdvancedSearch-B906GvKN.mjs.map +1 -0
  4. package/dist/AdvancedSearch-CTVYYKqG.mjs.map +1 -0
  5. package/dist/AdvancedSearch-CZrfUO8f.mjs.map +1 -0
  6. package/dist/AdvancedSearch-DIKy8A4x.mjs +452 -0
  7. package/dist/AdvancedSearch-DIKy8A4x.mjs.map +1 -0
  8. package/dist/AdvancedSearch-DQkpBDRs.mjs.map +1 -0
  9. package/dist/AdvancedSearch-DkN9HIvk.mjs.map +1 -0
  10. package/dist/AdvancedSearch-Dli7j4mk.mjs.map +1 -0
  11. package/dist/AdvancedSearch-DvWyiUl1.mjs.map +1 -0
  12. package/dist/AdvancedSearch-hzq1op0v.mjs.map +1 -0
  13. package/dist/AdvancedSearch-ksEDWPSw.mjs.map +1 -0
  14. package/dist/CategoryFilter-BpZB6gy9.mjs +237 -0
  15. package/dist/CategoryFilter-BpZB6gy9.mjs.map +1 -0
  16. package/dist/CategoryFilter-C0oHxpLk.mjs.map +1 -0
  17. package/dist/CategoryFilter-CJeJt-Z4.mjs.map +1 -0
  18. package/dist/CategoryFilter-Cn6N_LEr.mjs.map +1 -0
  19. package/dist/CategoryFilter-D6YY4FE0.mjs.map +1 -0
  20. package/dist/CategoryFilter-DAa1ALAl.mjs.map +1 -0
  21. package/dist/CategoryFilter-DzzcHsVO.mjs.map +1 -0
  22. package/dist/CategoryFilter-mMOiHS6f.mjs.map +1 -0
  23. package/dist/CategoryList-BZKIusvs.mjs.map +1 -0
  24. package/dist/CategoryList-Bnfndttx.mjs.map +1 -0
  25. package/dist/CategoryList-DQsVPaGH.mjs.map +1 -0
  26. package/dist/CategoryList-IQKO-tO8.mjs +182 -0
  27. package/dist/CategoryList-IQKO-tO8.mjs.map +1 -0
  28. package/dist/CategoryList-KK01BluB.mjs.map +1 -0
  29. package/dist/CategoryList-PSN8E9C3.mjs.map +1 -0
  30. package/dist/CategoryList-dVk1Qdf-.mjs.map +1 -0
  31. package/dist/CategoryList-zigzQR5w.mjs.map +1 -0
  32. package/dist/CategoryPage-B9-hSANQ.mjs +57 -0
  33. package/dist/CategoryPage-B9-hSANQ.mjs.map +1 -0
  34. package/dist/CategoryPage-B_6fr90f.mjs.map +1 -0
  35. package/dist/CategoryPage-BaCXwiiO.mjs.map +1 -0
  36. package/dist/CategoryPage-BjZj0N4p.mjs.map +1 -0
  37. package/dist/CategoryPage-CTod1jGo.mjs.map +1 -0
  38. package/dist/CategoryPage-CoS87WfG.mjs.map +1 -0
  39. package/dist/CategoryPage-Crjrasms.mjs.map +1 -0
  40. package/dist/CategoryPage-DslgrLKx.mjs.map +1 -0
  41. package/dist/CategoryPage-FXpgAtMR.mjs.map +1 -0
  42. package/dist/CategoryPage-Lau7MKzW.mjs.map +1 -0
  43. package/dist/CategoryPage-SG6mbLkt.mjs.map +1 -0
  44. package/dist/ChapteringModal-BMudjbka.mjs.map +1 -0
  45. package/dist/ChapteringModal-BNLqCYLZ.mjs.map +1 -0
  46. package/dist/ChapteringModal-BxQwqN6-.mjs +82 -0
  47. package/dist/ChapteringModal-BxQwqN6-.mjs.map +1 -0
  48. package/dist/ChapteringModal-C5TDOeej.mjs.map +1 -0
  49. package/dist/ChapteringModal-C7Sfm5kO.mjs.map +1 -0
  50. package/dist/ChapteringModal-DmVwqkUC.mjs.map +1 -0
  51. package/dist/ChapteringModal-DtQOpN5a.mjs.map +1 -0
  52. package/dist/ChapteringModal-WiCrKFtF.mjs.map +1 -0
  53. package/dist/CheckIdentityModal-BT4bAjZH.mjs.map +1 -0
  54. package/dist/CheckIdentityModal-Bdaarn9z.mjs.map +1 -0
  55. package/dist/CheckIdentityModal-BmLHfifA.mjs.map +1 -0
  56. package/dist/CheckIdentityModal-CFetpilI.mjs +86 -0
  57. package/dist/CheckIdentityModal-CFetpilI.mjs.map +1 -0
  58. package/dist/CheckIdentityModal-CcQ-yIx1.mjs.map +1 -0
  59. package/dist/CheckIdentityModal-DWUSOi9U.mjs.map +1 -0
  60. package/dist/CheckIdentityModal-DfkabfeR.mjs.map +1 -0
  61. package/dist/CheckIdentityModal-n_pvPUHo.mjs.map +1 -0
  62. package/dist/ClassicAlert-dYigdfoZ.mjs +85 -0
  63. package/dist/ClipboardModal--RFsihO8.mjs.map +1 -0
  64. package/dist/ClipboardModal-4DyYAK9R.mjs.map +1 -0
  65. package/dist/ClipboardModal-BkAkLwiX.mjs.map +1 -0
  66. package/dist/ClipboardModal-CYB6DPmM.mjs.map +1 -0
  67. package/dist/ClipboardModal-DQjZO1T9.mjs +84 -0
  68. package/dist/ClipboardModal-DQjZO1T9.mjs.map +1 -0
  69. package/dist/ClipboardModal-DRPdNF4-.mjs.map +1 -0
  70. package/dist/ClipboardModal-I4ciABik.mjs.map +1 -0
  71. package/dist/ClipboardModal-jRe-s3Nq.mjs.map +1 -0
  72. package/dist/CommentBasicView-bNaLVdjT.mjs +129 -0
  73. package/dist/CommentInput-3tBdugWy.mjs.map +1 -0
  74. package/dist/CommentInput-BIMzw15T.mjs.map +1 -0
  75. package/dist/CommentInput-CvjgDqNj.mjs.map +1 -0
  76. package/dist/CommentInput-Cz6_b9L-.mjs.map +1 -0
  77. package/dist/CommentInput-D8tZkOG-.mjs +186 -0
  78. package/dist/CommentInput-D8tZkOG-.mjs.map +1 -0
  79. package/dist/CommentInput-DGFTWYsR.mjs.map +1 -0
  80. package/dist/CommentInput-DLHr5B2k.mjs.map +1 -0
  81. package/dist/CommentInput-DRFtGlfL.mjs.map +1 -0
  82. package/dist/CommentItem-B8KAYCXM.mjs.map +1 -0
  83. package/dist/CommentItem-BcDGIj4j.mjs.map +1 -0
  84. package/dist/CommentItem-CJizPyck.mjs.map +1 -0
  85. package/dist/CommentItem-CUplqibZ.mjs.map +1 -0
  86. package/dist/CommentItem-CWoKkkjw.mjs.map +1 -0
  87. package/dist/CommentItem-CZ-71XmG.mjs.map +1 -0
  88. package/dist/CommentItem-Ch41Z98I.mjs +232 -0
  89. package/dist/CommentItem-Ch41Z98I.mjs.map +1 -0
  90. package/dist/CommentItem-DPVn6d9G.mjs.map +1 -0
  91. package/dist/CommentItem-DPgO4tOH.mjs.map +1 -0
  92. package/dist/CommentItem-art5Jx5K.mjs.map +1 -0
  93. package/dist/CommentList-B-h1QlS6.mjs.map +1 -0
  94. package/dist/CommentList-B5mexnTc.mjs +302 -0
  95. package/dist/CommentList-B5mexnTc.mjs.map +1 -0
  96. package/dist/CommentList-B7XaNVz3.mjs.map +1 -0
  97. package/dist/CommentList-Cuf0OULL.mjs.map +1 -0
  98. package/dist/CommentList-D0LwsQbk.mjs.map +1 -0
  99. package/dist/CommentList-DFialBaE.mjs.map +1 -0
  100. package/dist/CommentList-DmnHO2lL.mjs.map +1 -0
  101. package/dist/CommentList-DoiH-YQS.mjs.map +1 -0
  102. package/dist/CommentList-Duun1VSS.mjs.map +1 -0
  103. package/dist/CommentList-_rPvd8-j.mjs.map +1 -0
  104. package/dist/CommentMoreActions-BJk7eXwo.mjs.map +1 -0
  105. package/dist/CommentMoreActions-Bllkl6AL.mjs.map +1 -0
  106. package/dist/CommentMoreActions-BsqvSj88.mjs.map +1 -0
  107. package/dist/CommentMoreActions-C228_ziZ.mjs.map +1 -0
  108. package/dist/CommentMoreActions-CZqt7Ebh.mjs +286 -0
  109. package/dist/CommentMoreActions-CZqt7Ebh.mjs.map +1 -0
  110. package/dist/CommentMoreActions-KcMao3px.mjs.map +1 -0
  111. package/dist/CommentMoreActions-YGdXAtRo.mjs.map +1 -0
  112. package/dist/CommentMoreActions-yh1EftdG.mjs.map +1 -0
  113. package/dist/CommentName-B5ZdVBJC.mjs.map +1 -0
  114. package/dist/CommentName-BD2azrrm.mjs.map +1 -0
  115. package/dist/CommentName-BYkiaMX_.mjs +96 -0
  116. package/dist/CommentName-BYkiaMX_.mjs.map +1 -0
  117. package/dist/CommentName-BqN7PAew.mjs.map +1 -0
  118. package/dist/CommentName-CucfZ1JU.mjs.map +1 -0
  119. package/dist/CommentName-DaIwG_1r.mjs.map +1 -0
  120. package/dist/CommentName-XprJ2e7m.mjs.map +1 -0
  121. package/dist/CommentName-uR2V1uBX.mjs.map +1 -0
  122. package/dist/CommentParentInfo-B-4IJZKq.mjs.map +1 -0
  123. package/dist/CommentParentInfo-B6QihN66.mjs.map +1 -0
  124. package/dist/CommentParentInfo-BXFmOZ3J.mjs.map +1 -0
  125. package/dist/CommentParentInfo-Br53Hnn_.mjs.map +1 -0
  126. package/dist/CommentParentInfo-BvXbU2AT.mjs.map +1 -0
  127. package/dist/CommentParentInfo-CJ4KEDxK.mjs.map +1 -0
  128. package/dist/CommentParentInfo-CTf8YGJo.mjs.map +1 -0
  129. package/dist/CommentParentInfo-CfLIKg-a.mjs +64 -0
  130. package/dist/CommentParentInfo-CfLIKg-a.mjs.map +1 -0
  131. package/dist/CommentParentInfo-CfftHGbK.mjs.map +1 -0
  132. package/dist/CommentParentInfo-CwLFPPLV.mjs.map +1 -0
  133. package/dist/CommentPlayer-BiHovckc.mjs.map +1 -0
  134. package/dist/CommentPlayer-CklZnbF-.mjs.map +1 -0
  135. package/dist/CommentPlayer-DOrCrOVs.mjs.map +1 -0
  136. package/dist/CommentPlayer-DcSLgaFs.mjs +86 -0
  137. package/dist/CommentPlayer-DcSLgaFs.mjs.map +1 -0
  138. package/dist/CommentPlayer-Dr_Q1wAp.mjs.map +1 -0
  139. package/dist/CommentPlayer-Mm8AHGK9.mjs.map +1 -0
  140. package/dist/CommentPlayer-vGqNfb9w.mjs.map +1 -0
  141. package/dist/CommentPlayer-zBrp41zL.mjs.map +1 -0
  142. package/dist/CommentSection-B7TEZHF7.mjs.map +1 -0
  143. package/dist/CommentSection-BIbRND09.mjs +141 -0
  144. package/dist/CommentSection-BIbRND09.mjs.map +1 -0
  145. package/dist/CommentSection-C2SMteiI.mjs.map +1 -0
  146. package/dist/CommentSection-D26c2dSY.mjs.map +1 -0
  147. package/dist/CommentSection-DJhCf4Tg.mjs.map +1 -0
  148. package/dist/CommentSection-Dot5tXUS.mjs.map +1 -0
  149. package/dist/CommentSection-MNW-Sgk9.mjs.map +1 -0
  150. package/dist/CommentSection-WOHdSA9i.mjs.map +1 -0
  151. package/dist/CommentSection-h5WRmElJ.mjs.map +1 -0
  152. package/dist/CommentSection-uUzVRMAv.mjs.map +1 -0
  153. package/dist/CommentStore-B7pzkLnJ.mjs.map +1 -0
  154. package/dist/CommentStore-B_XslEkb.mjs.map +1 -0
  155. package/dist/CommentStore-BsoQ8JE4.mjs.map +1 -0
  156. package/dist/CommentStore-CDafrQ9U.mjs.map +1 -0
  157. package/dist/CommentStore-CToql_kf.mjs.map +1 -0
  158. package/dist/CommentStore-D4aFuelo.mjs.map +1 -0
  159. package/dist/CommentStore-DY_JSo9-.mjs.map +1 -0
  160. package/dist/CommentStore-bKtPx6T5.mjs +355 -0
  161. package/dist/CommentStore-bKtPx6T5.mjs.map +1 -0
  162. package/dist/ContractPreviewModal-BIg6dTcF.mjs +101 -0
  163. package/dist/ContractPreviewModal-BIg6dTcF.mjs.map +1 -0
  164. package/dist/ContractPreviewModal-CAEx2t42.mjs.map +1 -0
  165. package/dist/ContractPreviewModal-CWzo13IS.mjs.map +1 -0
  166. package/dist/ContractPreviewModal-Cur6ifQn.mjs.map +1 -0
  167. package/dist/ContractPreviewModal-Cx2jOY0K.mjs.map +1 -0
  168. package/dist/ContractPreviewModal-DAubbTyX.mjs.map +1 -0
  169. package/dist/ContractPreviewModal-DJ9iuIRO.mjs.map +1 -0
  170. package/dist/ContractPreviewModal-TulGrNUs.mjs.map +1 -0
  171. package/dist/DownloadPodcastButton-BJFgMkGP.mjs.map +1 -0
  172. package/dist/DownloadPodcastButton-BTFYgyz4.mjs +53 -0
  173. package/dist/DownloadPodcastButton-BTFYgyz4.mjs.map +1 -0
  174. package/dist/DownloadPodcastButton-C49TUYY_.mjs.map +1 -0
  175. package/dist/DownloadPodcastButton-Cc1z8M72.mjs.map +1 -0
  176. package/dist/DownloadPodcastButton-CydCrTfy.mjs.map +1 -0
  177. package/dist/DownloadPodcastButton-D7aXh-rD.mjs.map +1 -0
  178. package/dist/DownloadPodcastButton-DWGsL65f.mjs.map +1 -0
  179. package/dist/DownloadPodcastButton-fUfwjwJ4.mjs.map +1 -0
  180. package/dist/EditCommentModal-BYUWBuPm.mjs.map +1 -0
  181. package/dist/EditCommentModal-Bb7urnA0.mjs.map +1 -0
  182. package/dist/EditCommentModal-BpEuISBJ.mjs.map +1 -0
  183. package/dist/EditCommentModal-BviwPlNi.mjs.map +1 -0
  184. package/dist/EditCommentModal-Cc8Ui6Cx.mjs +162 -0
  185. package/dist/EditCommentModal-Cc8Ui6Cx.mjs.map +1 -0
  186. package/dist/EditCommentModal-CgMvU9i5.mjs.map +1 -0
  187. package/dist/EditCommentModal-DMRkpZXe.mjs.map +1 -0
  188. package/dist/EditCommentModal-DlQjjiwI.mjs.map +1 -0
  189. package/dist/EmissionGroupChooser-4JVeuRE7.mjs.map +1 -0
  190. package/dist/EmissionGroupChooser-4JxjHyRy.mjs.map +1 -0
  191. package/dist/EmissionGroupChooser-5c7aD7hj.mjs +82 -0
  192. package/dist/EmissionGroupChooser-5c7aD7hj.mjs.map +1 -0
  193. package/dist/EmissionGroupChooser-BfqHSOeJ.mjs.map +1 -0
  194. package/dist/EmissionGroupChooser-BmVl7ww5.mjs.map +1 -0
  195. package/dist/EmissionGroupChooser-C44R_EK7.mjs.map +1 -0
  196. package/dist/EmissionGroupChooser-DcceBxVb.mjs.map +1 -0
  197. package/dist/EmissionGroupChooser-x_YFTdyX.mjs.map +1 -0
  198. package/dist/EmissionInlineList-B2WZU0tk.mjs.map +1 -0
  199. package/dist/EmissionInlineList-BI7_GMMn.mjs.map +1 -0
  200. package/dist/EmissionInlineList-BSJUVlop.mjs.map +1 -0
  201. package/dist/EmissionInlineList-C7O0r8HK.mjs.map +1 -0
  202. package/dist/EmissionInlineList-CRxNX4fl.mjs.map +1 -0
  203. package/dist/EmissionInlineList-D1Xsv_jA.mjs +188 -0
  204. package/dist/EmissionInlineList-D1Xsv_jA.mjs.map +1 -0
  205. package/dist/EmissionInlineList-DPXmDcbc.mjs.map +1 -0
  206. package/dist/EmissionInlineList-PJukOOru.mjs.map +1 -0
  207. package/dist/EmissionItem-3vn1MhKN.mjs.map +1 -0
  208. package/dist/EmissionItem-BNmzrbKU.mjs.map +1 -0
  209. package/dist/EmissionItem-Bd2IA2iK.mjs.map +1 -0
  210. package/dist/EmissionItem-BfBsk2Ch.mjs.map +1 -0
  211. package/dist/EmissionItem-Bft7IM7C.mjs +183 -0
  212. package/dist/EmissionItem-Bft7IM7C.mjs.map +1 -0
  213. package/dist/EmissionItem-BqkfUKmE.mjs.map +1 -0
  214. package/dist/EmissionItem-C9zqc2PQ.mjs.map +1 -0
  215. package/dist/EmissionItem-CQAB9kfZ.mjs.map +1 -0
  216. package/dist/EmissionItem-DPwRulfC.mjs.map +1 -0
  217. package/dist/EmissionItem-XbvPfojH.mjs.map +1 -0
  218. package/dist/EmissionList-B1SJIDcA.mjs.map +1 -0
  219. package/dist/EmissionList-B5cdTLCu.mjs.map +1 -0
  220. package/dist/EmissionList-Budx6wGr.mjs.map +1 -0
  221. package/dist/EmissionList-CsKEUEtb.mjs.map +1 -0
  222. package/dist/EmissionList-D6_r33dt.mjs.map +1 -0
  223. package/dist/EmissionList-DeHujYzJ.mjs.map +1 -0
  224. package/dist/EmissionList-GKZxghJ1.mjs.map +1 -0
  225. package/dist/EmissionList-PYqHKyad.mjs.map +1 -0
  226. package/dist/EmissionList-WLJL4eaJ.mjs.map +1 -0
  227. package/dist/EmissionList-ofS3nKr2.mjs +325 -0
  228. package/dist/EmissionList-ofS3nKr2.mjs.map +1 -0
  229. package/dist/EmissionPage-B2PQcnFH.mjs.map +1 -0
  230. package/dist/EmissionPage-BTxSGJj5.mjs.map +1 -0
  231. package/dist/EmissionPage-BZ50ZqRI.mjs.map +1 -0
  232. package/dist/EmissionPage-CLBPPbbB.mjs.map +1 -0
  233. package/dist/EmissionPage-CdlIsCg5.mjs +322 -0
  234. package/dist/EmissionPage-CdlIsCg5.mjs.map +1 -0
  235. package/dist/EmissionPage-D9wkUL1Y.mjs.map +1 -0
  236. package/dist/EmissionPage-DG-qKyj6.mjs.map +1 -0
  237. package/dist/EmissionPage-DNrzhRai.mjs.map +1 -0
  238. package/dist/EmissionPage-DVlt2bDB.mjs.map +1 -0
  239. package/dist/EmissionPage-De1hLTjf.mjs.map +1 -0
  240. package/dist/EmissionPage-DodwYSuK.mjs.map +1 -0
  241. package/dist/EmissionPage-oJCLeOwA.mjs.map +1 -0
  242. package/dist/EmissionPlayerItem-B3AA9DUG.mjs.map +1 -0
  243. package/dist/EmissionPlayerItem-B9nPhS0q.mjs +167 -0
  244. package/dist/EmissionPlayerItem-B9nPhS0q.mjs.map +1 -0
  245. package/dist/EmissionPlayerItem-BMsjj0mR.mjs.map +1 -0
  246. package/dist/EmissionPlayerItem-BfKXNH-8.mjs.map +1 -0
  247. package/dist/EmissionPlayerItem-Bkg_iKgu.mjs.map +1 -0
  248. package/dist/EmissionPlayerItem-D4hSP4g-.mjs.map +1 -0
  249. package/dist/EmissionPlayerItem-DXxYisqq.mjs.map +1 -0
  250. package/dist/EmissionPlayerItem-ZW4qsrH5.mjs.map +1 -0
  251. package/dist/EmissionPresentationItem-B4IO88Q5.mjs.map +1 -0
  252. package/dist/EmissionPresentationItem-Bix2Knlw.mjs.map +1 -0
  253. package/dist/EmissionPresentationItem-Btg6V02c.mjs.map +1 -0
  254. package/dist/EmissionPresentationItem-C6IUxgTa.mjs.map +1 -0
  255. package/dist/EmissionPresentationItem-D-Lv8tM_.mjs.map +1 -0
  256. package/dist/EmissionPresentationItem-GB4a2U55.mjs +78 -0
  257. package/dist/EmissionPresentationItem-GB4a2U55.mjs.map +1 -0
  258. package/dist/EmissionPresentationItem-c-pbVk_T.mjs.map +1 -0
  259. package/dist/EmissionPresentationItem-uMJB07l3.mjs.map +1 -0
  260. package/dist/EmissionPresentationList-7PqIDkc6.mjs.map +1 -0
  261. package/dist/EmissionPresentationList-B6PVvXwb.mjs.map +1 -0
  262. package/dist/EmissionPresentationList-B8o1I5tO.mjs.map +1 -0
  263. package/dist/EmissionPresentationList-COoLQosL.mjs.map +1 -0
  264. package/dist/EmissionPresentationList-CUdQrPW_.mjs.map +1 -0
  265. package/dist/EmissionPresentationList-Dt7u5Mla.mjs +125 -0
  266. package/dist/EmissionPresentationList-Dt7u5Mla.mjs.map +1 -0
  267. package/dist/EmissionPresentationList-JraWAUE3.mjs.map +1 -0
  268. package/dist/EmissionPresentationList-nUwmkWa7.mjs.map +1 -0
  269. package/dist/EmissionsPage--XXk91Dq.mjs.map +1 -0
  270. package/dist/EmissionsPage-AOA_2npV.mjs.map +1 -0
  271. package/dist/EmissionsPage-B4aRd98n.mjs.map +1 -0
  272. package/dist/EmissionsPage-BBh_t2QG.mjs.map +1 -0
  273. package/dist/EmissionsPage-BD9ucNwX.mjs.map +1 -0
  274. package/dist/EmissionsPage-BFLoIsdw.mjs.map +1 -0
  275. package/dist/EmissionsPage-BjLEwsfW.mjs.map +1 -0
  276. package/dist/EmissionsPage-BteDpLdX.mjs.map +1 -0
  277. package/dist/EmissionsPage-C55nLjOB.mjs.map +1 -0
  278. package/dist/EmissionsPage-D34ZU9Ce.mjs.map +1 -0
  279. package/dist/EmissionsPage-D7GU4S6G.mjs.map +1 -0
  280. package/dist/EmissionsPage-DQfu2UI-.mjs +203 -0
  281. package/dist/EmissionsPage-DQfu2UI-.mjs.map +1 -0
  282. package/dist/EmissionsPage-DgkUGrwU.mjs.map +1 -0
  283. package/dist/EmissionsPage-DpvPVwCI.mjs.map +1 -0
  284. package/dist/EmissionsPage-S-nMk436.mjs.map +1 -0
  285. package/dist/EmissionsPage-XQJ_lva0.mjs.map +1 -0
  286. package/dist/EmissionsPage-vd5bDbT3.mjs.map +1 -0
  287. package/dist/Error403Page-B419GrvA.mjs.map +1 -0
  288. package/dist/Error403Page-BF9K4EFP.mjs.map +1 -0
  289. package/dist/Error403Page-BselwjZ9.mjs.map +1 -0
  290. package/dist/Error403Page-CVbdhuN7.mjs.map +1 -0
  291. package/dist/Error403Page-CyWAyLFN.mjs.map +1 -0
  292. package/dist/Error403Page-cSGk6jdr.mjs.map +1 -0
  293. package/dist/Error403Page-xviuI62E.mjs.map +1 -0
  294. package/dist/Error403Page-yyOmweXn.mjs +69 -0
  295. package/dist/Error403Page-yyOmweXn.mjs.map +1 -0
  296. package/dist/ErrorMessage-DhSwu9H_.mjs +44 -0
  297. package/dist/FooterGarSection-BJ_nb3y-.mjs.map +1 -0
  298. package/dist/FooterGarSection-BKtQIAGm.mjs.map +1 -0
  299. package/dist/FooterGarSection-BX__olco.mjs.map +1 -0
  300. package/dist/FooterGarSection-BtCdH7Eh.mjs.map +1 -0
  301. package/dist/FooterGarSection-CTfWZV9U.mjs +71 -0
  302. package/dist/FooterGarSection-CTfWZV9U.mjs.map +1 -0
  303. package/dist/FooterGarSection-D4cPjQrK.mjs.map +1 -0
  304. package/dist/FooterGarSection-_nmbth7R.mjs.map +1 -0
  305. package/dist/FooterGarSection-syu-sY6D.mjs.map +1 -0
  306. package/dist/FooterSection-B7U-k8Y_.mjs +242 -0
  307. package/dist/FooterSection-B7U-k8Y_.mjs.map +1 -0
  308. package/dist/FooterSection-BCSsmDtK.mjs.map +1 -0
  309. package/dist/FooterSection-BTLGfXhO.mjs.map +1 -0
  310. package/dist/FooterSection-CzjmceG3.mjs.map +1 -0
  311. package/dist/FooterSection-DXN9hDpW.mjs.map +1 -0
  312. package/dist/FooterSection-VbNEwwAi.mjs.map +1 -0
  313. package/dist/FooterSection-oG2rsgql.mjs.map +1 -0
  314. package/dist/FooterSection-wV6U32yB.mjs.map +1 -0
  315. package/dist/HomeDropdown-35ltOXjq.mjs.map +1 -0
  316. package/dist/HomeDropdown-BBbLy3E2.mjs.map +1 -0
  317. package/dist/HomeDropdown-BEnuQwNk.mjs +110 -0
  318. package/dist/HomeDropdown-BEnuQwNk.mjs.map +1 -0
  319. package/dist/HomeDropdown-BVgXclga.mjs.map +1 -0
  320. package/dist/HomeDropdown-BoUAW1-A.mjs.map +1 -0
  321. package/dist/HomeDropdown-BrBAtaGS.mjs.map +1 -0
  322. package/dist/HomeDropdown-C1t9_37d.mjs.map +1 -0
  323. package/dist/HomeDropdown-CiHwBZRw.mjs.map +1 -0
  324. package/dist/HomePage-1oKIZIbD.mjs.map +1 -0
  325. package/dist/HomePage-5g1hu6m5.mjs.map +1 -0
  326. package/dist/HomePage-8kFIB9jy.mjs.map +1 -0
  327. package/dist/HomePage-BmYeT77a.mjs +166 -0
  328. package/dist/HomePage-BmYeT77a.mjs.map +1 -0
  329. package/dist/HomePage-Bp4D88it.mjs.map +1 -0
  330. package/dist/HomePage-BqCRtmCZ.mjs.map +1 -0
  331. package/dist/HomePage-CA_D6kWn.mjs.map +1 -0
  332. package/dist/HomePage-CdTp7bkN.mjs.map +1 -0
  333. package/dist/HomePage-DLgNoCiZ.mjs.map +1 -0
  334. package/dist/HomePage-MqWZ8gYT.mjs.map +1 -0
  335. package/dist/LikeSection-B6iTVM7V.mjs.map +1 -0
  336. package/dist/LikeSection-CfDZ9By_.mjs.map +1 -0
  337. package/dist/LikeSection-Cnqh3BHR.mjs.map +1 -0
  338. package/dist/LikeSection-CwImuD6V.mjs.map +1 -0
  339. package/dist/LikeSection-D2afnKgR.mjs.map +1 -0
  340. package/dist/LikeSection-a0Qwb0pP.mjs.map +1 -0
  341. package/dist/LikeSection-cjuHVDUb.mjs.map +1 -0
  342. package/dist/LikeSection-xxZrcE6h.mjs +167 -0
  343. package/dist/LikeSection-xxZrcE6h.mjs.map +1 -0
  344. package/dist/ListPaginate-B2GfJ2XG.mjs.map +1 -0
  345. package/dist/ListPaginate-B2sluwKR.mjs.map +1 -0
  346. package/dist/ListPaginate-BVgC_EZc.mjs.map +1 -0
  347. package/dist/ListPaginate-BXC7Wa9A.mjs.map +1 -0
  348. package/dist/ListPaginate-C9YUNHKq.mjs +202 -0
  349. package/dist/ListPaginate-C9YUNHKq.mjs.map +1 -0
  350. package/dist/ListPaginate-CXKYbF91.mjs.map +1 -0
  351. package/dist/ListPaginate-CZg4bNAV.mjs.map +1 -0
  352. package/dist/ListPaginate-Dahe7nCi.mjs.map +1 -0
  353. package/dist/LiveHorizontalList-4qHj8EkS.mjs +136 -0
  354. package/dist/LiveHorizontalList-4qHj8EkS.mjs.map +1 -0
  355. package/dist/LiveHorizontalList-BdKG9ZRq.mjs.map +1 -0
  356. package/dist/LiveHorizontalList-BjtpeOER.mjs.map +1 -0
  357. package/dist/LiveHorizontalList-BlOA_SQ-.mjs.map +1 -0
  358. package/dist/LiveHorizontalList-BrVLNbcs.mjs.map +1 -0
  359. package/dist/LiveHorizontalList-Bt6RBhFx.mjs.map +1 -0
  360. package/dist/LiveHorizontalList-CUeTCxa9.mjs.map +1 -0
  361. package/dist/LiveHorizontalList-DGsHkZXl.mjs.map +1 -0
  362. package/dist/LiveHorizontalList-DaAIBl8_.mjs.map +1 -0
  363. package/dist/LiveHorizontalList-KEcCCoFy.mjs.map +1 -0
  364. package/dist/LiveList-BAfaKtst.mjs.map +1 -0
  365. package/dist/LiveList-BNSIdMf6.mjs +324 -0
  366. package/dist/LiveList-BNSIdMf6.mjs.map +1 -0
  367. package/dist/LiveList-C2LaQd-X.mjs.map +1 -0
  368. package/dist/LiveList-C2MkulGa.mjs.map +1 -0
  369. package/dist/LiveList-DmPveHiA.mjs.map +1 -0
  370. package/dist/LiveList-DougZkb5.mjs.map +1 -0
  371. package/dist/LiveList-SQEyqtXv.mjs.map +1 -0
  372. package/dist/LiveList-d6sxftRL.mjs.map +1 -0
  373. package/dist/LiveList-n5YhfpuV.mjs.map +1 -0
  374. package/dist/LiveList-w_Uqo7pC.mjs.map +1 -0
  375. package/dist/LivesPage-8mNTX_aq.mjs.map +1 -0
  376. package/dist/LivesPage-B8A5oY3Z.mjs.map +1 -0
  377. package/dist/LivesPage-BGB4yHJJ.mjs.map +1 -0
  378. package/dist/LivesPage-Boq-efi1.mjs +76 -0
  379. package/dist/LivesPage-Boq-efi1.mjs.map +1 -0
  380. package/dist/LivesPage-CHKMYyz7.mjs.map +1 -0
  381. package/dist/LivesPage-CVHOjcu9.mjs.map +1 -0
  382. package/dist/LivesPage-ChSsKzdr.mjs.map +1 -0
  383. package/dist/LivesPage-DLRlZsFD.mjs.map +1 -0
  384. package/dist/LivesPage-DXsXeGhq.mjs.map +1 -0
  385. package/dist/LivesPage-y5cSmL9j.mjs.map +1 -0
  386. package/dist/MapPage-BTugok5X.mjs.map +1 -0
  387. package/dist/MapPage-BfFDi0lK.mjs.map +1 -0
  388. package/dist/MapPage-CSpj96-Z.mjs.map +1 -0
  389. package/dist/MapPage-DJqTgIys.mjs.map +1 -0
  390. package/dist/MapPage-DOYeoa-x.mjs +303 -0
  391. package/dist/MapPage-DOYeoa-x.mjs.map +1 -0
  392. package/dist/MapPage-FWrSf-_O.mjs.map +1 -0
  393. package/dist/MapPage-GzLpp82r.mjs.map +1 -0
  394. package/dist/MapPage-OY3Bjb-x.mjs.map +1 -0
  395. package/dist/MobileMenu-B9u1xQu8.mjs +187 -0
  396. package/dist/MobileMenu-B9u1xQu8.mjs.map +1 -0
  397. package/dist/MobileMenu-BRUze5FH.mjs.map +1 -0
  398. package/dist/MobileMenu-CLuWzQ3z.mjs.map +1 -0
  399. package/dist/MobileMenu-D0_AG2lW.mjs.map +1 -0
  400. package/dist/MobileMenu-DES01JNf.mjs.map +1 -0
  401. package/dist/MobileMenu-DyfgyHgN.mjs.map +1 -0
  402. package/dist/MobileMenu-S37TAWuK.mjs.map +1 -0
  403. package/dist/MobileMenu-crc2wKfq.mjs.map +1 -0
  404. package/dist/NewsletterModal-2kYChOhX.mjs.map +1 -0
  405. package/dist/NewsletterModal-CEYb1exr.mjs.map +1 -0
  406. package/dist/NewsletterModal-CV11PCGE.mjs +82 -0
  407. package/dist/NewsletterModal-CV11PCGE.mjs.map +1 -0
  408. package/dist/NewsletterModal-CkR4W1Ht.mjs.map +1 -0
  409. package/dist/NewsletterModal-D7HrTutI.mjs.map +1 -0
  410. package/dist/NewsletterModal-DZDCvN7c.mjs.map +1 -0
  411. package/dist/NewsletterModal-DvRTsz_F.mjs.map +1 -0
  412. package/dist/NewsletterModal-KW33yovN.mjs.map +1 -0
  413. package/dist/OrganisationChooser-C0eRYOpz.mjs.map +1 -0
  414. package/dist/OrganisationChooser-C8lM4mh-.mjs +190 -0
  415. package/dist/OrganisationChooser-C8lM4mh-.mjs.map +1 -0
  416. package/dist/OrganisationChooser-CEtiqAHc.mjs.map +1 -0
  417. package/dist/OrganisationChooser-Cw9yAxM1.mjs.map +1 -0
  418. package/dist/OrganisationChooser-DlUUt477.mjs.map +1 -0
  419. package/dist/OrganisationChooser-PPMxSop3.mjs.map +1 -0
  420. package/dist/OrganisationChooser-_-CAzQyG.mjs.map +1 -0
  421. package/dist/OrganisationChooser-wmM2dstX.mjs.map +1 -0
  422. package/dist/OrganisationChooserLight-2xITz8LG.mjs.map +1 -0
  423. package/dist/OrganisationChooserLight-B6Ffp6Z5.mjs.map +1 -0
  424. package/dist/OrganisationChooserLight-BI_H3aco.mjs.map +1 -0
  425. package/dist/OrganisationChooserLight-BN4PqeMz.mjs.map +1 -0
  426. package/dist/OrganisationChooserLight-BZRuebHC.mjs.map +1 -0
  427. package/dist/OrganisationChooserLight-B_Bn5uSJ.mjs +84 -0
  428. package/dist/OrganisationChooserLight-B_Bn5uSJ.mjs.map +1 -0
  429. package/dist/OrganisationChooserLight-D8dRc3o0.mjs.map +1 -0
  430. package/dist/OrganisationChooserLight-tifNDlC_.mjs.map +1 -0
  431. package/dist/PageNotFound-BcAeMiaz.mjs +58 -0
  432. package/dist/PageNotFound-BcAeMiaz.mjs.map +1 -0
  433. package/dist/PageNotFound-C-AtqE7u.mjs.map +1 -0
  434. package/dist/PageNotFound-CQoSdX4h.mjs.map +1 -0
  435. package/dist/PageNotFound-DCyGvvjK.mjs.map +1 -0
  436. package/dist/PageNotFound-DDu5NdY6.mjs.map +1 -0
  437. package/dist/PageNotFound-DMhQmfyW.mjs.map +1 -0
  438. package/dist/PageNotFound-DiO28Uji.mjs.map +1 -0
  439. package/dist/PageNotFound-sTlWzrAN.mjs.map +1 -0
  440. package/dist/ParticipantInlineList-B1vb8SQt.mjs.map +1 -0
  441. package/dist/ParticipantInlineList-B5MkLUnV.mjs.map +1 -0
  442. package/dist/ParticipantInlineList-BP9OjWPq.mjs +117 -0
  443. package/dist/ParticipantInlineList-BP9OjWPq.mjs.map +1 -0
  444. package/dist/ParticipantInlineList-BYdLxjB-.mjs.map +1 -0
  445. package/dist/ParticipantInlineList-C-OvFC-T.mjs.map +1 -0
  446. package/dist/ParticipantInlineList-DKfNcyCs.mjs.map +1 -0
  447. package/dist/ParticipantInlineList-DxR0tF8d.mjs.map +1 -0
  448. package/dist/ParticipantInlineList-IdQ4k-BB.mjs.map +1 -0
  449. package/dist/ParticipantInlineList-Jp6ZPUiC.mjs.map +1 -0
  450. package/dist/ParticipantInlineList-xr_f6rws.mjs.map +1 -0
  451. package/dist/ParticipantItem-1mjH8LQc.mjs.map +1 -0
  452. package/dist/ParticipantItem-B5LzNAVr.mjs.map +1 -0
  453. package/dist/ParticipantItem-B6rGq73q.mjs.map +1 -0
  454. package/dist/ParticipantItem-BT0kKsD_.mjs.map +1 -0
  455. package/dist/ParticipantItem-BsBOW5Yg.mjs.map +1 -0
  456. package/dist/ParticipantItem-C20V5K4U.mjs.map +1 -0
  457. package/dist/ParticipantItem-CKNqNtC5.mjs.map +1 -0
  458. package/dist/ParticipantItem-DROwf2Gt.mjs +138 -0
  459. package/dist/ParticipantItem-DROwf2Gt.mjs.map +1 -0
  460. package/dist/ParticipantItem-TDEi9-3v.mjs.map +1 -0
  461. package/dist/ParticipantItem-gqm3Owcx.mjs.map +1 -0
  462. package/dist/ParticipantPage-BGAqjBAA.mjs.map +1 -0
  463. package/dist/ParticipantPage-BQlW9QQ-.mjs.map +1 -0
  464. package/dist/ParticipantPage-BbhRQklZ.mjs.map +1 -0
  465. package/dist/ParticipantPage-Be2HlTm5.mjs.map +1 -0
  466. package/dist/ParticipantPage-BqPiczyZ.mjs.map +1 -0
  467. package/dist/ParticipantPage-By7Ypu8d.mjs.map +1 -0
  468. package/dist/ParticipantPage-C93DkNt5.mjs +203 -0
  469. package/dist/ParticipantPage-C93DkNt5.mjs.map +1 -0
  470. package/dist/ParticipantPage-CQ9hF05G.mjs.map +1 -0
  471. package/dist/ParticipantPage-DngwIHgZ.mjs.map +1 -0
  472. package/dist/ParticipantPage-cDn-E9VN.mjs.map +1 -0
  473. package/dist/ParticipantPage-hgT3P6p-.mjs.map +1 -0
  474. package/dist/ParticipantPage-zjsGF4KY.mjs.map +1 -0
  475. package/dist/ParticipantsPage-BIlXpxuX.mjs.map +1 -0
  476. package/dist/ParticipantsPage-Bb_0zdJj.mjs.map +1 -0
  477. package/dist/ParticipantsPage-BpN4nG3P.mjs.map +1 -0
  478. package/dist/ParticipantsPage-Bxm26IWx.mjs.map +1 -0
  479. package/dist/ParticipantsPage-C1VilJ_B.mjs.map +1 -0
  480. package/dist/ParticipantsPage-CHs_EUKe.mjs.map +1 -0
  481. package/dist/ParticipantsPage-CuIGt0hS.mjs +262 -0
  482. package/dist/ParticipantsPage-CuIGt0hS.mjs.map +1 -0
  483. package/dist/ParticipantsPage-DZRDaeeU.mjs.map +1 -0
  484. package/dist/ParticipantsPage-Dh4qxy53.mjs.map +1 -0
  485. package/dist/ParticipantsPage-DsSdBC7m.mjs.map +1 -0
  486. package/dist/ParticipantsPage-vriueLXv.mjs.map +1 -0
  487. package/dist/PlayerAnonymousModal-C_YX6p2e.mjs.map +1 -0
  488. package/dist/PlayerAnonymousModal-DID5SKut.mjs.map +1 -0
  489. package/dist/PlayerAnonymousModal-DJRBilzy.mjs.map +1 -0
  490. package/dist/PlayerAnonymousModal-DL5bX-br.mjs.map +1 -0
  491. package/dist/PlayerAnonymousModal-DS-xCiYS.mjs.map +1 -0
  492. package/dist/PlayerAnonymousModal-DShsz29z.mjs +84 -0
  493. package/dist/PlayerAnonymousModal-DShsz29z.mjs.map +1 -0
  494. package/dist/PlayerAnonymousModal-N7254PdP.mjs.map +1 -0
  495. package/dist/PlayerAnonymousModal-PSOxZM4G.mjs.map +1 -0
  496. package/dist/PlayerCompact-2c7jXoLe.mjs.map +1 -0
  497. package/dist/PlayerCompact-B6RkPvdB.mjs.map +1 -0
  498. package/dist/PlayerCompact-BKZC9_Q3.mjs.map +1 -0
  499. package/dist/PlayerCompact-BVSkJWnf.mjs +209 -0
  500. package/dist/PlayerCompact-BVSkJWnf.mjs.map +1 -0
  501. package/dist/PlayerCompact-BrA80Jz_.mjs.map +1 -0
  502. package/dist/PlayerCompact-CYykvc0T.mjs.map +1 -0
  503. package/dist/PlayerCompact-DLQYBn_3.mjs.map +1 -0
  504. package/dist/PlayerCompact-DbGxllSc.mjs.map +1 -0
  505. package/dist/PlayerComponent-BjkuZ9bv.mjs.map +1 -0
  506. package/dist/PlayerComponent-CLm4OApf.mjs.map +1 -0
  507. package/dist/PlayerComponent-D0kpJ6o7.mjs.map +1 -0
  508. package/dist/PlayerComponent-D56wEuQi.mjs.map +1 -0
  509. package/dist/PlayerComponent-DKwM8vDK.mjs.map +1 -0
  510. package/dist/PlayerComponent-DVnvB6Ky.mjs.map +1 -0
  511. package/dist/PlayerComponent-dU_bgj3K.mjs +929 -0
  512. package/dist/PlayerComponent-dU_bgj3K.mjs.map +1 -0
  513. package/dist/PlayerComponent-fTZlW3Ea.mjs.map +1 -0
  514. package/dist/PlayerLarge-B0qqu2xB.mjs.map +1 -0
  515. package/dist/PlayerLarge-BdsuxcfX.mjs.map +1 -0
  516. package/dist/PlayerLarge-Bl41fSG2.mjs.map +1 -0
  517. package/dist/PlayerLarge-BnsLvwU7.mjs +190 -0
  518. package/dist/PlayerLarge-BnsLvwU7.mjs.map +1 -0
  519. package/dist/PlayerLarge-C0XfCxlz.mjs.map +1 -0
  520. package/dist/PlayerLarge-DROavb5D.mjs.map +1 -0
  521. package/dist/PlayerLarge-DaZlXOLQ.mjs.map +1 -0
  522. package/dist/PlayerLarge-LCB9mX1V.mjs.map +1 -0
  523. package/dist/PlayerPlayButton-BYEFygUQ.mjs.map +1 -0
  524. package/dist/PlayerPlayButton-BuF91IV9.mjs.map +1 -0
  525. package/dist/PlayerPlayButton-CCpKjcaD.mjs.map +1 -0
  526. package/dist/PlayerPlayButton-DPAfPfHk.mjs +400 -0
  527. package/dist/PlayerPlayButton-DPAfPfHk.mjs.map +1 -0
  528. package/dist/PlayerPlayButton-DRhJLBkl.mjs.map +1 -0
  529. package/dist/PlayerPlayButton-DgJ9DiOR.mjs.map +1 -0
  530. package/dist/PlayerPlayButton-XEcwJsYc.mjs.map +1 -0
  531. package/dist/PlayerPlayButton-sOXhGXWT.mjs.map +1 -0
  532. package/dist/PlayerProgressBar-B44UhkFM.mjs.map +1 -0
  533. package/dist/PlayerProgressBar-BFOvttHk.mjs.map +1 -0
  534. package/dist/PlayerProgressBar-BFz7oBO4.mjs.map +1 -0
  535. package/dist/PlayerProgressBar-C4yp-pJs.mjs.map +1 -0
  536. package/dist/PlayerProgressBar-Ckvqrxxj.mjs.map +1 -0
  537. package/dist/PlayerProgressBar-JkhTTJ1j.mjs.map +1 -0
  538. package/dist/PlayerProgressBar-dPZf2Fgd.mjs +86 -0
  539. package/dist/PlayerProgressBar-dPZf2Fgd.mjs.map +1 -0
  540. package/dist/PlayerProgressBar-xos_D8_I.mjs.map +1 -0
  541. package/dist/PlayerStore-C0e_C1mg.mjs.map +1 -0
  542. package/dist/PlayerStore-CLBB4vTl.mjs.map +1 -0
  543. package/dist/PlayerStore-CNq7ffD-.mjs.map +1 -0
  544. package/dist/PlayerStore-CPx-OF46.mjs.map +1 -0
  545. package/dist/PlayerStore-D2kYKiYY.mjs.map +1 -0
  546. package/dist/PlayerStore-D75I--B4.mjs.map +1 -0
  547. package/dist/PlayerStore-DN54JPUv.mjs.map +1 -0
  548. package/dist/PlayerStore-PXL_fAz0.mjs +230 -0
  549. package/dist/PlayerStore-PXL_fAz0.mjs.map +1 -0
  550. package/dist/PlayerVideo--_Kz9vbZ.mjs +72 -0
  551. package/dist/PlayerVideo--_Kz9vbZ.mjs.map +1 -0
  552. package/dist/PlayerVideo-CGxMdLTE.mjs.map +1 -0
  553. package/dist/PlayerVideo-CSPWdFmf.mjs.map +1 -0
  554. package/dist/PlayerVideo-DN4cWeQP.mjs.map +1 -0
  555. package/dist/PlayerVideo-DPkWsgZo.mjs.map +1 -0
  556. package/dist/PlayerVideo-DT9wZfso.mjs.map +1 -0
  557. package/dist/PlayerVideo-Dbw8-jzi.mjs.map +1 -0
  558. package/dist/PlayerVideo-DcndZxyL.mjs.map +1 -0
  559. package/dist/PlayerVideoDigiteka-B0DM5dUQ.mjs.map +1 -0
  560. package/dist/PlayerVideoDigiteka-B4oUahid.mjs.map +1 -0
  561. package/dist/PlayerVideoDigiteka-BCstFOQv.mjs.map +1 -0
  562. package/dist/PlayerVideoDigiteka-BcXsqqhY.mjs.map +1 -0
  563. package/dist/PlayerVideoDigiteka-BgXoXF4i.mjs.map +1 -0
  564. package/dist/PlayerVideoDigiteka-C2P_Q4Fe.mjs +102 -0
  565. package/dist/PlayerVideoDigiteka-C2P_Q4Fe.mjs.map +1 -0
  566. package/dist/PlayerVideoDigiteka-CGHmdkUL.mjs.map +1 -0
  567. package/dist/PlayerVideoDigiteka-CPJ-l8KX.mjs.map +1 -0
  568. package/dist/PlayerVideoHls-BOZLkJA2.mjs.map +1 -0
  569. package/dist/PlayerVideoHls-BZm6iEVQ.mjs.map +1 -0
  570. package/dist/PlayerVideoHls-Csj2_tFT.mjs.map +1 -0
  571. package/dist/PlayerVideoHls-DPd15ZKL.mjs.map +1 -0
  572. package/dist/PlayerVideoHls-DZBGdNv8.mjs.map +1 -0
  573. package/dist/PlayerVideoHls-Dgxsarmp.mjs.map +1 -0
  574. package/dist/PlayerVideoHls-Dhc3_vMY.mjs.map +1 -0
  575. package/dist/PlayerVideoHls-Rk-hz2k-.mjs +232 -0
  576. package/dist/PlayerVideoHls-Rk-hz2k-.mjs.map +1 -0
  577. package/dist/PlaylistPage-CARz8SKq.mjs.map +1 -0
  578. package/dist/PlaylistPage-CdKGH_W2.mjs.map +1 -0
  579. package/dist/PlaylistPage-CvlY8R47.mjs.map +1 -0
  580. package/dist/PlaylistPage-CzgrhwRb.mjs.map +1 -0
  581. package/dist/PlaylistPage-Czoocs0q.mjs.map +1 -0
  582. package/dist/PlaylistPage-DN8FxJED.mjs.map +1 -0
  583. package/dist/PlaylistPage-DgbdClfy.mjs.map +1 -0
  584. package/dist/PlaylistPage-DvJjwvI_.mjs.map +1 -0
  585. package/dist/PlaylistPage-U_IMEiNw.mjs +228 -0
  586. package/dist/PlaylistPage-U_IMEiNw.mjs.map +1 -0
  587. package/dist/PlaylistPage-ubSxWN1i.mjs.map +1 -0
  588. package/dist/PlaylistPage-vPX_wwEO.mjs.map +1 -0
  589. package/dist/PlaylistsPage--BdUCleq.mjs.map +1 -0
  590. package/dist/PlaylistsPage-4p58SShT.mjs +395 -0
  591. package/dist/PlaylistsPage-4p58SShT.mjs.map +1 -0
  592. package/dist/PlaylistsPage-BHF-3tgl.mjs.map +1 -0
  593. package/dist/PlaylistsPage-BHkETgSa.mjs.map +1 -0
  594. package/dist/PlaylistsPage-C8RfANak.mjs.map +1 -0
  595. package/dist/PlaylistsPage-CQ3G3kWz.mjs.map +1 -0
  596. package/dist/PlaylistsPage-DImJmIkL.mjs.map +1 -0
  597. package/dist/PlaylistsPage-DPDsiGh5.mjs.map +1 -0
  598. package/dist/PlaylistsPage-dTb2DeOD.mjs.map +1 -0
  599. package/dist/PodcastFilterList-BNIGxX1P.mjs.map +1 -0
  600. package/dist/PodcastFilterList-BT0RdGZZ.mjs.map +1 -0
  601. package/dist/PodcastFilterList-CBWs4fv5.mjs.map +1 -0
  602. package/dist/PodcastFilterList-CQfMOODn.mjs.map +1 -0
  603. package/dist/PodcastFilterList-DR2-SQEy.mjs.map +1 -0
  604. package/dist/PodcastFilterList-Dl0aHVq0.mjs.map +1 -0
  605. package/dist/PodcastFilterList-Dp00QEzb.mjs.map +1 -0
  606. package/dist/PodcastFilterList-WhVuAT9m.mjs.map +1 -0
  607. package/dist/PodcastFilterList-b50X-KG5.mjs.map +1 -0
  608. package/dist/PodcastFilterList-gOQb-JT-.mjs +254 -0
  609. package/dist/PodcastFilterList-gOQb-JT-.mjs.map +1 -0
  610. package/dist/PodcastFilterList-k__beBra.mjs.map +1 -0
  611. package/dist/PodcastImage-3rt4Du7n.mjs.map +1 -0
  612. package/dist/PodcastImage-B6tLtLst.mjs.map +1 -0
  613. package/dist/PodcastImage-BNI3Vww3.mjs.map +1 -0
  614. package/dist/PodcastImage-CE22bv7L.mjs.map +1 -0
  615. package/dist/PodcastImage-CEBOyzBz.mjs.map +1 -0
  616. package/dist/PodcastImage-CznWyL4p.mjs.map +1 -0
  617. package/dist/PodcastImage-DdDPqcxA.mjs.map +1 -0
  618. package/dist/PodcastImage-Dg912wL7.mjs.map +1 -0
  619. package/dist/PodcastImage-DticDvGz.mjs +174 -0
  620. package/dist/PodcastImage-DticDvGz.mjs.map +1 -0
  621. package/dist/PodcastImage-PGYxErxr.mjs.map +1 -0
  622. package/dist/PodcastInlineList-BL3HG-jw.mjs.map +1 -0
  623. package/dist/PodcastInlineList-BjZOw0wI.mjs.map +1 -0
  624. package/dist/PodcastInlineList-C3vrMZAk.mjs.map +1 -0
  625. package/dist/PodcastInlineList-CTD_tFe2.mjs +138 -0
  626. package/dist/PodcastInlineList-CTD_tFe2.mjs.map +1 -0
  627. package/dist/PodcastInlineList-ChJ8ddi5.mjs.map +1 -0
  628. package/dist/PodcastInlineList-Cmu2cTOP.mjs.map +1 -0
  629. package/dist/PodcastInlineList-D38wBYK7.mjs.map +1 -0
  630. package/dist/PodcastInlineList-D5Dl0h8V.mjs.map +1 -0
  631. package/dist/PodcastInlineList-MHNlQLuq.mjs.map +1 -0
  632. package/dist/PodcastInlineList-tEw2WJmy.mjs.map +1 -0
  633. package/dist/PodcastInlineListTemplate-BfxRCala.mjs.map +1 -0
  634. package/dist/PodcastInlineListTemplate-Btey7iJS.mjs.map +1 -0
  635. package/dist/PodcastInlineListTemplate-C9_KNnaX.mjs +233 -0
  636. package/dist/PodcastInlineListTemplate-C9_KNnaX.mjs.map +1 -0
  637. package/dist/PodcastInlineListTemplate-CKXco61U.mjs.map +1 -0
  638. package/dist/PodcastInlineListTemplate-CW7XOFr2.mjs.map +1 -0
  639. package/dist/PodcastInlineListTemplate-D4ifVB1D.mjs.map +1 -0
  640. package/dist/PodcastInlineListTemplate-DxGdlfy4.mjs.map +1 -0
  641. package/dist/PodcastInlineListTemplate-a9VjM3GU.mjs.map +1 -0
  642. package/dist/PodcastIsPlaying-1o91KNzu.mjs +30 -0
  643. package/dist/PodcastIsPlaying-1o91KNzu.mjs.map +1 -0
  644. package/dist/PodcastIsPlaying-BIQLnXYe.mjs.map +1 -0
  645. package/dist/PodcastIsPlaying-C56D5WUb.mjs.map +1 -0
  646. package/dist/PodcastIsPlaying-CUZDPjY0.mjs.map +1 -0
  647. package/dist/PodcastIsPlaying-CcUQuYF2.mjs.map +1 -0
  648. package/dist/PodcastIsPlaying-Dar4_RJh.mjs.map +1 -0
  649. package/dist/PodcastIsPlaying-DlbPM1vB.mjs.map +1 -0
  650. package/dist/PodcastIsPlaying-XPmIL3mo.mjs.map +1 -0
  651. package/dist/PodcastItem-B7tNxSnJ.mjs.map +1 -0
  652. package/dist/PodcastItem-BLywqk77.mjs.map +1 -0
  653. package/dist/PodcastItem-BhCkyYQc.mjs.map +1 -0
  654. package/dist/PodcastItem-BjHbNB4_.mjs.map +1 -0
  655. package/dist/PodcastItem-Bxe64SHW.mjs.map +1 -0
  656. package/dist/PodcastItem-CVUC3kcq.mjs +287 -0
  657. package/dist/PodcastItem-CVUC3kcq.mjs.map +1 -0
  658. package/dist/PodcastItem-D-4uCT1T.mjs.map +1 -0
  659. package/dist/PodcastItem-D7cS1290.mjs.map +1 -0
  660. package/dist/PodcastItem-DRkTXsrb.mjs.map +1 -0
  661. package/dist/PodcastItem-R0ineZi1.mjs.map +1 -0
  662. package/dist/PodcastList-B3nkZx5X.mjs.map +1 -0
  663. package/dist/PodcastList-BPiaze5T.mjs.map +1 -0
  664. package/dist/PodcastList-BZPaW_8e.mjs.map +1 -0
  665. package/dist/PodcastList-BbNTOA48.mjs.map +1 -0
  666. package/dist/PodcastList-BgjMS4hk.mjs.map +1 -0
  667. package/dist/PodcastList-C3_ZT0bi.mjs.map +1 -0
  668. package/dist/PodcastList-CHCOgT9V.mjs.map +1 -0
  669. package/dist/PodcastList-CYST_dBw.mjs.map +1 -0
  670. package/dist/PodcastList-Cl8RvbI9.mjs +182 -0
  671. package/dist/PodcastList-Cl8RvbI9.mjs.map +1 -0
  672. package/dist/PodcastList-CqSK7CYJ.mjs.map +1 -0
  673. package/dist/PodcastList-CvI49Zla.mjs.map +1 -0
  674. package/dist/PodcastList-D3nOMQSq.mjs.map +1 -0
  675. package/dist/PodcastList-DIGFRh1_.mjs.map +1 -0
  676. package/dist/PodcastList-DdCswN5K.mjs.map +1 -0
  677. package/dist/PodcastList-Dr9xduuZ.mjs.map +1 -0
  678. package/dist/PodcastList-DwiKdU4Y.mjs +337 -0
  679. package/dist/PodcastList-DwiKdU4Y.mjs.map +1 -0
  680. package/dist/PodcastList-EUhESoCL.mjs.map +1 -0
  681. package/dist/PodcastList-Hu6r2Woc.mjs.map +1 -0
  682. package/dist/PodcastList-VjjRlCFP.mjs.map +1 -0
  683. package/dist/PodcastList-eqLNawaj.mjs.map +1 -0
  684. package/dist/PodcastList-vxE8PY8Y.mjs.map +1 -0
  685. package/dist/PodcastPage-2dDuJAeH.mjs.map +1 -0
  686. package/dist/PodcastPage-3RMuEQQb.mjs.map +1 -0
  687. package/dist/PodcastPage-BDWMnOpw.mjs.map +1 -0
  688. package/dist/PodcastPage-BQekxmbS.mjs.map +1 -0
  689. package/dist/PodcastPage-Ba8l7-aZ.mjs.map +1 -0
  690. package/dist/PodcastPage-BdI4XBWz.mjs.map +1 -0
  691. package/dist/PodcastPage-BmKOwWWI.mjs.map +1 -0
  692. package/dist/PodcastPage-Bs_N7lK9.mjs.map +1 -0
  693. package/dist/PodcastPage-BzLU5_P6.mjs +756 -0
  694. package/dist/PodcastPage-BzLU5_P6.mjs.map +1 -0
  695. package/dist/PodcastPage-C-vR6j8f.mjs.map +1 -0
  696. package/dist/PodcastPage-CVVpch4m.mjs.map +1 -0
  697. package/dist/PodcastPage-CaBpSV8P.mjs.map +1 -0
  698. package/dist/PodcastPage-CgVC5pkN.mjs.map +1 -0
  699. package/dist/PodcastPage-Ch9RnMIL.mjs.map +1 -0
  700. package/dist/PodcastPage-Chnk40S3.mjs.map +1 -0
  701. package/dist/PodcastPage-CxgDjPmw.mjs.map +1 -0
  702. package/dist/PodcastPage-D9oTXPQA.mjs.map +1 -0
  703. package/dist/PodcastPage-DArPlovn.mjs.map +1 -0
  704. package/dist/PodcastPage-DKkGchaE.mjs.map +1 -0
  705. package/dist/PodcastPage-D_JZDZKR.mjs.map +1 -0
  706. package/dist/PodcastPage-D_q-yXwq.mjs.map +1 -0
  707. package/dist/PodcastPage-Dp3jFm5s.mjs.map +1 -0
  708. package/dist/PodcastPage-DwsbnaXf.mjs.map +1 -0
  709. package/dist/PodcastPage-ZtKNDeYE.mjs.map +1 -0
  710. package/dist/PodcastPage-evNbROa8.mjs.map +1 -0
  711. package/dist/PodcastPage-i-nAt1zr.mjs.map +1 -0
  712. package/dist/PodcastPage-qoJOnX0L.mjs.map +1 -0
  713. package/dist/PodcastPlayBar-B1gj_epU.mjs.map +1 -0
  714. package/dist/PodcastPlayBar-BCxbApQ5.mjs.map +1 -0
  715. package/dist/PodcastPlayBar-CcpnX-tu.mjs.map +1 -0
  716. package/dist/PodcastPlayBar-CgN4QvcV.mjs.map +1 -0
  717. package/dist/PodcastPlayBar-DPEA8kyc.mjs.map +1 -0
  718. package/dist/PodcastPlayBar-DmF4hHVi.mjs.map +1 -0
  719. package/dist/PodcastPlayBar-hxLcx9MN.mjs +83 -0
  720. package/dist/PodcastPlayBar-hxLcx9MN.mjs.map +1 -0
  721. package/dist/PodcastPlayBar-ts50uiUL.mjs.map +1 -0
  722. package/dist/PodcastPlayBasicButton-0tMLmnJn.mjs +72 -0
  723. package/dist/PodcastPlayBasicButton-0tMLmnJn.mjs.map +1 -0
  724. package/dist/PodcastPlayBasicButton-CBxGHrsW.mjs.map +1 -0
  725. package/dist/PodcastPlayBasicButton-CMX3TEUr.mjs.map +1 -0
  726. package/dist/PodcastPlayBasicButton-Cfv99_Fm.mjs.map +1 -0
  727. package/dist/PodcastPlayBasicButton-D-2Jnu7W.mjs.map +1 -0
  728. package/dist/PodcastPlayBasicButton-DBNy6QvN.mjs.map +1 -0
  729. package/dist/PodcastPlayBasicButton-DzP7njbX.mjs.map +1 -0
  730. package/dist/PodcastPlayBasicButton-jP7W3Eew.mjs.map +1 -0
  731. package/dist/PodcastPlayButton-B1ZB8WY8.mjs +236 -0
  732. package/dist/PodcastPlayButton-B1ZB8WY8.mjs.map +1 -0
  733. package/dist/PodcastPlayButton-BP4NGIPP.mjs.map +1 -0
  734. package/dist/PodcastPlayButton-BRl3bOb1.mjs.map +1 -0
  735. package/dist/PodcastPlayButton-Bxx4WLzB.mjs.map +1 -0
  736. package/dist/PodcastPlayButton-D4QSivX3.mjs.map +1 -0
  737. package/dist/PodcastPlayButton-Dq4Sk28P.mjs.map +1 -0
  738. package/dist/PodcastPlayButton-G0560Ku_.mjs.map +1 -0
  739. package/dist/PodcastPlayButton-ZEsE86G2.mjs.map +1 -0
  740. package/dist/PodcastPlayButton-e5wAxIbl.mjs.map +1 -0
  741. package/dist/PodcastPlayButton-s3FCNszx.mjs.map +1 -0
  742. package/dist/PodcastPlaylistInlineList-BMxtKmsl.mjs.map +1 -0
  743. package/dist/PodcastPlaylistInlineList-Bc59FFVF.mjs.map +1 -0
  744. package/dist/PodcastPlaylistInlineList-BwHWwEba.mjs.map +1 -0
  745. package/dist/PodcastPlaylistInlineList-C0ZXsm08.mjs.map +1 -0
  746. package/dist/PodcastPlaylistInlineList-CNifljW-.mjs.map +1 -0
  747. package/dist/PodcastPlaylistInlineList-CgCUOZhg.mjs.map +1 -0
  748. package/dist/PodcastPlaylistInlineList-CvI8XIs3.mjs.map +1 -0
  749. package/dist/PodcastPlaylistInlineList-DD4mRTWL.mjs.map +1 -0
  750. package/dist/PodcastPlaylistInlineList-DjvqH3JD.mjs.map +1 -0
  751. package/dist/PodcastPlaylistInlineList-SZXCnYSe.mjs +115 -0
  752. package/dist/PodcastPlaylistInlineList-SZXCnYSe.mjs.map +1 -0
  753. package/dist/PodcastPresentationList-7I2gJ9sI.mjs.map +1 -0
  754. package/dist/PodcastPresentationList-B6EQonVG.mjs.map +1 -0
  755. package/dist/PodcastPresentationList-BNPI4ktk.mjs.map +1 -0
  756. package/dist/PodcastPresentationList-BU7ViJNL.mjs.map +1 -0
  757. package/dist/PodcastPresentationList-BYz-tlSL.mjs +200 -0
  758. package/dist/PodcastPresentationList-BYz-tlSL.mjs.map +1 -0
  759. package/dist/PodcastPresentationList-Bds0tZH_.mjs.map +1 -0
  760. package/dist/PodcastPresentationList-CXwTRtdd.mjs.map +1 -0
  761. package/dist/PodcastPresentationList-DNotAP8F.mjs.map +1 -0
  762. package/dist/PodcastPresentationList-DQ6VyYOF.mjs.map +1 -0
  763. package/dist/PodcastPresentationList-Dfr3aC06.mjs.map +1 -0
  764. package/dist/PodcastProgressBar-BJPSohh3.mjs.map +1 -0
  765. package/dist/PodcastProgressBar-Bv5JaE8d.mjs.map +1 -0
  766. package/dist/PodcastProgressBar-C1V8SzsN.mjs.map +1 -0
  767. package/dist/PodcastProgressBar-C2Q499e-.mjs.map +1 -0
  768. package/dist/PodcastProgressBar-DS_gFcxN.mjs.map +1 -0
  769. package/dist/PodcastProgressBar-DT95OgbR.mjs.map +1 -0
  770. package/dist/PodcastProgressBar-DknFfvhM.mjs.map +1 -0
  771. package/dist/PodcastProgressBar-DqPW_p3w.mjs +98 -0
  772. package/dist/PodcastProgressBar-DqPW_p3w.mjs.map +1 -0
  773. package/dist/PodcastRawTranscript-B3XploAN.mjs.map +1 -0
  774. package/dist/PodcastRawTranscript-Bn0uehDS.mjs.map +1 -0
  775. package/dist/PodcastRawTranscript-DHGG6P4H.mjs.map +1 -0
  776. package/dist/PodcastRawTranscript-DgNTVFR8.mjs.map +1 -0
  777. package/dist/PodcastRawTranscript-Q9E4SxfK.mjs.map +1 -0
  778. package/dist/PodcastRawTranscript-TWZD3G5q.mjs.map +1 -0
  779. package/dist/PodcastRawTranscript-X63ZILM7.mjs.map +1 -0
  780. package/dist/PodcastRawTranscript-a9_Oy3RK.mjs +184 -0
  781. package/dist/PodcastRawTranscript-a9_Oy3RK.mjs.map +1 -0
  782. package/dist/PodcastRubriqueList-BCyW3wEK.mjs.map +1 -0
  783. package/dist/PodcastRubriqueList-BTbcJXYx.mjs.map +1 -0
  784. package/dist/PodcastRubriqueList-C95GU8o5.mjs.map +1 -0
  785. package/dist/PodcastRubriqueList-Ccdnx6On.mjs.map +1 -0
  786. package/dist/PodcastRubriqueList-DI2csHW1.mjs +83 -0
  787. package/dist/PodcastRubriqueList-DI2csHW1.mjs.map +1 -0
  788. package/dist/PodcastRubriqueList-DVkFRxXq.mjs.map +1 -0
  789. package/dist/PodcastRubriqueList-Dl6QY0i8.mjs.map +1 -0
  790. package/dist/PodcastRubriqueList-_YhHNC47.mjs.map +1 -0
  791. package/dist/PodcastSwiperList-BS5c3FoG.mjs.map +1 -0
  792. package/dist/PodcastSwiperList-BX3Df01j.mjs.map +1 -0
  793. package/dist/PodcastSwiperList-BrhZmdlc.mjs.map +1 -0
  794. package/dist/PodcastSwiperList-ByjpnQxI.mjs +219 -0
  795. package/dist/PodcastSwiperList-ByjpnQxI.mjs.map +1 -0
  796. package/dist/PodcastSwiperList-Cz46EA8R.mjs.map +1 -0
  797. package/dist/PodcastSwiperList-DR9LRgSd.mjs.map +1 -0
  798. package/dist/PodcastSwiperList-DTyt7oEG.mjs.map +1 -0
  799. package/dist/PodcastSwiperList-Hcu_odVZ.mjs.map +1 -0
  800. package/dist/PodcastSwiperList-SuxAntDq.mjs.map +1 -0
  801. package/dist/PodcastSwiperList-lgJ0f6v-.mjs.map +1 -0
  802. package/dist/PodcastmakerHeader-BA4Li7Kn.mjs.map +1 -0
  803. package/dist/PodcastmakerHeader-BAegQW6Z.mjs.map +1 -0
  804. package/dist/PodcastmakerHeader-C4gFjX6v.mjs.map +1 -0
  805. package/dist/PodcastmakerHeader-CNfRgIK9.mjs.map +1 -0
  806. package/dist/PodcastmakerHeader-DLivShWW.mjs +58 -0
  807. package/dist/PodcastmakerHeader-DLivShWW.mjs.map +1 -0
  808. package/dist/PodcastmakerHeader-DYRMuK-v.mjs.map +1 -0
  809. package/dist/PodcastmakerHeader-MUM5IU8l.mjs.map +1 -0
  810. package/dist/PodcastmakerHeader-RXfyAHAn.mjs.map +1 -0
  811. package/dist/PodcastsPage-B3Bz8Tqk.mjs.map +1 -0
  812. package/dist/PodcastsPage-BIUMIU5y.mjs.map +1 -0
  813. package/dist/PodcastsPage-BIk-JeoA.mjs.map +1 -0
  814. package/dist/PodcastsPage-BZjvnYPf.mjs.map +1 -0
  815. package/dist/PodcastsPage-BalH_7Xq.mjs.map +1 -0
  816. package/dist/PodcastsPage-Bk2Ha9lT.mjs.map +1 -0
  817. package/dist/PodcastsPage-C4FPpWq6.mjs.map +1 -0
  818. package/dist/PodcastsPage-CZMG21RP.mjs +227 -0
  819. package/dist/PodcastsPage-CZMG21RP.mjs.map +1 -0
  820. package/dist/PodcastsPage-ClvhNA-n.mjs.map +1 -0
  821. package/dist/PodcastsPage-CnSrwx2a.mjs.map +1 -0
  822. package/dist/PodcastsPage-Cpu5ZFVk.mjs.map +1 -0
  823. package/dist/PodcastsPage-Cr82uGtg.mjs.map +1 -0
  824. package/dist/PodcastsPage-DXFl1i4y.mjs.map +1 -0
  825. package/dist/PodcastsPage-DcM9kL4U.mjs.map +1 -0
  826. package/dist/PodcastsPage-VA3YxWs-.mjs.map +1 -0
  827. package/dist/PodcastsPage-bvHqAuLo.mjs.map +1 -0
  828. package/dist/PodcastsPage-jRvQd8-H.mjs.map +1 -0
  829. package/dist/PodcastsPage-nijaUW3P.mjs.map +1 -0
  830. package/dist/PodcastsPage-qCVe5Xxr.mjs.map +1 -0
  831. package/dist/ProductorSearch-BqTnrQwN.mjs.map +1 -0
  832. package/dist/ProductorSearch-BrkwY0qW.mjs.map +1 -0
  833. package/dist/ProductorSearch-Cr79KkYG.mjs +161 -0
  834. package/dist/ProductorSearch-Cr79KkYG.mjs.map +1 -0
  835. package/dist/ProductorSearch-D70kZSKq.mjs.map +1 -0
  836. package/dist/ProductorSearch-DQeG0dsL.mjs.map +1 -0
  837. package/dist/ProductorSearch-Ybo6vZOo.mjs.map +1 -0
  838. package/dist/ProductorSearch-g0EL7GLW.mjs.map +1 -0
  839. package/dist/ProductorSearch-valGKmww.mjs.map +1 -0
  840. package/dist/ProgressBar-5tVxrk7d.mjs.map +1 -0
  841. package/dist/ProgressBar-B0xQNpFe.mjs.map +1 -0
  842. package/dist/ProgressBar-BCwW89su.mjs.map +1 -0
  843. package/dist/ProgressBar-CTtrIt8Y.mjs.map +1 -0
  844. package/dist/ProgressBar-D8VdS-u6.mjs.map +1 -0
  845. package/dist/ProgressBar-DrnLNpyr.mjs +158 -0
  846. package/dist/ProgressBar-DrnLNpyr.mjs.map +1 -0
  847. package/dist/ProgressBar-kqIwCrRr.mjs.map +1 -0
  848. package/dist/ProgressBar-yaX2X7j1.mjs.map +1 -0
  849. package/dist/QrCode-BABDzMVW.mjs.map +1 -0
  850. package/dist/QrCode-BbRm6Y4P.mjs.map +1 -0
  851. package/dist/QrCode-BjIGr_QB.mjs.map +1 -0
  852. package/dist/QrCode-BqkhBhIb.mjs.map +1 -0
  853. package/dist/QrCode-CWzLZn66.mjs.map +1 -0
  854. package/dist/QrCode-D9vjUGQT.mjs.map +1 -0
  855. package/dist/QrCode-DLNQDbZY.mjs.map +1 -0
  856. package/dist/QrCode-KyGeDUHb.mjs +177 -0
  857. package/dist/QrCode-KyGeDUHb.mjs.map +1 -0
  858. package/dist/QrCodeModal-B30STbET.mjs.map +1 -0
  859. package/dist/QrCodeModal-BO3ay0jp.mjs.map +1 -0
  860. package/dist/QrCodeModal-BdVui_h2.mjs.map +1 -0
  861. package/dist/QrCodeModal-Cp1tz2ux.mjs.map +1 -0
  862. package/dist/QrCodeModal-DR3qMvAj.mjs.map +1 -0
  863. package/dist/QrCodeModal-D_LLj88P.mjs.map +1 -0
  864. package/dist/QrCodeModal-ddgi5Dn-.mjs +64 -0
  865. package/dist/QrCodeModal-ddgi5Dn-.mjs.map +1 -0
  866. package/dist/QrCodeModal-hO9aeNia.mjs.map +1 -0
  867. package/dist/RadioCurrently-BDwQsuQN.mjs.map +1 -0
  868. package/dist/RadioCurrently-BFcQSGjK.mjs.map +1 -0
  869. package/dist/RadioCurrently-BTouyjMD.mjs.map +1 -0
  870. package/dist/RadioCurrently-COTK1cqr.mjs.map +1 -0
  871. package/dist/RadioCurrently-CYE7UwdY.mjs +112 -0
  872. package/dist/RadioCurrently-CYE7UwdY.mjs.map +1 -0
  873. package/dist/RadioCurrently-CpV5ZWBc.mjs.map +1 -0
  874. package/dist/RadioCurrently-DAZsZquE.mjs.map +1 -0
  875. package/dist/RadioCurrently-DBIDvpng.mjs.map +1 -0
  876. package/dist/RadioHistory-BmwiBDV4.mjs.map +1 -0
  877. package/dist/RadioHistory-C0O4_OsT.mjs.map +1 -0
  878. package/dist/RadioHistory-CKXFrZUS.mjs.map +1 -0
  879. package/dist/RadioHistory-CvFPMFbB.mjs.map +1 -0
  880. package/dist/RadioHistory-CzqQvmuY.mjs +139 -0
  881. package/dist/RadioHistory-CzqQvmuY.mjs.map +1 -0
  882. package/dist/RadioHistory-G_5_a-Xl.mjs.map +1 -0
  883. package/dist/RadioHistory-otNcHfao.mjs.map +1 -0
  884. package/dist/RadioHistory-wy9WCEk7.mjs.map +1 -0
  885. package/dist/RadioImage-B4vDVjGl.mjs.map +1 -0
  886. package/dist/RadioImage-CFNJKVmd.mjs +85 -0
  887. package/dist/RadioImage-CFNJKVmd.mjs.map +1 -0
  888. package/dist/RadioImage-CJD_1cPD.mjs.map +1 -0
  889. package/dist/RadioImage-CWpKxhp0.mjs.map +1 -0
  890. package/dist/RadioImage-D4wKkO8D.mjs.map +1 -0
  891. package/dist/RadioImage-DDpMbKJH.mjs.map +1 -0
  892. package/dist/RadioImage-Da9DH6AB.mjs.map +1 -0
  893. package/dist/RadioImage-yeXUrgI-.mjs.map +1 -0
  894. package/dist/RadioList-1z7A9-aH.mjs.map +1 -0
  895. package/dist/RadioList-BJzYpUIO.mjs.map +1 -0
  896. package/dist/RadioList-Bp3ghPVU.mjs.map +1 -0
  897. package/dist/RadioList-CABDJH_f.mjs +125 -0
  898. package/dist/RadioList-CABDJH_f.mjs.map +1 -0
  899. package/dist/RadioList-CvcGv1uh.mjs.map +1 -0
  900. package/dist/RadioList-CzNjPv84.mjs.map +1 -0
  901. package/dist/RadioList-DpQ5-u0P.mjs.map +1 -0
  902. package/dist/RadioList-WLBLb0YI.mjs.map +1 -0
  903. package/dist/RadioPage-274yP6hc.mjs.map +1 -0
  904. package/dist/RadioPage-BN2k0-YJ.mjs.map +1 -0
  905. package/dist/RadioPage-Bos6wYdE.mjs.map +1 -0
  906. package/dist/RadioPage-C0tjXJU4.mjs +137 -0
  907. package/dist/RadioPage-C0tjXJU4.mjs.map +1 -0
  908. package/dist/RadioPage-C_cF5sLf.mjs.map +1 -0
  909. package/dist/RadioPage-CgjOotgE.mjs.map +1 -0
  910. package/dist/RadioPage-CpOnONRu.mjs.map +1 -0
  911. package/dist/RadioPage-DqcfLNtb.mjs.map +1 -0
  912. package/dist/RadioPlanning-BpxOrpmV.mjs.map +1 -0
  913. package/dist/RadioPlanning-CJoFgQ8-.mjs.map +1 -0
  914. package/dist/RadioPlanning-CLaptMbp.mjs +290 -0
  915. package/dist/RadioPlanning-CLaptMbp.mjs.map +1 -0
  916. package/dist/RadioPlanning-Cb6CDxY7.mjs.map +1 -0
  917. package/dist/RadioPlanning-CdqYim8D.mjs.map +1 -0
  918. package/dist/RadioPlanning-Cj3YRRQH.mjs.map +1 -0
  919. package/dist/RadioPlanning-FBTDOSbe.mjs.map +1 -0
  920. package/dist/RadioPlanning-geMIOa5T.mjs.map +1 -0
  921. package/dist/RadioProgressBar-BCFytqQh.mjs.map +1 -0
  922. package/dist/RadioProgressBar-CIR3yuw_.mjs.map +1 -0
  923. package/dist/RadioProgressBar-CYPzhKXe.mjs.map +1 -0
  924. package/dist/RadioProgressBar-Cju0BWUv.mjs.map +1 -0
  925. package/dist/RadioProgressBar-DLovskzg.mjs.map +1 -0
  926. package/dist/RadioProgressBar-DZn1mktI.mjs +67 -0
  927. package/dist/RadioProgressBar-DZn1mktI.mjs.map +1 -0
  928. package/dist/RadioProgressBar-_tJ-CtG3.mjs.map +1 -0
  929. package/dist/RadioProgressBar-i5xByEQ-.mjs.map +1 -0
  930. package/dist/RecaptchaModal-BKuZ3qbr.mjs.map +1 -0
  931. package/dist/RecaptchaModal-BioW6OiC.mjs.map +1 -0
  932. package/dist/RecaptchaModal-BrpWu9K9.mjs +148 -0
  933. package/dist/RecaptchaModal-BrpWu9K9.mjs.map +1 -0
  934. package/dist/RecaptchaModal-CO1ksS7T.mjs.map +1 -0
  935. package/dist/RecaptchaModal-CQ3uCmJD.mjs.map +1 -0
  936. package/dist/RecaptchaModal-ChMI1DoR.mjs.map +1 -0
  937. package/dist/RecaptchaModal-Ci9nJ3yG.mjs.map +1 -0
  938. package/dist/RecaptchaModal-D4Vjj7y0.mjs.map +1 -0
  939. package/dist/ReportAbuseModal-BgwHjFg6.mjs.map +1 -0
  940. package/dist/ReportAbuseModal-COgkZmXt.mjs.map +1 -0
  941. package/dist/ReportAbuseModal-CRz91e0n.mjs.map +1 -0
  942. package/dist/ReportAbuseModal-ClwG80lC.mjs.map +1 -0
  943. package/dist/ReportAbuseModal-Cnl6Tvy8.mjs.map +1 -0
  944. package/dist/ReportAbuseModal-CqEVzw2M.mjs +134 -0
  945. package/dist/ReportAbuseModal-CqEVzw2M.mjs.map +1 -0
  946. package/dist/ReportAbuseModal-DKXVmm0o.mjs.map +1 -0
  947. package/dist/ReportAbuseModal-DewdNNiS.mjs.map +1 -0
  948. package/dist/RightsIndicator-8ke3GBY3.mjs.map +1 -0
  949. package/dist/RightsIndicator-AgrCCLI5.mjs.map +1 -0
  950. package/dist/RightsIndicator-BWb-HYqg.mjs.map +1 -0
  951. package/dist/RightsIndicator-Bq9-wJu7.mjs.map +1 -0
  952. package/dist/RightsIndicator-CVPQPbom.mjs.map +1 -0
  953. package/dist/RightsIndicator-CaR0p4ee.mjs +124 -0
  954. package/dist/RightsIndicator-CaR0p4ee.mjs.map +1 -0
  955. package/dist/RightsIndicator-Cyf2ER3f.mjs.map +1 -0
  956. package/dist/RightsIndicator-DEO8E_lt.mjs.map +1 -0
  957. package/dist/RightsIndicator-DOW0C2QN.mjs.map +1 -0
  958. package/dist/RightsIndicator-JiOk8W09.mjs.map +1 -0
  959. package/dist/RightsWrapper-4P5_44Zn.mjs.map +1 -0
  960. package/dist/RightsWrapper-B2MlGwl3.mjs.map +1 -0
  961. package/dist/RightsWrapper-BsBytnz4.mjs.map +1 -0
  962. package/dist/RightsWrapper-C7TGgPwH.mjs +212 -0
  963. package/dist/RightsWrapper-C7TGgPwH.mjs.map +1 -0
  964. package/dist/RightsWrapper-COCKm6yj.mjs.map +1 -0
  965. package/dist/RightsWrapper-CUxXGo2e.mjs.map +1 -0
  966. package/dist/RightsWrapper-CzKluSmc.mjs.map +1 -0
  967. package/dist/RightsWrapper-tKyPXHo-.mjs.map +1 -0
  968. package/dist/RubriqueFilter-B2Mmc1m_.mjs.map +1 -0
  969. package/dist/RubriqueFilter-B31kE1MN.mjs.map +1 -0
  970. package/dist/RubriqueFilter-BKhIFAjq.mjs +199 -0
  971. package/dist/RubriqueFilter-BKhIFAjq.mjs.map +1 -0
  972. package/dist/RubriqueFilter-BlPRTBZ9.mjs.map +1 -0
  973. package/dist/RubriqueFilter-Bw1CGja3.mjs.map +1 -0
  974. package/dist/RubriqueFilter-DN8fTOdd.mjs.map +1 -0
  975. package/dist/RubriqueFilter-DTZiHQNp.mjs.map +1 -0
  976. package/dist/RubriqueFilter-DYIUSPbb.mjs.map +1 -0
  977. package/dist/RubriqueList-B3yhWa4r.mjs.map +1 -0
  978. package/dist/RubriqueList-BcImnPxf.mjs.map +1 -0
  979. package/dist/RubriqueList-BoUBJnsM.mjs.map +1 -0
  980. package/dist/RubriqueList-CBcZOXmS.mjs.map +1 -0
  981. package/dist/RubriqueList-CQ35roJ9.mjs.map +1 -0
  982. package/dist/RubriqueList-D1HZo4h4.mjs.map +1 -0
  983. package/dist/RubriqueList-DJT7Jhvm.mjs.map +1 -0
  984. package/dist/RubriqueList-NVIfUrtO.mjs +206 -0
  985. package/dist/RubriqueList-NVIfUrtO.mjs.map +1 -0
  986. package/dist/RubriquePage-5yGiOukN.mjs.map +1 -0
  987. package/dist/RubriquePage-BAlehSIS.mjs +108 -0
  988. package/dist/RubriquePage-BAlehSIS.mjs.map +1 -0
  989. package/dist/RubriquePage-BNv6lKml.mjs.map +1 -0
  990. package/dist/RubriquePage-BUmG2wuU.mjs.map +1 -0
  991. package/dist/RubriquePage-Bf-8HP4Z.mjs.map +1 -0
  992. package/dist/RubriquePage-Biz4lmwe.mjs.map +1 -0
  993. package/dist/RubriquePage-C8mZVs_j.mjs.map +1 -0
  994. package/dist/RubriquePage-CC6UO9Xo.mjs.map +1 -0
  995. package/dist/RubriquePage-DEmTE5de.mjs.map +1 -0
  996. package/dist/RubriquePage-Y6qI3PgB.mjs.map +1 -0
  997. package/dist/RubriquePage-iYQBx70y.mjs.map +1 -0
  998. package/dist/RubriquePage-zyp_khGg.mjs.map +1 -0
  999. package/dist/SearchPage-B10P7WGB.mjs +77 -0
  1000. package/dist/SearchPage-B10P7WGB.mjs.map +1 -0
  1001. package/dist/SearchPage-BC1moAjg.mjs.map +1 -0
  1002. package/dist/SearchPage-BZzbnyke.mjs.map +1 -0
  1003. package/dist/SearchPage-BeaSjc-B.mjs.map +1 -0
  1004. package/dist/SearchPage-CByOHDuF.mjs.map +1 -0
  1005. package/dist/SearchPage-DFlPCYK2.mjs.map +1 -0
  1006. package/dist/SearchPage-DHIC3aR2.mjs.map +1 -0
  1007. package/dist/SearchPage-V6v_94HO.mjs.map +1 -0
  1008. package/dist/SearchPage-bw1krInj.mjs.map +1 -0
  1009. package/dist/SearchPage-guLaAWTY.mjs.map +1 -0
  1010. package/dist/SearchPage-wHxIUBu9.mjs.map +1 -0
  1011. package/dist/ShareAnonymous-Be_3QN-J.mjs.map +1 -0
  1012. package/dist/ShareAnonymous-BzgYARps.mjs.map +1 -0
  1013. package/dist/ShareAnonymous-CbH-OUhV.mjs.map +1 -0
  1014. package/dist/ShareAnonymous-DLvzh3bC.mjs.map +1 -0
  1015. package/dist/ShareAnonymous-DYLoT4gJ.mjs.map +1 -0
  1016. package/dist/ShareAnonymous-DjuoOwnz.mjs +321 -0
  1017. package/dist/ShareAnonymous-DjuoOwnz.mjs.map +1 -0
  1018. package/dist/ShareAnonymous-DnL1Cpgf.mjs.map +1 -0
  1019. package/dist/ShareAnonymous-J-PCflFR.mjs.map +1 -0
  1020. package/dist/ShareModalPlayer-BiqEpd9K.mjs.map +1 -0
  1021. package/dist/ShareModalPlayer-CTI3FHwP.mjs.map +1 -0
  1022. package/dist/ShareModalPlayer-CfkTBXcZ.mjs.map +1 -0
  1023. package/dist/ShareModalPlayer-CfzoCZMF.mjs.map +1 -0
  1024. package/dist/ShareModalPlayer-DVncOMoY.mjs.map +1 -0
  1025. package/dist/ShareModalPlayer-De600dAo.mjs.map +1 -0
  1026. package/dist/ShareModalPlayer-K2dfwTgr.mjs.map +1 -0
  1027. package/dist/ShareModalPlayer-iNhuzH6E.mjs +135 -0
  1028. package/dist/ShareModalPlayer-iNhuzH6E.mjs.map +1 -0
  1029. package/dist/ShareNewsletter-BRJ_CnPP.mjs.map +1 -0
  1030. package/dist/ShareNewsletter-BYS_t435.mjs.map +1 -0
  1031. package/dist/ShareNewsletter-BoTYibXG.mjs +211 -0
  1032. package/dist/ShareNewsletter-BoTYibXG.mjs.map +1 -0
  1033. package/dist/ShareNewsletter-D5PUaOO2.mjs.map +1 -0
  1034. package/dist/ShareNewsletter-DVNHTKeM.mjs.map +1 -0
  1035. package/dist/ShareNewsletter-DXLj05xD.mjs.map +1 -0
  1036. package/dist/ShareNewsletter-nYJ02EoC.mjs.map +1 -0
  1037. package/dist/ShareNewsletter-xyNkG-Eb.mjs.map +1 -0
  1038. package/dist/SharePlayer-BBp8Nx8-.mjs.map +1 -0
  1039. package/dist/SharePlayer-BRAOpDKS.mjs.map +1 -0
  1040. package/dist/SharePlayer-BkJ1Pd4K.mjs.map +1 -0
  1041. package/dist/SharePlayer-CpCp4Ww6.mjs.map +1 -0
  1042. package/dist/SharePlayer-D12X58FW.mjs.map +1 -0
  1043. package/dist/SharePlayer-D14yktq2.mjs.map +1 -0
  1044. package/dist/SharePlayer-ITriSrMH.mjs +378 -0
  1045. package/dist/SharePlayer-ITriSrMH.mjs.map +1 -0
  1046. package/dist/SharePlayer-OLpuLZ3x.mjs.map +1 -0
  1047. package/dist/SharePlayerRadio-3be6M1rf.mjs +127 -0
  1048. package/dist/SharePlayerRadio-3be6M1rf.mjs.map +1 -0
  1049. package/dist/SharePlayerRadio-B5csXZHh.mjs.map +1 -0
  1050. package/dist/SharePlayerRadio-BBgUkZJZ.mjs.map +1 -0
  1051. package/dist/SharePlayerRadio-BVxTgEry.mjs.map +1 -0
  1052. package/dist/SharePlayerRadio-DGlbi34G.mjs.map +1 -0
  1053. package/dist/SharePlayerRadio-D_Q6seua.mjs.map +1 -0
  1054. package/dist/SharePlayerRadio-HjAP-F05.mjs.map +1 -0
  1055. package/dist/SharePlayerRadio-kpYanrSh.mjs.map +1 -0
  1056. package/dist/SharePlayerTypes-Bv396CtZ.mjs.map +1 -0
  1057. package/dist/SharePlayerTypes-C8AP5NRT.mjs.map +1 -0
  1058. package/dist/SharePlayerTypes-CW3OGhRV.mjs.map +1 -0
  1059. package/dist/SharePlayerTypes-D0TyOBAl.mjs.map +1 -0
  1060. package/dist/SharePlayerTypes-D3Uf2kAl.mjs.map +1 -0
  1061. package/dist/SharePlayerTypes-DzgN0pmg.mjs.map +1 -0
  1062. package/dist/SharePlayerTypes-TbHoUtLq.mjs +232 -0
  1063. package/dist/SharePlayerTypes-TbHoUtLq.mjs.map +1 -0
  1064. package/dist/SharePlayerTypes-TjPFVlpg.mjs.map +1 -0
  1065. package/dist/ShareSocialsButtons-BX_kCrh9.mjs.map +1 -0
  1066. package/dist/ShareSocialsButtons-D93C1SNn.mjs.map +1 -0
  1067. package/dist/ShareSocialsButtons-D9olMoYw.mjs.map +1 -0
  1068. package/dist/ShareSocialsButtons-DMb-XPVy.mjs.map +1 -0
  1069. package/dist/ShareSocialsButtons-DSJodUeF.mjs.map +1 -0
  1070. package/dist/ShareSocialsButtons-DpL7wz2Q.mjs.map +1 -0
  1071. package/dist/ShareSocialsButtons-HUGfUozM.mjs.map +1 -0
  1072. package/dist/ShareSocialsButtons-nbnbNYrr.mjs +159 -0
  1073. package/dist/ShareSocialsButtons-nbnbNYrr.mjs.map +1 -0
  1074. package/dist/SimpleLayout-2agje2NP.mjs +41 -0
  1075. package/dist/SimpleLayout-2agje2NP.mjs.map +1 -0
  1076. package/dist/SimpleLayout-BCbramPg.mjs.map +1 -0
  1077. package/dist/SimpleLayout-D8o2yJwB.mjs.map +1 -0
  1078. package/dist/SimpleLayout-D8xymMDG.mjs.map +1 -0
  1079. package/dist/SimpleLayout-DZtaADQv.mjs.map +1 -0
  1080. package/dist/SimpleLayout-DZy2Ephk.mjs.map +1 -0
  1081. package/dist/SimpleLayout-DfM_kXS9.mjs.map +1 -0
  1082. package/dist/SimpleLayout-K46zNKJ3.mjs.map +1 -0
  1083. package/dist/SmartLinkPage-6yVwo41a.mjs.map +1 -0
  1084. package/dist/SmartLinkPage-B3oxc6A4.mjs.map +1 -0
  1085. package/dist/SmartLinkPage-BC6Wos_I.mjs.map +1 -0
  1086. package/dist/SmartLinkPage-Bf0nWA38.mjs +238 -0
  1087. package/dist/SmartLinkPage-Bf0nWA38.mjs.map +1 -0
  1088. package/dist/SmartLinkPage-C2iTEBxg.mjs.map +1 -0
  1089. package/dist/SmartLinkPage-CRU-ro5M.mjs.map +1 -0
  1090. package/dist/SmartLinkPage-CUSZPYPK.mjs.map +1 -0
  1091. package/dist/SmartLinkPage-CV9Gx4MZ.mjs.map +1 -0
  1092. package/dist/SubscribeButtons-B7ppg_Sy.mjs.map +1 -0
  1093. package/dist/SubscribeButtons-BiYqm52t.mjs.map +1 -0
  1094. package/dist/SubscribeButtons-BnL1HQJj.mjs.map +1 -0
  1095. package/dist/SubscribeButtons-CSvoc2J7.mjs +203 -0
  1096. package/dist/SubscribeButtons-CSvoc2J7.mjs.map +1 -0
  1097. package/dist/SubscribeButtons-ChJKNJqT.mjs.map +1 -0
  1098. package/dist/SubscribeButtons-D2QxU-Hz.mjs.map +1 -0
  1099. package/dist/SubscribeButtons-DJj_jStJ.mjs.map +1 -0
  1100. package/dist/SubscribeButtons-YXH0jr-u.mjs.map +1 -0
  1101. package/dist/SwiperList-B5iYhj9n.mjs.map +1 -0
  1102. package/dist/SwiperList-CTQ7Jt8y.mjs +207 -0
  1103. package/dist/SwiperList-CTQ7Jt8y.mjs.map +1 -0
  1104. package/dist/SwiperList-D8SO3Jhr.mjs.map +1 -0
  1105. package/dist/SwiperList-D9irPcis.mjs.map +1 -0
  1106. package/dist/SwiperList-DoOIgAp8.mjs.map +1 -0
  1107. package/dist/SwiperList-DozCqnS-.mjs.map +1 -0
  1108. package/dist/SwiperList-e2b8uKKS.mjs.map +1 -0
  1109. package/dist/SwiperList-oOWaXHrC.mjs.map +1 -0
  1110. package/dist/TagList-B7S-QXor.mjs.map +1 -0
  1111. package/dist/TagList-C1yqUuH4.mjs.map +1 -0
  1112. package/dist/TagList-C4X0npf5.mjs.map +1 -0
  1113. package/dist/TagList-CKqTDMGE.mjs.map +1 -0
  1114. package/dist/TagList-CYZO6nJO.mjs.map +1 -0
  1115. package/dist/TagList-DhUwbOtN.mjs.map +1 -0
  1116. package/dist/TagList-EwyNbw72.mjs +134 -0
  1117. package/dist/TagList-EwyNbw72.mjs.map +1 -0
  1118. package/dist/TagList-yzetMdZw.mjs.map +1 -0
  1119. package/dist/TagPage-4o8Pl0Qr.mjs.map +1 -0
  1120. package/dist/TagPage-B_qM5eJI.mjs.map +1 -0
  1121. package/dist/TagPage-BuXAtttP.mjs.map +1 -0
  1122. package/dist/TagPage-Cf0nrWee.mjs.map +1 -0
  1123. package/dist/TagPage-CkecFj3d.mjs +125 -0
  1124. package/dist/TagPage-CkecFj3d.mjs.map +1 -0
  1125. package/dist/TagPage-D02e7yAK.mjs.map +1 -0
  1126. package/dist/TagPage-DThhKzLf.mjs.map +1 -0
  1127. package/dist/TagPage-DVfKFiFB.mjs.map +1 -0
  1128. package/dist/TagPage-DbQ5ECdy.mjs.map +1 -0
  1129. package/dist/TagPage-DiS0Ac5-.mjs.map +1 -0
  1130. package/dist/TagPage-DqlSRAe7.mjs.map +1 -0
  1131. package/dist/TagPage-O77D8BO6.mjs.map +1 -0
  1132. package/dist/TopBar-B5hL24uV.mjs.map +1 -0
  1133. package/dist/TopBar-BEqykP88.mjs.map +1 -0
  1134. package/dist/TopBar-BIrteYP5.mjs.map +1 -0
  1135. package/dist/TopBar-BMtZjPfE.mjs.map +1 -0
  1136. package/dist/TopBar-C4_r5G9G.mjs.map +1 -0
  1137. package/dist/TopBar-CAtSy_fP.mjs.map +1 -0
  1138. package/dist/TopBar-CVz3PW30.mjs.map +1 -0
  1139. package/dist/TopBar-CsxgY0Pa.mjs.map +1 -0
  1140. package/dist/TopBar-DnOonBa9.mjs.map +1 -0
  1141. package/dist/TopBar-N9gAoWc2.mjs +760 -0
  1142. package/dist/TopBar-N9gAoWc2.mjs.map +1 -0
  1143. package/dist/TopBar-TSbSO80C.mjs.map +1 -0
  1144. package/dist/TopBar-dBIKNV4n.mjs.map +1 -0
  1145. package/dist/UserButtonContent-BJ9NQBQt.mjs.map +1 -0
  1146. package/dist/UserButtonContent-C1Z62rxI.mjs.map +1 -0
  1147. package/dist/UserButtonContent-CA-t3hC_.mjs.map +1 -0
  1148. package/dist/UserButtonContent-CInki_2X.mjs +185 -0
  1149. package/dist/UserButtonContent-CInki_2X.mjs.map +1 -0
  1150. package/dist/UserButtonContent-CORUo7UY.mjs.map +1 -0
  1151. package/dist/UserButtonContent-Qb0SDN0h.mjs.map +1 -0
  1152. package/dist/UserButtonContent-W2n-NsWg.mjs.map +1 -0
  1153. package/dist/UserButtonContent-c7YRiGp2.mjs.map +1 -0
  1154. package/dist/VideoModuleBox--kALH8J6.mjs.map +1 -0
  1155. package/dist/VideoModuleBox-BCXduPcv.mjs.map +1 -0
  1156. package/dist/VideoModuleBox-BMvUHgHs.mjs.map +1 -0
  1157. package/dist/VideoModuleBox-BQFnWOE9.mjs.map +1 -0
  1158. package/dist/VideoModuleBox-CAKcfyk0.mjs +85 -0
  1159. package/dist/VideoModuleBox-CAKcfyk0.mjs.map +1 -0
  1160. package/dist/VideoModuleBox-CHyezeSh.mjs.map +1 -0
  1161. package/dist/VideoModuleBox-Dxo7v9cw.mjs.map +1 -0
  1162. package/dist/VideoModuleBox-fepbn_Bw.mjs.map +1 -0
  1163. package/dist/VideoPage--jVboh2e.mjs.map +1 -0
  1164. package/dist/VideoPage-3OW3SyQI.mjs.map +1 -0
  1165. package/dist/VideoPage-B6gP9AJ_.mjs.map +1 -0
  1166. package/dist/VideoPage-B94V1DAX.mjs.map +1 -0
  1167. package/dist/VideoPage-BRSAQnkl.mjs +274 -0
  1168. package/dist/VideoPage-BRSAQnkl.mjs.map +1 -0
  1169. package/dist/VideoPage-CaP2fTTp.mjs.map +1 -0
  1170. package/dist/VideoPage-DKEG0fFH.mjs.map +1 -0
  1171. package/dist/VideoPage-DKuK-muU.mjs.map +1 -0
  1172. package/dist/VideoPage-DXMUgZcF.mjs.map +1 -0
  1173. package/dist/VideoPage-DaXRG9L9.mjs.map +1 -0
  1174. package/dist/classicApi-1jdxJdNn.mjs +1899 -0
  1175. package/dist/classicApi-1jdxJdNn.mjs.map +1 -0
  1176. package/dist/classicApi-BGITtHY6.mjs.map +1 -0
  1177. package/dist/classicApi-Bb7QgY_-.mjs.map +1 -0
  1178. package/dist/classicApi-CM1SG1hB.mjs.map +1 -0
  1179. package/dist/classicApi-CT-zOpO4.mjs.map +1 -0
  1180. package/dist/classicApi-DazNRZ5Q.mjs.map +1 -0
  1181. package/dist/classicApi-DhYbooR3.mjs.map +1 -0
  1182. package/dist/classicApi-DnmetKhT.mjs.map +1 -0
  1183. package/dist/downloadHelper-B-fqJ-zf.mjs.map +1 -0
  1184. package/dist/downloadHelper-B6m5pBKm.mjs.map +1 -0
  1185. package/dist/downloadHelper-B8D7SOOM.mjs.map +1 -0
  1186. package/dist/downloadHelper-CU_Wxd5U.mjs.map +1 -0
  1187. package/dist/downloadHelper-C_zKrGUc.mjs.map +1 -0
  1188. package/dist/downloadHelper-Dr10br-6.mjs.map +1 -0
  1189. package/dist/downloadHelper-LQW1LToj.mjs +36 -0
  1190. package/dist/downloadHelper-LQW1LToj.mjs.map +1 -0
  1191. package/dist/downloadHelper-y_M7FzoH.mjs.map +1 -0
  1192. package/dist/index.mjs +111 -100
  1193. package/dist/index.mjs.map +1 -1
  1194. package/dist/messages-BGiv9Gsb.mjs.map +1 -0
  1195. package/dist/messages-BRLdnntg.mjs.map +1 -0
  1196. package/dist/messages-BlwH5qG0.mjs.map +1 -0
  1197. package/dist/messages-BqVF4jGm.mjs +2763 -0
  1198. package/dist/messages-BqVF4jGm.mjs.map +1 -0
  1199. package/dist/messages-Bw2bPt8M.mjs.map +1 -0
  1200. package/dist/messages-BzSMoDq6.mjs.map +1 -0
  1201. package/dist/messages-Daql_N4V.mjs.map +1 -0
  1202. package/dist/tests.mjs +2 -2
  1203. package/dist/types-8roXR0of.mjs.map +1 -1
  1204. package/dist/types-DmxFXVJz.mjs +12 -0
  1205. package/dist/types-DmxFXVJz.mjs.map +1 -0
  1206. package/dist/useAdvancedParamInit-BFDxm4Zv.mjs.map +1 -0
  1207. package/dist/useAdvancedParamInit-C9i1OLKX.mjs.map +1 -0
  1208. package/dist/useAdvancedParamInit-COJzBPcY.mjs +168 -0
  1209. package/dist/useAdvancedParamInit-COJzBPcY.mjs.map +1 -0
  1210. package/dist/useAdvancedParamInit-CVy6xAhR.mjs.map +1 -0
  1211. package/dist/useAdvancedParamInit-CXubNin6.mjs.map +1 -0
  1212. package/dist/useAdvancedParamInit-CdHU32HT.mjs.map +1 -0
  1213. package/dist/useAdvancedParamInit-CfpyEfbz.mjs.map +1 -0
  1214. package/dist/useAdvancedParamInit-D4gIuSKD.mjs.map +1 -0
  1215. package/dist/useAdvancedParamInit-DV346TAD.mjs.map +1 -0
  1216. package/dist/useAdvancedParamInit-DbfEsrzA.mjs.map +1 -0
  1217. package/dist/useAdvancedParamInit-DcMypQh9.mjs.map +1 -0
  1218. package/dist/useAdvancedParamInit-X9_sZFbf.mjs.map +1 -0
  1219. package/dist/useAppleVideo-BGOd4QiN.mjs +30 -0
  1220. package/dist/useAppleVideo-BGOd4QiN.mjs.map +1 -0
  1221. package/dist/useAppleVideo-CpIdHjzn.mjs.map +1 -0
  1222. package/dist/useDayjs-BODPt2H7.mjs.map +1 -0
  1223. package/dist/useDayjs-BwARZ4CJ.mjs.map +1 -0
  1224. package/dist/useDayjs-Cl4mV4Zl.mjs.map +1 -0
  1225. package/dist/useDayjs-Cpj0Yeao.mjs.map +1 -0
  1226. package/dist/useDayjs-CqMtrxXh.mjs.map +1 -0
  1227. package/dist/useDayjs-DHkflClU.mjs.map +1 -0
  1228. package/dist/useDayjs-DPNxdkJX.mjs +32 -0
  1229. package/dist/useDayjs-DPNxdkJX.mjs.map +1 -0
  1230. package/dist/useDayjs-wjXHxuIo.mjs.map +1 -0
  1231. package/dist/useErrorHandler-BRfB3Nma.mjs +19 -0
  1232. package/dist/useErrorHandler-BRfB3Nma.mjs.map +1 -0
  1233. package/dist/useErrorHandler-CxSuHQ_9.mjs.map +1 -0
  1234. package/dist/useErrorHandler-DU-7-mwV.mjs.map +1 -0
  1235. package/dist/useErrorHandler-DpjCmJBr.mjs.map +1 -0
  1236. package/dist/useErrorHandler-NCoJhMs_.mjs.map +1 -0
  1237. package/dist/useErrorHandler-juiZ5M15.mjs.map +1 -0
  1238. package/dist/useErrorHandler-mgzIIgcg.mjs.map +1 -0
  1239. package/dist/useErrorHandler-sRvbreJI.mjs.map +1 -0
  1240. package/dist/useImageProxy-B8Fo5ez4.mjs.map +1 -0
  1241. package/dist/useImageProxy-C6MR_3fy.mjs.map +1 -0
  1242. package/dist/useImageProxy-CYWAbN4O.mjs.map +1 -0
  1243. package/dist/useImageProxy-Ce8Rqjw3.mjs +20 -0
  1244. package/dist/useImageProxy-Ce8Rqjw3.mjs.map +1 -0
  1245. package/dist/useImageProxy-D35x2zuV.mjs.map +1 -0
  1246. package/dist/useImageProxy-DHvBSxPl.mjs.map +1 -0
  1247. package/dist/useImageProxy-DXJ_9Ajv.mjs.map +1 -0
  1248. package/dist/useImageProxy-Dwmn4CPK.mjs.map +1 -0
  1249. package/dist/useOrgaComputed-BNyuoiqr.mjs.map +1 -0
  1250. package/dist/useOrgaComputed-CqtlhFcz.mjs.map +1 -0
  1251. package/dist/useOrgaComputed-Cu1TPM6V.mjs.map +1 -0
  1252. package/dist/useOrgaComputed-CzlYvP0I.mjs.map +1 -0
  1253. package/dist/useOrgaComputed-DF-_-Jrl.mjs.map +1 -0
  1254. package/dist/useOrgaComputed-DXB4jqMM.mjs +19 -0
  1255. package/dist/useOrgaComputed-DXB4jqMM.mjs.map +1 -0
  1256. package/dist/useOrgaComputed-DqALV5bw.mjs.map +1 -0
  1257. package/dist/useOrgaComputed-y75FS78u.mjs.map +1 -0
  1258. package/dist/usePlayerLogicProgress-BsOt5dL-.mjs +108 -0
  1259. package/dist/usePlayerLogicProgress-BsOt5dL-.mjs.map +1 -0
  1260. package/dist/usePlayerLogicProgress-Cq8T3M3-.mjs.map +1 -0
  1261. package/dist/usePlayerLogicProgress-D5ltA6Fq.mjs.map +1 -0
  1262. package/dist/usePlayerLogicProgress-DY9nXTmQ.mjs.map +1 -0
  1263. package/dist/usePlayerLogicProgress-HyplkwZi.mjs.map +1 -0
  1264. package/dist/usePlayerLogicProgress-onVpP8yQ.mjs.map +1 -0
  1265. package/dist/usePlayerLogicProgress-qPJXeMjl.mjs.map +1 -0
  1266. package/dist/usePlayerLogicProgress-xabvx5Dj.mjs.map +1 -0
  1267. package/dist/usePodcastView-73KBTBhj.mjs.map +1 -0
  1268. package/dist/usePodcastView-BGL-TWPy.mjs.map +1 -0
  1269. package/dist/usePodcastView-Bx-DxLIg.mjs.map +1 -0
  1270. package/dist/usePodcastView-C3EgP7ic.mjs.map +1 -0
  1271. package/dist/usePodcastView-CAIh0pHz.mjs.map +1 -0
  1272. package/dist/usePodcastView-DFnXBBfU.mjs.map +1 -0
  1273. package/dist/usePodcastView-DUG7H7_G.mjs +56 -0
  1274. package/dist/usePodcastView-DUG7H7_G.mjs.map +1 -0
  1275. package/dist/usePodcastView-DyJpgarZ.mjs.map +1 -0
  1276. package/dist/usePresentationItem-B1B3lv7I.mjs.map +1 -0
  1277. package/dist/usePresentationItem-BVFN9AaL.mjs.map +1 -0
  1278. package/dist/usePresentationItem-CDLqFMo6.mjs.map +1 -0
  1279. package/dist/usePresentationItem-CMkPxjL9.mjs.map +1 -0
  1280. package/dist/usePresentationItem-D51GV-y3.mjs.map +1 -0
  1281. package/dist/usePresentationItem-DPhrqvIO.mjs.map +1 -0
  1282. package/dist/usePresentationItem-Djtlqztv.mjs.map +1 -0
  1283. package/dist/usePresentationItem-vnaThjqU.mjs +190 -0
  1284. package/dist/usePresentationItem-vnaThjqU.mjs.map +1 -0
  1285. package/dist/useRights-BFzc-f5r.mjs.map +1 -0
  1286. package/dist/useRights-Bb6Lduj1.mjs.map +1 -0
  1287. package/dist/useRights-BtQenL-m.mjs.map +1 -0
  1288. package/dist/useRights-CacvXcg_.mjs +276 -0
  1289. package/dist/useRights-CacvXcg_.mjs.map +1 -0
  1290. package/dist/useRights-Cm7U9RVV.mjs.map +1 -0
  1291. package/dist/useRights-G8UGBWNE.mjs.map +1 -0
  1292. package/dist/useRights-ZfPDGUYq.mjs.map +1 -0
  1293. package/dist/useRights-pznf2MQ8.mjs.map +1 -0
  1294. package/dist/useRubriquesFilterComputed-7LToVEWh.mjs.map +1 -0
  1295. package/dist/useRubriquesFilterComputed-B4fRwCc2.mjs.map +1 -0
  1296. package/dist/useRubriquesFilterComputed-B6yAljnV.mjs +13 -0
  1297. package/dist/useRubriquesFilterComputed-B6yAljnV.mjs.map +1 -0
  1298. package/dist/useRubriquesFilterComputed-B94E8TMb.mjs.map +1 -0
  1299. package/dist/useRubriquesFilterComputed-BUhvHrds.mjs.map +1 -0
  1300. package/dist/useRubriquesFilterComputed-C6Cj-JB5.mjs.map +1 -0
  1301. package/dist/useRubriquesFilterComputed-CJf96968.mjs.map +1 -0
  1302. package/dist/useRubriquesFilterComputed-qsLiWlwD.mjs.map +1 -0
  1303. package/dist/useRubriquesFilterParam-BPlVhx7S.mjs.map +1 -0
  1304. package/dist/useRubriquesFilterParam-C6Ur8-pi.mjs.map +1 -0
  1305. package/dist/useRubriquesFilterParam-CIx0fFT-.mjs.map +1 -0
  1306. package/dist/useRubriquesFilterParam-CxWXo4lU.mjs.map +1 -0
  1307. package/dist/useRubriquesFilterParam-DGbdF4f8.mjs.map +1 -0
  1308. package/dist/useRubriquesFilterParam-DiwzHD1p.mjs.map +1 -0
  1309. package/dist/useRubriquesFilterParam-gXKJJk5a.mjs.map +1 -0
  1310. package/dist/useRubriquesFilterParam-vy-84z0z.mjs +36 -0
  1311. package/dist/useRubriquesFilterParam-vy-84z0z.mjs.map +1 -0
  1312. package/dist/useSharePlatforms-B8icj2ci.mjs.map +1 -0
  1313. package/dist/useSharePlatforms-BM2OkqJZ.mjs.map +1 -0
  1314. package/dist/useSharePlatforms-BR8_vXB0.mjs +468 -0
  1315. package/dist/useSharePlatforms-BR8_vXB0.mjs.map +1 -0
  1316. package/dist/useSharePlatforms-CIn_6DZg.mjs.map +1 -0
  1317. package/dist/useSharePlatforms-CLrC0mcY.mjs.map +1 -0
  1318. package/dist/useSharePlatforms-CdY4H5fa.mjs.map +1 -0
  1319. package/dist/useSharePlatforms-D3m8oP4P.mjs.map +1 -0
  1320. package/dist/useSharePlatforms-DLNWOmu1.mjs.map +1 -0
  1321. package/dist/useSimplePageParam-0gi4z_Dh.mjs.map +1 -0
  1322. package/dist/useSimplePageParam-4Tpbf3Aw.mjs.map +1 -0
  1323. package/dist/useSimplePageParam-5gqDFPw2.mjs +54 -0
  1324. package/dist/useSimplePageParam-5gqDFPw2.mjs.map +1 -0
  1325. package/dist/useSimplePageParam-BzTu0hr0.mjs.map +1 -0
  1326. package/dist/useSimplePageParam-ChJeNy7l.mjs.map +1 -0
  1327. package/dist/useSimplePageParam-CnI4TOgF.mjs.map +1 -0
  1328. package/dist/useSimplePageParam-D8JdiVAL.mjs.map +1 -0
  1329. package/dist/useSimplePageParam-DpL3Hy9p.mjs.map +1 -0
  1330. package/dist/useSimplePageParam-lFUxz3bl.mjs.map +1 -0
  1331. package/dist/useTranslation-6jVFDIJS.mjs.map +1 -0
  1332. package/dist/useTranslation-BFbcum1F.mjs.map +1 -0
  1333. package/dist/useTranslation-BasfWDh_.mjs.map +1 -0
  1334. package/dist/useTranslation-BtpS4E-y.mjs +205 -0
  1335. package/dist/useTranslation-BtpS4E-y.mjs.map +1 -0
  1336. package/dist/useTranslation-C_6AuQgJ.mjs.map +1 -0
  1337. package/dist/useTranslation-CuXwk0sO.mjs.map +1 -0
  1338. package/dist/useTranslation-DdpPHciF.mjs.map +1 -0
  1339. package/dist/useTranslation-OKjcLwgA.mjs.map +1 -0
  1340. package/dist/usefetchRadioData-BdkLvXty.mjs.map +1 -0
  1341. package/dist/usefetchRadioData-CJH2-YQo.mjs.map +1 -0
  1342. package/dist/usefetchRadioData-CQ1I7kfe.mjs.map +1 -0
  1343. package/dist/usefetchRadioData-CdnOaM6A.mjs +55 -0
  1344. package/dist/usefetchRadioData-CdnOaM6A.mjs.map +1 -0
  1345. package/dist/usefetchRadioData-DYfkhUsz.mjs.map +1 -0
  1346. package/dist/usefetchRadioData-DyDRwB3R.mjs.map +1 -0
  1347. package/dist/usefetchRadioData-N66E_KQK.mjs.map +1 -0
  1348. package/dist/usefetchRadioData-NZLt1-PL.mjs.map +1 -0
  1349. package/package.json +1 -1
  1350. package/src/components/composable/route/types.ts +8 -2
  1351. package/src/components/composable/route/useAdvancedParamInit.ts +10 -3
  1352. package/src/components/composable/useAppleVideo.ts +24 -0
  1353. package/src/components/display/filter/AdvancedSearch.vue +23 -1
  1354. package/src/components/display/playlist/PodcastList.vue +0 -1
  1355. package/src/components/display/podcasts/PodcastList.vue +6 -5
  1356. package/src/components/display/podcasts/PodcastModuleBox.vue +20 -8
  1357. package/src/components/misc/RightsScopeMenu.vue +6 -2
  1358. package/src/components/pages/PodcastPage.vue +3 -0
  1359. package/src/components/pages/PodcastsPage.vue +4 -1
  1360. package/src/locale/de.json +5 -4
  1361. package/src/locale/en.json +5 -4
  1362. package/src/locale/es.json +5 -4
  1363. package/src/locale/fr.json +4 -3
  1364. package/src/locale/it.json +5 -4
  1365. package/src/locale/sl.json +5 -4
  1366. package/src/router/utils.ts +1 -0
  1367. package/src/stores/AuthStore.ts +2 -0
  1368. package/src/stores/class/adserver/adserverConfig.ts +13 -5
  1369. package/src/stores/class/adserver/index.ts +3 -0
  1370. package/src/stores/class/general/category.ts +1 -0
  1371. package/src/stores/class/general/index.ts +2 -0
  1372. package/dist/AdvancedSearch-BDxs2o7K.mjs +0 -429
  1373. package/dist/CategoryFilter-BtvszT_D.mjs +0 -237
  1374. package/dist/CategoryList-BirNjSgi.mjs +0 -182
  1375. package/dist/CategoryPage-zRFFW7lm.mjs +0 -57
  1376. package/dist/ChapteringModal-DSrRb0wM.mjs +0 -82
  1377. package/dist/CheckIdentityModal-BeoPGlll.mjs +0 -86
  1378. package/dist/ClassicAlert-DUQplMvs.mjs +0 -85
  1379. package/dist/ClipboardModal-Dm9Z1sRK.mjs +0 -84
  1380. package/dist/CommentBasicView-BIiF59xV.mjs +0 -129
  1381. package/dist/CommentInput-yE5YpwPd.mjs +0 -186
  1382. package/dist/CommentItem-B95BndID.mjs +0 -232
  1383. package/dist/CommentList-l9y2S0t4.mjs +0 -302
  1384. package/dist/CommentMoreActions-tL6Uqw1X.mjs +0 -286
  1385. package/dist/CommentName-Dg4--t-W.mjs +0 -96
  1386. package/dist/CommentParentInfo-8jbjym0a.mjs +0 -64
  1387. package/dist/CommentPlayer-lesewf4s.mjs +0 -86
  1388. package/dist/CommentSection-BRUVbqPQ.mjs +0 -141
  1389. package/dist/CommentStore-C9bhViPU.mjs +0 -355
  1390. package/dist/ContractPreviewModal-DDJNYv49.mjs +0 -101
  1391. package/dist/DownloadPodcastButton-DXJGjfIn.mjs +0 -53
  1392. package/dist/EditCommentModal-Czp-qN4t.mjs +0 -162
  1393. package/dist/EmissionGroupChooser-ZdhmJ8Bp.mjs +0 -82
  1394. package/dist/EmissionInlineList-Bqvh02uF.mjs +0 -188
  1395. package/dist/EmissionItem-DoBM2Zk2.mjs +0 -183
  1396. package/dist/EmissionList-Bh3ZlvV4.mjs +0 -325
  1397. package/dist/EmissionPage-BG6RIWP2.mjs +0 -322
  1398. package/dist/EmissionPlayerItem-CvoVh-dC.mjs +0 -167
  1399. package/dist/EmissionPresentationItem-B2PbYGuW.mjs +0 -78
  1400. package/dist/EmissionPresentationList-BXNJsC5t.mjs +0 -125
  1401. package/dist/EmissionsPage-B1arrsZ7.mjs +0 -199
  1402. package/dist/Error403Page-Bv-DWyb6.mjs +0 -69
  1403. package/dist/ErrorMessage-D2XAzxpC.mjs +0 -44
  1404. package/dist/FooterGarSection-77dYJO_c.mjs +0 -71
  1405. package/dist/FooterSection-B1hXBiqI.mjs +0 -242
  1406. package/dist/HomeDropdown-87gJP-lN.mjs +0 -110
  1407. package/dist/HomePage-Brr9jjcQ.mjs +0 -166
  1408. package/dist/LikeSection-1P9-7FQ5.mjs +0 -167
  1409. package/dist/ListPaginate-CEgFM1e5.mjs +0 -202
  1410. package/dist/LiveHorizontalList-G4GVIv-L.mjs +0 -136
  1411. package/dist/LiveList-BiODr6Zp.mjs +0 -324
  1412. package/dist/LivesPage-vu6VOIIy.mjs +0 -76
  1413. package/dist/MapPage-DmEdjPRe.mjs +0 -303
  1414. package/dist/MobileMenu-xNe7tNdx.mjs +0 -187
  1415. package/dist/NewsletterModal-LqgD6CbF.mjs +0 -82
  1416. package/dist/OrganisationChooser-BiNMu3dn.mjs +0 -190
  1417. package/dist/OrganisationChooserLight-BJwIMZ6G.mjs +0 -84
  1418. package/dist/PageNotFound-ChQf6Ngj.mjs +0 -58
  1419. package/dist/ParticipantInlineList-CcCfd9rJ.mjs +0 -117
  1420. package/dist/ParticipantItem-Ch4_98y_.mjs +0 -138
  1421. package/dist/ParticipantPage-DtAxvp2W.mjs +0 -203
  1422. package/dist/ParticipantsPage-BzdpZCDO.mjs +0 -262
  1423. package/dist/PlayerAnonymousModal-BKaI6E9o.mjs +0 -84
  1424. package/dist/PlayerCompact-B-WRNyqn.mjs +0 -209
  1425. package/dist/PlayerComponent-CUHTRJic.mjs +0 -929
  1426. package/dist/PlayerLarge-Kt-pV6N_.mjs +0 -190
  1427. package/dist/PlayerPlayButton-CAElMmMV.mjs +0 -400
  1428. package/dist/PlayerProgressBar-DWAyhBWx.mjs +0 -86
  1429. package/dist/PlayerStore-7vhL8Npe.mjs +0 -230
  1430. package/dist/PlayerVideo-Dq7OHOig.mjs +0 -72
  1431. package/dist/PlayerVideoDigiteka-pNFWNrON.mjs +0 -102
  1432. package/dist/PlayerVideoHls-CE2SIkEn.mjs +0 -232
  1433. package/dist/PlaylistPage-Cb5ukqXZ.mjs +0 -228
  1434. package/dist/PlaylistsPage-DAVADzhL.mjs +0 -395
  1435. package/dist/PodcastFilterList-CmqrA2oC.mjs +0 -254
  1436. package/dist/PodcastImage-FhC5F4MR.mjs +0 -174
  1437. package/dist/PodcastInlineList-CDumc8n6.mjs +0 -138
  1438. package/dist/PodcastInlineListTemplate-CB3uZjwS.mjs +0 -233
  1439. package/dist/PodcastIsPlaying-DqnPEYSJ.mjs +0 -30
  1440. package/dist/PodcastItem-rF33x3wp.mjs +0 -287
  1441. package/dist/PodcastList-BewxderG.mjs +0 -330
  1442. package/dist/PodcastList-DYLAwHbt.mjs +0 -182
  1443. package/dist/PodcastPage-NMZSFjQm.mjs +0 -756
  1444. package/dist/PodcastPlayBar-D_b7qme_.mjs +0 -83
  1445. package/dist/PodcastPlayBasicButton-Br9wqAv7.mjs +0 -72
  1446. package/dist/PodcastPlayButton-Dgv5W72_.mjs +0 -236
  1447. package/dist/PodcastPlaylistInlineList-YDhy9TvO.mjs +0 -115
  1448. package/dist/PodcastPresentationList-DxUwH3dU.mjs +0 -200
  1449. package/dist/PodcastProgressBar-D_togvfJ.mjs +0 -98
  1450. package/dist/PodcastRawTranscript-CHnE4Q9g.mjs +0 -184
  1451. package/dist/PodcastRubriqueList-DqHgAzXW.mjs +0 -83
  1452. package/dist/PodcastSwiperList-PoinXUn2.mjs +0 -219
  1453. package/dist/PodcastmakerHeader-CTOmo93E.mjs +0 -58
  1454. package/dist/PodcastsPage-B1JUH1co.mjs +0 -217
  1455. package/dist/ProductorSearch-XQ1jGYQw.mjs +0 -161
  1456. package/dist/ProgressBar-CyddCXNJ.mjs +0 -158
  1457. package/dist/QrCode-6ZkgX9Ta.mjs +0 -177
  1458. package/dist/QrCodeModal-BNVatZWE.mjs +0 -64
  1459. package/dist/RadioCurrently-Bf-Pg-J_.mjs +0 -112
  1460. package/dist/RadioHistory-C7tOpvUk.mjs +0 -139
  1461. package/dist/RadioImage-CiIj65_a.mjs +0 -85
  1462. package/dist/RadioList-BotOeNwF.mjs +0 -125
  1463. package/dist/RadioPage-CcPPJUmX.mjs +0 -137
  1464. package/dist/RadioPlanning-C8MtglrL.mjs +0 -290
  1465. package/dist/RadioProgressBar-1PEu9PP_.mjs +0 -67
  1466. package/dist/RecaptchaModal-CHFdC9Sq.mjs +0 -148
  1467. package/dist/ReportAbuseModal-CRcYir1i.mjs +0 -134
  1468. package/dist/RightsIndicator-DeX5rK6p.mjs +0 -124
  1469. package/dist/RightsWrapper-B8WfUUyU.mjs +0 -212
  1470. package/dist/RubriqueFilter-DL_FXRSA.mjs +0 -199
  1471. package/dist/RubriqueList-CMOS69Vq.mjs +0 -206
  1472. package/dist/RubriquePage-TE1WN6Ij.mjs +0 -108
  1473. package/dist/SearchPage-DMmu7a0f.mjs +0 -77
  1474. package/dist/ShareAnonymous-BRlQaJhi.mjs +0 -321
  1475. package/dist/ShareModalPlayer-D98G_Ndx.mjs +0 -135
  1476. package/dist/ShareNewsletter-C-clOCKi.mjs +0 -211
  1477. package/dist/SharePlayer-ChACZKgH.mjs +0 -378
  1478. package/dist/SharePlayerRadio-CTMdvwN2.mjs +0 -127
  1479. package/dist/SharePlayerTypes-B7FLniHB.mjs +0 -232
  1480. package/dist/ShareSocialsButtons-DiJVocCJ.mjs +0 -159
  1481. package/dist/SimpleLayout-DLEAl9OH.mjs +0 -41
  1482. package/dist/SmartLinkPage-BJoMvpYI.mjs +0 -238
  1483. package/dist/SubscribeButtons-Va9APuBC.mjs +0 -203
  1484. package/dist/SwiperList-B20Vye8P.mjs +0 -207
  1485. package/dist/TagList-B4PT2uXD.mjs +0 -134
  1486. package/dist/TagPage-BUXelbn2.mjs +0 -125
  1487. package/dist/TopBar-Bg0jGbps.mjs +0 -760
  1488. package/dist/UserButtonContent-CPa7Icpi.mjs +0 -185
  1489. package/dist/VideoModuleBox-CIZ34N35.mjs +0 -85
  1490. package/dist/VideoPage-B-7n9a0w.mjs +0 -274
  1491. package/dist/classicApi-ChvwoPGT.mjs +0 -1906
  1492. package/dist/downloadHelper-CuFfOvc0.mjs +0 -36
  1493. package/dist/messages-C-3-wU0o.mjs +0 -2757
  1494. package/dist/types-8roXR0of.mjs +0 -11
  1495. package/dist/useAdvancedParamInit-DpFW5LOX.mjs +0 -162
  1496. package/dist/useDayjs-CK_TIXDt.mjs +0 -32
  1497. package/dist/useErrorHandler-BZkAkzNC.mjs +0 -19
  1498. package/dist/useImageProxy-DdK55qB4.mjs +0 -20
  1499. package/dist/useOrgaComputed-D5SfqMx9.mjs +0 -19
  1500. package/dist/usePlayerLogicProgress-C-gsD-ec.mjs +0 -108
  1501. package/dist/usePodcastView-DlzuYDsj.mjs +0 -56
  1502. package/dist/usePresentationItem-CUGbjF4i.mjs +0 -190
  1503. package/dist/useRights-DNL2VJUc.mjs +0 -276
  1504. package/dist/useRubriquesFilterComputed-Dg4HclyQ.mjs +0 -13
  1505. package/dist/useRubriquesFilterParam-BrWFpJhb.mjs +0 -36
  1506. package/dist/useSharePlatforms-BqPO-hyZ.mjs +0 -468
  1507. package/dist/useSimplePageParam-ByeUUq4Z.mjs +0 -54
  1508. package/dist/useTranslation-Dsw1HxX9.mjs +0 -205
  1509. package/dist/usefetchRadioData-3E5_FJJM.mjs +0 -55
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayerComponent-D56wEuQi.mjs","names":[],"sources":["../src/components/composable/player/usePlayerLive.ts","../src/helper/loadScript.ts","../src/components/composable/player/usePlayerVast.ts","../src/components/composable/player/usePlayerStitching.ts","../src/components/composable/player/usePlayerTranscript.ts","../src/stores/class/securisation/privateOrganisation.ts","../src/components/composable/player/usePlayerLogic.ts","../src/components/misc/player/PlayerComponent.vue","../src/components/misc/player/PlayerComponent.vue"],"sourcesContent":["import stringHelper from \"../../../helper/stringHelper\";\nimport { usePlayerLogicProgress } from \"./usePlayerLogicProgress\";\nimport { computed, Ref, ref } from \"vue\";\nimport { usePlayerStore, PlayerStatus } from \"../../../stores/PlayerStore\";\nimport { useApiStore } from \"../../../stores/ApiStore\";\nimport dayjs from \"dayjs\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\n/* eslint-disable*/\nlet Hls:any = null;\n/* eslint-enable*/\nconst maxMinutesSessionId = 1;\nexport const usePlayerLive = (hlsReady: Ref<boolean>)=>{\n\n const { listenTime, initLiveDownloadId, setDownloadId, onTimeUpdateProgress } = usePlayerLogicProgress();\n\n const audioElement: Ref<HTMLAudioElement | null>= ref(null);\n const hls: Ref<any>= ref(null);\n const hlsRetryTimeout: Ref<ReturnType<typeof setTimeout> | undefined>= ref(undefined);\n const playPromise: Ref<Promise<void>|undefined>= ref(undefined);\n const errorHls= ref(false);\n\n\n const playerStore = usePlayerStore();\n const apiStore = useApiStore();\n const authStore = useAuthStore();\n\n function needToAddToken(url: string): boolean { \n if (authStore.authParam.accessToken && (\"SECURED\" === playerStore.playerLive?.organisation?.privacy || playerStore.playerRadio?.secured)) {\n const baseDomain = apiStore.frontendUrl.replace(/^https?:\\/\\//, '');\n // Add token only if request is on same domain\n return url.includes(baseDomain);\n }\n return false;\n }\n\n function onPlay(): void {\n playerStore.playerChangeStatus(PlayerStatus.PAUSED === playerStore.playerStatus);\n }\n\n function playRadio() {\n if (!playerStore.playerRadio) {\n return;\n }\n handleSessionIdRadio();\n playerStore.playerUpdatePlayerHlsUrl(playerStore.playerRadio.url+\"?origin=octopus&sessionId=\"+playerStore.playerRadio.sessionId);\n playHls();\n }\n\n function handleSessionIdRadio(){\n if(!playerStore.playerRadio) {\n return;\n }\n if(playerStore.playerRadio.sessionId && dayjs().diff(dayjs(playerStore.playerRadio.dateSessionId), 'm')<maxMinutesSessionId){\n return;\n }\n playerStore.playerRadio.sessionId = stringHelper.uuidv4();\n }\n\n function playLive() {\n if (!playerStore.playerHlsIdentifier) {\n return;\n }\n playerStore.playerUpdatePlayerHlsUrl(`${apiStore.hlsUrl}live/${playerStore.playerHlsIdentifier}/index.m3u8`);\n playHls();\n }\n\n async function playHls(): Promise<void> {\n try {\n if(null===audioElement.value){\n audioElement.value = document.getElementById(\"audio-player\") as HTMLAudioElement;\n }\n if (null === audioElement.value || !playerStore.playerHlsUrl) {\n setTimeout(playHls, 1000);\n return;\n }\n const ua = navigator.userAgent.toLowerCase();\n const isAndroid = ua.indexOf(\"android\") > -1; //&& ua.indexOf(\"mobile\");\n const isChrome = ua.indexOf(\"chrome\") > -1;\n if (\n audioElement.value.canPlayType(\"application/vnd.apple.mpegurl\") &&\n !isChrome &&\n !isAndroid\n ) {\n let url = playerStore.playerHlsUrl;\n if(needToAddToken(url)) {\n if (url.includes('?')) {\n url += \"&access_token=\"+authStore.authParam.accessToken;\n } else {\n url += \"?access_token=\"+authStore.authParam.accessToken;\n }\n }\n audioElement.value.src = url;\n await initLiveDownloadId();\n hlsReady.value = true;\n await audioElement.value.play();\n onPlay();\n } else {\n await initHls();\n }\n } catch(e) {\n console.error(e);\n onHlsError();\n }\n }\n\n function onHlsError(){\n if(\"STOPPED\"!==playerStore.playerStatus && undefined===hlsRetryTimeout.value){\n hlsRetryTimeout.value = setTimeout(() => {\n errorHls.value = false;\n playHls();\n hlsRetryTimeout.value = undefined;\n }, 5000);\n }\n }\n\n async function initHls() {\n if (null === Hls) {\n await import(\"hls.js\").then((hlsLibrary) => {\n Hls = hlsLibrary.default;\n });\n }\n if (!Hls.isSupported()) {\n throw new Error(\"Hls is not supported ! \");\n }\n hls.value = new Hls({\n autoStartLoad: true,\n liveDurationInfinity:true,\n backBufferLength:10,\n maxBufferLength:60,\n\n xhrSetup: (xhr: XMLHttpRequest, url: string) => {\n if (needToAddToken(url)) {\n xhr.setRequestHeader(\"Authorization\", \"Bearer \" +authStore.authParam.accessToken);\n }\n }\n });\n hls.value.on(Hls.Events.MANIFEST_PARSED, async () => {\n await initLiveDownloadId();\n hlsReady.value = true;\n if(true===errorHls.value){\n return;\n }\n setTimeout(() => {\n playPromise.value = (audioElement.value as HTMLAudioElement).play();\n playPromise.value.then(() =>{\n playPromise.value = undefined;\n onPlay();\n }).catch((e)=>{\n console.error(e);\n onHlsError();\n playPromise.value = undefined;\n });\n }, 500);\n });\n hls.value.on(Hls.Events.ERROR, async (name: string, data:any) => {\n // Stalling, we don't have enough data\n if (data.details === 'bufferStalledError') {\n // Some logs to be able to follow what's happening\n console.warn('playback is stalling…');\n playerStore.playerStatus = PlayerStatus.LOADING;\n // Destroy current instance\n hls.value.destroy();\n // Wait a bit before restarting playback\n setTimeout(initHls, 500);\n return;\n }\n console.error('An error occured: ' + name + ' / ' + data.details);\n console.error(data);\n if (data.fatal && data.type === Hls.ErrorTypes.MEDIA_ERROR) {\n console.warn('Trying to recover...');\n hls.value.recoverMediaError();\n }\n errorHls.value = true;\n if(undefined===playPromise.value && data.fatal){\n onHlsError();\n }\n });\n hls.value.loadSource(playerStore.playerHlsUrl);\n hls.value.attachMedia(audioElement.value as HTMLAudioElement);\n }\n\n async function endingLive(): Promise<void> {\n clearTimeout(hlsRetryTimeout.value);\n hlsRetryTimeout.value = undefined;\n if(null===audioElement.value){\n return;\n }\n audioElement.value = null;\n const audio: HTMLElement | null = document.getElementById(\"audio-player\");\n if (audio && hls.value) {\n hls.value.destroy();\n hls.value = null;\n }else{\n (audio as HTMLAudioElement).pause();\n }\n (audio as HTMLAudioElement).src = \"\";\n }\n\n\treturn {\n listenTime,\n setDownloadId,\n onTimeUpdateProgress,\n playLive,\n endingLive,\n playRadio,\n onPlay\n\t}\n}\n","function loadScript(src: string, async:boolean, callback: (isLoaded:boolean) => void) {\n const firstElement = document.getElementsByTagName('head')[0] || document.documentElement,\n scriptElement = document.createElement('script');\n scriptElement.type = 'text/javascript';\n scriptElement.src = src;\n scriptElement.async = async;\n scriptElement.addEventListener('load', function() {\n if(callback && typeof callback === 'function') {\n callback(true);\n }\n }, false);\n scriptElement.addEventListener('error', function() {\n firstElement.removeChild(scriptElement);\n if(callback && typeof callback === 'function') {\n callback(false);\n }\n }, false);\n firstElement.insertBefore(scriptElement, firstElement.firstChild);\n}\nexport {\n loadScript\n}\n","import { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useVastStore } from \"../../../stores/VastStore\";\nimport { loadScript } from \"../../../helper/loadScript\";\nimport {nextTick, Ref, ref, watch} from 'vue';\nimport dayjs from \"dayjs\";\nlet adsLoader: google.ima.AdsLoader;\nlet adsManager:google.ima.AdsManager;\nlet adDisplayContainer:google.ima.AdDisplayContainer;\nlet adsRequest: google.ima.AdsRequest;\nexport const usePlayerVast = ()=>{\n const imaLoaded = ref(false);\n const isContentFinished = ref(false);\n const audioContainer : Ref<HTMLAudioElement|null>= ref(null);\n const isAdRequested = ref(false);\n const statusPlayerWhenLoaded = ref(\"\");\n const dateForSessionId: Ref<string|undefined> = ref(undefined);\n\n const playerStore = usePlayerStore();\n const vastStore = useVastStore();\n\n watch(() => vastStore.isAdPaused, () => {onAdChangePlayingStatus();});\n watch(() => vastStore.isAdSkipped, () => {onAdSkipped();});\n\n function prepareIMA(){\n if(!imaLoaded.value){\n imaLoaded.value = true;\n loadIMA();\n }else{\n initializeIMA();\n }\n }\n\n function loadIMA(){\n loadScript('//imasdk.googleapis.com/js/sdkloader/ima3.js', true, (isIMALoaded:boolean) => {\n if(isIMALoaded) {\n initializeIMA();\n }\n });\n }\n\n function initializeIMA(): void {\n console.log(\"Initialize IMA\");\n initializeDisplayContainer();\n if(!adDisplayContainer || !adsLoader){\n return;\n }\n }\n\n function onRequestAd(vastUrl: string){\n isAdRequested.value = true;\n console.log(\"Request ad \"+vastUrl);\n initializeAdsRequest(vastUrl);\n adsLoader.requestAds(adsRequest);\n }\n\n function initializeDisplayContainer():void{\n if(adDisplayContainer){return};\n audioContainer.value = (document.getElementById('audio-player') as HTMLAudioElement); \n if(null===audioContainer.value){return;}\n adDisplayContainer = new google.ima.AdDisplayContainer(document.getElementById('ad-container'), audioContainer.value);\n adDisplayContainer.initialize();\n initializeAdsLoader();\n }\n\n function initializeAdsLoader():void{\n adsLoader = new google.ima.AdsLoader(adDisplayContainer);\n adsManager = null;\n adsLoader.addEventListener(\n google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,\n onAdsManagerLoaded,\n false\n );\n adsLoader.addEventListener(\n google.ima.AdErrorEvent.Type.AD_ERROR,\n onAdError,\n false\n );\n }\n\n function initializeAdsRequest(vastUrl: string):void{\n adsRequest = new google.ima.AdsRequest();\n adsRequest.setAdWillAutoPlay(true);\n adsRequest.adTagUrl = vastUrl;\n }\n\n function onAdsManagerLoaded(adsManagerLoadedEvent: google.ima.AdsManagerLoadedEvent) {\n const adsRenderingSettings = new google.ima.AdsRenderingSettings();\n adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true;\n adsManager = adsManagerLoadedEvent.getAdsManager(audioContainer.value, adsRenderingSettings);\n startAdManager();\n }\n\n function startAdManager(){\n console.log(\"Start manager\");\n initAdManagerEvents();\n try {\n adsManager.init(0, 0, google.ima.ViewMode.NORMAL);\n adsManager.start();\n } catch (adError) {\n console.log(adError);\n playerStore.playerChangeStatus(false);\n destroyAdManager();\n }\n }\n\n function initAdManagerEvents(){\n adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,onAdError);\n adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested);\n adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested);\n const events = [\n google.ima.AdEvent.Type.ALL_ADS_COMPLETED, google.ima.AdEvent.Type.AD_PROGRESS,\n google.ima.AdEvent.Type.COMPLETE, google.ima.AdEvent.Type.LOADED, \n google.ima.AdEvent.Type.PAUSED, google.ima.AdEvent.Type.STARTED,\n ];\n for (const index in events) {\n adsManager.addEventListener(events[index], onAdEvent);\n }\n }\n\n function onAdError(adErrorEvent: google.ima.AdErrorEvent) {\n console.log(adErrorEvent.getError());\n destroyAdManager();\n }\n\n function destroyAdManager(){\n if(!adsManager){return;}\n console.log(\"Destroy manager\");\n adsManager?.destroy();\n adsManager = null;\n vastStore.restartVastData();\n isContentFinished.value =false;\n isAdRequested.value = false;\n }\n\n function onAdEvent(adEvent: google.ima.AdEvent) {\n const ad = adEvent.getAd();\n if(ad){\n vastStore.updateCurrentAd(ad);\n }\n switch (adEvent.type) {\n case google.ima.AdEvent.Type.LOADED:\n statusPlayerWhenLoaded.value = playerStore.playerStatus;\n if (!ad.isLinear()) {\n playerStore.playerChangeStatus(false);\n isAdRequested.value = false;\n }\n break;\n case google.ima.AdEvent.Type.STARTED:\n console.log(\"Launched status : \"+statusPlayerWhenLoaded.value);\n if(\"PLAYING\"!==statusPlayerWhenLoaded.value){\n vastStore.updateIsAdPaused(true);\n adsManager.pause();\n }\n break;\n case google.ima.AdEvent.Type.AD_PROGRESS:{\n isAdRequested.value = false;\n const adProgressData = adEvent.getAdData();\n vastStore.updateProgressionData(adProgressData.duration,adProgressData.currentTime);\n vastStore.updateSkippableData(\n vastStore.currentAd.getSkipTimeOffset()!== -1,\n adsManager.getAdSkippableState(),\n Math.ceil(vastStore.currentAd.getSkipTimeOffset() - adProgressData.currentTime));\n break;\n }\n }\n }\n\n function onContentPauseRequested() {\n vastStore.updateIsAdPlaying(true);\n playerStore.playerChangeStatus(true);\n }\n\n function onContentResumeRequested() {\n if (!isContentFinished.value) {\n playerStore.playerChangeStatus(false);\n }\n nextTick(() => {\n vastStore.updateIsAdPlaying(false);\n vastStore.updateResetSessionId(false);\n });\n }\n\n function contentEndedAdsLoader():void{\n if (vastStore.isAdPlaying) return;\n isContentFinished.value = true;\n adsLoader?.contentComplete();\n }\n\n function onAdChangePlayingStatus(){\n if(!adsManager){return;}\n if(vastStore.isAdPaused){\n adsManager.pause();\n dateForSessionId.value = dayjs().toISOString();\n }else{\n adsManager.resume();\n if(!vastStore.resetSessionId &&dayjs().diff(dayjs(dateForSessionId.value), 'm')>1){\n vastStore.updateResetSessionId(true);\n }\n }\n }\n\n function onAdSkipped(){\n if(vastStore.isAdSkipped){\n adsManager.skip();\n }\n }\n\n\n\treturn {\n isAdRequested,\n prepareIMA,\n onRequestAd,\n destroyAdManager,\n contentEndedAdsLoader\n\t}\n}\n","import { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useVastStore } from \"../../../stores/VastStore\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { usePlayerVast } from \"./usePlayerVast\";\nimport fetchHelper from \"../../../helper/fetchHelper\";\n\nimport {computed, onMounted, Ref, ref, watch} from 'vue';\nimport { useRoute } from \"vue-router\";\nimport dayjs from \"dayjs\";\nimport classicApi from \"../../../api/classicApi\";\nimport { AdserverOtherEmission } from \"@/stores/class/adserver/adserverOtherEmission\";\nimport { AdPosition } from \"@/stores/class/adserver/adPosition\";\nimport { AdserverTiming } from \"@/stores/class/adserver/adserverTiming\";\n\nexport const usePlayerStitching = ()=>{\n\n const { isAdRequested, prepareIMA, onRequestAd,destroyAdManager, contentEndedAdsLoader } = usePlayerVast();\n\n const radioInterval : Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\n\n const route = useRoute()\n const playerStore = usePlayerStore();\n const vastStore = useVastStore();\n const saveFetchStore= useSaveFetchStore();\n\n const radioNextAdvertisingStartDate = computed(() => { \n return playerStore.playerRadio?.nextAdvertising?.startDate;\n });\n\n\n watch(() => playerStore.playerCurrentChange, () => {\n if(playerStore.playerCurrentChange && playerStore.playerCurrentChange > 0 && !checkUsePlayerPodcastStitching()){return;}\n onPlayerChange();\n });\n\n //launch advertising for podcast\n watch(() => playerStore.playerElapsedSeconds, () => {\n if(!checkUsePlayerPodcastStitching()){return;}\n if(!isAdRequested.value && checkAdNeedToBeLaunch()){\n onRequestAd(vastStore.adPositionsPodcasts[playerStore.playerCurrentChange??0][vastStore.adPositionIndex].vastUrl);\n vastStore.updateAdPositionIndex(vastStore.adPositionIndex+1); \n }\n });\n\n // launch advertising for radio\n watch(radioNextAdvertisingStartDate, () => {\n if(!radioNextAdvertisingStartDate.value){\n return;\n }\n defineRadioInterval();\n }, { immediate: true });\n\n\n onMounted(() => {\n vastStore.updateuseVastPlayerPodcast(\"true\"===route.query.vast);\n })\n\n function checkUsePlayerPodcastStitching():boolean{\n return vastStore.useVastPlayerPodcast;\n }\n\n function defineRadioInterval(){\n clearRadioInterval();\n const timeRemaining = dayjs(radioNextAdvertisingStartDate.value).diff(dayjs(), \"millisecond\");\n console.log(\"TimeRemaining \"+timeRemaining);\n if(timeRemaining < 0){\n return;\n }\n radioInterval.value = setTimeout(() => {\n radioIntervalExecute();\n }, timeRemaining);\n }\n\n async function radioIntervalExecute(){\n //If pause when ad needs to be played then skipped (TO THINK)\n if(\"PAUSED\"===playerStore.playerStatus){return;}\n const vastUrl = await getVastUrl(playerStore.playerRadio?.nextAdvertising?.tag ??\"5e385e1b51c86\", playerStore.playerRadio?.nextAdvertising?.adCount ?? 1);\n console.log(\"vastUrl \"+vastUrl);\n onRequestAd(vastUrl);\n }\n\n function clearRadioInterval() {\n clearInterval(radioInterval.value as unknown as number);\n radioInterval.value = undefined;\n }\n\n function checkAdNeedToBeLaunch(){\n if(!playerStore.playerCurrentChange || !vastStore.adPositionsPodcasts[playerStore.playerCurrentChange]?.[vastStore.adPositionIndex]){return false;}\n return vastStore.adPositionsPodcasts[playerStore.playerCurrentChange][vastStore.adPositionIndex]?.seconds <= playerStore.playerElapsedSeconds;\n }\n\n async function onPlayerChange(){\n destroyAdManager();\n if(null==playerStore.playerCurrentChange){return;}\n prepareIMA();\n await fetchPodcastAdConfig();\n }\n\n async function fetchPodcastAdConfig(){\n if(!playerStore.playerCurrentChange || !playerStore.playerPodcast ||(playerStore.playerCurrentChange && vastStore.adPositionsPodcasts[playerStore.playerCurrentChange])){\n return;\n }\n const adserverConfig = await classicApi.fetchData<AdserverOtherEmission>({\n api:0,\n path: `ad/test/podcast/${playerStore.playerCurrentChange}`,\n isNotAuth:true\n });\n if(!adserverConfig || \"SOUNDCAST_VAST\"!==adserverConfig.config?.server){\n vastStore.updateAdPositionsPodcasts(playerStore.playerCurrentChange, []);\n return;\n }\n const podcastDurationSeconds = Math.round((playerStore.playerPodcast?.duration??0) / 1000);\n const allAdPositions =generateAllAdPositions(adserverConfig.config.doublets, podcastDurationSeconds);\n const selectedAdPositions = await selectCorrectAdPositions(allAdPositions, podcastDurationSeconds, adserverConfig.config.minIntervalDuration, adserverConfig.config.minTailDuration);\n vastStore.updateAdPositionsPodcasts(playerStore.playerCurrentChange, selectedAdPositions);\n }\n\n function generateAllAdPositions(doublets: Array<AdserverTiming>, podcastDuration: number): Array<AdPosition>{\n const adPositions: Array<AdPosition> = [];\n if(doublets.some((element: AdserverTiming)=>{return \"TAG_NO_AD\"===element.tag})){\n return [];\n }\n for (const doublet of doublets) {\n if(!doublet.tag){continue;}\n let seconds = 0;\n if(\"post\"===doublet.timing.insertion){\n seconds = podcastDuration;\n }else if(\"mid\"===doublet.timing.insertion){\n const mesure = doublet.timing.mesure ?? 0;\n switch (doublet.timing.unit){\n case \"MILLISECOND\": seconds = mesure * 1000; break;\n case \"MINUTE\": seconds = Math.round(mesure / 60); break;\n case \"PERCENT\": seconds = Math.round((mesure * podcastDuration) / 100); break;\n default: seconds = mesure; break;\n }\n }\n adPositions.push({\n impressId: doublet.tag,\n policy: doublet.timing.insertion,\n seconds: seconds,\n vastUrl: \"\"\n });\n }\n return adPositions.sort((a: AdPosition, b: AdPosition) => {\n if (a.seconds > b.seconds) {\n return 1;\n }\n return b.seconds > a.seconds ? -1 : 0;\n });\n }\n\n async function selectCorrectAdPositions(allAdPositions: Array<AdPosition>, podcastDuration: number, minIntervalDuration:number, minTailDuration:number): Promise<Array<AdPosition>>{\n const adPositions: Array<AdPosition> = [];\n let previousPosition = -1;\n for(const adPosition of allAdPositions){\n switch (adPosition.policy) {\n case \"pre\":\n adPositions.push(await defineVastUrl(adPosition));\n previousPosition = 0;\n break;\n case \"mid\":\n if (adPosition.seconds > podcastDuration - minTailDuration) {\n //Too close to end\n continue;\n }\n if (previousPosition >= 0 && adPosition.seconds < previousPosition + minIntervalDuration) {\n //Too close to previous ad\n continue;\n }\n adPositions.push(await defineVastUrl(adPosition));\n previousPosition = adPosition.seconds;\n break;\n case \"post\":\n if (previousPosition >= 0 && previousPosition > podcastDuration - minIntervalDuration) {\n //Too close to previous ad\n continue;\n }\n adPositions.push(await defineVastUrl(adPosition));\n break;\n default:break;\n }\n }\n return adPositions;\n }\n\n async function defineVastUrl(adPosition: AdPosition): Promise<AdPosition>{\n adPosition.vastUrl = await getVastUrl(adPosition.impressId, 1);\n return adPosition;\n }\n\n async function getVastUrl(tag: string, adCount: number): Promise<string>{\n const baseUrl = \"https://api.soundcast.io/v1/vast/\"+tag;\n let keywords: Array<string> = [];\n if(playerStore.playerPodcast?.tags?.length){\n const attributes = await saveFetchStore.getOrgaAttributes(playerStore.playerPodcast.organisation.id);\n if (\"true\"===attributes[\"AD_CONFIG_PODCAST_TAG\"]) {\n keywords = playerStore.playerPodcast.tags.map((e) => {\n return \"tag:\" + e;\n });\n }\n }\n const parameters = fetchHelper.getUriSearchParams({\n adCount: adCount ?? 1,\n pageUrl:document.referrer,\n keywords:keywords\n });\n return baseUrl + '?' + parameters.toString();\n }\n\n\treturn {\n contentEndedAdsLoader\n\t}\n}\n","import { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useVastStore } from \"../../../stores/VastStore\";\nimport classicApi from \"../../../api/classicApi\";\nimport { AdserverOtherEmission } from \"@/stores/class/adserver/adserverOtherEmission\";\nimport { useTranslation } from \"../useTranslation\";\nimport { transcriptionApi } from \"../../../api/transcriptionApi\";\nimport { ref } from \"vue\";\n\n/** Contains the language of the transcript being generated */\nconst generatingTranscriptLanguage = ref<string|null>(null);\n\nexport const usePlayerTranscript = ()=>{\n\n const playerStore = usePlayerStore();\n const vastStore = useVastStore();\n const { getMostRelevantLanguage } = useTranslation();\n\n async function checkDelaytWithStitching(){\n playerStore.playerUpdateDelayStitching(0);\n if(vastStore.useVastPlayerPodcast){\n return;\n }\n\n const audioPlayer = document.querySelector(\"#audio-player\") as HTMLAudioElement;\n if (!playerStore.playerTranscript || !audioPlayer || !playerStore.playerPodcast ||\n audioPlayer.duration <= playerStore.playerPodcast.duration / 1000 + 5) {\n return;\n }\n\n const adserverConfig = await classicApi.fetchData<AdserverOtherEmission>({\n api:0,\n path:`ad/test/podcast/${playerStore.playerPodcast.podcastId}`,\n isNotAuth:true\n });\n\n // In case of midroll ads, we can't properly display transcription, so\n // we disable it.\n const hasOtherThanPreOrPost = adserverConfig.config.doublets\n .filter(doublet => !([\"pre\", \"post\"].includes(doublet.timing.insertion)))\n .length > 0;\n if (hasOtherThanPreOrPost) {\n console.warn(\"This episode's ad settings doesn't allow for transcription\");\n playerStore.playerUpdateChaptering();\n playerStore.playerUpdateTranscript();\n return;\n }\n\n // In case of preroll ads, delay start of transcription\n const hasPre = adserverConfig.config.doublets\n .filter(doublet => doublet.timing.insertion === \"pre\")\n .length > 0;\n if(hasPre) {\n // Since we have the expected time (from playerStore) and effective time\n // (from audioPlayer, which include ads), we just delay by the delta\n playerStore.playerUpdateDelayStitching( audioPlayer.duration - (playerStore.playerPodcast.duration / 1000));\n }\n }\n\n async function getTranscription(): Promise<void> {\n generatingTranscriptLanguage.value = null;\n if (!playerStore.playerPodcast) {\n playerStore.playerUpdateTranscript();\n return;\n }\n\n // Retrieve best language for transcription\n const podcastId = playerStore.playerPodcast.podcastId;\n const translationData = await transcriptionApi.getTranslations(podcastId);\n const { ready, available } = await getMostRelevantLanguage(translationData);\n\n // Retrieve transcription\n const result = await transcriptionApi.getTranslation(podcastId, ready);\n\n const arrayTranscript = parseSrt(result);\n const actualText =\n arrayTranscript?.[0]?.startTime === 0 ? arrayTranscript[0].text : \"\";\n if(!arrayTranscript){\n return;\n }\n playerStore.playerUpdateTranscript({\n actual: 0,\n actualText: actualText,\n value: arrayTranscript\n });\n\n if (available !== undefined && ready !== available) {\n generatingTranscriptLanguage.value = available;\n\n // If there's a better language available, trigger its generation\n const result = await transcriptionApi.getTranslation(podcastId, available, true);\n\n const arrayTranscript = parseSrt(result);\n const actualText =\n arrayTranscript?.[0]?.startTime === 0 ? arrayTranscript[0].text : \"\";\n if(!arrayTranscript){\n return;\n }\n playerStore.playerUpdateTranscript({\n actual: playerStore.playerTranscript?.actual,\n actualText: actualText,\n value: arrayTranscript\n });\n generatingTranscriptLanguage.value = null;\n }\n }\n\n function parseSrt(transcript: string) {\n const result = [];\n if (typeof transcript != \"string\") {\n return;\n }\n if (transcript == null) {\n return;\n }\n const pattern =\n /(\\d+)\\n([\\d:,]+)\\s+-{2}>\\s+([\\d:,]+)\\n([\\s\\S]*?(?=\\n{2}|$))/gm;\n transcript = transcript.replace(/\\r\\n|\\r|\\n|\\t/g, \"\\n\");\n let matches;\n while ((matches = pattern.exec(transcript)) != null) {\n result.push({\n startTime: srtTimeToSeconds(matches[2]),\n endTime: srtTimeToSeconds(matches[3]),\n text: matches[4],\n });\n }\n return result;\n }\n\n function srtTimeToSeconds(time: string): number {\n const a = time.split(\":\");\n return +a[0] * 60 * 60 + +a[1] * 60 + +parseFloat(a[2]);\n }\n\n function onTimeUpdateTranscript(currentTime: number) {\n if(!playerStore.playerTranscript?.value.length){\n return;\n }\n const startTime = (playerStore.playerTranscript.value[playerStore.playerTranscript.actual]?.startTime ?? 0) + playerStore.playerDelayStitching;\n if (startTime <= currentTime) {\n playerStore.playerTranscript.actualText = playerStore.playerTranscript.value[playerStore.playerTranscript?.actual]?.text ??\"\";\n }\n if (\n (playerStore.playerTranscript.value[playerStore.playerTranscript.actual]?.endTime ??Infinity) + playerStore.playerDelayStitching< currentTime\n ) {\n playerStore.playerTranscript.actual += 1;\n playerStore.playerTranscript.actualText =\n playerStore.playerTranscript?.value[playerStore.playerTranscript.actual]?.text ??\n \"\";\n }\n }\n \n function onSeekedTranscript(currentTime: number) {\n if (playerStore.playerTranscript) {\n let newActual = 0;\n while (currentTime >(playerStore.playerTranscript.value[newActual]?.endTime ?? Infinity) + playerStore.playerDelayStitching) {\n newActual += 1;\n }\n playerStore.playerTranscript.actual = newActual;\n }\n }\n\n return {\n checkDelaytWithStitching,\n getTranscription,\n onTimeUpdateTranscript,\n onSeekedTranscript,\n generatingTranscriptLanguage\n }\n}\n","export enum OrganisationPrivacy {\n SECURED = 'SECURED',\n PRIVATE = 'PRIVATE',\n PUBLIC = 'PUBLIC'\n}\n\nexport interface PrivateOrganisation {\n privacy: OrganisationPrivacy;\n accountCreation: string; // ENABLED DISABLED\n referrers: Array<string>;\n cidrs: Array<string>;\n mailDomains: Array<string>;\n}\n\nexport function emptyPrivateOrganisation(): PrivateOrganisation {\n return {\n privacy: OrganisationPrivacy.PUBLIC,\n accountCreation: \"DISABLED\",\n referrers: [],\n cidrs: [],\n mailDomains: [],\n };\n}\n","\nimport { usePlayerLive } from \"./usePlayerLive\";\nimport { usePlayerStitching } from \"./usePlayerStitching\";\nimport { usePlayerTranscript } from \"./usePlayerTranscript\";\nimport { nextTick, Ref, ref, watch } from \"vue\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useVastStore } from \"../../../stores/VastStore\";\nimport { state as sdkParams } from \"../../../stores/ParamSdkStore\";\nimport fetchHelper from \"../../../helper/fetchHelper\";\nimport dayjs from \"dayjs\";\nimport { FetchParam } from \"@/stores/class/general/fetchParam\";\nimport { podcastApi } from \"../../../api/podcastApi\";\nimport { Organisation } from \"../../../stores/class/general/organisation\";\nimport { organisationApi } from \"../../../api/organisationApi\";\nimport { OrganisationPrivacy } from \"../../../stores/class/securisation/privateOrganisation\";\n\nexport const usePlayerLogic = (forceHide: Ref<boolean, boolean>) => {\n const hlsReady = ref(false);\n\n const { listenTime, onPlay, setDownloadId, onTimeUpdateProgress, playLive, endingLive, playRadio} = usePlayerLive(hlsReady);\n const { contentEndedAdsLoader } = usePlayerStitching();\n const { getTranscription, onTimeUpdateTranscript, onSeekedTranscript, checkDelaytWithStitching } = usePlayerTranscript();\n\n const playerError= ref(false);\n const listenError= ref(false);\n const percentLiveProgress= ref(0);\n const durationLivePosition= ref(0);\n const displayAlertBar= ref(false);\n const audioUrlToPlay= ref(\"\");\n\n\n const playerStore = usePlayerStore();\n const generalStore = useGeneralStore();\n const vastStore = useVastStore();\n const authStore = useAuthStore();\n\n watch(()=>getAudioUrl(), async () => {\n playerError.value = false;\n\n // In some cases, the audio does not go through normal download endpoint\n // Mostly when the podcast is not available to users\n let download = true;\n if (\n playerStore.playerMedia ||\n !playerStore.playerPodcast ||\n playerStore.playerVideo ||\n !playerStore.playerPodcast.availability.visibility ||\n listenError.value\n ) {\n download = false;\n\n // Not yet available podcasts in secured organisations go through\n // download if possible (see #14228)\n const podcast = playerStore.playerPodcast;\n if (podcast && !podcast.availability.visibility) {\n let organisation: Organisation|null = null;\n if (podcast.organisation) {\n organisation = podcast.organisation;\n } else if ('organisationId' in podcast) {\n // Handle case of missing organisation (for example for SimplifiedPodcast)\n organisation = await organisationApi.get(podcast.organisationId as string);\n }\n if (organisation.privacy === OrganisationPrivacy.SECURED) {\n download = true;\n }\n }\n }\n\n if (download) {\n const response = await podcastApi.downloadRegister(playerStore.playerPodcast.podcastId, getAudioUrlParameters());\n setDownloadId(response.downloadId.toString());\n audioUrlToPlay.value = response.location;\n } else {\n audioUrlToPlay.value = getAudioUrl();\n }\n });\n\n watch(()=>playerStore.playerPodcast, async () => {\n reInitPlayer();\n getTranscription();\n }, {deep:true});\n\n watch(()=>playerStore.playerLive, async (_, oldLive) => {\n if(playerStore.playerVideo){\n return;\n }\n nextTick(async () => {\n hlsReady.value = false;\n reInitPlayer(oldLive!==undefined);\n playLive();\n });\n }, {deep:true});\n\n watch(()=>playerStore.playerRadio, async (_, oldRadio) => {\n nextTick(async () => {\n hlsReady.value = false;\n reInitPlayer(oldRadio !== undefined);\n playRadio();\n });\n });\n\n watch(()=>playerStore.playerStatus, async () => {\n const audioPlayer: HTMLAudioElement | null =\n document.querySelector(\"#audio-player\");\n if (!audioPlayer) return;\n if (playerStore.playerLive && !hlsReady.value) {\n /* audioPlayer.pause();\n percentLiveProgress.value = 0;\n durationLivePosition.value = 0; */\n return;\n }\n if (\"PAUSED\" === playerStore.playerStatus && playerStore.playerRadio) {\n playerStore.playerRadio.dateSessionId = dayjs().toISOString();\n hlsReady.value = false;\n reInitPlayer();\n endingLive();\n } else if (\"PAUSED\" === playerStore.playerStatus) {\n audioPlayer.pause();\n } else if (\"PLAYING\" === playerStore.playerStatus && playerStore.playerRadio) {\n handlePlayRadio();\n } else if (\"PLAYING\" === playerStore.playerStatus) {\n audioPlayer.play();\n }\n });\n\n function handlePlayRadio(){\n if(!playerStore.playerRadio){\n return;\n }\n if (playerStore.playerRadio.isInit) {\n if(vastStore.isAdPlaying && !vastStore.resetSessionId){\n playerStore.playerRadio.dateSessionId = dayjs().toISOString();\n }\n playRadio();\n } else {\n playerStore.playerRadio.isInit = true;\n }\n }\n\n function getAudioUrlParameters(addToken?: boolean): FetchParam {\n if (!playerStore.playerPodcast) {\n return {};\n }\n \n const parameters: FetchParam = {\n origin: \"octopus\",\n accepted: vastStore.useVastPlayerPodcast\n };\n if (authStore.authOrgaId) {\n parameters.distributorId = authStore.authOrgaId;\n }\n if (generalStore.consentTcf) {\n parameters.consent = generalStore.consentTcf;\n }\n if (\n addToken &&\n \"SECURED\" === playerStore.playerPodcast.organisation.privacy &&\n authStore.authParam.accessToken\n ) {\n parameters.access_token = authStore.authParam.accessToken;\n }\n return parameters;\n }\n\n function getAudioUrl(): string {\n if (playerStore.playerMedia){\n return playerStore.playerMedia.audioUrl ?? \"\";\n }\n if (!playerStore.playerPodcast || playerStore.playerVideo) {\n return \"\";\n }\n if (\n !playerStore.playerPodcast.availability.visibility ||\n \"PROCESSING\" === playerStore.playerPodcast.processingStatus\n ) {\n return playerStore.playerPodcast.audioStorageUrl;\n }\n if (listenError.value) {\n return playerStore.playerPodcast.audioStorageUrl;\n }\n return playerStore.playerPodcast.podcastId + \".mp3?\"+fetchHelper.getUriSearchParams(getAudioUrlParameters(), true);\n }\n\n function reInitPlayer(force=false): void {\n setDownloadId(null);\n listenError.value = false;\n if (force || playerStore.playerLive || playerStore.playerRadio) {\n endingLive();\n }\n }\n\n function stopPlayer(): void {\n playerStore.playerPlay();\n }\n\n function onError(): void {\n if (\n playerStore.playerPodcast &&\n \"\" !== audioUrlToPlay.value &&\n !listenError.value\n ) {\n listenError.value = true;\n } else if (\n (playerStore.playerPodcast && \"\" !== audioUrlToPlay.value) ||\n playerStore.playerMedia\n ) {\n playerError.value = true;\n }\n }\n\n function streamDurationForSafari(mediaTarget: HTMLMediaElement) {\n let streamDuration = mediaTarget.duration;\n if (Infinity === streamDuration) {\n const seekable = mediaTarget.seekable;\n if (seekable && seekable.length > 0) {\n try {\n streamDuration = seekable.end(seekable.length - 1);\n } catch (e) {\n console.error(e);\n }\n } else {\n streamDuration = mediaTarget.currentTime;\n }\n }\n return streamDuration;\n }\n\n function onTimeUpdatePodcast(streamDuration: number, currentTime: number) {\n displayAlertBar.value = false;\n percentLiveProgress.value = 0;\n playerStore.playerUpdateElapsed(currentTime / streamDuration, streamDuration);\n onTimeUpdateTranscript(currentTime);\n }\n\n function onTimeUpdateLive(streamDuration: number, currentTime: number) {\n if (!playerStore.playerLive) {\n return;\n }\n const scheduledDuration = playerStore.playerLive.duration / 1000;\n if (scheduledDuration > streamDuration) {\n displayAlertBar.value = false;\n percentLiveProgress.value = (streamDuration / scheduledDuration) * 100;\n playerStore.playerUpdateElapsed(\n currentTime / scheduledDuration,\n scheduledDuration,\n );\n } else {\n percentLiveProgress.value = 100;\n displayAlertBar.value = true;\n durationLivePosition.value = (scheduledDuration / streamDuration) * 100;\n playerStore.playerUpdateElapsed(currentTime / streamDuration, streamDuration);\n }\n }\n\n function onTimeUpdate(event: Event): void {\n if (playerStore.playerRadio) {\n return;\n }\n const mediaTarget = event.currentTarget as HTMLMediaElement;\n if (playerStore.playerPodcast || playerStore.playerLive) {\n onTimeUpdateProgress(mediaTarget.currentTime);\n }\n const streamDuration = streamDurationForSafari(mediaTarget);\n if (!streamDuration) return;\n if (!mediaTarget.currentTime) return;\n if (!playerStore.playerLive) {\n onTimeUpdatePodcast(streamDuration, mediaTarget.currentTime);\n return;\n }\n onTimeUpdateLive(streamDuration, mediaTarget.currentTime);\n }\n\n function onSeeked(event: Event): void {\n const mediaTarget = event.currentTarget as HTMLMediaElement;\n const currentTime = mediaTarget.currentTime;\n onSeekedTranscript(currentTime);\n }\n\n function onFinished(): void {\n setDownloadId(null);\n contentEndedAdsLoader();\n if (playerStore.playerLive) {\n endingLive();\n }\n\n if (sdkParams.player.stayOpenOnFinish !== true) {\n forceHide.value = true;\n }\n }\n\n\n return {\n audioUrlToPlay,\n listenTime,\n playerError,\n percentLiveProgress,\n durationLivePosition,\n displayAlertBar,\n hlsReady,\n checkDelaytWithStitching,\n stopPlayer,\n onError,\n onTimeUpdate,\n onSeeked,\n onFinished,\n onPlay\n }\n}\n","<template>\n <section\n id=\"octopus-player-component\"\n class=\"player-container\"\n :class=\"{ \n 'player-video': playerStore.playerVideo,\n 'overflow-hidden': !display\n }\"\n :style=\"{ height: playerStore.playerHeight }\"\n @transitionend=\"onHidden\"\n >\n <audio\n id=\"audio-player\"\n :src=\"!playerStore.playerLive && !playerStore.playerRadio ? audioUrlToPlay : undefined\"\n autoplay\n @timeupdate=\"onTimeUpdate\"\n @ended=\"onFinished\"\n @playing=\"onPlay\"\n @durationChange=\"onTimeUpdate\"\n @error=\"onError\"\n @seeked=\"onSeeked\"\n @pause=\"onPause\"\n @loadedmetadata=\"checkDelaytWithStitching\"\n />\n <div id=\"ad-container\" />\n\n <template v-if=\"displayWithTimeout\">\n\n <slot name=\"above\" />\n \n <PlayerVideo v-if=\"playerStore.playerVideo && isNotVideoPage\" />\n <template v-else-if=\"!playerStore.playerVideo\">\n <PlayerCompact\n v-if=\"!playerStore.playerLargeVersion\"\n :player-error=\"playerError\"\n :display-alert-bar=\"displayAlertBar\"\n :percent-live-progress=\"percentLiveProgress\"\n :duration-live-position=\"durationLivePosition\"\n :listen-time=\"listenTime\"\n :hls-ready=\"hlsReady\"\n @stop-player=\"stopPlayer\"\n @change-player-large-version=\"playerStore.playerUpdateLargeVersion(true)\"\n />\n <PlayerLarge\n v-else\n :player-error=\"playerError\"\n :display-alert-bar=\"displayAlertBar\"\n :percent-live-progress=\"percentLiveProgress\"\n :duration-live-position=\"durationLivePosition\"\n :listen-time=\"listenTime\"\n :hls-ready=\"hlsReady\"\n @stop-player=\"stopPlayer\"\n @change-player-large-version=\"playerStore.playerUpdateLargeVersion(false)\"\n />\n </template>\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport {usePlayerLogic} from \"../../composable/player/usePlayerLogic\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { defineAsyncComponent, ref, computed, watch } from \"vue\";\nimport { useRoute } from \"vue-router\";\nconst PlayerVideo = defineAsyncComponent(\n () => import(\"./video/PlayerVideo.vue\"),\n);\nconst PlayerCompact = defineAsyncComponent(\n () => import(\"../player/PlayerCompact.vue\"),\n);\nconst PlayerLarge = defineAsyncComponent(\n () => import(\"../player/PlayerLarge.vue\"),\n);\n\n//Emits\nconst emit = defineEmits(['hide']);\n\n//Data\nconst displayWithTimeout= ref(false);\nconst forceHide= ref(false);\n\n//Composable\nconst {\n audioUrlToPlay,\n listenTime,\n playerError,\n percentLiveProgress, \n durationLivePosition,\n displayAlertBar,\n hlsReady, \n checkDelaytWithStitching, \n stopPlayer, \n onError, \n onTimeUpdate, \n onSeeked, \n onFinished, \n onPlay\n} = usePlayerLogic(forceHide);\nconst playerStore = usePlayerStore();\nconst route = useRoute();\n\n// Computed\nconst display = computed(() => { return \"STOPPED\" !== playerStore.playerStatus;});\nconst isNotVideoPage = computed(() => { return \"video\" !== route.name});\n\n// Watch\nwatch(()=>playerStore.playerHeight, async () => {\n emit(\"hide\", 0 === playerStore.playerHeight);\n});\nwatch(display, async () => {\n if (display.value) {\n displayWithTimeout.value = display.value;\n } else {\n setTimeout(() => {\n displayWithTimeout.value = display.value;\n }, 3000);\n }\n});\n\n//Methods\nfunction onHidden(): void {\n if (forceHide.value) {\n playerStore.playerPlay();\n forceHide.value = false;\n }\n}\nfunction onPause() {\n if (\"PLAYING\" === playerStore.playerStatus) {\n playerStore.playerChangeStatus(true);\n }\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .player-container {\n max-height: 94%;\n position: sticky;\n overflow: visible;\n z-index: 12;\n width: 100%;\n bottom: 0;\n display: flex;\n flex-direction: column;\n transition: height 1s;\n background: var(--octopus-player-color) !important;\n font-size: 1rem;\n\n .medium-text {\n font-size: 0.65rem;\n }\n\n .small-text {\n font-size: 0.5rem;\n }\n\n @media (width <= 960px) {\n .d-flex {\n flex-wrap: nowrap !important;\n }\n }\n }\n\n #ad-container {\n display: none;\n }\n}\n</style>\n","<template>\n <section\n id=\"octopus-player-component\"\n class=\"player-container\"\n :class=\"{ \n 'player-video': playerStore.playerVideo,\n 'overflow-hidden': !display\n }\"\n :style=\"{ height: playerStore.playerHeight }\"\n @transitionend=\"onHidden\"\n >\n <audio\n id=\"audio-player\"\n :src=\"!playerStore.playerLive && !playerStore.playerRadio ? audioUrlToPlay : undefined\"\n autoplay\n @timeupdate=\"onTimeUpdate\"\n @ended=\"onFinished\"\n @playing=\"onPlay\"\n @durationChange=\"onTimeUpdate\"\n @error=\"onError\"\n @seeked=\"onSeeked\"\n @pause=\"onPause\"\n @loadedmetadata=\"checkDelaytWithStitching\"\n />\n <div id=\"ad-container\" />\n\n <template v-if=\"displayWithTimeout\">\n\n <slot name=\"above\" />\n \n <PlayerVideo v-if=\"playerStore.playerVideo && isNotVideoPage\" />\n <template v-else-if=\"!playerStore.playerVideo\">\n <PlayerCompact\n v-if=\"!playerStore.playerLargeVersion\"\n :player-error=\"playerError\"\n :display-alert-bar=\"displayAlertBar\"\n :percent-live-progress=\"percentLiveProgress\"\n :duration-live-position=\"durationLivePosition\"\n :listen-time=\"listenTime\"\n :hls-ready=\"hlsReady\"\n @stop-player=\"stopPlayer\"\n @change-player-large-version=\"playerStore.playerUpdateLargeVersion(true)\"\n />\n <PlayerLarge\n v-else\n :player-error=\"playerError\"\n :display-alert-bar=\"displayAlertBar\"\n :percent-live-progress=\"percentLiveProgress\"\n :duration-live-position=\"durationLivePosition\"\n :listen-time=\"listenTime\"\n :hls-ready=\"hlsReady\"\n @stop-player=\"stopPlayer\"\n @change-player-large-version=\"playerStore.playerUpdateLargeVersion(false)\"\n />\n </template>\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport {usePlayerLogic} from \"../../composable/player/usePlayerLogic\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { defineAsyncComponent, ref, computed, watch } from \"vue\";\nimport { useRoute } from \"vue-router\";\nconst PlayerVideo = defineAsyncComponent(\n () => import(\"./video/PlayerVideo.vue\"),\n);\nconst PlayerCompact = defineAsyncComponent(\n () => import(\"../player/PlayerCompact.vue\"),\n);\nconst PlayerLarge = defineAsyncComponent(\n () => import(\"../player/PlayerLarge.vue\"),\n);\n\n//Emits\nconst emit = defineEmits(['hide']);\n\n//Data\nconst displayWithTimeout= ref(false);\nconst forceHide= ref(false);\n\n//Composable\nconst {\n audioUrlToPlay,\n listenTime,\n playerError,\n percentLiveProgress, \n durationLivePosition,\n displayAlertBar,\n hlsReady, \n checkDelaytWithStitching, \n stopPlayer, \n onError, \n onTimeUpdate, \n onSeeked, \n onFinished, \n onPlay\n} = usePlayerLogic(forceHide);\nconst playerStore = usePlayerStore();\nconst route = useRoute();\n\n// Computed\nconst display = computed(() => { return \"STOPPED\" !== playerStore.playerStatus;});\nconst isNotVideoPage = computed(() => { return \"video\" !== route.name});\n\n// Watch\nwatch(()=>playerStore.playerHeight, async () => {\n emit(\"hide\", 0 === playerStore.playerHeight);\n});\nwatch(display, async () => {\n if (display.value) {\n displayWithTimeout.value = display.value;\n } else {\n setTimeout(() => {\n displayWithTimeout.value = display.value;\n }, 3000);\n }\n});\n\n//Methods\nfunction onHidden(): void {\n if (forceHide.value) {\n playerStore.playerPlay();\n forceHide.value = false;\n }\n}\nfunction onPause() {\n if (\"PLAYING\" === playerStore.playerStatus) {\n playerStore.playerChangeStatus(true);\n }\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .player-container {\n max-height: 94%;\n position: sticky;\n overflow: visible;\n z-index: 12;\n width: 100%;\n bottom: 0;\n display: flex;\n flex-direction: column;\n transition: height 1s;\n background: var(--octopus-player-color) !important;\n font-size: 1rem;\n\n .medium-text {\n font-size: 0.65rem;\n }\n\n .small-text {\n font-size: 0.5rem;\n }\n\n @media (width <= 960px) {\n .d-flex {\n flex-wrap: nowrap !important;\n }\n }\n }\n\n #ad-container {\n display: none;\n }\n}\n</style>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayerComponent-DKwM8vDK.mjs","names":[],"sources":["../src/components/composable/player/usePlayerLive.ts","../src/helper/loadScript.ts","../src/components/composable/player/usePlayerVast.ts","../src/components/composable/player/usePlayerStitching.ts","../src/components/composable/player/usePlayerTranscript.ts","../src/stores/class/securisation/privateOrganisation.ts","../src/components/composable/player/usePlayerLogic.ts","../src/components/misc/player/PlayerComponent.vue","../src/components/misc/player/PlayerComponent.vue"],"sourcesContent":["import stringHelper from \"../../../helper/stringHelper\";\nimport { usePlayerLogicProgress } from \"./usePlayerLogicProgress\";\nimport { computed, Ref, ref } from \"vue\";\nimport { usePlayerStore, PlayerStatus } from \"../../../stores/PlayerStore\";\nimport { useApiStore } from \"../../../stores/ApiStore\";\nimport dayjs from \"dayjs\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\n/* eslint-disable*/\nlet Hls:any = null;\n/* eslint-enable*/\nconst maxMinutesSessionId = 1;\nexport const usePlayerLive = (hlsReady: Ref<boolean>)=>{\n\n const { listenTime, initLiveDownloadId, setDownloadId, onTimeUpdateProgress } = usePlayerLogicProgress();\n\n const audioElement: Ref<HTMLAudioElement | null>= ref(null);\n const hls: Ref<any>= ref(null);\n const hlsRetryTimeout: Ref<ReturnType<typeof setTimeout> | undefined>= ref(undefined);\n const playPromise: Ref<Promise<void>|undefined>= ref(undefined);\n const errorHls= ref(false);\n\n\n const playerStore = usePlayerStore();\n const apiStore = useApiStore();\n const authStore = useAuthStore();\n\n function needToAddToken(url: string): boolean { \n if (authStore.authParam.accessToken && (\"SECURED\" === playerStore.playerLive?.organisation?.privacy || playerStore.playerRadio?.secured)) {\n const baseDomain = apiStore.frontendUrl.replace(/^https?:\\/\\//, '');\n // Add token only if request is on same domain\n return url.includes(baseDomain);\n }\n return false;\n }\n\n function onPlay(): void {\n playerStore.playerChangeStatus(PlayerStatus.PAUSED === playerStore.playerStatus);\n }\n\n function playRadio() {\n if (!playerStore.playerRadio) {\n return;\n }\n handleSessionIdRadio();\n playerStore.playerUpdatePlayerHlsUrl(playerStore.playerRadio.url+\"?origin=octopus&sessionId=\"+playerStore.playerRadio.sessionId);\n playHls();\n }\n\n function handleSessionIdRadio(){\n if(!playerStore.playerRadio) {\n return;\n }\n if(playerStore.playerRadio.sessionId && dayjs().diff(dayjs(playerStore.playerRadio.dateSessionId), 'm')<maxMinutesSessionId){\n return;\n }\n playerStore.playerRadio.sessionId = stringHelper.uuidv4();\n }\n\n function playLive() {\n if (!playerStore.playerHlsIdentifier) {\n return;\n }\n playerStore.playerUpdatePlayerHlsUrl(`${apiStore.hlsUrl}live/${playerStore.playerHlsIdentifier}/index.m3u8`);\n playHls();\n }\n\n async function playHls(): Promise<void> {\n try {\n if(null===audioElement.value){\n audioElement.value = document.getElementById(\"audio-player\") as HTMLAudioElement;\n }\n if (null === audioElement.value || !playerStore.playerHlsUrl) {\n setTimeout(playHls, 1000);\n return;\n }\n const ua = navigator.userAgent.toLowerCase();\n const isAndroid = ua.indexOf(\"android\") > -1; //&& ua.indexOf(\"mobile\");\n const isChrome = ua.indexOf(\"chrome\") > -1;\n if (\n audioElement.value.canPlayType(\"application/vnd.apple.mpegurl\") &&\n !isChrome &&\n !isAndroid\n ) {\n let url = playerStore.playerHlsUrl;\n if(needToAddToken(url)) {\n if (url.includes('?')) {\n url += \"&access_token=\"+authStore.authParam.accessToken;\n } else {\n url += \"?access_token=\"+authStore.authParam.accessToken;\n }\n }\n audioElement.value.src = url;\n await initLiveDownloadId();\n hlsReady.value = true;\n await audioElement.value.play();\n onPlay();\n } else {\n await initHls();\n }\n } catch(e) {\n console.error(e);\n onHlsError();\n }\n }\n\n function onHlsError(){\n if(\"STOPPED\"!==playerStore.playerStatus && undefined===hlsRetryTimeout.value){\n hlsRetryTimeout.value = setTimeout(() => {\n errorHls.value = false;\n playHls();\n hlsRetryTimeout.value = undefined;\n }, 5000);\n }\n }\n\n async function initHls() {\n if (null === Hls) {\n await import(\"hls.js\").then((hlsLibrary) => {\n Hls = hlsLibrary.default;\n });\n }\n if (!Hls.isSupported()) {\n throw new Error(\"Hls is not supported ! \");\n }\n hls.value = new Hls({\n autoStartLoad: true,\n liveDurationInfinity:true,\n backBufferLength:10,\n maxBufferLength:60,\n\n xhrSetup: (xhr: XMLHttpRequest, url: string) => {\n if (needToAddToken(url)) {\n xhr.setRequestHeader(\"Authorization\", \"Bearer \" +authStore.authParam.accessToken);\n }\n }\n });\n hls.value.on(Hls.Events.MANIFEST_PARSED, async () => {\n await initLiveDownloadId();\n hlsReady.value = true;\n if(true===errorHls.value){\n return;\n }\n setTimeout(() => {\n playPromise.value = (audioElement.value as HTMLAudioElement).play();\n playPromise.value.then(() =>{\n playPromise.value = undefined;\n onPlay();\n }).catch((e)=>{\n console.error(e);\n onHlsError();\n playPromise.value = undefined;\n });\n }, 500);\n });\n hls.value.on(Hls.Events.ERROR, async (name: string, data:any) => {\n // Stalling, we don't have enough data\n if (data.details === 'bufferStalledError') {\n // Some logs to be able to follow what's happening\n console.warn('playback is stalling…');\n playerStore.playerStatus = PlayerStatus.LOADING;\n // Destroy current instance\n hls.value.destroy();\n // Wait a bit before restarting playback\n setTimeout(initHls, 500);\n return;\n }\n console.error('An error occured: ' + name + ' / ' + data.details);\n console.error(data);\n if (data.fatal && data.type === Hls.ErrorTypes.MEDIA_ERROR) {\n console.warn('Trying to recover...');\n hls.value.recoverMediaError();\n }\n errorHls.value = true;\n if(undefined===playPromise.value && data.fatal){\n onHlsError();\n }\n });\n hls.value.loadSource(playerStore.playerHlsUrl);\n hls.value.attachMedia(audioElement.value as HTMLAudioElement);\n }\n\n async function endingLive(): Promise<void> {\n clearTimeout(hlsRetryTimeout.value);\n hlsRetryTimeout.value = undefined;\n if(null===audioElement.value){\n return;\n }\n audioElement.value = null;\n const audio: HTMLElement | null = document.getElementById(\"audio-player\");\n if (audio && hls.value) {\n hls.value.destroy();\n hls.value = null;\n }else{\n (audio as HTMLAudioElement).pause();\n }\n (audio as HTMLAudioElement).src = \"\";\n }\n\n\treturn {\n listenTime,\n setDownloadId,\n onTimeUpdateProgress,\n playLive,\n endingLive,\n playRadio,\n onPlay\n\t}\n}\n","function loadScript(src: string, async:boolean, callback: (isLoaded:boolean) => void) {\n const firstElement = document.getElementsByTagName('head')[0] || document.documentElement,\n scriptElement = document.createElement('script');\n scriptElement.type = 'text/javascript';\n scriptElement.src = src;\n scriptElement.async = async;\n scriptElement.addEventListener('load', function() {\n if(callback && typeof callback === 'function') {\n callback(true);\n }\n }, false);\n scriptElement.addEventListener('error', function() {\n firstElement.removeChild(scriptElement);\n if(callback && typeof callback === 'function') {\n callback(false);\n }\n }, false);\n firstElement.insertBefore(scriptElement, firstElement.firstChild);\n}\nexport {\n loadScript\n}\n","import { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useVastStore } from \"../../../stores/VastStore\";\nimport { loadScript } from \"../../../helper/loadScript\";\nimport {nextTick, Ref, ref, watch} from 'vue';\nimport dayjs from \"dayjs\";\nlet adsLoader: google.ima.AdsLoader;\nlet adsManager:google.ima.AdsManager;\nlet adDisplayContainer:google.ima.AdDisplayContainer;\nlet adsRequest: google.ima.AdsRequest;\nexport const usePlayerVast = ()=>{\n const imaLoaded = ref(false);\n const isContentFinished = ref(false);\n const audioContainer : Ref<HTMLAudioElement|null>= ref(null);\n const isAdRequested = ref(false);\n const statusPlayerWhenLoaded = ref(\"\");\n const dateForSessionId: Ref<string|undefined> = ref(undefined);\n\n const playerStore = usePlayerStore();\n const vastStore = useVastStore();\n\n watch(() => vastStore.isAdPaused, () => {onAdChangePlayingStatus();});\n watch(() => vastStore.isAdSkipped, () => {onAdSkipped();});\n\n function prepareIMA(){\n if(!imaLoaded.value){\n imaLoaded.value = true;\n loadIMA();\n }else{\n initializeIMA();\n }\n }\n\n function loadIMA(){\n loadScript('//imasdk.googleapis.com/js/sdkloader/ima3.js', true, (isIMALoaded:boolean) => {\n if(isIMALoaded) {\n initializeIMA();\n }\n });\n }\n\n function initializeIMA(): void {\n console.log(\"Initialize IMA\");\n initializeDisplayContainer();\n if(!adDisplayContainer || !adsLoader){\n return;\n }\n }\n\n function onRequestAd(vastUrl: string){\n isAdRequested.value = true;\n console.log(\"Request ad \"+vastUrl);\n initializeAdsRequest(vastUrl);\n adsLoader.requestAds(adsRequest);\n }\n\n function initializeDisplayContainer():void{\n if(adDisplayContainer){return};\n audioContainer.value = (document.getElementById('audio-player') as HTMLAudioElement); \n if(null===audioContainer.value){return;}\n adDisplayContainer = new google.ima.AdDisplayContainer(document.getElementById('ad-container'), audioContainer.value);\n adDisplayContainer.initialize();\n initializeAdsLoader();\n }\n\n function initializeAdsLoader():void{\n adsLoader = new google.ima.AdsLoader(adDisplayContainer);\n adsManager = null;\n adsLoader.addEventListener(\n google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,\n onAdsManagerLoaded,\n false\n );\n adsLoader.addEventListener(\n google.ima.AdErrorEvent.Type.AD_ERROR,\n onAdError,\n false\n );\n }\n\n function initializeAdsRequest(vastUrl: string):void{\n adsRequest = new google.ima.AdsRequest();\n adsRequest.setAdWillAutoPlay(true);\n adsRequest.adTagUrl = vastUrl;\n }\n\n function onAdsManagerLoaded(adsManagerLoadedEvent: google.ima.AdsManagerLoadedEvent) {\n const adsRenderingSettings = new google.ima.AdsRenderingSettings();\n adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true;\n adsManager = adsManagerLoadedEvent.getAdsManager(audioContainer.value, adsRenderingSettings);\n startAdManager();\n }\n\n function startAdManager(){\n console.log(\"Start manager\");\n initAdManagerEvents();\n try {\n adsManager.init(0, 0, google.ima.ViewMode.NORMAL);\n adsManager.start();\n } catch (adError) {\n console.log(adError);\n playerStore.playerChangeStatus(false);\n destroyAdManager();\n }\n }\n\n function initAdManagerEvents(){\n adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,onAdError);\n adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested);\n adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested);\n const events = [\n google.ima.AdEvent.Type.ALL_ADS_COMPLETED, google.ima.AdEvent.Type.AD_PROGRESS,\n google.ima.AdEvent.Type.COMPLETE, google.ima.AdEvent.Type.LOADED, \n google.ima.AdEvent.Type.PAUSED, google.ima.AdEvent.Type.STARTED,\n ];\n for (const index in events) {\n adsManager.addEventListener(events[index], onAdEvent);\n }\n }\n\n function onAdError(adErrorEvent: google.ima.AdErrorEvent) {\n console.log(adErrorEvent.getError());\n destroyAdManager();\n }\n\n function destroyAdManager(){\n if(!adsManager){return;}\n console.log(\"Destroy manager\");\n adsManager?.destroy();\n adsManager = null;\n vastStore.restartVastData();\n isContentFinished.value =false;\n isAdRequested.value = false;\n }\n\n function onAdEvent(adEvent: google.ima.AdEvent) {\n const ad = adEvent.getAd();\n if(ad){\n vastStore.updateCurrentAd(ad);\n }\n switch (adEvent.type) {\n case google.ima.AdEvent.Type.LOADED:\n statusPlayerWhenLoaded.value = playerStore.playerStatus;\n if (!ad.isLinear()) {\n playerStore.playerChangeStatus(false);\n isAdRequested.value = false;\n }\n break;\n case google.ima.AdEvent.Type.STARTED:\n console.log(\"Launched status : \"+statusPlayerWhenLoaded.value);\n if(\"PLAYING\"!==statusPlayerWhenLoaded.value){\n vastStore.updateIsAdPaused(true);\n adsManager.pause();\n }\n break;\n case google.ima.AdEvent.Type.AD_PROGRESS:{\n isAdRequested.value = false;\n const adProgressData = adEvent.getAdData();\n vastStore.updateProgressionData(adProgressData.duration,adProgressData.currentTime);\n vastStore.updateSkippableData(\n vastStore.currentAd.getSkipTimeOffset()!== -1,\n adsManager.getAdSkippableState(),\n Math.ceil(vastStore.currentAd.getSkipTimeOffset() - adProgressData.currentTime));\n break;\n }\n }\n }\n\n function onContentPauseRequested() {\n vastStore.updateIsAdPlaying(true);\n playerStore.playerChangeStatus(true);\n }\n\n function onContentResumeRequested() {\n if (!isContentFinished.value) {\n playerStore.playerChangeStatus(false);\n }\n nextTick(() => {\n vastStore.updateIsAdPlaying(false);\n vastStore.updateResetSessionId(false);\n });\n }\n\n function contentEndedAdsLoader():void{\n if (vastStore.isAdPlaying) return;\n isContentFinished.value = true;\n adsLoader?.contentComplete();\n }\n\n function onAdChangePlayingStatus(){\n if(!adsManager){return;}\n if(vastStore.isAdPaused){\n adsManager.pause();\n dateForSessionId.value = dayjs().toISOString();\n }else{\n adsManager.resume();\n if(!vastStore.resetSessionId &&dayjs().diff(dayjs(dateForSessionId.value), 'm')>1){\n vastStore.updateResetSessionId(true);\n }\n }\n }\n\n function onAdSkipped(){\n if(vastStore.isAdSkipped){\n adsManager.skip();\n }\n }\n\n\n\treturn {\n isAdRequested,\n prepareIMA,\n onRequestAd,\n destroyAdManager,\n contentEndedAdsLoader\n\t}\n}\n","import { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useVastStore } from \"../../../stores/VastStore\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { usePlayerVast } from \"./usePlayerVast\";\nimport fetchHelper from \"../../../helper/fetchHelper\";\n\nimport {computed, onMounted, Ref, ref, watch} from 'vue';\nimport { useRoute } from \"vue-router\";\nimport dayjs from \"dayjs\";\nimport classicApi from \"../../../api/classicApi\";\nimport { AdserverOtherEmission } from \"@/stores/class/adserver/adserverOtherEmission\";\nimport { AdPosition } from \"@/stores/class/adserver/adPosition\";\nimport { AdserverTiming } from \"@/stores/class/adserver/adserverTiming\";\n\nexport const usePlayerStitching = ()=>{\n\n const { isAdRequested, prepareIMA, onRequestAd,destroyAdManager, contentEndedAdsLoader } = usePlayerVast();\n\n const radioInterval : Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\n\n const route = useRoute()\n const playerStore = usePlayerStore();\n const vastStore = useVastStore();\n const saveFetchStore= useSaveFetchStore();\n\n const radioNextAdvertisingStartDate = computed(() => { \n return playerStore.playerRadio?.nextAdvertising?.startDate;\n });\n\n\n watch(() => playerStore.playerCurrentChange, () => {\n if(playerStore.playerCurrentChange && playerStore.playerCurrentChange > 0 && !checkUsePlayerPodcastStitching()){return;}\n onPlayerChange();\n });\n\n //launch advertising for podcast\n watch(() => playerStore.playerElapsedSeconds, () => {\n if(!checkUsePlayerPodcastStitching()){return;}\n if(!isAdRequested.value && checkAdNeedToBeLaunch()){\n onRequestAd(vastStore.adPositionsPodcasts[playerStore.playerCurrentChange??0][vastStore.adPositionIndex].vastUrl);\n vastStore.updateAdPositionIndex(vastStore.adPositionIndex+1); \n }\n });\n\n // launch advertising for radio\n watch(radioNextAdvertisingStartDate, () => {\n if(!radioNextAdvertisingStartDate.value){\n return;\n }\n defineRadioInterval();\n }, { immediate: true });\n\n\n onMounted(() => {\n vastStore.updateuseVastPlayerPodcast(\"true\"===route.query.vast);\n })\n\n function checkUsePlayerPodcastStitching():boolean{\n return vastStore.useVastPlayerPodcast;\n }\n\n function defineRadioInterval(){\n clearRadioInterval();\n const timeRemaining = dayjs(radioNextAdvertisingStartDate.value).diff(dayjs(), \"millisecond\");\n console.log(\"TimeRemaining \"+timeRemaining);\n if(timeRemaining < 0){\n return;\n }\n radioInterval.value = setTimeout(() => {\n radioIntervalExecute();\n }, timeRemaining);\n }\n\n async function radioIntervalExecute(){\n //If pause when ad needs to be played then skipped (TO THINK)\n if(\"PAUSED\"===playerStore.playerStatus){return;}\n const vastUrl = await getVastUrl(playerStore.playerRadio?.nextAdvertising?.tag ??\"5e385e1b51c86\", playerStore.playerRadio?.nextAdvertising?.adCount ?? 1);\n console.log(\"vastUrl \"+vastUrl);\n onRequestAd(vastUrl);\n }\n\n function clearRadioInterval() {\n clearInterval(radioInterval.value as unknown as number);\n radioInterval.value = undefined;\n }\n\n function checkAdNeedToBeLaunch(){\n if(!playerStore.playerCurrentChange || !vastStore.adPositionsPodcasts[playerStore.playerCurrentChange]?.[vastStore.adPositionIndex]){return false;}\n return vastStore.adPositionsPodcasts[playerStore.playerCurrentChange][vastStore.adPositionIndex]?.seconds <= playerStore.playerElapsedSeconds;\n }\n\n async function onPlayerChange(){\n destroyAdManager();\n if(null==playerStore.playerCurrentChange){return;}\n prepareIMA();\n await fetchPodcastAdConfig();\n }\n\n async function fetchPodcastAdConfig(){\n if(!playerStore.playerCurrentChange || !playerStore.playerPodcast ||(playerStore.playerCurrentChange && vastStore.adPositionsPodcasts[playerStore.playerCurrentChange])){\n return;\n }\n const adserverConfig = await classicApi.fetchData<AdserverOtherEmission>({\n api:0,\n path: `ad/test/podcast/${playerStore.playerCurrentChange}`,\n isNotAuth:true\n });\n if(!adserverConfig || \"SOUNDCAST_VAST\"!==adserverConfig.config?.server){\n vastStore.updateAdPositionsPodcasts(playerStore.playerCurrentChange, []);\n return;\n }\n const podcastDurationSeconds = Math.round((playerStore.playerPodcast?.duration??0) / 1000);\n const allAdPositions =generateAllAdPositions(adserverConfig.config.doublets, podcastDurationSeconds);\n const selectedAdPositions = await selectCorrectAdPositions(allAdPositions, podcastDurationSeconds, adserverConfig.config.minIntervalDuration, adserverConfig.config.minTailDuration);\n vastStore.updateAdPositionsPodcasts(playerStore.playerCurrentChange, selectedAdPositions);\n }\n\n function generateAllAdPositions(doublets: Array<AdserverTiming>, podcastDuration: number): Array<AdPosition>{\n const adPositions: Array<AdPosition> = [];\n if(doublets.some((element: AdserverTiming)=>{return \"TAG_NO_AD\"===element.tag})){\n return [];\n }\n for (const doublet of doublets) {\n if(!doublet.tag){continue;}\n let seconds = 0;\n if(\"post\"===doublet.timing.insertion){\n seconds = podcastDuration;\n }else if(\"mid\"===doublet.timing.insertion){\n const mesure = doublet.timing.mesure ?? 0;\n switch (doublet.timing.unit){\n case \"MILLISECOND\": seconds = mesure * 1000; break;\n case \"MINUTE\": seconds = Math.round(mesure / 60); break;\n case \"PERCENT\": seconds = Math.round((mesure * podcastDuration) / 100); break;\n default: seconds = mesure; break;\n }\n }\n adPositions.push({\n impressId: doublet.tag,\n policy: doublet.timing.insertion,\n seconds: seconds,\n vastUrl: \"\"\n });\n }\n return adPositions.sort((a: AdPosition, b: AdPosition) => {\n if (a.seconds > b.seconds) {\n return 1;\n }\n return b.seconds > a.seconds ? -1 : 0;\n });\n }\n\n async function selectCorrectAdPositions(allAdPositions: Array<AdPosition>, podcastDuration: number, minIntervalDuration:number, minTailDuration:number): Promise<Array<AdPosition>>{\n const adPositions: Array<AdPosition> = [];\n let previousPosition = -1;\n for(const adPosition of allAdPositions){\n switch (adPosition.policy) {\n case \"pre\":\n adPositions.push(await defineVastUrl(adPosition));\n previousPosition = 0;\n break;\n case \"mid\":\n if (adPosition.seconds > podcastDuration - minTailDuration) {\n //Too close to end\n continue;\n }\n if (previousPosition >= 0 && adPosition.seconds < previousPosition + minIntervalDuration) {\n //Too close to previous ad\n continue;\n }\n adPositions.push(await defineVastUrl(adPosition));\n previousPosition = adPosition.seconds;\n break;\n case \"post\":\n if (previousPosition >= 0 && previousPosition > podcastDuration - minIntervalDuration) {\n //Too close to previous ad\n continue;\n }\n adPositions.push(await defineVastUrl(adPosition));\n break;\n default:break;\n }\n }\n return adPositions;\n }\n\n async function defineVastUrl(adPosition: AdPosition): Promise<AdPosition>{\n adPosition.vastUrl = await getVastUrl(adPosition.impressId, 1);\n return adPosition;\n }\n\n async function getVastUrl(tag: string, adCount: number): Promise<string>{\n const baseUrl = \"https://api.soundcast.io/v1/vast/\"+tag;\n let keywords: Array<string> = [];\n if(playerStore.playerPodcast?.tags?.length){\n const attributes = await saveFetchStore.getOrgaAttributes(playerStore.playerPodcast.organisation.id);\n if (\"true\"===attributes[\"AD_CONFIG_PODCAST_TAG\"]) {\n keywords = playerStore.playerPodcast.tags.map((e) => {\n return \"tag:\" + e;\n });\n }\n }\n const parameters = fetchHelper.getUriSearchParams({\n adCount: adCount ?? 1,\n pageUrl:document.referrer,\n keywords:keywords\n });\n return baseUrl + '?' + parameters.toString();\n }\n\n\treturn {\n contentEndedAdsLoader\n\t}\n}\n","import { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useVastStore } from \"../../../stores/VastStore\";\nimport classicApi from \"../../../api/classicApi\";\nimport { AdserverOtherEmission } from \"@/stores/class/adserver/adserverOtherEmission\";\nimport { useTranslation } from \"../useTranslation\";\nimport { transcriptionApi } from \"../../../api/transcriptionApi\";\nimport { ref } from \"vue\";\n\n/** Contains the language of the transcript being generated */\nconst generatingTranscriptLanguage = ref<string|null>(null);\n\nexport const usePlayerTranscript = ()=>{\n\n const playerStore = usePlayerStore();\n const vastStore = useVastStore();\n const { getMostRelevantLanguage } = useTranslation();\n\n async function checkDelaytWithStitching(){\n playerStore.playerUpdateDelayStitching(0);\n if(vastStore.useVastPlayerPodcast){\n return;\n }\n\n const audioPlayer = document.querySelector(\"#audio-player\") as HTMLAudioElement;\n if (!playerStore.playerTranscript || !audioPlayer || !playerStore.playerPodcast ||\n audioPlayer.duration <= playerStore.playerPodcast.duration / 1000 + 5) {\n return;\n }\n\n const adserverConfig = await classicApi.fetchData<AdserverOtherEmission>({\n api:0,\n path:`ad/test/podcast/${playerStore.playerPodcast.podcastId}`,\n isNotAuth:true\n });\n\n // In case of midroll ads, we can't properly display transcription, so\n // we disable it.\n const hasOtherThanPreOrPost = adserverConfig.config.doublets\n .filter(doublet => !([\"pre\", \"post\"].includes(doublet.timing.insertion)))\n .length > 0;\n if (hasOtherThanPreOrPost) {\n console.warn(\"This episode's ad settings doesn't allow for transcription\");\n playerStore.playerUpdateChaptering();\n playerStore.playerUpdateTranscript();\n return;\n }\n\n // In case of preroll ads, delay start of transcription\n const hasPre = adserverConfig.config.doublets\n .filter(doublet => doublet.timing.insertion === \"pre\")\n .length > 0;\n if(hasPre) {\n // Since we have the expected time (from playerStore) and effective time\n // (from audioPlayer, which include ads), we just delay by the delta\n playerStore.playerUpdateDelayStitching( audioPlayer.duration - (playerStore.playerPodcast.duration / 1000));\n }\n }\n\n async function getTranscription(): Promise<void> {\n generatingTranscriptLanguage.value = null;\n if (!playerStore.playerPodcast) {\n playerStore.playerUpdateTranscript();\n return;\n }\n\n // Retrieve best language for transcription\n const podcastId = playerStore.playerPodcast.podcastId;\n const translationData = await transcriptionApi.getTranslations(podcastId);\n const { ready, available } = await getMostRelevantLanguage(translationData);\n\n // Retrieve transcription\n const result = await transcriptionApi.getTranslation(podcastId, ready);\n\n const arrayTranscript = parseSrt(result);\n const actualText =\n arrayTranscript?.[0]?.startTime === 0 ? arrayTranscript[0].text : \"\";\n if(!arrayTranscript){\n return;\n }\n playerStore.playerUpdateTranscript({\n actual: 0,\n actualText: actualText,\n value: arrayTranscript\n });\n\n if (available !== undefined && ready !== available) {\n generatingTranscriptLanguage.value = available;\n\n // If there's a better language available, trigger its generation\n const result = await transcriptionApi.getTranslation(podcastId, available, true);\n\n const arrayTranscript = parseSrt(result);\n const actualText =\n arrayTranscript?.[0]?.startTime === 0 ? arrayTranscript[0].text : \"\";\n if(!arrayTranscript){\n return;\n }\n playerStore.playerUpdateTranscript({\n actual: playerStore.playerTranscript?.actual,\n actualText: actualText,\n value: arrayTranscript\n });\n generatingTranscriptLanguage.value = null;\n }\n }\n\n function parseSrt(transcript: string) {\n const result = [];\n if (typeof transcript != \"string\") {\n return;\n }\n if (transcript == null) {\n return;\n }\n const pattern =\n /(\\d+)\\n([\\d:,]+)\\s+-{2}>\\s+([\\d:,]+)\\n([\\s\\S]*?(?=\\n{2}|$))/gm;\n transcript = transcript.replace(/\\r\\n|\\r|\\n|\\t/g, \"\\n\");\n let matches;\n while ((matches = pattern.exec(transcript)) != null) {\n result.push({\n startTime: srtTimeToSeconds(matches[2]),\n endTime: srtTimeToSeconds(matches[3]),\n text: matches[4],\n });\n }\n return result;\n }\n\n function srtTimeToSeconds(time: string): number {\n const a = time.split(\":\");\n return +a[0] * 60 * 60 + +a[1] * 60 + +parseFloat(a[2]);\n }\n\n function onTimeUpdateTranscript(currentTime: number) {\n if(!playerStore.playerTranscript?.value.length){\n return;\n }\n const startTime = (playerStore.playerTranscript.value[playerStore.playerTranscript.actual]?.startTime ?? 0) + playerStore.playerDelayStitching;\n if (startTime <= currentTime) {\n playerStore.playerTranscript.actualText = playerStore.playerTranscript.value[playerStore.playerTranscript?.actual]?.text ??\"\";\n }\n if (\n (playerStore.playerTranscript.value[playerStore.playerTranscript.actual]?.endTime ??Infinity) + playerStore.playerDelayStitching< currentTime\n ) {\n playerStore.playerTranscript.actual += 1;\n playerStore.playerTranscript.actualText =\n playerStore.playerTranscript?.value[playerStore.playerTranscript.actual]?.text ??\n \"\";\n }\n }\n \n function onSeekedTranscript(currentTime: number) {\n if (playerStore.playerTranscript) {\n let newActual = 0;\n while (currentTime >(playerStore.playerTranscript.value[newActual]?.endTime ?? Infinity) + playerStore.playerDelayStitching) {\n newActual += 1;\n }\n playerStore.playerTranscript.actual = newActual;\n }\n }\n\n return {\n checkDelaytWithStitching,\n getTranscription,\n onTimeUpdateTranscript,\n onSeekedTranscript,\n generatingTranscriptLanguage\n }\n}\n","export enum OrganisationPrivacy {\n SECURED = 'SECURED',\n PRIVATE = 'PRIVATE',\n PUBLIC = 'PUBLIC'\n}\n\nexport interface PrivateOrganisation {\n privacy: OrganisationPrivacy;\n accountCreation: string; // ENABLED DISABLED\n referrers: Array<string>;\n cidrs: Array<string>;\n mailDomains: Array<string>;\n}\n\nexport function emptyPrivateOrganisation(): PrivateOrganisation {\n return {\n privacy: OrganisationPrivacy.PUBLIC,\n accountCreation: \"DISABLED\",\n referrers: [],\n cidrs: [],\n mailDomains: [],\n };\n}\n","\nimport { usePlayerLive } from \"./usePlayerLive\";\nimport { usePlayerStitching } from \"./usePlayerStitching\";\nimport { usePlayerTranscript } from \"./usePlayerTranscript\";\nimport { nextTick, Ref, ref, watch } from \"vue\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useVastStore } from \"../../../stores/VastStore\";\nimport { state as sdkParams } from \"../../../stores/ParamSdkStore\";\nimport fetchHelper from \"../../../helper/fetchHelper\";\nimport dayjs from \"dayjs\";\nimport { FetchParam } from \"@/stores/class/general/fetchParam\";\nimport { podcastApi } from \"../../../api/podcastApi\";\nimport { Organisation } from \"../../../stores/class/general/organisation\";\nimport { organisationApi } from \"../../../api/organisationApi\";\nimport { OrganisationPrivacy } from \"../../../stores/class/securisation/privateOrganisation\";\n\nexport const usePlayerLogic = (forceHide: Ref<boolean, boolean>) => {\n const hlsReady = ref(false);\n\n const { listenTime, onPlay, setDownloadId, onTimeUpdateProgress, playLive, endingLive, playRadio} = usePlayerLive(hlsReady);\n const { contentEndedAdsLoader } = usePlayerStitching();\n const { getTranscription, onTimeUpdateTranscript, onSeekedTranscript, checkDelaytWithStitching } = usePlayerTranscript();\n\n const playerError= ref(false);\n const listenError= ref(false);\n const percentLiveProgress= ref(0);\n const durationLivePosition= ref(0);\n const displayAlertBar= ref(false);\n const audioUrlToPlay= ref(\"\");\n\n\n const playerStore = usePlayerStore();\n const generalStore = useGeneralStore();\n const vastStore = useVastStore();\n const authStore = useAuthStore();\n\n watch(()=>getAudioUrl(), async () => {\n playerError.value = false;\n\n // In some cases, the audio does not go through normal download endpoint\n // Mostly when the podcast is not available to users\n let download = true;\n if (\n playerStore.playerMedia ||\n !playerStore.playerPodcast ||\n playerStore.playerVideo ||\n !playerStore.playerPodcast.availability.visibility ||\n listenError.value\n ) {\n download = false;\n\n // Not yet available podcasts in secured organisations go through\n // download if possible (see #14228)\n const podcast = playerStore.playerPodcast;\n if (podcast && !podcast.availability.visibility) {\n let organisation: Organisation|null = null;\n if (podcast.organisation) {\n organisation = podcast.organisation;\n } else if ('organisationId' in podcast) {\n // Handle case of missing organisation (for example for SimplifiedPodcast)\n organisation = await organisationApi.get(podcast.organisationId as string);\n }\n if (organisation.privacy === OrganisationPrivacy.SECURED) {\n download = true;\n }\n }\n }\n\n if (download) {\n const response = await podcastApi.downloadRegister(playerStore.playerPodcast.podcastId, getAudioUrlParameters());\n setDownloadId(response.downloadId.toString());\n audioUrlToPlay.value = response.location;\n } else {\n audioUrlToPlay.value = getAudioUrl();\n }\n });\n\n watch(()=>playerStore.playerPodcast, async () => {\n reInitPlayer();\n getTranscription();\n }, {deep:true});\n\n watch(()=>playerStore.playerLive, async (_, oldLive) => {\n if(playerStore.playerVideo){\n return;\n }\n nextTick(async () => {\n hlsReady.value = false;\n reInitPlayer(oldLive!==undefined);\n playLive();\n });\n }, {deep:true});\n\n watch(()=>playerStore.playerRadio, async (_, oldRadio) => {\n nextTick(async () => {\n hlsReady.value = false;\n reInitPlayer(oldRadio !== undefined);\n playRadio();\n });\n });\n\n watch(()=>playerStore.playerStatus, async () => {\n const audioPlayer: HTMLAudioElement | null =\n document.querySelector(\"#audio-player\");\n if (!audioPlayer) return;\n if (playerStore.playerLive && !hlsReady.value) {\n /* audioPlayer.pause();\n percentLiveProgress.value = 0;\n durationLivePosition.value = 0; */\n return;\n }\n if (\"PAUSED\" === playerStore.playerStatus && playerStore.playerRadio) {\n playerStore.playerRadio.dateSessionId = dayjs().toISOString();\n hlsReady.value = false;\n reInitPlayer();\n endingLive();\n } else if (\"PAUSED\" === playerStore.playerStatus) {\n audioPlayer.pause();\n } else if (\"PLAYING\" === playerStore.playerStatus && playerStore.playerRadio) {\n handlePlayRadio();\n } else if (\"PLAYING\" === playerStore.playerStatus) {\n audioPlayer.play();\n }\n });\n\n function handlePlayRadio(){\n if(!playerStore.playerRadio){\n return;\n }\n if (playerStore.playerRadio.isInit) {\n if(vastStore.isAdPlaying && !vastStore.resetSessionId){\n playerStore.playerRadio.dateSessionId = dayjs().toISOString();\n }\n playRadio();\n } else {\n playerStore.playerRadio.isInit = true;\n }\n }\n\n function getAudioUrlParameters(addToken?: boolean): FetchParam {\n if (!playerStore.playerPodcast) {\n return {};\n }\n \n const parameters: FetchParam = {\n origin: \"octopus\",\n accepted: vastStore.useVastPlayerPodcast\n };\n if (authStore.authOrgaId) {\n parameters.distributorId = authStore.authOrgaId;\n }\n if (generalStore.consentTcf) {\n parameters.consent = generalStore.consentTcf;\n }\n if (\n addToken &&\n \"SECURED\" === playerStore.playerPodcast.organisation.privacy &&\n authStore.authParam.accessToken\n ) {\n parameters.access_token = authStore.authParam.accessToken;\n }\n return parameters;\n }\n\n function getAudioUrl(): string {\n if (playerStore.playerMedia){\n return playerStore.playerMedia.audioUrl ?? \"\";\n }\n if (!playerStore.playerPodcast || playerStore.playerVideo) {\n return \"\";\n }\n if (\n !playerStore.playerPodcast.availability.visibility ||\n \"PROCESSING\" === playerStore.playerPodcast.processingStatus\n ) {\n return playerStore.playerPodcast.audioStorageUrl;\n }\n if (listenError.value) {\n return playerStore.playerPodcast.audioStorageUrl;\n }\n return playerStore.playerPodcast.podcastId + \".mp3?\"+fetchHelper.getUriSearchParams(getAudioUrlParameters(), true);\n }\n\n function reInitPlayer(force=false): void {\n setDownloadId(null);\n listenError.value = false;\n if (force || playerStore.playerLive || playerStore.playerRadio) {\n endingLive();\n }\n }\n\n function stopPlayer(): void {\n playerStore.playerPlay();\n }\n\n function onError(): void {\n if (\n playerStore.playerPodcast &&\n \"\" !== audioUrlToPlay.value &&\n !listenError.value\n ) {\n listenError.value = true;\n } else if (\n (playerStore.playerPodcast && \"\" !== audioUrlToPlay.value) ||\n playerStore.playerMedia\n ) {\n playerError.value = true;\n }\n }\n\n function streamDurationForSafari(mediaTarget: HTMLMediaElement) {\n let streamDuration = mediaTarget.duration;\n if (Infinity === streamDuration) {\n const seekable = mediaTarget.seekable;\n if (seekable && seekable.length > 0) {\n try {\n streamDuration = seekable.end(seekable.length - 1);\n } catch (e) {\n console.error(e);\n }\n } else {\n streamDuration = mediaTarget.currentTime;\n }\n }\n return streamDuration;\n }\n\n function onTimeUpdatePodcast(streamDuration: number, currentTime: number) {\n displayAlertBar.value = false;\n percentLiveProgress.value = 0;\n playerStore.playerUpdateElapsed(currentTime / streamDuration, streamDuration);\n onTimeUpdateTranscript(currentTime);\n }\n\n function onTimeUpdateLive(streamDuration: number, currentTime: number) {\n if (!playerStore.playerLive) {\n return;\n }\n const scheduledDuration = playerStore.playerLive.duration / 1000;\n if (scheduledDuration > streamDuration) {\n displayAlertBar.value = false;\n percentLiveProgress.value = (streamDuration / scheduledDuration) * 100;\n playerStore.playerUpdateElapsed(\n currentTime / scheduledDuration,\n scheduledDuration,\n );\n } else {\n percentLiveProgress.value = 100;\n displayAlertBar.value = true;\n durationLivePosition.value = (scheduledDuration / streamDuration) * 100;\n playerStore.playerUpdateElapsed(currentTime / streamDuration, streamDuration);\n }\n }\n\n function onTimeUpdate(event: Event): void {\n if (playerStore.playerRadio) {\n return;\n }\n const mediaTarget = event.currentTarget as HTMLMediaElement;\n if (playerStore.playerPodcast || playerStore.playerLive) {\n onTimeUpdateProgress(mediaTarget.currentTime);\n }\n const streamDuration = streamDurationForSafari(mediaTarget);\n if (!streamDuration) return;\n if (!mediaTarget.currentTime) return;\n if (!playerStore.playerLive) {\n onTimeUpdatePodcast(streamDuration, mediaTarget.currentTime);\n return;\n }\n onTimeUpdateLive(streamDuration, mediaTarget.currentTime);\n }\n\n function onSeeked(event: Event): void {\n const mediaTarget = event.currentTarget as HTMLMediaElement;\n const currentTime = mediaTarget.currentTime;\n onSeekedTranscript(currentTime);\n }\n\n function onFinished(): void {\n setDownloadId(null);\n contentEndedAdsLoader();\n if (playerStore.playerLive) {\n endingLive();\n }\n\n if (sdkParams.player.stayOpenOnFinish !== true) {\n forceHide.value = true;\n }\n }\n\n\n return {\n audioUrlToPlay,\n listenTime,\n playerError,\n percentLiveProgress,\n durationLivePosition,\n displayAlertBar,\n hlsReady,\n checkDelaytWithStitching,\n stopPlayer,\n onError,\n onTimeUpdate,\n onSeeked,\n onFinished,\n onPlay\n }\n}\n","<template>\n <section\n id=\"octopus-player-component\"\n class=\"player-container\"\n :class=\"{ \n 'player-video': playerStore.playerVideo,\n 'overflow-hidden': !display\n }\"\n :style=\"{ height: playerStore.playerHeight }\"\n @transitionend=\"onHidden\"\n >\n <audio\n id=\"audio-player\"\n :src=\"!playerStore.playerLive && !playerStore.playerRadio ? audioUrlToPlay : undefined\"\n autoplay\n @timeupdate=\"onTimeUpdate\"\n @ended=\"onFinished\"\n @playing=\"onPlay\"\n @durationChange=\"onTimeUpdate\"\n @error=\"onError\"\n @seeked=\"onSeeked\"\n @pause=\"onPause\"\n @loadedmetadata=\"checkDelaytWithStitching\"\n />\n <div id=\"ad-container\" />\n\n <template v-if=\"displayWithTimeout\">\n\n <slot name=\"above\" />\n \n <PlayerVideo v-if=\"playerStore.playerVideo && isNotVideoPage\" />\n <template v-else-if=\"!playerStore.playerVideo\">\n <PlayerCompact\n v-if=\"!playerStore.playerLargeVersion\"\n :player-error=\"playerError\"\n :display-alert-bar=\"displayAlertBar\"\n :percent-live-progress=\"percentLiveProgress\"\n :duration-live-position=\"durationLivePosition\"\n :listen-time=\"listenTime\"\n :hls-ready=\"hlsReady\"\n @stop-player=\"stopPlayer\"\n @change-player-large-version=\"playerStore.playerUpdateLargeVersion(true)\"\n />\n <PlayerLarge\n v-else\n :player-error=\"playerError\"\n :display-alert-bar=\"displayAlertBar\"\n :percent-live-progress=\"percentLiveProgress\"\n :duration-live-position=\"durationLivePosition\"\n :listen-time=\"listenTime\"\n :hls-ready=\"hlsReady\"\n @stop-player=\"stopPlayer\"\n @change-player-large-version=\"playerStore.playerUpdateLargeVersion(false)\"\n />\n </template>\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport {usePlayerLogic} from \"../../composable/player/usePlayerLogic\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { defineAsyncComponent, ref, computed, watch } from \"vue\";\nimport { useRoute } from \"vue-router\";\nconst PlayerVideo = defineAsyncComponent(\n () => import(\"./video/PlayerVideo.vue\"),\n);\nconst PlayerCompact = defineAsyncComponent(\n () => import(\"../player/PlayerCompact.vue\"),\n);\nconst PlayerLarge = defineAsyncComponent(\n () => import(\"../player/PlayerLarge.vue\"),\n);\n\n//Emits\nconst emit = defineEmits(['hide']);\n\n//Data\nconst displayWithTimeout= ref(false);\nconst forceHide= ref(false);\n\n//Composable\nconst {\n audioUrlToPlay,\n listenTime,\n playerError,\n percentLiveProgress, \n durationLivePosition,\n displayAlertBar,\n hlsReady, \n checkDelaytWithStitching, \n stopPlayer, \n onError, \n onTimeUpdate, \n onSeeked, \n onFinished, \n onPlay\n} = usePlayerLogic(forceHide);\nconst playerStore = usePlayerStore();\nconst route = useRoute();\n\n// Computed\nconst display = computed(() => { return \"STOPPED\" !== playerStore.playerStatus;});\nconst isNotVideoPage = computed(() => { return \"video\" !== route.name});\n\n// Watch\nwatch(()=>playerStore.playerHeight, async () => {\n emit(\"hide\", 0 === playerStore.playerHeight);\n});\nwatch(display, async () => {\n if (display.value) {\n displayWithTimeout.value = display.value;\n } else {\n setTimeout(() => {\n displayWithTimeout.value = display.value;\n }, 3000);\n }\n});\n\n//Methods\nfunction onHidden(): void {\n if (forceHide.value) {\n playerStore.playerPlay();\n forceHide.value = false;\n }\n}\nfunction onPause() {\n if (\"PLAYING\" === playerStore.playerStatus) {\n playerStore.playerChangeStatus(true);\n }\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .player-container {\n max-height: 94%;\n position: sticky;\n overflow: visible;\n z-index: 12;\n width: 100%;\n bottom: 0;\n display: flex;\n flex-direction: column;\n transition: height 1s;\n background: var(--octopus-player-color) !important;\n font-size: 1rem;\n\n .medium-text {\n font-size: 0.65rem;\n }\n\n .small-text {\n font-size: 0.5rem;\n }\n\n @media (width <= 960px) {\n .d-flex {\n flex-wrap: nowrap !important;\n }\n }\n }\n\n #ad-container {\n display: none;\n }\n}\n</style>\n","<template>\n <section\n id=\"octopus-player-component\"\n class=\"player-container\"\n :class=\"{ \n 'player-video': playerStore.playerVideo,\n 'overflow-hidden': !display\n }\"\n :style=\"{ height: playerStore.playerHeight }\"\n @transitionend=\"onHidden\"\n >\n <audio\n id=\"audio-player\"\n :src=\"!playerStore.playerLive && !playerStore.playerRadio ? audioUrlToPlay : undefined\"\n autoplay\n @timeupdate=\"onTimeUpdate\"\n @ended=\"onFinished\"\n @playing=\"onPlay\"\n @durationChange=\"onTimeUpdate\"\n @error=\"onError\"\n @seeked=\"onSeeked\"\n @pause=\"onPause\"\n @loadedmetadata=\"checkDelaytWithStitching\"\n />\n <div id=\"ad-container\" />\n\n <template v-if=\"displayWithTimeout\">\n\n <slot name=\"above\" />\n \n <PlayerVideo v-if=\"playerStore.playerVideo && isNotVideoPage\" />\n <template v-else-if=\"!playerStore.playerVideo\">\n <PlayerCompact\n v-if=\"!playerStore.playerLargeVersion\"\n :player-error=\"playerError\"\n :display-alert-bar=\"displayAlertBar\"\n :percent-live-progress=\"percentLiveProgress\"\n :duration-live-position=\"durationLivePosition\"\n :listen-time=\"listenTime\"\n :hls-ready=\"hlsReady\"\n @stop-player=\"stopPlayer\"\n @change-player-large-version=\"playerStore.playerUpdateLargeVersion(true)\"\n />\n <PlayerLarge\n v-else\n :player-error=\"playerError\"\n :display-alert-bar=\"displayAlertBar\"\n :percent-live-progress=\"percentLiveProgress\"\n :duration-live-position=\"durationLivePosition\"\n :listen-time=\"listenTime\"\n :hls-ready=\"hlsReady\"\n @stop-player=\"stopPlayer\"\n @change-player-large-version=\"playerStore.playerUpdateLargeVersion(false)\"\n />\n </template>\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport {usePlayerLogic} from \"../../composable/player/usePlayerLogic\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { defineAsyncComponent, ref, computed, watch } from \"vue\";\nimport { useRoute } from \"vue-router\";\nconst PlayerVideo = defineAsyncComponent(\n () => import(\"./video/PlayerVideo.vue\"),\n);\nconst PlayerCompact = defineAsyncComponent(\n () => import(\"../player/PlayerCompact.vue\"),\n);\nconst PlayerLarge = defineAsyncComponent(\n () => import(\"../player/PlayerLarge.vue\"),\n);\n\n//Emits\nconst emit = defineEmits(['hide']);\n\n//Data\nconst displayWithTimeout= ref(false);\nconst forceHide= ref(false);\n\n//Composable\nconst {\n audioUrlToPlay,\n listenTime,\n playerError,\n percentLiveProgress, \n durationLivePosition,\n displayAlertBar,\n hlsReady, \n checkDelaytWithStitching, \n stopPlayer, \n onError, \n onTimeUpdate, \n onSeeked, \n onFinished, \n onPlay\n} = usePlayerLogic(forceHide);\nconst playerStore = usePlayerStore();\nconst route = useRoute();\n\n// Computed\nconst display = computed(() => { return \"STOPPED\" !== playerStore.playerStatus;});\nconst isNotVideoPage = computed(() => { return \"video\" !== route.name});\n\n// Watch\nwatch(()=>playerStore.playerHeight, async () => {\n emit(\"hide\", 0 === playerStore.playerHeight);\n});\nwatch(display, async () => {\n if (display.value) {\n displayWithTimeout.value = display.value;\n } else {\n setTimeout(() => {\n displayWithTimeout.value = display.value;\n }, 3000);\n }\n});\n\n//Methods\nfunction onHidden(): void {\n if (forceHide.value) {\n playerStore.playerPlay();\n forceHide.value = false;\n }\n}\nfunction onPause() {\n if (\"PLAYING\" === playerStore.playerStatus) {\n playerStore.playerChangeStatus(true);\n }\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .player-container {\n max-height: 94%;\n position: sticky;\n overflow: visible;\n z-index: 12;\n width: 100%;\n bottom: 0;\n display: flex;\n flex-direction: column;\n transition: height 1s;\n background: var(--octopus-player-color) !important;\n font-size: 1rem;\n\n .medium-text {\n font-size: 0.65rem;\n }\n\n .small-text {\n font-size: 0.5rem;\n }\n\n @media (width <= 960px) {\n .d-flex {\n flex-wrap: nowrap !important;\n }\n }\n }\n\n #ad-container {\n display: none;\n }\n}\n</style>\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlayerComponent-DVnvB6Ky.mjs","names":[],"sources":["../src/components/composable/player/usePlayerLive.ts","../src/helper/loadScript.ts","../src/components/composable/player/usePlayerVast.ts","../src/components/composable/player/usePlayerStitching.ts","../src/components/composable/player/usePlayerTranscript.ts","../src/stores/class/securisation/privateOrganisation.ts","../src/components/composable/player/usePlayerLogic.ts","../src/components/misc/player/PlayerComponent.vue","../src/components/misc/player/PlayerComponent.vue"],"sourcesContent":["import stringHelper from \"../../../helper/stringHelper\";\nimport { usePlayerLogicProgress } from \"./usePlayerLogicProgress\";\nimport { computed, Ref, ref } from \"vue\";\nimport { usePlayerStore, PlayerStatus } from \"../../../stores/PlayerStore\";\nimport { useApiStore } from \"../../../stores/ApiStore\";\nimport dayjs from \"dayjs\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\n/* eslint-disable*/\nlet Hls:any = null;\n/* eslint-enable*/\nconst maxMinutesSessionId = 1;\nexport const usePlayerLive = (hlsReady: Ref<boolean>)=>{\n\n const { listenTime, initLiveDownloadId, setDownloadId, onTimeUpdateProgress } = usePlayerLogicProgress();\n\n const audioElement: Ref<HTMLAudioElement | null>= ref(null);\n const hls: Ref<any>= ref(null);\n const hlsRetryTimeout: Ref<ReturnType<typeof setTimeout> | undefined>= ref(undefined);\n const playPromise: Ref<Promise<void>|undefined>= ref(undefined);\n const errorHls= ref(false);\n\n\n const playerStore = usePlayerStore();\n const apiStore = useApiStore();\n const authStore = useAuthStore();\n\n function needToAddToken(url: string): boolean { \n if (authStore.authParam.accessToken && (\"SECURED\" === playerStore.playerLive?.organisation?.privacy || playerStore.playerRadio?.secured)) {\n const baseDomain = apiStore.frontendUrl.replace(/^https?:\\/\\//, '');\n // Add token only if request is on same domain\n return url.includes(baseDomain);\n }\n return false;\n }\n\n function onPlay(): void {\n playerStore.playerChangeStatus(PlayerStatus.PAUSED === playerStore.playerStatus);\n }\n\n function playRadio() {\n if (!playerStore.playerRadio) {\n return;\n }\n handleSessionIdRadio();\n playerStore.playerUpdatePlayerHlsUrl(playerStore.playerRadio.url+\"?origin=octopus&sessionId=\"+playerStore.playerRadio.sessionId);\n playHls();\n }\n\n function handleSessionIdRadio(){\n if(!playerStore.playerRadio) {\n return;\n }\n if(playerStore.playerRadio.sessionId && dayjs().diff(dayjs(playerStore.playerRadio.dateSessionId), 'm')<maxMinutesSessionId){\n return;\n }\n playerStore.playerRadio.sessionId = stringHelper.uuidv4();\n }\n\n function playLive() {\n if (!playerStore.playerHlsIdentifier) {\n return;\n }\n playerStore.playerUpdatePlayerHlsUrl(`${apiStore.hlsUrl}live/${playerStore.playerHlsIdentifier}/index.m3u8`);\n playHls();\n }\n\n async function playHls(): Promise<void> {\n try {\n if(null===audioElement.value){\n audioElement.value = document.getElementById(\"audio-player\") as HTMLAudioElement;\n }\n if (null === audioElement.value || !playerStore.playerHlsUrl) {\n setTimeout(playHls, 1000);\n return;\n }\n const ua = navigator.userAgent.toLowerCase();\n const isAndroid = ua.indexOf(\"android\") > -1; //&& ua.indexOf(\"mobile\");\n const isChrome = ua.indexOf(\"chrome\") > -1;\n if (\n audioElement.value.canPlayType(\"application/vnd.apple.mpegurl\") &&\n !isChrome &&\n !isAndroid\n ) {\n let url = playerStore.playerHlsUrl;\n if(needToAddToken(url)) {\n if (url.includes('?')) {\n url += \"&access_token=\"+authStore.authParam.accessToken;\n } else {\n url += \"?access_token=\"+authStore.authParam.accessToken;\n }\n }\n audioElement.value.src = url;\n await initLiveDownloadId();\n hlsReady.value = true;\n await audioElement.value.play();\n onPlay();\n } else {\n await initHls();\n }\n } catch(e) {\n console.error(e);\n onHlsError();\n }\n }\n\n function onHlsError(){\n if(\"STOPPED\"!==playerStore.playerStatus && undefined===hlsRetryTimeout.value){\n hlsRetryTimeout.value = setTimeout(() => {\n errorHls.value = false;\n playHls();\n hlsRetryTimeout.value = undefined;\n }, 5000);\n }\n }\n\n async function initHls() {\n if (null === Hls) {\n await import(\"hls.js\").then((hlsLibrary) => {\n Hls = hlsLibrary.default;\n });\n }\n if (!Hls.isSupported()) {\n throw new Error(\"Hls is not supported ! \");\n }\n hls.value = new Hls({\n autoStartLoad: true,\n liveDurationInfinity:true,\n backBufferLength:10,\n maxBufferLength:60,\n\n xhrSetup: (xhr: XMLHttpRequest, url: string) => {\n if (needToAddToken(url)) {\n xhr.setRequestHeader(\"Authorization\", \"Bearer \" +authStore.authParam.accessToken);\n }\n }\n });\n hls.value.on(Hls.Events.MANIFEST_PARSED, async () => {\n await initLiveDownloadId();\n hlsReady.value = true;\n if(true===errorHls.value){\n return;\n }\n setTimeout(() => {\n playPromise.value = (audioElement.value as HTMLAudioElement).play();\n playPromise.value.then(() =>{\n playPromise.value = undefined;\n onPlay();\n }).catch((e)=>{\n console.error(e);\n onHlsError();\n playPromise.value = undefined;\n });\n }, 500);\n });\n hls.value.on(Hls.Events.ERROR, async (name: string, data:any) => {\n // Stalling, we don't have enough data\n if (data.details === 'bufferStalledError') {\n // Some logs to be able to follow what's happening\n console.warn('playback is stalling…');\n playerStore.playerStatus = PlayerStatus.LOADING;\n // Destroy current instance\n hls.value.destroy();\n // Wait a bit before restarting playback\n setTimeout(initHls, 500);\n return;\n }\n console.error('An error occured: ' + name + ' / ' + data.details);\n console.error(data);\n if (data.fatal && data.type === Hls.ErrorTypes.MEDIA_ERROR) {\n console.warn('Trying to recover...');\n hls.value.recoverMediaError();\n }\n errorHls.value = true;\n if(undefined===playPromise.value && data.fatal){\n onHlsError();\n }\n });\n hls.value.loadSource(playerStore.playerHlsUrl);\n hls.value.attachMedia(audioElement.value as HTMLAudioElement);\n }\n\n async function endingLive(): Promise<void> {\n clearTimeout(hlsRetryTimeout.value);\n hlsRetryTimeout.value = undefined;\n if(null===audioElement.value){\n return;\n }\n audioElement.value = null;\n const audio: HTMLElement | null = document.getElementById(\"audio-player\");\n if (audio && hls.value) {\n hls.value.destroy();\n hls.value = null;\n }else{\n (audio as HTMLAudioElement).pause();\n }\n (audio as HTMLAudioElement).src = \"\";\n }\n\n\treturn {\n listenTime,\n setDownloadId,\n onTimeUpdateProgress,\n playLive,\n endingLive,\n playRadio,\n onPlay\n\t}\n}\n","function loadScript(src: string, async:boolean, callback: (isLoaded:boolean) => void) {\n const firstElement = document.getElementsByTagName('head')[0] || document.documentElement,\n scriptElement = document.createElement('script');\n scriptElement.type = 'text/javascript';\n scriptElement.src = src;\n scriptElement.async = async;\n scriptElement.addEventListener('load', function() {\n if(callback && typeof callback === 'function') {\n callback(true);\n }\n }, false);\n scriptElement.addEventListener('error', function() {\n firstElement.removeChild(scriptElement);\n if(callback && typeof callback === 'function') {\n callback(false);\n }\n }, false);\n firstElement.insertBefore(scriptElement, firstElement.firstChild);\n}\nexport {\n loadScript\n}\n","import { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useVastStore } from \"../../../stores/VastStore\";\nimport { loadScript } from \"../../../helper/loadScript\";\nimport {nextTick, Ref, ref, watch} from 'vue';\nimport dayjs from \"dayjs\";\nlet adsLoader: google.ima.AdsLoader;\nlet adsManager:google.ima.AdsManager;\nlet adDisplayContainer:google.ima.AdDisplayContainer;\nlet adsRequest: google.ima.AdsRequest;\nexport const usePlayerVast = ()=>{\n const imaLoaded = ref(false);\n const isContentFinished = ref(false);\n const audioContainer : Ref<HTMLAudioElement|null>= ref(null);\n const isAdRequested = ref(false);\n const statusPlayerWhenLoaded = ref(\"\");\n const dateForSessionId: Ref<string|undefined> = ref(undefined);\n\n const playerStore = usePlayerStore();\n const vastStore = useVastStore();\n\n watch(() => vastStore.isAdPaused, () => {onAdChangePlayingStatus();});\n watch(() => vastStore.isAdSkipped, () => {onAdSkipped();});\n\n function prepareIMA(){\n if(!imaLoaded.value){\n imaLoaded.value = true;\n loadIMA();\n }else{\n initializeIMA();\n }\n }\n\n function loadIMA(){\n loadScript('//imasdk.googleapis.com/js/sdkloader/ima3.js', true, (isIMALoaded:boolean) => {\n if(isIMALoaded) {\n initializeIMA();\n }\n });\n }\n\n function initializeIMA(): void {\n console.log(\"Initialize IMA\");\n initializeDisplayContainer();\n if(!adDisplayContainer || !adsLoader){\n return;\n }\n }\n\n function onRequestAd(vastUrl: string){\n isAdRequested.value = true;\n console.log(\"Request ad \"+vastUrl);\n initializeAdsRequest(vastUrl);\n adsLoader.requestAds(adsRequest);\n }\n\n function initializeDisplayContainer():void{\n if(adDisplayContainer){return};\n audioContainer.value = (document.getElementById('audio-player') as HTMLAudioElement); \n if(null===audioContainer.value){return;}\n adDisplayContainer = new google.ima.AdDisplayContainer(document.getElementById('ad-container'), audioContainer.value);\n adDisplayContainer.initialize();\n initializeAdsLoader();\n }\n\n function initializeAdsLoader():void{\n adsLoader = new google.ima.AdsLoader(adDisplayContainer);\n adsManager = null;\n adsLoader.addEventListener(\n google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,\n onAdsManagerLoaded,\n false\n );\n adsLoader.addEventListener(\n google.ima.AdErrorEvent.Type.AD_ERROR,\n onAdError,\n false\n );\n }\n\n function initializeAdsRequest(vastUrl: string):void{\n adsRequest = new google.ima.AdsRequest();\n adsRequest.setAdWillAutoPlay(true);\n adsRequest.adTagUrl = vastUrl;\n }\n\n function onAdsManagerLoaded(adsManagerLoadedEvent: google.ima.AdsManagerLoadedEvent) {\n const adsRenderingSettings = new google.ima.AdsRenderingSettings();\n adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true;\n adsManager = adsManagerLoadedEvent.getAdsManager(audioContainer.value, adsRenderingSettings);\n startAdManager();\n }\n\n function startAdManager(){\n console.log(\"Start manager\");\n initAdManagerEvents();\n try {\n adsManager.init(0, 0, google.ima.ViewMode.NORMAL);\n adsManager.start();\n } catch (adError) {\n console.log(adError);\n playerStore.playerChangeStatus(false);\n destroyAdManager();\n }\n }\n\n function initAdManagerEvents(){\n adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR,onAdError);\n adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested);\n adsManager.addEventListener(google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested);\n const events = [\n google.ima.AdEvent.Type.ALL_ADS_COMPLETED, google.ima.AdEvent.Type.AD_PROGRESS,\n google.ima.AdEvent.Type.COMPLETE, google.ima.AdEvent.Type.LOADED, \n google.ima.AdEvent.Type.PAUSED, google.ima.AdEvent.Type.STARTED,\n ];\n for (const index in events) {\n adsManager.addEventListener(events[index], onAdEvent);\n }\n }\n\n function onAdError(adErrorEvent: google.ima.AdErrorEvent) {\n console.log(adErrorEvent.getError());\n destroyAdManager();\n }\n\n function destroyAdManager(){\n if(!adsManager){return;}\n console.log(\"Destroy manager\");\n adsManager?.destroy();\n adsManager = null;\n vastStore.restartVastData();\n isContentFinished.value =false;\n isAdRequested.value = false;\n }\n\n function onAdEvent(adEvent: google.ima.AdEvent) {\n const ad = adEvent.getAd();\n if(ad){\n vastStore.updateCurrentAd(ad);\n }\n switch (adEvent.type) {\n case google.ima.AdEvent.Type.LOADED:\n statusPlayerWhenLoaded.value = playerStore.playerStatus;\n if (!ad.isLinear()) {\n playerStore.playerChangeStatus(false);\n isAdRequested.value = false;\n }\n break;\n case google.ima.AdEvent.Type.STARTED:\n console.log(\"Launched status : \"+statusPlayerWhenLoaded.value);\n if(\"PLAYING\"!==statusPlayerWhenLoaded.value){\n vastStore.updateIsAdPaused(true);\n adsManager.pause();\n }\n break;\n case google.ima.AdEvent.Type.AD_PROGRESS:{\n isAdRequested.value = false;\n const adProgressData = adEvent.getAdData();\n vastStore.updateProgressionData(adProgressData.duration,adProgressData.currentTime);\n vastStore.updateSkippableData(\n vastStore.currentAd.getSkipTimeOffset()!== -1,\n adsManager.getAdSkippableState(),\n Math.ceil(vastStore.currentAd.getSkipTimeOffset() - adProgressData.currentTime));\n break;\n }\n }\n }\n\n function onContentPauseRequested() {\n vastStore.updateIsAdPlaying(true);\n playerStore.playerChangeStatus(true);\n }\n\n function onContentResumeRequested() {\n if (!isContentFinished.value) {\n playerStore.playerChangeStatus(false);\n }\n nextTick(() => {\n vastStore.updateIsAdPlaying(false);\n vastStore.updateResetSessionId(false);\n });\n }\n\n function contentEndedAdsLoader():void{\n if (vastStore.isAdPlaying) return;\n isContentFinished.value = true;\n adsLoader?.contentComplete();\n }\n\n function onAdChangePlayingStatus(){\n if(!adsManager){return;}\n if(vastStore.isAdPaused){\n adsManager.pause();\n dateForSessionId.value = dayjs().toISOString();\n }else{\n adsManager.resume();\n if(!vastStore.resetSessionId &&dayjs().diff(dayjs(dateForSessionId.value), 'm')>1){\n vastStore.updateResetSessionId(true);\n }\n }\n }\n\n function onAdSkipped(){\n if(vastStore.isAdSkipped){\n adsManager.skip();\n }\n }\n\n\n\treturn {\n isAdRequested,\n prepareIMA,\n onRequestAd,\n destroyAdManager,\n contentEndedAdsLoader\n\t}\n}\n","import { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useVastStore } from \"../../../stores/VastStore\";\nimport { useSaveFetchStore } from \"../../../stores/SaveFetchStore\";\nimport { usePlayerVast } from \"./usePlayerVast\";\nimport fetchHelper from \"../../../helper/fetchHelper\";\n\nimport {computed, onMounted, Ref, ref, watch} from 'vue';\nimport { useRoute } from \"vue-router\";\nimport dayjs from \"dayjs\";\nimport classicApi from \"../../../api/classicApi\";\nimport { AdserverOtherEmission } from \"@/stores/class/adserver/adserverOtherEmission\";\nimport { AdPosition } from \"@/stores/class/adserver/adPosition\";\nimport { AdserverTiming } from \"@/stores/class/adserver/adserverTiming\";\n\nexport const usePlayerStitching = ()=>{\n\n const { isAdRequested, prepareIMA, onRequestAd,destroyAdManager, contentEndedAdsLoader } = usePlayerVast();\n\n const radioInterval : Ref<ReturnType<typeof setTimeout> | undefined> = ref(undefined);\n\n const route = useRoute()\n const playerStore = usePlayerStore();\n const vastStore = useVastStore();\n const saveFetchStore= useSaveFetchStore();\n\n const radioNextAdvertisingStartDate = computed(() => { \n return playerStore.playerRadio?.nextAdvertising?.startDate;\n });\n\n\n watch(() => playerStore.playerCurrentChange, () => {\n if(playerStore.playerCurrentChange && playerStore.playerCurrentChange > 0 && !checkUsePlayerPodcastStitching()){return;}\n onPlayerChange();\n });\n\n //launch advertising for podcast\n watch(() => playerStore.playerElapsedSeconds, () => {\n if(!checkUsePlayerPodcastStitching()){return;}\n if(!isAdRequested.value && checkAdNeedToBeLaunch()){\n onRequestAd(vastStore.adPositionsPodcasts[playerStore.playerCurrentChange??0][vastStore.adPositionIndex].vastUrl);\n vastStore.updateAdPositionIndex(vastStore.adPositionIndex+1); \n }\n });\n\n // launch advertising for radio\n watch(radioNextAdvertisingStartDate, () => {\n if(!radioNextAdvertisingStartDate.value){\n return;\n }\n defineRadioInterval();\n }, { immediate: true });\n\n\n onMounted(() => {\n vastStore.updateuseVastPlayerPodcast(\"true\"===route.query.vast);\n })\n\n function checkUsePlayerPodcastStitching():boolean{\n return vastStore.useVastPlayerPodcast;\n }\n\n function defineRadioInterval(){\n clearRadioInterval();\n const timeRemaining = dayjs(radioNextAdvertisingStartDate.value).diff(dayjs(), \"millisecond\");\n console.log(\"TimeRemaining \"+timeRemaining);\n if(timeRemaining < 0){\n return;\n }\n radioInterval.value = setTimeout(() => {\n radioIntervalExecute();\n }, timeRemaining);\n }\n\n async function radioIntervalExecute(){\n //If pause when ad needs to be played then skipped (TO THINK)\n if(\"PAUSED\"===playerStore.playerStatus){return;}\n const vastUrl = await getVastUrl(playerStore.playerRadio?.nextAdvertising?.tag ??\"5e385e1b51c86\", playerStore.playerRadio?.nextAdvertising?.adCount ?? 1);\n console.log(\"vastUrl \"+vastUrl);\n onRequestAd(vastUrl);\n }\n\n function clearRadioInterval() {\n clearInterval(radioInterval.value as unknown as number);\n radioInterval.value = undefined;\n }\n\n function checkAdNeedToBeLaunch(){\n if(!playerStore.playerCurrentChange || !vastStore.adPositionsPodcasts[playerStore.playerCurrentChange]?.[vastStore.adPositionIndex]){return false;}\n return vastStore.adPositionsPodcasts[playerStore.playerCurrentChange][vastStore.adPositionIndex]?.seconds <= playerStore.playerElapsedSeconds;\n }\n\n async function onPlayerChange(){\n destroyAdManager();\n if(null==playerStore.playerCurrentChange){return;}\n prepareIMA();\n await fetchPodcastAdConfig();\n }\n\n async function fetchPodcastAdConfig(){\n if(!playerStore.playerCurrentChange || !playerStore.playerPodcast ||(playerStore.playerCurrentChange && vastStore.adPositionsPodcasts[playerStore.playerCurrentChange])){\n return;\n }\n const adserverConfig = await classicApi.fetchData<AdserverOtherEmission>({\n api:0,\n path: `ad/test/podcast/${playerStore.playerCurrentChange}`,\n isNotAuth:true\n });\n if(!adserverConfig || \"SOUNDCAST_VAST\"!==adserverConfig.config?.server){\n vastStore.updateAdPositionsPodcasts(playerStore.playerCurrentChange, []);\n return;\n }\n const podcastDurationSeconds = Math.round((playerStore.playerPodcast?.duration??0) / 1000);\n const allAdPositions =generateAllAdPositions(adserverConfig.config.doublets, podcastDurationSeconds);\n const selectedAdPositions = await selectCorrectAdPositions(allAdPositions, podcastDurationSeconds, adserverConfig.config.minIntervalDuration, adserverConfig.config.minTailDuration);\n vastStore.updateAdPositionsPodcasts(playerStore.playerCurrentChange, selectedAdPositions);\n }\n\n function generateAllAdPositions(doublets: Array<AdserverTiming>, podcastDuration: number): Array<AdPosition>{\n const adPositions: Array<AdPosition> = [];\n if(doublets.some((element: AdserverTiming)=>{return \"TAG_NO_AD\"===element.tag})){\n return [];\n }\n for (const doublet of doublets) {\n if(!doublet.tag){continue;}\n let seconds = 0;\n if(\"post\"===doublet.timing.insertion){\n seconds = podcastDuration;\n }else if(\"mid\"===doublet.timing.insertion){\n const mesure = doublet.timing.mesure ?? 0;\n switch (doublet.timing.unit){\n case \"MILLISECOND\": seconds = mesure * 1000; break;\n case \"MINUTE\": seconds = Math.round(mesure / 60); break;\n case \"PERCENT\": seconds = Math.round((mesure * podcastDuration) / 100); break;\n default: seconds = mesure; break;\n }\n }\n adPositions.push({\n impressId: doublet.tag,\n policy: doublet.timing.insertion,\n seconds: seconds,\n vastUrl: \"\"\n });\n }\n return adPositions.sort((a: AdPosition, b: AdPosition) => {\n if (a.seconds > b.seconds) {\n return 1;\n }\n return b.seconds > a.seconds ? -1 : 0;\n });\n }\n\n async function selectCorrectAdPositions(allAdPositions: Array<AdPosition>, podcastDuration: number, minIntervalDuration:number, minTailDuration:number): Promise<Array<AdPosition>>{\n const adPositions: Array<AdPosition> = [];\n let previousPosition = -1;\n for(const adPosition of allAdPositions){\n switch (adPosition.policy) {\n case \"pre\":\n adPositions.push(await defineVastUrl(adPosition));\n previousPosition = 0;\n break;\n case \"mid\":\n if (adPosition.seconds > podcastDuration - minTailDuration) {\n //Too close to end\n continue;\n }\n if (previousPosition >= 0 && adPosition.seconds < previousPosition + minIntervalDuration) {\n //Too close to previous ad\n continue;\n }\n adPositions.push(await defineVastUrl(adPosition));\n previousPosition = adPosition.seconds;\n break;\n case \"post\":\n if (previousPosition >= 0 && previousPosition > podcastDuration - minIntervalDuration) {\n //Too close to previous ad\n continue;\n }\n adPositions.push(await defineVastUrl(adPosition));\n break;\n default:break;\n }\n }\n return adPositions;\n }\n\n async function defineVastUrl(adPosition: AdPosition): Promise<AdPosition>{\n adPosition.vastUrl = await getVastUrl(adPosition.impressId, 1);\n return adPosition;\n }\n\n async function getVastUrl(tag: string, adCount: number): Promise<string>{\n const baseUrl = \"https://api.soundcast.io/v1/vast/\"+tag;\n let keywords: Array<string> = [];\n if(playerStore.playerPodcast?.tags?.length){\n const attributes = await saveFetchStore.getOrgaAttributes(playerStore.playerPodcast.organisation.id);\n if (\"true\"===attributes[\"AD_CONFIG_PODCAST_TAG\"]) {\n keywords = playerStore.playerPodcast.tags.map((e) => {\n return \"tag:\" + e;\n });\n }\n }\n const parameters = fetchHelper.getUriSearchParams({\n adCount: adCount ?? 1,\n pageUrl:document.referrer,\n keywords:keywords\n });\n return baseUrl + '?' + parameters.toString();\n }\n\n\treturn {\n contentEndedAdsLoader\n\t}\n}\n","import { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useVastStore } from \"../../../stores/VastStore\";\nimport classicApi from \"../../../api/classicApi\";\nimport { AdserverOtherEmission } from \"@/stores/class/adserver/adserverOtherEmission\";\nimport { useTranslation } from \"../useTranslation\";\nimport { transcriptionApi } from \"../../../api/transcriptionApi\";\nimport { ref } from \"vue\";\n\n/** Contains the language of the transcript being generated */\nconst generatingTranscriptLanguage = ref<string|null>(null);\n\nexport const usePlayerTranscript = ()=>{\n\n const playerStore = usePlayerStore();\n const vastStore = useVastStore();\n const { getMostRelevantLanguage } = useTranslation();\n\n async function checkDelaytWithStitching(){\n playerStore.playerUpdateDelayStitching(0);\n if(vastStore.useVastPlayerPodcast){\n return;\n }\n\n const audioPlayer = document.querySelector(\"#audio-player\") as HTMLAudioElement;\n if (!playerStore.playerTranscript || !audioPlayer || !playerStore.playerPodcast ||\n audioPlayer.duration <= playerStore.playerPodcast.duration / 1000 + 5) {\n return;\n }\n\n const adserverConfig = await classicApi.fetchData<AdserverOtherEmission>({\n api:0,\n path:`ad/test/podcast/${playerStore.playerPodcast.podcastId}`,\n isNotAuth:true\n });\n\n // In case of midroll ads, we can't properly display transcription, so\n // we disable it.\n const hasOtherThanPreOrPost = adserverConfig.config.doublets\n .filter(doublet => !([\"pre\", \"post\"].includes(doublet.timing.insertion)))\n .length > 0;\n if (hasOtherThanPreOrPost) {\n console.warn(\"This episode's ad settings doesn't allow for transcription\");\n playerStore.playerUpdateChaptering();\n playerStore.playerUpdateTranscript();\n return;\n }\n\n // In case of preroll ads, delay start of transcription\n const hasPre = adserverConfig.config.doublets\n .filter(doublet => doublet.timing.insertion === \"pre\")\n .length > 0;\n if(hasPre) {\n // Since we have the expected time (from playerStore) and effective time\n // (from audioPlayer, which include ads), we just delay by the delta\n playerStore.playerUpdateDelayStitching( audioPlayer.duration - (playerStore.playerPodcast.duration / 1000));\n }\n }\n\n async function getTranscription(): Promise<void> {\n generatingTranscriptLanguage.value = null;\n if (!playerStore.playerPodcast) {\n playerStore.playerUpdateTranscript();\n return;\n }\n\n // Retrieve best language for transcription\n const podcastId = playerStore.playerPodcast.podcastId;\n const translationData = await transcriptionApi.getTranslations(podcastId);\n const { ready, available } = await getMostRelevantLanguage(translationData);\n\n // Retrieve transcription\n const result = await transcriptionApi.getTranslation(podcastId, ready);\n\n const arrayTranscript = parseSrt(result);\n const actualText =\n arrayTranscript?.[0]?.startTime === 0 ? arrayTranscript[0].text : \"\";\n if(!arrayTranscript){\n return;\n }\n playerStore.playerUpdateTranscript({\n actual: 0,\n actualText: actualText,\n value: arrayTranscript\n });\n\n if (available !== undefined && ready !== available) {\n generatingTranscriptLanguage.value = available;\n\n // If there's a better language available, trigger its generation\n const result = await transcriptionApi.getTranslation(podcastId, available, true);\n\n const arrayTranscript = parseSrt(result);\n const actualText =\n arrayTranscript?.[0]?.startTime === 0 ? arrayTranscript[0].text : \"\";\n if(!arrayTranscript){\n return;\n }\n playerStore.playerUpdateTranscript({\n actual: playerStore.playerTranscript?.actual,\n actualText: actualText,\n value: arrayTranscript\n });\n generatingTranscriptLanguage.value = null;\n }\n }\n\n function parseSrt(transcript: string) {\n const result = [];\n if (typeof transcript != \"string\") {\n return;\n }\n if (transcript == null) {\n return;\n }\n const pattern =\n /(\\d+)\\n([\\d:,]+)\\s+-{2}>\\s+([\\d:,]+)\\n([\\s\\S]*?(?=\\n{2}|$))/gm;\n transcript = transcript.replace(/\\r\\n|\\r|\\n|\\t/g, \"\\n\");\n let matches;\n while ((matches = pattern.exec(transcript)) != null) {\n result.push({\n startTime: srtTimeToSeconds(matches[2]),\n endTime: srtTimeToSeconds(matches[3]),\n text: matches[4],\n });\n }\n return result;\n }\n\n function srtTimeToSeconds(time: string): number {\n const a = time.split(\":\");\n return +a[0] * 60 * 60 + +a[1] * 60 + +parseFloat(a[2]);\n }\n\n function onTimeUpdateTranscript(currentTime: number) {\n if(!playerStore.playerTranscript?.value.length){\n return;\n }\n const startTime = (playerStore.playerTranscript.value[playerStore.playerTranscript.actual]?.startTime ?? 0) + playerStore.playerDelayStitching;\n if (startTime <= currentTime) {\n playerStore.playerTranscript.actualText = playerStore.playerTranscript.value[playerStore.playerTranscript?.actual]?.text ??\"\";\n }\n if (\n (playerStore.playerTranscript.value[playerStore.playerTranscript.actual]?.endTime ??Infinity) + playerStore.playerDelayStitching< currentTime\n ) {\n playerStore.playerTranscript.actual += 1;\n playerStore.playerTranscript.actualText =\n playerStore.playerTranscript?.value[playerStore.playerTranscript.actual]?.text ??\n \"\";\n }\n }\n \n function onSeekedTranscript(currentTime: number) {\n if (playerStore.playerTranscript) {\n let newActual = 0;\n while (currentTime >(playerStore.playerTranscript.value[newActual]?.endTime ?? Infinity) + playerStore.playerDelayStitching) {\n newActual += 1;\n }\n playerStore.playerTranscript.actual = newActual;\n }\n }\n\n return {\n checkDelaytWithStitching,\n getTranscription,\n onTimeUpdateTranscript,\n onSeekedTranscript,\n generatingTranscriptLanguage\n }\n}\n","export enum OrganisationPrivacy {\n SECURED = 'SECURED',\n PRIVATE = 'PRIVATE',\n PUBLIC = 'PUBLIC'\n}\n\nexport interface PrivateOrganisation {\n privacy: OrganisationPrivacy;\n accountCreation: string; // ENABLED DISABLED\n referrers: Array<string>;\n cidrs: Array<string>;\n mailDomains: Array<string>;\n}\n\nexport function emptyPrivateOrganisation(): PrivateOrganisation {\n return {\n privacy: OrganisationPrivacy.PUBLIC,\n accountCreation: \"DISABLED\",\n referrers: [],\n cidrs: [],\n mailDomains: [],\n };\n}\n","\nimport { usePlayerLive } from \"./usePlayerLive\";\nimport { usePlayerStitching } from \"./usePlayerStitching\";\nimport { usePlayerTranscript } from \"./usePlayerTranscript\";\nimport { nextTick, Ref, ref, watch } from \"vue\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { useAuthStore } from \"../../../stores/AuthStore\";\nimport { useGeneralStore } from \"../../../stores/GeneralStore\";\nimport { useVastStore } from \"../../../stores/VastStore\";\nimport { state as sdkParams } from \"../../../stores/ParamSdkStore\";\nimport fetchHelper from \"../../../helper/fetchHelper\";\nimport dayjs from \"dayjs\";\nimport { FetchParam } from \"@/stores/class/general/fetchParam\";\nimport { podcastApi } from \"../../../api/podcastApi\";\nimport { Organisation } from \"../../../stores/class/general/organisation\";\nimport { organisationApi } from \"../../../api/organisationApi\";\nimport { OrganisationPrivacy } from \"../../../stores/class/securisation/privateOrganisation\";\n\nexport const usePlayerLogic = (forceHide: Ref<boolean, boolean>) => {\n const hlsReady = ref(false);\n\n const { listenTime, onPlay, setDownloadId, onTimeUpdateProgress, playLive, endingLive, playRadio} = usePlayerLive(hlsReady);\n const { contentEndedAdsLoader } = usePlayerStitching();\n const { getTranscription, onTimeUpdateTranscript, onSeekedTranscript, checkDelaytWithStitching } = usePlayerTranscript();\n\n const playerError= ref(false);\n const listenError= ref(false);\n const percentLiveProgress= ref(0);\n const durationLivePosition= ref(0);\n const displayAlertBar= ref(false);\n const audioUrlToPlay= ref(\"\");\n\n\n const playerStore = usePlayerStore();\n const generalStore = useGeneralStore();\n const vastStore = useVastStore();\n const authStore = useAuthStore();\n\n watch(()=>getAudioUrl(), async () => {\n playerError.value = false;\n\n // In some cases, the audio does not go through normal download endpoint\n // Mostly when the podcast is not available to users\n let download = true;\n if (\n playerStore.playerMedia ||\n !playerStore.playerPodcast ||\n playerStore.playerVideo ||\n !playerStore.playerPodcast.availability.visibility ||\n listenError.value\n ) {\n download = false;\n\n // Not yet available podcasts in secured organisations go through\n // download if possible (see #14228)\n const podcast = playerStore.playerPodcast;\n if (podcast && !podcast.availability.visibility) {\n let organisation: Organisation|null = null;\n if (podcast.organisation) {\n organisation = podcast.organisation;\n } else if ('organisationId' in podcast) {\n // Handle case of missing organisation (for example for SimplifiedPodcast)\n organisation = await organisationApi.get(podcast.organisationId as string);\n }\n if (organisation.privacy === OrganisationPrivacy.SECURED) {\n download = true;\n }\n }\n }\n\n if (download) {\n const response = await podcastApi.downloadRegister(playerStore.playerPodcast.podcastId, getAudioUrlParameters());\n setDownloadId(response.downloadId.toString());\n audioUrlToPlay.value = response.location;\n } else {\n audioUrlToPlay.value = getAudioUrl();\n }\n });\n\n watch(()=>playerStore.playerPodcast, async () => {\n reInitPlayer();\n getTranscription();\n }, {deep:true});\n\n watch(()=>playerStore.playerLive, async (_, oldLive) => {\n if(playerStore.playerVideo){\n return;\n }\n nextTick(async () => {\n hlsReady.value = false;\n reInitPlayer(oldLive!==undefined);\n playLive();\n });\n }, {deep:true});\n\n watch(()=>playerStore.playerRadio, async (_, oldRadio) => {\n nextTick(async () => {\n hlsReady.value = false;\n reInitPlayer(oldRadio !== undefined);\n playRadio();\n });\n });\n\n watch(()=>playerStore.playerStatus, async () => {\n const audioPlayer: HTMLAudioElement | null =\n document.querySelector(\"#audio-player\");\n if (!audioPlayer) return;\n if (playerStore.playerLive && !hlsReady.value) {\n /* audioPlayer.pause();\n percentLiveProgress.value = 0;\n durationLivePosition.value = 0; */\n return;\n }\n if (\"PAUSED\" === playerStore.playerStatus && playerStore.playerRadio) {\n playerStore.playerRadio.dateSessionId = dayjs().toISOString();\n hlsReady.value = false;\n reInitPlayer();\n endingLive();\n } else if (\"PAUSED\" === playerStore.playerStatus) {\n audioPlayer.pause();\n } else if (\"PLAYING\" === playerStore.playerStatus && playerStore.playerRadio) {\n handlePlayRadio();\n } else if (\"PLAYING\" === playerStore.playerStatus) {\n audioPlayer.play();\n }\n });\n\n function handlePlayRadio(){\n if(!playerStore.playerRadio){\n return;\n }\n if (playerStore.playerRadio.isInit) {\n if(vastStore.isAdPlaying && !vastStore.resetSessionId){\n playerStore.playerRadio.dateSessionId = dayjs().toISOString();\n }\n playRadio();\n } else {\n playerStore.playerRadio.isInit = true;\n }\n }\n\n function getAudioUrlParameters(addToken?: boolean): FetchParam {\n if (!playerStore.playerPodcast) {\n return {};\n }\n \n const parameters: FetchParam = {\n origin: \"octopus\",\n accepted: vastStore.useVastPlayerPodcast\n };\n if (authStore.authOrgaId) {\n parameters.distributorId = authStore.authOrgaId;\n }\n if (generalStore.consentTcf) {\n parameters.consent = generalStore.consentTcf;\n }\n if (\n addToken &&\n \"SECURED\" === playerStore.playerPodcast.organisation.privacy &&\n authStore.authParam.accessToken\n ) {\n parameters.access_token = authStore.authParam.accessToken;\n }\n return parameters;\n }\n\n function getAudioUrl(): string {\n if (playerStore.playerMedia){\n return playerStore.playerMedia.audioUrl ?? \"\";\n }\n if (!playerStore.playerPodcast || playerStore.playerVideo) {\n return \"\";\n }\n if (\n !playerStore.playerPodcast.availability.visibility ||\n \"PROCESSING\" === playerStore.playerPodcast.processingStatus\n ) {\n return playerStore.playerPodcast.audioStorageUrl;\n }\n if (listenError.value) {\n return playerStore.playerPodcast.audioStorageUrl;\n }\n return playerStore.playerPodcast.podcastId + \".mp3?\"+fetchHelper.getUriSearchParams(getAudioUrlParameters(), true);\n }\n\n function reInitPlayer(force=false): void {\n setDownloadId(null);\n listenError.value = false;\n if (force || playerStore.playerLive || playerStore.playerRadio) {\n endingLive();\n }\n }\n\n function stopPlayer(): void {\n playerStore.playerPlay();\n }\n\n function onError(): void {\n if (\n playerStore.playerPodcast &&\n \"\" !== audioUrlToPlay.value &&\n !listenError.value\n ) {\n listenError.value = true;\n } else if (\n (playerStore.playerPodcast && \"\" !== audioUrlToPlay.value) ||\n playerStore.playerMedia\n ) {\n playerError.value = true;\n }\n }\n\n function streamDurationForSafari(mediaTarget: HTMLMediaElement) {\n let streamDuration = mediaTarget.duration;\n if (Infinity === streamDuration) {\n const seekable = mediaTarget.seekable;\n if (seekable && seekable.length > 0) {\n try {\n streamDuration = seekable.end(seekable.length - 1);\n } catch (e) {\n console.error(e);\n }\n } else {\n streamDuration = mediaTarget.currentTime;\n }\n }\n return streamDuration;\n }\n\n function onTimeUpdatePodcast(streamDuration: number, currentTime: number) {\n displayAlertBar.value = false;\n percentLiveProgress.value = 0;\n playerStore.playerUpdateElapsed(currentTime / streamDuration, streamDuration);\n onTimeUpdateTranscript(currentTime);\n }\n\n function onTimeUpdateLive(streamDuration: number, currentTime: number) {\n if (!playerStore.playerLive) {\n return;\n }\n const scheduledDuration = playerStore.playerLive.duration / 1000;\n if (scheduledDuration > streamDuration) {\n displayAlertBar.value = false;\n percentLiveProgress.value = (streamDuration / scheduledDuration) * 100;\n playerStore.playerUpdateElapsed(\n currentTime / scheduledDuration,\n scheduledDuration,\n );\n } else {\n percentLiveProgress.value = 100;\n displayAlertBar.value = true;\n durationLivePosition.value = (scheduledDuration / streamDuration) * 100;\n playerStore.playerUpdateElapsed(currentTime / streamDuration, streamDuration);\n }\n }\n\n function onTimeUpdate(event: Event): void {\n if (playerStore.playerRadio) {\n return;\n }\n const mediaTarget = event.currentTarget as HTMLMediaElement;\n if (playerStore.playerPodcast || playerStore.playerLive) {\n onTimeUpdateProgress(mediaTarget.currentTime);\n }\n const streamDuration = streamDurationForSafari(mediaTarget);\n if (!streamDuration) return;\n if (!mediaTarget.currentTime) return;\n if (!playerStore.playerLive) {\n onTimeUpdatePodcast(streamDuration, mediaTarget.currentTime);\n return;\n }\n onTimeUpdateLive(streamDuration, mediaTarget.currentTime);\n }\n\n function onSeeked(event: Event): void {\n const mediaTarget = event.currentTarget as HTMLMediaElement;\n const currentTime = mediaTarget.currentTime;\n onSeekedTranscript(currentTime);\n }\n\n function onFinished(): void {\n setDownloadId(null);\n contentEndedAdsLoader();\n if (playerStore.playerLive) {\n endingLive();\n }\n\n if (sdkParams.player.stayOpenOnFinish !== true) {\n forceHide.value = true;\n }\n }\n\n\n return {\n audioUrlToPlay,\n listenTime,\n playerError,\n percentLiveProgress,\n durationLivePosition,\n displayAlertBar,\n hlsReady,\n checkDelaytWithStitching,\n stopPlayer,\n onError,\n onTimeUpdate,\n onSeeked,\n onFinished,\n onPlay\n }\n}\n","<template>\n <section\n id=\"octopus-player-component\"\n class=\"player-container\"\n :class=\"{ \n 'player-video': playerStore.playerVideo,\n 'overflow-hidden': !display\n }\"\n :style=\"{ height: playerStore.playerHeight }\"\n @transitionend=\"onHidden\"\n >\n <audio\n id=\"audio-player\"\n :src=\"!playerStore.playerLive && !playerStore.playerRadio ? audioUrlToPlay : undefined\"\n autoplay\n @timeupdate=\"onTimeUpdate\"\n @ended=\"onFinished\"\n @playing=\"onPlay\"\n @durationChange=\"onTimeUpdate\"\n @error=\"onError\"\n @seeked=\"onSeeked\"\n @pause=\"onPause\"\n @loadedmetadata=\"checkDelaytWithStitching\"\n />\n <div id=\"ad-container\" />\n\n <template v-if=\"displayWithTimeout\">\n\n <slot name=\"above\" />\n \n <PlayerVideo v-if=\"playerStore.playerVideo && isNotVideoPage\" />\n <template v-else-if=\"!playerStore.playerVideo\">\n <PlayerCompact\n v-if=\"!playerStore.playerLargeVersion\"\n :player-error=\"playerError\"\n :display-alert-bar=\"displayAlertBar\"\n :percent-live-progress=\"percentLiveProgress\"\n :duration-live-position=\"durationLivePosition\"\n :listen-time=\"listenTime\"\n :hls-ready=\"hlsReady\"\n @stop-player=\"stopPlayer\"\n @change-player-large-version=\"playerStore.playerUpdateLargeVersion(true)\"\n />\n <PlayerLarge\n v-else\n :player-error=\"playerError\"\n :display-alert-bar=\"displayAlertBar\"\n :percent-live-progress=\"percentLiveProgress\"\n :duration-live-position=\"durationLivePosition\"\n :listen-time=\"listenTime\"\n :hls-ready=\"hlsReady\"\n @stop-player=\"stopPlayer\"\n @change-player-large-version=\"playerStore.playerUpdateLargeVersion(false)\"\n />\n </template>\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport {usePlayerLogic} from \"../../composable/player/usePlayerLogic\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { defineAsyncComponent, ref, computed, watch } from \"vue\";\nimport { useRoute } from \"vue-router\";\nconst PlayerVideo = defineAsyncComponent(\n () => import(\"./video/PlayerVideo.vue\"),\n);\nconst PlayerCompact = defineAsyncComponent(\n () => import(\"../player/PlayerCompact.vue\"),\n);\nconst PlayerLarge = defineAsyncComponent(\n () => import(\"../player/PlayerLarge.vue\"),\n);\n\n//Emits\nconst emit = defineEmits(['hide']);\n\n//Data\nconst displayWithTimeout= ref(false);\nconst forceHide= ref(false);\n\n//Composable\nconst {\n audioUrlToPlay,\n listenTime,\n playerError,\n percentLiveProgress, \n durationLivePosition,\n displayAlertBar,\n hlsReady, \n checkDelaytWithStitching, \n stopPlayer, \n onError, \n onTimeUpdate, \n onSeeked, \n onFinished, \n onPlay\n} = usePlayerLogic(forceHide);\nconst playerStore = usePlayerStore();\nconst route = useRoute();\n\n// Computed\nconst display = computed(() => { return \"STOPPED\" !== playerStore.playerStatus;});\nconst isNotVideoPage = computed(() => { return \"video\" !== route.name});\n\n// Watch\nwatch(()=>playerStore.playerHeight, async () => {\n emit(\"hide\", 0 === playerStore.playerHeight);\n});\nwatch(display, async () => {\n if (display.value) {\n displayWithTimeout.value = display.value;\n } else {\n setTimeout(() => {\n displayWithTimeout.value = display.value;\n }, 3000);\n }\n});\n\n//Methods\nfunction onHidden(): void {\n if (forceHide.value) {\n playerStore.playerPlay();\n forceHide.value = false;\n }\n}\nfunction onPause() {\n if (\"PLAYING\" === playerStore.playerStatus) {\n playerStore.playerChangeStatus(true);\n }\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .player-container {\n max-height: 94%;\n position: sticky;\n overflow: visible;\n z-index: 12;\n width: 100%;\n bottom: 0;\n display: flex;\n flex-direction: column;\n transition: height 1s;\n background: var(--octopus-player-color) !important;\n font-size: 1rem;\n\n .medium-text {\n font-size: 0.65rem;\n }\n\n .small-text {\n font-size: 0.5rem;\n }\n\n @media (width <= 960px) {\n .d-flex {\n flex-wrap: nowrap !important;\n }\n }\n }\n\n #ad-container {\n display: none;\n }\n}\n</style>\n","<template>\n <section\n id=\"octopus-player-component\"\n class=\"player-container\"\n :class=\"{ \n 'player-video': playerStore.playerVideo,\n 'overflow-hidden': !display\n }\"\n :style=\"{ height: playerStore.playerHeight }\"\n @transitionend=\"onHidden\"\n >\n <audio\n id=\"audio-player\"\n :src=\"!playerStore.playerLive && !playerStore.playerRadio ? audioUrlToPlay : undefined\"\n autoplay\n @timeupdate=\"onTimeUpdate\"\n @ended=\"onFinished\"\n @playing=\"onPlay\"\n @durationChange=\"onTimeUpdate\"\n @error=\"onError\"\n @seeked=\"onSeeked\"\n @pause=\"onPause\"\n @loadedmetadata=\"checkDelaytWithStitching\"\n />\n <div id=\"ad-container\" />\n\n <template v-if=\"displayWithTimeout\">\n\n <slot name=\"above\" />\n \n <PlayerVideo v-if=\"playerStore.playerVideo && isNotVideoPage\" />\n <template v-else-if=\"!playerStore.playerVideo\">\n <PlayerCompact\n v-if=\"!playerStore.playerLargeVersion\"\n :player-error=\"playerError\"\n :display-alert-bar=\"displayAlertBar\"\n :percent-live-progress=\"percentLiveProgress\"\n :duration-live-position=\"durationLivePosition\"\n :listen-time=\"listenTime\"\n :hls-ready=\"hlsReady\"\n @stop-player=\"stopPlayer\"\n @change-player-large-version=\"playerStore.playerUpdateLargeVersion(true)\"\n />\n <PlayerLarge\n v-else\n :player-error=\"playerError\"\n :display-alert-bar=\"displayAlertBar\"\n :percent-live-progress=\"percentLiveProgress\"\n :duration-live-position=\"durationLivePosition\"\n :listen-time=\"listenTime\"\n :hls-ready=\"hlsReady\"\n @stop-player=\"stopPlayer\"\n @change-player-large-version=\"playerStore.playerUpdateLargeVersion(false)\"\n />\n </template>\n </template>\n </section>\n</template>\n\n<script setup lang=\"ts\">\nimport {usePlayerLogic} from \"../../composable/player/usePlayerLogic\";\nimport { usePlayerStore } from \"../../../stores/PlayerStore\";\nimport { defineAsyncComponent, ref, computed, watch } from \"vue\";\nimport { useRoute } from \"vue-router\";\nconst PlayerVideo = defineAsyncComponent(\n () => import(\"./video/PlayerVideo.vue\"),\n);\nconst PlayerCompact = defineAsyncComponent(\n () => import(\"../player/PlayerCompact.vue\"),\n);\nconst PlayerLarge = defineAsyncComponent(\n () => import(\"../player/PlayerLarge.vue\"),\n);\n\n//Emits\nconst emit = defineEmits(['hide']);\n\n//Data\nconst displayWithTimeout= ref(false);\nconst forceHide= ref(false);\n\n//Composable\nconst {\n audioUrlToPlay,\n listenTime,\n playerError,\n percentLiveProgress, \n durationLivePosition,\n displayAlertBar,\n hlsReady, \n checkDelaytWithStitching, \n stopPlayer, \n onError, \n onTimeUpdate, \n onSeeked, \n onFinished, \n onPlay\n} = usePlayerLogic(forceHide);\nconst playerStore = usePlayerStore();\nconst route = useRoute();\n\n// Computed\nconst display = computed(() => { return \"STOPPED\" !== playerStore.playerStatus;});\nconst isNotVideoPage = computed(() => { return \"video\" !== route.name});\n\n// Watch\nwatch(()=>playerStore.playerHeight, async () => {\n emit(\"hide\", 0 === playerStore.playerHeight);\n});\nwatch(display, async () => {\n if (display.value) {\n displayWithTimeout.value = display.value;\n } else {\n setTimeout(() => {\n displayWithTimeout.value = display.value;\n }, 3000);\n }\n});\n\n//Methods\nfunction onHidden(): void {\n if (forceHide.value) {\n playerStore.playerPlay();\n forceHide.value = false;\n }\n}\nfunction onPause() {\n if (\"PLAYING\" === playerStore.playerStatus) {\n playerStore.playerChangeStatus(true);\n }\n}\n</script>\n\n<style lang=\"scss\">\n.octopus-app {\n .player-container {\n max-height: 94%;\n position: sticky;\n overflow: visible;\n z-index: 12;\n width: 100%;\n bottom: 0;\n display: flex;\n flex-direction: column;\n transition: height 1s;\n background: var(--octopus-player-color) !important;\n font-size: 1rem;\n\n .medium-text {\n font-size: 0.65rem;\n }\n\n .small-text {\n font-size: 0.5rem;\n }\n\n @media (width <= 960px) {\n .d-flex {\n flex-wrap: nowrap !important;\n }\n }\n }\n\n #ad-container {\n display: none;\n }\n}\n</style>\n"],"mappings":"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"}