@clickview/lite 0.53.4 → 0.53.6-rc.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 (188) hide show
  1. package/dist/bundles.json +1 -1
  2. package/dist/css/{6094-lite-bcd14ea6d2.chunk.css → 1019-lite-bbcf2bff27.chunk.css} +3 -2
  3. package/dist/css/{1329-lite-be86e46c78.chunk.css → 1329-lite-458183b24f.chunk.css} +2 -2
  4. package/dist/css/{1838-lite-e6a28b84ed.chunk.css → 1838-lite-981a5e0783.chunk.css} +1 -1
  5. package/dist/css/{1760-lite-bcd14ea6d2.chunk.css → 2548-lite-bbcf2bff27.chunk.css} +3 -2
  6. package/dist/css/{3969-lite-29e14c7861.chunk.css → 3969-lite-ed58852d97.chunk.css} +2 -2
  7. package/dist/css/{422-lite-dace5f41de.chunk.css → 422-lite-b8c1fd1dee.chunk.css} +1 -1
  8. package/dist/css/{4502-lite-92be6697e7.chunk.css → 4502-lite-eaf1a1113c.chunk.css} +1 -1
  9. package/dist/css/{5220-lite-9832e2c2fb.chunk.css → 5220-lite-8a8d5d035f.chunk.css} +1 -1
  10. package/dist/css/{537-lite-56a3fc7e48.chunk.css → 537-lite-4de4c47713.chunk.css} +1 -1
  11. package/dist/css/{6489-lite-9045df4bb9.chunk.css → 6489-lite-e271aaed2d.chunk.css} +1 -1
  12. package/dist/css/{6544-lite-d46c2d634c.chunk.css → 6544-lite-319ed51ccc.chunk.css} +1 -1
  13. package/dist/css/{5549-lite-97ed26d0aa.chunk.css → 6596-lite-bb28584922.chunk.css} +2 -1
  14. package/dist/css/{841-lite-27b6485cd1.chunk.css → 841-lite-46ef623835.chunk.css} +1 -1
  15. package/dist/css/{8522-lite-2f2797038e.chunk.css → 8522-lite-f100606ec5.chunk.css} +1 -1
  16. package/dist/css/{8801-lite-c88eb54bee.chunk.css → 8801-lite-d34200ab29.chunk.css} +2 -2
  17. package/dist/css/{3640-lite-97ed26d0aa.chunk.css → 9010-lite-bb28584922.chunk.css} +2 -1
  18. package/dist/languages/en.json +1 -1
  19. package/dist/scripts/{1760-8d51aa0b08-lite.chunk.js → 1019-8f977b5095-lite.chunk.js} +2 -2
  20. package/dist/scripts/{1760-8d51aa0b08-lite.chunk.js.map → 1019-8f977b5095-lite.chunk.js.map} +1 -1
  21. package/dist/scripts/1080-509aa6e738-lite.chunk.js +2 -0
  22. package/dist/scripts/1080-509aa6e738-lite.chunk.js.map +1 -0
  23. package/dist/scripts/1169-e64f0dbd67-lite.chunk.js +2 -0
  24. package/dist/scripts/1169-e64f0dbd67-lite.chunk.js.map +1 -0
  25. package/dist/scripts/1329-bdbbf6c7fd-lite.chunk.js +3 -0
  26. package/dist/scripts/1329-bdbbf6c7fd-lite.chunk.js.map +1 -0
  27. package/dist/scripts/{1379-976d20185f-lite.chunk.js → 1379-ca519ec56b-lite.chunk.js} +3 -3
  28. package/dist/scripts/{1379-976d20185f-lite.chunk.js.map → 1379-ca519ec56b-lite.chunk.js.map} +1 -1
  29. package/dist/scripts/1518-4f76dbeee8-lite.chunk.js +2 -0
  30. package/dist/scripts/1518-4f76dbeee8-lite.chunk.js.map +1 -0
  31. package/dist/scripts/{1838-87fb96ee2c-lite.chunk.js → 1838-95081e8dea-lite.chunk.js} +1 -1
  32. package/dist/scripts/{1838-87fb96ee2c-lite.chunk.js.map → 1838-95081e8dea-lite.chunk.js.map} +1 -1
  33. package/dist/scripts/184-6ce393c251-lite.chunk.js +2 -0
  34. package/dist/scripts/184-6ce393c251-lite.chunk.js.map +1 -0
  35. package/dist/scripts/{2004-3005565af0-lite.chunk.js → 2004-e20d72976c-lite.chunk.js} +3 -3
  36. package/dist/scripts/{2004-3005565af0-lite.chunk.js.map → 2004-e20d72976c-lite.chunk.js.map} +1 -1
  37. package/dist/scripts/{2094-58390aa60a-lite.chunk.js → 2094-a16bbca3a3-lite.chunk.js} +2 -2
  38. package/dist/scripts/2094-a16bbca3a3-lite.chunk.js.map +1 -0
  39. package/dist/scripts/2142-c46ca4050f-lite.chunk.js +2 -0
  40. package/dist/scripts/2142-c46ca4050f-lite.chunk.js.map +1 -0
  41. package/dist/scripts/2199-be40da7440-lite.chunk.js +2 -0
  42. package/dist/scripts/2199-be40da7440-lite.chunk.js.map +1 -0
  43. package/dist/scripts/2548-c48b8d3e3c-lite.chunk.js +2 -0
  44. package/dist/scripts/2548-c48b8d3e3c-lite.chunk.js.map +1 -0
  45. package/dist/scripts/3969-6d7c342d0c-lite.chunk.js +2 -0
  46. package/dist/scripts/3969-6d7c342d0c-lite.chunk.js.map +1 -0
  47. package/dist/scripts/3999-317a4538c6-lite.chunk.js +3 -0
  48. package/dist/scripts/3999-317a4538c6-lite.chunk.js.map +1 -0
  49. package/dist/scripts/{422-ee640f76c5-lite.chunk.js → 422-a63a7eb901-lite.chunk.js} +1 -1
  50. package/dist/scripts/{422-ee640f76c5-lite.chunk.js.map → 422-a63a7eb901-lite.chunk.js.map} +1 -1
  51. package/dist/scripts/{4502-af4903784e-lite.chunk.js → 4502-a7d60fa257-lite.chunk.js} +1 -1
  52. package/dist/scripts/{4502-af4903784e-lite.chunk.js.map → 4502-a7d60fa257-lite.chunk.js.map} +1 -1
  53. package/dist/scripts/{4554-c0d7490a46-lite.chunk.js → 4554-b9aa07891f-lite.chunk.js} +2 -2
  54. package/dist/scripts/4554-b9aa07891f-lite.chunk.js.map +1 -0
  55. package/dist/scripts/{4591-379f0fe588-lite.chunk.js → 4591-21c0094f28-lite.chunk.js} +2 -2
  56. package/dist/scripts/{4591-379f0fe588-lite.chunk.js.map → 4591-21c0094f28-lite.chunk.js.map} +1 -1
  57. package/dist/scripts/{4683-ce52da47d8-lite.chunk.js → 4683-d3afe2dfa8-lite.chunk.js} +2 -2
  58. package/dist/scripts/4683-d3afe2dfa8-lite.chunk.js.map +1 -0
  59. package/dist/scripts/5220-291b2243ad-lite.chunk.js +3 -0
  60. package/dist/scripts/5220-291b2243ad-lite.chunk.js.map +1 -0
  61. package/dist/scripts/537-6efb9bc099-lite.chunk.js +3 -0
  62. package/dist/scripts/537-6efb9bc099-lite.chunk.js.map +1 -0
  63. package/dist/scripts/5660-6711768c20-lite.chunk.js +2 -0
  64. package/dist/scripts/5660-6711768c20-lite.chunk.js.map +1 -0
  65. package/dist/scripts/5936-e839cb8193-lite.chunk.js +2 -0
  66. package/dist/scripts/5936-e839cb8193-lite.chunk.js.map +1 -0
  67. package/dist/scripts/{624-bf0ff6257f-lite.chunk.js → 624-09b51a9d32-lite.chunk.js} +3 -3
  68. package/dist/scripts/{624-bf0ff6257f-lite.chunk.js.map → 624-09b51a9d32-lite.chunk.js.map} +1 -1
  69. package/dist/scripts/6450-f16821bf09-lite.chunk.js +2 -0
  70. package/dist/scripts/6450-f16821bf09-lite.chunk.js.map +1 -0
  71. package/dist/scripts/6489-c242844567-lite.chunk.js +3 -0
  72. package/dist/scripts/6489-c242844567-lite.chunk.js.map +1 -0
  73. package/dist/scripts/6544-07898e3fa3-lite.chunk.js +2 -0
  74. package/dist/scripts/6544-07898e3fa3-lite.chunk.js.map +1 -0
  75. package/dist/scripts/6596-848fbf79bb-lite.chunk.js +2 -0
  76. package/dist/scripts/6596-848fbf79bb-lite.chunk.js.map +1 -0
  77. package/dist/scripts/{6741-1c125dbc6c-lite.chunk.js → 6741-fe09fea334-lite.chunk.js} +3 -3
  78. package/dist/scripts/{6741-1c125dbc6c-lite.chunk.js.map → 6741-fe09fea334-lite.chunk.js.map} +1 -1
  79. package/dist/scripts/6752-0d139a6c9a-lite.chunk.js +2 -0
  80. package/dist/scripts/6752-0d139a6c9a-lite.chunk.js.map +1 -0
  81. package/dist/scripts/696-fa78eb455f-lite.chunk.js +2 -0
  82. package/dist/scripts/696-fa78eb455f-lite.chunk.js.map +1 -0
  83. package/dist/scripts/{7234-ef6ab1e557-lite.chunk.js → 7234-d15fe07f0e-lite.chunk.js} +2 -2
  84. package/dist/scripts/{7234-ef6ab1e557-lite.chunk.js.map → 7234-d15fe07f0e-lite.chunk.js.map} +1 -1
  85. package/dist/scripts/729-594be12089-lite.chunk.js +2 -0
  86. package/dist/scripts/729-594be12089-lite.chunk.js.map +1 -0
  87. package/dist/scripts/{7293-3e6ad36a7a-lite.chunk.js → 7293-35871fc150-lite.chunk.js} +2 -2
  88. package/dist/scripts/7293-35871fc150-lite.chunk.js.map +1 -0
  89. package/dist/scripts/{8192-e2d9a26cc5-lite.chunk.js → 8192-eb7054ccc6-lite.chunk.js} +2 -2
  90. package/dist/scripts/{8192-e2d9a26cc5-lite.chunk.js.map → 8192-eb7054ccc6-lite.chunk.js.map} +1 -1
  91. package/dist/scripts/841-11af1334bf-lite.chunk.js +3 -0
  92. package/dist/scripts/841-11af1334bf-lite.chunk.js.map +1 -0
  93. package/dist/scripts/{8522-b4b217640c-lite.chunk.js → 8522-8e9c576bf6-lite.chunk.js} +1 -1
  94. package/dist/scripts/{8522-b4b217640c-lite.chunk.js.map → 8522-8e9c576bf6-lite.chunk.js.map} +1 -1
  95. package/dist/scripts/8801-3a7652eb35-lite.chunk.js +2 -0
  96. package/dist/scripts/8801-3a7652eb35-lite.chunk.js.map +1 -0
  97. package/dist/scripts/9010-ef7ea501ee-lite.chunk.js +2 -0
  98. package/dist/scripts/9010-ef7ea501ee-lite.chunk.js.map +1 -0
  99. package/dist/scripts/9139-22fb64f542-lite.chunk.js +2 -0
  100. package/dist/scripts/9139-22fb64f542-lite.chunk.js.map +1 -0
  101. package/dist/scripts/9173-e45847aa35-lite.chunk.js +2 -0
  102. package/dist/scripts/9173-e45847aa35-lite.chunk.js.map +1 -0
  103. package/dist/scripts/{9395-e9b5cdbdce-lite.chunk.js → 9395-e1a02b01ce-lite.chunk.js} +3 -3
  104. package/dist/scripts/{9395-e9b5cdbdce-lite.chunk.js.map → 9395-e1a02b01ce-lite.chunk.js.map} +1 -1
  105. package/dist/scripts/{9478-abfa7ed3cc-lite.chunk.js → 9478-13da35c4ee-lite.chunk.js} +3 -3
  106. package/dist/scripts/{9478-abfa7ed3cc-lite.chunk.js.map → 9478-13da35c4ee-lite.chunk.js.map} +1 -1
  107. package/dist/scripts/{953-bf3d621a33-lite.chunk.js → 953-225db845ab-lite.chunk.js} +3 -3
  108. package/dist/scripts/{953-bf3d621a33-lite.chunk.js.map → 953-225db845ab-lite.chunk.js.map} +1 -1
  109. package/dist/scripts/{9899-68b030d4e2-lite.chunk.js → 9899-fa58471776-lite.chunk.js} +2 -2
  110. package/dist/scripts/{9899-68b030d4e2-lite.chunk.js.map → 9899-fa58471776-lite.chunk.js.map} +1 -1
  111. package/dist/scripts/bundle-7f9a9b650d.min.js +3 -0
  112. package/dist/scripts/bundle-7f9a9b650d.min.js.map +1 -0
  113. package/package.json +1 -1
  114. package/dist/scripts/1080-4173ce26bd-lite.chunk.js +0 -2
  115. package/dist/scripts/1080-4173ce26bd-lite.chunk.js.map +0 -1
  116. package/dist/scripts/1169-d090f0a147-lite.chunk.js +0 -2
  117. package/dist/scripts/1169-d090f0a147-lite.chunk.js.map +0 -1
  118. package/dist/scripts/1329-d48379c043-lite.chunk.js +0 -3
  119. package/dist/scripts/1329-d48379c043-lite.chunk.js.map +0 -1
  120. package/dist/scripts/1518-9756fde01e-lite.chunk.js +0 -2
  121. package/dist/scripts/1518-9756fde01e-lite.chunk.js.map +0 -1
  122. package/dist/scripts/184-ee581fa2e0-lite.chunk.js +0 -2
  123. package/dist/scripts/184-ee581fa2e0-lite.chunk.js.map +0 -1
  124. package/dist/scripts/2094-58390aa60a-lite.chunk.js.map +0 -1
  125. package/dist/scripts/2199-476ac5922f-lite.chunk.js +0 -2
  126. package/dist/scripts/2199-476ac5922f-lite.chunk.js.map +0 -1
  127. package/dist/scripts/3640-1ac0a110f4-lite.chunk.js +0 -2
  128. package/dist/scripts/3640-1ac0a110f4-lite.chunk.js.map +0 -1
  129. package/dist/scripts/3969-c0160d0139-lite.chunk.js +0 -2
  130. package/dist/scripts/3969-c0160d0139-lite.chunk.js.map +0 -1
  131. package/dist/scripts/4063-786732e7b0-lite.chunk.js +0 -2
  132. package/dist/scripts/4063-786732e7b0-lite.chunk.js.map +0 -1
  133. package/dist/scripts/4273-de24896b28-lite.chunk.js +0 -3
  134. package/dist/scripts/4273-de24896b28-lite.chunk.js.map +0 -1
  135. package/dist/scripts/4554-c0d7490a46-lite.chunk.js.map +0 -1
  136. package/dist/scripts/4683-ce52da47d8-lite.chunk.js.map +0 -1
  137. package/dist/scripts/4850-5ddd277550-lite.chunk.js +0 -2
  138. package/dist/scripts/4850-5ddd277550-lite.chunk.js.map +0 -1
  139. package/dist/scripts/5220-85898810a6-lite.chunk.js +0 -3
  140. package/dist/scripts/5220-85898810a6-lite.chunk.js.map +0 -1
  141. package/dist/scripts/537-de7445d41a-lite.chunk.js +0 -3
  142. package/dist/scripts/537-de7445d41a-lite.chunk.js.map +0 -1
  143. package/dist/scripts/5549-e0ed88aaa1-lite.chunk.js +0 -2
  144. package/dist/scripts/5549-e0ed88aaa1-lite.chunk.js.map +0 -1
  145. package/dist/scripts/5660-a356acdbca-lite.chunk.js +0 -2
  146. package/dist/scripts/5660-a356acdbca-lite.chunk.js.map +0 -1
  147. package/dist/scripts/5936-92d9cea005-lite.chunk.js +0 -2
  148. package/dist/scripts/5936-92d9cea005-lite.chunk.js.map +0 -1
  149. package/dist/scripts/6094-8546003d79-lite.chunk.js +0 -2
  150. package/dist/scripts/6094-8546003d79-lite.chunk.js.map +0 -1
  151. package/dist/scripts/6450-601f889072-lite.chunk.js +0 -2
  152. package/dist/scripts/6450-601f889072-lite.chunk.js.map +0 -1
  153. package/dist/scripts/6489-532a022587-lite.chunk.js +0 -3
  154. package/dist/scripts/6489-532a022587-lite.chunk.js.map +0 -1
  155. package/dist/scripts/6544-ae27efabab-lite.chunk.js +0 -2
  156. package/dist/scripts/6544-ae27efabab-lite.chunk.js.map +0 -1
  157. package/dist/scripts/6752-5dddab5e0b-lite.chunk.js +0 -2
  158. package/dist/scripts/6752-5dddab5e0b-lite.chunk.js.map +0 -1
  159. package/dist/scripts/6852-9dfd47d085-lite.chunk.js +0 -2
  160. package/dist/scripts/6852-9dfd47d085-lite.chunk.js.map +0 -1
  161. package/dist/scripts/7293-3e6ad36a7a-lite.chunk.js.map +0 -1
  162. package/dist/scripts/841-73ef4ba5ec-lite.chunk.js +0 -3
  163. package/dist/scripts/841-73ef4ba5ec-lite.chunk.js.map +0 -1
  164. package/dist/scripts/8801-222a1b2e99-lite.chunk.js +0 -2
  165. package/dist/scripts/8801-222a1b2e99-lite.chunk.js.map +0 -1
  166. package/dist/scripts/9139-49023800c6-lite.chunk.js +0 -2
  167. package/dist/scripts/9139-49023800c6-lite.chunk.js.map +0 -1
  168. package/dist/scripts/9173-f9708ec0de-lite.chunk.js +0 -2
  169. package/dist/scripts/9173-f9708ec0de-lite.chunk.js.map +0 -1
  170. package/dist/scripts/bundle-e72459b30e.min.js +0 -3
  171. package/dist/scripts/bundle-e72459b30e.min.js.map +0 -1
  172. /package/dist/css/{4273-lite-a3c7435ba4.chunk.css → 3999-lite-a3c7435ba4.chunk.css} +0 -0
  173. /package/dist/css/{4063-lite-f72fc7b813.chunk.css → 4860-lite-f72fc7b813.chunk.css} +0 -0
  174. /package/dist/css/{4850-lite-f72fc7b813.chunk.css → 729-lite-f72fc7b813.chunk.css} +0 -0
  175. /package/dist/scripts/{1329-d48379c043-lite.chunk.js.LICENSE.txt → 1329-bdbbf6c7fd-lite.chunk.js.LICENSE.txt} +0 -0
  176. /package/dist/scripts/{1379-976d20185f-lite.chunk.js.LICENSE.txt → 1379-ca519ec56b-lite.chunk.js.LICENSE.txt} +0 -0
  177. /package/dist/scripts/{2004-3005565af0-lite.chunk.js.LICENSE.txt → 2004-e20d72976c-lite.chunk.js.LICENSE.txt} +0 -0
  178. /package/dist/scripts/{4273-de24896b28-lite.chunk.js.LICENSE.txt → 3999-317a4538c6-lite.chunk.js.LICENSE.txt} +0 -0
  179. /package/dist/scripts/{5220-85898810a6-lite.chunk.js.LICENSE.txt → 5220-291b2243ad-lite.chunk.js.LICENSE.txt} +0 -0
  180. /package/dist/scripts/{537-de7445d41a-lite.chunk.js.LICENSE.txt → 537-6efb9bc099-lite.chunk.js.LICENSE.txt} +0 -0
  181. /package/dist/scripts/{624-bf0ff6257f-lite.chunk.js.LICENSE.txt → 624-09b51a9d32-lite.chunk.js.LICENSE.txt} +0 -0
  182. /package/dist/scripts/{6489-532a022587-lite.chunk.js.LICENSE.txt → 6489-c242844567-lite.chunk.js.LICENSE.txt} +0 -0
  183. /package/dist/scripts/{6741-1c125dbc6c-lite.chunk.js.LICENSE.txt → 6741-fe09fea334-lite.chunk.js.LICENSE.txt} +0 -0
  184. /package/dist/scripts/{841-73ef4ba5ec-lite.chunk.js.LICENSE.txt → 841-11af1334bf-lite.chunk.js.LICENSE.txt} +0 -0
  185. /package/dist/scripts/{9395-e9b5cdbdce-lite.chunk.js.LICENSE.txt → 9395-e1a02b01ce-lite.chunk.js.LICENSE.txt} +0 -0
  186. /package/dist/scripts/{9478-abfa7ed3cc-lite.chunk.js.LICENSE.txt → 9478-13da35c4ee-lite.chunk.js.LICENSE.txt} +0 -0
  187. /package/dist/scripts/{953-bf3d621a33-lite.chunk.js.LICENSE.txt → 953-225db845ab-lite.chunk.js.LICENSE.txt} +0 -0
  188. /package/dist/scripts/{bundle-e72459b30e.min.js.LICENSE.txt → bundle-7f9a9b650d.min.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts/184-6ce393c251-lite.chunk.js","mappings":"+FAAmNA,OAAlJC,EAAOC,QAAqK,SAASC,GAAG,IAAIC,EAAE,CAAC,EAAE,SAASC,EAAEC,GAAG,GAAGF,EAAEE,GAAG,OAAOF,EAAEE,GAAGJ,QAAQ,IAAIK,EAAEH,EAAEE,GAAG,CAACE,EAAEF,EAAEG,GAAE,EAAGP,QAAQ,CAAC,GAAG,OAAOC,EAAEG,GAAGI,KAAKH,EAAEL,QAAQK,EAAEA,EAAEL,QAAQG,GAAGE,EAAEE,GAAE,EAAGF,EAAEL,OAAO,CAAC,OAAOG,EAAEM,EAAER,EAAEE,EAAEO,EAAER,EAAEC,EAAEQ,EAAE,SAASV,EAAEC,EAAEE,GAAGD,EAAEE,EAAEJ,EAAEC,IAAIU,OAAOC,eAAeZ,EAAEC,EAAE,CAACY,YAAW,EAAGC,IAAIX,GAAG,EAAED,EAAEA,EAAE,SAASF,GAAG,oBAAoBe,QAAQA,OAAOC,aAAaL,OAAOC,eAAeZ,EAAEe,OAAOC,YAAY,CAACC,MAAM,WAAWN,OAAOC,eAAeZ,EAAE,aAAa,CAACiB,OAAM,GAAI,EAAEf,EAAED,EAAE,SAASD,EAAEC,GAAG,GAAG,EAAEA,IAAID,EAAEE,EAAEF,IAAI,EAAEC,EAAE,OAAOD,EAAE,GAAG,EAAEC,GAAG,iBAAiBD,GAAGA,GAAGA,EAAEkB,WAAW,OAAOlB,EAAE,IAAIG,EAAEQ,OAAOQ,OAAO,MAAM,GAAGjB,EAAEA,EAAEC,GAAGQ,OAAOC,eAAeT,EAAE,UAAU,CAACU,YAAW,EAAGI,MAAMjB,IAAI,EAAEC,GAAG,iBAAiBD,EAAE,IAAI,IAAII,KAAKJ,EAAEE,EAAEQ,EAAEP,EAAEC,EAAE,SAASH,GAAG,OAAOD,EAAEC,EAAE,EAAEmB,KAAK,KAAKhB,IAAI,OAAOD,CAAC,EAAED,EAAEC,EAAE,SAASH,GAAG,IAAIC,EAAED,GAAGA,EAAEkB,WAAW,WAAW,OAAOlB,EAAEqB,OAAO,EAAE,WAAW,OAAOrB,CAAC,EAAE,OAAOE,EAAEQ,EAAET,EAAE,IAAIA,GAAGA,CAAC,EAAEC,EAAEE,EAAE,SAASJ,EAAEC,GAAG,OAAOU,OAAOW,UAAUC,eAAehB,KAAKP,EAAEC,EAAE,EAAEC,EAAEsB,EAAE,GAAGtB,EAAEA,EAAEuB,EAAE,EAAE,CAAn5B,CAAq5B,CAAC,SAASzB,EAAEC,EAAEC,GAAG,aAAaS,OAAOC,eAAeX,EAAE,aAAa,CAACgB,OAAM,IAAK,SAASjB,GAAGA,EAAEA,EAAE0B,QAAQ,GAAG,UAAU1B,EAAEA,EAAE2B,OAAO,GAAG,QAAQ,CAA3D,CAA6D1B,EAAE2B,eAAe3B,EAAE2B,aAAa,CAAC,GAAG,EAAE,SAAS5B,EAAEC,EAAEC,GAAG,aAAaS,OAAOC,eAAeX,EAAE,aAAa,CAACgB,OAAM,IAAK,IAAId,EAAED,EAAE,GAAGD,EAAE4B,cAAc1B,EAAE0B,cAAc,IAAIzB,EAAEF,EAAE,GAAGD,EAAE6B,MAAM1B,EAAE0B,MAAM7B,EAAE8B,YAAY3B,EAAE2B,YAAY,IAAI1B,EAAEH,EAAE,GAAGD,EAAE2B,aAAavB,EAAEuB,aAAa/B,OAAOmC,iBAAiB,QAAO,WAAY,IAAM/B,EAAEJ,OAAO0B,eAAe,aAAe,4GAA4GtB,EAAEgC,SAASC,cAAc,WAAWC,IAAhJ,2GAAsJF,SAASG,KAAKC,YAAYpC,IAAIE,EAAE0B,eAAgB,GAAE,EAAE,SAAS7B,EAAEC,EAAEC,GAAG,aAAaS,OAAOC,eAAeX,EAAE,aAAa,CAACgB,OAAM,IAAK,IAAId,EAAE,CAACmC,GAAG,qBAAqBC,GAAG,wBAAwBC,GAAG,gBAAgBC,GAAG,gBAAgBC,GAAG,mBAAmBC,GAAG,sBAAsBC,GAAG,qBAAqBC,GAAG,iBAAiB,QAAQ,gBAAgBC,GAAG,wBAAwBC,GAAG,kBAAkBC,GAAG,mBAAmB,QAAQ,wBAAwBC,GAAG,kBAAkBC,GAAG,qBAAqBC,GAAG,gCAAgCC,GAAG,mBAAmBC,GAAG,mBAAmBC,GAAG,YAAYC,GAAG,4BAA4BC,GAAG,oBAAoBC,GAAG,wBAAwBC,IAAI,mBAAmBC,GAAG,mBAAmB,QAAQ,qBAAqBC,GAAG,0BAA0BC,GAAG,kBAAkBC,GAAG,eAAeC,GAAG,2BAA2BC,GAAG,sBAAsBC,GAAG,eAAeC,GAAG,kBAAkBC,GAAG,gBAAgBC,GAAG,uBAAuBC,GAAG,kBAAkBC,GAAG,mBAAmBC,GAAG,8BAA8BC,GAAG,iCAAiCC,GAAG,aAAaC,GAAG,wBAAwBC,GAAG,wBAAwBC,GAAG,iCAAiCC,GAAG,kBAAkBC,GAAG,SAASC,IAAI,uBAAuB,UAAU,aAAaC,GAAG,kBAAkBC,GAAG,mBAAmBC,GAAG,mBAAmBC,GAAG,yBAAyBC,GAAG,oBAAoBC,GAAG,iBAAiBC,GAAG,kBAAkBC,GAAG,oBAAoBC,GAAG,kBAAkBC,GAAG,iBAAiBC,GAAG,kBAAkBC,GAAG,kBAAkBC,GAAG,gBAAgBC,GAAG,oBAAoB,QAAQ,qBAAqBC,GAAG,qBAAqBC,IAAI,+BAA+BC,GAAG,gBAAgBC,GAAG,cAAc,UAAU,uBAAuBC,GAAG,qBAAqBC,IAAI,gBAAgBC,GAAG,mBAAmBC,IAAI,+BAA+BC,IAAI,iBAAiBC,GAAG,mBAAmBC,GAAG,8BAA8BC,GAAG,eAAeC,GAAG,aAAaC,GAAG,oBAAoBC,GAAG,kBAAkBC,GAAG,kBAAkBC,GAAG,kBAAkB,aAAa,wBAAwB,aAAa,wBAAwB,aAAa,wBAAwBC,GAAG,mBAAmBC,GAAG,yBAAyBC,GAAG,kBAAkBC,GAAG,gCAAgC,aAAa,mBAAmBC,GAAG,kBAAkBC,GAAG,oBAAoBC,GAAG,oBAAoBC,GAAG,oBAAoBC,GAAG,oBAAoBC,GAAG,0BAA0B,QAAQ,gBAAgBC,GAAG,oBAAoBC,GAAG,oBAAoBC,GAAG,4BAA4BC,GAAG,sBAAsBC,GAAG,qBAAqBC,GAAG,oBAAoBC,GAAG,eAAeC,GAAG,SAAS,UAAU,UAAUC,GAAG,wBAAwB,SAAS7H,EAAEJ,GAAG,IAAIC,EAAEgC,SAASC,cAAc,OAAOjC,EAAEkC,IAAI,6GAA6G,IAAIjC,EAAEF,EAAEkI,aAAa,sBAAsB,KAAKjI,EAAEkI,MAAMC,OAAOnI,EAAEkI,MAAME,MAAMnI,EAAE,KAAKD,EAAEkI,MAAMG,cAAc,SAASrI,EAAEkI,MAAMI,UAAU,OAAO,IAAIpI,EAAEH,EAAEkI,aAAa,gBAAgB,KAAKjI,EAAEuI,IAAI/G,EAAEtB,GAAGH,EAAEqC,YAAYpC,EAAE,CAAC,SAASI,EAAEL,GAAG,IAAIC,EAAEgC,SAASC,cAAc,QAAQjC,EAAEkI,MAAMM,WAAW,MAAMzI,EAAEqC,YAAYpC,EAAE,CAAC,SAASyI,EAAE1I,GAAG,IAAIC,EAAEgC,SAASC,cAAc,QAAQhC,EAAEF,EAAEkI,aAAa,gBAAgB,KAAKjI,EAAE0I,YAAYlH,EAAEvB,GAAGF,EAAEqC,YAAYpC,EAAE,CAAC,SAASwB,EAAEzB,GAAG,OAAOA,EAAEA,EAAE4I,cAAczI,EAAEH,GAAGG,EAAEH,GAAG,UAAUA,GAAG,UAAUA,GAAG,UAAUA,EAAEG,EAAE,YAAYH,EAAEA,EAAE6I,UAAU,EAAE7I,EAAE8I,YAAY,MAAM3I,EAAEH,GAAGG,EAAEH,IAAIA,EAAEA,EAAE6I,UAAU,EAAE7I,EAAE8I,YAAY,MAAM3I,EAAEH,GAAGG,EAAEH,GAAGG,EAAEiD,IAAI,CAACnD,EAAE4B,cAAc,SAAS7B,GAAG,IAAIC,EAAEgC,SAASC,cAAc,SAASjC,EAAE8I,UAAU,yJAAyJ9G,SAASG,KAAKC,YAAYpC,GAAG,IAAIC,EAAE,GAAG8I,MAAMzI,KAAK0B,SAASgH,uBAAuB,4BAA4BjJ,GAAGA,EAAEkJ,WAAWhJ,EAAEF,EAAEkJ,UAAU,IAAI,IAAI/I,EAAE,EAAEgJ,EAAEjJ,EAAEC,EAAEgJ,EAAEC,OAAOjJ,IAAI,CAAC,IAAIO,EAAEyI,EAAEhJ,GAAGO,EAAE2I,aAAa,OAAO,UAAU,IAAI/I,EAAEI,EAAEwH,aAAa,gBAAgB,KAAK,OAAOxH,EAAE2I,aAAa,aAAa5H,EAAEnB,IAAII,EAAEwH,aAAa,sBAAsB,QAAQ,IAAI,OAAO9H,EAAEM,GAAG,MAAM,IAAI,OAAOgI,EAAEhI,GAAG,MAAM,IAAI,cAAcN,EAAEM,GAAGL,EAAEK,GAAGgI,EAAEhI,GAAG,CAAC,CAAC,EAAE,SAASV,EAAEC,EAAEC,GAAG,aAAa,IAAIC,EAAEmJ,MAAMA,KAAKC,UAAU,WAAW,OAAOpJ,EAAEQ,OAAO6I,QAAQ,SAASxJ,GAAG,IAAI,IAAIC,EAAEC,EAAE,EAAEC,EAAEsJ,UAAUL,OAAOlJ,EAAEC,EAAED,IAAI,IAAI,IAAIE,KAAKH,EAAEwJ,UAAUvJ,GAAGS,OAAOW,UAAUC,eAAehB,KAAKN,EAAEG,KAAKJ,EAAEI,GAAGH,EAAEG,IAAI,OAAOJ,CAAC,GAAG0J,MAAMJ,KAAKG,UAAU,EAAE9I,OAAOC,eAAeX,EAAE,aAAa,CAACgB,OAAM,IAAK,IAAIb,EAAEF,EAAE,GAAGG,EAAEH,EAAE,GAAGwI,EAAE,CAAC,EAAE,SAASjH,EAAEzB,GAAG,QAAIA,GAAkB,IAAI2J,OAAO,8DAA8DC,KAAK5J,EAAE,CAAC0I,EAAErI,EAAEwJ,UAAUC,cAAc,wCAAwCpB,EAAErI,EAAEwJ,UAAUE,WAAW,gCAAgCrB,EAAErI,EAAEwJ,UAAUG,aAAa,iEAAiEtB,EAAErI,EAAEwJ,UAAUI,kBAAkB,qCAAqChK,EAAE8B,YAAY,SAAS/B,EAAEC,EAAEC,EAAEiJ,GAAG,OAAO,IAAIe,SAAQ,SAAUxJ,EAAEJ,GAAG,GAAGN,EAAE,GAAGE,EAAE,GAAGA,EAAEiK,OAAO,GAAGjK,EAAEiK,OAAOf,OAAO,GAAG3H,EAAExB,IAAIkJ,GAAGA,EAAEiB,aAAa,CAAC,IAAI3J,EAAE4J,KAAKC,OAAOnB,EAAEhJ,EAAE,CAACoK,SAAS,IAAIC,QAAQ,KAAKC,YAAW,EAAGC,iBAAgB,EAAGC,gBAAe,EAAGC,aAAaxK,EAAEwB,aAAaF,SAASyH,IAAIoB,UAAU,iBAAiBpB,EAAEoB,WAAWpB,EAAEoB,SAAS,KAAK,IAAI/J,EAAE,KAAKqK,EAAE5I,SAASC,cAAc,OAAOV,EAAE2H,EAAEsB,WAAWxI,SAASC,cAAc,WAAWD,SAASC,cAAc,UAAU4I,EAAE7I,SAASC,cAAc,SAAS4I,EAAE/B,UAAU,qCAAqC,IAAIgC,EAAE,WAAWvK,IAAIX,OAAOmL,aAAaxK,GAAGA,EAAE,KAAK,EAAEyK,EAAE,WAAWhJ,SAASiJ,KAAKC,SAASN,IAAI5I,SAASiJ,KAAKE,YAAYP,GAAGhL,OAAOwL,oBAAoB,UAAUC,GAAGP,IAAID,EAAES,YAAYT,EAAES,WAAWH,YAAYN,EAAE,EAAEU,EAAE,WAAWP,IAAI9B,EAAEsC,QAAQtC,EAAEsC,QAAQ,EAAER,IAAI,IAAIK,EAAE,SAASnL,GAAG,GAAGA,GAAGA,EAAEuL,KAAK,GAAG,oCAAoCvL,EAAEuL,KAAK,CAACX,IAAI,IAAI3K,EAAE,CAACuL,mBAAmB3L,EAAE4L,iBAAiB3L,EAAE4L,QAAQ3L,EAAE4L,oCAAoCzB,KAAKC,MAAM7J,GAAGe,EAAEuK,cAAcC,YAAYC,KAAKC,UAAU,CAACC,YAAY,UAAUC,aAAahM,IAAI,IAAI,MAAM,GAAG,yBAAyBD,EAAEuL,KAAKF,SAAS,GAAGrL,EAAEuL,KAAKW,WAAW,mCAAmC,CAAC,IAAI5K,EAAE,KAAK0H,EAAE,KAAK3I,EAAE,KAAK,IAAIA,EAAEyL,KAAKK,MAAMnM,EAAEuL,KAAK7C,UAAU,IAA0C,CAAC,MAAM7I,GAAG,CAACQ,GAAGA,EAAE+L,QAAQ9K,EAAE,CAAC+K,UAAU3B,EAAE4B,UAAUjM,EAAEiM,WAAWtD,EAAE3I,IAAIA,EAAE+L,QAAQ,CAACG,KAAKlM,EAAEmM,UAAUC,QAAQlE,EAAElI,EAAEmM,WAAWF,UAAUjM,EAAEiM,WAAW,CAACC,KAAKrM,EAAEwJ,UAAUG,YAAY4C,QAAQlE,EAAErI,EAAEwJ,UAAUG,cAAcvI,GAAGsJ,IAAIrK,EAAEe,IAAI0H,IAAIqC,IAAIlL,EAAE6I,GAAG,CAAC,EAAEtJ,OAAOmC,iBAAiB,UAAUsJ,GAAG9K,EAAEX,OAAOgN,YAAW,WAAY5B,IAAI3K,EAAE,CAACoM,KAAKrM,EAAEwJ,UAAUiD,QAAQF,QAAQ,sCAAsCzD,EAAEqB,QAAQ,QAAS,GAAErB,EAAEqB,SAASrB,EAAEuB,iBAAiBlJ,EAAE6H,aAAa,kBAAkB,IAAI7H,EAAE2G,MAAM4E,QAAQ,kFAAkF5D,EAAEsB,YAAYjJ,EAAEQ,iBAAiB,YAAW,WAAYR,EAAEuK,cAAcC,YAAYC,KAAKC,UAAU,CAACC,YAAY,gBAAgB,IAAK,IAAG,IAAIa,GAAG7D,EAAEiB,aAAajB,EAAEiB,aAAa,WAAWnK,EAAE,6DAA6D,2EAA2E+M,GAAG,kBAAkB7D,EAAEyB,eAAexK,EAAEwB,aAAaD,OAAO,SAAS,WAAWwH,EAAEwB,iBAAiBqC,GAAG,wBAAwB7D,EAAE8D,SAASD,GAAG,SAAS7D,EAAE8D,QAAQzL,EAAEW,IAAI6K,EAAEnC,EAAE1C,MAAM4E,QAAQ,sHAAsH5D,EAAEoB,SAAS,wCAAwCM,EAAExI,YAAYb,GAAGS,SAASiJ,KAAK7I,YAAYwI,GAAG5I,SAASG,KAAKC,YAAYyI,EAAE,MAAMxK,EAAE,CAACoM,KAAKrM,EAAEwJ,UAAUI,iBAAiB2C,QAAQlE,EAAErI,EAAEwJ,UAAUI,yBAAyB3J,EAAE,CAACoM,KAAKrM,EAAEwJ,UAAUqD,YAAYN,QAAQ,kCAAkCtM,EAAE,CAACoM,KAAKrM,EAAEwJ,UAAUqD,YAAYN,QAAQ,iCAAiCtM,EAAE,CAACoM,KAAKrM,EAAEwJ,UAAUqD,YAAYN,QAAQ,kCAAkCtM,EAAE,CAACoM,KAAKrM,EAAEwJ,UAAUqD,YAAYN,QAAQ,0BAA2B,GAAE,EAAE3M,EAAE6B,MAAM,WAAWjC,OAAOmM,YAAY,uBAAuB,IAAI,EAAE/L,EAAEkN,iBAAiB1L,CAAC,EAAE,SAASzB,EAAEC,EAAEC,GAAG,aAAaS,OAAOC,eAAeX,EAAE,aAAa,CAACgB,OAAM,IAAK,SAASjB,GAAGA,EAAEkN,YAAY,cAAclN,EAAE8M,QAAQ,UAAU9M,EAAE8J,aAAa,eAAe9J,EAAE+J,UAAU,YAAY/J,EAAEgK,YAAY,cAAchK,EAAEiK,iBAAiB,kBAAkB,CAAnL,CAAqLhK,EAAE4J,YAAY5J,EAAE4J,UAAU,CAAC,GAAG,G,iKCiB5uTuD,EAAY,wBAwBZ,SAAUC,EAAeC,GAC7B,IAAMC,GAAgB,QAAcD,EAAME,MAAOF,EAAMG,OAEjDC,GAAe,QACnBJ,EAAME,MACNF,EAAMK,iBACNJ,EACAD,EAAMM,uBAGFC,GAAmB,QAA4BP,EAAMK,iBAAkBJ,GAE7E,IAAKA,EACH,OAAO,iCAET,IArCuBE,E,QAqCjBK,GApCkB,QAApB,EAAW,QAAX,EAAAL,OADmBA,EAqCcH,EAAMG,YApClC,EAALA,EAAO/B,YAAI,eAAEqC,eAAO,eAAEC,WAA+B,QAApB,EAAW,QAAX,EAAAP,aAAK,EAALA,EAAO/B,YAAI,eAAEqC,eAAO,eAAEE,WAClDR,EAAM/B,KAAKqC,QAGb,CACLC,QAAS,UACTC,UAAW,WAgCPC,EAA8D,mBAAjCZ,EAAMa,uBACnCC,EAAkE,mBAArCd,EAAMe,2BAEzC,OACE,uBACEC,UAAS,gGAA2F,eACpGnG,MAAO,CAAEoG,gBAAiBT,EAAaE,UAEvC,uBAAKM,UAAS,UAAK,YAAc,4CAC/B,2BACE,sBAAIA,UAAU,MAAK,gBAAC,IAAI,CAAClB,UAAWA,EAAWoB,OAAO,oBACrDN,GACC,gBAAC,IAAS,CACRO,QAASnB,EAAMa,uBACfG,UAAS,UAAK,eAAiB,iEAE/B,gBAAC,IAAI,CAAClB,UAAWA,EAAWoB,OAAO,yBAGvC,uBACEE,IAAKb,EACLY,QAAS,SAACE,GAAmD,OAC3D,QAAgBA,EAAOrB,EAAMK,iBAAkBL,EAAMsB,aAAa,EAEpEC,wBAAyB,CAAEC,OAAQpB,KAGnC,W,YACA,OAA2B,QAAtB,EAAgB,QAAhB,EAAAJ,EAAME,MAAMuB,YAAI,eAAErD,YAAI,eAAEtC,QAI3B,uBAAKkF,UAAU,QACb,gBAAC,IAAO,eACNS,KAAuB,QAAjB,EAAW,QAAX,EAAAzB,EAAME,aAAK,eAAEuB,YAAI,eAAErD,KACzBoC,aAAcA,GACV,sBAA4BR,EAAM0B,cAAe,KAAM1B,EAAMM,0BAP9D,gCAWX,CAbE,GAeF,uBAAKU,UAAU,QACZF,GACC,gBAAC,IAAS,CACRK,QAASnB,EAAMe,2BACfC,UAAU,uDAEV,gBAAC,IAAI,CAAClB,UAAWA,EAAWoB,OAAO,2BAO3C,W,UACMS,EAAuC,QAAzB,EAAiB,QAAjB,EAAW,QAAX,EAAA3B,EAAMG,aAAK,eAAE/B,YAAI,eAAEwD,cAAM,QAAI,CAAC,EAQlD,OAN2B,SACnBD,GACLE,QAAO,SAACC,GACP,OAAQ,YAAqBH,EAAYG,GAC3C,IAEwBC,KAAI,SAACC,G,QACvBC,EAAM,cAA0C,QAApB,EAAAN,EAAYK,UAAQ,eAAEC,IAAK,CAAEC,KAAM,cAErE,OACE,uBACEJ,IAAyB,QAApB,EAAAH,EAAYK,UAAQ,eAAEG,OAC3BnB,UAAS,UAAK,IAAOgB,GAAQ,YAAI,eAAiB,sBAClDnH,MAAO,CACLuH,gBAAiB,QAAF,OAAUH,EAAG,QAIpC,GACF,CAtBE,GAyBR,C,wPC/HA,IAAMI,EAAY,qCACZC,EAAe,SACfC,EAAiB,SACjBC,EAAwB,UAwDxB,SAAUC,EACdpB,EACAhB,EACAiB,GAEAD,EAAMqB,iBAEN,IAAMC,EAAQtB,EAAMuB,OAA0BhI,aAAa,QAG3D,IAAK+H,aAAI,EAAJA,EAAME,SAAS,eAAgBxC,aAAgB,EAAhBA,EAAkBvE,QAAtD,CAIA,IAAMgH,EAAQH,EAAKI,MAAM,gBAAgB,GACnCC,EAAM3C,EAAiB4C,MAAK,SAAA/O,GAAC,OAAIA,EAAE6C,GAAGmM,aAAeJ,CAAK,IAChExB,GAAgB0B,GAAO1B,EAAa0B,EAAIG,UALhC,CAMV,CAEM,SAAUC,EACdlD,EACAG,EACAgD,EACA/C,G,UAEsD,G,GAAZ,IAAAgD,UAAS,I,EAAG,E,o4BAA9ClD,EAAY,KAAEmD,EAAe,KAWrC,OATA,IAAAC,YAAU,WACR,GAAKH,EAAL,CAGA,IAAMI,EAhDV,SACEC,EACArD,EACAC,GAEA,IAAMmD,EA1CR,SACEC,EACArD,EACAC,GAEA,OAAKD,aAAgB,EAAhBA,EAAkBvE,QAGhB4H,EAAOD,QAAQE,QAAQtB,GAAW,SAACuB,GACxC,IAAMC,EAAUD,EAAOE,MAAMxB,GAE7B,KAAKuB,aAAO,EAAPA,EAAS/H,QACZ,OAAO8H,EAET,IAAMZ,EAAM3C,EAAiB4C,MAAK,SAAA/O,GAAC,OAAIA,EAAE6C,GAAGmM,aAAeW,EAAQ,EAAE,IAC/DE,EAAeH,EAAOE,MAAMvB,GAElC,IAAKS,KAAQe,aAAY,EAAZA,EAAcjI,QACzB,OAAO8H,EAET,IAAMI,EAAY,sBAAH,OAAyB,sBAAiD,IAAhBhB,EAAIG,WAAiB,WAE1Fc,EAAUF,EAAa,GAS3B,OALAE,GAFAA,EAAUA,EAAQN,QAAQnB,EAAuB,MAE5BQ,EAAIkB,YAEzBD,EAAU,GAAH,OAAMD,EAAS,YAAIC,GAGlB3D,EAC0C,+BACtB2D,EAAO,WAD/BL,EAAOD,QAAQpB,EAAgB,IAAF,OAAM0B,EAAO,KAEhD,IA5BSP,EAAOD,OA6BlB,CAOkBU,CAA0BT,EAAQrD,EAAkBC,GAEpE,OAAO,EAAOmD,GACXV,MAAM,oBACNqB,KAAK,kCACV,CAsCoBC,CAAiBnE,EAAMwD,OAAQrD,EAAkBC,GAEjEiD,EAAgBE,EAJR,CAKV,GAAG,CAAc,QAAZ,EAAAvD,EAAMwD,cAAM,eAAED,QAASpD,aAAgB,EAAhBA,EAAkBvE,OAAQuH,IAE/CjD,CACT,CAEM,SAAUkE,EACdjE,EACAkE,GAEA,IAAMnD,GAAM,IAAAoD,UAoCZ,SAASC,IACP,IAAM9B,EAAO3G,KAAKpB,aAAa,QAE/B,IAAK+H,aAAI,EAAJA,EAAME,SAAS,eAAgBxC,aAAgB,EAAhBA,EAAkBvE,QAAtD,CAGA,IAAM/E,EAAK4L,EAAKI,MAAM,gBAAgB,GAEtC,GAAKhM,EAAL,CAGA,IAAMiM,EAAM3C,EAAiB4C,MAAK,SAAA/O,GAAC,OAAIA,EAAE6C,GAAGmM,aAAenM,CAAE,IAEzDiM,GACF,YAAsB,uBAAwBA,EALxC,CALA,CAWV,CAEA,SAAS0B,IACP,YAAsB,wBACxB,CAMA,SAASC,I,MACP,OAAkB,QAAX,EAAAvD,EAAIwD,eAAO,eAAEC,iBAAiB,qBACvC,CAEA,OA/DA,OAA0B,wBAkB1B,SAA8BC,G,MACtBhC,EAAQgC,aAAe,EAAfA,EAAiB/N,GAE1B+L,IAGU,QAAf,EA+BF,SAAkB/L,G,MAChB,OAAkB,QAAX,EAAAqK,EAAIwD,eAAO,eAAEG,cAAc,sBAAD,OAAuBhO,EAAE,MAC5D,CAjCEiO,CAASlC,UAAM,SAAEmC,UAAUC,IAAI,kBACjC,GAzBwE,KAAMX,IAC9E,OAA0B,yBA0B1B,W,MACgB,QAAd,EAAAI,WAAc,SAAEQ,SAAQ,SAAAtP,GAAE,OAAIA,EAAGoP,UAAUG,OAAO,iBAAoB,GACxE,GA5B0E,KAAMb,IAEhF,IAAAf,YAAU,WACR,GAAKpC,EAAIwD,SAAYL,EAArB,CAGA,IAAMc,EAASV,IAKf,OAHAU,EAAOF,SAAQ,SAAAtP,GAAE,OAAIA,EAAGnB,iBAAiB,YAAa+P,EAAqB,IAC3EY,EAAOF,SAAQ,SAAAtP,GAAE,OAAIA,EAAGnB,iBAAiB,aAAcgQ,EAAsB,IAEtE,WACLW,EAAOF,SAAQ,SAAAtP,GAAE,OAAIA,EAAGkI,oBAAoB,YAAa0G,EAAqB,IAC9EY,EAAOF,SAAQ,SAAAtP,GAAE,OAAIA,EAAGkI,oBAAoB,aAAc2G,EAAsB,GAClF,CAVQ,CAWV,GAAG,CAACtD,EAAIwD,UA+CDxD,CACT,CAEM,SAAUiC,EAAcnD,EAAqBoF,G,QACjD,OAAOA,IACO,QAAZ,EAAApF,EAAMwD,cAAM,eAAED,UACW,mBAAb,QAAZ,EAAAvD,EAAMwD,cAAM,eAAE6B,OAClB,C,2MCxLA,SAAgB,YAAc,QAAQ,kBAAoB,SCsB1D,IAAMzF,EAAY,sBACZ0F,EAAYC,EAAA,mBAAiC3F,GAQnD,SAAS4F,EAAU1F,GACjB,IAAQ2F,EAA4B3F,EAA5B2F,MAAOC,EAAqB5F,EAArB4F,MAAO5E,EAAchB,EAAdgB,UAItB,KAFiB4E,GAASA,EAAMxH,MAAQwH,EAAMxH,KAAKtC,QAGjD,OAAO,iCAET,IAAM+J,EAAiBD,EAAMxH,KAAK2D,KAAI,SAAAhP,GAAC,OAAIA,EAAE+S,IAAI,IAAE1B,KAAK,MAExD,OACE,uBAAKpD,UAAWA,GAAY2E,EAAK,KAAIE,EAEzC,CAEA,SAASE,EAAe/F,G,oBACdE,EAAUF,EAAVE,MAER,IAAK8F,EAAA,UAAoB9F,KAAW8F,EAAA,SAAmB9F,GACrD,OAAO,iCAST,IAAM+F,EAAcD,EAAA,iBAA2B9F,GAE/C,OACE,uBAAKc,UAAWd,EAAMgE,YAAc,gCAAkC,UACpE,sBAAIlD,UAAU,WAAU,gBAACkF,EAAA,EAAI,CAAChF,OAAO,eAClC+E,EAAYE,gBACb,uBAAKnF,UAAU,QACb,gBAACkF,EAAA,EAAI,CAAChF,OAAO,iBAAiBkF,QAAS,CAAEC,KAAMJ,EAAYE,mBAG/D,gBAACT,EAAS,CACRC,MAAOH,EAAU,sBAAuB,CAAEc,WAAiD,QAArC,EAA+B,QAA/B,EAAAL,EAAYM,2BAAmB,eAAEnI,YAAI,eAAEtC,SAC7F8J,MAAOK,EAAYM,oBACnBvF,UAAU,SAEZ,gBAAC0E,EAAS,CACRC,MAAOH,EAAU,eAAgB,CAAEc,WAA0C,QAA9B,EAAwB,QAAxB,EAAAL,EAAYO,oBAAY,eAAEpI,YAAI,eAAEtC,SAC/E8J,MAAOK,EAAYO,aACnBxF,UAAU,SAEZ,gBAAC0E,EAAS,CACRC,MAAOH,EAAU,YAAa,CAAEc,WAAuC,QAA3B,EAAqB,QAArB,EAAAL,EAAYQ,iBAAS,eAAErI,YAAI,eAAEtC,SACzE8J,MAAOK,EAAYQ,UACnBzF,UAAU,SAEZ,gBAAC0E,EAAS,CACRC,MAAOH,EAAU,YAAa,CAAEc,WAAuC,QAA3B,EAAqB,QAArB,EAAAL,EAAYS,iBAAS,eAAEtI,YAAI,eAAEtC,SACzE8J,MAAOK,EAAYS,UACnB1F,UAAU,WAETiF,EAAYU,eACb,uBAAK3F,UAAU,QACb,gBAACkF,EAAA,EAAI,CAAChF,OAAO,gBAAgBkF,QAAS,CAAEQ,KAAMC,EAAA,SAAkBZ,EAAYU,cAAe,oBAG5FV,EAAYa,SACb,uBAAK9F,UAAU,QACb,gBAACkF,EAAA,EAAI,CAAChF,OAAO,UAAUkF,QAAS,CAAEU,QAASb,EAAYa,QAAQhB,SA5CvE,W,QACE,SAAsB,QAAjB,EAAA9F,EAAM+G,mBAAW,eAAEC,oBAGf9G,EAAM+G,eAAyC,QAAzB,EAAA/G,EAAMgH,2BAAmB,eAAEvT,MAC5D,CA0CKwT,IACC,uBAAKnG,UAAU,QACb,gBAACkF,EAAA,EAAI,CAAChF,OAAO,eAAekF,QAAS,CAAEQ,KAAMC,EAAA,SAAkB3G,EAAM+G,YAAa,kBAK5F,CAeM,SAAUG,EAA0BpH,G,MAChCE,EAA6CF,EAA7CE,MAAK,EAAwCF,EAAtCqH,UAAAA,OAAS,IAAG,MAAqB,EAE1CpB,EAAcD,EAAA,iBAA2B9F,GAEzCoH,IAAoBtH,EAAME,MAAMgE,YAEhCqD,GACJ,OAAQvH,EAAME,UACZ+F,EAAYE,kBACZF,EAAYU,iBACZV,EAAYa,YACX5G,EAAM+G,cAAyC,QAAzB,EAAA/G,EAAMgH,2BAAmB,eAAEvT,QAGhD6T,EAAyC,mBAAvBxH,EAAMyH,aACxBC,EAAkE,mBAArC1H,EAAMe,2BASzC,OAAKuG,GAAoBC,EAIvB,gBAAC,aAAiC,CAAC5T,MAAOmM,GACxC,uBAAKkB,UAAU,6CACb,gBAAC,KAAU,CAAC2G,YAAU,EAACC,cAAeP,GACpC,uBAAKrG,UAAU,WACZsG,GACC,uBAAKtG,UAAWuG,EAAc,GAAH,OAAM,oBAAwB,kBAAmB,UAC1E,uBAAKvG,UAAU,6BACb,sBAAIA,UAAU,WACZ,gBAACkF,EAAA,EAAI,CAAChF,OAAO,iBAEf,gBAAC2G,EAAA,EAAe,CACdC,KAAM5H,EAAMgE,YACZ6D,MAAO7H,EAAM4F,KACb9E,UAAU,OACVgH,SAAUhI,EAAMiI,wBAChB9J,OAAQ6B,EAAMkI,sBACdC,iBAAkB,CAChBC,SAAU,cACVC,OAAQ,WACRC,WAAY,WACZC,WAAY,4BAEdC,cAAe,CAAEzR,GAAImJ,EAAMnJ,GAAI0R,KAAM,kBAGzC,qBAAGzH,UAAU,OAAOO,wBAAyB,CAAEC,OAAQkH,EAAA,cAA0B1I,EAAME,MAAMgE,YAAa,CAAEyE,OAAO,OACnH,gBAACC,EAAA,EAAO,eACNnH,KAtChB,W,QACE,OAAIzB,EAAM6I,UAAY7C,EAAA,gBAA0BhG,EAAME,UAAiC,QAAtB,EAAgB,QAAhB,EAAAF,EAAME,MAAMuB,YAAI,eAAErD,YAAI,eAAEtC,QAChF,KAEFkE,EAAME,MAAMuB,KAAKrD,IAC1B,CAiCsB0K,IACFC,EAAA,oBAA4B/I,EAAM0B,cAAe,KAAM1B,EAAMM,uBAAsB,CACvFU,UAAU,UAEX0G,GACC,gBAACsB,EAAA,EAAS,CACR7H,QAASnB,EAAMe,2BACfC,UAAU,iEAEV,gBAACkF,EAAA,EAAI,CAACpG,UAAWA,EAAWoB,OAAO,yBAM1CqG,GACC,gBAACxB,EAAc,iBAAK/F,MAKzBwH,GACC,0BACEiB,KAAK,SACLzH,UAAS,oBAAe,eAAoB,aACjC,QACXG,QAASnB,EAAMyH,iBAxDhB,gCA8DX,C,+DChNM,SAAUwB,IACd,OACE,uBAAKjI,UAAU,2BACb,uBAAKA,UAAU,OACb,uBAAKA,UAAU,8BACb,uBAAKA,UAAU,kCAAkCnG,MAAO,CAAEC,OAAQ,SAAUC,MAAO,WACnF,uBAAKiG,UAAU,kCAAkCnG,MAAO,CAAEC,OAAQ,YAClE,uBAAKkG,UAAU,6BAA6BnG,MAAO,CAAEC,OAAQ,SAAUC,MAAO,YAEhF,uBAAKiG,UAAU,iCACb,uBAAKA,UAAU,kCAAkCnG,MAAO,CAAEC,OAAQ,SAAUC,MAAO,UACnF,uBAAKiG,UAAU,kCAAkCnG,MAAO,CAAEC,OAAQ,SAAUC,MAAO,WACnF,uBAAKiG,UAAU,kCAAkCnG,MAAO,CAAEC,OAAQ,SAAUC,MAAO,WACnF,uBAAKiG,UAAU,sDAAsDnG,MAAO,CAAEC,OAAQ,SAAUC,MAAO,UACvG,uBAAKiG,UAAU,sDAAsDnG,MAAO,CAAEC,OAAQ,SAAUC,MAAO,UACvG,uBAAKiG,UAAU,sDAAsDnG,MAAO,CAAEC,OAAQ,SAAUC,MAAO,YACvG,uBAAKiG,UAAU,sDAAsDnG,MAAO,CAAEC,OAAQ,SAAUC,MAAO,cAKjH,C,yGCtBA,SAAgB,gBAAkB,QAAQ,OAAS,SCe7C,SAAUmO,EAAelJ,G,MAC7B,IAAKA,EAAMmJ,QAAUnJ,EAAMoJ,mBACzB,OAAO,iCAET,GAAIpJ,EAAMoJ,mBACR,OACE,uBAAKpI,UAAU,qCACb,uBAAKA,UAAS,UAAK,kBAAsB,kDACvC,gBAACqI,EAAA,EAAa,CAACrI,UAAS,eAAU,WAChC,gBAAC,KAAiB,QAEhB,aAMZ,IAAM8E,EAAOwD,EAAA,mBAA4BtJ,EAAMmJ,OAE/C,OAAKrD,EAIH,uBAAK9E,UAAU,6BACb,uBAAKA,UAAS,UAAK,kBAAsB,UACvC,gBAACuI,EAAA,EAAM,CACLC,YAAaxJ,EAAMwJ,YACnBC,SAAUH,EAAA,cAAuBtJ,EAAMmJ,MAAMrD,KAAM9F,EAAMmJ,MAAMO,SAC/DC,SAA4B,QAAlB,EAAA3J,EAAMmJ,MAAMS,cAAM,eAAE3H,OAGlC,uBAAKjB,UAAU,WACZ8E,IAZE,gCAgBX,C,gICjCO,IAAM+D,EAAiB,QAAW,SAAS7J,G,MAChD,OACE,uBAAKgB,UAAS,6BCpBK,UDqBjB,uBAAKA,UAAU,oCACb,uBAAKA,UAAU,aACb,gBAAC8I,EAAA,EAAc,CACb5J,MAAOF,EAAM5B,KACb2L,QAAS/J,EAAMgK,WAAWhK,EAAM5B,MAChCqK,KAAK,WACLwB,aAAc,CAAE/H,KAAM,YACtBgI,aAAcC,EAAA,cACdhC,iBAAkB,CAAEC,SAAU,sBAC9BgC,SAAO,KAIX,uBAAKpJ,UAAU,aACb,uBAAKA,UAAU,QACb,gBAACqJ,EAAA,EAAO,CAACN,QAAS/J,EAAMgK,WAAWhK,EAAM5B,OACvC,sBAAI4C,UAAU,WAAU,wBAAMA,UAAU,WAAWhB,EAAM5B,KAAK0H,QAGhE,gBAACoD,EAAA,EAAc,CACbC,MAAOnJ,EAAM5B,KAAK+K,MAClBC,mBAAkD,QAA9B,EAAApJ,EAAM5B,KAAK8I,2BAAmB,eAAEvT,MACpD6V,YAAaxJ,EAAMwJ,iBAOjC,G,2IElCA,IAQac,EAAwB,QAAW,SAAStK,G,MACjDuK,EAAgB,+BACjBvK,EAAMuK,kBAAgB,CACzBC,KAAM,CAACxK,EAAM5B,KAAKrH,MAGpB,OACE,uBAAKiK,UAAS,6BC/BK,UDgCjB,uBAAKA,UAAU,oCACb,uBAAKA,UAAU,aACb,gBAAC8I,EAAA,EAAc,CACb5J,MAAOF,EAAM5B,KACb2L,QAAS/J,EAAMgK,WAAWhK,EAAM5B,MAChCqK,KAAK,WACLwB,aAAc,CAAE/H,KAAM,YACtBgI,aAAcC,EAAA,cACdC,SAAO,EACPjC,iBAAkB,CAAEC,SAAU,yBAIlC,uBAAKpH,UAAU,aACb,uBAAKA,UAAU,QACb,gBAACqJ,EAAA,EAAO,CAACN,QAAS/J,EAAMgK,WAAWhK,EAAM5B,OACvC,sBAAI4C,UAAU,WAAU,wBAAMA,UAAU,WAAWhB,EAAM5B,KAAK0H,QAGhE,gBAACoD,EAAA,EAAc,CACbC,MAAOnJ,EAAM5B,KAAK+K,MAClBC,mBAAkD,QAA9B,EAAApJ,EAAM5B,KAAK8I,2BAAmB,eAAEvT,MACpD6V,YAAaxJ,EAAMwJ,cAGrB,gBAACa,EAAA,EAAO,CAACrJ,UAAU,YAAY+I,QAASQ,GACtC,gBAACrE,EAAA,EAAI,CAACpG,UA1CF,+BA0CwBoB,OAAO,yBAOjD,G,gQEjEA,SAAgB,WAAa,QAAQ,KAAO,QAAQ,UAAY,QAAQ,SAAW,QAAQ,YAAc,QAAQ,eAAiB,QAAQ,eAAiB,QAAQ,QAAU,QAAQ,WAAa,QAAQ,mBAAqB,QAAQ,WAAa,QAAQ,YAAc,QAAQ,KAAO,QAAQ,WAAa,QAAQ,UAAY,QAAQ,gBAAkB,QAAQ,oBAAsB,QAAQ,aAAe,SAAS,kBAAoB,QAAQ,SAAW,SCqG3b,SAAUuJ,EAAazK,G,YACvB0K,EAAW,KAEX,aAAc1K,EAAM5B,OACtBsM,EAAW1K,EAAM5B,KAAKsM,UAGxB,IAAMC,EAAaC,EAAA,SAAkC5K,EAAM5B,KAAMyM,EAAA,YAoBjE,OACE,gCACE,uBAAK7J,UAAW,eACd,uBAAKA,UAAW,kBACd,uBAAKA,UAtBb,SAAgC8J,G,MAC1BC,EAAY,8GAAH,OAtFjB,SAAmBD,GACjB,OAAQA,GACN,IAAK,aACH,OAAO,YACT,IAAK,mBACH,OAAO,kBACT,IAAK,eACH,OAAO,cACT,IAAK,uBACH,OAAO,sBACT,QACE,OAAO,eAEb,CA2E0BE,CAAUF,GAAa,YAAI,kBAYjD,OAVe,QAAX,EAAA9K,EAAMG,aAAK,eAAE8K,gBACfF,GAAa,IAAJ,OAAQ/K,EAAMG,MAAM8K,gBAE7BF,GAAa,aAGX/K,EAAMkL,kBACRH,GAAa,IAAJ,OAAQ,eAGZA,CACT,CAMwBI,CAAuBT,aAAQ,EAARA,EAAUI,eACtB,UAAxB9K,EAAMoL,eACL,gBAACC,EAAA,EAAO,CAACtD,MAAO/H,EAAM5B,KAAK0H,MACzB,sBAAI9E,UAAS,yCAAoC,SAC/C,wBAAMA,UAAU,WAAWhB,EAAM5B,KAAK0H,QAK5C,uBAAK9E,UAAS,0BAC0B,QAApC,EAAW,QAAX,EAAAhB,EAAMG,aAAK,eAAEmL,+BAAuB,QAAI,GAAE,iDAC1C,qBAAyB,YAA4B,UAAxBtL,EAAMoL,cAA4B,aAAoB,GAAE,4BACrF,aAAiB,mBAEnB,gBAACG,EAAA,EAAiB,CAChBC,SAAUxL,EAAM5B,KAChBoL,YAAaxJ,EAAMwJ,YACnBiC,sBAAuBzL,EAAMyL,sBAC7BC,aAAc1L,EAAM0L,gBAIvBf,GAAc3K,EAAM2L,iBAA6C,WAA1B3L,EAAM4L,iBAC5C,uBAAK5K,UAAW,WACd,gBAACgI,EAAA,EAAS,CACR7H,QAAS,SAAAzO,GAAC,OAAIsN,EAAM2L,gBAAgBjZ,EAAGsN,EAAM5B,KAAiB,EAC9D4C,UAAS,UAAK,WAAe,sDAE7B,gBAAC6K,EAAA,EAAY,CAACC,QAAS,mBAK3B9L,EAAM+L,eAAiBpB,GACvB,gBAACqB,EAAA,EAAS,CAACC,OAAQpB,EAAA,gBAKF,UAAxB7K,EAAMoL,eACL,uBAAKpK,UAAS,eAAU,eAEpB4J,EAAA,SAAkC5K,EAAM5B,KAAMyM,EAAA,gBACxB,QAApB,EAAU,QAAV,EAAA7K,EAAM5B,YAAI,eAAEsM,gBAAQ,eAAEI,eAExB,gBAACoB,EAAA,EAAY,KACVC,EAAA,sBAAmCnM,EAAM5B,KAAKsM,SAASI,eAG5D,sBAAI9J,UAAU,cACXhB,EAAM5B,KAAK0H,OAMxB,CAjGA2E,EAAa2B,aAAe,CAC1BV,cAAc,EACdE,gBAAiB,UAqGZ,IAAMS,EAAqB,QAAW,SAASrM,GAEpD,IA5JqB5B,EAAuBwN,E,EACtCU,EA2JAC,GA5JenO,EA4JY4B,EAAM5B,KA5JKwN,EA4JC5L,EAAM4L,gBA3J7CU,GAAc,EAAAE,EAAA,KAMI,WAApBZ,IAGAU,EAAYG,KAAMH,EAAYI,IAGhB,aAAdtO,EAAKqK,MAIH,aAAcrK,IAIhBA,EAAKsM,SAASjC,OAASkE,EAAA,UAIvBvO,EAAKsM,SAASjC,OAASkE,EAAA,QAChBvO,EAAK6D,OAGC,QAAR,EAAA7D,EAAKwO,WAAG,eAAE3K,QAwIbuG,EAAgB,OAAH,wBAAQxI,EAAMwI,eAAkBxI,EAAM5B,MAEnD+J,EAAgB,+BACjBnI,EAAMmI,kBAAgB,CACzBG,WAAY,WACZD,OAAQrI,EAAM5B,KAAK6N,SAAWpB,EAAA,WAAsB,cAAsB,YAG5E,SAASgC,IACPC,EAAA,gBAA8BtE,EAAeL,EAC/C,CAEA,IASYnH,EATN+L,EAAS,+BACV/M,GAAK,CAERkL,gBAAiBqB,KAAgBvM,EAAM5B,KAAK6D,MAG9C,OACE,uBAAKjB,UAAS,6BAAwB,OAAW,YAzB1B,cAAnBhB,EAAMoI,SACD,WAEF,YAsBgE,YAAI4E,EAAA,4BAEjEhM,EAAY,wBAGM,SAApBhB,EAAM5B,KAAKqK,KAEX,qBAAG9F,KAAM3C,EAAM5B,KAAK6D,IAAKW,OAAO,SAAS5B,UAAWA,EAAWG,QAAS0L,GACtE,gBAACpC,EAAY,iBAAKsC,KAKpBR,EAM4B,WAA1BvM,EAAM4L,gBAEN,uBAAK5K,UAAS,UAAKA,EAAS,4BAA4BG,QAAS,WAC/D0L,IACA,aAAsB7M,EAAMgK,WAAWhK,EAAM5B,MAC/C,GACE,gBAACqM,EAAY,iBAAKsC,KAMtB,gBAAC1C,EAAA,EAAO,CACNN,QAAS/J,EAAMgK,WAAWhK,EAAM5B,MAChC4C,UAAWA,EACXwH,cAAeA,EACfL,iBAAkBA,GAElB,gBAACsC,EAAY,iBAAKsC,KAMpB/M,EAAM5B,KAAK6D,IAEX,qBAAGU,KAAM3C,EAAM5B,KAAK6D,IAAKjB,UAAWA,EAAWG,QAAS0L,GACtD,gBAACpC,EAAY,iBAAKsC,KAOtB,uBAAK/L,UAAWA,GACd,gBAACyJ,EAAY,iBAAKsC,MAM9B,G,0ECnRaE,EAAgB,CAC3B9M,MAAK,SAACpJ,GACJ,MAAO,CACLkL,IAAK,yBAAF,OAA2BlL,GAC9B+K,IAAK,UAAF,OAAY/K,GAEnB,EAEA4K,YAAW,SAACmE,EAAc2C,GACxB,MAAO,CACLxG,IAAK,eAAqB,wBAAyB,CAAE6D,KAAAA,EAAM2C,KAAAA,IAC3D3G,IAAK,UAAF,OAAYgE,EAAI,YAAI2C,GAE3B,EAEAyE,OAAM,SAACzE,GACL,IAAIxG,EAAM,wBACNH,EAAM,SAOV,OALI2G,IACFxG,GAAO,SAAJ,OAAawG,GAChB3G,GAAO,SAAJ,OAAa2G,IAGX,CACLxG,IAAAA,EACAH,IAAAA,EACAqL,WAAY,SAACD,GACX,OAAOA,EAAOE,MAAK,SAAChS,EAAGuC,GAAC,OAAKvC,EAAE0K,KAAKuH,cAAc1P,EAAEmI,KAAK,GAC3D,EAEJ,EAEAwH,YAAW,SACTlP,EACAa,EACAsO,EACAC,GAEA,MAAO,CACLvL,IAAK,wBACLH,IAAK,QACL1D,KAAAA,EACAqK,KAAM,SACNgF,iBAAkB,SAClBxO,QAAAA,EACAsO,MAAAA,EACAC,OAAAA,EAEJ,EAEAE,YAAW,SACT3W,EACAqH,EACAa,EACAsO,EACAC,GAEA,MAAO,CACLvL,IAAK,yBAAF,OAA2BlL,GAC9B+K,IAAK,gBAAF,OAAkB/K,GACrBqH,KAAAA,EACAqK,KAAM,QACNxJ,QAAAA,EACAsO,MAAAA,EACAC,OAAAA,EAEJ,EAEAG,YAAW,SACT5W,EACAkI,EACAsO,EACAC,GAEA,MAAO,CACLvL,IAAK,yBAAF,OAA2BlL,GAC9B+K,IAAK,gBAAF,OAAkB/K,GACrB0R,KAAM,WACNgF,iBAAkB,SAClBxO,QAAAA,EACAsO,MAAAA,EACAC,OAAAA,EAEJ,E,gDC7FF,SAAgB,UAAY,QAAQ,WAAa,QAAQ,QAAU,QAAQ,WAAa,QAAQ,SAAW,QAAQ,YAAc,QAAQ,WAAa,QAAQ,QAAU,QAAQ,aAAe,Q,yGCK/L,MAAMI,EAAmB,cAAiB,EACxCC,WACA7M,YAEA7L,GAAI2Y,EAAY,SACb9N,GACFoB,KACD,MAAM2M,GAAoB,QAAmBF,EAAU,OACjDvB,GAAc,UACd0B,GAAgB,UAChBC,EAAa,GAAGF,SAChBG,EAAU,GAehB,OAdA5B,EAAYnH,SAAQgJ,IAClB,MAAMC,EAAYpO,EAAMmO,GAExB,IAAIE,SADGrO,EAAMmO,GAEI,MAAbC,GAA0C,iBAAdA,IAE5BC,QACED,GAEJC,EAAOD,EAET,MAAME,EAAQH,IAAaH,EAAgB,IAAIG,IAAa,GAChD,MAARE,GAAcH,EAAQK,KAAK,GAAGN,IAAaK,KAASD,IAAO,KAE7C,SAAKP,EAAW,CAClC1M,IAAKA,KACFpB,EACHgB,UAAW,IAAWA,EAAW+M,KAAsBG,IACvD,IAEJN,EAAIY,YAAc,MAClB,S","sources":["file:///app/node_modules/@microsoft/immersive-reader-sdk/lib/immersive-reader-sdk.js","file:///app/packages/libs/shared/src/components/video-at-a-glance/VideoAtAGlance.tsx","file:///app/packages/libs/shared/src/components/video-at-a-glance/VideoAtAGlanceUtils.ts","file:///app/packages/libs/shared/src/components/video-details/video-details.scss","file:///app/packages/libs/shared/src/components/video-details/VideoDetails.tsx","file:///app/packages/libs/shared/src/components/video-details/VideoDetailsPartial.tsx","file:///app/packages/libs/shared/src/components/video-owner-text/video-owner-text.scss","file:///app/packages/libs/shared/src/components/video-owner-text/VideoOwnerText.tsx","file:///app/packages/libs/shared/src/components/widgets/items/clip-widget-item/ClipWidgetItem.tsx","file:///app/packages/libs/shared/src/components/widgets/items/clip-widget-item/clip-widget-item.scss","file:///app/packages/libs/shared/src/components/widgets/items/interactive-widget-item/InteractiveWidgetItem.tsx","file:///app/packages/libs/shared/src/components/widgets/items/interactive-widget-item/interactive-widget-item.scss","file:///app/packages/libs/shared/src/components/widgets/items/resource-widget-item/resource-widget-item.scss","file:///app/packages/libs/shared/src/components/widgets/items/resource-widget-item/ResourceWidgetItem.tsx","file:///app/packages/libs/shared/src/flight-requests/ThemeRequests.ts","file:///app/packages/libs/shared/src/components/video-at-a-glance/video-at-a-glance.scss","file:///app/node_modules/react-bootstrap/esm/Row.js"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.ImmersiveReader=t():e.ImmersiveReader=t()}(window,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=1)}([function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),function(e){e[e.Disable=0]=\"Disable\",e[e.Enable=1]=\"Enable\"}(t.CookiePolicy||(t.CookiePolicy={}))},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=r(2);t.renderButtons=n.renderButtons;var o=r(3);t.close=o.close,t.launchAsync=o.launchAsync;var i=r(0);t.CookiePolicy=i.CookiePolicy,window.addEventListener(\"load\",(function(){var e,t;window.hasOwnProperty(\"Promise\")||(e=\"https://contentstorage.onenote.office.net/onenoteltir/permanent-static-resources/promise-polyfill.min.js\",(t=document.createElement(\"script\")).src=e,document.head.appendChild(t)),n.renderButtons()}))},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n={af:\"Indompelende leser\",am:\"በህያው ስሜት ፈጣሪ ዕይታ አንባቢ\",ar:\"القارئ الشامل\",as:\"ইমাৰচিভ ৰিডাৰ\",az:\"İmmersiv Oxuyucu\",be:\"Імерсіўны чытальнік\",bg:\"Концентриран четец\",bn:\"মনোগ্রাহী পাঠক\",\"bn-bd\":\"ইমার্সিভ পাঠক\",bs:\"Koncentrirani čitalac\",ca:\"Lector immersiu\",cs:\"Asistivní čtečka\",\"cy-gb\":\"Darllenydd Ymdrwythol\",da:\"Forenklet læser\",de:\"Plastischer Reader\",el:\"Προηγμένο πρόγραμμα ανάγνωσης\",en:\"Immersive Reader\",es:\"Lector inmersivo\",et:\"Süvaluger\",eu:\"Irakurgailu murgiltzailea\",fa:\"خواننده همه‌جانبه\",fi:\"Syventävä lukuohjelma\",fil:\"Immersive Reader\",fr:\"Lecteur immersif\",\"ga-ie\":\"Léitheoir tumthach\",gd:\"An leughadair ùr-nòsach\",gl:\"Lector avanzado\",gu:\"ઇમર્સિવ રીડર\",ha:\"Mai karatu Mai barbazawa\",he:\"תצוגת קריאה מודרנית\",hi:\"इमर्सिव रीडर\",hr:\"Stopljeni čitač\",hu:\"Modern olvasó\",hy:\"Խորասուզված ընթերցիչ\",id:\"Pembaca Imersif\",ig:\"Ọgụụ Kenzipụtara\",is:\"Aðgengilegt lestrarumhverfi\",it:\"Strumento di lettura immersiva\",ja:\"イマーシブ リーダー\",ka:\"იმერსიული წამკითხველი\",kk:\"Иммерсивті оқу құралы\",km:\"កម្មវិធីអានពណ៌រំលេចនៅលើអេក្រង់\",kn:\"ಇಮ್ಮರ್ಸಿವ್ ಓದುಗ\",ko:\"몰입형 리더\",kok:\"तंद्री लागिल्लो वाचक\",\"ku-arab\":\"خوێنەری پڕ\",ky:\"Курчаган Окугуч\",lb:\"Immersive Reader\",lo:\"ຕົວອ່ານອິມເມີສີບ\",lt:\"Įtraukianti skaitytuvė\",lv:\"Tīrskata lasītājs\",mi:\"Pūpānui Rumaki\",mk:\"Сеопфатен читач\",ml:\"ഇമ്മേഴ്‌സീവ് റീഡർ\",mn:\"Идэвхтэй уншигч\",mr:\"इमर्सिव्ह वाचक\",ms:\"Pembaca Imersif\",mt:\"Qarrej Immersiv\",ne:\"इमेर्सिभ रिडर\",nl:\"Insluitende lezer\",\"nn-no\":\"Engasjerande lesar\",no:\"Engasjerende leser\",nso:\"Go Bala ka Mongwalo o Mokoto\",or:\"ଇମରସିଭ୍ ରିଡର୍\",pa:\"ਇਮਰਸਿਵ ਰੀਡਰ\",\"pa-arab\":\"گھیرن آلا مطالعہ کار\",pl:\"Czytnik immersyjny\",prs:\"خواننده نمایش\",pt:\"Leitura Avançada\",quc:\"Nim ucholajil sik'inel uwach\",quz:\"Wankisqa Ñawiq\",ro:\"Immersive Reader\",ru:\"Иммерсивное средство чтения\",rw:\"Insakazasoma\",sd:\"امرسو ريڊر\",si:\"ගිලෙන සුළු කියවනය\",sk:\"Imerzná čítačka\",sl:\"Potopni bralnik\",sq:\"Lexuesi kredhës\",\"sr-cyrl-ba\":\"Концентрисани читалац\",\"sr-cyrl-rs\":\"Концентрисани читалац\",\"sr-latn-rs\":\"Koncentrisani čitalac\",sv:\"Avancerad läsare\",sw:\"Kisomaji cha Kuzamisha\",ta:\"அற்புதமான ரீடர்\",te:\"మంత్రముగ్ధులను చేసే పఠన సాధనం\",\"tg-cyrl-tj\":\"Хонандаи фарогир\",th:\"โปรแกรมช่วยอ่าน\",ti:\"ኣንባቢ ሕሉው ስምዒት ፈጣሪ\",tk:\"Giňişleýin okaýjy\",tn:\"Sebadi sa Imesife\",tr:\"Tam Ekran Okuyucu\",tt:\"Чолгап алучы уку чарасы\",\"ug-cn\":\"چۆكمە ئوقۇغۇچ\",uk:\"Занурення в текст\",ur:\"امرسیو مطالعہ کار\",uz:\"Immersiv mutolaa vositasi\",vi:\"Trình đọc Chân thực\",wo:\"Jàngukaay bu Rafet\",xh:\"Isifundi Esikhulu\",yo:\"Ìwò Alámùtán\",zh:\"沉浸式阅读器\",\"zh-hant\":\"沈浸式閱讀程式\",zu:\"Isifundi Sokuzizwisa\"};function o(e){var t=document.createElement(\"img\");t.src=\"https://contentstorage.onenote.office.net/onenoteltir/permanent-static-resources/immersive-reader-icon.svg\";var r=e.getAttribute(\"data-icon-px-size\")||\"20\";t.style.height=t.style.width=r+\"px\",t.style.verticalAlign=\"middle\",t.style.marginTop=\"-2px\";var n=e.getAttribute(\"data-locale\")||\"en\";t.alt=s(n),e.appendChild(t)}function i(e){var t=document.createElement(\"span\");t.style.marginLeft=\"8px\",e.appendChild(t)}function a(e){var t=document.createElement(\"span\"),r=e.getAttribute(\"data-locale\")||\"en\";t.textContent=s(r),e.appendChild(t)}function s(e){return e=e.toLowerCase(),n[e]?n[e]:\"zh-hk\"===e||\"zh-mo\"===e||\"zh-tw\"===e?n[\"zh-hant\"]:(e=e.substring(0,e.lastIndexOf(\"-\")),n[e]?n[e]:(e=e.substring(0,e.lastIndexOf(\"-\")),n[e]?n[e]:n.en))}t.renderButtons=function(e){var t=document.createElement(\"style\");t.innerHTML=\".immersive-reader-button{cursor:pointer;display:inline-block;padding:5px;} .immersive-reader-button:hover{background:rgba(0,0,0,.05);border-radius:2px\",document.head.appendChild(t);var r=[].slice.call(document.getElementsByClassName(\"immersive-reader-button\"));e&&e.elements&&(r=e.elements);for(var n=0,u=r;n<u.length;n++){var d=u[n];d.setAttribute(\"role\",\"button\");var l=d.getAttribute(\"data-locale\")||\"en\";switch(d.setAttribute(\"aria-label\",s(l)),d.getAttribute(\"data-button-style\")||\"icon\"){case\"icon\":o(d);break;case\"text\":a(d);break;case\"iconAndText\":o(d),i(d),a(d)}}}},function(e,t,r){\"use strict\";var n=this&&this.__assign||function(){return(n=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};Object.defineProperty(t,\"__esModule\",{value:!0});var o=r(0),i=r(4),a={};function s(e){if(!e)return!1;return new RegExp(\"^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\\\-]{0,61}[a-zA-Z0-9])$\").test(e)}a[i.ErrorCode.TokenExpired]=\"The access token supplied is expired.\",a[i.ErrorCode.Throttled]=\"You have exceeded your quota.\",a[i.ErrorCode.ServerError]=\"An error occurred when calling the server to process the text.\",a[i.ErrorCode.InvalidSubdomain]=\"The subdomain supplied is invalid.\",t.launchAsync=function(e,t,r,u){return new Promise((function(d,l){if(e)if(r)if(r.chunks)if(r.chunks.length)if(s(t)||u&&u.customDomain){var c=Date.now();(u=n({uiZIndex:1e3,timeout:15e3,useWebview:!1,allowFullscreen:!0,hideExitButton:!1,cookiePolicy:o.CookiePolicy.Disable},u)).uiZIndex&&\"number\"==typeof u.uiZIndex||(u.uiZIndex=1e3);var m=null,v=document.createElement(\"div\"),p=u.useWebview?document.createElement(\"webview\"):document.createElement(\"iframe\"),f=document.createElement(\"style\");f.innerHTML=\"body{height:100%;overflow:hidden;}\";var h=function(){m&&(window.clearTimeout(m),m=null)},b=function(){document.body.contains(v)&&document.body.removeChild(v),window.removeEventListener(\"message\",y),h(),f.parentNode&&f.parentNode.removeChild(f)},g=function(){b(),u.onExit&&u.onExit()};b();var y=function(n){if(n&&n.data)if(\"ImmersiveReader-ReadyForContent\"===n.data){h();var o={cogSvcsAccessToken:e,cogSvcsSubdomain:t,request:r,launchToPostMessageSentDurationInMs:Date.now()-c};p.contentWindow.postMessage(JSON.stringify({messageType:\"Content\",messageValue:o}),\"*\")}else if(\"ImmersiveReader-Exit\"===n.data)g();else if(n.data.startsWith(\"ImmersiveReader-LaunchResponse:\")){var s=null,u=null,m=null;try{m=JSON.parse(n.data.substring(\"ImmersiveReader-LaunchResponse:\".length))}catch(e){}m&&m.success?s={container:v,sessionId:m.sessionId}:u=m&&!m.success?{code:m.errorCode,message:a[m.errorCode],sessionId:m.sessionId}:{code:i.ErrorCode.ServerError,message:a[i.ErrorCode.ServerError]},s?(h(),d(s)):u&&(g(),l(u))}};window.addEventListener(\"message\",y),m=window.setTimeout((function(){b(),l({code:i.ErrorCode.Timeout,message:\"Page failed to load after timeout (\"+u.timeout+\" ms)\"})}),u.timeout),u.allowFullscreen&&p.setAttribute(\"allowfullscreen\",\"\"),p.style.cssText=\"position: static; width: 100vw; height: 100vh; left: 0; top: 0; border-width: 0\",u.useWebview&&p.addEventListener(\"loadstop\",(function(){p.contentWindow.postMessage(JSON.stringify({messageType:\"WebviewHost\"}),\"*\")}));var k=(u.customDomain?u.customDomain:\"https://\"+t+\".cognitiveservices.azure.com/immersivereader/webapp/v1.0/\")+\"reader?exitCallback=ImmersiveReader-Exit&sdkPlatform=js&sdkVersion=1.0.0\";k+=\"&cookiePolicy=\"+(u.cookiePolicy===o.CookiePolicy.Enable?\"enable\":\"disable\"),u.hideExitButton&&(k+=\"&hideExitButton=true\"),u.uiLang&&(k+=\"&omkt=\"+u.uiLang),p.src=k,v.style.cssText=\"position: fixed; width: 100vw; height: 100vh; left: 0; top: 0; border-width: 0; -webkit-perspective: 1px; z-index: \"+u.uiZIndex+\"; background: white; overflow: hidden\",v.appendChild(p),document.body.appendChild(v),document.head.appendChild(f)}else l({code:i.ErrorCode.InvalidSubdomain,message:a[i.ErrorCode.InvalidSubdomain]});else l({code:i.ErrorCode.BadArgument,message:\"Chunks must not be empty\"});else l({code:i.ErrorCode.BadArgument,message:\"Chunks must not be null\"});else l({code:i.ErrorCode.BadArgument,message:\"Content must not be null\"});else l({code:i.ErrorCode.BadArgument,message:\"Token must not be null\"})}))},t.close=function(){window.postMessage(\"ImmersiveReader-Exit\",\"*\")},t.isValidSubdomain=s},function(e,t,r){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),function(e){e.BadArgument=\"BadArgument\",e.Timeout=\"Timeout\",e.TokenExpired=\"TokenExpired\",e.Throttled=\"Throttled\",e.ServerError=\"ServerError\",e.InvalidSubdomain=\"InvalidSubdomain\"}(t.ErrorCode||(t.ErrorCode={}))}])}));","import * as React from 'react';\n\nimport { Core } from 'libs/common/core';\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { TagHelper } from 'libs/shared/components/tags/TagHelper';\nimport { TagList } from 'libs/shared/components/tags/TagList';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { PointOfInterest, Tag, Theme, ThemeColours, Video } from 'libs/shared/interfaces';\nimport { ImageHelper } from 'libs/shared/utils/ImageHelper';\n\nimport { hasGlanceData, onClickMarkDown, useGlanceMarkdown, useHighlightPointOfInterest } from './VideoAtAGlanceUtils';\n\nimport styles from './video-at-a-glance.scss';\n\nconst namespace = 'shared.videoAtAGlance';\n\nfunction getThemeColours(theme: Theme): ThemeColours {\n if (theme?.data?.colours?.primary && theme?.data?.colours?.secondary)\n return theme.data.colours;\n\n // On the off chance that a theme is in use that doesn't have any colours, safely fall back to these generic colours.\n return {\n primary: '#F5F4FF',\n secondary: '#9294FF'\n };\n}\n\ninterface VideoAtAGlanceProps {\n video: Video;\n theme: Theme;\n pointsOfInterest?: PointOfInterest[];\n suppressInteractivity?: boolean;\n onClickShowCurriculumLinks?: () => void;\n onClickShowDescription?: () => void;\n setStartTime?: (time: number) => void;\n getTagAppLink?: (tag: Tag) => Core.AppLink;\n}\n\nexport function VideoAtAGlance(props: VideoAtAGlanceProps): JSX.Element {\n const canViewGlance = hasGlanceData(props.video, props.theme);\n\n const markdownHTML = useGlanceMarkdown(\n props.video,\n props.pointsOfInterest,\n canViewGlance,\n props.suppressInteractivity\n );\n \n const glanceContentRef = useHighlightPointOfInterest(props.pointsOfInterest, canViewGlance);\n \n if (!canViewGlance)\n return <></>;\n\n const themeColours = getThemeColours(props.theme);\n\n const showDescriptionLink = typeof props.onClickShowDescription === 'function';\n const showCurriculumsLink = typeof props.onClickShowCurriculumLinks === 'function';\n\n return (\n <div\n className={`rounded border px-3 px-sm-5 py-3 mb-3 position-relative d-flex justify-content-center ${styles.container}`}\n style={{ backgroundColor: themeColours.primary }}\n >\n <div className={`${styles.content} d-flex align-items-center pt-4 pt-sm-0`}>\n <div>\n <h2 className='h4'><Text namespace={namespace} phrase='videoAtAGlance' /></h2>\n {showDescriptionLink && (\n <DivButton\n onClick={props.onClickShowDescription}\n className={`${styles.detailsBtn} position-absolute cursor-pointer me-4 fw-semibold text-info`}\n >\n <Text namespace={namespace} phrase='readFullDescription' />\n </DivButton>\n )}\n <div\n ref={glanceContentRef}\n onClick={(event: React.MouseEvent<HTMLDivElement, MouseEvent>) =>\n onClickMarkDown(event, props.pointsOfInterest, props.setStartTime)\n }\n dangerouslySetInnerHTML={{ __html: markdownHTML }}\n />\n\n {(() => {\n if (!props.video.tags?.data?.length)\n return <></>;\n\n return (\n <div className='py-1'>\n <TagList\n tags={props.video?.tags?.data}\n themeColours={themeColours}\n {...TagHelper.getTagActionProps(props.getTagAppLink, null, props.suppressInteractivity)}\n />\n </div>\n );\n })()}\n\n <div className='mt-2'>\n {showCurriculumsLink && (\n <DivButton\n onClick={props.onClickShowCurriculumLinks}\n className='cursor-pointer d-inline-block fw-semibold text-info'\n >\n <Text namespace={namespace} phrase='seeCurriculumLinks' />\n </DivButton>\n )}\n </div>\n </div>\n </div>\n\n {(() => {\n const themeImages = props.theme?.data?.images ?? {};\n\n const themeImageSegments = ObjectHelper\n .keys(themeImages)\n .filter((key: keyof typeof themeImages) => {\n return !ObjectHelper.isEmpty(themeImages[key]);\n });\n\n return themeImageSegments.map((segment: keyof typeof themeImages) => {\n const url = ImageHelper.createUrl(themeImages[segment]?.url, { size: ImageSize.Medium });\n\n return (\n <div\n key={themeImages[segment]?.fileId}\n className={`${styles[segment]} ${styles.background} d-none d-lg-block`}\n style={{\n backgroundImage: `url('${url}')`\n }}\n />\n );\n });\n })()}\n </div>\n );\n}","import { MutableRefObject, useEffect, useRef, useState } from 'react';\nimport * as marked from 'marked';\n\nimport { useEventsServiceSubscribe } from 'libs/common/react/hooks/UseEventsServiceSubscribe';\nimport { EventsService } from 'libs/common/react/services/EventsService';\n\nimport { Clip, Glance, PointOfInterest, Theme, Video } from 'libs/shared/interfaces';\nimport { DurationHelper } from 'libs/shared/utils/DurationHelper';\n\nimport styles from './video-at-a-glance.scss';\n\nconst POI_REGEX = /(\\[.*\\]\\(cv:\\/\\/poi\\?id=[0-9]+\\))/g;\nconst POI_ID_REGEX = /[0-9]+/;\nconst POI_TEXT_REGEX = /\\[.*\\]/;\nconst POI_TEXT_BRACES_REGEX = /[\\[\\]]/g;\n\nfunction injectPointOfInterestData(\n glance: Glance,\n pointsOfInterest: PointOfInterest[],\n suppressInteractivity?: boolean\n): string {\n if (!pointsOfInterest?.length)\n return glance.content;\n\n return glance.content.replace(POI_REGEX, (substr: string) => {\n const idMatch = substr.match(POI_ID_REGEX);\n \n if (!idMatch?.length)\n return substr;\n\n const poi = pointsOfInterest.find(p => p.id.toString() === idMatch[0]);\n const poiTextMatch = substr.match(POI_TEXT_REGEX);\n \n if (!poi || !poiTextMatch?.length)\n return substr;\n\n const timestamp = `<span class=\"me-2\">${DurationHelper.ToDisplayDuration(poi.startTime * 1000)}</span>`;\n\n let poiText = poiTextMatch[0];\n // strip []\n poiText = poiText.replace(POI_TEXT_BRACES_REGEX, '');\n // if no custom text, set POI description as text\n poiText = poiText || poi.description;\n // prepend timestamp to text and add []\n poiText = `${timestamp} ${poiText}`;\n\n // When we are rendering in a public context without the player we will show simple spans\n return !suppressInteractivity\n ? substr.replace(POI_TEXT_REGEX, `[${poiText}]`)\n : `<span class=\"d-flex\">${poiText}</span>`;\n });\n}\n\nfunction getGlanceContent(\n glance: Glance,\n pointsOfInterest: PointOfInterest[],\n suppressInteractivity?: boolean\n): string {\n const content = injectPointOfInterestData(glance, pointsOfInterest, suppressInteractivity);\n\n return marked(content)\n .split('a href=\"cv://poi')\n .join('a class=\"d-flex\" href=\"cv://poi');\n}\n\n/**\n * Because the markdown is injected as a HTML string, we cannot attach click event handlers directly onto\n * the links that we want to. Instead, we attach one click handler to the entire markdown container, meaning\n * click events bubble up, and we can use `event.target` to see which element was clicked.\n */\nexport function onClickMarkDown(\n event: React.MouseEvent<HTMLDivElement, MouseEvent>,\n pointsOfInterest?: PointOfInterest[],\n setStartTime?: (timeVideosStat: number) => void\n): void {\n event.preventDefault();\n\n const href = (event.target as HTMLDivElement).getAttribute('href');\n\n // Ignore click events that do not have a href\n if (!href?.includes('cv://poi') || !pointsOfInterest?.length)\n return;\n \n // When a timestamp is clicked, we update the player time\n const poiId = href.split('cv://poi?id=')[1];\n const poi = pointsOfInterest.find(p => p.id.toString() === poiId);\n setStartTime && poi && setStartTime(poi.startTime);\n}\n\nexport function useGlanceMarkdown(\n video: Video,\n pointsOfInterest?: PointOfInterest[],\n hasGlanceData?: boolean,\n suppressInteractivity?: boolean\n): string {\n const [ markdownHTML, setMarkdownHTML ] = useState('');\n\n useEffect(() => {\n if (!hasGlanceData)\n return;\n\n const content = getGlanceContent(video.glance, pointsOfInterest, suppressInteractivity);\n\n setMarkdownHTML(content);\n }, [ video.glance?.content, pointsOfInterest?.length, hasGlanceData ]);\n\n return markdownHTML;\n}\n\nexport function useHighlightPointOfInterest(\n pointsOfInterest: PointOfInterest[],\n shouldHighlight: boolean\n): MutableRefObject<HTMLDivElement> {\n const ref = useRef<HTMLDivElement>();\n\n useEventsServiceSubscribe('player:poi:mouseover', onPlayerPoiMouseOver, null, shouldHighlight);\n useEventsServiceSubscribe('player:poi:mouseleave', onPlayerPoiMouseLeave, null, shouldHighlight);\n\n useEffect(() => {\n if (!ref.current || !shouldHighlight)\n return;\n\n const poiEls = getAllPoiEls();\n\n poiEls.forEach(el => el.addEventListener('mouseover', onGlancePoiMouseOver));\n poiEls.forEach(el => el.addEventListener('mouseleave', onGlancePoiMouseLeave));\n\n return () => {\n poiEls.forEach(el => el.removeEventListener('mouseover', onGlancePoiMouseOver));\n poiEls.forEach(el => el.removeEventListener('mouseleave', onGlancePoiMouseLeave));\n };\n }, [ref.current]);\n\n function onPlayerPoiMouseOver(pointOfInterest: PointOfInterest): void {\n const poiId = pointOfInterest?.id;\n\n if (!poiId)\n return;\n\n getPoiEl(poiId)?.classList.add(styles.highlightPoi);\n }\n\n function onPlayerPoiMouseLeave(): void {\n getAllPoiEls()?.forEach(el => el.classList.remove(styles.highlightPoi));\n }\n\n /**\n * `this` will be the element to which the eventListener is bound.\n */\n function onGlancePoiMouseOver(): void {\n const href = this.getAttribute('href');\n\n if (!href?.includes('cv://poi') || !pointsOfInterest?.length)\n return;\n\n const id = href.split('cv://poi?id=')[1];\n\n if (!id)\n return;\n\n const poi = pointsOfInterest.find(p => p.id.toString() === id);\n\n if (poi)\n EventsService.trigger('glance:poi:mouseover', poi);\n }\n\n function onGlancePoiMouseLeave(): void {\n EventsService.trigger('glance:poi:mouseleave');\n }\n\n function getPoiEl(id: string): HTMLAnchorElement {\n return ref.current?.querySelector(`[href=\"cv://poi?id=${id}\"]`);\n }\n\n function getAllPoiEls(): NodeListOf<HTMLAnchorElement> {\n return ref.current?.querySelectorAll(`[href*=\"cv://poi\"]`);\n }\n\n return ref;\n}\n\nexport function hasGlanceData(video: Video | Clip, glanceTheme: Theme): boolean {\n return glanceTheme &&\n video.glance?.content &&\n video.glance?.format === 'text/markdown';\n}","// extracted by mini-css-extract-plugin\nexport default {\"closeButton\":\"ZwHXo\",\"descriptionBorder\":\"J_Z5i\"};","import * as React from 'react';\nimport { Scrollbars } from 'react-custom-scrollbars-2';\n\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\nimport { Core } from 'libs/common/core';\nimport { DateHelper } from 'libs/common/react/utils/DateHelper';\nimport { LinkifyHelper } from 'libs/common/react/utils/LinkifyHelper';\n\nimport { ClickDescriptor, EntityType, LocationContext, UserAction } from 'libs/analytics/interfaces';\n\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { ImmersiveReader } from 'libs/shared/components/immersive-reader/ImmersiveReader';\nimport { TagHelper } from 'libs/shared/components/tags/TagHelper';\nimport { TagList } from 'libs/shared/components/tags/TagList';\nimport { LanguageNamespaceContext, Text } from 'libs/shared/components/text/Text';\nimport { MINIMUM_GLANCE_HEIGHT } from 'libs/shared/constants/MinimumGlanceHeight';\nimport { BaseObject, BasePaginatedCollection, CurrentUser, Tag, VideoTypes } from 'libs/shared/interfaces';\nimport { VideoHelper } from 'libs/shared/utils/VideoHelper';\n\nimport { hasPPDD } from './VideoDetailsUtils';\n\nimport styles from './video-details.scss';\n\nconst namespace = 'shared.videoDetails';\nconst getPhrase = LanguageService.encloseNamespace(namespace);\n\ninterface CommaListProps {\n label: string;\n items: BasePaginatedCollection<BaseObject>;\n className?: string;\n}\n\nfunction CommaList(props: CommaListProps): React.ReactElement {\n const { label, items, className } = props;\n\n const hasItems = items && items.data && items.data.length;\n\n if (!hasItems)\n return <></>;\n\n const commaSeperated = items.data.map(i => i.name).join(', ');\n\n return (\n <div className={className}>{label}: {commaSeperated}</div>\n );\n}\n\nfunction DetailsSection(props: VideoDetailsWithScrollbarProps): React.ReactElement {\n const { video } = props;\n\n if (!VideoHelper.isVideo(video) && !VideoHelper.isClip(video))\n return <></>;\n\n function showDateUploaded(): boolean {\n if (!props.currentUser?.isAuthenticated)\n return false;\n\n return !!video.dateCreated && !video._isClickViewCurated?.value;\n }\n\n const parentVideo = VideoHelper.getParentVideo(video);\n\n return (\n <div className={video.description ? 'col-md-5 ps-md-3 pt-3 pt-md-0' : 'col-12'}>\n <h2 className='h6 mb-1'><Text phrase='details' /></h2>\n {!!parentVideo.productionYear && (\n <div className='mb-1'>\n <Text phrase='productionYear' options={{ year: parentVideo.productionYear }} />\n </div>\n )}\n <CommaList\n label={getPhrase('productionCompanies', { smartCount: parentVideo.productionCompanies?.data?.length })}\n items={parentVideo.productionCompanies}\n className='mb-1'\n />\n <CommaList\n label={getPhrase('distributors', { smartCount: parentVideo.distributors?.data?.length })}\n items={parentVideo.distributors}\n className='mb-1'\n />\n <CommaList\n label={getPhrase('producers', { smartCount: parentVideo.producers?.data?.length })}\n items={parentVideo.producers}\n className='mb-1'\n />\n <CommaList\n label={getPhrase('directors', { smartCount: parentVideo.directors?.data?.length })}\n items={parentVideo.directors}\n className='mb-1'\n />\n {!!parentVideo.dateBroadcast && (\n <div className='mb-1'>\n <Text phrase='dateBroadcast' options={{ date: DateHelper.format(parentVideo.dateBroadcast, 'DD/MM/YYYY') }} />\n </div>\n )}\n {!!parentVideo.channel && (\n <div className='mb-1'>\n <Text phrase='channel' options={{ channel: parentVideo.channel.name }} />\n </div>\n )}\n {showDateUploaded() && (\n <div className='mb-1'>\n <Text phrase='dateUploaded' options={{ date: DateHelper.format(video.dateCreated, 'DD/MM/YYYY') }} />\n </div>\n )}\n </div>\n );\n}\n\ninterface VideoDetailsWithScrollbarProps {\n video: VideoTypes;\n currentUser?: CurrentUser;\n getTagAppLink?: (tag: Tag) => Core.AppLink;\n onLaunchImmersiveReader?: () => void;\n onExitImmersiveReader?: () => void;\n onClickClose?: () => void;\n onClickShowCurriculumLinks?: () => void;\n maxHeight?: number;\n suppressInteractivity?: boolean;\n hideTags?: boolean;\n}\n\nexport function VideoDetailsWithScrollbar(props: VideoDetailsWithScrollbarProps): React.ReactElement {\n const { video, maxHeight = MINIMUM_GLANCE_HEIGHT } = props;\n\n const parentVideo = VideoHelper.getParentVideo(video);\n\n const showDescription = !!props.video.description;\n\n const showDetails = (\n hasPPDD(props.video) ||\n !!parentVideo.productionYear ||\n !!parentVideo.dateBroadcast ||\n !!parentVideo.channel ||\n !!(video.dateCreated && !video._isClickViewCurated?.value)\n );\n\n const canClose = typeof props.onClickClose === 'function';\n const showCurriculumLinks = typeof props.onClickShowCurriculumLinks === 'function';\n\n function getTags(): Tag[] {\n if (props.hideTags || VideoHelper.isInteractive(props.video) || !props.video.tags?.data?.length)\n return null;\n\n return props.video.tags.data;\n }\n\n if (!showDescription && !showDetails)\n return <></>;\n\n return (\n <LanguageNamespaceContext.Provider value={namespace}>\n <div className='rounded border p-3 mb-3 position-relative'>\n <Scrollbars autoHeight autoHeightMax={maxHeight}>\n <div className='row g-0'>\n {showDescription && (\n <div className={showDetails ? `${styles.descriptionBorder} pe-3 col-md-7` : 'col-12'}>\n <div className='d-flex align-items-center'>\n <h2 className='h6 mb-1'>\n <Text phrase='description' />\n </h2>\n <ImmersiveReader\n text={video.description}\n title={video.name}\n className='ps-2'\n onLaunch={props.onLaunchImmersiveReader}\n onExit={props.onExitImmersiveReader}\n analyticsOptions={{\n location: LocationContext.PlayPage,\n entity: EntityType.Video,\n actionType: UserAction.Click,\n descriptor: ClickDescriptor.LaunchImmersiveReader\n }}\n analyticsData={{ id: video.id, type: 'description' }}\n />\n </div>\n <p className='mb-0' dangerouslySetInnerHTML={{ __html: LinkifyHelper.linkifyText(props.video.description, { nl2br: true }) }} />\n <TagList\n tags={getTags()}\n {...TagHelper.getTagActionProps(props.getTagAppLink, null, props.suppressInteractivity)}\n className='mt-1'\n />\n {showCurriculumLinks && (\n <DivButton\n onClick={props.onClickShowCurriculumLinks}\n className='cursor-pointer d-inline-block fw-semibold text-info mt-2 mb-1'\n >\n <Text namespace={namespace} phrase='seeCurriculumLinks' />\n </DivButton>\n )}\n </div>\n )}\n\n {showDetails && (\n <DetailsSection {...props} />\n )}\n </div>\n </Scrollbars>\n\n {canClose && (\n <button\n type='button'\n className={`btn-close ${styles.closeButton}`}\n aria-label='Close'\n onClick={props.onClickClose}\n />\n )}\n </div>\n </LanguageNamespaceContext.Provider>\n );\n}","import React from 'react';\n\nexport function VideoDetailsPartial(): JSX.Element {\n return (\n <div className='p-3 mb-3 border rounded'>\n <div className='row'>\n <div className='pe-3 col-md-7 border-right'>\n <div className='partial-loading-background mb-2' style={{ height: '1.5rem', width: '12rem' }}></div>\n <div className='partial-loading-background mb-2' style={{ height: '4.5rem' }}></div>\n <div className='partial-loading-background' style={{ height: '1.5rem', width: '15rem' }}></div>\n </div>\n <div className='col-md-5 ps-md-3 pt-3 pt-md-0'>\n <div className='partial-loading-background mb-2' style={{ height: '1.5rem', width: '7rem' }}></div>\n <div className='partial-loading-background mb-2' style={{ height: '1.5rem', width: '10rem' }}></div>\n <div className='partial-loading-background mb-2' style={{ height: '1.5rem', width: '12rem' }}></div>\n <div className='partial-loading-background mb-2 me-2 d-inline-block' style={{ height: '1.5rem', width: '3rem' }}></div>\n <div className='partial-loading-background mb-2 me-2 d-inline-block' style={{ height: '1.5rem', width: '4rem' }}></div>\n <div className='partial-loading-background mb-2 me-2 d-inline-block' style={{ height: '1.5rem', width: '3.5rem' }}></div>\n <div className='partial-loading-background mb-2 me-2 d-inline-block' style={{ height: '1.5rem', width: '4.5rem' }}></div>\n </div>\n </div>\n </div>\n );\n}","// extracted by mini-css-extract-plugin\nexport default {\"avatarContainer\":\"kd18L\",\"cvIcon\":\"smUBc\"};","import React from 'react';\n\nimport { Avatar } from 'libs/shared/components/avatar/Avatar';\nimport { SvgContainer2 } from 'libs/shared/components/svg-container/SvgContainer2';\nimport { ClickViewPlayLogo } from 'libs/shared/components/svgs/clickview-logo/ClickViewLogo';\nimport { User } from 'libs/shared/interfaces';\nimport { UserHelper } from 'libs/shared/utils/UserHelper';\n\nimport styles from './video-owner-text.scss';\n\ninterface VideoOwnerTextProps {\n owner: User;\n isClickViewCurated: boolean;\n imageCdnUrl: string;\n}\n\nexport function VideoOwnerText(props: VideoOwnerTextProps): JSX.Element {\n if (!props.owner && !props.isClickViewCurated)\n return <></>;\n\n if (props.isClickViewCurated) {\n return (\n <div className='clamp-1 d-flex align-items-center'>\n <div className={`${styles.avatarContainer} me-1 border rounded-circle position-relative`}>\n <SvgContainer2 className={`me-1 ${styles.cvIcon}`}>\n <ClickViewPlayLogo />\n </SvgContainer2>\n </div>\n ClickView\n </div>\n );\n }\n\n const name = UserHelper.getCommunityName(props.owner);\n\n if (!name)\n return <></>;\n\n return (\n <div className='d-flex align-items-center'>\n <div className={`${styles.avatarContainer} me-1`}>\n <Avatar\n imageCdnUrl={props.imageCdnUrl}\n initials={UserHelper.getInitials(props.owner.name, props.owner.surname)}\n imageUrl={props.owner.avatar?.url}\n />\n </div>\n <div className='clamp-1'>\n {name}\n </div>\n </div>\n );\n}","import React from 'react';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { VideoOwnerText } from 'libs/shared/components/video-owner-text/VideoOwnerText';\nimport { FixedWidgetItemProps } from 'libs/shared/components/widgets/items/FixedWidgetItemProps';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { Clip, Video } from 'libs/shared/interfaces';\n\nimport styles from './clip-widget-item.scss';\n\nexport interface ClipWidgetItemProps extends FixedWidgetItemProps<Clip> {\n video: Video;\n imageCdnUrl: string;\n}\n\nexport const ClipWidgetItem = React.memo(function(props: ClipWidgetItemProps): JSX.Element {\n return (\n <div className={`flex-shrink-0 px-1 ${styles.item}`}>\n <div className='row m-0 border rounded p-2 h-100'>\n <div className='col-6 p-0'>\n <VideoThumbnail\n video={props.data}\n appLink={props.getAppLink(props.data)}\n type='cosmetic'\n imageOptions={{ size: ImageSize.Small }}\n textPosition={ThumbnailTextPosition.Independent}\n analyticsOptions={{ location: LocationContext.SlidingListItem }}\n preload\n />\n </div>\n\n <div className='col-6 p-0'>\n <div className='ps-2'>\n <AppLink appLink={props.getAppLink(props.data)}>\n <h3 className='h6 mb-1'><span className='clamp-2'>{props.data.name}</span></h3>\n </AppLink>\n\n <VideoOwnerText\n owner={props.data.owner}\n isClickViewCurated={props.data._isClickViewCurated?.value}\n imageCdnUrl={props.imageCdnUrl}\n />\n </div>\n </div>\n </div>\n </div>\n );\n});","// extracted by mini-css-extract-plugin\nexport default {\"item\":\"hzP5u\"};","import React from 'react';\n\nimport { Core } from 'libs/common/core';\n\nimport { LocationContext } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { Text } from 'libs/shared/components/text/Text';\nimport { VideoThumbnail } from 'libs/shared/components/thumbnails/video/VideoThumbnail';\nimport { VideoOwnerText } from 'libs/shared/components/video-owner-text/VideoOwnerText';\nimport { FixedWidgetItemProps } from 'libs/shared/components/widgets/items/FixedWidgetItemProps';\nimport { ImageSize } from 'libs/shared/enums/Images';\nimport { ThumbnailTextPosition } from 'libs/shared/enums/ThumbnailTextPosition';\nimport { Clip, InteractiveMetadata, Video } from 'libs/shared/interfaces';\n\nimport styles from './interactive-widget-item.scss';\n\nconst namespace = 'shared.interactiveWidgetItem';\n\nexport interface InteractiveWidgetItemProps extends FixedWidgetItemProps<InteractiveMetadata> {\n video: Video | Clip;\n questionsAppLink: Core.AppLink;\n imageCdnUrl: string;\n}\n\nexport const InteractiveWidgetItem = React.memo(function(props: InteractiveWidgetItemProps): JSX.Element {\n const questionsAppLink: Core.AppLink = {\n ...props.questionsAppLink,\n args: [props.data.id]\n };\n\n return (\n <div className={`flex-shrink-0 px-1 ${styles.item}`}>\n <div className='row m-0 border rounded p-2 h-100'>\n <div className='col-6 p-0'>\n <VideoThumbnail\n video={props.data}\n appLink={props.getAppLink(props.data)}\n type='cosmetic'\n imageOptions={{ size: ImageSize.Small }}\n textPosition={ThumbnailTextPosition.Independent}\n preload\n analyticsOptions={{ location: LocationContext.SlidingListItem }}\n />\n </div>\n\n <div className='col-6 p-0'>\n <div className='ps-2'>\n <AppLink appLink={props.getAppLink(props.data)}>\n <h3 className='h6 mb-1'><span className='clamp-2'>{props.data.name}</span></h3>\n </AppLink>\n\n <VideoOwnerText\n owner={props.data.owner}\n isClickViewCurated={props.data._isClickViewCurated?.value}\n imageCdnUrl={props.imageCdnUrl}\n />\n\n <AppLink className='info-link' appLink={questionsAppLink}>\n <Text namespace={namespace} phrase='previewQuestions' />\n </AppLink>\n </div>\n </div>\n </div>\n </div>\n );\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"item\":\"rXatl\"};","// extracted by mini-css-extract-plugin\nexport default {\"imageStyle\":\"I9E5O\",\"item\":\"tqUFn\",\"dashboard\":\"o7j7p\",\"playPage\":\"V2RwX\",\"aspectRatio\":\"OnJDH\",\"outerContainer\":\"CIFy7\",\"innerContainer\":\"oUZPD\",\"actions\":\"jzGAm\",\"titleBelow\":\"Cpjs3\",\"thumbnailContainer\":\"EDiGi\",\"titleAbove\":\"e9ejn\",\"teacherPack\":\"_tdVE\",\"text\":\"g5NWS\",\"hoverState\":\"xRYhX\",\"atomGuide\":\"X39wU\",\"studentActivity\":\"X9pMl\",\"additionalMaterials\":\"qRVUo\",\"userUploaded\":\"_18JaV\",\"imageTypeResource\":\"KYtZL\",\"download\":\"fbb_e\"};","import React from 'react';\n\nimport { AppLinkHelper } from 'libs/common/backbone/core';\n\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\nimport { AnalyticsOptions, EntityType, UserAction } from 'libs/analytics/interfaces';\n\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\nimport { ResourceThumbnail } from 'libs/shared/components/resource-thumbnail/ResourceThumbnail';\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\nimport { TitleSubText } from 'libs/shared/components/title-sub-text/TitleSubText';\nimport { Tooltip } from 'libs/shared/components/tooltip/Tooltip';\nimport { TypeBadge } from 'libs/shared/components/type-badge/TypeBadge';\nimport { FixedWidgetItemProps } from 'libs/shared/components/widgets/items/FixedWidgetItemProps';\nimport { SeoConstants } from 'libs/shared/constants/SeoConstants';\nimport { MasterType } from 'libs/shared/enums/MasterType';\nimport { ResourceFileType } from 'libs/shared/enums/ResourceFileType';\nimport { useBreakpoints } from 'libs/shared/hooks/useBreakpoints';\nimport { Link, Resource, ResourceType } from 'libs/shared/interfaces';\nimport { MasterTypeHelper } from 'libs/shared/utils/MasterTypeHelper';\nimport { ResourceHelper } from 'libs/shared/utils/ResourceHelper';\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\n\nimport styles from './resource-widget-item.scss';\n\nfunction getColour(resourceType?: ResourceType): string {\n switch (resourceType) {\n case 'atom-guide':\n return styles.atomGuide;\n case 'student-activity':\n return styles.studentActivity;\n case 'teacher-pack':\n return styles.teacherPack;\n case 'additional-materials':\n return styles.additionalMaterials;\n default:\n return styles.userUploaded;\n }\n}\n\nfunction useCanPreview(data: Resource | Link, actionBehaviour: 'normal' | 'public'): boolean {\n const breakpoints = useBreakpoints();\n\n /**\n * When viewing publicly, the resource applink will\n * prompt the user to sign-up (not preview the underlying resource)\n */\n if (actionBehaviour === 'public')\n return true;\n\n if (breakpoints.xs || breakpoints.sm)\n return false;\n\n if (data.type !== 'resource')\n return false;\n \n // Require metadata\n if (!('metadata' in data))\n return false;\n\n // We can preview images\n if (data.metadata.type === ResourceFileType.Image)\n return true;\n\n // If we are a pdf and have a url\n if (data.metadata.type === ResourceFileType.Pdf)\n return !!data.url;\n\n // If we have a pdf assoc\n return !!data.pdf?.url;\n}\n\ninterface ResourceTheme {\n containerClass?: string;\n thumbnailContainerClass?: string;\n}\n\nexport interface ResourceTileProps {\n data: Resource | Link;\n imageCdnUrl: string;\n imageErrorFallbackUrl?: string;\n theme?: ResourceTheme;\n\n titlePosition: 'above' | 'below' | 'none';\n hideTypeBadge?: boolean;\n onClickDownload?: (e: React.MouseEvent<HTMLElement>, resource: Resource) => void;\n applyHoverState?: boolean;\n preloadImage: boolean;\n actionBehaviour?: 'normal' | 'public';\n}\n\nResourceTile.defaultProps = {\n preloadImage: true,\n actionBehaviour: 'normal'\n};\n\n/**\n * This component intentionally doesn't contain an appLink/download link\n * so that the resource download behaviour can be handled differently depending\n * on where this is rendered (e.g. primary play page vs embedded player)\n */\nexport function ResourceTile(props: ResourceTileProps): JSX.Element {\n let metadata = null;\n\n if ('metadata' in props.data) {\n metadata = props.data.metadata;\n }\n\n const isResource = MasterTypeHelper.isType<Resource>(props.data, MasterType.Resource);\n\n function getInnerContainerClass(resourceType: ResourceType): string {\n let baseClass = `\n d-flex flex-column align-items-center justify-content-end rounded-3 h-100\n position-relative ${getColour(resourceType)} ${styles.innerContainer}`;\n\n if (props.theme?.containerClass) {\n baseClass += ` ${props.theme.containerClass}`;\n } else {\n baseClass += ` pt-3 px-3`;\n }\n\n if (props.applyHoverState) {\n baseClass += ` ${styles.hoverState}`;\n }\n\n return baseClass;\n }\n\n return (\n <>\n <div className={styles.aspectRatio}>\n <div className={styles.outerContainer}>\n <div className={getInnerContainerClass(metadata?.resourceType)}>\n {props.titlePosition === 'above' && (\n <Tooltip title={props.data.name}>\n <h3 className={`text-center text-break h5 mb-3 ${styles.text}`}>\n <span className='clamp-1'>{props.data.name}</span>\n </h3>\n </Tooltip>\n )}\n\n <div className={`\n ${props.theme?.thumbnailContainerClass ?? ''} w-75 overflow-hidden \n ${styles.thumbnailContainer} ${props.titlePosition === 'above' ? styles.titleAbove : ''} \n ${styles.imageStyle}\n `}>\n <ResourceThumbnail\n resource={props.data}\n imageCdnUrl={props.imageCdnUrl}\n imageErrorFallbackUrl={props.imageErrorFallbackUrl}\n preloadImage={props.preloadImage}\n />\n </div>\n\n {isResource && props.onClickDownload && props.actionBehaviour === 'normal' && (\n <div className={styles.actions}>\n <DivButton\n onClick={e => props.onClickDownload(e, props.data as Resource)}\n className={`${styles.download} d-flex align-items-center justify-content-center`}\n >\n <SvgContainer svgName={cvSvgLibrary.Download} />\n </DivButton>\n </div>\n )}\n\n {!props.hideTypeBadge && isResource && (\n <TypeBadge typeId={MasterType.Resource} />\n )}\n </div>\n </div>\n </div>\n {props.titlePosition === 'below' && (\n <div className={`mt-1 ${styles.titleBelow}`}>\n {(\n MasterTypeHelper.isType<Resource>(props.data, MasterType.Resource) &&\n !!props.data?.metadata?.resourceType\n ) && (\n <TitleSubText>\n {ResourceHelper.getResourceTypeName(props.data.metadata.resourceType)}\n </TitleSubText>\n )}\n <h3 className='h6 clamp-2'>\n {props.data.name}\n </h3>\n </div>\n )}\n </>\n );\n}\n\nexport interface ResourceWidgetItemProps extends ResourceTileProps, FixedWidgetItemProps<Resource | Link> {\n location: 'play-page' | 'dashboard';\n}\n\nexport const ResourceWidgetItem = React.memo(function(props: ResourceWidgetItemProps): JSX.Element {\n // Mobile is not allowed to preview\n const canPreview = useCanPreview(props.data, props.actionBehaviour);\n\n function getLocationClass(): string {\n if (props.location === 'play-page')\n return styles.playPage;\n\n return styles.dashboard;\n }\n\n const analyticsData = { ...props.analyticsData, ...props.data };\n\n const analyticsOptions: AnalyticsOptions = {\n ...props.analyticsOptions,\n actionType: UserAction.Click,\n entity: props.data.typeId === MasterType.Resource ? EntityType.Resource : EntityType.Link\n };\n\n function logAction(): void {\n AnalyticsHelper.logUserAction(analyticsData, analyticsOptions);\n }\n\n const tileProps: ResourceTileProps = {\n ...props,\n // Apply the hover state if we have a url or the resource can be previewed\n applyHoverState: canPreview || !!props.data.url\n };\n\n return (\n <div className={`px-1 flex-shrink-0 ${styles.item} ${getLocationClass()} ${SeoConstants.RESOURCE_ITEM_SELECTOR}`}>\n {(() => {\n const className = `d-block no-decoration`;\n\n // Handle resource links\n if (props.data.type === 'link') {\n return (\n <a href={props.data.url} target='_blank' className={className} onClick={logAction}>\n <ResourceTile {...tileProps} />\n </a>\n );\n }\n\n if (canPreview) {\n /**\n * Previewing resources in a public context will always display the sign-up popup, so there \n * will never be a full URL. For SEO purposes, we deliberately use a span over an anchor\n * to ensure we're not creating self-referencing elements that will burn crawl budget.\n */\n if (props.actionBehaviour === 'public') {\n return (\n <div className={`${className} cursor-pointer d-inline`} onClick={() => {\n logAction();\n AppLinkHelper.trigger(props.getAppLink(props.data));\n }}>\n <ResourceTile {...tileProps} />\n </div>\n );\n }\n\n return (\n <AppLink\n appLink={props.getAppLink(props.data)}\n className={className}\n analyticsData={analyticsData}\n analyticsOptions={analyticsOptions}\n >\n <ResourceTile {...tileProps} />\n </AppLink>\n );\n }\n\n // URLs cannot be previewed\n if (props.data.url) {\n return (\n <a href={props.data.url} className={className} onClick={logAction}>\n <ResourceTile {...tileProps} />\n </a>\n );\n }\n\n // Theres no url, so don't render an <a>\n return (\n <div className={className}>\n <ResourceTile {...tileProps} />\n </div>\n );\n })()}\n </div>\n );\n});","import { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\nimport { Xhr } from 'libs/common/backbone/interfaces';\nimport { UrlHelper } from 'libs/common/backbone/utils/UrlHelper';\nimport { Flight } from 'libs/common/flight';\nimport { HashObject } from 'libs/common/react/interfaces/HashObject';\n\nimport { Theme } from 'libs/shared/interfaces';\n\nimport { ThemeType } from '../enums/ThemeType';\n\nexport const ThemeRequests = {\n theme(id: string): Flight.Request {\n return {\n url: `/api/domain/v1/themes/${id}`,\n key: `themes:${id}`\n };\n },\n\n themeImages(name: string, type: ThemeType): Flight.Request {\n return {\n url: UrlHelper.urlBuilder('/api/domain/v1/themes', { name, type }),\n key: `themes:${name}:${type}`\n };\n },\n\n themes(type?: string): Flight.Request {\n let url = '/api/domain/v1/themes';\n let key = 'themes';\n\n if (type) {\n url += `?type=${type}`;\n key += `:type:${type}`;\n }\n\n return {\n url,\n key,\n formatData: (themes: Theme[]) => {\n return themes.sort((a, b) => a.name.localeCompare(b.name));\n }\n };\n },\n\n createTheme(\n data: Theme,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: '/api/domain/v1/themes',\n key: 'theme',\n data,\n type: HttpVerbs.POST,\n invalidationKeys: 'themes',\n success,\n error,\n always\n };\n },\n\n updateTheme(\n id: string,\n data: Theme,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v1/themes/${id}`,\n key: `update:theme:${id}`,\n data,\n type: HttpVerbs.PUT,\n success,\n error,\n always\n };\n },\n\n deleteTheme(\n id: string,\n success?: (data: HashObject) => void,\n error?: (xhr: Xhr) => void,\n always?: () => void\n ): Flight.Request {\n return {\n url: `/api/domain/v1/themes/${id}`,\n key: `delete:theme:${id}`,\n type: HttpVerbs.DELETE,\n invalidationKeys: 'themes',\n success,\n error,\n always\n };\n }\n};","// extracted by mini-css-extract-plugin\nexport default {\"container\":\"BImYH\",\"background\":\"aAY0j\",\"topLeft\":\"azcIT\",\"bottomLeft\":\"mBkCx\",\"topRight\":\"tcN5n\",\"bottomRight\":\"sHsOr\",\"detailsBtn\":\"jyxT7\",\"content\":\"PeWbM\",\"highlightPoi\":\"un8Q0\"};","\"use client\";\n\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useBootstrapPrefix, useBootstrapBreakpoints, useBootstrapMinBreakpoint } from './ThemeProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Row = /*#__PURE__*/React.forwardRef(({\n bsPrefix,\n className,\n // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\n as: Component = 'div',\n ...props\n}, ref) => {\n const decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n const breakpoints = useBootstrapBreakpoints();\n const minBreakpoint = useBootstrapMinBreakpoint();\n const sizePrefix = `${decoratedBsPrefix}-cols`;\n const classes = [];\n breakpoints.forEach(brkPoint => {\n const propValue = props[brkPoint];\n delete props[brkPoint];\n let cols;\n if (propValue != null && typeof propValue === 'object') {\n ({\n cols\n } = propValue);\n } else {\n cols = propValue;\n }\n const infix = brkPoint !== minBreakpoint ? `-${brkPoint}` : '';\n if (cols != null) classes.push(`${sizePrefix}${infix}-${cols}`);\n });\n return /*#__PURE__*/_jsx(Component, {\n ref: ref,\n ...props,\n className: classNames(className, decoratedBsPrefix, ...classes)\n });\n});\nRow.displayName = 'Row';\nexport default Row;"],"names":["window","module","exports","e","t","r","n","o","i","l","call","m","c","d","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","Disable","Enable","CookiePolicy","renderButtons","close","launchAsync","addEventListener","document","createElement","src","head","appendChild","af","am","ar","as","az","be","bg","bn","bs","ca","cs","da","de","el","en","es","et","eu","fa","fi","fil","fr","gd","gl","gu","ha","he","hi","hr","hu","hy","id","ig","is","it","ja","ka","kk","km","kn","ko","kok","ky","lb","lo","lt","lv","mi","mk","ml","mn","mr","ms","mt","ne","nl","no","nso","or","pa","pl","prs","pt","quc","quz","ro","ru","rw","sd","si","sk","sl","sq","sv","sw","ta","te","th","ti","tk","tn","tr","tt","uk","ur","uz","vi","wo","xh","yo","zh","zu","getAttribute","style","height","width","verticalAlign","marginTop","alt","marginLeft","a","textContent","toLowerCase","substring","lastIndexOf","innerHTML","slice","getElementsByClassName","elements","u","length","setAttribute","this","__assign","assign","arguments","apply","RegExp","test","ErrorCode","TokenExpired","Throttled","ServerError","InvalidSubdomain","Promise","chunks","customDomain","Date","now","uiZIndex","timeout","useWebview","allowFullscreen","hideExitButton","cookiePolicy","v","f","h","clearTimeout","b","body","contains","removeChild","removeEventListener","y","parentNode","g","onExit","data","cogSvcsAccessToken","cogSvcsSubdomain","request","launchToPostMessageSentDurationInMs","contentWindow","postMessage","JSON","stringify","messageType","messageValue","startsWith","parse","success","container","sessionId","code","errorCode","message","setTimeout","Timeout","cssText","k","uiLang","BadArgument","isValidSubdomain","namespace","VideoAtAGlance","props","canViewGlance","video","theme","markdownHTML","pointsOfInterest","suppressInteractivity","glanceContentRef","themeColours","colours","primary","secondary","showDescriptionLink","onClickShowDescription","showCurriculumsLink","onClickShowCurriculumLinks","className","backgroundColor","phrase","onClick","ref","event","setStartTime","dangerouslySetInnerHTML","__html","tags","getTagAppLink","themeImages","images","filter","key","map","segment","url","size","fileId","backgroundImage","POI_REGEX","POI_ID_REGEX","POI_TEXT_REGEX","POI_TEXT_BRACES_REGEX","onClickMarkDown","preventDefault","href","target","includes","poiId","split","poi","find","toString","startTime","useGlanceMarkdown","hasGlanceData","useState","setMarkdownHTML","useEffect","content","glance","replace","substr","idMatch","match","poiTextMatch","timestamp","poiText","description","injectPointOfInterestData","join","getGlanceContent","useHighlightPointOfInterest","shouldHighlight","useRef","onGlancePoiMouseOver","onGlancePoiMouseLeave","getAllPoiEls","current","querySelectorAll","pointOfInterest","querySelector","getPoiEl","classList","add","forEach","remove","poiEls","glanceTheme","format","getPhrase","LanguageService","CommaList","label","items","commaSeperated","name","DetailsSection","VideoHelper","parentVideo","Text","productionYear","options","year","smartCount","productionCompanies","distributors","producers","directors","dateBroadcast","date","DateHelper","channel","currentUser","isAuthenticated","dateCreated","_isClickViewCurated","showDateUploaded","VideoDetailsWithScrollbar","maxHeight","showDescription","showDetails","canClose","onClickClose","showCurriculumLinks","autoHeight","autoHeightMax","ImmersiveReader","text","title","onLaunch","onLaunchImmersiveReader","onExitImmersiveReader","analyticsOptions","location","entity","actionType","descriptor","analyticsData","type","LinkifyHelper","nl2br","TagList","hideTags","getTags","TagHelper","DivButton","VideoDetailsPartial","VideoOwnerText","owner","isClickViewCurated","SvgContainer2","UserHelper","Avatar","imageCdnUrl","initials","surname","imageUrl","avatar","ClipWidgetItem","VideoThumbnail","appLink","getAppLink","imageOptions","textPosition","ThumbnailTextPosition","preload","AppLink","InteractiveWidgetItem","questionsAppLink","args","ResourceTile","metadata","isResource","MasterTypeHelper","MasterType","resourceType","baseClass","getColour","containerClass","applyHoverState","getInnerContainerClass","titlePosition","Tooltip","thumbnailContainerClass","ResourceThumbnail","resource","imageErrorFallbackUrl","preloadImage","onClickDownload","actionBehaviour","SvgContainer","svgName","hideTypeBadge","TypeBadge","typeId","TitleSubText","ResourceHelper","defaultProps","ResourceWidgetItem","breakpoints","canPreview","useBreakpoints","xs","sm","ResourceFileType","pdf","logAction","AnalyticsHelper","tileProps","SeoConstants","ThemeRequests","themes","formatData","sort","localeCompare","createTheme","error","always","invalidationKeys","updateTheme","deleteTheme","Row","bsPrefix","Component","decoratedBsPrefix","minBreakpoint","sizePrefix","classes","brkPoint","propValue","cols","infix","push","displayName"],"sourceRoot":""}