@clickview/library-editor 1.1.54 → 1.1.55-dev.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 (299) hide show
  1. package/.eslintrc.json +0 -0
  2. package/README.md +0 -0
  3. package/dist/bundles.json +0 -0
  4. package/dist/css/0-library-editor-c3083c7c46.chunk.css +0 -0
  5. package/dist/css/0-library-editor.chunk.css +26 -0
  6. package/dist/css/1-library-editor-9a899a1d1d.chunk.css +0 -0
  7. package/dist/css/10-library-editor-53c28be130.chunk.css +0 -0
  8. package/dist/css/10-library-editor.chunk.css +25 -0
  9. package/dist/css/11-library-editor.chunk.css +135 -0
  10. package/dist/css/12-library-editor-7f17ad1c90.chunk.css +0 -0
  11. package/dist/css/12-library-editor.chunk.css +18 -0
  12. package/dist/css/13-library-editor-911b8069ae.chunk.css +0 -0
  13. package/dist/css/13-library-editor.chunk.css +21 -0
  14. package/dist/css/14-library-editor-f507c0ef52.chunk.css +0 -0
  15. package/dist/css/14-library-editor.chunk.css +76 -0
  16. package/dist/css/15-library-editor-6fd06eea2a.chunk.css +0 -0
  17. package/dist/css/16-library-editor-6b9ba08288.chunk.css +0 -0
  18. package/dist/css/16-library-editor.chunk.css +52 -0
  19. package/dist/css/17-library-editor-b08725a10e.chunk.css +0 -0
  20. package/dist/css/17-library-editor.chunk.css +14 -0
  21. package/dist/css/18-library-editor-89ad109c63.chunk.css +0 -0
  22. package/dist/css/18-library-editor.chunk.css +18 -0
  23. package/dist/css/2-library-editor.chunk.css +143 -0
  24. package/dist/css/21-library-editor.chunk.css +52 -0
  25. package/dist/css/22-library-editor-2bd52b5a32.chunk.css +0 -0
  26. package/dist/css/22-library-editor.chunk.css +12 -0
  27. package/dist/css/23-library-editor-a7633bece5.chunk.css +0 -0
  28. package/dist/css/23-library-editor.chunk.css +25 -0
  29. package/dist/css/24-library-editor-459b106aec.chunk.css +0 -0
  30. package/dist/css/25-library-editor-33acb75c24.chunk.css +0 -0
  31. package/dist/css/25-library-editor.chunk.css +35 -0
  32. package/dist/css/26-library-editor-b180014922.chunk.css +0 -0
  33. package/dist/css/26-library-editor.chunk.css +20 -0
  34. package/dist/css/27-library-editor-4c64aed388.chunk.css +0 -0
  35. package/dist/css/28-library-editor-b72d0e2d36.chunk.css +0 -0
  36. package/dist/css/28-library-editor.chunk.css +63 -0
  37. package/dist/css/29-library-editor-de55d150ef.chunk.css +0 -0
  38. package/dist/css/29-library-editor.chunk.css +80 -0
  39. package/dist/css/3-library-editor-904319558a.chunk.css +0 -0
  40. package/dist/css/3-library-editor.chunk.css +15 -0
  41. package/dist/css/30-library-editor-b0e16f882d.chunk.css +0 -0
  42. package/dist/css/30-library-editor.chunk.css +33 -0
  43. package/dist/css/31-library-editor-10f54d8a75.chunk.css +0 -0
  44. package/dist/css/31-library-editor.chunk.css +30 -0
  45. package/dist/css/32-library-editor-9dfe56513f.chunk.css +0 -0
  46. package/dist/css/32-library-editor.chunk.css +45 -0
  47. package/dist/css/33-library-editor.chunk.css +13 -0
  48. package/dist/css/34-library-editor.chunk.css +19 -0
  49. package/dist/css/35-library-editor.chunk.css +18 -0
  50. package/dist/css/36-library-editor-d18b8a3619.chunk.css +0 -0
  51. package/dist/css/36-library-editor.chunk.css +12 -0
  52. package/dist/css/37-library-editor-8b225d15f4.chunk.css +0 -0
  53. package/dist/css/37-library-editor.chunk.css +5 -0
  54. package/dist/css/38-library-editor-b08725a10e.chunk.css +0 -0
  55. package/dist/css/38-library-editor.chunk.css +5 -0
  56. package/dist/css/39-library-editor-b08725a10e.chunk.css +0 -0
  57. package/dist/css/40-library-editor-9a2d011500.chunk.css +0 -0
  58. package/dist/css/40-library-editor.chunk.css +24 -0
  59. package/dist/css/41-library-editor-234f39ca94.chunk.css +0 -0
  60. package/dist/css/41-library-editor.chunk.css +76 -0
  61. package/dist/css/42-library-editor-593c0084b4.chunk.css +0 -0
  62. package/dist/css/42-library-editor.chunk.css +44 -0
  63. package/dist/css/43-library-editor-ca20e9d127.chunk.css +0 -0
  64. package/dist/css/43-library-editor.chunk.css +30 -0
  65. package/dist/css/44-library-editor-aa3e9bea9a.chunk.css +0 -0
  66. package/dist/css/44-library-editor.chunk.css +12 -0
  67. package/dist/css/45-library-editor-7b1cd4a5cc.chunk.css +0 -0
  68. package/dist/css/45-library-editor.chunk.css +25 -0
  69. package/dist/css/46-library-editor-f1820aeeff.chunk.css +0 -0
  70. package/dist/css/46-library-editor.chunk.css +24 -0
  71. package/dist/css/47-library-editor-547abc7492.chunk.css +0 -0
  72. package/dist/css/47-library-editor.chunk.css +84 -0
  73. package/dist/css/48-library-editor-3f6fb7f3ab.chunk.css +0 -0
  74. package/dist/css/48-library-editor.chunk.css +4 -0
  75. package/dist/css/49-library-editor-467e156ba3.chunk.css +0 -0
  76. package/dist/css/49-library-editor.chunk.css +33 -0
  77. package/dist/css/5-library-editor-24603066ed.chunk.css +0 -0
  78. package/dist/css/50-library-editor.chunk.css +20 -0
  79. package/dist/css/51-library-editor-7aca18778d.chunk.css +0 -0
  80. package/dist/css/51-library-editor.chunk.css +37 -0
  81. package/dist/css/52-library-editor-81c5aced1f.chunk.css +0 -0
  82. package/dist/css/52-library-editor.chunk.css +64 -0
  83. package/dist/css/55-library-editor.chunk.css +3 -0
  84. package/dist/css/56-library-editor-d3b8bb68f9.chunk.css +0 -0
  85. package/dist/css/56-library-editor.chunk.css +3 -0
  86. package/dist/css/57-library-editor-94a8c4e7fa.chunk.css +0 -0
  87. package/dist/css/58-library-editor-61808b02a0.chunk.css +0 -0
  88. package/dist/css/58-library-editor.chunk.css +3 -0
  89. package/dist/css/59-library-editor-c49b3847df.chunk.css +0 -0
  90. package/dist/css/59-library-editor.chunk.css +3 -0
  91. package/dist/css/6-library-editor-d96af27be1.chunk.css +0 -0
  92. package/dist/css/6-library-editor.chunk.css +42 -0
  93. package/dist/css/60-library-editor-8f5e04b64a.chunk.css +0 -0
  94. package/dist/css/60-library-editor.chunk.css +16 -0
  95. package/dist/css/61-library-editor-b64f6f3e74.chunk.css +0 -0
  96. package/dist/css/62-library-editor.chunk.css +4 -0
  97. package/dist/css/63-library-editor-7f123672b2.chunk.css +0 -0
  98. package/dist/css/63-library-editor.chunk.css +168 -0
  99. package/dist/css/64-library-editor-61e4c24a7b.chunk.css +0 -0
  100. package/dist/css/67-library-editor.chunk.css +76 -0
  101. package/dist/css/68-library-editor.chunk.css +15 -0
  102. package/dist/css/69-library-editor.chunk.css +15 -0
  103. package/dist/css/7-library-editor-b08725a10e.chunk.css +0 -0
  104. package/dist/css/7-library-editor.chunk.css +10 -0
  105. package/dist/css/70-library-editor.chunk.css +21 -0
  106. package/dist/css/71-library-editor.chunk.css +38 -0
  107. package/dist/css/72-library-editor.chunk.css +14 -0
  108. package/dist/css/73-library-editor.chunk.css +35 -0
  109. package/dist/css/74-library-editor.chunk.css +27 -0
  110. package/dist/css/75-library-editor.chunk.css +4 -0
  111. package/dist/css/76-library-editor.chunk.css +4 -0
  112. package/dist/css/8-library-editor-eb68c1df75.chunk.css +0 -0
  113. package/dist/css/8-library-editor.chunk.css +7 -0
  114. package/dist/css/9-library-editor-fec6984a64.chunk.css +0 -0
  115. package/dist/css/library-editor-app-68c377c4bf.css +0 -0
  116. package/dist/css/library-editor-app.css +9391 -0
  117. package/dist/en.json +2588 -1
  118. package/dist/scripts/0-3f860eef1e.chunk.js +0 -0
  119. package/dist/scripts/0.chunk.js +64 -0
  120. package/dist/scripts/1-34f89c4133.chunk.js +0 -0
  121. package/dist/scripts/1.chunk.js +75 -0
  122. package/dist/scripts/10-9134aeaf3a.chunk.js +0 -0
  123. package/dist/scripts/10.chunk.js +62 -0
  124. package/dist/scripts/11-039959db6c.chunk.js +0 -0
  125. package/dist/scripts/11.chunk.js +317 -0
  126. package/dist/scripts/12-dd9f933e32.chunk.js +0 -0
  127. package/dist/scripts/12.chunk.js +56 -0
  128. package/dist/scripts/13-9b57ce857b.chunk.js +0 -0
  129. package/dist/scripts/13.chunk.js +25 -0
  130. package/dist/scripts/14-1daac53985.chunk.js +0 -0
  131. package/dist/scripts/14.chunk.js +272 -0
  132. package/dist/scripts/15-d116d8cc4b.chunk.js +0 -0
  133. package/dist/scripts/15.chunk.js +35 -0
  134. package/dist/scripts/16-a6b53964d1.chunk.js +0 -0
  135. package/dist/scripts/16.chunk.js +87 -0
  136. package/dist/scripts/17-7b98386531.chunk.js +0 -0
  137. package/dist/scripts/17.chunk.js +40 -0
  138. package/dist/scripts/18-5591aac5c8.chunk.js +0 -0
  139. package/dist/scripts/18.chunk.js +40 -0
  140. package/dist/scripts/19-9b2c6ebc33.chunk.js +0 -0
  141. package/dist/scripts/19.chunk.js +43 -0
  142. package/dist/scripts/2-8e809f7467.chunk.js +0 -0
  143. package/dist/scripts/2.chunk.js +33 -0
  144. package/dist/scripts/20.chunk.js +18 -0
  145. package/dist/scripts/21.chunk.js +55 -0
  146. package/dist/scripts/22-382ba55cba.chunk.js +0 -0
  147. package/dist/scripts/22.chunk.js +47 -0
  148. package/dist/scripts/23-3cb3a47d51.chunk.js +0 -0
  149. package/dist/scripts/23.chunk.js +47 -0
  150. package/dist/scripts/24-4ca53cf9cc.chunk.js +0 -0
  151. package/dist/scripts/24.chunk.js +33 -0
  152. package/dist/scripts/25-11105a752d.chunk.js +0 -0
  153. package/dist/scripts/25.chunk.js +25 -0
  154. package/dist/scripts/26-f96ff0a74e.chunk.js +0 -0
  155. package/dist/scripts/26.chunk.js +25 -0
  156. package/dist/scripts/27-4f11592db9.chunk.js +0 -0
  157. package/dist/scripts/27.chunk.js +10 -0
  158. package/dist/scripts/28-f81b26c4f6.chunk.js +0 -0
  159. package/dist/scripts/28.chunk.js +334 -0
  160. package/dist/scripts/29-05ba00ec96.chunk.js +0 -0
  161. package/dist/scripts/29.chunk.js +202 -0
  162. package/dist/scripts/3-08b534f5e5.chunk.js +0 -0
  163. package/dist/scripts/3.chunk.js +57 -0
  164. package/dist/scripts/30-87abfecce6.chunk.js +0 -0
  165. package/dist/scripts/30.chunk.js +137 -0
  166. package/dist/scripts/31-32048a433b.chunk.js +0 -0
  167. package/dist/scripts/31.chunk.js +113 -0
  168. package/dist/scripts/32-fa4dcb7ecd.chunk.js +0 -0
  169. package/dist/scripts/32.chunk.js +115 -0
  170. package/dist/scripts/33-c4496ffa64.chunk.js +0 -0
  171. package/dist/scripts/33.chunk.js +93 -0
  172. package/dist/scripts/34-f364cbef7e.chunk.js +0 -0
  173. package/dist/scripts/34.chunk.js +63 -0
  174. package/dist/scripts/35-5ead510514.chunk.js +0 -0
  175. package/dist/scripts/35.chunk.js +48 -0
  176. package/dist/scripts/36-2d7e524600.chunk.js +0 -0
  177. package/dist/scripts/36.chunk.js +33 -0
  178. package/dist/scripts/37-9f5937fc59.chunk.js +0 -0
  179. package/dist/scripts/37.chunk.js +25 -0
  180. package/dist/scripts/38-50671449a2.chunk.js +0 -0
  181. package/dist/scripts/38.chunk.js +25 -0
  182. package/dist/scripts/39-48e1c12760.chunk.js +0 -0
  183. package/dist/scripts/39.chunk.js +19 -0
  184. package/dist/scripts/4-2bb62a8625.chunk.js +0 -0
  185. package/dist/scripts/4.chunk.js +26 -0
  186. package/dist/scripts/40-e68a989b3a.chunk.js +0 -0
  187. package/dist/scripts/40.chunk.js +182 -0
  188. package/dist/scripts/41-3bf7cae6e9.chunk.js +0 -0
  189. package/dist/scripts/41.chunk.js +175 -0
  190. package/dist/scripts/42-822cb8b9d0.chunk.js +0 -0
  191. package/dist/scripts/42.chunk.js +176 -0
  192. package/dist/scripts/43-1b59b319ae.chunk.js +0 -0
  193. package/dist/scripts/43.chunk.js +121 -0
  194. package/dist/scripts/44-9c4b07ad6a.chunk.js +0 -0
  195. package/dist/scripts/44.chunk.js +122 -0
  196. package/dist/scripts/45-f5f2f6498f.chunk.js +0 -0
  197. package/dist/scripts/45.chunk.js +85 -0
  198. package/dist/scripts/46-b78beee181.chunk.js +0 -0
  199. package/dist/scripts/46.chunk.js +78 -0
  200. package/dist/scripts/47-dd79065276.chunk.js +0 -0
  201. package/dist/scripts/47.chunk.js +70 -0
  202. package/dist/scripts/48-d41af05eb3.chunk.js +0 -0
  203. package/dist/scripts/48.chunk.js +88 -0
  204. package/dist/scripts/49-7b882515ff.chunk.js +0 -0
  205. package/dist/scripts/49.chunk.js +62 -0
  206. package/dist/scripts/5-c6ea13e80a.chunk.js +0 -0
  207. package/dist/scripts/5.chunk.js +10 -0
  208. package/dist/scripts/50-c95bd49b44.chunk.js +0 -0
  209. package/dist/scripts/50.chunk.js +64 -0
  210. package/dist/scripts/51-749c30b1b4.chunk.js +0 -0
  211. package/dist/scripts/51.chunk.js +55 -0
  212. package/dist/scripts/52-7919e87335.chunk.js +0 -0
  213. package/dist/scripts/52.chunk.js +47 -0
  214. package/dist/scripts/53-406b9156a2.chunk.js +0 -0
  215. package/dist/scripts/53.chunk.js +56 -0
  216. package/dist/scripts/54-daab565a17.chunk.js +0 -0
  217. package/dist/scripts/54.chunk.js +56 -0
  218. package/dist/scripts/55-bf12cdc276.chunk.js +0 -0
  219. package/dist/scripts/55.chunk.js +41 -0
  220. package/dist/scripts/56-d9448b7500.chunk.js +0 -0
  221. package/dist/scripts/56.chunk.js +41 -0
  222. package/dist/scripts/57-e270281c62.chunk.js +0 -0
  223. package/dist/scripts/57.chunk.js +50 -0
  224. package/dist/scripts/58-f3094fa788.chunk.js +0 -0
  225. package/dist/scripts/58.chunk.js +33 -0
  226. package/dist/scripts/59-32c19567d4.chunk.js +0 -0
  227. package/dist/scripts/59.chunk.js +33 -0
  228. package/dist/scripts/6-2be0c47a58.chunk.js +0 -0
  229. package/dist/scripts/6.chunk.js +40 -0
  230. package/dist/scripts/60-ecd9e2ca51.chunk.js +0 -0
  231. package/dist/scripts/60.chunk.js +33 -0
  232. package/dist/scripts/61-7b121b7570.chunk.js +0 -0
  233. package/dist/scripts/61.chunk.js +33 -0
  234. package/dist/scripts/62-1d95d79cc5.chunk.js +0 -0
  235. package/dist/scripts/62.chunk.js +25 -0
  236. package/dist/scripts/63-86c78a4970.chunk.js +0 -0
  237. package/dist/scripts/63.chunk.js +25 -0
  238. package/dist/scripts/64-9dc3d4d90f.chunk.js +0 -0
  239. package/dist/scripts/64.chunk.js +33 -0
  240. package/dist/scripts/65-5258004dac.chunk.js +0 -0
  241. package/dist/scripts/65.chunk.js +34 -0
  242. package/dist/scripts/66-c4e026016f.chunk.js +0 -0
  243. package/dist/scripts/66.chunk.js +33 -0
  244. package/dist/scripts/67-75f5705bb9.chunk.js +0 -0
  245. package/dist/scripts/67.chunk.js +25 -0
  246. package/dist/scripts/68-42ccc85805.chunk.js +0 -0
  247. package/dist/scripts/68.chunk.js +25 -0
  248. package/dist/scripts/69-bb90d52e94.chunk.js +0 -0
  249. package/dist/scripts/69.chunk.js +25 -0
  250. package/dist/scripts/7-3c9e09a546.chunk.js +0 -0
  251. package/dist/scripts/7.chunk.js +33 -0
  252. package/dist/scripts/70-eb0fd4b53d.chunk.js +0 -0
  253. package/dist/scripts/70.chunk.js +25 -0
  254. package/dist/scripts/71-f99045a6a6.chunk.js +0 -0
  255. package/dist/scripts/71.chunk.js +25 -0
  256. package/dist/scripts/72-03e6e91b4f.chunk.js +0 -0
  257. package/dist/scripts/72.chunk.js +25 -0
  258. package/dist/scripts/73-14a2140691.chunk.js +0 -0
  259. package/dist/scripts/73.chunk.js +25 -0
  260. package/dist/scripts/74-a5821623e2.chunk.js +0 -0
  261. package/dist/scripts/74.chunk.js +25 -0
  262. package/dist/scripts/75.chunk.js +25 -0
  263. package/dist/scripts/76.chunk.js +25 -0
  264. package/dist/scripts/77.chunk.js +26 -0
  265. package/dist/scripts/78.chunk.js +26 -0
  266. package/dist/scripts/79.chunk.js +26 -0
  267. package/dist/scripts/8-6f52368e18.chunk.js +0 -0
  268. package/dist/scripts/8.chunk.js +33 -0
  269. package/dist/scripts/80.chunk.js +26 -0
  270. package/dist/scripts/81.chunk.js +26 -0
  271. package/dist/scripts/82.chunk.js +26 -0
  272. package/dist/scripts/83.chunk.js +26 -0
  273. package/dist/scripts/84.chunk.js +26 -0
  274. package/dist/scripts/85.chunk.js +26 -0
  275. package/dist/scripts/86.chunk.js +18 -0
  276. package/dist/scripts/87.chunk.js +18 -0
  277. package/dist/scripts/88.chunk.js +18 -0
  278. package/dist/scripts/89.chunk.js +18 -0
  279. package/dist/scripts/9-63a56b4fce.chunk.js +0 -0
  280. package/dist/scripts/9.chunk.js +18 -0
  281. package/dist/scripts/90.chunk.js +18 -0
  282. package/dist/scripts/91.chunk.js +18 -0
  283. package/dist/scripts/92.chunk.js +18 -0
  284. package/dist/scripts/bundle-d558b5b3b7.min.js +0 -0
  285. package/dist/scripts/bundle.js +8143 -0
  286. package/dist/scripts/polyfills-b866a805b8.min.js +0 -0
  287. package/dist/scripts/polyfills.js +2715 -0
  288. package/package.json +4 -4
  289. package/typings/libs/CVEvents.d.ts +0 -0
  290. package/typings/libs/CVLanguages.d.ts +0 -0
  291. package/typings/libs/Environment.d.ts +0 -0
  292. package/typings/libs/LazyLoad.d.ts +0 -0
  293. package/typings/libs/LazyLoad.ts +0 -0
  294. package/typings/libs/Trackers.d.ts +0 -0
  295. package/typings/libs/backbone.validation.d.ts +0 -0
  296. package/typings/libs/cookiesjs.d.ts +0 -0
  297. package/typings/libs/trackjs.d.ts +0 -0
  298. package/typings/utils/globals.d.ts +0 -0
  299. package/typings/utils/imports.d.ts +0 -0
