@clickview/library-editor 1.1.27-rc.2 → 1.1.27-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/11.chunk.css +135 -0
- package/dist/css/18.chunk.css +18 -0
- package/dist/css/2.chunk.css +143 -0
- package/dist/css/34.chunk.css +19 -0
- package/dist/css/35.chunk.css +18 -0
- package/dist/css/36.chunk.css +12 -0
- package/dist/css/49.chunk.css +33 -0
- package/dist/css/52.chunk.css +64 -0
- package/dist/css/60.chunk.css +16 -0
- package/dist/css/63.chunk.css +168 -0
- package/dist/css/67.chunk.css +76 -0
- package/dist/css/68.chunk.css +15 -0
- package/dist/css/69.chunk.css +15 -0
- package/dist/css/70.chunk.css +21 -0
- package/dist/css/71.chunk.css +38 -0
- package/dist/css/72.chunk.css +14 -0
- package/dist/css/73.chunk.css +35 -0
- package/dist/css/74.chunk.css +27 -0
- package/dist/css/75.chunk.css +4 -0
- package/dist/css/76.chunk.css +4 -0
- package/dist/scripts/0.chunk.js +83 -0
- package/dist/scripts/1.chunk.js +64 -0
- package/dist/scripts/10.chunk.js +62 -0
- package/dist/scripts/11.chunk.js +317 -0
- package/dist/scripts/12.chunk.js +56 -0
- package/dist/scripts/13.chunk.js +25 -0
- package/dist/scripts/14.chunk.js +272 -0
- package/dist/scripts/15.chunk.js +35 -0
- package/dist/scripts/16.chunk.js +79 -0
- package/dist/scripts/17.chunk.js +40 -0
- package/dist/scripts/18.chunk.js +40 -0
- package/dist/scripts/19.chunk.js +43 -0
- package/dist/scripts/2.chunk.js +33 -0
- package/dist/scripts/20.chunk.js +18 -0
- package/dist/scripts/21.chunk.js +55 -0
- package/dist/scripts/22.chunk.js +47 -0
- package/dist/scripts/23.chunk.js +47 -0
- package/dist/scripts/24.chunk.js +33 -0
- package/dist/scripts/25.chunk.js +25 -0
- package/dist/scripts/26.chunk.js +25 -0
- package/dist/scripts/27.chunk.js +10 -0
- package/dist/scripts/28.chunk.js +334 -0
- package/dist/scripts/29.chunk.js +202 -0
- package/dist/scripts/3.chunk.js +49 -0
- package/dist/scripts/30.chunk.js +137 -0
- package/dist/scripts/31.chunk.js +113 -0
- package/dist/scripts/32.chunk.js +115 -0
- package/dist/scripts/33.chunk.js +93 -0
- package/dist/scripts/34.chunk.js +63 -0
- package/dist/scripts/35.chunk.js +48 -0
- package/dist/scripts/36.chunk.js +33 -0
- package/dist/scripts/37.chunk.js +25 -0
- package/dist/scripts/38.chunk.js +25 -0
- package/dist/scripts/39.chunk.js +11 -0
- package/dist/scripts/4.chunk.js +26 -0
- package/dist/scripts/40.chunk.js +182 -0
- package/dist/scripts/41.chunk.js +175 -0
- package/dist/scripts/42.chunk.js +176 -0
- package/dist/scripts/43.chunk.js +113 -0
- package/dist/scripts/44.chunk.js +122 -0
- package/dist/scripts/45.chunk.js +85 -0
- package/dist/scripts/46.chunk.js +78 -0
- package/dist/scripts/47.chunk.js +70 -0
- package/dist/scripts/48.chunk.js +88 -0
- package/dist/scripts/49.chunk.js +62 -0
- package/dist/scripts/5.chunk.js +10 -0
- package/dist/scripts/50.chunk.js +64 -0
- package/dist/scripts/51.chunk.js +55 -0
- package/dist/scripts/52.chunk.js +47 -0
- package/dist/scripts/53.chunk.js +56 -0
- package/dist/scripts/54.chunk.js +56 -0
- package/dist/scripts/55.chunk.js +41 -0
- package/dist/scripts/56.chunk.js +41 -0
- package/dist/scripts/57.chunk.js +50 -0
- package/dist/scripts/58.chunk.js +33 -0
- package/dist/scripts/59.chunk.js +33 -0
- package/dist/scripts/6.chunk.js +40 -0
- package/dist/scripts/60.chunk.js +33 -0
- package/dist/scripts/61.chunk.js +33 -0
- package/dist/scripts/62.chunk.js +25 -0
- package/dist/scripts/63.chunk.js +25 -0
- package/dist/scripts/64.chunk.js +33 -0
- package/dist/scripts/65.chunk.js +34 -0
- package/dist/scripts/66.chunk.js +33 -0
- package/dist/scripts/67.chunk.js +25 -0
- package/dist/scripts/68.chunk.js +25 -0
- package/dist/scripts/69.chunk.js +25 -0
- package/dist/scripts/7.chunk.js +33 -0
- package/dist/scripts/70.chunk.js +25 -0
- package/dist/scripts/71.chunk.js +25 -0
- package/dist/scripts/72.chunk.js +25 -0
- package/dist/scripts/73.chunk.js +25 -0
- package/dist/scripts/74.chunk.js +25 -0
- package/dist/scripts/75.chunk.js +25 -0
- package/dist/scripts/76.chunk.js +25 -0
- package/dist/scripts/77.chunk.js +26 -0
- package/dist/scripts/78.chunk.js +26 -0
- package/dist/scripts/79.chunk.js +26 -0
- package/dist/scripts/8.chunk.js +33 -0
- package/dist/scripts/80.chunk.js +26 -0
- package/dist/scripts/81.chunk.js +26 -0
- package/dist/scripts/82.chunk.js +26 -0
- package/dist/scripts/83.chunk.js +26 -0
- package/dist/scripts/84.chunk.js +26 -0
- package/dist/scripts/85.chunk.js +26 -0
- package/dist/scripts/86.chunk.js +18 -0
- package/dist/scripts/87.chunk.js +18 -0
- package/dist/scripts/88.chunk.js +18 -0
- package/dist/scripts/89.chunk.js +18 -0
- package/dist/scripts/9.chunk.js +18 -0
- package/dist/scripts/90.chunk.js +18 -0
- package/dist/scripts/91.chunk.js +18 -0
- package/dist/scripts/92.chunk.js +18 -0
- package/dist/scripts/{bundle-9b7e0bee97.min.js → bundle-71f48e3173.min.js} +1 -1
- package/dist/scripts/bundle-d09fdf6233.min.js +8 -0
- package/dist/scripts/bundle.js +9254 -0
- package/dist/scripts/bundles.json +1 -1
- package/dist/scripts/polyfills.js +2694 -0
- package/package.json +3 -3
|
@@ -0,0 +1,49 @@
|
|
|
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\nconst ObjectFormatHelper = {\n 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\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbGlicy9hbmFseXRpY3Mvc3JjL3V0aWxzL09iamVjdEZvcm1hdEhlbHBlci50cy5qcyIsInNvdXJjZXMiOlsiZmlsZTovL0M6L0NsaWNrVmlldyBQcm9qZWN0cy9jbGlja3ZpZXcvcGFja2FnZXMvbGlicy9hbmFseXRpY3Mvc3JjL3V0aWxzL09iamVjdEZvcm1hdEhlbHBlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBCYWNrYm9uZSBmcm9tICdiYWNrYm9uZSc7XG5pbXBvcnQgeyBDb3JlIH0gZnJvbSAnbGlicy9jb21tb24vY29yZSc7IC8vIENvbnZlcnQgYmFja2JvbmUgbW9kZWxzL2NvbGxlY3Rpb24gdG8gcmVndWxhciBhcnJheXMvb2JqZWN0cy5cblxuZXhwb3J0IGNvbnN0IE9iamVjdEZvcm1hdEhlbHBlciA9IHtcbiAgdG9KU09OKG9iamVjdCkge1xuICAgIHJldHVybiBvYmplY3QgaW5zdGFuY2VvZiBDb3JlLk1vZGVsIHx8IG9iamVjdCBpbnN0YW5jZW9mIENvcmUuQ29sbGVjdGlvbiB8fCBvYmplY3QgaW5zdGFuY2VvZiBCYWNrYm9uZS5Nb2RlbCB8fCBvYmplY3QgaW5zdGFuY2VvZiBCYWNrYm9uZS5Db2xsZWN0aW9uID8gb2JqZWN0LnRvSlNPTigpIDogb2JqZWN0O1xuICB9XG5cbn07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\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\n\n\n\n\n\n\n // Record progress watch progress every minute\n\nconst DEFAULT_LOG_INTERVAL = 60; // Seconds\n// Legacy watch event was recorded after viewing for 8 seconds\n\nconst LEGACY_WATCH_ELAPSE = 8;\nconst SHOULD_LOG_VERBOSE = false; // See logVerbose function below.\n\nclass VideoAnalyticsTracker extends libs_common_core__WEBPACK_IMPORTED_MODULE_1__[\"Core\"].Service {\n constructor(options) {\n super(options);\n this.captureInterval = DEFAULT_LOG_INTERVAL;\n }\n\n get name() {\n return 'VideoAnalyticsTracker';\n }\n\n 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 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 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 getChapters() {\n this.queryWebplayer(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].QUERIES.GET_CHAPTERS, (e, chapters) => {\n this.setInitialChapter(chapters);\n this.setVideoDuration(chapters);\n });\n }\n\n queryWebplayer(queryEvent, callback) {\n const uniqueTrackerId = underscore__WEBPACK_IMPORTED_MODULE_0__[\"uniqueId\"](this.name);\n\n const queryCallbackEvent = `${libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].RECEIVE.QUERY_CALLBACK}-${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 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 onFullScreen(e, isFullScreen) {\n const 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 onPlayerTimeUpdate(e, rawTime) {\n this.queryWebplayer(libs_common_backbone_constants_Webplayer__WEBPACK_IMPORTED_MODULE_3__[\"WebplayerEvents\"].QUERIES.IS_PAUSED, (ev, isPaused) => {\n this.updateTime(rawTime, isPaused);\n });\n }\n\n onChapterChange(e, nextChapter) {\n if (!underscore__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](nextChapter)) return;\n this.setCurrentChapter(nextChapter.number);\n }\n\n updateTime(rawTime, isPaused) {\n const 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 setInitialChapter(chapters) {\n const currentChapter = underscore__WEBPACK_IMPORTED_MODULE_0__[\"find\"](chapters, c => c.current === true);\n\n if (!underscore__WEBPACK_IMPORTED_MODULE_0__[\"isObject\"](currentChapter)) return;\n this.setCurrentChapter(currentChapter.number);\n }\n\n setVideoDuration(chapters) {\n let totalDuration = underscore__WEBPACK_IMPORTED_MODULE_0__[\"reduce\"](chapters, (d, c) => d + c.duration, 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 setCurrentPosition(time) {\n this.playbackStatus.position = time;\n }\n\n getCurrentPositon() {\n return this.playbackStatus.position;\n }\n\n setCurrentChapter(chapter) {\n this.playbackStatus.chapter = chapter;\n }\n\n setPlaybackStarted() {\n this.playbackStatus.hasStarted = true;\n }\n\n playbackHasStarted() {\n return this.playbackStatus.hasStarted;\n }\n\n getWatchTime() {\n return this.playbackStatus.totalWatched;\n }\n\n incrementWatchTime() {\n this.playbackStatus.totalWatched += 1;\n }\n\n getNewPlaybackStatus(options = {}) {\n const {\n duration,\n watched\n } = options;\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 resetPlaybackStatus() {\n const preservedState = {\n duration: this.playbackStatus.totalDuration,\n watched: this.playbackStatus.totalWatched\n };\n this.playbackStatus = this.getNewPlaybackStatus(preservedState);\n }\n\n unbindUnload() {\n $(window).off('unload');\n }\n\n bindUnload() {\n $(window).on('unload', underscore__WEBPACK_IMPORTED_MODULE_0__[\"bind\"](this.logUnload, this));\n }\n\n logUnload() {\n if (!this.playbackHasStarted()) return;\n this.logVerbose(libs_analytics_interfaces__WEBPACK_IMPORTED_MODULE_5__[\"PlaybackDescriptor\"].Terminate);\n }\n\n logStream() {\n const action = libs_analytics_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_7__[\"AnalyticsHelper\"].buildActionContext(this.options.analyticsOptions); // TODO: Remove when migration to StreamRaw is finalised.\n\n libs_analytics_Analytics__WEBPACK_IMPORTED_MODULE_6__[\"Analytics\"].log(libs_analytics_interfaces__WEBPACK_IMPORTED_MODULE_5__[\"UserAction\"].Stream, this.getPlaybackData(), action); // This won't actually log as it's blocked in CollectionApiClientHelper.shouldLog\n\n libs_analytics_Analytics__WEBPACK_IMPORTED_MODULE_6__[\"Analytics\"].log(libs_analytics_interfaces__WEBPACK_IMPORTED_MODULE_5__[\"UserAction\"].StreamRaw, this.getStreamRawData(), 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 logVerbose(descriptor) {\n if (!SHOULD_LOG_VERBOSE) return;\n const analyticsOptions = libs_analytics_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_7__[\"AnalyticsHelper\"].mergeOptions(this.options.analyticsOptions, {\n descriptor\n });\n const 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\"].StreamRaw, this.getStreamRawData(), action);\n } // TODO: Remove when migration to StreamRaw is finalised.\n\n\n 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 getStreamRawData() {\n const model = libs_analytics_utils_ObjectFormatHelper__WEBPACK_IMPORTED_MODULE_4__[\"ObjectFormatHelper\"].toJSON(this.model);\n return {\n id: model.id.toString()\n };\n }\n\n onDestroy() {\n this.unbindListeners();\n this.unbindUnload();\n this.logUnload();\n }\n\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbGlicy9hbmFseXRpY3Mvc3JjL3V0aWxzL1ZpZGVvQW5hbHl0aWNzVHJhY2tlci50cy5qcyIsInNvdXJjZXMiOlsiZmlsZTovL0M6L0NsaWNrVmlldyBQcm9qZWN0cy9jbGlja3ZpZXcvcGFja2FnZXMvbGlicy9hbmFseXRpY3Mvc3JjL3V0aWxzL1ZpZGVvQW5hbHl0aWNzVHJhY2tlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xuaW1wb3J0IHsgQ29yZSB9IGZyb20gJ2xpYnMvY29tbW9uL2NvcmUnO1xuaW1wb3J0IHsgRGV2RXJyb3IgfSBmcm9tICdsaWJzL2NvbW1vbi9iYWNrYm9uZS9lcnJvcnMvRGV2RXJyb3InO1xuaW1wb3J0IHsgV2VicGxheWVyRXZlbnRzIH0gZnJvbSAnbGlicy9jb21tb24vYmFja2JvbmUvY29uc3RhbnRzL1dlYnBsYXllcic7XG5pbXBvcnQgeyBPYmplY3RGb3JtYXRIZWxwZXIgfSBmcm9tICdsaWJzL2FuYWx5dGljcy91dGlscy9PYmplY3RGb3JtYXRIZWxwZXInO1xuaW1wb3J0IHsgVXNlckFjdGlvbiwgUGxheWJhY2tEZXNjcmlwdG9yIH0gZnJvbSAnbGlicy9hbmFseXRpY3MvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBbmFseXRpY3MgfSBmcm9tICdsaWJzL2FuYWx5dGljcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgQW5hbHl0aWNzSGVscGVyIH0gZnJvbSAnbGlicy9hbmFseXRpY3MvQW5hbHl0aWNzSGVscGVyJzsgLy8gUmVjb3JkIHByb2dyZXNzIHdhdGNoIHByb2dyZXNzIGV2ZXJ5IG1pbnV0ZVxuXG5jb25zdCBERUZBVUxUX0xPR19JTlRFUlZBTCA9IDYwOyAvLyBTZWNvbmRzXG4vLyBMZWdhY3kgd2F0Y2ggZXZlbnQgd2FzIHJlY29yZGVkIGFmdGVyIHZpZXdpbmcgZm9yIDggc2Vjb25kc1xuXG5jb25zdCBMRUdBQ1lfV0FUQ0hfRUxBUFNFID0gODtcbmNvbnN0IFNIT1VMRF9MT0dfVkVSQk9TRSA9IGZhbHNlOyAvLyBTZWUgbG9nVmVyYm9zZSBmdW5jdGlvbiBiZWxvdy5cblxuZXhwb3J0IGNsYXNzIFZpZGVvQW5hbHl0aWNzVHJhY2tlciBleHRlbmRzIENvcmUuU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICBzdXBlcihvcHRpb25zKTtcbiAgICB0aGlzLmNhcHR1cmVJbnRlcnZhbCA9IERFRkFVTFRfTE9HX0lOVEVSVkFMO1xuICB9XG5cbiAgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuICdWaWRlb0FuYWx5dGljc1RyYWNrZXInO1xuICB9XG5cbiAgaW5pdGlhbGl6ZSgpIHtcbiAgICB0aGlzLmV2ZW50c0FwaSA9IHRoaXMub3B0aW9ucy5ldmVudHNBcGk7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMudmlkZW8pIENvcmUuRXJyb3JIZWxwZXIudGhyb3cobmV3IERldkVycm9yKCdWaWRlbyBsb2dnaW5nIHJlcXVpcmVzIHZpZGVvIHRvIGJlIHBhc3NlZCBpbi4nKSk7XG4gICAgdGhpcy5tb2RlbCA9IHRoaXMub3B0aW9ucy52aWRlbztcbiAgICB0aGlzLnBsYXliYWNrU3RhdHVzID0gdGhpcy5nZXROZXdQbGF5YmFja1N0YXR1cygpO1xuICAgIGlmICh0aGlzLm9wdGlvbnMuY2FwdHVyZUludGVydmFsKSB0aGlzLmNhcHR1cmVJbnRlcnZhbCA9IHRoaXMub3B0aW9ucy5jYXB0dXJlSW50ZXJ2YWw7XG4gICAgdGhpcy5iaW5kTGlzdGVuZXJzKCk7XG4gICAgdGhpcy5nZXRDaGFwdGVycygpO1xuICB9XG5cbiAgYmluZExpc3RlbmVycygpIHtcbiAgICB0aGlzLmV2ZW50c0FwaS5vbihXZWJwbGF5ZXJFdmVudHMuUkVDRUlWRS5USU1FX1VQREFURSwgXy5iaW5kKHRoaXMub25QbGF5ZXJUaW1lVXBkYXRlLCB0aGlzKSk7XG4gICAgdGhpcy5ldmVudHNBcGkub24oV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuVklERU9fRU5ELCBfLmJpbmQodGhpcy5vbkVuZCwgdGhpcykpO1xuICAgIHRoaXMuZXZlbnRzQXBpLm9uKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLkZVTExTQ1JFRU5fQ0hBTkdFLCBfLmJpbmQodGhpcy5vbkZ1bGxTY3JlZW4sIHRoaXMpKTtcbiAgICB0aGlzLmV2ZW50c0FwaS5vbihXZWJwbGF5ZXJFdmVudHMuUkVDRUlWRS5DSEFQVEVSX0NIQU5HRSwgXy5iaW5kKHRoaXMub25DaGFwdGVyQ2hhbmdlLCB0aGlzKSk7XG4gIH1cblxuICB1bmJpbmRMaXN0ZW5lcnMoKSB7XG4gICAgdGhpcy5ldmVudHNBcGkub2ZmKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLlRJTUVfVVBEQVRFKTtcbiAgICB0aGlzLmV2ZW50c0FwaS5vZmYoV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuVklERU9fRU5EKTtcbiAgICB0aGlzLmV2ZW50c0FwaS5vZmYoV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuRlVMTFNDUkVFTl9DSEFOR0UpO1xuICAgIHRoaXMuZXZlbnRzQXBpLm9mZihXZWJwbGF5ZXJFdmVudHMuUkVDRUlWRS5DSEFQVEVSX0NIQU5HRSk7XG4gIH1cblxuICBnZXRDaGFwdGVycygpIHtcbiAgICB0aGlzLnF1ZXJ5V2VicGxheWVyKFdlYnBsYXllckV2ZW50cy5RVUVSSUVTLkdFVF9DSEFQVEVSUywgKGUsIGNoYXB0ZXJzKSA9PiB7XG4gICAgICB0aGlzLnNldEluaXRpYWxDaGFwdGVyKGNoYXB0ZXJzKTtcbiAgICAgIHRoaXMuc2V0VmlkZW9EdXJhdGlvbihjaGFwdGVycyk7XG4gICAgfSk7XG4gIH1cblxuICBxdWVyeVdlYnBsYXllcihxdWVyeUV2ZW50LCBjYWxsYmFjaykge1xuICAgIGNvbnN0IHVuaXF1ZVRyYWNrZXJJZCA9IF8udW5pcXVlSWQodGhpcy5uYW1lKTtcblxuICAgIGNvbnN0IHF1ZXJ5Q2FsbGJhY2tFdmVudCA9IGAke1dlYnBsYXllckV2ZW50cy5SRUNFSVZFLlFVRVJZX0NBTExCQUNLfS0ke3VuaXF1ZVRyYWNrZXJJZH1gO1xuICAgIHRoaXMuZXZlbnRzQXBpLm9uZShxdWVyeUNhbGxiYWNrRXZlbnQsIGNhbGxiYWNrKTtcbiAgICB0aGlzLmV2ZW50c0FwaS50cmlnZ2VyKFdlYnBsYXllckV2ZW50cy5UUklHR0VSLlFVRVJZLCBxdWVyeUV2ZW50LCB1bmlxdWVUcmFja2VySWQpO1xuICB9XG5cbiAgb25FbmQoKSB7XG4gICAgdGhpcy5zZXRDdXJyZW50UG9zaXRpb24odGhpcy5wbGF5YmFja1N0YXR1cy50b3RhbER1cmF0aW9uKTtcbiAgICB0aGlzLmxvZ1ZlcmJvc2UoUGxheWJhY2tEZXNjcmlwdG9yLkZpbmlzaCk7XG4gICAgdGhpcy5yZXNldFBsYXliYWNrU3RhdHVzKCk7XG4gIH1cblxuICBvbkZ1bGxTY3JlZW4oZSwgaXNGdWxsU2NyZWVuKSB7XG4gICAgY29uc3QgZGVzY3JpcHRvciA9IGlzRnVsbFNjcmVlbiA/IFBsYXliYWNrRGVzY3JpcHRvci5GdWxsU2NyZWVuRW50ZXIgOiBQbGF5YmFja0Rlc2NyaXB0b3IuRnVsbFNjcmVlbkV4aXQ7XG4gICAgdGhpcy5sb2dWZXJib3NlKGRlc2NyaXB0b3IpO1xuICB9XG5cbiAgb25QbGF5ZXJUaW1lVXBkYXRlKGUsIHJhd1RpbWUpIHtcbiAgICB0aGlzLnF1ZXJ5V2VicGxheWVyKFdlYnBsYXllckV2ZW50cy5RVUVSSUVTLklTX1BBVVNFRCwgKGV2LCBpc1BhdXNlZCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVUaW1lKHJhd1RpbWUsIGlzUGF1c2VkKTtcbiAgICB9KTtcbiAgfVxuXG4gIG9uQ2hhcHRlckNoYW5nZShlLCBuZXh0Q2hhcHRlcikge1xuICAgIGlmICghXy5pc09iamVjdChuZXh0Q2hhcHRlcikpIHJldHVybjtcbiAgICB0aGlzLnNldEN1cnJlbnRDaGFwdGVyKG5leHRDaGFwdGVyLm51bWJlcik7XG4gIH1cblxuICB1cGRhdGVUaW1lKHJhd1RpbWUsIGlzUGF1c2VkKSB7XG4gICAgY29uc3QgdGltZSA9IE1hdGguZmxvb3IocmF3VGltZSk7XG4gICAgLyoqXHJcbiAgICAgKiBJZ25vcmUgdGhlIGZpcnN0IHRpbWUgdXBkYXRlIGF0IDAgYW5kIGR1cGxpY2F0ZSBldmVudHMgd2l0aCB0aGUgc2FtZSByYXdUaW1lIHBvaW50LlxyXG4gICAgICogVGhpcyBpcyBuZWNlc3NhcnkgdG8gYXZvaWQgc3VidGxlIGJ1Z3Mgd2hlcmUgdGhlIHdlYnBsYXllciBpcyByZXNldCBhdCB0aGUgZW5kIG9mIHBsYXliYWNrLlxyXG4gICAgICovXG5cbiAgICBpZiAoIXRpbWUgfHwgdGltZSA9PT0gdGhpcy5nZXRDdXJyZW50UG9zaXRvbigpKSByZXR1cm47XG4gICAgLyoqXHJcbiAgICAgKiBBbHdheXMgc2V0IHRoZSBwb3NpdGlvbiBmaXJzdCwgc28gd2UgY2FuIHJlc3RvcmUgc3RhdGUgd2hlbiB0aGUgdXNlciBjb250aW51ZXNcclxuICAgICAqIHBsYXliYWNrIG9mIHRoZSBzYW1lIHZpZGVvIGZyb20gYSBkaWZmZXJlbnQgbG9jYXRpb24uXHJcbiAgICAgKi9cblxuICAgIHRoaXMuc2V0Q3VycmVudFBvc2l0aW9uKHRpbWUpO1xuICAgIC8qKlxyXG4gICAgICogT25seSB1cGRhdGUgd2F0Y2ggdGltZSBhbmQgbG9nIGlmIHdlIGFyZSBhY3R1YWxseSBwbGF5aW5nIGEgdmlkZW9cclxuICAgICAqL1xuXG4gICAgaWYgKGlzUGF1c2VkKSByZXR1cm47IC8vIExvZyB0aGUgc3RhcnQgZXZlbnRcblxuICAgIGlmICghdGhpcy5wbGF5YmFja0hhc1N0YXJ0ZWQoKSkge1xuICAgICAgdGhpcy5sb2dWZXJib3NlKFBsYXliYWNrRGVzY3JpcHRvci5TdGFydCk7XG4gICAgICB0aGlzLnNldFBsYXliYWNrU3RhcnRlZCgpO1xuICAgIH1cblxuICAgIHRoaXMuaW5jcmVtZW50V2F0Y2hUaW1lKCk7IC8vIExvZyBhdCBlYWNoIGludGVydmFsIHBlcmlvZFxuXG4gICAgaWYgKHRoaXMuZ2V0V2F0Y2hUaW1lKCkgJSB0aGlzLmNhcHR1cmVJbnRlcnZhbCA9PT0gMCkgdGhpcy5sb2dWZXJib3NlKFBsYXliYWNrRGVzY3JpcHRvci5QbGF5YmFjayk7XG4gICAgaWYgKHRoaXMuZ2V0V2F0Y2hUaW1lKCkgPT09IExFR0FDWV9XQVRDSF9FTEFQU0UpIHRoaXMubG9nU3RyZWFtKCk7XG4gIH1cblxuICBzZXRJbml0aWFsQ2hhcHRlcihjaGFwdGVycykge1xuICAgIGNvbnN0IGN1cnJlbnRDaGFwdGVyID0gXy5maW5kKGNoYXB0ZXJzLCBjID0+IGMuY3VycmVudCA9PT0gdHJ1ZSk7XG5cbiAgICBpZiAoIV8uaXNPYmplY3QoY3VycmVudENoYXB0ZXIpKSByZXR1cm47XG4gICAgdGhpcy5zZXRDdXJyZW50Q2hhcHRlcihjdXJyZW50Q2hhcHRlci5udW1iZXIpO1xuICB9XG5cbiAgc2V0VmlkZW9EdXJhdGlvbihjaGFwdGVycykge1xuICAgIGxldCB0b3RhbER1cmF0aW9uID0gXy5yZWR1Y2UoY2hhcHRlcnMsIChkLCBjKSA9PiBkICsgYy5kdXJhdGlvbiwgMCk7XG5cbiAgICBpZiAoXy5pc05hTih0b3RhbER1cmF0aW9uKSB8fCAhXy5pc051bWJlcih0b3RhbER1cmF0aW9uKSkgcmV0dXJuOyAvLyBBbHdheXMgcm91bmQgZG93biB0byB0aGUgY3VycmVudCBzZWNvbmRcblxuICAgIHRoaXMucGxheWJhY2tTdGF0dXMudG90YWxEdXJhdGlvbiA9IE1hdGguZmxvb3IodG90YWxEdXJhdGlvbik7XG4gIH0gLy8gU3RvcmUgdGhlIGN1cnJlbnQgcGxheWJhY2sgcG9zaXRpb25cblxuXG4gIHNldEN1cnJlbnRQb3NpdGlvbih0aW1lKSB7XG4gICAgdGhpcy5wbGF5YmFja1N0YXR1cy5wb3NpdGlvbiA9IHRpbWU7XG4gIH1cblxuICBnZXRDdXJyZW50UG9zaXRvbigpIHtcbiAgICByZXR1cm4gdGhpcy5wbGF5YmFja1N0YXR1cy5wb3NpdGlvbjtcbiAgfVxuXG4gIHNldEN1cnJlbnRDaGFwdGVyKGNoYXB0ZXIpIHtcbiAgICB0aGlzLnBsYXliYWNrU3RhdHVzLmNoYXB0ZXIgPSBjaGFwdGVyO1xuICB9XG5cbiAgc2V0UGxheWJhY2tTdGFydGVkKCkge1xuICAgIHRoaXMucGxheWJhY2tTdGF0dXMuaGFzU3RhcnRlZCA9IHRydWU7XG4gIH1cblxuICBwbGF5YmFja0hhc1N0YXJ0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMucGxheWJhY2tTdGF0dXMuaGFzU3RhcnRlZDtcbiAgfVxuXG4gIGdldFdhdGNoVGltZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wbGF5YmFja1N0YXR1cy50b3RhbFdhdGNoZWQ7XG4gIH1cblxuICBpbmNyZW1lbnRXYXRjaFRpbWUoKSB7XG4gICAgdGhpcy5wbGF5YmFja1N0YXR1cy50b3RhbFdhdGNoZWQgKz0gMTtcbiAgfVxuXG4gIGdldE5ld1BsYXliYWNrU3RhdHVzKG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGR1cmF0aW9uLFxuICAgICAgd2F0Y2hlZFxuICAgIH0gPSBvcHRpb25zO1xuICAgIHJldHVybiB7XG4gICAgICBwb3NpdGlvbjogMCxcbiAgICAgIGNoYXB0ZXI6IDAsXG4gICAgICBoYXNTdGFydGVkOiBmYWxzZSxcbiAgICAgIHRvdGFsV2F0Y2hlZDogd2F0Y2hlZCA/IHdhdGNoZWQgOiAwLFxuICAgICAgdG90YWxEdXJhdGlvbjogZHVyYXRpb24gPyBkdXJhdGlvbiA6IDBcbiAgICB9O1xuICB9XG5cbiAgcmVzZXRQbGF5YmFja1N0YXR1cygpIHtcbiAgICBjb25zdCBwcmVzZXJ2ZWRTdGF0ZSA9IHtcbiAgICAgIGR1cmF0aW9uOiB0aGlzLnBsYXliYWNrU3RhdHVzLnRvdGFsRHVyYXRpb24sXG4gICAgICB3YXRjaGVkOiB0aGlzLnBsYXliYWNrU3RhdHVzLnRvdGFsV2F0Y2hlZFxuICAgIH07XG4gICAgdGhpcy5wbGF5YmFja1N0YXR1cyA9IHRoaXMuZ2V0TmV3UGxheWJhY2tTdGF0dXMocHJlc2VydmVkU3RhdGUpO1xuICB9XG5cbiAgdW5iaW5kVW5sb2FkKCkge1xuICAgICQod2luZG93KS5vZmYoJ3VubG9hZCcpO1xuICB9XG5cbiAgYmluZFVubG9hZCgpIHtcbiAgICAkKHdpbmRvdykub24oJ3VubG9hZCcsIF8uYmluZCh0aGlzLmxvZ1VubG9hZCwgdGhpcykpO1xuICB9XG5cbiAgbG9nVW5sb2FkKCkge1xuICAgIGlmICghdGhpcy5wbGF5YmFja0hhc1N0YXJ0ZWQoKSkgcmV0dXJuO1xuICAgIHRoaXMubG9nVmVyYm9zZShQbGF5YmFja0Rlc2NyaXB0b3IuVGVybWluYXRlKTtcbiAgfVxuXG4gIGxvZ1N0cmVhbSgpIHtcbiAgICBjb25zdCBhY3Rpb24gPSBBbmFseXRpY3NIZWxwZXIuYnVpbGRBY3Rpb25Db250ZXh0KHRoaXMub3B0aW9ucy5hbmFseXRpY3NPcHRpb25zKTsgLy8gVE9ETzogUmVtb3ZlIHdoZW4gbWlncmF0aW9uIHRvIFN0cmVhbVJhdyBpcyBmaW5hbGlzZWQuXG5cbiAgICBBbmFseXRpY3MubG9nKFVzZXJBY3Rpb24uU3RyZWFtLCB0aGlzLmdldFBsYXliYWNrRGF0YSgpLCBhY3Rpb24pOyAvLyBUaGlzIHdvbid0IGFjdHVhbGx5IGxvZyBhcyBpdCdzIGJsb2NrZWQgaW4gQ29sbGVjdGlvbkFwaUNsaWVudEhlbHBlci5zaG91bGRMb2dcblxuICAgIEFuYWx5dGljcy5sb2coVXNlckFjdGlvbi5TdHJlYW1SYXcsIHRoaXMuZ2V0U3RyZWFtUmF3RGF0YSgpLCBhY3Rpb24pO1xuICB9XG4gIC8qKlxyXG4gICAqIGxvZ1ZlcmJvc2UgaXMgdXNlZCBmb3IgbW9yZSBncmFudWxhciBsb2dnaW5nIHRoYW4gbG9nU3RyZWFtLCBob3dldmVyIGFzIG9mIEp1bmUgMjAyMFxyXG4gICAqIHdlIGFyZSBvbmx5IGxvZ2dpbmcgdGhlIHNpbXBsZXIgc3RyZWFtIGV2ZW50IHdoaWNoIGlzIHRoZSBzYW1lIGFzIHZpZGVvV2F0Y2hlZCBpbiBPbmxpbmUuXHJcbiAgICovXG5cblxuICBsb2dWZXJib3NlKGRlc2NyaXB0b3IpIHtcbiAgICBpZiAoIVNIT1VMRF9MT0dfVkVSQk9TRSkgcmV0dXJuO1xuICAgIGNvbnN0IGFuYWx5dGljc09wdGlvbnMgPSBBbmFseXRpY3NIZWxwZXIubWVyZ2VPcHRpb25zKHRoaXMub3B0aW9ucy5hbmFseXRpY3NPcHRpb25zLCB7XG4gICAgICBkZXNjcmlwdG9yXG4gICAgfSk7XG4gICAgY29uc3QgYWN0aW9uID0gQW5hbHl0aWNzSGVscGVyLmJ1aWxkQWN0aW9uQ29udGV4dChhbmFseXRpY3NPcHRpb25zKTtcbiAgICBBbmFseXRpY3MubG9nKFVzZXJBY3Rpb24uU3RyZWFtUmF3LCB0aGlzLmdldFN0cmVhbVJhd0RhdGEoKSwgYWN0aW9uKTtcbiAgfSAvLyBUT0RPOiBSZW1vdmUgd2hlbiBtaWdyYXRpb24gdG8gU3RyZWFtUmF3IGlzIGZpbmFsaXNlZC5cblxuXG4gIGdldFBsYXliYWNrRGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbW9kZWw6IE9iamVjdEZvcm1hdEhlbHBlci50b0pTT04odGhpcy5tb2RlbCksXG5cbiAgICAgIC8qKlxyXG4gICAgICAgKiBDbG9uZSB0aGUgcGxheWJhY2sgc3RhdHVzIHRvIGVuc3VyZSB0aGF0IHRoZSBvYmplY3QgaXMgbm90IG11dGF0ZWQgcHJpb3IgdG8gYmVpbmcgbG9nZ2VkIGJ5XHJcbiAgICAgICAqIHRoZSBBbmFseXRpY3NTZXJ2aWNlLiBSZW1vdmUgdmlldy1zcGVjaWZpYyBwcm9wZXJ0aWVzLlxyXG4gICAgICAgKi9cbiAgICAgIHBsYXliYWNrU3RhdHVzOiBfLm9taXQodGhpcy5wbGF5YmFja1N0YXR1cywgJ2hhc1N0YXJ0ZWQnKVxuICAgIH07XG4gIH1cblxuICBnZXRTdHJlYW1SYXdEYXRhKCkge1xuICAgIGNvbnN0IG1vZGVsID0gT2JqZWN0Rm9ybWF0SGVscGVyLnRvSlNPTih0aGlzLm1vZGVsKTtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IG1vZGVsLmlkLnRvU3RyaW5nKClcbiAgICB9O1xuICB9XG5cbiAgb25EZXN0cm95KCkge1xuICAgIHRoaXMudW5iaW5kTGlzdGVuZXJzKCk7XG4gICAgdGhpcy51bmJpbmRVbmxvYWQoKTtcbiAgICB0aGlzLmxvZ1VubG9hZCgpO1xuICB9XG5cbn0iXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../libs/analytics/src/utils/VideoAnalyticsTracker.ts\n");
|
|
16
|
+
|
|
17
|
+
/***/ }),
|
|
18
|
+
|
|
19
|
+
/***/ "../../libs/common/src/backbone/constants/Webplayer.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__, \"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 */\nconst 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vbGlicy9jb21tb24vc3JjL2JhY2tib25lL2NvbnN0YW50cy9XZWJwbGF5ZXIudHMuanMiLCJzb3VyY2VzIjpbImZpbGU6Ly9DOi9DbGlja1ZpZXcgUHJvamVjdHMvY2xpY2t2aWV3L3BhY2thZ2VzL2xpYnMvY29tbW9uL3NyYy9iYWNrYm9uZS9jb25zdGFudHMvV2VicGxheWVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBFdmVudHMgYXJlIG1hcHBlZCBhZ2FpbnN0IHRob3NlIGluIFdlYnBsYXllci5cclxuICogQHNlZSBodHRwOi8vZ2l0bGFiLmN2aW50ZXJuYWwubmV0L1dlYlBsYXllci9XZWJQbGF5ZXIvYmxvYi9tYXN0ZXIvQ2xpY2tWaWV3Lkh0bWw1LldlYlBsYXllci5XZWIvU2NyaXB0cy9DVlBsYXllckV2ZW50c0FwaS5qc1xyXG4gKi9cbmNvbnN0IFdlYnBsYXllckV2ZW50cyA9IHtcbiAgLyoqXHJcbiAgICogRXZlbnRzIGVtaXR0ZWQgZnJvbSB3ZWJwbGF5ZXIgdmlhIENWRXZlbnRzQVBJXHJcbiAgICovXG4gIFJFQ0VJVkU6IHtcbiAgICBQTEFZOiAnY3YtcGxheWVyLXBsYXknLFxuICAgIFBBVVNFOiAnY3YtcGxheWVyLXBhdXNlJyxcbiAgICBWSURFT19FTkQ6ICdjdi1wbGF5ZXItZW5kZWQnLFxuICAgIFZPTFVNRV9DSEFOR0U6ICdjdi1wbGF5ZXItdm9sdW1lY2hhbmdlJyxcbiAgICBDSEFQVEVSX0NIQU5HRTogJ2N2LXBsYXllci1jaGFwdGVyY2hhbmdlJyxcbiAgICBUSU1FX1VQREFURTogJ2N2LXBsYXllci10aW1ldXBkYXRlJyxcbiAgICBGVUxMU0NSRUVOX0NIQU5HRTogJ2N2LXBsYXllci1mdWxsc2NyZWVuY2hhbmdlJyxcbiAgICBDTElQX1BPSU5UU19VUERBVEU6ICdjdi1wbGF5ZXItY2xpcHRvb2x1cGRhdGUnLFxuICAgIFFVQUxJVFlfQ0hBTkdFOiAnY3YtcGxheWVyLXF1YWxpdHljaGFuZ2UnLFxuICAgIFFVRVJZX0NBTExCQUNLOiAnY3YtcGxheWVyLXF1ZXJ5Y2FsbGJhY2snLFxuICAgIFNVQlRJVExFU19FTkFCTEVEOiAnY3YtcGxheWVyLWhhc3N1YnRpdGxlcycsXG4gICAgU1VCVElUTEVTOiAnY3YtcGxheWVyLXN1YnRpdGxlcycsXG4gICAgUE9ORzogJ2N2LXBsYXllci1wb25nJyxcbiAgICAvLyBVc2VyLWluaXRpYXRlZCBldmVudHMgZnJvbSB3ZWJwbGF5ZXIgVUlcbiAgICBGVUxMU0NSRUVOX0NMSUNLOiAnX2N2d3A6ZnNjJyxcbiAgICBERVZJQ0VTX0JUTl9DTElDSzogJ19jdndwOmRldmljZXM6Y2xpY2snXG4gIH0sXG5cbiAgLyoqXHJcbiAgICogRXZlbnRzIHRvIHRyaWdnZXIgb24gQ1ZFdmVudHNBUEkgdG8gbWFuYWdlL3VwZGF0ZSB3ZWJwbGF5ZXJcclxuICAgKi9cbiAgVFJJR0dFUjoge1xuICAgIFBMQVk6ICdjdi1wbGF5ZXItcGxheScsXG4gICAgUEFVU0U6ICdjdi1wbGF5ZXItcGF1c2UnLFxuICAgIFNFVF9WT0xVTUU6ICdjdi1wbGF5ZXItc2V0dm9sdW1lJyxcbiAgICBORVhUX0NIQVBURVI6ICdjdi1wbGF5ZXItbmV4dGNoYXB0ZXInLFxuICAgIFBSRVZfQ0hBUFRFUjogJ2N2LXBsYXllci1wcmV2aW91c2NoYXB0ZXInLFxuICAgIENIQU5HRV9DSEFQVEVSOiAnY3YtcGxheWVyLWNoYW5nZWNoYXB0ZXInLFxuICAgIFRPR0dMRV9DTElQUElORzogJ2N2LXBsYXllci1jbGlwdG9vbHRvZ2dsZScsXG4gICAgU0VUX0NMSVBfUE9JTlRTOiAnY3YtcGxheWVyLWNsaXB0b29sc2V0JyxcbiAgICBDTElQOiAnY3YtcGxheWVyLXNldGNsaXAnLFxuICAgIENMRUFSX0NMSVA6ICdjdi1wbGF5ZXItY2xlYXJjbGlwJyxcbiAgICBTRUVLX1RPOiAnY3YtcGxheWVyLXNlZWt0bycsXG4gICAgQ09OVFJPTFM6ICdjdi1wbGF5ZXItc2hvd2NvbnRyb2xzJyxcbiAgICBTVUJUSVRMRVM6ICdjdi1wbGF5ZXItc3VidGl0bGVzJyxcbiAgICBTRVRfUVVBTElUWTogJ2N2LXBsYXllci1zZXRxdWFsaXR5JyxcbiAgICBRVUVSWTogJ2N2LXBsYXllci1xdWVyeScsXG4gICAgQUREX0xJU1RFTkVSOiAnY3YtcGxheWVyLWFkZGxpc3RlbmVyJyxcbiAgICBSRU1PVkVfTElTVEVORVI6ICdjdi1wbGF5ZXItcmVtb3ZlbGlzdGVuZXInLFxuICAgIFBJTkc6ICdjdi1wbGF5ZXItcGluZycsXG4gICAgLy8gVXBkYXRlIFdlYnBsYXllciBVSVxuICAgIFRPR0dMRV9ERVZJQ0VTX0JUTjogJ19jdjp0b2dnbGVkZXZpY2VzYnRuJyxcbiAgICBTSE9XX0RFVklDRVNfQlROOiAnX2N2OnNob3dkZXZpY2VzYnRuJyxcbiAgICBTSE9XX0ZTX0JUTjogJ19jdjpzaG93ZnNidG4nXG4gIH0sXG5cbiAgLyoqXHJcbiAgICogVGhlIHdlYnBsYXllciBjYW4gYmUgcXVlcmllZCBkaXJlY3RseSBmb3IgdGhlIGZvbGxvd2luZyBkYXRhLlxyXG4gICAqIExpc3RlbiBvbiBRVUVSWV9DQUxMQkFDSyBmb3IgcmVzdWx0IGFuZCB0cmlnZ2VyIG9uIFFVRVJZLlxyXG4gICAqL1xuICBRVUVSSUVTOiB7XG4gICAgR0VUX0FWQUlMQUJMRV9RVUFMSVRJRVM6ICdnZXRBdmFpbGFibGVRdWFsaXRpZXMnLFxuICAgIEdFVF9DVVJSRU5UX1FVQUxJVFk6ICdjdXJyZW50UXVhbGl0eScsXG4gICAgSVNfUEFVU0VEOiAncGF1c2VkJyxcbiAgICBHRVRfQ1VSUkVOVF9USU1FOiAnY3VycmVudFRpbWUnLFxuICAgIEdFVF9DSEFQVEVSUzogJ2dldENoYXB0ZXJzJyxcbiAgICBIQVNfTUVUQURBVEFfQ0hBUFRFUlM6ICdoYXNNZXRhZGF0YUNoYXB0ZXJzJ1xuICB9XG59O1xuZXhwb3J0IHsgV2VicGxheWVyRXZlbnRzIH07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../libs/common/src/backbone/constants/Webplayer.ts\n");
|
|
24
|
+
|
|
25
|
+
/***/ }),
|
|
26
|
+
|
|
27
|
+
/***/ "./src/shared/components/web-player/WebPlayer.handlebars":
|
|
28
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
29
|
+
|
|
30
|
+
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc2hhcmVkL2NvbXBvbmVudHMvd2ViLXBsYXllci9XZWJQbGF5ZXIuaGFuZGxlYmFycy5qcyIsInNvdXJjZXMiOlsiZmlsZTovL0M6L0NsaWNrVmlldyBQcm9qZWN0cy9jbGlja3ZpZXcvcGFja2FnZXMvcHJvamVjdHMvbGlicmFyeS1lZGl0b3Ivc3JjL3NoYXJlZC9jb21wb25lbnRzL3dlYi1wbGF5ZXIvV2ViUGxheWVyLmhhbmRsZWJhcnMiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIEhhbmRsZWJhcnMgPSByZXF1aXJlKCdoYW5kbGViYXJzJyk7XG5tb2R1bGUuZXhwb3J0cyA9IChIYW5kbGViYXJzWydkZWZhdWx0J10gfHwgSGFuZGxlYmFycykudGVtcGxhdGUoe1wiY29tcGlsZXJcIjpbOCxcIj49IDQuMy4wXCJdLFwibWFpblwiOmZ1bmN0aW9uKGNvbnRhaW5lcixkZXB0aDAsaGVscGVycyxwYXJ0aWFscyxkYXRhKSB7XG4gICAgdmFyIHN0YWNrMSwgYWxpYXMxPWNvbnRhaW5lci5wcm9wZXJ0eUlzRW51bWVyYWJsZSwgYWxpYXMyPWNvbnRhaW5lci5sYW1iZGEsIGFsaWFzMz1jb250YWluZXIuZXNjYXBlRXhwcmVzc2lvbjtcblxuICByZXR1cm4gXCI8aWZyYW1lIGNsYXNzPVxcXCJcIlxuICAgICsgYWxpYXMzKGFsaWFzMigoKHN0YWNrMSA9ICgoc3RhY2sxID0gKGRlcHRoMCAhPSBudWxsID8gZGVwdGgwLm9wdGlvbnMgOiBkZXB0aDApKSAhPSBudWxsID8gc3RhY2sxLnN0eWxlcyA6IHN0YWNrMSkpICE9IG51bGwgPyBzdGFjazEud2ViUGxheWVyIDogc3RhY2sxKSwgZGVwdGgwKSlcbiAgICArIFwiIGVtYmVkLXJlc3BvbnNpdmUtaXRlbVxcXCIgaWQ9XFxcIlwiXG4gICAgKyBhbGlhczMoYWxpYXMyKCgoc3RhY2sxID0gKGRlcHRoMCAhPSBudWxsID8gZGVwdGgwLm9wdGlvbnMgOiBkZXB0aDApKSAhPSBudWxsID8gc3RhY2sxLmlkIDogc3RhY2sxKSwgZGVwdGgwKSlcbiAgICArIFwiXFxcIiBhbGxvd2Z1bGxzY3JlZW4gd2Via2l0YWxsb3dmdWxsc2NyZWVuIG1vemFsbG93ZnVsbHNjcmVlbiBhbGxvdz1cXFwiYXV0b3BsYXk7IGZ1bGxzY3JlZW5cXFwiIGZyYW1lYm9yZGVyPVxcXCIwXFxcIiB3aWR0aD1cXFwiXCJcbiAgICArIGFsaWFzMyhhbGlhczIoKChzdGFjazEgPSAoZGVwdGgwICE9IG51bGwgPyBkZXB0aDAub3B0aW9ucyA6IGRlcHRoMCkpICE9IG51bGwgPyBzdGFjazEud2lkdGggOiBzdGFjazEpLCBkZXB0aDApKVxuICAgICsgXCJcXFwiIGhlaWdodD1cXFwiXCJcbiAgICArIGFsaWFzMyhhbGlhczIoKChzdGFjazEgPSAoZGVwdGgwICE9IG51bGwgPyBkZXB0aDAub3B0aW9ucyA6IGRlcHRoMCkpICE9IG51bGwgPyBzdGFjazEuaGVpZ2h0IDogc3RhY2sxKSwgZGVwdGgwKSlcbiAgICArIFwiXFxcIiBzcmM9XFxcIlwiXG4gICAgKyBhbGlhczMoYWxpYXMyKCgoc3RhY2sxID0gKGRlcHRoMCAhPSBudWxsID8gZGVwdGgwLm9wdGlvbnMgOiBkZXB0aDApKSAhPSBudWxsID8gc3RhY2sxLnVybCA6IHN0YWNrMSksIGRlcHRoMCkpXG4gICAgKyBcIlxcXCI+PC9pZnJhbWU+XFxyXFxuPGRpdiBjbGFzcz1cXFwiXCJcbiAgICArIGFsaWFzMyhhbGlhczIoKChzdGFjazEgPSAoKHN0YWNrMSA9IChkZXB0aDAgIT0gbnVsbCA/IGRlcHRoMC5vcHRpb25zIDogZGVwdGgwKSkgIT0gbnVsbCA/IHN0YWNrMS5zdHlsZXMgOiBzdGFjazEpKSAhPSBudWxsID8gc3RhY2sxLnN2Z0NvbnRhaW5lciA6IHN0YWNrMSksIGRlcHRoMCkpXG4gICAgKyBcIlxcXCI+XCJcbiAgICArICgoc3RhY2sxID0gYWxpYXMyKCgoc3RhY2sxID0gKGRlcHRoMCAhPSBudWxsID8gZGVwdGgwLm9wdGlvbnMgOiBkZXB0aDApKSAhPSBudWxsID8gc3RhY2sxLnBsYXlTdmcgOiBzdGFjazEpLCBkZXB0aDApKSAhPSBudWxsID8gc3RhY2sxIDogXCJcIilcbiAgICArIFwiPC9kaXY+XCI7XG59LFwidXNlRGF0YVwiOnRydWV9KTsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/shared/components/web-player/WebPlayer.handlebars\n");
|
|
31
|
+
|
|
32
|
+
/***/ }),
|
|
33
|
+
|
|
34
|
+
/***/ "./src/shared/components/web-player/WebPlayerComponent.ts":
|
|
35
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
36
|
+
|
|
37
|
+
"use strict";
|
|
38
|
+
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\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _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); 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 } }); 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; } 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 { Date.prototype.toString.call(Reflect.construct(Date, [], 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: \"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 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 // Hide fullscreen button\n\n },\n webPlayerHost: this.options.webPlayerUrl\n };\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc2hhcmVkL2NvbXBvbmVudHMvd2ViLXBsYXllci9XZWJQbGF5ZXJDb21wb25lbnQudHMuanMiLCJzb3VyY2VzIjpbImZpbGU6Ly9DOi9DbGlja1ZpZXcgUHJvamVjdHMvY2xpY2t2aWV3L3BhY2thZ2VzL3Byb2plY3RzL2xpYnJhcnktZWRpdG9yL3NyYy9zaGFyZWQvY29tcG9uZW50cy93ZWItcGxheWVyL1dlYlBsYXllckNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBfIGZyb20gJ3VuZGVyc2NvcmUnO1xyXG5pbXBvcnQgeyBPYmplY3RIYXNoLCBSYWRpbyB9IGZyb20gJ2JhY2tib25lJztcclxuaW1wb3J0IHsgc2lnblVybCB9IGZyb20gJ0BjbGlja3ZpZXcvdXJsLXNpZ25lcic7XHJcblxyXG5pbXBvcnQgeyBXZWJwbGF5ZXJFdmVudHMgfSBmcm9tICdsaWJzL2NvbW1vbi9iYWNrYm9uZS9jb25zdGFudHMvV2VicGxheWVyJztcclxuaW1wb3J0IHsgQ29yZSB9IGZyb20gJ2xpYnMvY29tbW9uL2NvcmUnO1xyXG5pbXBvcnQgeyBWaWV3TW9kZWxTZXJ2aWNlIH0gZnJvbSAnbGlicy9jb21tb24vYmFja2JvbmUvc2VydmljZXMvVmlld01vZGVsU2VydmljZSc7XHJcbmltcG9ydCB7IERldkVycm9yIH0gZnJvbSAnbGlicy9jb21tb24vYmFja2JvbmUvZXJyb3JzL0RldkVycm9yJztcclxuaW1wb3J0IHsgVXJsSGVscGVyIH0gZnJvbSAnbGlicy9jb21tb24vYmFja2JvbmUvdXRpbHMvVXJsSGVscGVyJztcclxuaW1wb3J0IHsgU3ZnSGVscGVyLCBjdlN2Z0xpYnJhcnkgfSBmcm9tICdsaWJzL3NoYXJlZC91dGlscy9TdmdIZWxwZXInO1xyXG5cclxuaW1wb3J0IHsgQ1ZFdmVudHNBcGkgfSBmcm9tICdDVkV2ZW50cyc7XHJcblxyXG5pbXBvcnQgeyBWaWRlbyB9IGZyb20gJ3NoYXJlZC9tb2RlbHMvVmlkZW8nO1xyXG5pbXBvcnQgeyBXZWJwbGF5ZXIgfSBmcm9tICdzaGFyZWQvY29uc3RhbnRzJztcclxuaW1wb3J0IHsgQW5hbHl0aWNzT3B0aW9ucyB9IGZyb20gJ2xpYnMvYW5hbHl0aWNzL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBWaWRlb0FuYWx5dGljc1RyYWNrZXIgfSBmcm9tICdsaWJzL2FuYWx5dGljcy91dGlscy9WaWRlb0FuYWx5dGljc1RyYWNrZXInO1xyXG5cclxuaW1wb3J0IFdlYlBsYXllclRlbXBsYXRlIGZyb20gJy4vV2ViUGxheWVyLmhhbmRsZWJhcnMnO1xyXG5pbXBvcnQgc3R5bGVzIGZyb20gJy4vd2VicGxheWVyLnNjc3MnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBXZWJQbGF5ZXJDb21wb25lbnRPcHRpb25zIGV4dGVuZHMgQ29yZS5Db21wb25lbnRPcHRpb25zPFZpZGVvPiB7XHJcbiAgaXNQcmV2aWV3PzogYm9vbGVhbjtcclxuICBhdXRvcGxheT86IGJvb2xlYW47XHJcbiAgcGFyZW50Q2hhbm5lbE5hbWU/OiBzdHJpbmc7XHJcbiAgd2ViUGxheWVyVXJsOiBzdHJpbmc7XHJcbiAgc2hvd0RldmljZXNCdXR0b24/OiBib29sZWFuO1xyXG4gIGNhcHR1cmVBbmFseXRpY3M/OiBib29sZWFuO1xyXG4gIGFuYWx5dGljc09wdGlvbnM/OiBBbmFseXRpY3NPcHRpb25zO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgV2ViUGxheWVyQ29tcG9uZW50IGV4dGVuZHMgQ29yZS5Db21wb25lbnQ8VmlkZW8+IHtcclxuICBwcm90ZWN0ZWQgb3B0aW9uczogV2ViUGxheWVyQ29tcG9uZW50T3B0aW9ucztcclxuXHJcbiAgcHVibGljIHZpZXdNb2RlbDogQ29yZS5Nb2RlbDtcclxuICBwcml2YXRlIGV2ZW50c0FwaTogQ1ZFdmVudHNBcGk7XHJcbiAgcHJpdmF0ZSBlbmFibGVJZUZzOiBib29sZWFuO1xyXG4gIHByaXZhdGUgaXNQcmV2aWV3OiBib29sZWFuO1xyXG4gIHByaXZhdGUgaWZyYW1lUmVhZHk6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSB0cmFja2VyOiBWaWRlb0FuYWx5dGljc1RyYWNrZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM/OiBXZWJQbGF5ZXJDb21wb25lbnRPcHRpb25zKSB7XHJcbiAgICBzdXBlcihvcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZWxlbWVudHMoKTogT2JqZWN0SGFzaCB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBpZnJhbWU6ICdpZnJhbWUnXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBuYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJ1dlYlBsYXllclZpZXcnO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB0ZW1wbGF0ZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIFdlYlBsYXllclRlbXBsYXRlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjbGFzc05hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgJHtzdHlsZXMud2ViUGxheWVyQ29udGFpbmVyfSBlbWJlZC1yZXNwb25zaXZlIGVtYmVkLXJlc3BvbnNpdmUtMTZieTlgO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjaGFubmVsTmFtZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke3RoaXMubmFtZX0ke3RoaXMuY2lkfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGRlZmF1bHRzKCk6IE9iamVjdEhhc2gge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY2FwdHVyZUFuYWx5dGljczogdHJ1ZSxcclxuICAgICAgc2hvd0RldmljZXNCdXR0b246IGZhbHNlXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXQgdmlld01vZGVsRGVmYXVsdHMoKTogT2JqZWN0SGFzaCB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB3aWR0aDogNjQwLFxyXG4gICAgICBoZWlnaHQ6IDM2MCxcclxuICAgICAgYXV0b3BsYXk6ICEhdGhpcy5vcHRpb25zLmF1dG9wbGF5LFxyXG4gICAgICBwYXJhbWV0ZXJzOiB7XHJcbiAgICAgICAgczogZmFsc2UsIC8vIEhpZGUgdGhlIHNwbGFzaFxyXG4gICAgICAgIGJjOiBmYWxzZSwgLy8gSGlkZSBjaGFwdGVycyBhbmQgcmVzb3VyY2VzXHJcbiAgICAgICAgYmY6IGZhbHNlIC8vIEhpZGUgZnVsbHNjcmVlbiBidXR0b25cclxuICAgICAgfSxcclxuICAgICAgd2ViUGxheWVySG9zdDogdGhpcy5vcHRpb25zLndlYlBsYXllclVybFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbml0aWFsaXplKCk6IHZvaWQge1xyXG4gICAgdGhpcy5lbmFibGVJZUZzID0gdGhpcy5pc1RvcCgpO1xyXG5cclxuICAgIHRoaXMuZ2V0Vmlld01vZGVsKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2Vla1RvKHRpbWU6IG51bWJlcik6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZXZlbnRzQXBpKVxyXG4gICAgICB0aGlzLmV2ZW50c0FwaS50cmlnZ2VyKFdlYnBsYXllckV2ZW50cy5UUklHR0VSLlNFRUtfVE8sIHRpbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlZWtUb0NoYXB0ZXIoY2hhcHRlckluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmV2ZW50c0FwaSlcclxuICAgICAgdGhpcy5ldmVudHNBcGkudHJpZ2dlcignY3YtcGxheWVyLWNoYW5nZWNoYXB0ZXInLCBjaGFwdGVySW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRWaWV3TW9kZWwoKTogdm9pZCB7XHJcbiAgICBsZXQgaWQgPSB0aGlzLm1vZGVsLmdldCgnaWQnKTtcclxuXHJcbiAgICBpZiAoIWlkKVxyXG4gICAgICBpZCA9IHRoaXMubW9kZWwuZ2V0KCd0cmFja2luZ0NvZGUnKTtcclxuXHJcbiAgICB0aGlzLnZpZXdNb2RlbCA9IFZpZXdNb2RlbFNlcnZpY2UuZ2V0KGAke1dlYnBsYXllci5OQU1FfS0ke2lkfWApO1xyXG5cclxuICAgIGlmICghdGhpcy52aWV3TW9kZWwuZ2V0KCdpbml0aWFsaXplZCcpKVxyXG4gICAgICB0aGlzLmluaXRWaWV3TW9kZWwoKTtcclxuXHJcbiAgICB0aGlzLnNldFVybCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0Vmlld01vZGVsKCk6IHZvaWQge1xyXG4gICAgbGV0IHZpZGVvTW9kZWwgPSB0aGlzLm1vZGVsLnBpY2soJ2lkJyk7XHJcblxyXG4gICAgaWYgKCF2aWRlb01vZGVsLmlkKVxyXG4gICAgICB2aWRlb01vZGVsID0gdGhpcy5tb2RlbC5waWNrKCd0cmFja2luZ0NvZGUnKTtcclxuXHJcbiAgICBpZiAoIXZpZGVvTW9kZWwuaWQgJiYgIXZpZGVvTW9kZWwudHJhY2tpbmdDb2RlKSB7XHJcbiAgICAgIENvcmUuRXJyb3JIZWxwZXIudGhyb3cobmV3IERldkVycm9yKGBNdXN0IHByb3ZpZGUgZWl0aGVyIGEgbWFzdGVyIGlkIG9yIGEgdHJhY2tpbmcgY29kZSB0byAke3RoaXMubmFtZX1gKSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgYXR0cnMgPSBfLmV4dGVuZCh7fSxcclxuICAgICAgdGhpcy52aWV3TW9kZWxEZWZhdWx0cyxcclxuICAgICAgdmlkZW9Nb2RlbCxcclxuICAgICAgdGhpcy52aWV3TW9kZWwudG9KU09OKCksXHJcbiAgICAgIHtcclxuICAgICAgICBpbml0aWFsaXplZDogdHJ1ZVxyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMudmlld01vZGVsLnNldChhdHRycyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRXZWJQbGF5ZXJFdmVudHMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZW5hYmxlSWVGcykgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0ICRpZnJhbWUgPSB0aGlzLmdldFVJKCdpZnJhbWUnKTtcclxuICAgIGlmICghJGlmcmFtZSB8fCAkaWZyYW1lLmxlbmd0aCA9PT0gMClcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgICRpZnJhbWUub24oJ2xvYWQnLCB0aGlzLmJpbmRXZWJQbGF5ZXJFdmVudHMuYmluZCh0aGlzKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGJpbmRXZWJQbGF5ZXJFdmVudHMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pZnJhbWVSZWFkeSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IGlmcmFtZSA9IHRoaXMuZ2V0VUkoJ2lmcmFtZScpLmdldCgwKSBhcyBIVE1MSUZyYW1lRWxlbWVudDtcclxuXHJcbiAgICB0aGlzLmV2ZW50c0FwaSA9IG5ldyBDVkV2ZW50c0FwaShpZnJhbWUuY29udGVudFdpbmRvdyk7XHJcblxyXG4gICAgLy8gUGluZyB0byBzZWUgaWYgd2UgYXJlIHJlYWR5XHJcbiAgICB0aGlzLmV2ZW50c0FwaS5vbihXZWJwbGF5ZXJFdmVudHMuUkVDRUlWRS5QT05HLCB0aGlzLm9uUG9uZy5iaW5kKHRoaXMpKTtcclxuICAgIHRoaXMuZXZlbnRzQXBpLnRyaWdnZXIoV2VicGxheWVyRXZlbnRzLlRSSUdHRVIuUElORyk7XHJcblxyXG4gICAgLy8gQmluZCBldmVudHNcclxuICAgIHRoaXMuZXZlbnRzQXBpLm9uKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLkZVTExTQ1JFRU5fQ0xJQ0ssIHRoaXMub25GdWxsc2NyZWVuQ2hhbmdlLmJpbmQodGhpcykpO1xyXG4gICAgdGhpcy5ldmVudHNBcGkudHJpZ2dlcihXZWJwbGF5ZXJFdmVudHMuVFJJR0dFUi5TSE9XX0ZTX0JUTik7XHJcblxyXG4gICAgdGhpcy5ldmVudHNBcGkub24oV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuVElNRV9VUERBVEUsIHRoaXMub25UaW1lVXBkYXRlLmJpbmQodGhpcykpO1xyXG4gICAgdGhpcy5ldmVudHNBcGkub24oV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuUExBWSwgdGhpcy5vblBsYXkuYmluZCh0aGlzKSk7XHJcbiAgICB0aGlzLmV2ZW50c0FwaS5vbihXZWJwbGF5ZXJFdmVudHMuUkVDRUlWRS5QQVVTRSwgdGhpcy5vblBhdXNlLmJpbmQodGhpcykpO1xyXG4gICAgdGhpcy5ldmVudHNBcGkub24oV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuVklERU9fRU5ELCB0aGlzLm9uRW5kZWQuYmluZCh0aGlzKSk7XHJcblxyXG4gICAgLy8gVE9ETzogUHVzaCB0byBkZXZpY2UgaXMgbm90IHlldCBzdXBwb3J0ZWQgaW4gTEUuIEFsc28gbmVlZHMgdG8gY2hlY2sgdGhlIHVzZXIgaXMgYW4gQWRtaW4uXHJcbiAgICAvLyBVcGRhdGUgZGVmYXVsdCBpbiBmdXR1cmUuIFxyXG4gICAgaWYgKHRoaXMub3B0aW9ucy5zaG93RGV2aWNlc0J1dHRvbikge1xyXG4gICAgICB0aGlzLmV2ZW50c0FwaS5vbihXZWJwbGF5ZXJFdmVudHMuUkVDRUlWRS5ERVZJQ0VTX0JUTl9DTElDSywgdGhpcy5zaG93RGV2aWNlVG9nZ2xlLmJpbmQodGhpcykpO1xyXG4gICAgICB0aGlzLmV2ZW50c0FwaS50cmlnZ2VyKFdlYnBsYXllckV2ZW50cy5UUklHR0VSLlNIT1dfREVWSUNFU19CVE4pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9wdGlvbnMuY2FwdHVyZUFuYWx5dGljcylcclxuICAgICAgdGhpcy50cmFja2VyID0gbmV3IFZpZGVvQW5hbHl0aWNzVHJhY2tlcih7XHJcbiAgICAgICAgdmlkZW86IHRoaXMubW9kZWwudG9KU09OKCksXHJcbiAgICAgICAgZXZlbnRzQXBpOiB0aGlzLmV2ZW50c0FwaSxcclxuICAgICAgICBhbmFseXRpY3NPcHRpb25zOiB0aGlzLm9wdGlvbnMuYW5hbHl0aWNzT3B0aW9uc1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdW5iaW5kV2ViUGxheWVyRXZlbnRzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmV2ZW50c0FwaSkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuZXZlbnRzQXBpLm9mZihXZWJwbGF5ZXJFdmVudHMuUkVDRUlWRS5GVUxMU0NSRUVOX0NMSUNLKTtcclxuICAgIHRoaXMuZXZlbnRzQXBpLm9mZihXZWJwbGF5ZXJFdmVudHMuUkVDRUlWRS5USU1FX1VQREFURSk7XHJcbiAgICB0aGlzLmV2ZW50c0FwaS5vZmYoV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuUExBWSk7XHJcbiAgICB0aGlzLmV2ZW50c0FwaS5vZmYoV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuUEFVU0UpO1xyXG4gICAgdGhpcy5ldmVudHNBcGkub2ZmKFdlYnBsYXllckV2ZW50cy5SRUNFSVZFLlZJREVPX0VORCk7XHJcbiAgICB0aGlzLmV2ZW50c0FwaS5vZmYoV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuUE9ORyk7XHJcbiAgICB0aGlzLmV2ZW50c0FwaS5vZmYoV2VicGxheWVyRXZlbnRzLlJFQ0VJVkUuREVWSUNFU19CVE5fQ0xJQ0spO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRVcmwoKTogdm9pZCB7XHJcbiAgICBjb25zdCB3ZWJQbGF5ZXJIb3N0ID0gYCR7dGhpcy52aWV3TW9kZWwuZ2V0KCd3ZWJQbGF5ZXJIb3N0Jyl9ZW1iZWRgO1xyXG5cclxuICAgIGNvbnN0IHJlc2VydmVkUGFyYW1zID0gWyAncCcsICd2aWQnIF07XHJcbiAgICBjb25zdCB3ZWJQbGF5ZXJQYXJhbXMgPSBfLm9taXQodGhpcy52aWV3TW9kZWwuZ2V0KCdwYXJhbWV0ZXJzJyksIHJlc2VydmVkUGFyYW1zKSB8fCB7fTtcclxuXHJcbiAgICB3ZWJQbGF5ZXJQYXJhbXMuYSA9ICEhdGhpcy52aWV3TW9kZWwuZ2V0KCdhdXRvcGxheScpO1xyXG5cclxuICAgIGNvbnN0IGlkID0gdGhpcy52aWV3TW9kZWwuZ2V0KCdpZCcpO1xyXG5cclxuICAgIGlmIChpZClcclxuICAgICAgd2ViUGxheWVyUGFyYW1zLnZpZCA9IGlkO1xyXG5cclxuICAgIGNvbnN0IHRyYWNraW5nQ29kZSA9IHRoaXMudmlld01vZGVsLmdldCgndHJhY2tpbmdDb2RlJyk7XHJcblxyXG4gICAgaWYgKHRyYWNraW5nQ29kZSlcclxuICAgICAgd2ViUGxheWVyUGFyYW1zLnAgPSB0cmFja2luZ0NvZGU7XHJcblxyXG4gICAgaWYgKHRoaXMudmlld01vZGVsLmdldCgnY3VycmVudHRpbWUnKSkge1xyXG4gICAgICB3ZWJQbGF5ZXJQYXJhbXMudCA9IHRoaXMudmlld01vZGVsLmdldCgnY3VycmVudHRpbWUnKTtcclxuICAgICAgd2ViUGxheWVyUGFyYW1zLmEgPSAhdGhpcy52aWV3TW9kZWwuZ2V0KCdwYXVzZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB1cmwgPSBVcmxIZWxwZXIudXJsQnVpbGRlcih3ZWJQbGF5ZXJIb3N0LCB3ZWJQbGF5ZXJQYXJhbXMpO1xyXG4gICAgY29uc3Qgc2lnbmVkVXJsID0gc2lnblVybCh1cmwsIHsgdGltZXN0YW1wOiB0cnVlIH0pO1xyXG5cclxuICAgIHRoaXMudmlld01vZGVsLnNldCh7IHVybDogc2lnbmVkVXJsIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc1RvcCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB3aW5kb3cudG9wID09PSB3aW5kb3c7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uVGltZVVwZGF0ZShlOiBKUXVlcnkuRXZlbnQsIHRpbWU6IERhdGUpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld01vZGVsLnNldCgncmVhZHknLCB0cnVlKTtcclxuICAgIHRoaXMudmlld01vZGVsLnNldCgnY3VycmVudHRpbWUnLCB0aW1lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25QbGF5KCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3TW9kZWwuc2V0KCdyZWFkeScsIHRydWUpO1xyXG4gICAgdGhpcy52aWV3TW9kZWwuc2V0KCdwYXVzZWQnLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uUGF1c2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdNb2RlbC5zZXQoJ3JlYWR5JywgdHJ1ZSk7XHJcbiAgICB0aGlzLnZpZXdNb2RlbC5zZXQoJ3BhdXNlZCcsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkVuZGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3TW9kZWwudHJpZ2dlcignZW5kZWQnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25Qb25nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pZnJhbWVSZWFkeSA9IHRydWU7XHJcbiAgICB0aGlzLnZpZXdNb2RlbC5zZXQoJ3JlYWR5JywgdHJ1ZSk7XHJcblxyXG4gICAgY29uc3QgY2hhbm5lbCA9IFJhZGlvLmNoYW5uZWwodGhpcy5jaGFubmVsTmFtZSk7XHJcbiAgICBjaGFubmVsLnRyaWdnZXIoJ2xvYWRlZCcpO1xyXG5cclxuICAgIC8vIE5vdGlmeSBhbnkgcGFyZW50IGNvbXBvbmVudHMgb25jZSB0aGUgd2VicGFseWVyIGlzIHJlYWR5XHJcbiAgICBpZiAodGhpcy5vcHRpb25zLnBhcmVudENoYW5uZWxOYW1lKVxyXG4gICAgICBSYWRpby5jaGFubmVsKHRoaXMub3B0aW9ucy5wYXJlbnRDaGFubmVsTmFtZSkudHJpZ2dlcignd2VicGxheWVyOmxvYWRlZCcpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkZ1bGxzY3JlZW5DaGFuZ2UoZTogSlF1ZXJ5LkV2ZW50LCBpc0ZzOiBib29sZWFuLCBoYXNGc0FwaTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKGlzRnMpIHtcclxuICAgICAgdGhpcy5yZXF1ZXN0RnMoaGFzRnNBcGkpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jYW5jZWxGcyhoYXNGc0FwaSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlcXVlc3RGcyhoYXNGc0FwaTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy8gSWYgdGhlIHJlcXVlc3Qgd2Fzbid0IHNlbnQgdXNpbmcgdGhlIGZ1bGxzY3JlZW4gQVBJLCBhZGQgdGhlIGZzIGNsYXNzXHJcbiAgICBpZiAoIWhhc0ZzQXBpKVxyXG4gICAgICAkKCdodG1sJykuYWRkQ2xhc3MoJ3BsYXllci1mdWxsc2NyZWVuJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNhbmNlbEZzKGhhc0ZzQXBpOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAvLyBJZiB0aGUgcmVxdWVzdCB3YXNuJ3Qgc2VudCB1c2luZyB0aGUgZnVsbHNjcmVlbiBBUEksIGFkZCB0aGUgZnMgY2xhc3NcclxuICAgIGlmICghaGFzRnNBcGkpXHJcbiAgICAgICQoJ2h0bWwnKS5yZW1vdmVDbGFzcygncGxheWVyLWZ1bGxzY3JlZW4nKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2hvd0RldmljZVRvZ2dsZShzaG91bGRTaG93OiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdNb2RlbC50cmlnZ2VyKCdzaG93RGV2aWNlcycsICEhc2hvdWxkU2hvdyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcXVlcnkocXVlcnlOYW1lOiBzdHJpbmcsIGNhbGxiYWNrOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5pZnJhbWVSZWFkeSkge1xyXG4gICAgICB0aGlzLmxpc3RlblRvT25jZSh0aGlzLmNoYW5uZWxOYW1lLCAnbG9hZGVkJywgKCkgPT4gdGhpcy5xdWVyeShxdWVyeU5hbWUsIGNhbGxiYWNrKSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB1bmlxdWVJZCA9IF8udW5pcXVlSWQoYGN2ZXZlbnRzYXBpYCk7XHJcblxyXG4gICAgdGhpcy5ldmVudHNBcGkub25lKGAke1dlYnBsYXllckV2ZW50cy5SRUNFSVZFLlFVRVJZX0NBTExCQUNLfS0ke3VuaXF1ZUlkfWAsIChldmVudDogYW55LCBkYXRhOiBhbnkpID0+IHtcclxuICAgICAgY2FsbGJhY2soZGF0YSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmV2ZW50c0FwaS50cmlnZ2VyKFdlYnBsYXllckV2ZW50cy5UUklHR0VSLlFVRVJZLCBxdWVyeU5hbWUsIHVuaXF1ZUlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB2aWV3T3B0aW9ucygpOiBPYmplY3RIYXNoIHtcclxuICAgIHJldHVybiBfLmV4dGVuZCh7fSxcclxuICAgICAge1xyXG4gICAgICAgIHN0eWxlcyxcclxuICAgICAgICBwbGF5U3ZnOiBTdmdIZWxwZXIuZ2V0U3ZnKGN2U3ZnTGlicmFyeS5QbGF5KSxcclxuICAgICAgfSxcclxuICAgICAgdGhpcy52aWV3TW9kZWwudG9KU09OKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25SZW5kZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRXZWJQbGF5ZXJFdmVudHMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkJlZm9yZURlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnVuYmluZFdlYlBsYXllckV2ZW50cygpO1xyXG5cclxuICAgIC8vIENsZWFuIHVwIG91ciBhbmFseXRpY3MgdHJhY2tlclxyXG4gICAgaWYgKHRoaXMudHJhY2tlcilcclxuICAgICAgdGhpcy50cmFja2VyLmRlc3Ryb3koKTtcclxuICB9XHJcbn0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFHQTtBQUVBO0FBRUE7QUFDQTtBQVlBO0FBQUE7QUFDQTtBQURBO0FBQ0E7QUFTQTtBQUFBO0FBQ0E7QUFEQTtBQUVBO0FBQ0E7QUFiQTtBQUFBO0FBQUE7QUEwREE7QUFFQTtBQUNBO0FBN0RBO0FBQUE7QUFBQTtBQWdFQTtBQUVBO0FBbEVBO0FBQUE7QUFBQTtBQXFFQTtBQUVBO0FBdkVBO0FBQUE7QUFBQTtBQTBFQTtBQUVBO0FBR0E7QUFFQTtBQUdBO0FBQ0E7QUFyRkE7QUFBQTtBQUFBO0FBd0ZBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQTtBQURBO0FBQ0E7QUFJQTtBQUNBO0FBM0dBO0FBQUE7QUFBQTtBQThHQTtBQUVBO0FBQ0E7QUFHQTtBQUNBO0FBckhBO0FBQUE7QUFBQTtBQXdIQTtBQUdBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFIQTtBQUtBO0FBekpBO0FBQUE7QUFBQTtBQTRKQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFyS0E7QUFBQTtBQUFBO0FBd0tBO0FBRUE7QUFDQTtBQUVBO0FBRUE7QUFFQTtBQUdBO0FBRUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBbE1BO0FBQUE7QUFBQTtBQXFNQTtBQUNBO0FBdE1BO0FBQUE7QUFBQTtBQXlNQTtBQUNBO0FBQ0E7QUEzTUE7QUFBQTtBQUFBO0FBOE1BO0FBQ0E7QUFDQTtBQWhOQTtBQUFBO0FBQUE7QUFtTkE7QUFDQTtBQUNBO0FBck5BO0FBQUE7QUFBQTtBQXdOQTtBQUNBO0FBek5BO0FBQUE7QUFBQTtBQTROQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQXJPQTtBQUFBO0FBQUE7QUF3T0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUE5T0E7QUFBQTtBQUFBO0FBaVBBO0FBQ0E7QUFFQTtBQXBQQTtBQUFBO0FBQUE7QUF1UEE7QUFDQTtBQUVBO0FBMVBBO0FBQUE7QUFBQTtBQTZQQTtBQUNBO0FBOVBBO0FBQUE7QUFBQTtBQWdRQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQTdRQTtBQUFBO0FBQUE7QUFnUkE7QUFFQTtBQUNBO0FBRkE7QUFNQTtBQXZSQTtBQUFBO0FBQUE7QUEwUkE7QUFDQTtBQTNSQTtBQUFBO0FBQUE7QUE4UkE7QUFDQTtBQUVBO0FBRUE7QUFuU0E7QUFBQTtBQUFBO0FBZUE7QUFDQTtBQURBO0FBR0E7QUFsQkE7QUFBQTtBQUFBO0FBcUJBO0FBQ0E7QUF0QkE7QUFBQTtBQUFBO0FBeUJBO0FBQ0E7QUExQkE7QUFBQTtBQUFBO0FBNkJBO0FBQ0E7QUE5QkE7QUFBQTtBQUFBO0FBaUNBO0FBQ0E7QUFsQ0E7QUFBQTtBQUFBO0FBcUNBO0FBQ0E7QUFDQTtBQUZBO0FBSUE7QUF6Q0E7QUFBQTtBQUFBO0FBNENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUpBO0FBS0E7QUFUQTtBQVdBO0FBdkRBO0FBQ0E7QUFEQTtBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/shared/components/web-player/WebPlayerComponent.ts\n");
|
|
39
|
+
|
|
40
|
+
/***/ }),
|
|
41
|
+
|
|
42
|
+
/***/ "./src/shared/components/web-player/webplayer.scss":
|
|
43
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
44
|
+
|
|
45
|
+
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc2hhcmVkL2NvbXBvbmVudHMvd2ViLXBsYXllci93ZWJwbGF5ZXIuc2Nzcy5qcyIsInNvdXJjZXMiOlsiZmlsZTovL0M6L0NsaWNrVmlldyBQcm9qZWN0cy9jbGlja3ZpZXcvcGFja2FnZXMvcHJvamVjdHMvbGlicmFyeS1lZGl0b3Ivc3JjL3NoYXJlZC9jb21wb25lbnRzL3dlYi1wbGF5ZXIvd2VicGxheWVyLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5tb2R1bGUuZXhwb3J0cyA9IHtcIndlYlBsYXllckNvbnRhaW5lclwiOlwiY3YtLXdlYlBsYXllckNvbnRhaW5lci0tMlM0VkZcIixcIndlYlBsYXllclwiOlwiY3YtLXdlYlBsYXllci0tMzU2OUxcIixcInN2Z0NvbnRhaW5lclwiOlwiY3YtLXN2Z0NvbnRhaW5lci0tMVdzeERcIn07Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/shared/components/web-player/webplayer.scss\n");
|
|
46
|
+
|
|
47
|
+
/***/ })
|
|
48
|
+
|
|
49
|
+
}]);
|