File without changes
@@ -0,0 +1,57 @@
1
+ (window["webpackJsonp_clickview_library_editor"] = window["webpackJsonp_clickview_library_editor"] || []).push([[3],{
2
+
3
+ /***/ "../../libs/analytics/src/utils/ObjectFormatHelper.ts":
4
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
5
+
6
+ "use strict";
7
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ObjectFormatHelper\", function() { return ObjectFormatHelper; });\n/* harmony import */ var backbone__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"backbone\");\n/* harmony import */ var backbone__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(backbone__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var libs_common_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"../../libs/common/src/backbone/index.ts\");\n\n // Convert backbone models/collection to regular arrays/objects.\n\nvar ObjectFormatHelper = {\n toJSON: function toJSON(object) {\n return object instanceof libs_common_core__WEBPACK_IMPORTED_MODULE_1__[\"Core\"].Model || object instanceof libs_common_core__WEBPACK_IMPORTED_MODULE_1__[\"Core\"].Collection || object instanceof backbone__WEBPACK_IMPORTED_MODULE_0__[\"Model\"] || object instanceof backbone__WEBPACK_IMPORTED_MODULE_0__[\"Collection\"] ? object.toJSON() : object;\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbGlicy9hbmFseXRpY3Mvc3JjL3V0aWxzL09iamVjdEZvcm1hdEhlbHBlci50cy5qcyIsInNvdXJjZXMiOlsiZmlsZTovL0M6L0NsaWNrVmlldy9jbGlja3ZpZXcvcGFja2FnZXMvbGlicy9hbmFseXRpY3Mvc3JjL3V0aWxzL09iamVjdEZvcm1hdEhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBCYWNrYm9uZSBmcm9tICdiYWNrYm9uZSc7XHJcbmltcG9ydCB7IENvcmUgfSBmcm9tICdsaWJzL2NvbW1vbi9jb3JlJztcclxuXHJcbnR5cGUgQmFja2JvbmVEYXRhU3RydWN0dXJlID0gQ29yZS5Nb2RlbCB8IENvcmUuQ29sbGVjdGlvbiB8IEJhY2tib25lLk1vZGVsIHwgQmFja2JvbmUuQ29sbGVjdGlvbjtcclxuXHJcbi8vIENvbnZlcnQgYmFja2JvbmUgbW9kZWxzL2NvbGxlY3Rpb24gdG8gcmVndWxhciBhcnJheXMvb2JqZWN0cy5cclxuZXhwb3J0IGNvbnN0IE9iamVjdEZvcm1hdEhlbHBlciA9IHtcclxuICB0b0pTT048VD4ob2JqZWN0OiBCYWNrYm9uZURhdGFTdHJ1Y3R1cmUgfCBUKTogVCB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICBvYmplY3QgaW5zdGFuY2VvZiBDb3JlLk1vZGVsIHx8XHJcbiAgICAgIG9iamVjdCBpbnN0YW5jZW9mIENvcmUuQ29sbGVjdGlvbiB8fFxyXG4gICAgICBvYmplY3QgaW5zdGFuY2VvZiBCYWNrYm9uZS5Nb2RlbCB8fFxyXG4gICAgICBvYmplY3QgaW5zdGFuY2VvZiBCYWNrYm9uZS5Db2xsZWN0aW9uXHJcbiAgICApID8gb2JqZWN0LnRvSlNPTigpIDogb2JqZWN0O1xyXG4gIH1cclxufTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFJQTtBQUNBO0FBQ0E7QUFNQTtBQVJBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../libs/analytics/src/utils/ObjectFormatHelper.ts\n");
8
+
9
+ /***/ }),
10
+
11
+ /***/ "../../libs/analytics/src/utils/VideoAnalyticsTracker.ts":
12
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
13
+
14
+ "use strict";
15
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VideoAnalyticsTracker\", function() { return VideoAnalyticsTracker; });\n/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"underscore\");\n/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(underscore__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var libs_common_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"../../libs/common/src/backbone/index.ts\");\n/* harmony import */ var libs_common_backbone_errors_DevError__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"../../libs/common/src/backbone/errors/DevError.ts\");\n/* harmony import */ var libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(\"../../libs/common/src/backbone/constants/Webplayer.ts\");\n/* harmony import */ var libs_analytics_utils_ObjectFormatHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(\"../../libs/analytics/src/utils/ObjectFormatHelper.ts\");\n/* harmony import */ var libs_analytics_interfaces__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(\"../../libs/analytics/src/interfaces/index.ts\");\n/* harmony import */ var libs_analytics_Analytics__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(\"../../libs/analytics/src/Analytics.ts\");\n/* harmony import */ var libs_analytics_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(\"../../libs/analytics/src/AnalyticsHelper.ts\");\n/* harmony import */ var _VideoDataFormatHelper__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(\"../../libs/analytics/src/utils/VideoDataFormatHelper.ts\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n // Record progress watch progress every minute\n\nvar DEFAULT_LOG_INTERVAL = 60; // Seconds\n// Legacy watch event was recorded after viewing for 8 seconds\n\nvar LEGACY_WATCH_ELAPSE = 8;\nvar SHOULD_LOG_VERBOSE = false; // See logVerbose function below.\n\nvar VideoAnalyticsTracker = /*#__PURE__*/function (_Core$Service) {\n _inherits(VideoAnalyticsTracker, _Core$Service);\n\n var _super = _createSuper(VideoAnalyticsTracker);\n\n function VideoAnalyticsTracker(options) {\n var _this;\n\n _classCallCheck(this, VideoAnalyticsTracker);\n\n _this = _super.call(this, options);\n _this.captureInterval = DEFAULT_LOG_INTERVAL;\n return _this;\n }\n\n _createClass(VideoAnalyticsTracker, [{\n key: \"name\",\n get: function get() {\n return 'VideoAnalyticsTracker';\n }\n }, {\n key: \"initialize\",\n value: function initialize() {\n this.eventsApi = this.options.eventsApi;\n if (!this.options.video) libs_common_core__WEBPACK_IMPORTED_MODULE_1__[\"Core\"].ErrorHelper.throw(new libs_common_backbone_errors_DevError__WEBPACK_IMPORTED_MODULE_2__[\"DevError\"]('Video logging requires video to be passed in.'));\n this.model = this.options.video;\n this.playbackStatus = this.getNewPlaybackStatus();\n if (this.options.captureInterval) this.captureInterval = this.options.captureInterval;\n this.bindListeners();\n this.getChapters();\n }\n }, {\n key: \"bindListeners\",\n value: function bindListeners() {\n this.eventsApi.on(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.TIME_UPDATE, underscore__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](this.onPlayerTimeUpdate, this));\n this.eventsApi.on(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.VIDEO_END, underscore__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](this.onEnd, this));\n this.eventsApi.on(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.FULLSCREEN_CHANGE, underscore__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](this.onFullScreen, this));\n this.eventsApi.on(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.CHAPTER_CHANGE, underscore__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](this.onChapterChange, this));\n }\n }, {\n key: \"unbindListeners\",\n value: function unbindListeners() {\n this.eventsApi.off(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.TIME_UPDATE);\n this.eventsApi.off(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.VIDEO_END);\n this.eventsApi.off(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.FULLSCREEN_CHANGE);\n this.eventsApi.off(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.CHAPTER_CHANGE);\n }\n }, {\n key: \"getChapters\",\n value: function getChapters() {\n var _this2 = this;\n\n this.queryWebplayer(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].QUERIES.GET_CHAPTERS, function (e, chapters) {\n _this2.setInitialChapter(chapters);\n\n _this2.setVideoDuration(chapters);\n });\n }\n }, {\n key: \"queryWebplayer\",\n value: function queryWebplayer(queryEvent, callback) {\n var uniqueTrackerId = underscore__WEBPACK_IMPORTED_MODULE_0__[\"uniqueId\"](this.name);\n\n var queryCallbackEvent = \"\".concat(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.QUERY_CALLBACK, \"-\").concat(uniqueTrackerId);\n this.eventsApi.one(queryCallbackEvent, callback);\n this.eventsApi.trigger(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].TRIGGER.QUERY, queryEvent, uniqueTrackerId);\n }\n }, {\n key: \"onEnd\",\n value: function onEnd() {\n this.setCurrentPosition(this.playbackStatus.totalDuration);\n this.logVerbose(libs_analytics_interfaces__WEBPACK_IMPORTED_MODULE_5__[\"PlaybackDescriptor\"].Finish);\n this.resetPlaybackStatus();\n }\n }, {\n key: \"onFullScreen\",\n value: function onFullScreen(e, isFullScreen) {\n var descriptor = isFullScreen ? libs_analytics_interfaces__WEBPACK_IMPORTED_MODULE_5__[\"PlaybackDescriptor\"].FullScreenEnter : libs_analytics_interfaces__WEBPACK_IMPORTED_MODULE_5__[\"PlaybackDescriptor\"].FullScreenExit;\n this.logVerbose(descriptor);\n }\n }, {\n key: \"onPlayerTimeUpdate\",\n value: function onPlayerTimeUpdate(e, rawTime) {\n var _this3 = this;\n\n this.queryWebplayer(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].QUERIES.IS_PAUSED, function (ev, isPaused) {\n _this3.updateTime(rawTime, isPaused);\n });\n }\n }, {\n key: \"onChapterChange\",\n value: function onChapterChange(e, nextChapter) {\n if (!underscore__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](nextChapter)) return;\n this.setCurrentChapter(nextChapter.number);\n }\n }, {\n key: \"updateTime\",\n value: function updateTime(rawTime, isPaused) {\n var time = Math.floor(rawTime);\n /**\r\n * Ignore the first time update at 0 and duplicate events with the same rawTime point.\r\n * This is necessary to avoid subtle bugs where the webplayer is reset at the end of playback.\r\n */\n\n if (!time || time === this.getCurrentPositon()) return;\n /**\r\n * Always set the position first, so we can restore state when the user continues\r\n * playback of the same video from a different location.\r\n */\n\n this.setCurrentPosition(time);\n /**\r\n * Only update watch time and log if we are actually playing a video\r\n */\n\n if (isPaused) return; // Log the start event\n\n if (!this.playbackHasStarted()) {\n this.logVerbose(libs_analytics_interfaces__WEBPACK_IMPORTED_MODULE_5__[\"PlaybackDescriptor\"].Start);\n this.setPlaybackStarted();\n }\n\n this.incrementWatchTime(); // Log at each interval period\n\n if (this.getWatchTime() % this.captureInterval === 0) this.logVerbose(libs_analytics_interfaces__WEBPACK_IMPORTED_MODULE_5__[\"PlaybackDescriptor\"].Playback);\n if (this.getWatchTime() === LEGACY_WATCH_ELAPSE) this.logStream();\n }\n }, {\n key: \"setInitialChapter\",\n value: function setInitialChapter(chapters) {\n var currentChapter = underscore__WEBPACK_IMPORTED_MODULE_0__[\"find\"](chapters, function (c) {\n return c.current === true;\n });\n\n if (!underscore__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](currentChapter)) return;\n this.setCurrentChapter(currentChapter.number);\n }\n }, {\n key: \"setVideoDuration\",\n value: function setVideoDuration(chapters) {\n var totalDuration = underscore__WEBPACK_IMPORTED_MODULE_0__[\"reduce\"](chapters, function (d, c) {\n return d + c.duration;\n }, 0);\n\n if (underscore__WEBPACK_IMPORTED_MODULE_0__[\"isNaN\"](totalDuration) || !underscore__WEBPACK_IMPORTED_MODULE_0__[\"isNumber\"](totalDuration)) return; // Always round down to the current second\n\n this.playbackStatus.totalDuration = Math.floor(totalDuration);\n } // Store the current playback position\n\n }, {\n key: \"setCurrentPosition\",\n value: function setCurrentPosition(time) {\n this.playbackStatus.position = time;\n }\n }, {\n key: \"getCurrentPositon\",\n value: function getCurrentPositon() {\n return this.playbackStatus.position;\n }\n }, {\n key: \"setCurrentChapter\",\n value: function setCurrentChapter(chapter) {\n this.playbackStatus.chapter = chapter;\n }\n }, {\n key: \"setPlaybackStarted\",\n value: function setPlaybackStarted() {\n this.playbackStatus.hasStarted = true;\n }\n }, {\n key: \"playbackHasStarted\",\n value: function playbackHasStarted() {\n return this.playbackStatus.hasStarted;\n }\n }, {\n key: \"getWatchTime\",\n value: function getWatchTime() {\n return this.playbackStatus.totalWatched;\n }\n }, {\n key: \"incrementWatchTime\",\n value: function incrementWatchTime() {\n this.playbackStatus.totalWatched += 1;\n }\n }, {\n key: \"getNewPlaybackStatus\",\n value: function getNewPlaybackStatus() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var duration = options.duration,\n watched = options.watched;\n return {\n position: 0,\n chapter: 0,\n hasStarted: false,\n totalWatched: watched ? watched : 0,\n totalDuration: duration ? duration : 0\n };\n }\n }, {\n key: \"resetPlaybackStatus\",\n value: function resetPlaybackStatus() {\n var preservedState = {\n duration: this.playbackStatus.totalDuration,\n watched: this.playbackStatus.totalWatched\n };\n this.playbackStatus = this.getNewPlaybackStatus(preservedState);\n }\n }, {\n key: \"unbindUnload\",\n value: function unbindUnload() {\n $(window).off('unload');\n }\n }, {\n key: \"bindUnload\",\n value: function bindUnload() {\n $(window).on('unload', underscore__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](this.logUnload, this));\n }\n }, {\n key: \"logUnload\",\n value: function logUnload() {\n if (!this.playbackHasStarted()) return;\n this.logVerbose(libs_analytics_interfaces__WEBPACK_IMPORTED_MODULE_5__[\"PlaybackDescriptor\"].Terminate);\n }\n }, {\n key: \"logStream\",\n value: function logStream() {\n var action = libs_analytics_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_7__[\"AnalyticsHelper\"].buildActionContext(this.options.analyticsOptions);\n var data = _VideoDataFormatHelper__WEBPACK_IMPORTED_MODULE_8__[\"VideoDataFormatHelper\"].getLegacyVideoData(this.getPlaybackData());\n libs_analytics_Analytics__WEBPACK_IMPORTED_MODULE_6__[\"Analytics\"].log(libs_analytics_interfaces__WEBPACK_IMPORTED_MODULE_5__[\"UserAction\"].Stream, data, action);\n }\n /**\r\n * logVerbose is used for more granular logging than logStream, however as of June 2020\r\n * we are only logging the simpler stream event which is the same as videoWatched in Online.\r\n */\n\n }, {\n key: \"logVerbose\",\n value: function logVerbose(descriptor) {\n if (!SHOULD_LOG_VERBOSE) return;\n var analyticsOptions = libs_analytics_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_7__[\"AnalyticsHelper\"].mergeOptions(this.options.analyticsOptions, {\n descriptor: descriptor\n });\n var action = libs_analytics_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_7__[\"AnalyticsHelper\"].buildActionContext(analyticsOptions);\n libs_analytics_Analytics__WEBPACK_IMPORTED_MODULE_6__[\"Analytics\"].log(libs_analytics_interfaces__WEBPACK_IMPORTED_MODULE_5__[\"UserAction\"].Stream, this.getPlaybackData(), action);\n }\n }, {\n key: \"getPlaybackData\",\n value: function getPlaybackData() {\n return {\n model: libs_analytics_utils_ObjectFormatHelper__WEBPACK_IMPORTED_MODULE_4__[\"ObjectFormatHelper\"].toJSON(this.model),\n\n /**\r\n * Clone the playback status to ensure that the object is not mutated prior to being logged by\r\n * the AnalyticsService. Remove view-specific properties.\r\n */\n playbackStatus: underscore__WEBPACK_IMPORTED_MODULE_0__[\"omit\"](this.playbackStatus, 'hasStarted')\n };\n }\n }, {\n key: \"onDestroy\",\n value: function onDestroy() {\n this.unbindListeners();\n this.unbindUnload();\n this.logUnload();\n }\n }]);\n\n return VideoAnalyticsTracker;\n}(libs_common_core__WEBPACK_IMPORTED_MODULE_1__[\"Core\"].Service);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbGlicy9hbmFseXRpY3Mvc3JjL3V0aWxzL1ZpZGVvQW5hbHl0aWNzVHJhY2tlci50cy5qcyIsInNvdXJjZXMiOlsiZmlsZTovL0M6L0NsaWNrVmlldy9jbGlja3ZpZXcvcGFja2FnZXMvbGlicy9hbmFseXRpY3Mvc3JjL3V0aWxzL1ZpZGVvQW5hbHl0aWNzVHJhY2tlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xyXG5pbXBvcnQgeyBPYmplY3RIYXNoIH0gZnJvbSAnYmFja2JvbmUnO1xyXG5pbXBvcnQgeyBDVkV2ZW50c0FwaSB9IGZyb20gJ0NWRXZlbnRzJztcclxuXHJcbmltcG9ydCB7IENvcmUgfSBmcm9tICdsaWJzL2NvbW1vbi9jb3JlJztcclxuaW1wb3J0IHsgRGV2RXJyb3IgfSBmcm9tICdsaWJzL2NvbW1vbi9iYWNrYm9uZS9lcnJvcnMvRGV2RXJyb3InO1xyXG5pbXBvcnQgeyBXZWJwbGF5ZXJFdmVudHMgfSBmcm9tICdsaWJzL2NvbW1vbi9iYWNrYm9uZS9jb25zdGFudHMvV2VicGxheWVyJztcclxuXHJcbmltcG9ydCB7IE9iamVjdEZvcm1hdEhlbHBlciB9IGZyb20gJ2xpYnMvYW5hbHl0aWNzL3V0aWxzL09iamVjdEZvcm1hdEhlbHBlcic7XHJcbmltcG9ydCB7IFZpZGVvLCBBbmFseXRpY3NPcHRpb25zLCBVc2VyQWN0aW9uLCBQbGF5YmFja0Rlc2NyaXB0b3IsIEFjdGlvbkRlc2NyaXB0b3IgfSBmcm9tICdsaWJzL2FuYWx5dGljcy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgQW5hbHl0aWNzIH0gZnJvbSAnbGlicy9hbmFseXRpY3MvQW5hbHl0aWNzJztcclxuaW1wb3J0IHsgQW5hbHl0aWNzSGVscGVyIH0gZnJvbSAnbGlicy9hbmFseXRpY3MvQW5hbHl0aWNzSGVscGVyJztcclxuXHJcbmltcG9ydCB7IFBsYXliYWNrU3RhdHVzLCBWaWRlb0RhdGFGb3JtYXRIZWxwZXIsIFZpZGVvV2F0Y2hBbmFseXRpY3NFdmVudCB9IGZyb20gJy4vVmlkZW9EYXRhRm9ybWF0SGVscGVyJztcclxuXHJcbi8vIFJlY29yZCBwcm9ncmVzcyB3YXRjaCBwcm9ncmVzcyBldmVyeSBtaW51dGVcclxuY29uc3QgREVGQVVMVF9MT0dfSU5URVJWQUwgPSA2MDsgLy8gU2Vjb25kc1xyXG5cclxuLy8gTGVnYWN5IHdhdGNoIGV2ZW50IHdhcyByZWNvcmRlZCBhZnRlciB2aWV3aW5nIGZvciA4IHNlY29uZHNcclxuY29uc3QgTEVHQUNZX1dBVENIX0VMQVBTRSA9IDg7XHJcblxyXG5jb25zdCBTSE9VTERfTE9HX1ZFUkJPU0UgPSBmYWxzZTsgLy8gU2VlIGxvZ1ZlcmJvc2UgZnVuY3Rpb24gYmVsb3cuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFZpZGVvQW5hbHl0aWNzVHJhY2tlck9wdGlvbnMgZXh0ZW5kcyBDb3JlLlNlcnZpY2VPcHRpb25zIHtcclxuICBldmVudHNBcGk6IENWRXZlbnRzQXBpO1xyXG4gIHZpZGVvOiBWaWRlbztcclxuICBjYXB0dXJlSW50ZXJ2YWw/OiBudW1iZXI7XHJcbiAgYW5hbHl0aWNzT3B0aW9ucz86IEFuYWx5dGljc09wdGlvbnM7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBWaWRlb0FuYWx5dGljc1RyYWNrZXIgZXh0ZW5kcyBDb3JlLlNlcnZpY2Uge1xyXG4gIHByb3RlY3RlZCBvcHRpb25zOiBWaWRlb0FuYWx5dGljc1RyYWNrZXJPcHRpb25zO1xyXG4gIHByaXZhdGUgZXZlbnRzQXBpOiBDVkV2ZW50c0FwaTtcclxuICBwcml2YXRlIG1vZGVsOiBWaWRlbztcclxuICBwcml2YXRlIGNhcHR1cmVJbnRlcnZhbDogbnVtYmVyID0gREVGQVVMVF9MT0dfSU5URVJWQUw7XHJcbiAgcHJpdmF0ZSBwbGF5YmFja1N0YXR1czogUGxheWJhY2tTdGF0dXM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFZpZGVvQW5hbHl0aWNzVHJhY2tlck9wdGlvbnMpIHtcclxuICAgIHN1cGVyKG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJ1ZpZGVvQW5hbHl0aWNzVHJhY2tlcic7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZXZlbnRzQXBpID0gdGhpcy5vcHRpb25zLmV2ZW50c0FwaTtcclxuXHJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy52aWRlbylcclxuICAgICAgQ29yZS5FcnJvckhlbHBlci50aHJvdyhuZXcgRGV2RXJyb3IoJ1ZpZGVvIGxvZ2dpbmcgcmVxdWlyZXMgdmlkZW8gdG8gYmUgcGFzc2VkIGluLicpKTtcclxuXHJcbiAgICB0aGlzLm1vZGVsID0gdGhpcy5vcHRpb25zLnZpZGVvO1xyXG5cclxuICAgIHRoaXMucGxheWJhY2tTdGF0dXMgPSB0aGlzLmdldE5ld1BsYXliYWNrU3RhdHVzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5jYXB0dXJlSW50ZXJ2YWwpXHJcbiAgICAgIHRoaXMuY2FwdHVyZUludGVydmFsID0gdGhpcy5vcHRpb25zLmNhcHR1cmVJbnRlcnZhbDtcclxuXHJcbiAgICB0aGlzLmJpbmRMaXN0ZW5lcnMoKTtcclxuICAgIHRoaXMuZ2V0Q2hhcHRlcnMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYmluZExpc3RlbmVycygpOiB2b2lkIHtcclxuICAgIHRoaXMuZXZlbnRzQXBpLm9uKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLlRJTUVfVVBEQVRFLCBfLmJpbmQodGhpcy5vblBsYXllclRpbWVVcGRhdGUsIHRoaXMpKTtcclxuICAgIHRoaXMuZXZlbnRzQXBpLm9uKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLlZJREVPX0VORCwgXy5iaW5kKHRoaXMub25FbmQsIHRoaXMpKTtcclxuICAgIHRoaXMuZXZlbnRzQXBpLm9uKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLkZVTExTQ1JFRU5fQ0hBTkdFLCBfLmJpbmQodGhpcy5vbkZ1bGxTY3JlZW4sIHRoaXMpKTtcclxuICAgIHRoaXMuZXZlbnRzQXBpLm9uKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLkNIQVBURVJfQ0hBTkdFLCBfLmJpbmQodGhpcy5vbkNoYXB0ZXJDaGFuZ2UsIHRoaXMpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdW5iaW5kTGlzdGVuZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5ldmVudHNBcGkub2ZmKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLlRJTUVfVVBEQVRFKTtcclxuICAgIHRoaXMuZXZlbnRzQXBpLm9mZihXZWJwbGF5ZXJFdmVudHMuUkVDRUlWRS5WSURFT19FTkQpO1xyXG4gICAgdGhpcy5ldmVudHNBcGkub2ZmKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLkZVTExTQ1JFRU5fQ0hBTkdFKTtcclxuICAgIHRoaXMuZXZlbnRzQXBpLm9mZihXZWJwbGF5ZXJFdmVudHMuUkVDRUlWRS5DSEFQVEVSX0NIQU5HRSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENoYXB0ZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5xdWVyeVdlYnBsYXllcihXZWJwbGF5ZXJFdmVudHMuUVVFUklFUy5HRVRfQ0hBUFRFUlMsIChlOiBKUXVlcnkuRXZlbnQsIGNoYXB0ZXJzOiBPYmplY3RIYXNoW10pID0+IHtcclxuICAgICAgdGhpcy5zZXRJbml0aWFsQ2hhcHRlcihjaGFwdGVycyk7XHJcbiAgICAgIHRoaXMuc2V0VmlkZW9EdXJhdGlvbihjaGFwdGVycyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcXVlcnlXZWJwbGF5ZXIocXVlcnlFdmVudDogc3RyaW5nLCBjYWxsYmFjazogKC4uLmFyZ3M6IGFueSkgPT4gYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCB1bmlxdWVUcmFja2VySWQgPSBfLnVuaXF1ZUlkKHRoaXMubmFtZSk7XHJcbiAgICBjb25zdCBxdWVyeUNhbGxiYWNrRXZlbnQgPSBgJHtXZWJwbGF5ZXJFdmVudHMuUkVDRUlWRS5RVUVSWV9DQUxMQkFDS30tJHt1bmlxdWVUcmFja2VySWR9YDtcclxuXHJcbiAgICB0aGlzLmV2ZW50c0FwaS5vbmUocXVlcnlDYWxsYmFja0V2ZW50LCBjYWxsYmFjayk7XHJcbiAgICB0aGlzLmV2ZW50c0FwaS50cmlnZ2VyKFdlYnBsYXllckV2ZW50cy5UUklHR0VSLlFVRVJZLCBxdWVyeUV2ZW50LCB1bmlxdWVUcmFja2VySWQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkVuZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0Q3VycmVudFBvc2l0aW9uKHRoaXMucGxheWJhY2tTdGF0dXMudG90YWxEdXJhdGlvbik7XHJcbiAgICB0aGlzLmxvZ1ZlcmJvc2UoUGxheWJhY2tEZXNjcmlwdG9yLkZpbmlzaCk7XHJcbiAgICB0aGlzLnJlc2V0UGxheWJhY2tTdGF0dXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25GdWxsU2NyZWVuKGU6IEpRdWVyeS5FdmVudCwgaXNGdWxsU2NyZWVuOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBjb25zdCBkZXNjcmlwdG9yID0gaXNGdWxsU2NyZWVuID8gUGxheWJhY2tEZXNjcmlwdG9yLkZ1bGxTY3JlZW5FbnRlciA6IFBsYXliYWNrRGVzY3JpcHRvci5GdWxsU2NyZWVuRXhpdDtcclxuICAgIHRoaXMubG9nVmVyYm9zZShkZXNjcmlwdG9yKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIG9uUGxheWVyVGltZVVwZGF0ZShlOiBKUXVlcnkuRXZlbnQsIHJhd1RpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5xdWVyeVdlYnBsYXllcihXZWJwbGF5ZXJFdmVudHMuUVVFUklFUy5JU19QQVVTRUQsIChldjogSlF1ZXJ5LkV2ZW50LCBpc1BhdXNlZDogYm9vbGVhbikgPT4ge1xyXG4gICAgICB0aGlzLnVwZGF0ZVRpbWUocmF3VGltZSwgaXNQYXVzZWQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhcHRlckNoYW5nZShlOiBKUXVlcnkuRXZlbnQsIG5leHRDaGFwdGVyOiBPYmplY3RIYXNoKTogdm9pZCB7XHJcbiAgICBpZiAoIV8uaXNPYmplY3QobmV4dENoYXB0ZXIpKSByZXR1cm47XHJcbiAgICB0aGlzLnNldEN1cnJlbnRDaGFwdGVyKG5leHRDaGFwdGVyLm51bWJlcik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVRpbWUocmF3VGltZTogbnVtYmVyLCBpc1BhdXNlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgY29uc3QgdGltZSA9IE1hdGguZmxvb3IocmF3VGltZSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJZ25vcmUgdGhlIGZpcnN0IHRpbWUgdXBkYXRlIGF0IDAgYW5kIGR1cGxpY2F0ZSBldmVudHMgd2l0aCB0aGUgc2FtZSByYXdUaW1lIHBvaW50LiBcclxuICAgICAqIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGF2b2lkIHN1YnRsZSBidWdzIHdoZXJlIHRoZSB3ZWJwbGF5ZXIgaXMgcmVzZXQgYXQgdGhlIGVuZCBvZiBwbGF5YmFjay5cclxuICAgICAqL1xyXG4gICAgaWYgKCF0aW1lIHx8IHRpbWUgPT09IHRoaXMuZ2V0Q3VycmVudFBvc2l0b24oKSkgcmV0dXJuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQWx3YXlzIHNldCB0aGUgcG9zaXRpb24gZmlyc3QsIHNvIHdlIGNhbiByZXN0b3JlIHN0YXRlIHdoZW4gdGhlIHVzZXIgY29udGludWVzXHJcbiAgICAgKiBwbGF5YmFjayBvZiB0aGUgc2FtZSB2aWRlbyBmcm9tIGEgZGlmZmVyZW50IGxvY2F0aW9uLiBcclxuICAgICAqL1xyXG4gICAgdGhpcy5zZXRDdXJyZW50UG9zaXRpb24odGltZSk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPbmx5IHVwZGF0ZSB3YXRjaCB0aW1lIGFuZCBsb2cgaWYgd2UgYXJlIGFjdHVhbGx5IHBsYXlpbmcgYSB2aWRlb1xyXG4gICAgICovXHJcbiAgICBpZiAoaXNQYXVzZWQpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICAvLyBMb2cgdGhlIHN0YXJ0IGV2ZW50XHJcbiAgICBpZiAoIXRoaXMucGxheWJhY2tIYXNTdGFydGVkKCkpIHtcclxuICAgICAgdGhpcy5sb2dWZXJib3NlKFBsYXliYWNrRGVzY3JpcHRvci5TdGFydCk7XHJcbiAgICAgIHRoaXMuc2V0UGxheWJhY2tTdGFydGVkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbmNyZW1lbnRXYXRjaFRpbWUoKTtcclxuXHJcbiAgICAvLyBMb2cgYXQgZWFjaCBpbnRlcnZhbCBwZXJpb2RcclxuICAgIGlmICh0aGlzLmdldFdhdGNoVGltZSgpICUgdGhpcy5jYXB0dXJlSW50ZXJ2YWwgPT09IDApXHJcbiAgICAgIHRoaXMubG9nVmVyYm9zZShQbGF5YmFja0Rlc2NyaXB0b3IuUGxheWJhY2spO1xyXG5cclxuICAgIGlmICh0aGlzLmdldFdhdGNoVGltZSgpID09PSBMRUdBQ1lfV0FUQ0hfRUxBUFNFKVxyXG4gICAgICB0aGlzLmxvZ1N0cmVhbSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRJbml0aWFsQ2hhcHRlcihjaGFwdGVyczogT2JqZWN0SGFzaFtdKTogdm9pZCB7XHJcbiAgICBjb25zdCBjdXJyZW50Q2hhcHRlciA9IF8uZmluZChjaGFwdGVycywgKGM6IE9iamVjdEhhc2gpID0+IGMuY3VycmVudCA9PT0gdHJ1ZSk7XHJcblxyXG4gICAgaWYgKCFfLmlzT2JqZWN0KGN1cnJlbnRDaGFwdGVyKSkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuc2V0Q3VycmVudENoYXB0ZXIoY3VycmVudENoYXB0ZXIubnVtYmVyKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VmlkZW9EdXJhdGlvbihjaGFwdGVyczogT2JqZWN0SGFzaFtdKTogdm9pZCB7XHJcbiAgICBjb25zdCB0b3RhbER1cmF0aW9uID0gXy5yZWR1Y2UoY2hhcHRlcnMsIChkOiBudW1iZXIsIGM6IE9iamVjdEhhc2gpID0+IGQgKyBjLmR1cmF0aW9uLCAwKTtcclxuXHJcbiAgICBpZiAoXy5pc05hTih0b3RhbER1cmF0aW9uKSB8fCAhXy5pc051bWJlcih0b3RhbER1cmF0aW9uKSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIC8vIEFsd2F5cyByb3VuZCBkb3duIHRvIHRoZSBjdXJyZW50IHNlY29uZFxyXG4gICAgdGhpcy5wbGF5YmFja1N0YXR1cy50b3RhbER1cmF0aW9uID0gTWF0aC5mbG9vcih0b3RhbER1cmF0aW9uKTtcclxuICB9XHJcblxyXG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IHBsYXliYWNrIHBvc2l0aW9uXHJcbiAgcHJpdmF0ZSBzZXRDdXJyZW50UG9zaXRpb24odGltZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnBsYXliYWNrU3RhdHVzLnBvc2l0aW9uID0gdGltZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q3VycmVudFBvc2l0b24oKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLnBsYXliYWNrU3RhdHVzLnBvc2l0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDdXJyZW50Q2hhcHRlcihjaGFwdGVyOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHRoaXMucGxheWJhY2tTdGF0dXMuY2hhcHRlciA9IGNoYXB0ZXI7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFBsYXliYWNrU3RhcnRlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGxheWJhY2tTdGF0dXMuaGFzU3RhcnRlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHBsYXliYWNrSGFzU3RhcnRlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnBsYXliYWNrU3RhdHVzLmhhc1N0YXJ0ZWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFdhdGNoVGltZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMucGxheWJhY2tTdGF0dXMudG90YWxXYXRjaGVkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbmNyZW1lbnRXYXRjaFRpbWUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBsYXliYWNrU3RhdHVzLnRvdGFsV2F0Y2hlZCArPSAxO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXROZXdQbGF5YmFja1N0YXR1cyhvcHRpb25zOiBPYmplY3RIYXNoID0ge30pOiBQbGF5YmFja1N0YXR1cyB7XHJcbiAgICBjb25zdCB7IGR1cmF0aW9uLCB3YXRjaGVkIH0gPSBvcHRpb25zO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIHBvc2l0aW9uOiAwLFxyXG4gICAgICBjaGFwdGVyOiAwLFxyXG4gICAgICBoYXNTdGFydGVkOiBmYWxzZSxcclxuICAgICAgdG90YWxXYXRjaGVkOiB3YXRjaGVkID8gd2F0Y2hlZCA6IDAsXHJcbiAgICAgIHRvdGFsRHVyYXRpb246IGR1cmF0aW9uID8gZHVyYXRpb24gOiAwXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXNldFBsYXliYWNrU3RhdHVzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcHJlc2VydmVkU3RhdGUgPSB7XHJcbiAgICAgIGR1cmF0aW9uOiB0aGlzLnBsYXliYWNrU3RhdHVzLnRvdGFsRHVyYXRpb24sXHJcbiAgICAgIHdhdGNoZWQ6IHRoaXMucGxheWJhY2tTdGF0dXMudG90YWxXYXRjaGVkXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMucGxheWJhY2tTdGF0dXMgPSB0aGlzLmdldE5ld1BsYXliYWNrU3RhdHVzKHByZXNlcnZlZFN0YXRlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdW5iaW5kVW5sb2FkKCk6IHZvaWQge1xyXG4gICAgJCh3aW5kb3cpLm9mZigndW5sb2FkJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJpbmRVbmxvYWQoKTogdm9pZCB7XHJcbiAgICAkKHdpbmRvdykub24oJ3VubG9hZCcsIF8uYmluZCh0aGlzLmxvZ1VubG9hZCwgdGhpcykpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBsb2dVbmxvYWQoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMucGxheWJhY2tIYXNTdGFydGVkKCkpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmxvZ1ZlcmJvc2UoUGxheWJhY2tEZXNjcmlwdG9yLlRlcm1pbmF0ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvZ1N0cmVhbSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGFjdGlvbiA9IEFuYWx5dGljc0hlbHBlci5idWlsZEFjdGlvbkNvbnRleHQodGhpcy5vcHRpb25zLmFuYWx5dGljc09wdGlvbnMpO1xyXG5cclxuICAgIGNvbnN0IGRhdGEgPSBWaWRlb0RhdGFGb3JtYXRIZWxwZXIuZ2V0TGVnYWN5VmlkZW9EYXRhKHRoaXMuZ2V0UGxheWJhY2tEYXRhKCkpO1xyXG5cclxuICAgIEFuYWx5dGljcy5sb2coVXNlckFjdGlvbi5TdHJlYW0sIGRhdGEsIGFjdGlvbik7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBsb2dWZXJib3NlIGlzIHVzZWQgZm9yIG1vcmUgZ3JhbnVsYXIgbG9nZ2luZyB0aGFuIGxvZ1N0cmVhbSwgaG93ZXZlciBhcyBvZiBKdW5lIDIwMjBcclxuICAgKiB3ZSBhcmUgb25seSBsb2dnaW5nIHRoZSBzaW1wbGVyIHN0cmVhbSBldmVudCB3aGljaCBpcyB0aGUgc2FtZSBhcyB2aWRlb1dhdGNoZWQgaW4gT25saW5lLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgbG9nVmVyYm9zZShkZXNjcmlwdG9yOiBBY3Rpb25EZXNjcmlwdG9yKTogdm9pZCB7XHJcbiAgICBpZiAoIVNIT1VMRF9MT0dfVkVSQk9TRSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGFuYWx5dGljc09wdGlvbnMgPSBBbmFseXRpY3NIZWxwZXIubWVyZ2VPcHRpb25zKHRoaXMub3B0aW9ucy5hbmFseXRpY3NPcHRpb25zLCB7IGRlc2NyaXB0b3IgfSk7XHJcbiAgICBjb25zdCBhY3Rpb24gPSBBbmFseXRpY3NIZWxwZXIuYnVpbGRBY3Rpb25Db250ZXh0KGFuYWx5dGljc09wdGlvbnMpO1xyXG5cclxuICAgIEFuYWx5dGljcy5sb2coVXNlckFjdGlvbi5TdHJlYW0sIHRoaXMuZ2V0UGxheWJhY2tEYXRhKCksIGFjdGlvbik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBsYXliYWNrRGF0YSgpOiBWaWRlb1dhdGNoQW5hbHl0aWNzRXZlbnQge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbW9kZWw6IE9iamVjdEZvcm1hdEhlbHBlci50b0pTT048VmlkZW8+KHRoaXMubW9kZWwpLFxyXG4gICAgICAvKipcclxuICAgICAgICogQ2xvbmUgdGhlIHBsYXliYWNrIHN0YXR1cyB0byBlbnN1cmUgdGhhdCB0aGUgb2JqZWN0IGlzIG5vdCBtdXRhdGVkIHByaW9yIHRvIGJlaW5nIGxvZ2dlZCBieVxyXG4gICAgICAgKiB0aGUgQW5hbHl0aWNzU2VydmljZS4gUmVtb3ZlIHZpZXctc3BlY2lmaWMgcHJvcGVydGllcy5cclxuICAgICAgICovXHJcbiAgICAgIHBsYXliYWNrU3RhdHVzOiBfLm9taXQodGhpcy5wbGF5YmFja1N0YXR1cywgJ2hhc1N0YXJ0ZWQnKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnVuYmluZExpc3RlbmVycygpO1xyXG4gICAgdGhpcy51bmJpbmRVbmxvYWQoKTtcclxuICAgIHRoaXMubG9nVW5sb2FkKCk7XHJcbiAgfVxyXG59XHJcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBSUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBUUE7QUFBQTtBQUNBO0FBREE7QUFDQTtBQU1BO0FBQUE7QUFDQTtBQURBO0FBQ0E7QUFBQTtBQUpBO0FBR0E7QUFFQTtBQUNBO0FBVkE7QUFBQTtBQUFBO0FBWUE7QUFDQTtBQWJBO0FBQUE7QUFBQTtBQWdCQTtBQUVBO0FBR0E7QUFFQTtBQUVBO0FBR0E7QUFDQTtBQUNBO0FBOUJBO0FBQUE7QUFBQTtBQWlDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBckNBO0FBQUE7QUFBQTtBQXdDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBNUNBO0FBQUE7QUFBQTtBQThDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBbkRBO0FBQUE7QUFBQTtBQXNEQTtBQUNBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUEzREE7QUFBQTtBQUFBO0FBOERBO0FBQ0E7QUFDQTtBQUNBO0FBakVBO0FBQUE7QUFBQTtBQW9FQTtBQUNBO0FBQ0E7QUF0RUE7QUFBQTtBQUFBO0FBeUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQTdFQTtBQUFBO0FBQUE7QUFnRkE7QUFDQTtBQUNBO0FBbEZBO0FBQUE7QUFBQTtBQXFGQTtBQUVBOzs7QUFHQTtBQUNBO0FBQUE7QUFFQTs7O0FBR0E7QUFDQTtBQUFBO0FBRUE7O0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBR0E7QUFFQTtBQXZIQTtBQUFBO0FBQUE7QUEwSEE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUEvSEE7QUFBQTtBQUFBO0FBa0lBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQTFJQTtBQUFBO0FBQUE7QUE2SUE7QUFDQTtBQTlJQTtBQUFBO0FBQUE7QUFpSkE7QUFDQTtBQWxKQTtBQUFBO0FBQUE7QUFxSkE7QUFDQTtBQXRKQTtBQUFBO0FBQUE7QUF5SkE7QUFDQTtBQTFKQTtBQUFBO0FBQUE7QUE2SkE7QUFDQTtBQTlKQTtBQUFBO0FBQUE7QUFpS0E7QUFDQTtBQWxLQTtBQUFBO0FBQUE7QUFxS0E7QUFDQTtBQXRLQTtBQUFBO0FBQUE7QUF3S0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQWxMQTtBQUFBO0FBQUE7QUFxTEE7QUFDQTtBQUNBO0FBRkE7QUFLQTtBQUNBO0FBM0xBO0FBQUE7QUFBQTtBQThMQTtBQUNBO0FBL0xBO0FBQUE7QUFBQTtBQWtNQTtBQUNBO0FBbk1BO0FBQUE7QUFBQTtBQXNNQTtBQUdBO0FBQ0E7QUExTUE7QUFBQTtBQUFBO0FBNk1BO0FBRUE7QUFFQTtBQUNBO0FBRUE7OztBQUdBO0FBQ0E7QUF4TkE7QUFBQTtBQUFBO0FBeU5BO0FBR0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBaE9BO0FBQUE7QUFBQTtBQW1PQTtBQUNBO0FBQ0E7QUFBQTs7O0FBR0E7QUFDQTtBQU5BO0FBUUE7QUEzT0E7QUFBQTtBQUFBO0FBOE9BO0FBQ0E7QUFDQTtBQUNBO0FBalBBO0FBQ0E7QUFEQTtBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../libs/analytics/src/utils/VideoAnalyticsTracker.ts\n");
16
+
17
+ /***/ }),
18
+
19
+ /***/ "../../libs/analytics/src/utils/VideoDataFormatHelper.ts":
20
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
21
+
22
+ "use strict";
23
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VideoDataFormatHelper\", function() { return VideoDataFormatHelper; });\nfunction getBasicVideoData(model) {\n if (!model || !model.id) throw new Error('Video model required. Checking logging.');\n return {\n id: model.id,\n title: model.name,\n trackingCode: model.trackingCode,\n duration: model.duration\n };\n}\n\nfunction getRatingData(model) {\n if (!model || !model.code) return;\n return model.code;\n}\n\nfunction getAssocData(model) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!model || !model.id) return;\n var data = {\n id: model.id\n };\n if (model.name && !options.ignoreTitle) data.title = model.name;\n return data;\n}\n\nfunction getFolderData(collection) {\n if (!collection || !collection.length) return;\n var folder = collection[0];\n return {\n id: folder.id,\n title: folder.name\n };\n}\n\nvar VideoDataFormatHelper = {\n getVideoData: function getVideoData(options) {\n var playbackStatus = options.playbackStatus;\n var model = options.model;\n var video = getBasicVideoData(model); // Extract assoc data\n\n var series = getAssocData(model.series);\n var folder = getFolderData(model.categories);\n var owner = getAssocData(model.owner, {\n ignoreTitle: true\n });\n var playlist = getAssocData(model.playlist);\n var rating = getRatingData(model.rating);\n var data = {\n video: video\n };\n if (rating) data.rating = rating;\n if (series) data.series = series;\n if (folder) data.folder = folder;\n if (owner) data.owner = owner;\n if (playlist) data.playlist = playlist;\n if (playbackStatus) data.playbackStatus = playbackStatus;\n return data;\n },\n\n /**\r\n * Map to the same properties recorded in Online.\r\n * @see _toLogMasterVideo() in AnalyticsService in Online\r\n *\r\n * TODO: Video origin and user channel logging - both of these need to be re-worked properly.\r\n */\n getLegacyVideoData: function getLegacyVideoData(options) {\n var model = options.model;\n var video = {\n id: model.id.toString(),\n year: model.productionYear,\n title: model.name,\n trackingCode: model.trackingCode\n };\n var rating = getRatingData(model.rating);\n var series = getAssocData(model.series);\n var folder = getFolderData(model.categories);\n var owner = getAssocData(model.owner, {\n ignoreTitle: true\n });\n var playlist = getAssocData(model.playlist);\n if (rating) video.rating = rating;\n if (owner) video.ownerId = owner.id;\n\n if (series) {\n video.seriesId = series.id;\n video.series = series.title;\n }\n\n if (folder) video.category = folder.title;\n if (playlist) video.playlist = playlist;\n return video;\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbGlicy9hbmFseXRpY3Mvc3JjL3V0aWxzL1ZpZGVvRGF0YUZvcm1hdEhlbHBlci50cy5qcyIsInNvdXJjZXMiOlsiZmlsZTovL0M6L0NsaWNrVmlldy9jbGlja3ZpZXcvcGFja2FnZXMvbGlicy9hbmFseXRpY3Mvc3JjL3V0aWxzL1ZpZGVvRGF0YUZvcm1hdEhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXNoT2JqZWN0LCBWaWRlbywgU2VyaWVzLCBPd25lciwgUGxheWxpc3QsIFJhdGluZywgRm9sZGVyIH0gZnJvbSAnbGlicy9hbmFseXRpY3MvaW50ZXJmYWNlcyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFZpZGVvV2F0Y2hBbmFseXRpY3NFdmVudCB7XHJcbiAgbW9kZWw6IFZpZGVvO1xyXG4gIHBsYXliYWNrU3RhdHVzOiBQbGF5YmFja1N0YXR1cztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQbGF5YmFja1N0YXR1cyB7XHJcbiAgcG9zaXRpb246IG51bWJlcjtcclxuICBjaGFwdGVyOiBudW1iZXI7XHJcbiAgdG90YWxEdXJhdGlvbjogbnVtYmVyO1xyXG4gIHRvdGFsV2F0Y2hlZDogbnVtYmVyO1xyXG4gIGhhc1N0YXJ0ZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgQmFzZVZpZGVvRGF0YSB7XHJcbiAgaWQ6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHRyYWNraW5nQ29kZTogc3RyaW5nO1xyXG4gIGR1cmF0aW9uOiBudW1iZXI7XHJcbn1cclxuXHJcbmludGVyZmFjZSBCYXNlQXNzb2NEYXRhIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFZpZGVvQW5hbHl0aWNzUGF5bG9hZCB7XHJcbiAgdmlkZW86IEJhc2VWaWRlb0RhdGE7XHJcbiAgcmF0aW5nPzogc3RyaW5nO1xyXG4gIHNlcmllcz86IEJhc2VBc3NvY0RhdGE7XHJcbiAgZm9sZGVyPzogQmFzZUFzc29jRGF0YTtcclxuICBvd25lcj86IEJhc2VBc3NvY0RhdGE7XHJcbiAgcGxheWxpc3Q/OiBCYXNlQXNzb2NEYXRhO1xyXG4gIHBsYXliYWNrU3RhdHVzPzogUGxheWJhY2tTdGF0dXM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBPbmx5IGFsbG93IHZhbGlkIFZpZGVvIGFzc29jcyB0byBiZSBjYXB0dXJlZFxyXG4gKi9cclxudHlwZSBWaWRlb0Fzc29jcyA9IFNlcmllcyB8IE93bmVyIHwgUGxheWxpc3Q7XHJcblxyXG5mdW5jdGlvbiBnZXRCYXNpY1ZpZGVvRGF0YShtb2RlbDogVmlkZW8pOiBCYXNlVmlkZW9EYXRhIHtcclxuICBpZiAoIW1vZGVsIHx8ICFtb2RlbC5pZClcclxuICAgIHRocm93IG5ldyBFcnJvcignVmlkZW8gbW9kZWwgcmVxdWlyZWQuIENoZWNraW5nIGxvZ2dpbmcuJyk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICBpZDogbW9kZWwuaWQsXHJcbiAgICB0aXRsZTogbW9kZWwubmFtZSxcclxuICAgIHRyYWNraW5nQ29kZTogbW9kZWwudHJhY2tpbmdDb2RlLFxyXG4gICAgZHVyYXRpb246IG1vZGVsLmR1cmF0aW9uXHJcbiAgfTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0UmF0aW5nRGF0YShtb2RlbDogUmF0aW5nKTogc3RyaW5nIHtcclxuICBpZiAoIW1vZGVsIHx8ICFtb2RlbC5jb2RlKSByZXR1cm47XHJcbiAgcmV0dXJuIG1vZGVsLmNvZGU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGdldEFzc29jRGF0YShtb2RlbDogVmlkZW9Bc3NvY3MsIG9wdGlvbnM6IEhhc2hPYmplY3QgPSB7fSk6IEJhc2VBc3NvY0RhdGEge1xyXG4gIGlmICghbW9kZWwgfHwgIW1vZGVsLmlkKSByZXR1cm47XHJcblxyXG4gIGNvbnN0IGRhdGE6IEJhc2VBc3NvY0RhdGEgPSB7XHJcbiAgICBpZDogbW9kZWwuaWRcclxuICB9O1xyXG5cclxuICBpZiAobW9kZWwubmFtZSAmJiAhb3B0aW9ucy5pZ25vcmVUaXRsZSlcclxuICAgIGRhdGEudGl0bGUgPSBtb2RlbC5uYW1lO1xyXG5cclxuICByZXR1cm4gZGF0YTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0Rm9sZGVyRGF0YShjb2xsZWN0aW9uOiBGb2xkZXJbXSk6IEJhc2VBc3NvY0RhdGEge1xyXG4gIGlmICghY29sbGVjdGlvbiB8fCAhY29sbGVjdGlvbi5sZW5ndGgpIHJldHVybjtcclxuXHJcbiAgY29uc3QgZm9sZGVyID0gY29sbGVjdGlvblswXTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGlkOiBmb2xkZXIuaWQsXHJcbiAgICB0aXRsZTogZm9sZGVyLm5hbWVcclxuICB9O1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgVmlkZW9EYXRhRm9ybWF0SGVscGVyID0ge1xyXG4gIGdldFZpZGVvRGF0YShvcHRpb25zOiBWaWRlb1dhdGNoQW5hbHl0aWNzRXZlbnQpOiBWaWRlb0FuYWx5dGljc1BheWxvYWQge1xyXG4gICAgY29uc3QgeyBwbGF5YmFja1N0YXR1cyB9ID0gb3B0aW9ucztcclxuICAgIGNvbnN0IG1vZGVsID0gb3B0aW9ucy5tb2RlbDtcclxuXHJcbiAgICBjb25zdCB2aWRlbyA9IGdldEJhc2ljVmlkZW9EYXRhKG1vZGVsKTtcclxuXHJcbiAgICAvLyBFeHRyYWN0IGFzc29jIGRhdGFcclxuICAgIGNvbnN0IHNlcmllcyA9IGdldEFzc29jRGF0YShtb2RlbC5zZXJpZXMpO1xyXG4gICAgY29uc3QgZm9sZGVyID0gZ2V0Rm9sZGVyRGF0YShtb2RlbC5jYXRlZ29yaWVzKTtcclxuICAgIGNvbnN0IG93bmVyID0gZ2V0QXNzb2NEYXRhKG1vZGVsLm93bmVyLCB7IGlnbm9yZVRpdGxlOiB0cnVlIH0pO1xyXG4gICAgY29uc3QgcGxheWxpc3QgPSBnZXRBc3NvY0RhdGEobW9kZWwucGxheWxpc3QpO1xyXG4gICAgY29uc3QgcmF0aW5nID0gZ2V0UmF0aW5nRGF0YShtb2RlbC5yYXRpbmcpO1xyXG5cclxuICAgIGNvbnN0IGRhdGE6IFZpZGVvQW5hbHl0aWNzUGF5bG9hZCA9IHsgdmlkZW8gfTtcclxuXHJcbiAgICBpZiAocmF0aW5nKSBkYXRhLnJhdGluZyA9IHJhdGluZztcclxuICAgIGlmIChzZXJpZXMpIGRhdGEuc2VyaWVzID0gc2VyaWVzO1xyXG4gICAgaWYgKGZvbGRlcikgZGF0YS5mb2xkZXIgPSBmb2xkZXI7XHJcbiAgICBpZiAob3duZXIpIGRhdGEub3duZXIgPSBvd25lcjtcclxuICAgIGlmIChwbGF5bGlzdCkgZGF0YS5wbGF5bGlzdCA9IHBsYXlsaXN0O1xyXG4gICAgaWYgKHBsYXliYWNrU3RhdHVzKSBkYXRhLnBsYXliYWNrU3RhdHVzID0gcGxheWJhY2tTdGF0dXM7XHJcblxyXG4gICAgcmV0dXJuIGRhdGE7XHJcbiAgfSxcclxuXHJcbiAgLyoqXHJcbiAgICogTWFwIHRvIHRoZSBzYW1lIHByb3BlcnRpZXMgcmVjb3JkZWQgaW4gT25saW5lLlxyXG4gICAqIEBzZWUgX3RvTG9nTWFzdGVyVmlkZW8oKSBpbiBBbmFseXRpY3NTZXJ2aWNlIGluIE9ubGluZVxyXG4gICAqIFxyXG4gICAqIFRPRE86IFZpZGVvIG9yaWdpbiBhbmQgdXNlciBjaGFubmVsIGxvZ2dpbmcgLSBib3RoIG9mIHRoZXNlIG5lZWQgdG8gYmUgcmUtd29ya2VkIHByb3Blcmx5LlxyXG4gICAqL1xyXG4gIGdldExlZ2FjeVZpZGVvRGF0YShvcHRpb25zOiBWaWRlb1dhdGNoQW5hbHl0aWNzRXZlbnQpOiBIYXNoT2JqZWN0IHtcclxuICAgIGNvbnN0IG1vZGVsID0gb3B0aW9ucy5tb2RlbDtcclxuXHJcbiAgICBjb25zdCB2aWRlbzogSGFzaE9iamVjdCA9IHtcclxuICAgICAgaWQ6IG1vZGVsLmlkLnRvU3RyaW5nKCksXHJcbiAgICAgIHllYXI6IG1vZGVsLnByb2R1Y3Rpb25ZZWFyLFxyXG4gICAgICB0aXRsZTogbW9kZWwubmFtZSxcclxuICAgICAgdHJhY2tpbmdDb2RlOiBtb2RlbC50cmFja2luZ0NvZGUsXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHJhdGluZyA9IGdldFJhdGluZ0RhdGEobW9kZWwucmF0aW5nKTtcclxuICAgIGNvbnN0IHNlcmllcyA9IGdldEFzc29jRGF0YShtb2RlbC5zZXJpZXMpO1xyXG4gICAgY29uc3QgZm9sZGVyID0gZ2V0Rm9sZGVyRGF0YShtb2RlbC5jYXRlZ29yaWVzKTtcclxuICAgIGNvbnN0IG93bmVyID0gZ2V0QXNzb2NEYXRhKG1vZGVsLm93bmVyLCB7IGlnbm9yZVRpdGxlOiB0cnVlIH0pO1xyXG4gICAgY29uc3QgcGxheWxpc3QgPSBnZXRBc3NvY0RhdGEobW9kZWwucGxheWxpc3QpO1xyXG5cclxuICAgIGlmIChyYXRpbmcpIHZpZGVvLnJhdGluZyA9IHJhdGluZztcclxuICAgIGlmIChvd25lcikgdmlkZW8ub3duZXJJZCA9IG93bmVyLmlkO1xyXG5cclxuICAgIGlmIChzZXJpZXMpIHtcclxuICAgICAgdmlkZW8uc2VyaWVzSWQgPSBzZXJpZXMuaWQ7XHJcbiAgICAgIHZpZGVvLnNlcmllcyA9IHNlcmllcy50aXRsZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZm9sZGVyKSB2aWRlby5jYXRlZ29yeSA9IGZvbGRlci50aXRsZTtcclxuICAgIGlmIChwbGF5bGlzdCkgdmlkZW8ucGxheWxpc3QgPSBwbGF5bGlzdDtcclxuXHJcbiAgICByZXR1cm4gdmlkZW87XHJcbiAgfSxcclxufTtcclxuIl0sIm1hcHBpbmdzIjoiQUEwQ0E7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFEQTtBQUlBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRkE7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUFBO0FBQUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBSkE7QUFPQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQTVEQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../libs/analytics/src/utils/VideoDataFormatHelper.ts\n");
24
+
25
+ /***/ }),
26
+
27
+ /***/ "../../libs/common/src/backbone/constants/Webplayer.ts":
28
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
29
+
30
+ "use strict";
31
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WebplayerEvents\", function() { return WebplayerEvents; });\n/**\r\n * Events are mapped against those in Webplayer.\r\n * @see http://gitlab.cvinternal.net/WebPlayer/WebPlayer/blob/master/ClickView.Html5.WebPlayer.Web/Scripts/CVPlayerEventsApi.js\r\n */\nvar WebplayerEvents = {\n /**\r\n * Events emitted from webplayer via CVEventsAPI\r\n */\n RECEIVE: {\n PLAY: 'cv-player-play',\n PAUSE: 'cv-player-pause',\n VIDEO_END: 'cv-player-ended',\n VOLUME_CHANGE: 'cv-player-volumechange',\n CHAPTER_CHANGE: 'cv-player-chapterchange',\n TIME_UPDATE: 'cv-player-timeupdate',\n FULLSCREEN_CHANGE: 'cv-player-fullscreenchange',\n CLIP_POINTS_UPDATE: 'cv-player-cliptoolupdate',\n QUALITY_CHANGE: 'cv-player-qualitychange',\n QUERY_CALLBACK: 'cv-player-querycallback',\n SUBTITLES_ENABLED: 'cv-player-hassubtitles',\n SUBTITLES: 'cv-player-subtitles',\n PONG: 'cv-player-pong',\n // User-initiated events from webplayer UI\n FULLSCREEN_CLICK: '_cvwp:fsc',\n DEVICES_BTN_CLICK: '_cvwp:devices:click'\n },\n\n /**\r\n * Events to trigger on CVEventsAPI to manage/update webplayer\r\n */\n TRIGGER: {\n PLAY: 'cv-player-play',\n PAUSE: 'cv-player-pause',\n SET_VOLUME: 'cv-player-setvolume',\n NEXT_CHAPTER: 'cv-player-nextchapter',\n PREV_CHAPTER: 'cv-player-previouschapter',\n CHANGE_CHAPTER: 'cv-player-changechapter',\n TOGGLE_CLIPPING: 'cv-player-cliptooltoggle',\n SET_CLIP_POINTS: 'cv-player-cliptoolset',\n CLIP: 'cv-player-setclip',\n CLEAR_CLIP: 'cv-player-clearclip',\n SEEK_TO: 'cv-player-seekto',\n CONTROLS: 'cv-player-showcontrols',\n SUBTITLES: 'cv-player-subtitles',\n SET_QUALITY: 'cv-player-setquality',\n QUERY: 'cv-player-query',\n ADD_LISTENER: 'cv-player-addlistener',\n REMOVE_LISTENER: 'cv-player-removelistener',\n PING: 'cv-player-ping',\n // Update Webplayer UI\n TOGGLE_DEVICES_BTN: '_cv:toggledevicesbtn',\n SHOW_DEVICES_BTN: '_cv:showdevicesbtn',\n SHOW_FS_BTN: '_cv:showfsbtn'\n },\n\n /**\r\n * The webplayer can be queried directly for the following data.\r\n * Listen on QUERY_CALLBACK for result and trigger on QUERY.\r\n */\n QUERIES: {\n GET_AVAILABLE_QUALITIES: 'getAvailableQualities',\n GET_CURRENT_QUALITY: 'currentQuality',\n IS_PAUSED: 'paused',\n GET_CURRENT_TIME: 'currentTime',\n GET_CHAPTERS: 'getChapters',\n HAS_METADATA_CHAPTERS: 'hasMetadataChapters'\n }\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbGlicy9jb21tb24vc3JjL2JhY2tib25lL2NvbnN0YW50cy9XZWJwbGF5ZXIudHMuanMiLCJzb3VyY2VzIjpbImZpbGU6Ly9DOi9DbGlja1ZpZXcvY2xpY2t2aWV3L3BhY2thZ2VzL2xpYnMvY29tbW9uL3NyYy9iYWNrYm9uZS9jb25zdGFudHMvV2VicGxheWVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBFdmVudHMgYXJlIG1hcHBlZCBhZ2FpbnN0IHRob3NlIGluIFdlYnBsYXllci5cclxuICogQHNlZSBodHRwOi8vZ2l0bGFiLmN2aW50ZXJuYWwubmV0L1dlYlBsYXllci9XZWJQbGF5ZXIvYmxvYi9tYXN0ZXIvQ2xpY2tWaWV3Lkh0bWw1LldlYlBsYXllci5XZWIvU2NyaXB0cy9DVlBsYXllckV2ZW50c0FwaS5qc1xyXG4gKi9cclxuY29uc3QgV2VicGxheWVyRXZlbnRzID0ge1xyXG4gIC8qKlxyXG4gICAqIEV2ZW50cyBlbWl0dGVkIGZyb20gd2VicGxheWVyIHZpYSBDVkV2ZW50c0FQSVxyXG4gICAqL1xyXG4gIFJFQ0VJVkU6IHtcclxuICAgIFBMQVk6ICdjdi1wbGF5ZXItcGxheScsXHJcbiAgICBQQVVTRTogJ2N2LXBsYXllci1wYXVzZScsXHJcbiAgICBWSURFT19FTkQ6ICdjdi1wbGF5ZXItZW5kZWQnLFxyXG4gICAgVk9MVU1FX0NIQU5HRTogJ2N2LXBsYXllci12b2x1bWVjaGFuZ2UnLFxyXG4gICAgQ0hBUFRFUl9DSEFOR0U6ICdjdi1wbGF5ZXItY2hhcHRlcmNoYW5nZScsXHJcbiAgICBUSU1FX1VQREFURTogJ2N2LXBsYXllci10aW1ldXBkYXRlJyxcclxuICAgIEZVTExTQ1JFRU5fQ0hBTkdFOiAnY3YtcGxheWVyLWZ1bGxzY3JlZW5jaGFuZ2UnLFxyXG4gICAgQ0xJUF9QT0lOVFNfVVBEQVRFOiAnY3YtcGxheWVyLWNsaXB0b29sdXBkYXRlJyxcclxuICAgIFFVQUxJVFlfQ0hBTkdFOiAnY3YtcGxheWVyLXF1YWxpdHljaGFuZ2UnLFxyXG4gICAgUVVFUllfQ0FMTEJBQ0s6ICdjdi1wbGF5ZXItcXVlcnljYWxsYmFjaycsXHJcbiAgICBTVUJUSVRMRVNfRU5BQkxFRDogJ2N2LXBsYXllci1oYXNzdWJ0aXRsZXMnLFxyXG4gICAgU1VCVElUTEVTOiAnY3YtcGxheWVyLXN1YnRpdGxlcycsXHJcbiAgICBQT05HOiAnY3YtcGxheWVyLXBvbmcnLFxyXG5cclxuICAgIC8vIFVzZXItaW5pdGlhdGVkIGV2ZW50cyBmcm9tIHdlYnBsYXllciBVSVxyXG4gICAgRlVMTFNDUkVFTl9DTElDSzogJ19jdndwOmZzYycsXHJcbiAgICBERVZJQ0VTX0JUTl9DTElDSzogJ19jdndwOmRldmljZXM6Y2xpY2snLFxyXG4gIH0sXHJcblxyXG4gIC8qKlxyXG4gICAqIEV2ZW50cyB0byB0cmlnZ2VyIG9uIENWRXZlbnRzQVBJIHRvIG1hbmFnZS91cGRhdGUgd2VicGxheWVyXHJcbiAgICovXHJcbiAgVFJJR0dFUjoge1xyXG4gICAgUExBWTogJ2N2LXBsYXllci1wbGF5JyxcclxuICAgIFBBVVNFOiAnY3YtcGxheWVyLXBhdXNlJyxcclxuICAgIFNFVF9WT0xVTUU6ICdjdi1wbGF5ZXItc2V0dm9sdW1lJyxcclxuICAgIE5FWFRfQ0hBUFRFUjogJ2N2LXBsYXllci1uZXh0Y2hhcHRlcicsXHJcbiAgICBQUkVWX0NIQVBURVI6ICdjdi1wbGF5ZXItcHJldmlvdXNjaGFwdGVyJyxcclxuICAgIENIQU5HRV9DSEFQVEVSOiAnY3YtcGxheWVyLWNoYW5nZWNoYXB0ZXInLFxyXG4gICAgVE9HR0xFX0NMSVBQSU5HOiAnY3YtcGxheWVyLWNsaXB0b29sdG9nZ2xlJyxcclxuICAgIFNFVF9DTElQX1BPSU5UUzogJ2N2LXBsYXllci1jbGlwdG9vbHNldCcsXHJcbiAgICBDTElQOiAnY3YtcGxheWVyLXNldGNsaXAnLFxyXG4gICAgQ0xFQVJfQ0xJUDogJ2N2LXBsYXllci1jbGVhcmNsaXAnLFxyXG4gICAgU0VFS19UTzogJ2N2LXBsYXllci1zZWVrdG8nLFxyXG4gICAgQ09OVFJPTFM6ICdjdi1wbGF5ZXItc2hvd2NvbnRyb2xzJyxcclxuICAgIFNVQlRJVExFUzogJ2N2LXBsYXllci1zdWJ0aXRsZXMnLFxyXG4gICAgU0VUX1FVQUxJVFk6ICdjdi1wbGF5ZXItc2V0cXVhbGl0eScsXHJcbiAgICBRVUVSWTogJ2N2LXBsYXllci1xdWVyeScsXHJcbiAgICBBRERfTElTVEVORVI6ICdjdi1wbGF5ZXItYWRkbGlzdGVuZXInLFxyXG4gICAgUkVNT1ZFX0xJU1RFTkVSOiAnY3YtcGxheWVyLXJlbW92ZWxpc3RlbmVyJyxcclxuICAgIFBJTkc6ICdjdi1wbGF5ZXItcGluZycsXHJcblxyXG4gICAgLy8gVXBkYXRlIFdlYnBsYXllciBVSVxyXG4gICAgVE9HR0xFX0RFVklDRVNfQlROOiAnX2N2OnRvZ2dsZWRldmljZXNidG4nLFxyXG4gICAgU0hPV19ERVZJQ0VTX0JUTjogJ19jdjpzaG93ZGV2aWNlc2J0bicsXHJcbiAgICBTSE9XX0ZTX0JUTjogJ19jdjpzaG93ZnNidG4nXHJcbiAgfSxcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIHdlYnBsYXllciBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBmb3IgdGhlIGZvbGxvd2luZyBkYXRhLlxyXG4gICAqIExpc3RlbiBvbiBRVUVSWV9DQUxMQkFDSyBmb3IgcmVzdWx0IGFuZCB0cmlnZ2VyIG9uIFFVRVJZLlxyXG4gICAqL1xyXG4gIFFVRVJJRVM6IHtcclxuICAgIEdFVF9BVkFJTEFCTEVfUVVBTElUSUVTOiAnZ2V0QXZhaWxhYmxlUXVhbGl0aWVzJyxcclxuICAgIEdFVF9DVVJSRU5UX1FVQUxJVFk6ICdjdXJyZW50UXVhbGl0eScsXHJcbiAgICBJU19QQVVTRUQ6ICdwYXVzZWQnLFxyXG4gICAgR0VUX0NVUlJFTlRfVElNRTogJ2N1cnJlbnRUaW1lJyxcclxuICAgIEdFVF9DSEFQVEVSUzogJ2dldENoYXB0ZXJzJyxcclxuICAgIEhBU19NRVRBREFUQV9DSEFQVEVSUzogJ2hhc01ldGFkYXRhQ2hhcHRlcnMnLFxyXG4gIH1cclxufTtcclxuXHJcbmV4cG9ydCB7IFdlYnBsYXllckV2ZW50cyB9OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBakJBO0FBQ0E7QUFtQkE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBdkJBO0FBQ0E7QUF5QkE7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQTtBQXpEQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../libs/common/src/backbone/constants/Webplayer.ts\n");
32
+
33
+ /***/ }),
34
+
35
+ /***/ "./src/shared/components/web-player/WebPlayer.handlebars":
36
+ /***/ (function(module, exports, __webpack_require__) {
37
+
38
+ eval("var Handlebars = __webpack_require__(\"handlebars\");\nmodule.exports = (Handlebars['default'] || Handlebars).template({\"compiler\":[8,\">= 4.3.0\"],\"main\":function(container,depth0,helpers,partials,data) {\n var stack1, alias1=container.propertyIsEnumerable, alias2=container.lambda, alias3=container.escapeExpression;\n\n return \"<iframe class=\\\"\"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.webPlayer : stack1), depth0))\n + \" embed-responsive-item\\\" id=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.id : stack1), depth0))\n + \"\\\" allowfullscreen webkitallowfullscreen mozallowfullscreen allow=\\\"autoplay; fullscreen\\\" frameborder=\\\"0\\\" width=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.width : stack1), depth0))\n + \"\\\" height=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.height : stack1), depth0))\n + \"\\\" src=\\\"\"\n + alias3(alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.url : stack1), depth0))\n + \"\\\"></iframe>\\r\\n<div class=\\\"\"\n + alias3(alias2(((stack1 = ((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.styles : stack1)) != null ? stack1.svgContainer : stack1), depth0))\n + \"\\\">\"\n + ((stack1 = alias2(((stack1 = (depth0 != null ? depth0.options : depth0)) != null ? stack1.playSvg : stack1), depth0)) != null ? stack1 : \"\")\n + \"</div>\";\n},\"useData\":true});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc2hhcmVkL2NvbXBvbmVudHMvd2ViLXBsYXllci9XZWJQbGF5ZXIuaGFuZGxlYmFycy5qcyIsInNvdXJjZXMiOlsiZmlsZTovL0M6L0NsaWNrVmlldy9jbGlja3ZpZXcvcGFja2FnZXMvcHJvamVjdHMvbGlicmFyeS1lZGl0b3Ivc3JjL3NoYXJlZC9jb21wb25lbnRzL3dlYi1wbGF5ZXIvV2ViUGxheWVyLmhhbmRsZWJhcnMiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIEhhbmRsZWJhcnMgPSByZXF1aXJlKCdoYW5kbGViYXJzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IChIYW5kbGViYXJzWydkZWZhdWx0J10gfHwgSGFuZGxlYmFycykudGVtcGxhdGUoe1wiY29tcGlsZXJcIjpbOCxcIj49IDQuMy4wXCJdLFwibWFpblwiOmZ1bmN0aW9uKGNvbnRhaW5lcixkZXB0aDAsaGVscGVycyxwYXJ0aWFscyxkYXRhKSB7XG4gICAgdmFyIHN0YWNrMSwgYWxpYXMxPWNvbnRhaW5lci5wcm9wZXJ0eUlzRW51bWVyYWJsZSwgYWxpYXMyPWNvbnRhaW5lci5sYW1iZGEsIGFsaWFzMz1jb250YWluZXIuZXNjYXBlRXhwcmVzc2lvbjtcblxuICByZXR1cm4gXCI8aWZyYW1lIGNsYXNzPVxcXCJcIlxuICAgICsgYWxpYXMzKGFsaWFzMigoKHN0YWNrMSA9ICgoc3RhY2sxID0gKGRlcHRoMCAhPSBudWxsID8gZGVwdGgwLm9wdGlvbnMgOiBkZXB0aDApKSAhPSBudWxsID8gc3RhY2sxLnN0eWxlcyA6IHN0YWNrMSkpICE9IG51bGwgPyBzdGFjazEud2ViUGxheWVyIDogc3RhY2sxKSwgZGVwdGgwKSlcbiAgICArIFwiIGVtYmVkLXJlc3BvbnNpdmUtaXRlbVxcXCIgaWQ9XFxcIlwiXG4gICAgKyBhbGlhczMoYWxpYXMyKCgoc3RhY2sxID0gKGRlcHRoMCAhPSBudWxsID8gZGVwdGgwLm9wdGlvbnMgOiBkZXB0aDApKSAhPSBudWxsID8gc3RhY2sxLmlkIDogc3RhY2sxKSwgZGVwdGgwKSlcbiAgICArIFwiXFxcIiBhbGxvd2Z1bGxzY3JlZW4gd2Via2l0YWxsb3dmdWxsc2NyZWVuIG1vemFsbG93ZnVsbHNjcmVlbiBhbGxvdz1cXFwiYXV0b3BsYXk7IGZ1bGxzY3JlZW5cXFwiIGZyYW1lYm9yZGVyPVxcXCIwXFxcIiB3aWR0aD1cXFwiXCJcbiAgICArIGFsaWFzMyhhbGlhczIoKChzdGFjazEgPSAoZGVwdGgwICE9IG51bGwgPyBkZXB0aDAub3B0aW9ucyA6IGRlcHRoMCkpICE9IG51bGwgPyBzdGFjazEud2lkdGggOiBzdGFjazEpLCBkZXB0aDApKVxuICAgICsgXCJcXFwiIGhlaWdodD1cXFwiXCJcbiAgICArIGFsaWFzMyhhbGlhczIoKChzdGFjazEgPSAoZGVwdGgwICE9IG51bGwgPyBkZXB0aDAub3B0aW9ucyA6IGRlcHRoMCkpICE9IG51bGwgPyBzdGFjazEuaGVpZ2h0IDogc3RhY2sxKSwgZGVwdGgwKSlcbiAgICArIFwiXFxcIiBzcmM9XFxcIlwiXG4gICAgKyBhbGlhczMoYWxpYXMyKCgoc3RhY2sxID0gKGRlcHRoMCAhPSBudWxsID8gZGVwdGgwLm9wdGlvbnMgOiBkZXB0aDApKSAhPSBudWxsID8gc3RhY2sxLnVybCA6IHN0YWNrMSksIGRlcHRoMCkpXG4gICAgKyBcIlxcXCI+PC9pZnJhbWU+XFxyXFxuPGRpdiBjbGFzcz1cXFwiXCJcbiAgICArIGFsaWFzMyhhbGlhczIoKChzdGFjazEgPSAoKHN0YWNrMSA9IChkZXB0aDAgIT0gbnVsbCA/IGRlcHRoMC5vcHRpb25zIDogZGVwdGgwKSkgIT0gbnVsbCA/IHN0YWNrMS5zdHlsZXMgOiBzdGFjazEpKSAhPSBudWxsID8gc3RhY2sxLnN2Z0NvbnRhaW5lciA6IHN0YWNrMSksIGRlcHRoMCkpXG4gICAgKyBcIlxcXCI+XCJcbiAgICArICgoc3RhY2sxID0gYWxpYXMyKCgoc3RhY2sxID0gKGRlcHRoMCAhPSBudWxsID8gZGVwdGgwLm9wdGlvbnMgOiBkZXB0aDApKSAhPSBudWxsID8gc3RhY2sxLnBsYXlTdmcgOiBzdGFjazEpLCBkZXB0aDApKSAhPSBudWxsID8gc3RhY2sxIDogXCJcIilcbiAgICArIFwiPC9kaXY+XCI7XG59LFwidXNlRGF0YVwiOnRydWV9KTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/shared/components/web-player/WebPlayer.handlebars\n");
39
+
40
+ /***/ }),
41
+
42
+ /***/ "./src/shared/components/web-player/WebPlayerComponent.ts":
43
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
44
+
45
+ "use strict";
46
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"WebPlayerComponent\", function() { return WebPlayerComponent; });\n/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"underscore\");\n/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(underscore__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var backbone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"backbone\");\n/* harmony import */ var backbone__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(backbone__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _clickview_url_signer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"../../../node_modules/@clickview/url-signer/dist/bundle.js\");\n/* harmony import */ var _clickview_url_signer__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_clickview_url_signer__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(\"../../libs/common/src/backbone/constants/Webplayer.ts\");\n/* harmony import */ var libs_common_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(\"../../libs/common/src/backbone/index.ts\");\n/* harmony import */ var libs_common_backbone_services_ViewModelService__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(\"../../libs/common/src/backbone/services/ViewModelService.ts\");\n/* harmony import */ var libs_common_backbone_errors_DevError__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(\"../../libs/common/src/backbone/errors/DevError.ts\");\n/* harmony import */ var libs_common_backbone_utils_UrlHelper__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(\"../../libs/common/src/backbone/utils/UrlHelper.ts\");\n/* harmony import */ var libs_shared_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(\"../../libs/shared/src/utils/SvgHelper.ts\");\n/* harmony import */ var CVEvents__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(\"CVEvents\");\n/* harmony import */ var CVEvents__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(CVEvents__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var shared_constants__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(\"./src/shared/constants/index.ts\");\n/* harmony import */ var libs_analytics_utils_VideoAnalyticsTracker__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(\"../../libs/analytics/src/utils/VideoAnalyticsTracker.ts\");\n/* harmony import */ var _WebPlayer_handlebars__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(\"./src/shared/components/web-player/WebPlayer.handlebars\");\n/* harmony import */ var _WebPlayer_handlebars__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_WebPlayer_handlebars__WEBPACK_IMPORTED_MODULE_12__);\n/* harmony import */ var _webplayer_scss__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(\"./src/shared/components/web-player/webplayer.scss\");\n/* harmony import */ var _webplayer_scss__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_webplayer_scss__WEBPACK_IMPORTED_MODULE_13__);\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar WebPlayerComponent = /*#__PURE__*/function (_Core$Component) {\n _inherits(WebPlayerComponent, _Core$Component);\n\n var _super = _createSuper(WebPlayerComponent);\n\n function WebPlayerComponent(options) {\n _classCallCheck(this, WebPlayerComponent);\n\n return _super.call(this, options);\n }\n\n _createClass(WebPlayerComponent, [{\n key: \"elements\",\n get: function get() {\n return {\n iframe: 'iframe'\n };\n }\n }, {\n key: \"name\",\n get: function get() {\n return 'WebPlayerView';\n }\n }, {\n key: \"template\",\n get: function get() {\n return _WebPlayer_handlebars__WEBPACK_IMPORTED_MODULE_12___default.a;\n }\n }, {\n key: \"className\",\n get: function get() {\n return \"\".concat(_webplayer_scss__WEBPACK_IMPORTED_MODULE_13___default.a.webPlayerContainer, \" embed-responsive embed-responsive-16by9\");\n }\n }, {\n key: \"channelName\",\n get: function get() {\n return \"\".concat(this.name).concat(this.cid);\n }\n }, {\n key: \"defaults\",\n get: function get() {\n return {\n captureAnalytics: true,\n showDevicesButton: false\n };\n }\n }, {\n key: \"viewModelDefaults\",\n get: function get() {\n return {\n width: 640,\n height: 360,\n autoplay: !!this.options.autoplay,\n parameters: {\n s: false,\n bc: false,\n bf: false,\n uid: this.options.currentUser.get('id'),\n cid: this.options.currentUser.get('customerId')\n },\n webPlayerHost: this.options.webPlayerUrl\n };\n }\n }, {\n key: \"initialize\",\n value: function initialize() {\n this.enableIeFs = this.isTop();\n this.getViewModel();\n }\n }, {\n key: \"seekTo\",\n value: function seekTo(time) {\n if (this.eventsApi) this.eventsApi.trigger(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].TRIGGER.SEEK_TO, time);\n }\n }, {\n key: \"seekToChapter\",\n value: function seekToChapter(chapterIndex) {\n if (this.eventsApi) this.eventsApi.trigger('cv-player-changechapter', chapterIndex);\n }\n }, {\n key: \"getViewModel\",\n value: function getViewModel() {\n var id = this.model.get('id');\n if (!id) id = this.model.get('trackingCode');\n this.viewModel = libs_common_backbone_services_ViewModelService__WEBPACK_IMPORTED_MODULE_5__[\"ViewModelService\"].get(\"\".concat(shared_constants__WEBPACK_IMPORTED_MODULE_10__[\"Webplayer\"].NAME, \"-\").concat(id));\n if (!this.viewModel.get('initialized')) this.initViewModel();\n this.setUrl();\n }\n }, {\n key: \"initViewModel\",\n value: function initViewModel() {\n var videoModel = this.model.pick('id');\n if (!videoModel.id) videoModel = this.model.pick('trackingCode');\n\n if (!videoModel.id && !videoModel.trackingCode) {\n libs_common_core__WEBPACK_IMPORTED_MODULE_4__[\"Core\"].ErrorHelper.throw(new libs_common_backbone_errors_DevError__WEBPACK_IMPORTED_MODULE_6__[\"DevError\"](\"Must provide either a master id or a tracking code to \".concat(this.name)));\n }\n\n var attrs = underscore__WEBPACK_IMPORTED_MODULE_0__[\"extend\"]({}, this.viewModelDefaults, videoModel, this.viewModel.toJSON(), {\n initialized: true\n });\n\n this.viewModel.set(attrs);\n }\n }, {\n key: \"initWebPlayerEvents\",\n value: function initWebPlayerEvents() {\n if (!this.enableIeFs) return;\n var $iframe = this.getUI('iframe');\n if (!$iframe || $iframe.length === 0) return;\n $iframe.on('load', this.bindWebPlayerEvents.bind(this));\n }\n }, {\n key: \"bindWebPlayerEvents\",\n value: function bindWebPlayerEvents() {\n if (this.iframeReady) return;\n var iframe = this.getUI('iframe').get(0);\n this.eventsApi = new CVEvents__WEBPACK_IMPORTED_MODULE_9__[\"CVEventsApi\"](iframe.contentWindow); // Ping to see if we are ready\n\n this.eventsApi.on(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.PONG, this.onPong.bind(this));\n this.eventsApi.trigger(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].TRIGGER.PING); // Bind events\n\n this.eventsApi.on(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.FULLSCREEN_CLICK, this.onFullscreenChange.bind(this));\n this.eventsApi.trigger(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].TRIGGER.SHOW_FS_BTN);\n this.eventsApi.on(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.TIME_UPDATE, this.onTimeUpdate.bind(this));\n this.eventsApi.on(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.PLAY, this.onPlay.bind(this));\n this.eventsApi.on(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.PAUSE, this.onPause.bind(this));\n this.eventsApi.on(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.VIDEO_END, this.onEnded.bind(this)); // TODO: Push to device is not yet supported in LE. Also needs to check the user is an Admin.\n // Update default in future. \n\n if (this.options.showDevicesButton) {\n this.eventsApi.on(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.DEVICES_BTN_CLICK, this.showDeviceToggle.bind(this));\n this.eventsApi.trigger(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].TRIGGER.SHOW_DEVICES_BTN);\n }\n\n if (this.options.captureAnalytics) this.tracker = new libs_analytics_utils_VideoAnalyticsTracker__WEBPACK_IMPORTED_MODULE_11__[\"VideoAnalyticsTracker\"]({\n video: this.model.toJSON(),\n eventsApi: this.eventsApi,\n analyticsOptions: this.options.analyticsOptions\n });\n }\n }, {\n key: \"unbindWebPlayerEvents\",\n value: function unbindWebPlayerEvents() {\n if (!this.eventsApi) return;\n this.eventsApi.off(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.FULLSCREEN_CLICK);\n this.eventsApi.off(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.TIME_UPDATE);\n this.eventsApi.off(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.PLAY);\n this.eventsApi.off(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.PAUSE);\n this.eventsApi.off(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.VIDEO_END);\n this.eventsApi.off(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.PONG);\n this.eventsApi.off(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.DEVICES_BTN_CLICK);\n }\n }, {\n key: \"setUrl\",\n value: function setUrl() {\n var webPlayerHost = \"\".concat(this.viewModel.get('webPlayerHost'), \"embed\");\n var reservedParams = ['p', 'vid'];\n var webPlayerParams = underscore__WEBPACK_IMPORTED_MODULE_0__[\"omit\"](this.viewModel.get('parameters'), reservedParams) || {};\n webPlayerParams.a = !!this.viewModel.get('autoplay');\n var id = this.viewModel.get('id');\n if (id) webPlayerParams.vid = id;\n var trackingCode = this.viewModel.get('trackingCode');\n if (trackingCode) webPlayerParams.p = trackingCode;\n\n if (this.viewModel.get('currenttime')) {\n webPlayerParams.t = this.viewModel.get('currenttime');\n webPlayerParams.a = !this.viewModel.get('paused');\n }\n\n var url = libs_common_backbone_utils_UrlHelper__WEBPACK_IMPORTED_MODULE_7__[\"UrlHelper\"].urlBuilder(webPlayerHost, webPlayerParams);\n var signedUrl = Object(_clickview_url_signer__WEBPACK_IMPORTED_MODULE_2__[\"signUrl\"])(url, {\n timestamp: true\n });\n this.viewModel.set({\n url: signedUrl\n });\n }\n }, {\n key: \"isTop\",\n value: function isTop() {\n return window.top === window;\n }\n }, {\n key: \"onTimeUpdate\",\n value: function onTimeUpdate(e, time) {\n this.viewModel.set('ready', true);\n this.viewModel.set('currenttime', time);\n }\n }, {\n key: \"onPlay\",\n value: function onPlay() {\n this.viewModel.set('ready', true);\n this.viewModel.set('paused', false);\n }\n }, {\n key: \"onPause\",\n value: function onPause() {\n this.viewModel.set('ready', true);\n this.viewModel.set('paused', true);\n }\n }, {\n key: \"onEnded\",\n value: function onEnded() {\n this.viewModel.trigger('ended');\n }\n }, {\n key: \"onPong\",\n value: function onPong() {\n this.iframeReady = true;\n this.viewModel.set('ready', true);\n var channel = backbone__WEBPACK_IMPORTED_MODULE_1__[\"Radio\"].channel(this.channelName);\n channel.trigger('loaded'); // Notify any parent components once the webpalyer is ready\n\n if (this.options.parentChannelName) backbone__WEBPACK_IMPORTED_MODULE_1__[\"Radio\"].channel(this.options.parentChannelName).trigger('webplayer:loaded');\n }\n }, {\n key: \"onFullscreenChange\",\n value: function onFullscreenChange(e, isFs, hasFsApi) {\n if (isFs) {\n this.requestFs(hasFsApi);\n return;\n }\n\n this.cancelFs(hasFsApi);\n }\n }, {\n key: \"requestFs\",\n value: function requestFs(hasFsApi) {\n // If the request wasn't sent using the fullscreen API, add the fs class\n if (!hasFsApi) $('html').addClass('player-fullscreen');\n }\n }, {\n key: \"cancelFs\",\n value: function cancelFs(hasFsApi) {\n // If the request wasn't sent using the fullscreen API, add the fs class\n if (!hasFsApi) $('html').removeClass('player-fullscreen');\n }\n }, {\n key: \"showDeviceToggle\",\n value: function showDeviceToggle(shouldShow) {\n this.viewModel.trigger('showDevices', !!shouldShow);\n }\n }, {\n key: \"query\",\n value: function query(queryName, callback) {\n var _this = this;\n\n if (!this.iframeReady) {\n this.listenToOnce(this.channelName, 'loaded', function () {\n return _this.query(queryName, callback);\n });\n return;\n }\n\n var uniqueId = underscore__WEBPACK_IMPORTED_MODULE_0__[\"uniqueId\"](\"cveventsapi\");\n\n this.eventsApi.one(\"\".concat(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.QUERY_CALLBACK, \"-\").concat(uniqueId), function (event, data) {\n callback(data);\n });\n this.eventsApi.trigger(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].TRIGGER.QUERY, queryName, uniqueId);\n }\n }, {\n key: \"viewOptions\",\n value: function viewOptions() {\n return underscore__WEBPACK_IMPORTED_MODULE_0__[\"extend\"]({}, {\n styles: _webplayer_scss__WEBPACK_IMPORTED_MODULE_13___default.a,\n playSvg: libs_shared_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_8__[\"SvgHelper\"].getSvg(libs_shared_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_8__[\"cvSvgLibrary\"].Play)\n }, this.viewModel.toJSON());\n }\n }, {\n key: \"onRender\",\n value: function onRender() {\n this.initWebPlayerEvents();\n }\n }, {\n key: \"onBeforeDestroy\",\n value: function onBeforeDestroy() {\n this.unbindWebPlayerEvents(); // Clean up our analytics tracker\n\n if (this.tracker) this.tracker.destroy();\n }\n }]);\n\n return WebPlayerComponent;\n}(libs_common_core__WEBPACK_IMPORTED_MODULE_4__[\"Core\"].Component);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc2hhcmVkL2NvbXBvbmVudHMvd2ViLXBsYXllci9XZWJQbGF5ZXJDb21wb25lbnQudHMuanMiLCJzb3VyY2VzIjpbImZpbGU6Ly9DOi9DbGlja1ZpZXcvY2xpY2t2aWV3L3BhY2thZ2VzL3Byb2plY3RzL2xpYnJhcnktZWRpdG9yL3NyYy9zaGFyZWQvY29tcG9uZW50cy93ZWItcGxheWVyL1dlYlBsYXllckNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xyXG5pbXBvcnQgeyBPYmplY3RIYXNoLCBSYWRpbyB9IGZyb20gJ2JhY2tib25lJztcclxuaW1wb3J0IHsgc2lnblVybCB9IGZyb20gJ0BjbGlja3ZpZXcvdXJsLXNpZ25lcic7XHJcblxyXG5pbXBvcnQgeyBXZWJwbGF5ZXJFdmVudHMgfSBmcm9tICdsaWJzL2NvbW1vbi9iYWNrYm9uZS9jb25zdGFudHMvV2VicGxheWVyJztcclxuaW1wb3J0IHsgQ29yZSB9IGZyb20gJ2xpYnMvY29tbW9uL2NvcmUnO1xyXG5pbXBvcnQgeyBWaWV3TW9kZWxTZXJ2aWNlIH0gZnJvbSAnbGlicy9jb21tb24vYmFja2JvbmUvc2VydmljZXMvVmlld01vZGVsU2VydmljZSc7XHJcbmltcG9ydCB7IERldkVycm9yIH0gZnJvbSAnbGlicy9jb21tb24vYmFja2JvbmUvZXJyb3JzL0RldkVycm9yJztcclxuaW1wb3J0IHsgVXJsSGVscGVyIH0gZnJvbSAnbGlicy9jb21tb24vYmFja2JvbmUvdXRpbHMvVXJsSGVscGVyJztcclxuaW1wb3J0IHsgU3ZnSGVscGVyLCBjdlN2Z0xpYnJhcnkgfSBmcm9tICdsaWJzL3NoYXJlZC91dGlscy9TdmdIZWxwZXInO1xyXG5cclxuaW1wb3J0IHsgQ1ZFdmVudHNBcGkgfSBmcm9tICdDVkV2ZW50cyc7XHJcblxyXG5pbXBvcnQgeyBWaWRlbyB9IGZyb20gJ3NoYXJlZC9tb2RlbHMvVmlkZW8nO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnc2hhcmVkL21vZGVscy9Vc2VyJztcclxuaW1wb3J0IHsgV2VicGxheWVyIH0gZnJvbSAnc2hhcmVkL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IEFuYWx5dGljc09wdGlvbnMgfSBmcm9tICdsaWJzL2FuYWx5dGljcy9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgVmlkZW9BbmFseXRpY3NUcmFja2VyIH0gZnJvbSAnbGlicy9hbmFseXRpY3MvdXRpbHMvVmlkZW9BbmFseXRpY3NUcmFja2VyJztcclxuXHJcbmltcG9ydCBXZWJQbGF5ZXJUZW1wbGF0ZSBmcm9tICcuL1dlYlBsYXllci5oYW5kbGViYXJzJztcclxuaW1wb3J0IHN0eWxlcyBmcm9tICcuL3dlYnBsYXllci5zY3NzJztcclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFdlYlBsYXllckNvbXBvbmVudE9wdGlvbnMgZXh0ZW5kcyBDb3JlLkNvbXBvbmVudE9wdGlvbnM8VmlkZW8+IHtcclxuICBpc1ByZXZpZXc/OiBib29sZWFuO1xyXG4gIGF1dG9wbGF5PzogYm9vbGVhbjtcclxuICBwYXJlbnRDaGFubmVsTmFtZT86IHN0cmluZztcclxuICB3ZWJQbGF5ZXJVcmw6IHN0cmluZztcclxuICBzaG93RGV2aWNlc0J1dHRvbj86IGJvb2xlYW47XHJcbiAgY2FwdHVyZUFuYWx5dGljcz86IGJvb2xlYW47XHJcbiAgYW5hbHl0aWNzT3B0aW9ucz86IEFuYWx5dGljc09wdGlvbnM7XHJcbiAgY3VycmVudFVzZXI6IFVzZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBXZWJQbGF5ZXJDb21wb25lbnQgZXh0ZW5kcyBDb3JlLkNvbXBvbmVudDxWaWRlbz4ge1xyXG4gIHByb3RlY3RlZCBvcHRpb25zOiBXZWJQbGF5ZXJDb21wb25lbnRPcHRpb25zO1xyXG5cclxuICBwdWJsaWMgdmlld01vZGVsOiBDb3JlLk1vZGVsO1xyXG4gIHByaXZhdGUgZXZlbnRzQXBpOiBDVkV2ZW50c0FwaTtcclxuICBwcml2YXRlIGVuYWJsZUllRnM6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBpc1ByZXZpZXc6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBpZnJhbWVSZWFkeTogYm9vbGVhbjtcclxuICBwcml2YXRlIHRyYWNrZXI6IFZpZGVvQW5hbHl0aWNzVHJhY2tlcjtcclxuXHJcbiAgY29uc3RydWN0b3Iob3B0aW9ucz86IFdlYlBsYXllckNvbXBvbmVudE9wdGlvbnMpIHtcclxuICAgIHN1cGVyKG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBlbGVtZW50cygpOiBPYmplY3RIYXNoIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGlmcmFtZTogJ2lmcmFtZSdcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAnV2ViUGxheWVyVmlldyc7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHRlbXBsYXRlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gV2ViUGxheWVyVGVtcGxhdGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNsYXNzTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3N0eWxlcy53ZWJQbGF5ZXJDb250YWluZXJ9IGVtYmVkLXJlc3BvbnNpdmUgZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNoYW5uZWxOYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5uYW1lfSR7dGhpcy5jaWR9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZGVmYXVsdHMoKTogT2JqZWN0SGFzaCB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBjYXB0dXJlQW5hbHl0aWNzOiB0cnVlLFxyXG4gICAgICBzaG93RGV2aWNlc0J1dHRvbjogZmFsc2VcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCB2aWV3TW9kZWxEZWZhdWx0cygpOiBPYmplY3RIYXNoIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHdpZHRoOiA2NDAsXHJcbiAgICAgIGhlaWdodDogMzYwLFxyXG4gICAgICBhdXRvcGxheTogISF0aGlzLm9wdGlvbnMuYXV0b3BsYXksXHJcbiAgICAgIHBhcmFtZXRlcnM6IHtcclxuICAgICAgICBzOiBmYWxzZSwgLy8gSGlkZSB0aGUgc3BsYXNoXHJcbiAgICAgICAgYmM6IGZhbHNlLCAvLyBIaWRlIGNoYXB0ZXJzIGFuZCByZXNvdXJjZXNcclxuICAgICAgICBiZjogZmFsc2UsIC8vIEhpZGUgZnVsbHNjcmVlbiBidXR0b24sXHJcbiAgICAgICAgdWlkOiB0aGlzLm9wdGlvbnMuY3VycmVudFVzZXIuZ2V0KCdpZCcpLFxyXG4gICAgICAgIGNpZDogdGhpcy5vcHRpb25zLmN1cnJlbnRVc2VyLmdldCgnY3VzdG9tZXJJZCcpXHJcbiAgICAgIH0sXHJcbiAgICAgIHdlYlBsYXllckhvc3Q6IHRoaXMub3B0aW9ucy53ZWJQbGF5ZXJVcmxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5pdGlhbGl6ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZW5hYmxlSWVGcyA9IHRoaXMuaXNUb3AoKTtcclxuXHJcbiAgICB0aGlzLmdldFZpZXdNb2RlbCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlZWtUbyh0aW1lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmV2ZW50c0FwaSlcclxuICAgICAgdGhpcy5ldmVudHNBcGkudHJpZ2dlcihXZWJwbGF5ZXJFdmVudHMuVFJJR0dFUi5TRUVLX1RPLCB0aW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWVrVG9DaGFwdGVyKGNoYXB0ZXJJbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5ldmVudHNBcGkpXHJcbiAgICAgIHRoaXMuZXZlbnRzQXBpLnRyaWdnZXIoJ2N2LXBsYXllci1jaGFuZ2VjaGFwdGVyJywgY2hhcHRlckluZGV4KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Vmlld01vZGVsKCk6IHZvaWQge1xyXG4gICAgbGV0IGlkID0gdGhpcy5tb2RlbC5nZXQoJ2lkJyk7XHJcblxyXG4gICAgaWYgKCFpZClcclxuICAgICAgaWQgPSB0aGlzLm1vZGVsLmdldCgndHJhY2tpbmdDb2RlJyk7XHJcblxyXG4gICAgdGhpcy52aWV3TW9kZWwgPSBWaWV3TW9kZWxTZXJ2aWNlLmdldChgJHtXZWJwbGF5ZXIuTkFNRX0tJHtpZH1gKTtcclxuXHJcbiAgICBpZiAoIXRoaXMudmlld01vZGVsLmdldCgnaW5pdGlhbGl6ZWQnKSlcclxuICAgICAgdGhpcy5pbml0Vmlld01vZGVsKCk7XHJcblxyXG4gICAgdGhpcy5zZXRVcmwoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdFZpZXdNb2RlbCgpOiB2b2lkIHtcclxuICAgIGxldCB2aWRlb01vZGVsID0gdGhpcy5tb2RlbC5waWNrKCdpZCcpO1xyXG5cclxuICAgIGlmICghdmlkZW9Nb2RlbC5pZClcclxuICAgICAgdmlkZW9Nb2RlbCA9IHRoaXMubW9kZWwucGljaygndHJhY2tpbmdDb2RlJyk7XHJcblxyXG4gICAgaWYgKCF2aWRlb01vZGVsLmlkICYmICF2aWRlb01vZGVsLnRyYWNraW5nQ29kZSkge1xyXG4gICAgICBDb3JlLkVycm9ySGVscGVyLnRocm93KG5ldyBEZXZFcnJvcihgTXVzdCBwcm92aWRlIGVpdGhlciBhIG1hc3RlciBpZCBvciBhIHRyYWNraW5nIGNvZGUgdG8gJHt0aGlzLm5hbWV9YCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGF0dHJzID0gXy5leHRlbmQoe30sXHJcbiAgICAgIHRoaXMudmlld01vZGVsRGVmYXVsdHMsXHJcbiAgICAgIHZpZGVvTW9kZWwsXHJcbiAgICAgIHRoaXMudmlld01vZGVsLnRvSlNPTigpLFxyXG4gICAgICB7XHJcbiAgICAgICAgaW5pdGlhbGl6ZWQ6IHRydWVcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnZpZXdNb2RlbC5zZXQoYXR0cnMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0V2ViUGxheWVyRXZlbnRzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmVuYWJsZUllRnMpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCAkaWZyYW1lID0gdGhpcy5nZXRVSSgnaWZyYW1lJyk7XHJcbiAgICBpZiAoISRpZnJhbWUgfHwgJGlmcmFtZS5sZW5ndGggPT09IDApXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICAkaWZyYW1lLm9uKCdsb2FkJywgdGhpcy5iaW5kV2ViUGxheWVyRXZlbnRzLmJpbmQodGhpcykpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBiaW5kV2ViUGxheWVyRXZlbnRzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaWZyYW1lUmVhZHkpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBpZnJhbWUgPSB0aGlzLmdldFVJKCdpZnJhbWUnKS5nZXQoMCkgYXMgSFRNTElGcmFtZUVsZW1lbnQ7XHJcblxyXG4gICAgdGhpcy5ldmVudHNBcGkgPSBuZXcgQ1ZFdmVudHNBcGkoaWZyYW1lLmNvbnRlbnRXaW5kb3cpO1xyXG5cclxuICAgIC8vIFBpbmcgdG8gc2VlIGlmIHdlIGFyZSByZWFkeVxyXG4gICAgdGhpcy5ldmVudHNBcGkub24oV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuUE9ORywgdGhpcy5vblBvbmcuYmluZCh0aGlzKSk7XHJcbiAgICB0aGlzLmV2ZW50c0FwaS50cmlnZ2VyKFdlYnBsYXllckV2ZW50cy5UUklHR0VSLlBJTkcpO1xyXG5cclxuICAgIC8vIEJpbmQgZXZlbnRzXHJcbiAgICB0aGlzLmV2ZW50c0FwaS5vbihXZWJwbGF5ZXJFdmVudHMuUkVDRUlWRS5GVUxMU0NSRUVOX0NMSUNLLCB0aGlzLm9uRnVsbHNjcmVlbkNoYW5nZS5iaW5kKHRoaXMpKTtcclxuICAgIHRoaXMuZXZlbnRzQXBpLnRyaWdnZXIoV2VicGxheWVyRXZlbnRzLlRSSUdHRVIuU0hPV19GU19CVE4pO1xyXG5cclxuICAgIHRoaXMuZXZlbnRzQXBpLm9uKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLlRJTUVfVVBEQVRFLCB0aGlzLm9uVGltZVVwZGF0ZS5iaW5kKHRoaXMpKTtcclxuICAgIHRoaXMuZXZlbnRzQXBpLm9uKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLlBMQVksIHRoaXMub25QbGF5LmJpbmQodGhpcykpO1xyXG4gICAgdGhpcy5ldmVudHNBcGkub24oV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuUEFVU0UsIHRoaXMub25QYXVzZS5iaW5kKHRoaXMpKTtcclxuICAgIHRoaXMuZXZlbnRzQXBpLm9uKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLlZJREVPX0VORCwgdGhpcy5vbkVuZGVkLmJpbmQodGhpcykpO1xyXG5cclxuICAgIC8vIFRPRE86IFB1c2ggdG8gZGV2aWNlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIGluIExFLiBBbHNvIG5lZWRzIHRvIGNoZWNrIHRoZSB1c2VyIGlzIGFuIEFkbWluLlxyXG4gICAgLy8gVXBkYXRlIGRlZmF1bHQgaW4gZnV0dXJlLiBcclxuICAgIGlmICh0aGlzLm9wdGlvbnMuc2hvd0RldmljZXNCdXR0b24pIHtcclxuICAgICAgdGhpcy5ldmVudHNBcGkub24oV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuREVWSUNFU19CVE5fQ0xJQ0ssIHRoaXMuc2hvd0RldmljZVRvZ2dsZS5iaW5kKHRoaXMpKTtcclxuICAgICAgdGhpcy5ldmVudHNBcGkudHJpZ2dlcihXZWJwbGF5ZXJFdmVudHMuVFJJR0dFUi5TSE9XX0RFVklDRVNfQlROKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vcHRpb25zLmNhcHR1cmVBbmFseXRpY3MpXHJcbiAgICAgIHRoaXMudHJhY2tlciA9IG5ldyBWaWRlb0FuYWx5dGljc1RyYWNrZXIoe1xyXG4gICAgICAgIHZpZGVvOiB0aGlzLm1vZGVsLnRvSlNPTigpLFxyXG4gICAgICAgIGV2ZW50c0FwaTogdGhpcy5ldmVudHNBcGksXHJcbiAgICAgICAgYW5hbHl0aWNzT3B0aW9uczogdGhpcy5vcHRpb25zLmFuYWx5dGljc09wdGlvbnNcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVuYmluZFdlYlBsYXllckV2ZW50cygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5ldmVudHNBcGkpIHJldHVybjtcclxuXHJcbiAgICB0aGlzLmV2ZW50c0FwaS5vZmYoV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuRlVMTFNDUkVFTl9DTElDSyk7XHJcbiAgICB0aGlzLmV2ZW50c0FwaS5vZmYoV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuVElNRV9VUERBVEUpO1xyXG4gICAgdGhpcy5ldmVudHNBcGkub2ZmKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLlBMQVkpO1xyXG4gICAgdGhpcy5ldmVudHNBcGkub2ZmKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLlBBVVNFKTtcclxuICAgIHRoaXMuZXZlbnRzQXBpLm9mZihXZWJwbGF5ZXJFdmVudHMuUkVDRUlWRS5WSURFT19FTkQpO1xyXG4gICAgdGhpcy5ldmVudHNBcGkub2ZmKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLlBPTkcpO1xyXG4gICAgdGhpcy5ldmVudHNBcGkub2ZmKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLkRFVklDRVNfQlROX0NMSUNLKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VXJsKCk6IHZvaWQge1xyXG4gICAgY29uc3Qgd2ViUGxheWVySG9zdCA9IGAke3RoaXMudmlld01vZGVsLmdldCgnd2ViUGxheWVySG9zdCcpfWVtYmVkYDtcclxuXHJcbiAgICBjb25zdCByZXNlcnZlZFBhcmFtcyA9IFsgJ3AnLCAndmlkJyBdO1xyXG4gICAgY29uc3Qgd2ViUGxheWVyUGFyYW1zID0gXy5vbWl0KHRoaXMudmlld01vZGVsLmdldCgncGFyYW1ldGVycycpLCByZXNlcnZlZFBhcmFtcykgfHwge307XHJcblxyXG4gICAgd2ViUGxheWVyUGFyYW1zLmEgPSAhIXRoaXMudmlld01vZGVsLmdldCgnYXV0b3BsYXknKTtcclxuXHJcbiAgICBjb25zdCBpZCA9IHRoaXMudmlld01vZGVsLmdldCgnaWQnKTtcclxuXHJcbiAgICBpZiAoaWQpXHJcbiAgICAgIHdlYlBsYXllclBhcmFtcy52aWQgPSBpZDtcclxuXHJcbiAgICBjb25zdCB0cmFja2luZ0NvZGUgPSB0aGlzLnZpZXdNb2RlbC5nZXQoJ3RyYWNraW5nQ29kZScpO1xyXG5cclxuICAgIGlmICh0cmFja2luZ0NvZGUpXHJcbiAgICAgIHdlYlBsYXllclBhcmFtcy5wID0gdHJhY2tpbmdDb2RlO1xyXG5cclxuICAgIGlmICh0aGlzLnZpZXdNb2RlbC5nZXQoJ2N1cnJlbnR0aW1lJykpIHtcclxuICAgICAgd2ViUGxheWVyUGFyYW1zLnQgPSB0aGlzLnZpZXdNb2RlbC5nZXQoJ2N1cnJlbnR0aW1lJyk7XHJcbiAgICAgIHdlYlBsYXllclBhcmFtcy5hID0gIXRoaXMudmlld01vZGVsLmdldCgncGF1c2VkJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdXJsID0gVXJsSGVscGVyLnVybEJ1aWxkZXIod2ViUGxheWVySG9zdCwgd2ViUGxheWVyUGFyYW1zKTtcclxuICAgIGNvbnN0IHNpZ25lZFVybCA9IHNpZ25VcmwodXJsLCB7IHRpbWVzdGFtcDogdHJ1ZSB9KTtcclxuXHJcbiAgICB0aGlzLnZpZXdNb2RlbC5zZXQoeyB1cmw6IHNpZ25lZFVybCB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNUb3AoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gd2luZG93LnRvcCA9PT0gd2luZG93O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvblRpbWVVcGRhdGUoZTogSlF1ZXJ5LkV2ZW50LCB0aW1lOiBEYXRlKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdNb2RlbC5zZXQoJ3JlYWR5JywgdHJ1ZSk7XHJcbiAgICB0aGlzLnZpZXdNb2RlbC5zZXQoJ2N1cnJlbnR0aW1lJywgdGltZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uUGxheSgpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld01vZGVsLnNldCgncmVhZHknLCB0cnVlKTtcclxuICAgIHRoaXMudmlld01vZGVsLnNldCgncGF1c2VkJywgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvblBhdXNlKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3TW9kZWwuc2V0KCdyZWFkeScsIHRydWUpO1xyXG4gICAgdGhpcy52aWV3TW9kZWwuc2V0KCdwYXVzZWQnLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25FbmRlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld01vZGVsLnRyaWdnZXIoJ2VuZGVkJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uUG9uZygpOiB2b2lkIHtcclxuICAgIHRoaXMuaWZyYW1lUmVhZHkgPSB0cnVlO1xyXG4gICAgdGhpcy52aWV3TW9kZWwuc2V0KCdyZWFkeScsIHRydWUpO1xyXG5cclxuICAgIGNvbnN0IGNoYW5uZWwgPSBSYWRpby5jaGFubmVsKHRoaXMuY2hhbm5lbE5hbWUpO1xyXG4gICAgY2hhbm5lbC50cmlnZ2VyKCdsb2FkZWQnKTtcclxuXHJcbiAgICAvLyBOb3RpZnkgYW55IHBhcmVudCBjb21wb25lbnRzIG9uY2UgdGhlIHdlYnBhbHllciBpcyByZWFkeVxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5wYXJlbnRDaGFubmVsTmFtZSlcclxuICAgICAgUmFkaW8uY2hhbm5lbCh0aGlzLm9wdGlvbnMucGFyZW50Q2hhbm5lbE5hbWUpLnRyaWdnZXIoJ3dlYnBsYXllcjpsb2FkZWQnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25GdWxsc2NyZWVuQ2hhbmdlKGU6IEpRdWVyeS5FdmVudCwgaXNGczogYm9vbGVhbiwgaGFzRnNBcGk6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChpc0ZzKSB7XHJcbiAgICAgIHRoaXMucmVxdWVzdEZzKGhhc0ZzQXBpKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2FuY2VsRnMoaGFzRnNBcGkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXF1ZXN0RnMoaGFzRnNBcGk6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIC8vIElmIHRoZSByZXF1ZXN0IHdhc24ndCBzZW50IHVzaW5nIHRoZSBmdWxsc2NyZWVuIEFQSSwgYWRkIHRoZSBmcyBjbGFzc1xyXG4gICAgaWYgKCFoYXNGc0FwaSlcclxuICAgICAgJCgnaHRtbCcpLmFkZENsYXNzKCdwbGF5ZXItZnVsbHNjcmVlbicpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYW5jZWxGcyhoYXNGc0FwaTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy8gSWYgdGhlIHJlcXVlc3Qgd2Fzbid0IHNlbnQgdXNpbmcgdGhlIGZ1bGxzY3JlZW4gQVBJLCBhZGQgdGhlIGZzIGNsYXNzXHJcbiAgICBpZiAoIWhhc0ZzQXBpKVxyXG4gICAgICAkKCdodG1sJykucmVtb3ZlQ2xhc3MoJ3BsYXllci1mdWxsc2NyZWVuJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNob3dEZXZpY2VUb2dnbGUoc2hvdWxkU2hvdzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3TW9kZWwudHJpZ2dlcignc2hvd0RldmljZXMnLCAhIXNob3VsZFNob3cpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHF1ZXJ5KHF1ZXJ5TmFtZTogc3RyaW5nLCBjYWxsYmFjazogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaWZyYW1lUmVhZHkpIHtcclxuICAgICAgdGhpcy5saXN0ZW5Ub09uY2UodGhpcy5jaGFubmVsTmFtZSwgJ2xvYWRlZCcsICgpID0+IHRoaXMucXVlcnkocXVlcnlOYW1lLCBjYWxsYmFjaykpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgdW5pcXVlSWQgPSBfLnVuaXF1ZUlkKGBjdmV2ZW50c2FwaWApO1xyXG5cclxuICAgIHRoaXMuZXZlbnRzQXBpLm9uZShgJHtXZWJwbGF5ZXJFdmVudHMuUkVDRUlWRS5RVUVSWV9DQUxMQkFDS30tJHt1bmlxdWVJZH1gLCAoZXZlbnQ6IGFueSwgZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGNhbGxiYWNrKGRhdGEpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5ldmVudHNBcGkudHJpZ2dlcihXZWJwbGF5ZXJFdmVudHMuVFJJR0dFUi5RVUVSWSwgcXVlcnlOYW1lLCB1bmlxdWVJZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdmlld09wdGlvbnMoKTogT2JqZWN0SGFzaCB7XHJcbiAgICByZXR1cm4gXy5leHRlbmQoe30sXHJcbiAgICAgIHtcclxuICAgICAgICBzdHlsZXMsXHJcbiAgICAgICAgcGxheVN2ZzogU3ZnSGVscGVyLmdldFN2ZyhjdlN2Z0xpYnJhcnkuUGxheSksXHJcbiAgICAgIH0sXHJcbiAgICAgIHRoaXMudmlld01vZGVsLnRvSlNPTigpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUmVuZGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbml0V2ViUGxheWVyRXZlbnRzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25CZWZvcmVEZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy51bmJpbmRXZWJQbGF5ZXJFdmVudHMoKTtcclxuXHJcbiAgICAvLyBDbGVhbiB1cCBvdXIgYW5hbHl0aWNzIHRyYWNrZXJcclxuICAgIGlmICh0aGlzLnRyYWNrZXIpXHJcbiAgICAgIHRoaXMudHJhY2tlci5kZXN0cm95KCk7XHJcbiAgfVxyXG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBSUE7QUFFQTtBQUVBO0FBQ0E7QUFjQTtBQUFBO0FBQ0E7QUFEQTtBQUNBO0FBU0E7QUFBQTtBQUNBO0FBREE7QUFFQTtBQUNBO0FBYkE7QUFBQTtBQUFBO0FBZUE7QUFDQTtBQURBO0FBR0E7QUFsQkE7QUFBQTtBQUFBO0FBcUJBO0FBQ0E7QUF0QkE7QUFBQTtBQUFBO0FBeUJBO0FBQ0E7QUExQkE7QUFBQTtBQUFBO0FBNkJBO0FBQ0E7QUE5QkE7QUFBQTtBQUFBO0FBaUNBO0FBQ0E7QUFsQ0E7QUFBQTtBQUFBO0FBcUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUF6Q0E7QUFBQTtBQUFBO0FBNENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBTEE7QUFPQTtBQVhBO0FBYUE7QUF6REE7QUFBQTtBQUFBO0FBNERBO0FBRUE7QUFDQTtBQS9EQTtBQUFBO0FBQUE7QUFrRUE7QUFFQTtBQXBFQTtBQUFBO0FBQUE7QUF1RUE7QUFFQTtBQXpFQTtBQUFBO0FBQUE7QUE0RUE7QUFFQTtBQUdBO0FBRUE7QUFHQTtBQUNBO0FBdkZBO0FBQUE7QUFBQTtBQTBGQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBS0E7QUFEQTtBQUNBO0FBSUE7QUFDQTtBQTdHQTtBQUFBO0FBQUE7QUFnSEE7QUFFQTtBQUNBO0FBR0E7QUFDQTtBQXZIQTtBQUFBO0FBQUE7QUEwSEE7QUFHQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBSEE7QUFLQTtBQTNKQTtBQUFBO0FBQUE7QUE4SkE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBdktBO0FBQUE7QUFBQTtBQTBLQTtBQUVBO0FBQ0E7QUFFQTtBQUVBO0FBRUE7QUFHQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFFQTtBQUFBO0FBQUE7QUFDQTtBQXBNQTtBQUFBO0FBQUE7QUF1TUE7QUFDQTtBQXhNQTtBQUFBO0FBQUE7QUEyTUE7QUFDQTtBQUNBO0FBN01BO0FBQUE7QUFBQTtBQWdOQTtBQUNBO0FBQ0E7QUFsTkE7QUFBQTtBQUFBO0FBcU5BO0FBQ0E7QUFDQTtBQXZOQTtBQUFBO0FBQUE7QUEwTkE7QUFDQTtBQTNOQTtBQUFBO0FBQUE7QUE4TkE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUF2T0E7QUFBQTtBQUFBO0FBME9BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaFBBO0FBQUE7QUFBQTtBQW1QQTtBQUNBO0FBRUE7QUF0UEE7QUFBQTtBQUFBO0FBeVBBO0FBQ0E7QUFFQTtBQTVQQTtBQUFBO0FBQUE7QUErUEE7QUFDQTtBQWhRQTtBQUFBO0FBQUE7QUFrUUE7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUEvUUE7QUFBQTtBQUFBO0FBa1JBO0FBRUE7QUFDQTtBQUZBO0FBTUE7QUF6UkE7QUFBQTtBQUFBO0FBNFJBO0FBQ0E7QUE3UkE7QUFBQTtBQUFBO0FBZ1NBO0FBQ0E7QUFFQTtBQUVBO0FBclNBO0FBQ0E7QUFEQTtBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/shared/components/web-player/WebPlayerComponent.ts\n");
47
+
48
+ /***/ }),
49
+
50
+ /***/ "./src/shared/components/web-player/webplayer.scss":
51
+ /***/ (function(module, exports, __webpack_require__) {
52
+
53
+ eval("// extracted by mini-css-extract-plugin\nmodule.exports = {\"webPlayerContainer\":\"cv--webPlayerContainer--2S4VF\",\"webPlayer\":\"cv--webPlayer--3569L\",\"svgContainer\":\"cv--svgContainer--1WsxD\"};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc2hhcmVkL2NvbXBvbmVudHMvd2ViLXBsYXllci93ZWJwbGF5ZXIuc2Nzcy5qcyIsInNvdXJjZXMiOlsiZmlsZTovL0M6L0NsaWNrVmlldy9jbGlja3ZpZXcvcGFja2FnZXMvcHJvamVjdHMvbGlicmFyeS1lZGl0b3Ivc3JjL3NoYXJlZC9jb21wb25lbnRzL3dlYi1wbGF5ZXIvd2VicGxheWVyLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcIndlYlBsYXllckNvbnRhaW5lclwiOlwiY3YtLXdlYlBsYXllckNvbnRhaW5lci0tMlM0VkZcIixcIndlYlBsYXllclwiOlwiY3YtLXdlYlBsYXllci0tMzU2OUxcIixcInN2Z0NvbnRhaW5lclwiOlwiY3YtLXN2Z0NvbnRhaW5lci0tMVdzeERcIn07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/shared/components/web-player/webplayer.scss\n");
54
+
55
+ /***/ })
56
+
57
+ }]);
File without changes