{"version":3,"file":"js/app-legacy.4e755935.js","mappings":"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","sources":["webpack://yucca/./src/components/YccLogo.vue?0b37","webpack://yucca/src/components/YccLogo.vue","webpack://yucca/./src/components/YccLogo.vue?0171","webpack://yucca/./src/components/YccLogo.vue","webpack://yucca/./src/components/ycc-alert/YccAlert.vue?4674","webpack://yucca/./src/components/ycc-alert/alertCssClasses.js","webpack://yucca/src/components/ycc-alert/YccAlert.vue","webpack://yucca/./src/components/ycc-alert/YccAlert.vue?4881","webpack://yucca/./src/components/ycc-alert/YccAlert.vue","webpack://yucca/./src/components/ycc-datepicker/YccDatepickerContent.vue?a9ee","webpack://yucca/./src/components/ycc-datepicker/YccCalendar.vue?a860","webpack://yucca/./src/components/ycc-datepicker/YccCalendarControls.vue?5d21","webpack://yucca/src/components/ycc-datepicker/YccCalendarControls.vue","webpack://yucca/./src/components/ycc-datepicker/YccCalendarControls.vue?7611","webpack://yucca/./src/components/ycc-datepicker/YccCalendarControls.vue","webpack://yucca/./src/extends/PropertyError.js","webpack://yucca/src/components/ycc-datepicker/YccCalendar.vue","webpack://yucca/./src/components/ycc-datepicker/YccCalendar.vue?0a35","webpack://yucca/./src/components/ycc-datepicker/YccCalendar.vue","webpack://yucca/src/components/ycc-datepicker/YccDatepickerContent.vue","webpack://yucca/./src/components/ycc-datepicker/YccDatepickerContent.vue?4309","webpack://yucca/./src/components/ycc-datepicker/YccDatepickerContent.vue","webpack://yucca/./src/components/ycc-dropdown/YccDropdown.vue?f61a","webpack://yucca/./src/components/ycc-dropdown/constants.js","webpack://yucca/src/components/ycc-dropdown/YccDropdown.vue","webpack://yucca/./src/components/ycc-dropdown/YccDropdown.vue?e67c","webpack://yucca/./src/components/ycc-dropdown/YccDropdown.vue","webpack://yucca/./src/components/ycc-hint/YccHint.vue?73b9","webpack://yucca/src/components/ycc-hint/YccHint.vue","webpack://yucca/./src/components/ycc-hint/YccHint.vue?f302","webpack://yucca/./src/components/ycc-hint/YccHint.vue","webpack://yucca/./src/components/ycc-validation-error/YccValidationError.vue?9b41","webpack://yucca/src/components/ycc-validation-error/YccValidationError.vue","webpack://yucca/./src/components/ycc-validation-error/YccValidationError.vue?1a4d","webpack://yucca/./src/components/ycc-validation-error/YccValidationError.vue","webpack://yucca/./src/components/ycc-alert/names.js","webpack://yucca/./src/components/ycc-datepicker/constants.js","webpack://yucca/./src/components/ycc-player/constants.js","webpack://yucca/./src/components/ycc-player/extends/componentIds.js","webpack://yucca/./src/config/httpClient.js","webpack://yucca/./src/constants/api.js","webpack://yucca/./src/constants/errorTypes.js","webpack://yucca/./src/constants/links.js","webpack://yucca/./src/constants/main.js","webpack://yucca/./src/constants/noticeTypes.js","webpack://yucca/./src/constants/pages.js","webpack://yucca/./src/constants/positionConstants.js","webpack://yucca/./src/extends/browserEnv.js","webpack://yucca/./src/extends/lib.js","webpack://yucca/./src/extends/StorageAdapter.js","webpack://yucca/./src/extends/storageServices.js","webpack://yucca/./src/config/yccBootConfig.js","webpack://yucca/./src/config/translations.js","webpack://yucca/./src/config/gettextOptions.js","webpack://yucca/./src/extends/YccConfigPlugin.js","webpack://yucca/./src/App.vue?2fe6","webpack://yucca/./src/extends/cookieService.js","webpack://yucca/./src/components/ycc-layout/YccLayout.vue?641a","webpack://yucca/./src/components/ycc-toolbar/YccToolbar.vue?f437","webpack://yucca/src/components/ycc-toolbar/YccToolbar.vue","webpack://yucca/./src/components/ycc-toolbar/YccToolbar.vue?0b67","webpack://yucca/./src/components/ycc-toolbar/YccToolbar.vue","webpack://yucca/./src/components/ycc-header/YccHeader.vue?8252","webpack://yucca/./src/constants/pageNames.js","webpack://yucca/./src/components/ycc-header/YccHeaderMenu.vue?8ec4","webpack://yucca/src/components/ycc-header/YccHeaderMenu.vue","webpack://yucca/./src/components/ycc-header/YccHeaderMenu.vue?ae94","webpack://yucca/./src/components/ycc-header/YccHeaderMenu.vue","webpack://yucca/src/components/ycc-header/YccHeader.vue","webpack://yucca/./src/components/ycc-header/YccHeader.vue?c7f5","webpack://yucca/./src/components/ycc-header/YccHeader.vue","webpack://yucca/src/components/ycc-layout/YccLayout.vue","webpack://yucca/./src/components/ycc-layout/YccLayout.vue?078f","webpack://yucca/./src/components/ycc-layout/YccLayout.vue","webpack://yucca/src/App.vue","webpack://yucca/./src/App.vue?facb","webpack://yucca/./src/App.vue","webpack://yucca/./src/components/ycc-hint/YccHintContent.vue?5b17","webpack://yucca/./src/extends/correctingPosition.js","webpack://yucca/src/components/ycc-hint/YccHintContent.vue","webpack://yucca/./src/components/ycc-hint/YccHintContent.vue?14d8","webpack://yucca/./src/components/ycc-hint/YccHintContent.vue","webpack://yucca/./src/components/ycc-hint/createHint.js","webpack://yucca/./src/components/ycc-hint/initHint.js","webpack://yucca/./src/config/setVueConfig.js","webpack://yucca/./src/constants/progressBarOptions.js","webpack://yucca/./src/components/ycc-datepicker/datepicker.js","webpack://yucca/./src/config/setPlugins.js","webpack://yucca/./src/main.js","webpack://yucca/./src/constants/metaForProgressLoader.js","webpack://yucca/./src/router.js","webpack://yucca/./src/store/utilities.js","webpack://yucca/./src/store/mutations.js","webpack://yucca/./src/store/player/lib.js","webpack://yucca/./src/components/ycc-player/extends/createMarkers.js","webpack://yucca/./src/components/ycc-player/extends/ProgressBarController.js","webpack://yucca/./src/store/player/player.js","webpack://yucca/./src/store/profile/index.js","webpack://yucca/./src/store/admin/index.js","webpack://yucca/./src/store/stream/index.js","webpack://yucca/./src/store/license/index.js","webpack://yucca/./src/store/mosaic/index.js","webpack://yucca/./src/store/store.js","webpack://yucca/webpack/bootstrap","webpack://yucca/webpack/runtime/chunk loaded","webpack://yucca/webpack/runtime/compat get default export","webpack://yucca/webpack/runtime/define property getters","webpack://yucca/webpack/runtime/ensure chunk","webpack://yucca/webpack/runtime/get javascript chunk filename","webpack://yucca/webpack/runtime/get mini-css chunk filename","webpack://yucca/webpack/runtime/global","webpack://yucca/webpack/runtime/hasOwnProperty shorthand","webpack://yucca/webpack/runtime/load script","webpack://yucca/webpack/runtime/make namespace object","webpack://yucca/webpack/runtime/publicPath","webpack://yucca/webpack/runtime/css loading","webpack://yucca/webpack/runtime/jsonp chunk loading","webpack://yucca/webpack/startup"],"sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"logo\",class:{'fix-height': _vm.isHeader}},[_c('img',{attrs:{\"src\":_vm.logo}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLogo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLogo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccLogo.vue?vue&type=template&id=d81de4c2&scoped=true&\"\nimport script from \"./YccLogo.vue?vue&type=script&lang=js&\"\nexport * from \"./YccLogo.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccLogo.vue?vue&type=style&index=0&id=d81de4c2&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d81de4c2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"alert-ycc\",class:_vm.alertCssClasses,attrs:{\"role\":\"alert\"}},[(_vm.isShowIcon)?_c('div',{staticClass:\"alert-ycc_icon\"}):_vm._e(),_c('div',{staticClass:\"alert-ycc_container\"},[(_vm.hasTitle)?_c('div',{staticClass:\"alert-ycc_title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_vm._e(),_c('div',{staticClass:\"alert-ycc_content\"},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {\n ATTENTION,\n ATTENTION_DANGER,\n ATTENTION_INFO,\n ATTENTION_WARNING,\n DANGER,\n SUCCESS,\n WARNING,\n} from './names';\n\nexport default {\n [SUCCESS] : { name: `alert-ycc-${SUCCESS}`, hasIcon: false },\n [DANGER] : { name: `alert-ycc-${DANGER}`, hasIcon: false },\n [WARNING] : { name: `alert-ycc-${WARNING}`, hasIcon: false },\n [ATTENTION] : { name: `alert-ycc-${ATTENTION}`, hasIcon: true },\n [ATTENTION_INFO] : { name: `alert-ycc-${ATTENTION_INFO}`, hasIcon: true },\n [ATTENTION_WARNING]: { name: `alert-ycc-${ATTENTION_WARNING}`, hasIcon: true },\n [ATTENTION_DANGER] : { name: `alert-ycc-${ATTENTION_DANGER}`, hasIcon: true },\n};\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccAlert.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccAlert.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccAlert.vue?vue&type=template&id=5766bb6a&scoped=true&\"\nimport script from \"./YccAlert.vue?vue&type=script&lang=js&\"\nexport * from \"./YccAlert.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccAlert.vue?vue&type=style&index=0&id=5766bb6a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5766bb6a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"datepicker\",staticClass:\"datepicker-ycc datepicker-ycc_calendar\",style:(_vm.datepickerStyles)},[_c('ycc-calendar',{ref:\"calendar\",attrs:{\"calendar-id\":(_vm.datepickerId + \"-calendar\"),\"range-type\":_vm.rangeType,\"lang\":_vm.lang,\"start-date\":_vm.startDate,\"number-of-month\":_vm.correctedNumberOfMonth,\"is-highlight-today\":_vm.isHighlightToday,\"is-highlight-weekend\":_vm.isHighlightWeekend,\"period\":_vm.period,\"max-range\":_vm.maxRange,\"min-allowed-date\":_vm.minAllowedDate,\"max-allowed-date\":_vm.maxAllowedDate,\"use-controls\":true,\"significant-dates\":_vm.significantDates,\"is-disabled-date\":_vm.isDisabledDate},on:{\"decreased-month\":_vm.decreaseMonth,\"increased-month\":_vm.increaseMonth,\"updated-dates\":_vm.onClickDay}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.useControls)?_c('ycc-calendar-controls',{attrs:{\"min-date\":_vm.minDate,\"max-date\":_vm.maxDate,\"months\":_vm.months},on:{\"decreased-month\":_vm.decreaseMonth,\"increased-month\":_vm.increaseMonth}}):_vm._e(),_c('div',{staticClass:\"calendar-ycc\",class:{'multi': _vm.isMultiRangeType}},[_c('div',{staticClass:\"months\"},_vm._l((_vm.months),function(month,key){return _c('div',{key:key,staticClass:\"month\"},[_c('div',{staticClass:\"month_header\"},[_c('div',{staticClass:\"month_title\"},[_vm._v(\" \"+_vm._s(month.monthLabel)+\" \"+_vm._s(month.yearLabel)+\" \")])]),_c('div',{staticClass:\"month_content\"},[_c('div',{staticClass:\"week-labels\"},_vm._l((_vm.weekdayLabels),function(weekdayLabel,key){return _c('div',{key:key,staticClass:\"week-labels_item\",class:_vm.highlightWeekday(key)},[_c('div',{staticClass:\"item-content\"},[_vm._v(_vm._s(weekdayLabel))])])}),0),_c('div',{staticClass:\"weeks\"},_vm._l((month.weeks),function(week,key){return _c('div',{key:key,staticClass:\"week\"},_vm._l((week),function(day,key){return _c('div',{key:key,ref:\"day\",refInFor:true,staticClass:\"week_item\",class:_vm.getDayClasses(day),attrs:{\"data-date\":day.date},on:{\"click\":function($event){$event.preventDefault();return _vm.onClickDay(day.date)}}},[_c('div',{staticClass:\"item-content\",class:day.class,style:(day.style),attrs:{\"title\":day.title}},[_vm._v(\" \"+_vm._s(day.dayNumber)+\" \")])])}),0)}),0)])])}),0)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"calendar-controls\"},[_c('span',{staticClass:\"material-icons calendar-control_item calendar-control_item-left\",class:{'control-disabled': _vm.isDisablePrevMonthBtn},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":_vm.decreaseMonth}},[_vm._v(\" keyboard_arrow_left \")]),_c('span',{staticClass:\"material-icons calendar-control_item calendar-control_item-right\",class:{'control-disabled': _vm.isDisableNextMonthBtn},attrs:{\"aria-hidden\":\"true\"},on:{\"click\":_vm.increaseMonth}},[_vm._v(\" keyboard_arrow_right \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendarControls.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendarControls.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccCalendarControls.vue?vue&type=template&id=4b870656&\"\nimport script from \"./YccCalendarControls.vue?vue&type=script&lang=js&\"\nexport * from \"./YccCalendarControls.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccCalendarControls.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","function PropertyError (property, message) {\n this.name = 'PropertyError';\n\n this.property = property;\n this.message = message;\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, PropertyError);\n }\n else {\n this.stack = (new Error()).stack;\n }\n}\n\nexport default PropertyError;\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccCalendar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccCalendar.vue?vue&type=template&id=ebfa4b96&\"\nimport script from \"./YccCalendar.vue?vue&type=script&lang=js&\"\nexport * from \"./YccCalendar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccCalendar.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDatepickerContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDatepickerContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccDatepickerContent.vue?vue&type=template&id=f8c6b880&\"\nimport script from \"./YccDatepickerContent.vue?vue&type=script&lang=js&\"\nexport * from \"./YccDatepickerContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"sgc-dropdown\",class:[{'open': _vm.menuState.state}],attrs:{\"id\":_vm.uniqueKey,\"disabled\":_vm.disabled},on:{\"click\":_vm.changeState}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const NOT_CLOSING = 'sgc-dropdown-not_closing';\nexport const CLOSING = 'sgc-dropdown-closing';\nexport const MENU = 'sgc-dropdown-menu';\nexport const SUBMENU = 'sgc-dropdown-submenu';\nexport const MENU_CONTENT = 'sgc-dropdown-menu-content';\nexport const SHOW = 'open';\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccDropdown.vue?vue&type=template&id=0ff4441b&scoped=true&\"\nimport script from \"./YccDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./YccDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccDropdown.vue?vue&type=style&index=0&id=0ff4441b&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ff4441b\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"opener\",staticClass:\"hint-box-ycc_opener\",class:{'with-ellipsis': _vm.isOpenerEqualContent},attrs:{\"id\":_vm.hintId},on:{\"mouseenter\":_vm.openHint,\"mouseleave\":_vm.closeHint}},[_vm._t(\"opener\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHint.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHint.vue?vue&type=template&id=3378dbd0&\"\nimport script from \"./YccHint.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHint.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccHint.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"validation\",class:_vm.validationCssClass},[_c('span',{staticClass:\"validation_icon icon-ycc\"}),_c('div',{staticClass:\"validation_content\"},[_vm._v(\" \"+_vm._s(_vm.error)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccValidationError.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccValidationError.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccValidationError.vue?vue&type=template&id=b00c237a&\"\nimport script from \"./YccValidationError.vue?vue&type=script&lang=js&\"\nexport * from \"./YccValidationError.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export const SUCCESS = 'success';\nexport const DANGER = 'danger';\nexport const WARNING = 'warning';\nexport const ATTENTION = 'attention';\nexport const ATTENTION_INFO = 'attention-info';\nexport const ATTENTION_WARNING = 'attention-warning';\nexport const ATTENTION_DANGER = 'attention-danger';\n","const TYPES = {\n PERIOD: 'period',\n SINGLE: 'single',\n MULTI : 'multi',\n};\n\nconst WEEKDAY_LABELS = {\n ru: ['Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб', 'Вс'],\n en: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],\n};\n\nconst MAX_MONTH_IN_LINE = 3;\nconst MAX_MONTH_IN_DATEPICKER = 12;\nconst BORDER_WIDTH = 1;\nconst MONTH_WIDTH = 200;\nconst ISO_DATE_FORMAT = 'YYYY-MM-DD';\n\nconst DEFAULT_STATE = {\n datepickerId : 'datepicker',\n lang : 'en',\n numberOfMonth : 3,\n rangeType : TYPES.SINGLE,\n significantDates: [],\n size : '',\n\n start : null,\n end : null,\n maxAllowedDate: null,\n maxRange : null,\n minAllowedDate: null,\n\n isHighlightToday : true,\n isHighlightWeekend: true,\n isInline : false,\n isDisabled : false,\n};\n\nconst TEXT_POSITIONS = {\n LEFT : 'left',\n RIGHT: 'right',\n};\n\nconst TEXT_POSITION_CSS_CLASSES = {\n LEFT : 'text-align-left',\n RIGHT: 'text-align-right',\n};\n\nexport {\n TYPES,\n WEEKDAY_LABELS,\n MAX_MONTH_IN_LINE,\n BORDER_WIDTH,\n MONTH_WIDTH,\n MAX_MONTH_IN_DATEPICKER,\n ISO_DATE_FORMAT,\n DEFAULT_STATE,\n TEXT_POSITIONS,\n TEXT_POSITION_CSS_CLASSES,\n};\n","const RANGE_TYPES = {\n LIVE : 'live',\n GAP : 'gap',\n FRAGMENT: 'fragment',\n};\n\nconst ANNOTATION_TYPES = {\n EVENT: 'event',\n};\n\nconst THUMB = 'thumb';\n\nconst SPEED_INDEXES = [0.25, 0.5, 1, 2, 4, 8, 16];\n\nexport {\n RANGE_TYPES,\n THUMB,\n SPEED_INDEXES,\n ANNOTATION_TYPES,\n};\n","export const getThumbId = (playerId) => `${playerId}-thumb`;\nexport const getProgressBarId = (playerId) => `${playerId}-progress`;\nexport const getCurrentDateId = (playerId) => `${playerId}-current-date`;\n","/* eslint-disable import/no-cycle */\nimport axios from 'axios';\nimport {\n ACCESS_DENIED_ERR,\n SERVER_ERR,\n SERVER_ERROR_CODES,\n SERVER_NOT_RESPONSE_ERR,\n SERVER_UNKNOWN_ERR,\n} from '@/constants/errorTypes';\nimport router from '@/router';\nimport store from '@/store/store';\n\nconst $http = axios.create();\n\n$http.interceptors.request.use(\n (config) => config,\n (error) => Promise.reject(error),\n);\n\n$http.interceptors.response.use(\n (response) => response,\n (error) => {\n if (error.response) {\n if (error.response.status === 404) {\n router.replace({ path: '/*' });\n }\n else if (error.response.status === 403\n && error.response.data.code !== SERVER_ERROR_CODES.QuotaReached) {\n store.dispatch('setError', {\n errorMsg : ACCESS_DENIED_ERR,\n errorName: SERVER_ERR,\n });\n }\n else if (error.response.status !== 401 && error.response.status !== 423) {\n store.dispatch('setError', {\n errorMsg : error.response && error.response.data\n ? error.response.data.code : SERVER_UNKNOWN_ERR,\n errorName: SERVER_ERR,\n });\n }\n }\n else if (!axios.isCancel(error)) {\n store.dispatch('setError', {\n errorMsg : SERVER_NOT_RESPONSE_ERR,\n errorName: SERVER_ERR,\n });\n }\n return Promise.reject(error);\n },\n);\n\nexport default $http;\n","const BASE_STREAM_URL = '/v1/stream';\nexport const ADDING_STREAM_URL = BASE_STREAM_URL;\nexport const UPDATING_STREAM_URL = BASE_STREAM_URL;\nexport const GETTING_STREAM_URL = BASE_STREAM_URL;\nexport const DELETE_STREAM_URL = BASE_STREAM_URL;\nexport const PAUSE_STREAM_URL = `${BASE_STREAM_URL}/pause`;\nexport const RESUME_STREAM_URL = `${BASE_STREAM_URL}/resume`;\nexport const PROBE_STREAM_URL = `${BASE_STREAM_URL}/probe`;\nexport const PREVIEW_STREAM_URL = `${BASE_STREAM_URL}/preview`;\n\nexport const SYSTEM_SETTINGS_URL = '/v1/system/internal/ui/settings';\nexport const SYSTEM_SEARCH = '/v1/system/internal/ui/search';\nexport const UNLOCK_URL = '/v1/system/unlock';\nexport const SELF_URL = '/v1/system/health';\nexport const LICENSE_URL = '/v1/system/license';\nexport const SERVER_DEBUG_URL = '/v1/system/logs';\n\nexport const LOGIN_URL = '/v1/auth';\nexport const GETTING_STREAMS_URL = '/v1/streams';\nexport const USER_URL = '/v1/user';\nexport const USERS_URL = '/v1/users';\nexport const PROFILE_TOKENS_URL = '/v1/tokens';\nexport const PROFILE_TOKEN_URL = '/v1/token';\nexport const SYSTEM_STATS_URL = '/v1/system/stats';\nexport const STATS_URL = '/v1/admin/stats';\nexport const CONFIG_URL = '/v1/admin/configuration';\nexport const ANNOTATIONS_URL = '/v1/annotations';\nexport const MOSAIC_URL = '/v1/mosaic';\nexport const ALL_MOSAICS_URL = '/v1/mosaics';\n\nexport const API_VERSION_CHECK = 'https://api.yucca.app/v1/version-check';\n\nexport function getArchiveUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/index.m3u8`;\n}\n\nexport function getRangesUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/ranges`;\n}\n\nexport function getArchiveStatsUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/stats`;\n}\n\nexport function getAvailableDaysUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/available-days`;\n}\n\nexport function getDownloadArchiveUrl ({ streamUid }) {\n return `${BASE_STREAM_URL}/${streamUid}/archive/download`;\n}\n\nexport function getStreamPermissionsUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/permissions`;\n}\n\nexport function getStreamLogsUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/logs`;\n}\n\nexport function getBlockUserUrl (login) {\n return `${USER_URL}/${login}/block`;\n}\n\nexport function getUserPermissionsUrl (login) {\n return `${USER_URL}/${login}/permissions`;\n}\n\nexport function getUnblockUserUrl (login) {\n return `${USER_URL}/${login}/unblock`;\n}\n\nexport function getStreamShareUrl (streamUid) {\n return `${BASE_STREAM_URL}/${streamUid}/share`;\n}\n\nexport function getDeleteToken (tokenId) {\n return `${PROFILE_TOKEN_URL}/${tokenId}`;\n}\n\nexport function getStreamInfoUrl (streamUid, isLiveOnDemand = false) {\n return isLiveOnDemand\n ? `${GETTING_STREAM_URL}/${streamUid}?extend_lease=true`\n : `${GETTING_STREAM_URL}/${streamUid}`;\n}\n","export const SERVER_ERR = 'SERVER_ERR';\nexport const ACCESS_DENIED_ERR = 'ACCESS_DENIED_ERR';\nexport const SERVER_UNKNOWN_ERR = 'SERVER_UNKNOWN_ERR';\nexport const SERVER_NOT_RESPONSE_ERR = 'SERVER_NOT_RESPONSE_ERR';\nexport const CREDENTIALS_ERR = 'CREDENTIALS_ERR';\nexport const STREAM_SOURCE_ERR = 'STREAM_SOURCE_ERR';\nexport const STREAM_NAME_ERR = 'STREAM_NAME_ERR';\nexport const ARCHIVE_DEPTH_ERR = 'ARCHIVE_DEPTH_ERR';\n\nexport const SERVER_ERROR_CODES = {\n AlreadyUsed : 'AlreadyUsed',\n AuthorizationFailed : 'AuthorizationFailed',\n EnterpriseOnly : 'EnterpriseOnly',\n Forbidden : 'Forbidden',\n InternalServerError : 'InternalServerError',\n InvalidOldPassword : 'InvalidOldPassword',\n NotFound : 'NotFound',\n OldPasswordAndNewPasswordCannotBeSame: 'OldPasswordAndNewPasswordCannotBeSame',\n PasswordIsNotComplexEnough : 'PasswordIsNotComplexEnough',\n RequestDecodeError : 'RequestDecodeError',\n ResponseEncodeError : 'ResponseEncodeError',\n TimeRangeIsTooLong : 'TimeRangeIsTooLong',\n Unavailable : 'Unavailable',\n ValidationError : 'ValidationError',\n ProbeError : 'ProbeError',\n LicenseExpired : 'LicenseExpired',\n QuotaReached : 'QuotaReached',\n IncorrectLicense : 'IncorrectLicense',\n\n EHOSTUNREACH : 'EHOSTUNREACH',\n HTTP_NOT_FOUND : 'HTTP_NOT_FOUND',\n HTTP_UNAUTHORIZED: 'HTTP_UNAUTHORIZED',\n};\n","import {\n RU,\n EN,\n} from '@/constants/main';\n\nexport const BASE_LANDING_URL = 'https://yucca.app';\nexport const DOCS_LINK = 'https://docs.yucca.app';\n\n// eslint-disable-next-line import/prefer-default-export\nexport function getPricesLink (utm, lang = EN) {\n if (lang === RU) {\n return `${BASE_LANDING_URL}/ru/prices?utm_source=${utm}`;\n }\n return `${BASE_LANDING_URL}/en/prices?utm_source=${utm}`;\n}\n","import { getScrollWidth } from '@/extends/lib';\nimport PAGES from './pages';\n\nconst VIEW_MODES_KEYS = {\n GRID : 'GRID',\n TABLE: 'TABLE',\n};\n\nconst SORT_TYPES_KEYS = {\n DATE : 'DATE',\n NAME : 'NAME',\n LOCATION: 'LOCATION',\n};\n\nconst GROUP_TYPES_KEYS = {\n TAG : 'TAG',\n LOCATION: 'LOCATION',\n NO_GROUP: 'NO_GROUP',\n};\n\nconst ADMIN_TABS_KEYS = {\n STATS : PAGES.ADMIN_STATS,\n USERS : PAGES.ADMIN_USERS,\n CONFIG : PAGES.ADMIN_CONFIG,\n LICENSE : PAGES.LICENSE,\n SERVER_DEBUG: PAGES.SERVER_DEBUG,\n};\n\nconst STREAM_INFO_TABS_KEYS = {\n INFO : PAGES.STREAM_INFO,\n PERMISSION : PAGES.STREAM_PERMISSION,\n SETTINGS : PAGES.STREAM_SETTING,\n STREAM_DEBUG: PAGES.STREAM_DEBUG,\n};\n\nconst USER_TABS_KEYS = {\n INFO : PAGES.USER_INFO,\n EDIT : PAGES.USER_EDIT,\n PERMISSION: PAGES.USER_PERMISSION,\n};\n\nconst PROFILE_TABS_KEYS = {\n INFO : PAGES.PROFILE_INFO,\n EDIT : PAGES.PROFILE_EDIT,\n TOKEN: PAGES.PROFILE_TOKEN,\n};\n\nconst USER_PERMISSION_TYPES = {\n ADMIN: 'ADMIN',\n USER : 'USER',\n};\n\nconst STREAM_PERMISSION_TYPES = {\n ADMIN: 'admin',\n EDIT : 'edit',\n VIEW : 'view',\n NONE : 'none',\n};\n\nconst UNLIMITED = 'UNLIMITED';\n\nconst ADMIN_TABS = {\n [ADMIN_TABS_KEYS.STATS] : {\n key : ADMIN_TABS_KEYS.STATS,\n icon : 'show_chart',\n label: '',\n },\n [ADMIN_TABS_KEYS.USERS] : {\n key : ADMIN_TABS_KEYS.USERS,\n icon : 'supervisor_account',\n label: '',\n },\n [ADMIN_TABS_KEYS.CONFIG] : {\n key : ADMIN_TABS_KEYS.CONFIG,\n icon : 'settings',\n label: '',\n },\n [ADMIN_TABS_KEYS.SERVER_DEBUG]: {\n key : ADMIN_TABS_KEYS.SERVER_DEBUG,\n icon : 'bug_report',\n label: '',\n },\n [ADMIN_TABS_KEYS.LICENSE] : {\n key : ADMIN_TABS_KEYS.LICENSE,\n icon : 'card_membership',\n label: '',\n },\n};\n\nconst STREAM_INFO_TABS = {\n [STREAM_INFO_TABS_KEYS.INFO] : {\n key : STREAM_INFO_TABS_KEYS.INFO,\n icon : 'info',\n label : '',\n disabled: false,\n },\n [STREAM_INFO_TABS_KEYS.PERMISSION] : {\n key : STREAM_INFO_TABS_KEYS.PERMISSION,\n icon : 'vpn_key',\n label : '',\n disabled: false,\n },\n [STREAM_INFO_TABS_KEYS.SETTINGS] : {\n key : STREAM_INFO_TABS_KEYS.SETTINGS,\n icon : 'settings',\n label : '',\n disabled: false,\n },\n [STREAM_INFO_TABS_KEYS.STREAM_DEBUG]: {\n key : STREAM_INFO_TABS_KEYS.STREAM_DEBUG,\n icon : 'bug_report',\n label: '',\n },\n};\n\nconst USER_TABS = {\n [USER_TABS_KEYS.INFO] : {\n key : USER_TABS_KEYS.INFO,\n icon : 'info',\n label : '',\n disabled: false,\n },\n [USER_TABS_KEYS.PERMISSION]: {\n key : USER_TABS_KEYS.PERMISSION,\n icon : 'vpn_key',\n label : '',\n disabled: false,\n },\n [USER_TABS_KEYS.EDIT] : {\n key : USER_TABS_KEYS.EDIT,\n icon : 'settings',\n label : '',\n disabled: false,\n },\n};\n\nconst PROFILE_TABS = {\n [PROFILE_TABS_KEYS.INFO] : {\n key : PROFILE_TABS_KEYS.INFO,\n icon : 'info',\n label : '',\n disabled: false,\n },\n [PROFILE_TABS_KEYS.TOKEN]: {\n key : PROFILE_TABS_KEYS.TOKEN,\n icon : 'vpn_key',\n label : '',\n disabled: false,\n },\n [PROFILE_TABS_KEYS.EDIT] : {\n key : PROFILE_TABS_KEYS.EDIT,\n icon : 'settings',\n label : '',\n disabled: false,\n },\n};\n\nconst VIEW_MODES = {\n [VIEW_MODES_KEYS.GRID] : {\n key : 'GRID',\n class: 'grid-mode',\n icon : 'view_module',\n },\n [VIEW_MODES_KEYS.TABLE]: {\n key : 'TABLE',\n class: 'table-mode',\n icon : 'view_list',\n },\n};\n\nconst SORT_TYPES = {\n [SORT_TYPES_KEYS.DATE] : {\n key : 'DATE',\n icon: '',\n },\n [SORT_TYPES_KEYS.NAME] : {\n key : 'NAME',\n icon: '',\n },\n [SORT_TYPES_KEYS.LOCATION]: {\n key : 'LOCATION',\n icon: '',\n },\n};\n\nconst GROUP_TYPES = {\n [GROUP_TYPES_KEYS.TAG] : {\n key : GROUP_TYPES_KEYS.TAG,\n icon: 'label',\n },\n [GROUP_TYPES_KEYS.NO_GROUP]: {\n key : GROUP_TYPES_KEYS.NO_GROUP,\n icon: 'label_outline',\n },\n};\n\nconst STREAM_STATUS = {\n RUNNING : 'running',\n PENDING : 'pending',\n PAUSED : 'paused',\n CANCELED: 'canceled',\n STOPPED : 'stopped',\n FAILED : 'failed',\n};\n\nconst PLAYER_VIEW_MODES = {\n LIVE : 'LIVE',\n ARCHIVE: 'ARCHIVE',\n};\n\nconst USER_ACCESSES = {\n active : 'active',\n blocked: 'blocked',\n};\n\nconst MOVE_TIME = 200;\nconst PANEL_SIZE = 45;\nconst DEFAULT_DEPTH = 168;\nconst DEFAULT_PLAYLIST_DURATION = 600;\nconst EN = 'en';\nconst EN_US = 'en-us';\nconst RU = 'ru';\nconst UK = 'uk';\n\nconst SORTING_TYPES = {\n desc : 'desc',\n asc : 'asc',\n nonSort: 'nonSort',\n};\n\nconst LANG_MAP = {\n [EN_US]: EN,\n [EN] : EN,\n [RU] : RU,\n [UK] : UK,\n};\n\nconst PERMISSION_OBJECTS = {\n USER: 'USER',\n TEAM: 'TEAM',\n};\n\nconst COLORS = {\n dark : '#4b4d64',\n stone: '#666',\n wolf : '#999',\n};\n\nconst BREAKPOINTS_720 = 720;\n\nconst SCROLL_WIDTH = getScrollWidth();\n\nexport {\n EN,\n EN_US,\n RU,\n UK,\n LANG_MAP,\n VIEW_MODES,\n GROUP_TYPES,\n SORT_TYPES,\n MOVE_TIME,\n PANEL_SIZE,\n STREAM_STATUS,\n PLAYER_VIEW_MODES,\n DEFAULT_DEPTH,\n DEFAULT_PLAYLIST_DURATION,\n VIEW_MODES_KEYS,\n SORT_TYPES_KEYS,\n GROUP_TYPES_KEYS,\n ADMIN_TABS,\n ADMIN_TABS_KEYS,\n USER_PERMISSION_TYPES,\n UNLIMITED,\n STREAM_PERMISSION_TYPES,\n STREAM_INFO_TABS_KEYS,\n STREAM_INFO_TABS,\n PERMISSION_OBJECTS,\n USER_ACCESSES,\n COLORS,\n BREAKPOINTS_720,\n SCROLL_WIDTH,\n SORTING_TYPES,\n USER_TABS_KEYS,\n USER_TABS,\n PROFILE_TABS,\n PROFILE_TABS_KEYS,\n};\n","export const PROFILE_UPDATED_NOTICE = 'PROFILE_UPDATED_NOTICE';\nexport const USER_SAVED_NOTICE = 'USER_SAVED_NOTICE';\nexport const USER_BLOCKED_NOTICE = 'USER_BLOCKED_NOTICE';\nexport const USER_UNBLOCKED_NOTICE = 'USER_UNBLOCKED_NOTICE';\nexport const STREAM_DELETED_NOTICE = 'STREAM_DELETED_NOTICE';\nexport const STREAM_INFO_SAVED_NOTICE = 'STREAM_INFO_SAVED_NOTICE';\n","export default {\n ADD_STREAM : 'add-stream',\n ADMIN : 'admin',\n ADMIN_STATS : 'admin-stats',\n ADMIN_CONFIG : 'admin-config',\n ADMIN_USERS : 'admin-users',\n SERVER_DEBUG : 'server-debug',\n ALL_STREAMS : 'streams',\n AUTH : 'auth',\n BOOKMARKS : 'bookmarks',\n HELP : 'help',\n INIT : 'init',\n NOT_FOUND : 'not-found',\n PROFILE : 'profile',\n PROFILE_INFO : 'profile-info',\n PROFILE_EDIT : 'profile-edit',\n PROFILE_TOKEN : 'profile-token',\n STREAM : 'stream',\n STREAM_VIEW : 'stream-view',\n STREAM_INFO : 'stream-info',\n STREAM_SETTING : 'stream-setting',\n STREAM_PERMISSION: 'stream-permission',\n STREAM_DEBUG : 'stream-debug',\n SETTINGS : 'settings',\n USER : 'user',\n USER_ADD : 'user-add',\n USER_INFO : 'user-info',\n USER_EDIT : 'user-edit',\n USER_PERMISSION : 'user-permission',\n LICENSE : 'license',\n CREATE_MOSAIC : 'create-mosaic',\n WATCH_MOSAIC : 'watch-mosaic',\n EDIT_MOSAIC : 'edit-mosaic',\n ALL_MOSAICS : 'mosaics',\n};\n","const TOP = 'top';\nconst TOP_LTR = 'top-ltr';\nconst TOP_RTL = 'top-rtl';\nconst TOP_CENTER = 'top-center';\nconst BOTTOM = 'bottom';\nconst BOTTOM_LTR = 'bottom-ltr';\nconst BOTTOM_RTL = 'bottom-rtl';\nconst BOTTOM_CENTER = 'bottom-center';\nconst LEFT = 'left';\nconst RIGHT = 'right';\n\nexport {\n TOP,\n TOP_LTR,\n TOP_RTL,\n TOP_CENTER,\n BOTTOM,\n BOTTOM_LTR,\n BOTTOM_RTL,\n BOTTOM_CENTER,\n LEFT,\n RIGHT,\n};\n","/* eslint-disable no-undef */\n\n// Browser environment sniffing\nconst inBrowser = typeof window !== 'undefined';\nconst inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nconst weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nconst UA = inBrowser && window.navigator.userAgent.toLowerCase();\nconst isEdge = UA && UA.indexOf('edge/') > 0;\nconst isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nconst isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nconst isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nconst isPhantomJS = UA && /phantomjs/.test(UA);\nconst isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\nfunction isSafari () {\n const userAgent = navigator.userAgent.toLowerCase();\n\n if (userAgent.indexOf('safari') !== -1) {\n return userAgent.indexOf('chrome') <= -1;\n }\n return false;\n}\n\nfunction iOSVersion () {\n if (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream) {\n if (window.indexedDB) {\n return 'iOS 8 and up';\n }\n if (window.SpeechSynthesisUtterance) {\n return 'iOS 7';\n }\n if (window.webkitAudioContext) {\n return 'iOS 6';\n }\n if (window.matchMedia) {\n return 'iOS 5';\n }\n if (!!window.history && 'pushState' in window.history) {\n return 'iOS 4';\n }\n return 'iOS 3 or earlier';\n }\n\n return null;\n}\n\nconst isMobile = isAndroid || isIOS;\n\nconst isMediaAtLeast720 = () => window.matchMedia('(min-width: 720px)').matches;\n\nexport {\n isEdge,\n isAndroid,\n isIOS,\n isChrome,\n isPhantomJS,\n isFF,\n isSafari,\n iOSVersion,\n isMobile,\n isMediaAtLeast720,\n};\n","import dayjs from 'dayjs';\n\nconst DATE_FORMAT = 'YYYY-MM-DD HH:mm:ss';\n\n// Вычислить размеры фрагментов и пропусков\nexport function getFragmentWidth (start, end, duration) {\n return ((end - start) * 100) / duration;\n}\n\nexport function getCoords (elem) {\n const box = elem.getBoundingClientRect();\n return {\n top : box.top + window.pageYOffset,\n left : box.left + window.pageXOffset,\n width : box.width,\n height: box.height,\n };\n}\n\n/* eslint-disable */\nexport function getElementUnderClientXY (elem, clientX, clientY) {\n const display = elem.style.display || '';\n elem.style.display = 'none';\n\n let target = document.elementFromPoint(clientX, clientY);\n\n elem.style.display = display;\n\n if (!target || target === document) { // это бывает при выносе за границы окна\n target = document.body; // поправить значение, чтобы был именно элемент\n }\n\n return target;\n}\n\nexport function getElemFromPoint (clientX, clientY) {\n return document.elementFromPoint(clientX, clientY);\n}\n\nexport function formatDate (date, formatType = 'll', language = 'ru') {\n const formatsMap = {\n lll: 'D MMM YYYY, HH:mm',\n ll : 'D MMM YYYY',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LT : 'HH:mm',\n };\n const format = formatsMap[formatType] || formatType;\n\n dayjs.locale(language);\n\n const monthLetters = dayjs(date).format('MMMM').split('');\n const month = `${monthLetters[0].toUpperCase()}${monthLetters[1]}${monthLetters[2]}`;\n const DMMMYYYY = `${dayjs(date).format('D')} ${month} ${dayjs(date).format('YYYY')}`;\n const MMMDD = `${month} ${dayjs(date).format('DD')}`;\n const HHmmss = dayjs(date, DATE_FORMAT).format('HH:mm:ss');\n\n switch (format) {\n case 'D MMM':\n return `${dayjs(date).format('D')} ${month}`;\n case 'MMM DD':\n return MMMDD;\n case 'DD MMM, HH:mm':\n return `${dayjs(date).format('D')} ${month}, ${dayjs(date, DATE_FORMAT).format('HH:mm')}`;\n case 'D MMM YYYY':\n return DMMMYYYY;\n case 'D MMM YYYY, HH:mm':\n return `${DMMMYYYY}, ${dayjs(date, DATE_FORMAT).format('HH:mm')}`;\n case 'HH:mm:ss, MMM DD':\n return `${HHmmss}, ${MMMDD}`;\n case 'HH:mm:ss, MMM DD, YYYY':\n return `${HHmmss}, ${MMMDD}, ${dayjs(date).format('YYYY')}`;\n default:\n return dayjs(date, DATE_FORMAT).format(format);\n }\n}\n\nexport const convertDateToSeconds = (date) => {\n return new Date(date).getTime() / 1000;\n};\n\nexport function getCookie (name) {\n let matches = document.cookie.match(new RegExp(\n '(?:^|; )' + name.replace(/([\\.$?*|{}\\(\\)\\[\\]\\\\\\/\\+^])/g, '\\\\$1') + '=([^;]*)',\n ));\n return matches ? decodeURIComponent(matches[1]) : undefined;\n}\n\nexport function setCookie (name, value, options = {}) {\n options = {\n path: '/',\n ...options,\n };\n\n if (options.expires && options.expires.toUTCString) {\n options.expires = options.expires.toUTCString();\n }\n\n let updatedCookie = encodeURIComponent(name) + '=' + encodeURIComponent(value);\n\n for (let optionKey in options) {\n updatedCookie += '; ' + optionKey;\n let optionValue = options[optionKey];\n if (optionValue !== true) {\n updatedCookie += '=' + optionValue;\n }\n }\n\n document.cookie = updatedCookie;\n}\n\nexport function deleteCookie (name) {\n setCookie(name, '', {\n 'max-age': -1,\n });\n}\n\nexport function getWrapHeight (selector) {\n const { clientHeight } = document.documentElement;\n const authWrapHeight = document.querySelector(selector) ? document.querySelector(selector).clientHeight : 0;\n\n return authWrapHeight >= clientHeight ? 'auto' : '100%';\n}\n\nexport function yccScrollTo (elem) {\n const top = elem.getBoundingClientRect().y;\n\n if (top !== 0) {\n window.scrollTo({\n top : top + window.pageYOffset - 60,\n behavior: 'smooth',\n });\n }\n}\n\n/**\n * Получить порядковый номер символа в строке\n * @param str\n * @param symbol\n * @returns {null}\n */\nexport function getIndexSymbol (str, symbol) {\n let indexSymbol = null;\n\n for (let i = 0; i < str.length; i++) {\n if (str.charAt(i) === symbol) {\n indexSymbol = i;\n }\n }\n return indexSymbol;\n}\n\nfunction getChar (event, isNumber = false) {\n if (event.which === null) {\n if (event.keyCode < 32 || (isNumber && event.keyCode < 48)) {\n return null;\n }\n return String.fromCharCode(event.keyCode); // IE\n }\n\n if (event.which !== 0 && event.charCode !== 0) {\n if (event.which < 32 || (isNumber && event.which < 48)) {\n return null;\n }\n return String.fromCharCode(event.which); // остальные\n }\n\n return null; // специальная клавиша\n}\n\nexport function validate (event, isNumber = false) {\n if (event.ctrlKey || event.altKey || event.metaKey) {\n return;\n }\n\n let chr = getChar(event, isNumber);\n\n if (chr === null) {\n return;\n }\n\n if (chr < '0' || chr > '9') {\n event.preventDefault();\n }\n}\n\nexport function cloneObjDeep (obj) {\n return JSON.parse(JSON.stringify(obj));\n}\n\nexport function getScrollWidth () {\n // Creating invisible container\n const outer = document.createElement('div');\n outer.style.visibility = 'hidden';\n outer.style.overflow = 'scroll'; // forcing scrollbar to appear\n outer.style.msOverflowStyle = 'scrollbar'; // needed for WinJS apps\n document.body.appendChild(outer);\n\n // Creating inner element and placing it in the container\n const inner = document.createElement('div');\n outer.appendChild(inner);\n\n // Calculating difference between container's full width and the child width\n const scrollbarWidth = (outer.offsetWidth - inner.offsetWidth);\n\n // Removing temporary elements from the DOM\n outer.parentNode.removeChild(outer);\n\n return scrollbarWidth;\n}\n\nexport function isChildElem ({ className, elem, modalId }) {\n function findElements (selector) {\n return document.querySelectorAll(selector);\n }\n\n if (className && elem.classList.contains(className)) {\n return true;\n }\n\n let selector = '';\n if (className.length > 0) {\n selector = `.${className}`;\n }\n const notClosingElements = findElements(`#${modalId} ${selector} *`);\n for (let i = 0; i < notClosingElements.length; i++) {\n if (elem === notClosingElements[i]) {\n return true;\n }\n }\n return false;\n}\n\nexport function getSortingDirection (sortingType) {\n if (sortingType === 'desc') {\n return -1;\n }\n return 1;\n}\n\nexport function showServerSwitcher () {\n app.serverSwitcher();\n}\n","const isExist = (value) => value !== null && value !== undefined;\n\nexport default class StorageAdapter {\n constructor ({ itemName, isPrimitive }, storage = localStorage) {\n this.itemName = itemName;\n this.isPrimitive = isPrimitive;\n this.storage = storage || null;\n }\n\n getCorrectValue = (value, isPrimitive, correctionFunc) => isPrimitive ? value : correctionFunc(value);\n\n getItem () {\n return this.storage.getItem(this.itemName)\n ? this.getCorrectValue(this.storage.getItem(this.itemName), this.isPrimitive, JSON.parse)\n : null;\n }\n\n setItem (value) {\n if (isExist(value)) {\n this.storage.setItem(this.itemName, this.getCorrectValue(value, this.isPrimitive, JSON.stringify));\n }\n }\n\n removeItem () {\n this.storage.removeItem(this.itemName);\n }\n}\n","import StorageAdapter from '@/extends/StorageAdapter';\n\nconst destinationPageStorage = new StorageAdapter({\n itemName : 'destinationPage',\n isPrimitive: false,\n}, sessionStorage);\n\nclass WarningStorage extends StorageAdapter {\n constructor () {\n super({\n itemName : 'warnings',\n isPrimitive: false,\n });\n\n this.keepingTime = 7 * 24 * 60 * 60 * 1000;\n\n if (!this.getItem()) {\n this.setItem({});\n }\n else {\n this.clearExpiredWarnings();\n }\n }\n\n setWarning (warningCode) {\n const warnings = this.getItem();\n warnings[warningCode] = (new Date(Date.now() + this.keepingTime)).toISOString();\n this.setItem(warnings);\n }\n\n getWarnings () {\n return Object.keys(this.getItem());\n }\n\n static isExpired (warningCode, warnings) {\n return warnings[warningCode] <= (new Date()).toISOString();\n }\n\n clearExpiredWarnings () {\n const warnings = this.getItem() || {};\n\n Object.keys(warnings).forEach((warningCode) => {\n if (WarningStorage.isExpired(warningCode, warnings)) {\n delete warnings[warningCode];\n }\n });\n\n this.setItem(warnings);\n }\n}\n\nconst warningsStorage = new WarningStorage();\n\nexport {\n destinationPageStorage,\n warningsStorage,\n};\n","import {\n LANG_MAP,\n EN,\n} from '@/constants/main';\nimport {\n DOCS_LINK,\n BASE_LANDING_URL,\n} from '@/constants/links';\n\nclass YuccaBootConfig {\n constructor (\n {\n isEnterprise,\n isLocked,\n prober,\n revision,\n version,\n appTitle,\n appLogo,\n defaultLanguage,\n archiveDownloadMaxSeconds,\n playlistMaxSeconds,\n rangesMaxSeconds,\n isLicenseExpired,\n archiveMaxDepthHours,\n smtpServerEnabled,\n smtpServerHost,\n smtpServerProtected,\n smtpServerPort,\n documentation,\n site,\n features,\n },\n {\n language,\n },\n ) {\n this.isEnterprise = isEnterprise || false;\n this.isLocked = isLocked || false;\n this.prober = prober || false;\n this.revision = revision || '';\n this.version = version || '';\n this.appTitle = appTitle || 'Yucca';\n this.appLogo = appLogo || '';\n this.defaultLanguage = LANG_MAP[defaultLanguage] || EN;\n this.language = LANG_MAP[language] || this.defaultLanguage;\n this.isLicenseExpired = isLicenseExpired || false;\n this.archiveMaxDepthHours = archiveMaxDepthHours || -1;\n this.smtpServerEnabled = smtpServerEnabled || true;\n this.smtpServerHost = smtpServerHost || '';\n this.smtpServerPort = smtpServerPort || '';\n this.smtpServerProtected = smtpServerProtected || false;\n this.documentation = documentation || DOCS_LINK;\n this.site = site || BASE_LANDING_URL;\n this.features = features || {};\n\n this.archiveDownloadMaxSeconds = archiveDownloadMaxSeconds || 3600;\n this.playlistMaxSeconds = playlistMaxSeconds || 604800;\n this.rangesMaxSeconds = rangesMaxSeconds || 10800;\n }\n}\n\nconst yccBootConfig = window.YUCCA_BOOT_DATA\n ? new YuccaBootConfig(window.YUCCA_BOOT_DATA.settings, window.YUCCA_BOOT_DATA.user)\n : null;\n\nexport {\n YuccaBootConfig,\n yccBootConfig,\n};\n","import translations from '../assets/lang/json/translations.json';\n\nconst en = {};\nconst ru = {\n ...translations.ru,\n};\nconst uk = {\n ...translations.uk,\n};\n\nexport default {\n en,\n ru,\n uk,\n};\n","import {\n EN,\n RU,\n UK,\n} from '@/constants/main';\nimport translations from './translations';\n\nexport default function gettextOptions (lang) {\n return {\n translations,\n availableLanguages: {\n [EN]: 'English',\n [RU]: 'Русский',\n [UK]: 'Українська',\n },\n defaultLanguage : lang || EN,\n silent : true,\n };\n}\n","/* eslint-disable no-param-reassign */\nimport { formatDate } from './lib';\n\nexport default {\n install (Vue, options) {\n Vue.prototype.$yccConfig = options.config;\n\n Vue.prototype.$isDebug = options.isDebug;\n\n Vue.prototype.$setDocumentTitle = (titles = []) => {\n if (document) {\n if (titles.length > 0) {\n document.title = `${titles.join(' ')} - ${options.config.appTitle || 'Yucca'}`;\n }\n else {\n document.title = `${options.config.appTitle || 'Yucca'}`;\n }\n }\n };\n\n Vue.prototype.$appLogo = options.config.appLogo;\n\n Vue.$setLanguage = (lang) => {\n Vue.prototype.$yccConfig.language = lang;\n };\n\n Vue.prototype.$formatDate = (value, format) => {\n const lang = Vue.prototype.$yccConfig.language;\n return formatDate(value, format, lang);\n };\n Vue.filter('formatDate', (value, format) => {\n const lang = Vue.prototype.$yccConfig.language;\n return formatDate(value, format, lang);\n });\n },\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('ycc-layout',{attrs:{\"is-fix-content\":_vm.isFixContent,\"is-read-only-profile\":_vm.isReadOnlyProfile,\"is-close-aside-outside\":_vm.isFixContent,\"is-auth-or-init-page\":_vm.isAuthOrInitPage,\"is-license-expired\":_vm.isLicenseExpired,\"is-empty-route\":_vm.isEmptyRoute,\"warnings\":_vm.warnings},on:{\"logout\":_vm.logout}},[_c('template',{slot:\"content\"},[_c('router-view')],1)],2),_c('vue-progress-bar',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isAuthOrInitPage),expression:\"!isAuthOrInitPage\"}]}),_c('datepicker')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { getCookie } from '@/extends/lib';\n\nexport default class CookieService {\n static getDeviceOs () {\n return getCookie('device_os');\n }\n\n static getShowServerSwitcher () {\n const cookie = getCookie('show_server_switcher');\n return cookie ? JSON.parse(cookie) : null;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"layout\"},[(_vm.isShowHeader)?_c('div',{ref:\"layoutHeader\",staticClass:\"layout-header\"},[(_vm.shownWarnings.length > 0)?_c('ycc-alert',{staticClass:\"layout-warning\",attrs:{\"name\":_vm.WARNING}},_vm._l((_vm.shownWarnings),function(warning,index){return _c('div',{key:index,staticClass:\"layout-warning_content\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(warning.message)}}),_c('button',{staticClass:\"btn-ycc-clean-big\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.hideWarning(warning.code)}}})])}),0):_vm._e(),(_vm.isVisibleLicenseAlert)?_c('ycc-alert',{attrs:{\"name\":_vm.DANGER}},[_c('div',{staticClass:\"validation validation-error\"},[_c('span',{staticClass:\"validation_icon icon-ycc\"}),_c('div',{staticClass:\"validation_content\"},[_vm._v(\" \"+_vm._s((_vm.licenseStateTitle + \" \" + _vm.licenseStateDescription))+\" \"),_c('router-link',{staticClass:\"btn-ycc-link\",attrs:{\"to\":{name: _vm.PAGES.LICENSE}}},[_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Upload a license\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"for unlock.\")])],1)])]):_vm._e(),_c('ycc-header',{on:{\"logout\":_vm.logout,\"toggled-aside\":_vm.toggleAside}})],1):_vm._e(),_c('div',{staticClass:\"layout-main\",class:[_vm.layoutMainClasses, {'visible': _vm.hasAside}]},[_c('div',{staticClass:\"layout-aside\",style:(_vm.layoutAsideStyle)},[_c('div',{staticClass:\"aside\"},[_c('div',{staticClass:\"aside-content\"},[_c('ycc-toolbar',{attrs:{\"page\":_vm.$route.name,\"is-read-only-profile\":_vm.isReadOnlyProfile,\"is-open-aside\":_vm.isOpenAside}},[_vm._t(\"toolbar\")],2)],1)])]),_c('div',{staticClass:\"layout-content\",style:({'padding-top': (_vm.headerHeight + \"px\")})},[_vm._t(\"content\")],2)]),(_vm.isEmptyRoute)?_c('div',{staticClass:\"loading-page\",attrs:{\"loading\":_vm.isEmptyRoute,\"element-loading-text\":'Page loading...',\"element-loading-spinner\":'el-icon-loading',\"element-loading-background\":'#fff'}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"toolbar\"},[_c('div',{staticClass:\"toolbar_general\"},[_c('div',{staticClass:\"toolbar-item\",class:{active: _vm.isActivePage(_vm.PAGES.ALL_STREAMS)}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ALL_STREAMS}}},[_c('div',{staticClass:\"toolbar-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"videocam\")])])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"toolbar-item_title\"},[_vm._v(\"All streams\")])]),_c('div',{staticClass:\"toolbar-item_menu\",class:{hidden: _vm.isOpenAside}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ALL_STREAMS}}},[_c('div',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"menu-item\"},[_vm._v(\" All streams \")])])],1)],1),(!_vm.isReadOnlyProfile)?_c('div',{staticClass:\"toolbar-item\",class:{active: _vm.isActivePage(_vm.PAGES.ADD_STREAM)}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ADD_STREAM}}},[_c('div',{staticClass:\"toolbar-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"add\")])])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"toolbar-item_title\"},[_vm._v(\"Add stream\")])]),_c('div',{staticClass:\"toolbar-item_menu\",class:{hidden: _vm.isOpenAside}},[_c('router-link',{staticClass:\"link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ADD_STREAM}}},[_c('div',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"menu-item\"},[_vm._v(\" Add stream \")])])],1)],1):_vm._e()]),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccToolbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccToolbar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccToolbar.vue?vue&type=template&id=313e03fb&\"\nimport script from \"./YccToolbar.vue?vue&type=script&lang=js&\"\nexport * from \"./YccToolbar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header\"},[_c('div',{staticClass:\"layout-header-aside-item\",on:{\"click\":_vm.toggleAside}},[_vm._m(0)]),_c('div',{staticClass:\"header-nav\"},[_c('router-link',{staticClass:\"header-item header-logo link-ycc\",attrs:{\"to\":{name: _vm.PAGES.ALL_STREAMS}}},[_c('div',{staticClass:\"header-logo\",class:{'ycc-logo-height': !_vm.hasAppLogo}},[_c('ycc-logo',{attrs:{\"is-header\":true}})],1)]),(!_vm.isReadOnly)?[_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'addStream',\"hint\":_vm.addingStreamTitle,\"position\":'bottom'}},[_c('router-link',{staticClass:\"header-item link-ycc\",attrs:{\"slot\":\"opener\",\"to\":{name: _vm.PAGES.ADD_STREAM}},slot:\"opener\"},[_c('div',{staticClass:\"header-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"add\")])])])])],1)]:_vm._e()],2),_c('div',{staticClass:\"header-action\"},[(_vm.isStreamPage)?_c('div',{staticClass:\"header-action_stream\"},[_c('ycc-hint',{staticClass:\"header-item-hint header-stream-name-wrapper\",attrs:{\"hint-id\":'streamView',\"hint\":_vm.streamName,\"is-opener-equal-content\":true,\"position\":'bottom'}},[_c('div',{staticClass:\"header-item\",class:{'active': _vm.isActivePage(_vm.PAGES.STREAM_VIEW)},attrs:{\"slot\":\"opener\"},slot:\"opener\"},[_c('router-link',{staticClass:\"header-stream-name text-ycc-bold\",attrs:{\"to\":{name: _vm.PAGES.STREAM_VIEW, params: _vm.streamRouterParams}}},[_vm._v(\" \"+_vm._s(_vm.streamName)+\" \")])],1)]),_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'streamInfo',\"hint\":_vm.streamSettingsTitle,\"position\":'bottom'}},[_c('router-link',{staticClass:\"header-item\",class:{'active': _vm.isStreamInfoPage},attrs:{\"slot\":\"opener\",\"to\":{name: _vm.PAGES.STREAM_INFO, params: _vm.streamRouterParams}},slot:\"opener\"},[_c('span',{staticClass:\"icon-ycc stream-info_settings\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"info\")])])])],1)],1):(_vm.isMosaicPage)?_c('div',{staticClass:\"header-action_stream\"},[_c('ycc-hint',{staticClass:\"header-item-hint header-stream-name-wrapper\",attrs:{\"hint-id\":'mosaicWatch',\"hint\":_vm.mosaicName,\"is-opener-equal-content\":true,\"position\":'bottom'}},[_c('div',{staticClass:\"header-item\",class:{'active': _vm.isActivePage(_vm.PAGES.WATCH_MOSAIC)},attrs:{\"slot\":\"opener\"},slot:\"opener\"},[_c('router-link',{staticClass:\"header-stream-name text-ycc-bold\",attrs:{\"to\":{name: _vm.PAGES.WATCH_MOSAIC, params: _vm.mosaicRouterParams}}},[_vm._v(\" \"+_vm._s(_vm.mosaicName)+\" \")])],1)]),(_vm.mosaic && _vm.mosaic.meta && _vm.mosaic.meta.canAdmin)?_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'mosaicInfo',\"hint\":_vm.mosaicSettingsTitle,\"position\":'bottom'}},[_c('router-link',{staticClass:\"header-item\",class:{'active': _vm.isActivePage(_vm.PAGES.EDIT_MOSAIC)},attrs:{\"slot\":\"opener\",\"to\":{name: _vm.PAGES.EDIT_MOSAIC, params: _vm.mosaicRouterParams}},slot:\"opener\"},[_c('span',{staticClass:\"icon-ycc stream-info_settings\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"settings\")])])])],1):_vm._e()],1):(_vm.isAllStreamsPage)?_c('div',{staticClass:\"header-action_streams\"},[_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'grouping',\"hint\":_vm.getGroupLabel(_vm.groupType),\"position\":'bottom'}},[(_vm.groupType)?_c('span',{staticClass:\"header-item\",class:{'text-ycc-active': _vm.groupType === _vm.GROUP_TYPES.TAG.key},attrs:{\"slot\":\"opener\"},on:{\"click\":function($event){return _vm.groupStreams()}},slot:\"opener\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(_vm._s(_vm.GROUP_TYPES[_vm.groupType].icon))])]):_vm._e()]),_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'viewMode',\"hint\":_vm.viewModeTitle,\"position\":'bottom'}},[_c('span',{staticClass:\"header-item\",attrs:{\"slot\":\"opener\"},on:{\"click\":function($event){return _vm.changeViewMode()}},slot:\"opener\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(_vm._s(_vm.VIEW_MODES[_vm.viewModeKey].icon))])])]),_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'availabilityStreams',\"hint\":_vm.availableStreamsInfo.title,\"position\":'bottom'}},[_c('span',{staticClass:\"header-item\",attrs:{\"slot\":\"opener\"},on:{\"click\":function($event){return _vm.toggleShowingAvailable()}},slot:\"opener\"},[_c('span',{staticClass:\"icon-ycc\",class:{'text-ycc-success': _vm.isShownAvailableStreams}},[_c('i',{staticClass:\"material-icons\"},[_vm._v(_vm._s(_vm.availableStreamsInfo.icon))])])])])],1):_c('div',{staticClass:\"header-action_stream\"},[_c('ycc-hint',{staticClass:\"header-item-hint\",attrs:{\"hint-id\":'pageTitle',\"hint\":_vm.pageTitle,\"position\":'bottom'}},[_c('div',{staticClass:\"header-page-title\",attrs:{\"slot\":\"opener\"},slot:\"opener\"},[_vm._v(\" \"+_vm._s(_vm.pageTitle)+\" \")])])],1)]),_c('ycc-header-menu',{attrs:{\"version\":_vm.version,\"is-admin\":_vm.isAdmin,\"id\":(\"menu-\" + (_vm.$language.current)),\"documentation-link\":_vm.$yccConfig.documentation,\"isShowServerSwitcher\":_vm.isShowServerSwitcher},on:{\"logout\":_vm.logout}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"aside-item_content\"},[_c('div',{staticClass:\"aside-item_icon\"},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"menu\")])])])])}]\n\nexport { render, staticRenderFns }","import pages from './pages';\n\nexport default function pageNames ($gettext = (text) => text) {\n return {\n [pages.ADD_STREAM] : $gettext('Add stream'),\n [pages.ADMIN] : $gettext('Administration'),\n [pages.ADMIN_USERS] : $gettext('Users'),\n [pages.ADMIN_CONFIG] : $gettext('Configuration'),\n [pages.ADMIN_STATS] : $gettext('Statistics'),\n [pages.ALL_STREAMS] : $gettext('Streams'),\n [pages.AUTH] : $gettext('Authorization'),\n [pages.BOOKMARKS] : $gettext('Bookmarks'),\n [pages.HELP] : $gettext('Help'),\n [pages.INIT] : $gettext('Server initialization'),\n [pages.NOT_FOUND] : $gettext('Page not found'),\n [pages.PROFILE] : $gettext('My profile'),\n [pages.PROFILE_TOKEN] : $gettext('My tokens'),\n [pages.PROFILE_INFO] : $gettext('My profile'),\n [pages.PROFILE_EDIT] : $gettext('My profile'),\n [pages.STREAM] : $gettext('Stream'),\n [pages.STREAM_PERMISSION]: $gettext('Stream permissions'),\n [pages.STREAM_SETTING] : $gettext('Stream settings'),\n [pages.STREAM_INFO] : $gettext('Stream info'),\n [pages.SETTINGS] : $gettext('Settings'),\n [pages.USER] : $gettext('User profile'),\n [pages.USER_INFO] : $gettext('User profile'),\n [pages.USER_EDIT] : $gettext('Edit user'),\n [pages.USER_PERMISSION] : $gettext('User permission'),\n [pages.USER_ADD] : $gettext('Add user'),\n [pages.LICENSE] : $gettext('License'),\n [pages.SERVER_DEBUG] : $gettext('Server debug'),\n [pages.STREAM_DEBUG] : $gettext('Stream debug'),\n [pages.CREATE_MOSAIC] : $gettext('Create mosaic'),\n [pages.WATCH_MOSAIC] : $gettext('Mosaic'),\n [pages.ALL_MOSAICS] : $gettext('Mosaics'),\n [pages.EDIT_MOSAIC] : $gettext('Edit mosaic'),\n };\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"header-menu\"},[_c('ycc-dropdown',{staticClass:\"header-item\",attrs:{\"unique-key\":_vm.id}},[_c('div',{staticClass:\"header-menu_button sgc-dropdown-toggle\",attrs:{\"title\":\"More\"}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"more_vert\")])])]),_c('ul',{staticClass:\"sgc-dropdown-menu menu-ycc rtl\"},[_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('router-link',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"to\":{name: _vm.PAGES.PROFILE}}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"account_circle\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Profile\")])])],1),(_vm.isAdmin)?_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('router-link',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"to\":{name: _vm.PAGES.ADMIN}}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"assignment\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Administration\")])])],1):_vm._e(),(_vm.isShowServerSwitcher)?_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('button',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.showServerSwitcher}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"swap_horiz\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Switch server\")])])]):_vm._e(),(!_vm.isEnterprise)?_c('li',{staticClass:\"sgc-dropdown-menu-item sgc-dropdown-not_closing\"},[_c('a',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"href\":_vm.getPricesLink('yucca-header-menu', _vm.$language.current),\"target\":\"_blank\",\"rel\":\"noopener noreferer\"}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"trending_up\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Upgrade\")])])]):_vm._e(),(_vm.documentationLink)?_c('li',{staticClass:\"sgc-dropdown-menu-item sgc-dropdown-not_closing\"},[_c('a',{staticClass:\"btn-link-ycc btn-ycc-link menu-item row-ycc-center\",attrs:{\"href\":_vm.documentationLink,\"target\":\"_blank\",\"rel\":\"noopener noreferer\"}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"help\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}],staticClass:\"margin-right-5\"},[_vm._v(\"Documentation\")]),_c('span',{staticClass:\"material-icons open-in-new\"},[_vm._v(\"open_in_new\")])])]):_vm._e(),_c('li',{staticClass:\"sgc-dropdown-menu-item\"},[_c('a',{staticClass:\"btn-link-ycc btn-ycc-link menu-item\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();return _vm.logout.apply(null, arguments)}}},[_c('span',{staticClass:\"icon-ycc\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"exit_to_app\")])]),_c('span',{directives:[{name:\"translate\",rawName:\"v-translate\"}]},[_vm._v(\"Logout\")])])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeaderMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeaderMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHeaderMenu.vue?vue&type=template&id=666061cc&scoped=true&\"\nimport script from \"./YccHeaderMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHeaderMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccHeaderMenu.vue?vue&type=style&index=0&id=666061cc&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"666061cc\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHeader.vue?vue&type=template&id=7fe291d7&\"\nimport script from \"./YccHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLayout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccLayout.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccLayout.vue?vue&type=template&id=9aac1804&\"\nimport script from \"./YccLayout.vue?vue&type=script&lang=js&\"\nexport * from \"./YccLayout.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=6a843c32&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=6a843c32&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6a843c32\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"hint-ycc popover-ycc-container\",class:_vm.popoverYccCssClasses,style:(_vm.hintYccInlineStyle)},[_c('div',{ref:\"popover\",staticClass:\"popover-ycc\"},[_c('div',{staticClass:\"popover-ycc_content\",domProps:{\"innerHTML\":_vm._s(_vm.hint)}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {\n TOP,\n TOP_LTR,\n TOP_RTL,\n TOP_CENTER,\n BOTTOM,\n BOTTOM_LTR,\n BOTTOM_RTL,\n BOTTOM_CENTER,\n LEFT,\n RIGHT,\n} from '@/constants/positionConstants';\nimport { SCROLL_WIDTH } from '@/constants/main';\n\nconst positions = {\n RTL : 'rtl',\n LTR : 'ltr',\n CENTER: 'center',\n TOP : 'top',\n BOTTOM: 'bottom',\n};\n\nexport default class CorrectingPosition {\n constructor ({ position, contentWidth = null }) {\n this.contentWidth = contentWidth;\n this.position = null;\n this.positionsArr = null;\n this.basePosition = null;\n this.horizontalPosition = null;\n this.documentWidth = document.documentElement.clientWidth;\n this.documentHeight = window.getComputedStyle(document.body).position === 'static'\n || window.getComputedStyle(document.body).position === ''\n ? document.documentElement.clientHeight\n // eslint-disable-next-line max-len\n : Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight);\n this.setPosition(position);\n }\n\n get ltrPositionClass () {\n return this.position === TOP ? TOP_LTR : BOTTOM_LTR;\n }\n\n get rtlPositionClass () {\n return this.position === TOP ? TOP_RTL : BOTTOM_RTL;\n }\n\n setPosition (position) {\n this.position = position || BOTTOM_LTR;\n this.positionsArr = position.split('-');\n this.basePosition = this.positionsArr[0];\n this.horizontalPosition = this.positionsArr[1] ? this.positionsArr[1] : '';\n }\n\n getPositionCssClass (\n {\n contentCoords,\n btnCoords,\n isStaticVerticalPosition,\n position,\n },\n ) {\n this.setPosition(position);\n\n return this.getCorrectedPositionCssClass({\n contentCoords,\n btnCoords,\n isStaticVerticalPosition,\n position,\n });\n }\n\n getStyle ({ btnCoords, contentCoords, position }) {\n const popupStyle = {};\n\n switch (position) {\n case TOP:\n popupStyle.bottom = `${this.documentHeight - btnCoords.top}px`;\n popupStyle.left = `${btnCoords.left + btnCoords.width / 2}px`;\n popupStyle.right = 'auto';\n popupStyle.top = 'auto';\n break;\n case BOTTOM:\n popupStyle.top = `${btnCoords.top + btnCoords.height}px`;\n popupStyle.left = `${btnCoords.left + btnCoords.width / 2}px`;\n popupStyle.right = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case LEFT:\n popupStyle.top = `${btnCoords.top + btnCoords.height / 2}px`;\n popupStyle.right = `${this.documentWidth - btnCoords.left}px`;\n popupStyle.left = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case RIGHT:\n popupStyle.top = `${btnCoords.top + btnCoords.height / 2}px`;\n popupStyle.left = `${btnCoords.left + btnCoords.width}px`;\n popupStyle.right = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case TOP_LTR:\n popupStyle.bottom = `${this.documentHeight - btnCoords.top}px`;\n popupStyle.left = `${btnCoords.left}px`;\n popupStyle.right = 'auto';\n popupStyle.top = 'auto';\n break;\n case TOP_RTL:\n popupStyle.bottom = `${this.documentHeight - btnCoords.top}px`;\n popupStyle.right = `${this.documentWidth - (btnCoords.left + btnCoords.width)}px`;\n popupStyle.top = 'auto';\n popupStyle.left = 'auto';\n break;\n case BOTTOM_RTL:\n popupStyle.top = `${btnCoords.top + btnCoords.height}px`;\n popupStyle.right = `${this.documentWidth - (btnCoords.left + btnCoords.width)}px`;\n popupStyle.left = 'auto';\n popupStyle.bottom = 'auto';\n break;\n case TOP_CENTER:\n popupStyle.top = `${btnCoords.top - 5}px`;\n popupStyle.bottom = 'auto';\n popupStyle.right = 'auto';\n popupStyle.left = '50%';\n popupStyle.transform = 'translateX(-50%) translateY(-100%)';\n break;\n case BOTTOM_CENTER:\n popupStyle.top = `${btnCoords.top + btnCoords.height + 5}px`;\n popupStyle.bottom = 'auto';\n popupStyle.right = 'auto';\n popupStyle.left = '50%';\n popupStyle.transform = 'translateX(-50%)';\n break;\n case BOTTOM_LTR:\n default:\n popupStyle.top = `${btnCoords.top + btnCoords.height}px`;\n popupStyle.left = `${btnCoords.left}px`;\n popupStyle.right = 'auto';\n popupStyle.bottom = 'auto';\n break;\n }\n\n if (this.isContentMoreThanDocumentWidth({ btnCoords, contentCoords })) {\n popupStyle.maxWidth = 'calc(100vw - 40px)';\n }\n return popupStyle;\n }\n\n getCorrectedPositionCssClass (\n {\n contentCoords,\n btnCoords,\n position,\n isDynamicVerticalPosition = true,\n },\n ) {\n // 1 этап - переопределение базовых позиций -> RTL\\LTR\n if (position === LEFT\n && CorrectingPosition.isOutOfLeftBorderForLeft({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.LTR;\n this.basePosition = positions.BOTTOM;\n }\n\n if (position === RIGHT\n && this.isOutOfRightBorderForRight({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.RTL;\n this.basePosition = positions.BOTTOM;\n }\n\n if (position === BOTTOM || position === TOP) {\n if (this.isOutOfRightBorderForCenter({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.RTL;\n }\n if (CorrectingPosition.isOutOfLeftBorderForCenter({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.LTR;\n }\n }\n\n if (this.horizontalPosition) {\n // 2 этап - переопределение RTL -> LTR, LTR -> RTL\n if (this.horizontalPosition === positions.LTR\n && this.isOutOfRightBorderForLtr({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.RTL;\n }\n\n if (this.horizontalPosition === positions.RTL\n && CorrectingPosition.isOutOfLeftBorderForRtl({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.LTR;\n }\n\n // 3 этап - переопределение RTL\\LTR -> Center (центр экрана)\n if (this.isContentMoreThanDocumentWidth({ contentCoords, btnCoords })) {\n this.horizontalPosition = positions.CENTER;\n }\n\n if (this.horizontalPosition === positions.RTL\n && this.isOutOfRightBorderForRtl({ contentCoords, btnCoords })) {\n this.horizontalPosition = '';\n }\n }\n\n // 4 этап - переопределение BOTTOM, BOTTOM_* <-> TOP, TOP_*\n if (isDynamicVerticalPosition) {\n if (this.basePosition === positions.BOTTOM\n && this.isOutOfBottomBorder({ contentCoords, btnCoords })) {\n this.basePosition = positions.TOP;\n }\n\n if (this.basePosition === positions.TOP\n && CorrectingPosition.isOutOfTopBorder({ contentCoords, btnCoords })) {\n this.basePosition = positions.BOTTOM;\n }\n }\n\n this.position = this.horizontalPosition\n ? `${this.basePosition}-${this.horizontalPosition}` : this.basePosition;\n\n return this.position;\n }\n\n isContentMoreThanDocumentWidth ({ contentCoords }) {\n let { width } = contentCoords;\n\n if (this.contentWidth) {\n width = this.contentWidth;\n }\n return width + SCROLL_WIDTH > this.documentWidth;\n }\n\n isOutOfRightBorderForCenter ({ contentCoords, btnCoords }) {\n return btnCoords.left + (btnCoords.width / 2) + (contentCoords.width / 2) > this.documentWidth;\n }\n\n isOutOfRightBorderForLtr ({ contentCoords, btnCoords }) {\n return btnCoords.left + contentCoords.width > this.documentWidth;\n }\n\n isOutOfRightBorderForRight ({ contentCoords, btnCoords }) {\n return btnCoords.left + btnCoords.width + contentCoords.width > this.documentWidth;\n }\n\n isOutOfRightBorderForRtl ({ btnCoords }) {\n return btnCoords.left + btnCoords.width > this.documentWidth;\n }\n\n isOutOfBottomBorder ({ contentCoords, btnCoords }) {\n return btnCoords.y + btnCoords.height + contentCoords.height > this.documentHeight;\n }\n\n static isOutOfTopBorder ({ contentCoords, btnCoords }) {\n return btnCoords.y - contentCoords.height < 0;\n }\n\n static isOutOfLeftBorderForCenter ({ contentCoords, btnCoords }) {\n return (btnCoords.left + (btnCoords.width / 2)) - (contentCoords.width / 2) < 0;\n }\n\n static isOutOfLeftBorderForRtl ({ contentCoords, btnCoords }) {\n return (btnCoords.left + btnCoords.width) - contentCoords.width < 0;\n }\n\n static isOutOfLeftBorderForLeft ({ contentCoords, btnCoords }) {\n return btnCoords.left - contentCoords.width < 0;\n }\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHintContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40[0].rules[0].use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YccHintContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./YccHintContent.vue?vue&type=template&id=7d59d134&scoped=true&\"\nimport script from \"./YccHintContent.vue?vue&type=script&lang=js&\"\nexport * from \"./YccHintContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./YccHintContent.vue?vue&type=style&index=0&id=7d59d134&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d59d134\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport YccHintContent from './YccHintContent.vue';\n\n// Создать глобальную шину, если она не создана\nif (!window.bus) {\n window.bus = new Vue();\n}\n\nconst { bus } = window;\n\nconst DEFAULT_STATE = {};\n\n/* eslint-disable object-curly-newline */\nexport default function createPopup ({ hint, hintId, position, isDark, maxWidth }, id) {\n return new Vue({\n el : `#${id}`,\n template : `\n \n `,\n components: { YccHintContent },\n data : {\n hint,\n hintId,\n position,\n isDark,\n maxWidth,\n isOpen : false,\n location : null,\n openerElem: null,\n },\n created () {\n this.location = {\n left : 0,\n top : 0,\n height: 0,\n };\n bus.$on('opened-hint', this.openPopup);\n bus.$on('closed-hint', this.closePopup);\n },\n methods : {\n openPopup (payload) {\n this.openerElem = payload.openerElem;\n this.setLocation(payload.openerElem);\n this.setNewData(payload.props);\n this.open();\n window.addEventListener('resize', this.setLocation);\n },\n closePopup () {\n window.removeEventListener('resize', this.setLocation);\n this.close();\n },\n open () {\n this.isOpen = true;\n },\n close () {\n this.isOpen = false;\n this.clean();\n },\n clean () {\n this.setNewData(DEFAULT_STATE);\n },\n setNewData (data) {\n Object.keys(data).forEach((prop) => {\n this[prop] = data[prop];\n });\n },\n setLocation () {\n const box = this.openerElem.getBoundingClientRect();\n\n this.location = {\n left : box.left + window.pageXOffset,\n top : box.top + window.pageYOffset,\n width : box.width,\n height: box.height,\n y : box.y,\n x : box.x,\n };\n },\n },\n });\n}\n","import createHint from './createHint';\n\n/* eslint-disable object-curly-newline */\n// eslint-disable-next-line func-names\nexport default function ({ hint, hintId, position, isDark, maxWidth }) {\n const hintRenderContentId = 'hint-content';\n\n if (!window.hint) {\n const popup = document.createElement('div');\n popup.setAttribute('id', hintRenderContentId);\n document.body.appendChild(popup);\n\n window.hint = createHint({ hint, hintId, position, isDark, maxWidth }, hintRenderContentId);\n }\n return window.hint;\n}\n","import Vue from 'vue';\n\nVue.config.devtools = process.env.NODE_ENV === 'development';\nVue.config.productionTip = process.env.NODE_ENV === 'production';\n/* eslint-disable-next-line */\nVue.config.errorHandler = function (err, vm, info) {\n let handler;\n let current = vm;\n if (vm.$options.errorHandler) {\n handler = vm.$options.errorHandler;\n }\n else {\n while (current.$parent) {\n current = current.$parent;\n /* eslint-disable-next-line */\n if (handler = current.$options.errorHandler) {\n break;\n }\n }\n }\n if (handler) {\n handler.call(current, err, vm, info);\n }\n else {\n /* eslint-disable-next-line */\n console.log(err);\n }\n};\n","export default {\n color : '#e6fc94',\n failedColor: '#874b4b',\n thickness : '3px',\n transition : {\n speed : '0.2s',\n opacity : '0.6s',\n termination: 300,\n },\n autoRevert : true,\n location : 'top',\n inverse : false,\n};\n","import dayjs from 'dayjs';\nimport YccDatepickerContent from './YccDatepickerContent.vue';\nimport {\n DEFAULT_STATE,\n ISO_DATE_FORMAT,\n MAX_MONTH_IN_LINE,\n TYPES,\n} from './constants';\n\nconst defaultProps = {\n datepickerId : 'calendar',\n rangeType : TYPES.SINGLE,\n lang : 'en',\n maxRange : null,\n start : null,\n end : null,\n numberOfMonth : MAX_MONTH_IN_LINE,\n size : '',\n // Минимально допустимая дата (предел слева)\n minAllowedDate : null,\n // Максимально допустимая дата (предел справа)\n maxAllowedDate : null,\n // Массив значимых дат (помеченных)\n significantDates : [],\n isHighlightToday : true,\n isHighlightWeekend: false,\n isInline : false,\n isDisabled : false,\n isFixed : false,\n isDisabledDate : null,\n};\n\nexport default {\n template : `\n
\n
\n\n \n \n
`,\n components: { YccDatepickerContent },\n data () {\n return {\n isOpen : false,\n isSelecting: false,\n isFixed : false,\n period : {},\n location : {\n left : 0,\n top : 0,\n height: 0,\n },\n // Сохраним данные\n ...defaultProps,\n };\n },\n created () {\n // Слушаем события от инпута\n window.bus.$on('opened-datepicker', this.openDatepicker);\n window.bus.$on('closed-datepicker', this.close);\n window.bus.$on('set-fixing', this.setFixing);\n window.bus.$on('set-start', this.setStart);\n window.bus.$on('set-end', this.setEnd);\n },\n watch : {\n isOpen (newState) {\n if (newState) {\n window.addEventListener('click', this.closeDatepickerOutside);\n }\n else {\n window.removeEventListener('click', this.closeDatepickerOutside);\n }\n },\n },\n methods : {\n onClickDay ({ isSelecting, period }) {\n this.setSelectingState(isSelecting);\n this.setPeriod(period);\n\n window.bus.$emit('updated-dates', { isSelecting, period, datepickerId: this.datepickerId });\n\n // Если закончили выбор, то закрыть\n if (!isSelecting) {\n this.close();\n }\n },\n openDatepicker (payload) {\n this.setFixing(payload.isFixed);\n this.setLocation(payload.inputElem);\n this.setNewData(payload.props);\n this.open();\n },\n closeDatepicker () {\n if (this.isSelecting) {\n this.setSelectingState(false);\n\n window.bus.$emit('updated-dates', {\n isSelecting : this.isSelecting,\n period : this.getCorrectPeriod(),\n datepickerId: this.datepickerId,\n });\n }\n this.close();\n },\n closeDatepickerOutside (event) {\n if (!this.isChildElem(event.target)) {\n this.closeDatepicker();\n }\n },\n onChangeMonthYear (payload) {\n window.bus.$emit('changed-month-year', payload);\n },\n setFixing (state) {\n this.isFixed = state;\n },\n // проверяет является ли элемент потомком класса\n isChildElem (elem) {\n const elemChildren = document.querySelectorAll('.datepicker-bus *');\n const openerChildren = document.querySelectorAll('.datepicker-ycc_opener *');\n\n for (let i = 0; i < elemChildren.length; i++) {\n if (elem === elemChildren[i]) {\n return true;\n }\n }\n\n for (let i = 0; i < openerChildren.length; i++) {\n if (elem === openerChildren[i]) {\n return true;\n }\n }\n\n return false;\n },\n clean () {\n this.setNewData(DEFAULT_STATE);\n },\n open () {\n this.isOpen = true;\n },\n close () {\n this.isOpen = false;\n this.clean();\n window.bus.$emit('close');\n },\n getCorrectPeriod () {\n const start = this.period.start\n ? this.period.start\n : this.period.end;\n const end = this.period.end && this.period.end !== this.period.start\n ? this.period.start\n : dayjs(this.period.end).add(1, 'day').format(ISO_DATE_FORMAT);\n\n return { start, end, underCursor: null };\n },\n setLocation (inputElem) {\n const box = inputElem.getBoundingClientRect();\n\n this.location = {\n left : this.isFixed ? box.left : box.left + window.pageXOffset,\n top : this.isFixed ? box.top : box.top + window.pageYOffset,\n height: box.height,\n };\n },\n setNewData (data) {\n Object.keys(data).forEach((prop) => {\n this[prop] = data[prop];\n });\n },\n setPeriod (period) {\n this.period = { ...period };\n },\n setStart (start) {\n this.start = start;\n },\n setEnd (end) {\n this.end = end;\n },\n setSelectingState (state) {\n this.isSelecting = state;\n },\n },\n};\n","import Vue from 'vue';\nimport VueProgressBar from 'vue-progressbar';\nimport { Loading } from 'element-ui';\nimport progressBarOptions from '../constants/progressBarOptions';\nimport Datepicker from '../components/ycc-datepicker/datepicker';\n\nVue.use(VueProgressBar, progressBarOptions);\nVue.use(Loading.directive);\nVue.prototype.$loading = Loading.service;\nVue.directive('scroll', {\n inserted (el, binding) {\n const f = (evt) => {\n if (binding.value(evt, el)) {\n window.removeEventListener('scroll', f);\n }\n };\n window.addEventListener('scroll', f);\n },\n});\n// eslint-disable-next-line vue/multi-word-component-names\nVue.component('datepicker', Datepicker);\n","import Vue from 'vue';\nimport GetTextPlugin from 'vue-gettext';\nimport dayjs from 'dayjs';\nimport {\n yccBootConfig,\n YuccaBootConfig,\n} from './config/yccBootConfig';\nimport gettextOptions from './config/gettextOptions';\nimport router from './router';\nimport store from './store/store';\nimport YccConfigPlugin from './extends/YccConfigPlugin';\nimport { isMobile } from './extends/browserEnv';\nimport App from './App.vue';\nimport { SYSTEM_SETTINGS_URL } from './constants/api';\nimport httpClient from './config/httpClient';\nimport initHint from './components/ycc-hint/initHint';\n\nimport './config/setVueConfig';\nimport './config/setPlugins';\nimport './scss/index.scss';\n\nVue.config.devtools = process.env.NODE_ENV === 'development';\n\nconst isDebug = !!process.env.VUE_APP_DEBUG && JSON.parse(process.env.VUE_APP_DEBUG) === true;\n\nif (!window.bus) {\n window.bus = new Vue();\n}\n\nif (!isMobile) {\n initHint(\n {\n hintId : 'hint-1',\n position: 'bottom',\n hint : '',\n isDark : true,\n maxWidth: 250,\n },\n );\n}\n\nif (isMobile) {\n document.body.classList.add('is-mobile');\n}\nelse {\n document.body.classList.add('is-desktop');\n}\n\nfunction createApp (data = {}) {\n const config = new YuccaBootConfig(data, {});\n\n Vue.use(YccConfigPlugin, { config, isDebug });\n Vue.use(GetTextPlugin, gettextOptions(config.language));\n dayjs.locale(config.language);\n store.state.config = config;\n\n /* eslint-disable no-new */\n new Vue({\n router,\n store,\n render: (h) => h(App),\n }).$mount('#app');\n}\n\nif (yccBootConfig) {\n createApp(yccBootConfig);\n}\nelse {\n httpClient\n .get(SYSTEM_SETTINGS_URL)\n .then((res) => {\n createApp(res.data);\n })\n .catch(() => {\n createApp();\n });\n}\n","export default {\n progress: {\n func: [\n { call: 'color', modifier: 'temp', argument: '#e6fc94' },\n { call: 'fail', modifier: 'temp', argument: '#6e0000' },\n { call: 'location', modifier: 'temp', argument: 'top' },\n {\n call : 'transition',\n modifier: 'temp',\n argument: {\n speed : '1.5s',\n opacity : '0.6s',\n termination: 400,\n },\n },\n ],\n },\n};\n","/* eslint-disable import/no-cycle */\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport { destinationPageStorage } from './extends/storageServices';\nimport store from './store/store';\nimport PAGES from './constants/pages';\nimport metaForProgressLoader from './constants/metaForProgressLoader';\n\nVue.use(Router);\n\nconst router = new Router({\n mode : 'history',\n base : process.env.BASE_URL,\n routes: [\n {\n path : '/',\n name : 'main',\n meta : {\n title: 'Yucca',\n },\n redirect : { name: PAGES.ALL_STREAMS },\n component: () => import(/* webpackChunkName: \"main\" */ './pages/Workspace/TheWorkspace.vue'),\n children : [\n {\n path : 'streams',\n name : PAGES.ALL_STREAMS,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"streams\" */ './pages/Streams/StreamsPage.vue'),\n },\n {\n path : 'mosaics',\n name : PAGES.ALL_MOSAICS,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"mosaics\" */ './pages/Mosaic/Mosaics/AllMosaics.vue'),\n },\n ],\n },\n {\n path : '/auth',\n name : PAGES.AUTH,\n component: () => import(/* webpackChunkName: \"auth\" */ './pages/Auth/AuthPage.vue'),\n },\n {\n path : '/init',\n name : PAGES.INIT,\n component: () => import(/* webpackChunkName: \"init\" */ './pages/Init/InitPage.vue'),\n },\n {\n path : '/profile/me',\n name : PAGES.PROFILE,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.PROFILE_INFO },\n component: () => import(/* webpackChunkName: \"profile\" */ './pages/Profile/ProfilePage.vue'),\n children : [\n {\n path : 'info',\n name : PAGES.PROFILE_INFO,\n props : true,\n component: () => import(/* webpackChunkName: \"stream-info\" */ './pages/Profile/ProfileView.vue'),\n },\n {\n path : 'edit',\n name : PAGES.PROFILE_EDIT,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-setting\" */ './pages/Profile/ProfileEdit.vue'),\n },\n {\n path : 'tokens',\n name : PAGES.PROFILE_TOKEN,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-permission\" */ './pages/Profile/ProfileTokens.vue'),\n },\n ],\n },\n {\n path : '/user/add',\n name : PAGES.USER_ADD,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"user-add\" */ './pages/User/UserAddPage.vue'),\n },\n {\n path : '/user/:login',\n name : PAGES.USER,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.USER_INFO },\n component: () => import(/* webpackChunkName: \"user\" */ './pages/User/UserPage.vue'),\n children : [\n {\n path : 'info',\n name : PAGES.USER_INFO,\n props : true,\n component: () => import(/* webpackChunkName: \"stream-info\" */ './pages/User/UserView.vue'),\n },\n {\n path : 'edit',\n name : PAGES.USER_EDIT,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-setting\" */ './pages/User/UserEdit.vue'),\n },\n {\n path : 'permission',\n name : PAGES.USER_PERMISSION,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-permission\" */ './pages/User/UserStreamPermissions.vue'),\n },\n ],\n },\n {\n path : '/stream/:uid/view',\n name : PAGES.STREAM_VIEW,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"stream-view\" */ './pages/StreamView/StreamPage.vue'),\n },\n {\n path : '/stream/:uid',\n name : PAGES.STREAM,\n props : true,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.STREAM_INFO },\n component: () => import(/* webpackChunkName: \"stream\" */ './pages/StreamInfo/InfoStreamPage.vue'),\n children : [\n {\n path : 'info',\n name : PAGES.STREAM_INFO,\n props : true,\n component: () => import(/* webpackChunkName: \"stream-info\" */ './pages/StreamInfo/StreamInfo.vue'),\n },\n {\n path : 'setting',\n name : PAGES.STREAM_SETTING,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-setting\" */ './pages/StreamInfo/StreamSettings.vue'),\n },\n {\n path : 'permission',\n name : PAGES.STREAM_PERMISSION,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-permission\" */ './pages/StreamInfo/StreamPermission.vue'),\n },\n {\n path : 'debug',\n name : PAGES.STREAM_DEBUG,\n props : true,\n component: () => import(\n /* webpackChunkName: \"stream-debug\" */ './pages/StreamInfo/StreamDebug.vue'),\n },\n ],\n },\n {\n path : '/add-stream',\n name : PAGES.ADD_STREAM,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"add-stream\" */ './pages/StreamInfo/AddingStreamPage.vue'),\n },\n {\n path : '/create-mosaic',\n name : PAGES.CREATE_MOSAIC,\n component: () => import(/* webpackChunkName: \"add-mosaic\" */ './pages/Mosaic/Create/CreateMosaicPage.vue'),\n },\n {\n path : '/mosaic/:id',\n name : PAGES.WATCH_MOSAIC,\n props : true,\n component: () => import(/* webpackChunkName: \"watch-mosaic\" */ './pages/Mosaic/Watch/WatchMosaicPage.vue'),\n },\n {\n path : '/mosaic/:id/edit',\n name : PAGES.EDIT_MOSAIC,\n props : true,\n component: () => import(/* webpackChunkName: \"watch-mosaic\" */ './pages/Mosaic/Edit/EditMosaicPage.vue'),\n },\n {\n path : '/administration',\n name : PAGES.ADMIN,\n meta : {\n ...metaForProgressLoader,\n },\n redirect : { name: PAGES.ADMIN_STATS },\n component: () => import(/* webpackChunkName: \"admin\" */ './pages/Admin/AdminPage.vue'),\n children : [\n {\n path : 'stats',\n name : PAGES.ADMIN_STATS,\n component: () => import(/* webpackChunkName: \"admin-stats\" */ './pages/Admin/AdminStats.vue'),\n },\n {\n path : 'config',\n name : PAGES.ADMIN_CONFIG,\n component: () => import(/* webpackChunkName: \"admin-config\" */ './pages/Admin/AdminConfig.vue'),\n },\n {\n path : 'users',\n name : PAGES.ADMIN_USERS,\n component: () => import(/* webpackChunkName: \"admin-users\" */ './pages/Admin/AdminUsers.vue'),\n },\n {\n path : 'license',\n name : PAGES.LICENSE,\n component: () => import(/* webpackChunkName: \"license\" */ './pages/License/LicensePage.vue'),\n },\n {\n path : 'server-debug',\n name : PAGES.SERVER_DEBUG,\n component: () => import(/* webpackChunkName: \"server-debug\" */ './pages/Admin/AdminDebug.vue'),\n },\n ],\n },\n {\n path : '/license',\n name : 'old-license',\n redirect: { name: PAGES.LICENSE },\n },\n {\n path : '/bookmarks',\n name : PAGES.BOOKMARKS,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"bookmarks\" */ './pages/BookmarksPage.vue'),\n },\n {\n path : '/help',\n name : PAGES.HELP,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"help\" */ './pages/HelpPage.vue'),\n },\n {\n path : '/*',\n name : PAGES.NOT_FOUND,\n component: () => import(/* webpackChunkName: \"not-found\" */ './pages/NotFoundPage.vue'),\n },\n ],\n});\n\nrouter.beforeEach((to, from, next) => {\n const isPublicPage = to.name === PAGES.AUTH || to.name === PAGES.INIT;\n const is404 = to.name === PAGES.NOT_FOUND;\n\n if (!destinationPageStorage.getItem() && !isPublicPage && !is404) {\n destinationPageStorage.setItem({ name: to.name, params: { ...to.params } });\n }\n\n if (is404) {\n next();\n }\n else {\n store.dispatch('checkPermission')\n .then(({ status, statusCode }) => {\n if (statusCode === 500 || statusCode === 404) {\n next();\n }\n else if (!status && !isPublicPage) {\n next({ name: statusCode === 423 ? PAGES.INIT : PAGES.AUTH });\n }\n else if ((statusCode === 423 && to.name === PAGES.INIT)\n || (statusCode === 401 && to.name === PAGES.AUTH)\n || (status && !isPublicPage)) {\n next();\n }\n else if (isPublicPage) {\n next({ name: PAGES.ALL_STREAMS });\n }\n else {\n next({ name: statusCode === 423 ? PAGES.INIT : PAGES.AUTH });\n }\n });\n }\n});\n\nrouter.afterEach(() => {\n if (window.scrollY) {\n window.scroll(0, 0);\n }\n});\n\nexport default router;\n","import { GROUP_TYPES } from '../constants/main';\n\nexport function getGroupedStreams (streams, groupingType) {\n const groupedStreams = {};\n\n function pushStream (groupName, stream) {\n if (!groupedStreams[groupName]) {\n groupedStreams[groupName] = {\n name : groupName,\n streams: [],\n };\n }\n groupedStreams[groupName].streams.push(stream);\n }\n\n if (groupingType === GROUP_TYPES.TAG.key) {\n streams.forEach((stream) => {\n if (stream.tags && stream.tags.length > 0) {\n stream.tags.forEach((tag) => {\n pushStream(tag, stream);\n });\n }\n else {\n pushStream('untagged', stream);\n }\n });\n }\n\n return groupedStreams;\n}\n\nexport function saveToLocalStorage ({ key, value, page }) {\n const streamsPageSettings = JSON.parse(localStorage.getItem(page)) || {};\n\n streamsPageSettings[key] = value;\n localStorage.setItem(page, JSON.stringify(streamsPageSettings));\n}\n","export default {\n SET_SEARCHING_VALUES : { name: 'setSearchingValues', property: 'searchingValues' },\n SET_VIEW_MODE_KEY : { name: 'setViewModeKey', property: 'viewModeKey' },\n SET_ASIDE_STATE : { name: 'setAsideState', property: 'isOpenAside' },\n SET_SHOWING_AVAILABLE_STATE: { name: 'setShowingAvailableState', property: 'isShownAvailableStreams' },\n SET_GROUP_TYPE : { name: 'setGroupType', property: 'groupType' },\n SET_AUTH_STATE : { name: 'setAuthState', property: 'isAuthLoading' },\n SET_STREAMS : { name: 'setStreams', property: 'streams' },\n SET_STREAMS_STATUSES : { name: 'setStreamsStatuses', property: 'streams' },\n SET_STREAM_STATUS : { name: 'setStreamStatus', property: '' },\n SET_STREAM : { name: 'setStream', property: 'currentStream' },\n DELETE_CURRENT_STREAM : { name: 'deleteCurrentStream', property: 'currentStream' },\n SET_DELETING_STREAM_STATE : { name: 'setDeletingStreamState', property: 'deletingStateMap' },\n SET_CHANGING_STREAM_STATE : { name: 'setChangingStreamState', property: 'changingStateMap' },\n SET_FOUNDING_PAGE_STATE : { name: 'setFoundingPageState', property: 'isNotFoundPage' },\n SET_ERROR : { name: 'setError', property: 'errors' },\n DELETE_ERROR : { name: 'deleteError', property: 'errors' },\n SET_STATUSES_TIMER : { name: 'setFetchingStatusTimer', property: 'fetchingStatusTimer' },\n SET_CREATING_ADMIN_STATE : { name: 'SET_CREATING_ADMIN_STATE', property: 'isAdminCreating' },\n};\n","import dayjs from 'dayjs';\n\nfunction getDefaultStart () {\n return dayjs(new Date()).subtract(20, 'hour').valueOf();\n}\n\nfunction getDefaultEnd () {\n return dayjs(new Date()).add(3, 'hour').valueOf();\n}\n\nfunction getDefaultPeriod () {\n return {\n start: getDefaultStart(),\n end : getDefaultEnd(),\n };\n}\n\nfunction getDefaultPeriodISO () {\n return {\n start: dayjs(getDefaultStart()).toISOString(),\n end : dayjs(getDefaultEnd()).toISOString(),\n };\n}\n\nfunction getDefaultDownloadLimitsPX () {\n return {\n left : 0,\n right: 0,\n };\n}\n\nfunction getDefaultPlaylist ({ start, end }) {\n return {\n period: { startTime: start, endTime: end },\n ranges: [{ date: start, status: 0 }],\n url : null,\n };\n}\n\nexport {\n getDefaultStart,\n getDefaultEnd,\n getDefaultPeriod,\n getDefaultPeriodISO,\n getDefaultDownloadLimitsPX,\n getDefaultPlaylist,\n};\n","import dayjs from 'dayjs';\nimport { formatDate } from '@/extends/lib';\nimport { EN } from '@/constants/main';\n\nconst MS_IN_HOUR = 60 * 60 * 1000;\nconst MS_IN_MINUTE = 60 * 1000;\nconst MARKER_LABEL_WIDTH = 70;\nconst LABELS_MAP_KEYS = {\n SIXTY : 'sixty',\n TWELVE : 'twelve',\n QUARTER : 'quarter',\n HALF : 'half',\n FULL : 'full',\n MULTIPLE: 'multiple',\n};\nconst LABELS_MAP = [\n { key: LABELS_MAP_KEYS.SIXTY, value: 60, minutes: 1 },\n { key: LABELS_MAP_KEYS.TWELVE, value: 12, minutes: 5 },\n { key: LABELS_MAP_KEYS.QUARTER, value: 4, minutes: 15 },\n { key: LABELS_MAP_KEYS.HALF, value: 2, minutes: 30 },\n { key: LABELS_MAP_KEYS.FULL, value: 1, minutes: 60 },\n { key: LABELS_MAP_KEYS.MULTIPLE },\n];\n\nconst getMarkerOptions = ({ hoursNumber, possibleLabels, minutesNumber }) => {\n let options = { multiplicity: null, labelsNumber: 0 };\n\n LABELS_MAP.some((item) => {\n if (item.key === LABELS_MAP_KEYS.MULTIPLE) {\n options = {\n type : item.key,\n multiplicity: Math.ceil(hoursNumber / possibleLabels),\n labelsNumber: Math.ceil(hoursNumber / Math.ceil(hoursNumber / possibleLabels)),\n };\n return true;\n }\n if (minutesNumber / item.minutes <= possibleLabels) {\n options = {\n type : item.key,\n multiplicity: item.value,\n minutes : item.minutes,\n labelsNumber: Math.ceil(minutesNumber / item.minutes),\n };\n return true;\n }\n return false;\n });\n\n return options;\n};\n\nconst getLeftPosForMarker = (timestamp, period, secondsInPx) => {\n const seconds = (timestamp - period.start) / 1000;\n return seconds / secondsInPx;\n};\nconst getMarker = (\n period,\n timeMS,\n secondsInPx,\n isVisibleLabel,\n lang = EN,\n isSmall = false,\n) => {\n const label = dayjs(timeMS).hour() === 0 && dayjs(timeMS).minute() === 0\n ? formatDate(timeMS, 'MMM DD', lang)\n : formatDate(timeMS, 'HH:mm', lang);\n\n return {\n left : `${getLeftPosForMarker(timeMS, period, secondsInPx)}px`,\n time : timeMS,\n cssClass: isSmall ? 'small' : 'medium',\n type : dayjs(timeMS).hour() !== 0 ? 'hour' : 'day',\n label : isVisibleLabel ? label : ' ',\n };\n};\n\nconst getFirstFullHourMS = (period) => {\n const year = dayjs(period.start).year();\n const month = dayjs(period.start).month();\n const day = dayjs(period.start).date();\n const hour = dayjs(period.start).hour();\n\n return dayjs(new Date(year, month, day, hour)).valueOf();\n};\n\nconst getFirstMarkerTime = (options, period) => {\n let firstMarkerTime = getFirstFullHourMS(period);\n\n const getFirstMarkerByTime = (minutes) => {\n const year = dayjs(period.start).year();\n const month = dayjs(period.start).month();\n const day = dayjs(period.start).date();\n const hour = dayjs(period.start).hour();\n let startMinutes = dayjs(period.start).minute();\n\n while (startMinutes % minutes !== 0) {\n startMinutes += 1;\n }\n\n return dayjs(new Date(year, month, day, hour, startMinutes)).valueOf();\n };\n\n if (options.type === LABELS_MAP_KEYS.SIXTY\n || options.type === LABELS_MAP_KEYS.TWELVE\n || options.type === LABELS_MAP_KEYS.QUARTER\n || options.type === LABELS_MAP_KEYS.HALF) {\n firstMarkerTime = getFirstMarkerByTime(options.minutes);\n }\n\n return firstMarkerTime;\n};\n\nconst getNewMarkers = (options, period, secondsInPx, lang = EN) => {\n const newMarkers = [];\n let markerTime = getFirstMarkerTime(options, period);\n\n for (let i = 0; i < options.labelsNumber; i++) {\n if (markerTime > period.start) {\n const marker = getMarker(\n period,\n markerTime,\n secondsInPx,\n lang,\n true,\n );\n newMarkers.push(marker);\n }\n if (options.type === LABELS_MAP_KEYS.MULTIPLE) {\n markerTime += (MS_IN_HOUR * options.multiplicity);\n }\n else {\n markerTime += (MS_IN_HOUR / options.multiplicity);\n }\n }\n return newMarkers;\n};\n\nexport {\n MS_IN_HOUR,\n MS_IN_MINUTE,\n MARKER_LABEL_WIDTH,\n LABELS_MAP_KEYS,\n LABELS_MAP,\n\n getMarkerOptions,\n getNewMarkers,\n};\n","import { interval } from 'rxjs';\nimport dayjs from 'dayjs';\nimport {\n getDefaultPeriod,\n getDefaultPlaylist,\n} from '@/store/player/lib';\nimport {\n DEFAULT_PLAYLIST_DURATION,\n EN,\n PLAYER_VIEW_MODES,\n} from '@/constants/main';\nimport {\n convertDateToSeconds,\n formatDate,\n getCoords,\n} from '@/extends/lib';\nimport {\n ANNOTATION_TYPES,\n RANGE_TYPES,\n} from '@/components/ycc-player/constants';\nimport {\n getMarkerOptions,\n getNewMarkers,\n MARKER_LABEL_WIDTH,\n MS_IN_HOUR,\n MS_IN_MINUTE,\n} from '@/components/ycc-player/extends/createMarkers';\nimport {\n getCurrentDateId,\n getProgressBarId,\n getThumbId,\n} from '@/components/ycc-player/extends/componentIds';\n\nconst ZOOM_INDEX = 1.5;\nconst HOUR_IN_MS = 60 * 60 * 1000;\nconst MIN_DURATION = 5 * 60 * 1000;\nconst MAX_DURATION = 24 * HOUR_IN_MS;\n\nexport default class ProgressBarController {\n constructor ({ playerId, thumbWidth }) {\n // not changing\n this.playerId = playerId;\n this.thumbWidth = thumbWidth || 18;\n\n // elements\n this.video = null;\n this.progressBar = null;\n this.thumb = null;\n\n // first level of changing\n this.archiveStatsPeriod = null;\n this.period = getDefaultPeriod(); // all visible period\n this.ranges = null;\n\n // second level of changing\n this.playingPeriod = null; // { start: 0, end: 0 };\n this.currentInterval = null;\n\n // third level of changing\n this.playingTime = 0; // or Date.now() // playingTime\n this.thumbPosition = 0;\n\n this.tracking = null;\n this.trackingObservable$ = interval(20);\n\n this.init();\n }\n\n init () {\n this.video = ProgressBarController.getElem(this.playerId);\n this.progressBar = ProgressBarController.getElem(getProgressBarId(this.playerId));\n this.thumb = ProgressBarController.getElem(getThumbId(this.playerId));\n }\n\n /* GETTERS */\n\n get duration () {\n return this.period.end - this.period.start;\n }\n\n get intervals () {\n // changing triggers: period and ranges\n const startSeconds = convertDateToSeconds(this.period.start);\n const endSeconds = convertDateToSeconds(this.period.end);\n const clipShift = startSeconds;\n const intervalsTemp = [];\n const ranges = this.ranges\n ? this.ranges\n : getDefaultPlaylist({\n start: this.period.start,\n end : this.period.end,\n }).ranges;\n\n ranges.forEach((range, index, arr) => {\n const rangeStart = convertDateToSeconds(range.date);\n const rangeEnd = arr[index + 1] ? convertDateToSeconds(arr[index + 1].date) : endSeconds;\n const intervalType = ProgressBarController.getIntervalType({\n status : range.status,\n isLastRange : index === arr.length - 1,\n date : range.date,\n archiveStatsPeriod: this.archiveStatsPeriod,\n });\n\n intervalsTemp.push({\n width : this.getPXFromSeconds(rangeEnd - startSeconds)\n - this.getPXFromSeconds(rangeStart - startSeconds),\n left : this.getPXFromSeconds(rangeStart - startSeconds),\n type : intervalType,\n start : rangeStart - clipShift,\n end : rangeEnd - clipShift,\n startDate: range.date,\n endDate : arr[index + 1] ? arr[index + 1].date : this.period.end,\n });\n });\n return intervalsTemp;\n }\n\n get periodModifier () {\n return (this.duration - (this.duration / ZOOM_INDEX)) / 2;\n }\n\n get isZoomUpAllowed () {\n return this.duration > MIN_DURATION;\n }\n\n get isZoomDownAllowed () {\n return this.duration < MAX_DURATION;\n }\n\n get periodISO () {\n return {\n start: dayjs(this.period.start).toISOString(),\n end : dayjs(this.period.end).toISOString(),\n };\n }\n\n /* END GETTERS */\n\n /* MAIN PUBLIC METHODS */\n\n seekHandler (intervalElem, clientX, annotationStartSeconds) {\n this.stopTracking();\n\n this.setCurrentInterval(intervalElem);\n\n return this.getPlaylistByIntervalType(intervalElem, clientX, annotationStartSeconds);\n }\n\n startTracking (isArchive) {\n this.tracking = this.trackingObservable$.subscribe(() => {\n let currentTime = Date.now();\n\n if (isArchive && this.video) {\n currentTime = ProgressBarController.getCurrentTimeInMS(this.video.currentTime)\n + this.playingPeriod.start;\n }\n\n this.updatePlayingTime(currentTime);\n });\n }\n\n stopTracking () {\n if (this.tracking) {\n this.tracking.unsubscribe();\n }\n }\n\n getMarkers (lang = EN) {\n const possibleLabels = Math.ceil(this.getProgressBarWidth() / MARKER_LABEL_WIDTH);\n const hoursNumber = Math.ceil((this.period.end - this.period.start) / MS_IN_HOUR);\n const minutesNumber = Math.ceil((this.period.end - this.period.start) / MS_IN_MINUTE);\n const options = getMarkerOptions({ hoursNumber, possibleLabels, minutesNumber });\n\n return getNewMarkers(options, this.period, this.secondsInPx(), lang);\n }\n\n getNewPlaylistPeriodAfterEnding () {\n this.stopTracking();\n\n return this.getRangeByMilliseconds(this.playingTime);\n }\n\n getCorrectedPlayingPeriodEnd (newSeconds, intervalRangeEnd) {\n const endMS = newSeconds + DEFAULT_PLAYLIST_DURATION;\n const intervalRangeEndMS = intervalRangeEnd;\n const result = endMS < intervalRangeEndMS ? endMS : intervalRangeEndMS;\n\n return result * 1000 + this.period.start;\n }\n\n getRangeByMilliseconds (/* playingTime */) {\n const findNextRangeIndex = (startTimeMS) => {\n return this.intervals.findIndex((intervalRange) => {\n const start = Math.trunc(intervalRange.start * 1000 + this.period.start);\n const end = Math.trunc(intervalRange.end * 1000 + this.period.start);\n\n return startTimeMS >= start && startTimeMS < end;\n });\n };\n\n const currentTime = this.playingPeriod.end; /* playingTime; */\n const intervalIndex = findNextRangeIndex(currentTime);\n const currentInterval = this.intervals[intervalIndex];\n let currentPeriod = { type: RANGE_TYPES.LIVE };\n\n if (currentInterval.type === RANGE_TYPES.GAP) {\n currentPeriod = {\n ...this.getNextPeriodAfterGap(intervalIndex + 1),\n };\n }\n else if (currentInterval.type !== RANGE_TYPES.LIVE) {\n currentPeriod = {\n start: currentTime,\n end : this.getCorrectedPlayingPeriodEnd(\n (currentTime - this.period.start) / 1000, currentInterval.end,\n ),\n type : RANGE_TYPES.FRAGMENT,\n };\n }\n\n return currentPeriod;\n }\n\n /* end MAIN PUBLIC METHODS */\n\n /* PUBLIC SETTERS */\n\n setPeriod (period) {\n this.period = period;\n }\n\n setRanges (ranges) {\n this.ranges = ranges;\n }\n\n setPlayingPeriod (playingPeriod) {\n this.playingPeriod = playingPeriod;\n }\n\n setArchiveStatsPeriod (stats) {\n this.archiveStatsPeriod = stats;\n }\n\n setCurrentInterval (intervalElem) {\n this.currentInterval = intervalElem;\n }\n\n /* end PUBLIC SETTERS */\n\n secondsInPx () {\n return this.duration / (this.getProgressBarWidth() * 1000);\n }\n\n getPXFromSeconds (seconds) {\n return seconds / this.secondsInPx();\n }\n\n getSecondsFromPX (px) {\n return px * this.secondsInPx();\n }\n\n static getIntervalType (\n {\n status,\n isLastRange,\n date,\n archiveStatsPeriod,\n }) {\n const liveTime = archiveStatsPeriod ? archiveStatsPeriod.endTime : dayjs(new Date()).toISOString();\n let intervalType = RANGE_TYPES.GAP;\n\n if (isLastRange && liveTime <= date && !status) {\n intervalType = RANGE_TYPES.LIVE;\n }\n\n return status ? RANGE_TYPES.FRAGMENT : intervalType;\n }\n\n setDefaultLiveThumbPos () {\n // set default position for current time in ios safari\n setTimeout(() => {\n this.updatePlayingTime(Date.now());\n }, 100);\n }\n\n updateThumbPos (currentTime, periodStart) {\n const thumbLeftPosition = this.getPXFromSeconds((currentTime - periodStart) / 1000);\n\n this.changeThumbStyle(thumbLeftPosition);\n this.keepThumbPosition(thumbLeftPosition);\n }\n\n changeThumbStyle (thumbLeftPosition) {\n if (this.thumb && Math.trunc(thumbLeftPosition) !== this.thumbPosition) {\n this.thumb.style.transform = `translateX(${thumbLeftPosition - (this.thumbWidth / 2)}px)`;\n }\n }\n\n /* BRING */\n getPeriodForZoomUpByPointer () {\n const playingTime = this.playingTime || dayjs(new Date()).valueOf();\n\n return this.getPeriodForZoomUp(playingTime);\n }\n\n getPeriodForZoomUp (playingTime) {\n if (this.isZoomUpAllowed) {\n return {\n start: this.period.start + this.getStartModifier(playingTime),\n end : this.period.end - this.getEndModifier(playingTime),\n };\n }\n\n return false;\n }\n\n /* put away */\n getPeriodForZoomDownByPointer () {\n const playingTime = this.playingTime || dayjs(new Date()).valueOf();\n\n return this.getPeriodForZoomDown(playingTime);\n }\n\n getPeriodForZoomDown (playingTime) {\n const currentTime = dayjs(new Date()).valueOf();\n\n if (this.isZoomDownAllowed) {\n return {\n start: this.period.start - this.getStartModifier(playingTime),\n end : this.period.end >= currentTime + (3 * HOUR_IN_MS)\n ? this.period.end : this.period.end + this.getEndModifier(playingTime),\n };\n }\n\n return false;\n }\n\n getPeriodForMoveLeft () {\n return {\n start: this.period.start - this.periodModifier,\n end : this.period.end - this.periodModifier,\n };\n }\n\n getPeriodForMoveRight () {\n return {\n start: this.period.start + this.periodModifier,\n end : this.period.end + this.periodModifier,\n };\n }\n\n getPeriodForGoToCenter () {\n return {\n start: this.playingTime - (this.duration / 2),\n end : this.playingTime + (this.duration / 2),\n };\n }\n\n getStartModifier (playingTime) {\n return ((playingTime - this.period.start) / this.duration) * (this.periodModifier * 2);\n }\n\n getEndModifier (playingTime) {\n return ((this.period.end - playingTime) / this.duration) * (this.periodModifier * 2);\n }\n\n getAnnotationsByTypes (annotations) {\n const annotationsByType = {};\n\n if (annotations.length === 0) {\n annotationsByType.empty = [];\n }\n else {\n annotations.forEach((annotation) => {\n if (annotationsByType[annotation.type]) {\n annotationsByType[annotation.type].push(this.adaptAnnotation(annotation));\n }\n else {\n annotationsByType[annotation.type] = [this.adaptAnnotation(annotation)];\n }\n });\n }\n\n return annotationsByType;\n }\n\n adaptAnnotation (annotation) {\n const startSeconds = convertDateToSeconds(this.period.start);\n const annotationStart = convertDateToSeconds(annotation.time);\n const annotationEnd = convertDateToSeconds(annotation.timeEnd);\n\n return {\n ...annotation,\n startSeconds: annotationStart,\n width: this.getPXFromSeconds(annotationEnd - startSeconds)\n - this.getPXFromSeconds(annotationStart - startSeconds),\n left : this.getPXFromSeconds(annotationStart - startSeconds),\n color: ProgressBarController.getAnnotationColorByType(annotation.type),\n };\n }\n\n static getAnnotationColorByType (type) {\n switch (type) {\n case ANNOTATION_TYPES.EVENT:\n return '#ece283';\n default:\n return '#d466d4';\n }\n }\n\n /* PRIVATE METHODS */\n\n getProgressBarWidth () {\n return this.progressBar ? getCoords(this.progressBar).width : 0;\n }\n\n updatePlayingTime (time) {\n this.setPlayingTime(time);\n this.innerPlayingTime(time);\n this.updateThumbPos(time, this.period.start);\n }\n\n setPlayingTime (time) {\n this.playingTime = time;\n }\n\n keepThumbPosition (thumbPosition) {\n this.thumbPosition = thumbPosition;\n }\n\n getPlaylistByIntervalType (intervalElem, clientX, annotationStartSeconds) {\n let newInterval = this.intervals[intervalElem.dataset.index];\n let playingPeriod = null;\n let newViewMode = PLAYER_VIEW_MODES.LIVE;\n\n if (intervalElem.dataset.type === RANGE_TYPES.GAP && this.isLastElem(intervalElem)) {\n return false;\n }\n\n if (intervalElem.dataset.type !== RANGE_TYPES.LIVE) {\n let newCurrentSeconds = 0;\n\n if (intervalElem.dataset.type === RANGE_TYPES.GAP) {\n newInterval = this.intervals[Number(intervalElem.dataset.index) + 1];\n newCurrentSeconds = newInterval.start;\n }\n else if (intervalElem.dataset.type === RANGE_TYPES.FRAGMENT) {\n newCurrentSeconds = annotationStartSeconds\n ? annotationStartSeconds - (this.period.start / 1000) - 10\n : this.getSecondsFromPos(clientX);\n }\n\n playingPeriod = {\n start: (newCurrentSeconds * 1000) + this.period.start,\n end : this.getCorrectedPlayingPeriodEnd(newCurrentSeconds, newInterval.end),\n };\n\n newViewMode = PLAYER_VIEW_MODES.ARCHIVE;\n }\n\n return { newInterval, playingPeriod, newViewMode };\n }\n\n isLastElem (elem) {\n return this.intervals.length === Number(elem.dataset.index) + 1;\n }\n\n getSecondsFromPos (clientX) {\n const leftShift = this.progressBar ? this.progressBar.getBoundingClientRect().left : 0;\n return this.getSecondsFromPX(clientX - leftShift);\n }\n\n innerPlayingTime (time) {\n const currentTimeElem = ProgressBarController.getElem(getCurrentDateId(this.playerId));\n\n if (currentTimeElem) {\n currentTimeElem.innerHTML = formatDate(time, 'HH:mm:ss, D MMMM');\n }\n }\n\n getNextPeriodAfterGap (index) {\n return this.intervals[index]\n ? {\n start: this.intervals[index].start * 1000 + this.period.start,\n end : this.getCorrectedPlayingPeriodEnd(\n this.intervals[index].start,\n this.intervals[index].end,\n ),\n type : this.intervals[index].type,\n }\n : null;\n }\n\n /* end PRIVATE METHODS */\n\n static getElem (id) {\n return document.getElementById(id);\n }\n\n static getCurrentTimeInMS (videoCurrentTime) {\n return videoCurrentTime * 1000;\n }\n}\n","/* eslint-disable no-param-reassign */\n/* eslint-disable no-unused-vars */\n/* eslint-disable object-curly-newline */\n/* eslint-disable import/no-cycle */\nimport dayjs from 'dayjs';\nimport axios from 'axios';\nimport { PLAYER_VIEW_MODES } from '@/constants/main';\nimport { cloneObjDeep } from '@/extends/lib';\nimport {\n getArchiveStatsUrl,\n getAvailableDaysUrl,\n getRangesUrl,\n ANNOTATIONS_URL,\n getDownloadArchiveUrl,\n} from '@/constants/api';\nimport httpClient from '@/config/httpClient';\nimport { RANGE_TYPES } from '@/components/ycc-player/constants';\nimport ProgressBarController from '@/components/ycc-player/extends/ProgressBarController';\nimport {\n getDefaultStart,\n getDefaultEnd,\n getDefaultPeriod,\n getDefaultDownloadLimitsPX,\n getDefaultPeriodISO,\n} from './lib';\n\nconst { CancelToken } = axios;\n\nexport default {\n namespaced: true,\n state : {\n archiveStats : null,\n availableDays : [],\n annotations : [],\n annotationsByTypes: [],\n\n speedIndex : 1,\n archiveDownloadMaxSeconds: 3600,\n downloadLimitsPX : getDefaultDownloadLimitsPX(),\n\n isVisibleDownloadBlock : false,\n isFetchingArchive : false,\n isFetchingArchiveRanges: false,\n isFetchingAnnotations : false,\n isPlaying : false,\n isLoading : false,\n\n cancelArchiveRangesRequest: null,\n archiveDataWatcherTimer : null,\n\n /* progress-bar period */\n period : getDefaultPeriod(),\n periodISO: getDefaultPeriodISO(),\n\n /* progress-bar ranges */\n ranges : [],\n intervals: [],\n\n /* live/archive */\n playerViewMode: PLAYER_VIEW_MODES.LIVE,\n playlist : null,\n\n progressBarController: null,\n },\n getters : {\n hasArchive : (state) => !!state.archiveStats && !!state.archiveStats.period,\n archiveDownloadMaxPX: (state) => {\n return state.progressBarController\n ? state.progressBarController.getPXFromSeconds(state.archiveDownloadMaxSeconds)\n : 0;\n },\n getSecondsInPx : (state) => () => {\n return state.progressBarController ? state.progressBarController.secondsInPx() : 0;\n },\n },\n actions : {\n /* bring */\n zoomUpByPointer ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('zoomUp', {\n streamUid,\n streamId,\n period: state.progressBarController.getPeriodForZoomUpByPointer(),\n });\n },\n zoomUp ({ commit, state, getters, dispatch }, { streamUid, streamId, period }) {\n if (state.progressBarController.isZoomUpAllowed) {\n dispatch('updatePeriod', {\n period,\n streamId,\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n }\n },\n /* put away */\n zoomDownByPointer ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('zoomDown', {\n streamUid,\n streamId,\n period: state.progressBarController.getPeriodForZoomDownByPointer(),\n });\n },\n zoomDown ({ commit, state, getters, dispatch }, { streamUid, streamId, period }) {\n if (state.progressBarController.isZoomDownAllowed) {\n dispatch('updatePeriod', {\n period,\n streamId,\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n }\n },\n toCenter ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n if (state.playerViewMode === PLAYER_VIEW_MODES.LIVE && !state.playlist) {\n return;\n }\n\n dispatch('updatePeriod', {\n streamId,\n period : state.progressBarController.getPeriodForGoToCenter(),\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n },\n moveLeft ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('updatePeriod', {\n streamId,\n period : state.progressBarController.getPeriodForMoveLeft(),\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n },\n moveRight ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n dispatch('updatePeriod', {\n streamId,\n period : state.progressBarController.getPeriodForMoveRight(),\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n needRunWatcher : true,\n needFetchData : true,\n });\n },\n updatePeriodAfterDrag ({ commit, dispatch, state }, { period }) {\n dispatch('updatePeriod', {\n period,\n isArchiveEnable: true,\n needRunWatcher : false,\n needFetchData : false,\n });\n },\n resetPeriod ({ dispatch }) {\n dispatch('updatePeriod', {\n period: {\n start: getDefaultStart(),\n end : getDefaultEnd(),\n },\n });\n },\n\n updateRanges ({ dispatch, commit }, { ranges }) {\n function getSplitLastRange () {\n const lastRange = ranges && ranges[ranges.length - 1]\n ? cloneObjDeep(ranges[ranges.length - 1])\n : null;\n\n if (lastRange && !lastRange.status && dayjs(lastRange.date).valueOf() <= Date.now()) {\n lastRange.date = dayjs().toISOString();\n return lastRange;\n }\n return null;\n }\n\n const liveRange = getSplitLastRange();\n\n if (liveRange) {\n ranges.push(liveRange);\n }\n\n dispatch('saveRanges', { ranges });\n },\n saveRanges ({ state, commit }, { ranges }) {\n state.progressBarController.setRanges(ranges);\n commit('setRanges', { ranges });\n commit('setIntervals', { intervals: state.progressBarController.intervals });\n },\n updatePlaylist ({ commit, state }, { url, period, mode }) {\n if (mode === PLAYER_VIEW_MODES.ARCHIVE) {\n const startTime = dayjs(new Date(period.start)).toISOString();\n const endTime = dayjs(new Date(period.end)).toISOString();\n\n commit('setPlaylist', {\n playlist: {\n period,\n url: `${url}?start_time=${startTime}&end_time=${endTime}`,\n },\n });\n }\n else {\n commit('setPlaylist', { playlist: { url } });\n }\n },\n\n fetchArchive (\n { commit, dispatch, getters, state },\n { startTime, endTime, streamUid, streamId, isArchiveEnable },\n ) {\n if (isArchiveEnable) {\n commit('setFetching', { isFetchingArchive: true });\n\n httpClient\n .get(getRangesUrl(streamUid), {\n params: {\n start_time: startTime,\n end_time : endTime,\n },\n })\n .then((response) => {\n if (response.data.period) {\n dispatch('updatePeriod', {\n period: {\n start: dayjs(new Date(response.data.period.startTime)).valueOf(),\n end : dayjs(new Date(response.data.period.endTime)).valueOf(),\n },\n });\n dispatch('updateRanges', { ranges: response.data.ranges });\n dispatch('fetchAnnotations', { streamUid, isArchiveEnable, streamId });\n dispatch('fetchArchiveStats', { streamUid, isArchiveEnable });\n }\n })\n .finally(() => {\n commit('setFetching', { isFetchingArchive: false });\n });\n }\n },\n fetchArchiveRanges ({ commit, dispatch, getters, state }, { rangesUrl, isArchiveEnable }) {\n if (isArchiveEnable) {\n commit('setFetchingArchiveRanges', { isFetchingArchiveRanges: true });\n\n httpClient\n .get(rangesUrl, {\n params : {\n start_time: state.progressBarController.periodISO.start,\n end_time : state.progressBarController.periodISO.end,\n },\n cancelToken: new CancelToken((cancel) => {\n state.cancelArchiveRangesRequest = cancel;\n }),\n })\n .then((response) => {\n if (response.data.period) {\n dispatch('updateRanges', { ranges: response.data.ranges });\n }\n state.cancelArchiveRangesRequest = null;\n })\n .finally(() => {\n commit('setFetchingArchiveRanges', { isFetchingArchiveRanges: false });\n });\n }\n },\n fetchArchiveStats ({ commit, dispatch }, { streamUid, isArchiveEnable }) {\n if (isArchiveEnable) {\n const url = getArchiveStatsUrl(streamUid);\n\n httpClient\n .get(url)\n .then((res) => {\n if (res.data.period) {\n dispatch('updateArchiveStats', { stats: res.data });\n dispatch(\n 'fetchAvailableDays',\n {\n startDay: res.data.period.startTime,\n endDay : res.data.period.endTime,\n streamUid,\n isArchiveEnable,\n },\n );\n }\n });\n }\n },\n fetchAvailableDays ({ commit, dispatch, getters, state }, { startDay, endDay, streamUid, isArchiveEnable }) {\n if (isArchiveEnable) {\n const url = getAvailableDaysUrl(streamUid);\n\n httpClient\n .get(url, {\n params: {\n start_time: startDay,\n end_time : endDay,\n },\n })\n .then((res) => {\n commit('setAvailableDays', { availableDays: res.data });\n });\n }\n },\n fetchArchiveData ({ dispatch }, { rangesUrl, isArchiveEnable, streamId }) {\n dispatch('fetchArchiveRanges', { rangesUrl, isArchiveEnable, streamId });\n dispatch('fetchAnnotations', { isArchiveEnable, streamId });\n },\n fetchAnnotations ({ state, dispatch, commit }, { isArchiveEnable, streamId }) {\n if (isArchiveEnable) {\n commit('setFetchingAnnotations', { isFetchingAnnotations: true });\n\n httpClient\n .get(ANNOTATIONS_URL, {\n params: {\n streamId,\n from: state.progressBarController.periodISO.start,\n to : state.progressBarController.periodISO.end,\n },\n })\n .then((res) => {\n dispatch('updateAnnotations', { annotations: res.data });\n })\n .finally(() => {\n commit('setFetchingAnnotations', { isFetchingAnnotations: false });\n });\n }\n },\n fetchDownloadArchiveUrl ({ commit, getters }, { streamUid, downloadPeriod }) {\n return httpClient\n .get(getDownloadArchiveUrl({ streamUid }), {\n params: {\n start_time : dayjs(downloadPeriod.start).toISOString(),\n end_time : dayjs(downloadPeriod.end).toISOString(),\n timezone_offset: dayjs().utcOffset(),\n },\n })\n .then((res) => res.data);\n },\n\n updateAnnotations ({ state, commit }, { annotations }) {\n commit('setAnnotations', { annotations });\n commit('setAnnotationsByTypes', {\n annotations: state.progressBarController.getAnnotationsByTypes(annotations),\n });\n },\n resetArchiveData ({ commit, dispatch }) {\n commit('setAvailableDays', { availableDays: [] });\n commit('setPlaylist', { playlist: null });\n dispatch('updateAnnotations', { annotations: [] });\n dispatch('updateArchiveStats', { stats: null });\n dispatch('saveRanges', { ranges: [] });\n dispatch('updatePeriod', { period: getDefaultPeriod() });\n dispatch('updatePlayerViewMode', { mode: PLAYER_VIEW_MODES.LIVE });\n },\n createArchiveDataWatcher ({ commit, dispatch, getters }, { rangesUrl, isArchiveEnable, streamId }) {\n dispatch('clearArchiveDataWatcher');\n\n function getTime (secondsInPx) {\n return secondsInPx * 6 * 1000 > 3500 ? secondsInPx * 6 * 1000 : 3500;\n }\n\n const time = getTime(getters.getSecondsInPx());\n\n let timer = setTimeout(function tick () {\n dispatch('fetchArchiveData', { rangesUrl, isArchiveEnable, streamId });\n\n timer = setTimeout(tick, time);\n commit('setArchiveDataWatcherTimer', { timer });\n }, time);\n\n commit('setArchiveDataWatcherTimer', { timer });\n },\n clearArchiveDataWatcher ({ state }) {\n clearTimeout(state.archiveDataWatcherTimer);\n },\n\n /* for Player */\n updateSpeedIndex ({ commit }, { speedIndex }) {\n commit('setSpeedIndex', { speedIndex });\n },\n goToLive ({ dispatch, getters, commit }, {\n isSeek,\n rangesUrl,\n liveUrl,\n isAvailableStream,\n isArchiveEnable,\n streamId,\n needFetchData,\n }) {\n dispatch('updatePlayerViewMode', { mode: PLAYER_VIEW_MODES.LIVE });\n\n if (isAvailableStream) {\n if (!isSeek) {\n dispatch('updatePeriod', {\n rangesUrl,\n isArchiveEnable,\n streamId,\n needFetchData,\n period: {\n start: dayjs(new Date(getDefaultStart())).valueOf(),\n end : dayjs(new Date(getDefaultEnd())).valueOf(),\n },\n });\n }\n dispatch('updatePlaylist', {\n url : liveUrl,\n mode : PLAYER_VIEW_MODES.LIVE,\n period: null,\n });\n }\n else {\n dispatch('goToEmptyState');\n }\n },\n goToArchive ({ dispatch, state }, { period, playlistUrl }) {\n dispatch('updatePlaylist', {\n period,\n url : playlistUrl,\n mode: PLAYER_VIEW_MODES.ARCHIVE,\n });\n state.progressBarController.updatePlayingTime(period.start);\n dispatch('updatePlayerViewMode', { mode: PLAYER_VIEW_MODES.ARCHIVE });\n },\n goToEmptyState ({ commit, state }) {\n state.progressBarController.updatePlayingTime(0);\n commit('setPlaylist', { playlist: null });\n },\n updatePlayerViewMode ({ state, commit, dispatch }, { mode }) {\n commit('setPlayerViewMode', { mode });\n\n if (mode === PLAYER_VIEW_MODES.LIVE) {\n dispatch('updateSpeedIndex', { speedIndex: 1 });\n }\n },\n updateArchiveStats ({ state, commit }, { stats }) {\n if (state.progressBarController) {\n state.progressBarController.setArchiveStatsPeriod(stats?.period || null);\n // todo: requests queue\n commit('setIntervals', { intervals: state.progressBarController.intervals });\n }\n commit('setArchiveStats', { stats });\n },\n handleEndedVideo ({ dispatch, state }, { playlistUrl, liveUrl, isAvailableStream }) {\n const period = state.progressBarController.getNewPlaylistPeriodAfterEnding();\n\n if (period.type === RANGE_TYPES.FRAGMENT) {\n dispatch('goToArchive', {\n period,\n playlistUrl,\n });\n }\n else {\n dispatch('goToLive', {\n liveUrl,\n isAvailableStream,\n isSeek: true,\n });\n }\n },\n\n updatePeriod ({ commit, dispatch, state }, {\n period,\n rangesUrl,\n isArchiveEnable,\n streamId,\n needRunWatcher,\n needFetchData,\n }) {\n dispatch('setPeriod', { period })\n .then(() => {\n if (needFetchData) {\n dispatch('fetchArchiveData', { rangesUrl, isArchiveEnable, streamId });\n }\n\n if (needRunWatcher) {\n dispatch('createArchiveDataWatcher', { rangesUrl, streamId, isArchiveEnable });\n }\n\n if (!state.isPlaying) {\n state.progressBarController.updateThumbPos(\n state.progressBarController.playingTime,\n state.progressBarController.period.start,\n );\n }\n });\n },\n setPeriod ({ state, commit }, { period }) {\n state.progressBarController.setPeriod(period);\n commit('setPeriod', { period });\n commit('setPeriodISO', { periodISO: state.progressBarController.periodISO });\n commit('setIntervals', { intervals: state.progressBarController.intervals });\n },\n\n buildProgressBarController ({ state, commit }, {\n playerId,\n thumbWidth,\n }) {\n commit('setProgressBarController', {\n progressBarController: new ProgressBarController({\n playerId,\n thumbWidth,\n }),\n });\n },\n },\n mutations : {\n setPeriod (state, { period }) {\n state.period = period;\n },\n setPeriodISO (state, { periodISO }) {\n state.periodISO = periodISO;\n },\n setPlaylist (state, { playlist }) {\n state.playlist = playlist;\n },\n setRanges (state, { ranges }) {\n state.ranges = ranges;\n },\n setPlayerViewMode (state, { mode }) {\n state.playerViewMode = mode;\n },\n setFetching (state, { isFetchingArchive }) {\n state.isFetchingArchive = isFetchingArchive;\n },\n setAvailableDays (state, { availableDays }) {\n state.availableDays = availableDays;\n },\n setFetchingArchiveRanges (state, { isFetchingArchiveRanges }) {\n state.isFetchingArchiveRanges = isFetchingArchiveRanges;\n },\n setArchiveStats (state, { stats }) {\n state.archiveStats = stats;\n },\n setArchiveDataWatcherTimer (state, { timer }) {\n state.archiveDataWatcherTimer = timer;\n },\n setDownloadBlockVisibility (state, { isVisibleDownloadBlock }) {\n state.isVisibleDownloadBlock = isVisibleDownloadBlock;\n },\n setDownloadLimits (state, { downloadLimitsPX }) {\n state.downloadLimitsPX = downloadLimitsPX;\n },\n setArchiveDownloadMaxSeconds (state, { archiveDownloadMaxSeconds }) {\n state.archiveDownloadMaxSeconds = archiveDownloadMaxSeconds;\n },\n setAnnotations (state, { annotations }) {\n state.annotations = annotations;\n },\n setAnnotationsByTypes (state, { annotations }) {\n state.annotationsByTypes = annotations;\n },\n setFetchingAnnotations (state, { isFetchingAnnotations }) {\n state.isFetchingAnnotations = isFetchingAnnotations;\n },\n setSpeedIndex (state, { speedIndex }) {\n state.speedIndex = speedIndex;\n },\n setPlayingState (state, { isPlaying }) {\n state.isPlaying = isPlaying;\n },\n setLoadingState (state, { isLoading }) {\n state.isLoading = isLoading;\n },\n setIntervals (state, { intervals }) {\n state.intervals = intervals;\n },\n setProgressBarController (state, { progressBarController }) {\n state.progressBarController = progressBarController;\n },\n },\n};\n","import {\n getDeleteToken,\n PROFILE_TOKEN_URL,\n PROFILE_TOKENS_URL,\n SYSTEM_SETTINGS_URL,\n USER_URL,\n} from '@/constants/api';\nimport { PROFILE_UPDATED_NOTICE } from '@/constants/noticeTypes';\nimport { USER_PERMISSION_TYPES } from '@/constants/main';\n// eslint-disable-next-line import/no-cycle\nimport httpClient from '@/config/httpClient';\n\n/* eslint-disable no-param-reassign */\n/* eslint-disable object-curly-newline */\nexport default {\n namespaced: true,\n state : {\n user : null,\n tokens: [],\n\n isSavingProfile : false,\n isChangingPassword: false,\n isFetchingProfile : false,\n isFetchingTokens : false,\n isSavingToken : false,\n },\n getters : {\n userLang : (state) => {\n let lang = null;\n if (state.user) {\n lang = state.user.language;\n }\n return lang;\n },\n isAdminProfile : (state) => state.user && state.user.permissionType === USER_PERMISSION_TYPES.ADMIN,\n isReadOnlyProfile: (state) => state.user && (state.user.maxStreamCreation === 0 && !state.user.isAdmin),\n isManaged : (state) => state?.user?.isManaged,\n },\n mutations : {\n setUser (state, { user }) {\n state.user = user ? {\n ...user,\n permissionType: user.isAdmin ? USER_PERMISSION_TYPES.ADMIN : USER_PERMISSION_TYPES.USER,\n } : user;\n },\n setTokens (state, { tokens }) {\n state.tokens = tokens;\n },\n },\n actions : {\n fetchUser ({ commit, state }) {\n if (state.user) {\n return;\n }\n\n state.isFetchingProfile = true;\n\n httpClient\n .get(USER_URL)\n .then((res) => {\n commit('setUser', { user: res.data });\n })\n .finally(() => {\n state.isFetchingProfile = false;\n });\n },\n saveUser ({ commit, state, dispatch }, { email, login, password, fullName, oldPassword, language }) {\n state.isSavingProfile = true;\n\n httpClient\n .patch(USER_URL, {\n email,\n password,\n oldPassword,\n language,\n fullName,\n name: login,\n })\n .then(() => {\n const adaptedUser = {\n ...state.user,\n isAdmin : state.user.permissionType === USER_PERMISSION_TYPES.ADMIN,\n readOnly: Number(state.user.maxStreamCreation) === 0\n && state.user.permissionType === USER_PERMISSION_TYPES.USER,\n };\n\n commit('setUser', {\n user: { ...adaptedUser, name: login, email, language, fullName },\n });\n commit(\n 'setNotice',\n { name: PROFILE_UPDATED_NOTICE },\n { root: true },\n );\n\n if (password && oldPassword) {\n dispatch('updateAuthToken', { login, password });\n }\n })\n .finally(() => {\n setTimeout(() => {\n state.isSavingProfile = false;\n }, 300);\n });\n },\n saveUserLang ({ commit, state }, { language }) {\n commit('setUser', { user: { ...state.user, language } });\n\n httpClient\n .patch(USER_URL, { language, email: state.user.email, name: state.user.name });\n },\n updateAuthToken ({ dispatch }, { password, login }) {\n const credentials = {\n password,\n name: login,\n };\n\n dispatch('auth', { credentials }, { root: true });\n },\n clearUser ({ commit }) {\n commit('setUser', { user: null });\n },\n fetchTokens ({ commit }) {\n httpClient\n .get(PROFILE_TOKENS_URL)\n .then((res) => {\n commit('setTokens', { tokens: res.data });\n })\n .finally();\n },\n createToken ({ state, commit }, { expireTime, name }) {\n state.isSavingToken = true;\n\n return httpClient\n .post(PROFILE_TOKEN_URL, { expireTime, name })\n .then((res) => {\n commit('setTokens', { tokens: [res.data, ...state.tokens] });\n return res.data;\n })\n .finally(() => {\n state.isSavingToken = false;\n });\n },\n deleteToken ({ state }, { tokenId }) {\n state.isDeletingToken = true;\n\n httpClient\n .delete(getDeleteToken(tokenId));\n },\n fetchSettings () {\n return httpClient\n .get(SYSTEM_SETTINGS_URL)\n .then((res) => {\n return res.data;\n });\n },\n },\n};\n","import axios from 'axios';\nimport {\n USERS_URL,\n USER_URL,\n STATS_URL,\n CONFIG_URL,\n SYSTEM_STATS_URL,\n API_VERSION_CHECK,\n SERVER_DEBUG_URL,\n getBlockUserUrl,\n getUnblockUserUrl,\n getUserPermissionsUrl,\n} from '@/constants/api';\nimport {\n USER_BLOCKED_NOTICE,\n USER_SAVED_NOTICE,\n USER_UNBLOCKED_NOTICE,\n} from '@/constants/noticeTypes';\nimport {\n USER_ACCESSES,\n USER_PERMISSION_TYPES,\n} from '@/constants/main';\n/* eslint-disable import/no-cycle */\nimport httpClient from '@/config/httpClient';\n\nconst { CancelToken } = axios;\n\n/* eslint-disable no-param-reassign */\n/* eslint-disable object-curly-newline */\nexport default {\n namespaced: true,\n state : {\n stats : null,\n systemStats : null,\n config : null,\n users : null,\n logs : null,\n currentUser : null,\n isEditMode : false,\n versionInfo : null,\n currentUserPermissions: [],\n\n isFetchingUsers : false,\n isSavingUser : false,\n isFetchingUser : false,\n isDeletingUser : false,\n isFetchingConfig : false,\n isFetchingStats : false,\n isFetchingLogs : false,\n isAddingPermission : false,\n isFetchingPermissions: false,\n\n fetchingLogsTimer: null,\n cancelLogsRequest: null,\n },\n mutations : {\n setUsers (state, { users }) {\n state.users = users;\n },\n setEditMode (state, { isEditMode }) {\n state.isEditMode = isEditMode;\n },\n setCurrentUser (state, { user }) {\n state.currentUser = {\n ...user,\n permissionType: user.isAdmin ? USER_PERMISSION_TYPES.ADMIN : USER_PERMISSION_TYPES.USER,\n };\n },\n setStats (state, { stats }) {\n state.stats = stats;\n },\n setConfig (state, { config }) {\n state.config = config;\n },\n setSystemStats (state, { systemStats }) {\n state.systemStats = systemStats;\n },\n setVersionInfo (state, { versionInfo }) {\n state.versionInfo = versionInfo;\n },\n setLogs (state, { logs }) {\n state.logs = logs;\n },\n setFetchingLogsTimer (state, { timer }) {\n state.fetchingLogsTimer = timer;\n },\n clearFetchingLogsTimer (state) {\n clearTimeout(state.fetchingLogsTimer);\n },\n setCancelLogsRequest (state, { cancel }) {\n state.cancelLogsRequest = cancel;\n },\n setCurrentUserPermissions (state, { permissions }) {\n state.currentUserPermissions = permissions;\n },\n deleteCurrentUser (state) {\n state.currentUser = null;\n },\n },\n actions : {\n fetchUsers ({ commit, state }) {\n state.isFetchingUsers = true;\n\n httpClient\n .get(USERS_URL, {})\n .then((res) => {\n commit('setUsers', { users: res.data });\n })\n .finally(() => {\n state.isFetchingUsers = false;\n });\n },\n fetchUser ({ commit, state }, { login }) {\n state.isFetchingUser = true;\n\n httpClient\n .get(`${USER_URL}/${login}`)\n .then((res) => {\n commit('setCurrentUser', { user: res.data });\n })\n .finally(() => {\n state.isFetchingUser = false;\n });\n },\n addUser ({ dispatch }, { user }) {\n dispatch('saveUser', { user, isAdding: true });\n },\n saveUser ({ commit, state }, { user, isAdding }) {\n const url = isAdding ? USER_URL : `${USER_URL}/${user.name}`;\n state.isSavingUser = true;\n\n const adaptedUser = {\n ...user,\n isAdmin : user.permissionType === USER_PERMISSION_TYPES.ADMIN,\n maxStreamCreation: user.maxStreamCreation === ''\n ? -1 : Number(user.maxStreamCreation),\n };\n\n httpClient\n .post(url, adaptedUser)\n .then((res) => {\n commit('setCurrentUser', { user: res.data });\n\n commit(\n 'setNotice',\n { name: USER_SAVED_NOTICE },\n { root: true },\n );\n\n commit('setEditMode', { isEditMode: false });\n })\n .finally(() => {\n state.isSavingUser = false;\n });\n },\n updateCurrentUser ({ commit, state, dispatch }, { login }) {\n let user = state.currentUser || null;\n\n if (state.users) {\n state.users.some((item) => {\n if (item.name === login) {\n user = item;\n }\n\n return item.name === login;\n });\n }\n\n if (user) {\n commit('setCurrentUser', { user });\n }\n else {\n dispatch('fetchUser', { login });\n }\n },\n deleteUser ({ dispatch, state }, { login }) {\n state.isDeletingUser = true;\n\n return httpClient\n .delete(`${USER_URL}/${login}`)\n .then(() => {\n dispatch('fetchUsers');\n })\n .finally(() => {\n state.isDeletingUser = false;\n });\n },\n changeUserAccess ({ commit, state }, { login, access }) {\n const url = access === USER_ACCESSES.blocked\n ? getBlockUserUrl(login) : getUnblockUserUrl(login);\n\n return httpClient\n .post(url, { name: login })\n .then(() => {\n commit('setCurrentUser', {\n user: { ...state.currentUser, state: access },\n });\n\n commit(\n 'setNotice',\n { name: access === USER_ACCESSES.blocked ? USER_BLOCKED_NOTICE : USER_UNBLOCKED_NOTICE },\n { root: true },\n );\n });\n },\n clearCurrentUser ({ commit }) {\n commit('deleteCurrentUser');\n commit('setCurrentUserPermissions', { permissions: [] });\n },\n\n fetchStats ({ commit, state }) {\n state.isFetchingStats = true;\n\n httpClient\n .get(STATS_URL, {})\n .then((res) => {\n commit('setStats', { stats: res.data });\n })\n .finally(() => {\n state.isFetchingStats = false;\n });\n },\n fetchConfig ({ commit, state }) {\n state.isFetchingConfig = true;\n\n httpClient\n .get(CONFIG_URL, {})\n .then((res) => {\n commit('setConfig', { config: res.data });\n })\n .finally(() => {\n state.isFetchingConfig = false;\n });\n },\n fetchSystemStats ({ state, commit }) {\n state.isFetchingSystemStats = true;\n\n httpClient\n .get(SYSTEM_STATS_URL, {})\n .then((res) => {\n commit('setSystemStats', { systemStats: res.data });\n })\n .finally(() => {\n state.isFetchingSystemStats = false;\n });\n },\n fetchLogs ({ state, commit }) {\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n\n httpClient\n .get(SERVER_DEBUG_URL, {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelLogsRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setLogs', { logs: res.data });\n })\n .finally(() => {\n state.isFetchingLogs = false;\n });\n },\n runUpdatingLogs ({ state, commit, dispatch }) {\n state.isFetchingLogs = true;\n\n dispatch('fetchLogs');\n\n let timer = setTimeout(function tick () {\n dispatch('fetchLogs');\n\n timer = setTimeout(tick, 1000);\n commit('setFetchingLogsTimer', { timer });\n }, 1000);\n\n commit('setFetchingLogsTimer', { timer });\n },\n clearLogsTimer ({ commit, state }) {\n commit('clearFetchingLogsTimer');\n\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n },\n updateVersionData ({ commit }, { version }) {\n axios\n .get(API_VERSION_CHECK, { params: { v: encodeURI(version) } })\n .then((res) => {\n commit('setVersionInfo', { versionInfo: res.data });\n });\n },\n\n fetchUserPermissions ({ commit, state }, { login }) {\n state.isFetchingPermissions = true;\n\n httpClient\n .get(getUserPermissionsUrl(login))\n .then((res) => {\n commit('setCurrentUserPermissions', { permissions: res.data || [] });\n })\n .finally(() => {\n state.isFetchingPermissions = false;\n });\n },\n updateUserPermissions ({ commit, state }, { permissions, login }) {\n state.isAddingPermission = true;\n\n httpClient\n .post(getUserPermissionsUrl(login), permissions, { timeout: 60000 })\n .then((res) => {\n commit('setCurrentUserPermissions', { permissions: res.data });\n })\n .finally(() => {\n state.isAddingPermission = false;\n });\n },\n },\n};\n","import axios from 'axios';\nimport {\n ADDING_STREAM_URL,\n DELETE_STREAM_URL,\n PAUSE_STREAM_URL,\n PREVIEW_STREAM_URL,\n PROBE_STREAM_URL,\n RESUME_STREAM_URL,\n UPDATING_STREAM_URL,\n getStreamPermissionsUrl,\n getStreamShareUrl,\n getStreamLogsUrl,\n getStreamInfoUrl,\n} from '@/constants/api';\n// eslint-disable-next-line import/no-cycle\nimport httpClient from '@/config/httpClient';\nimport { STREAM_SOURCE_ERR } from '@/constants/errorTypes';\nimport { STREAM_INFO_SAVED_NOTICE } from '@/constants/noticeTypes';\n\nconst { CancelToken } = axios;\n\n/* eslint-disable no-param-reassign */\nexport default {\n namespaced: true,\n state : {\n // Add stream\n isSendingStream: false,\n\n fetchingStreamStatusTimer: null,\n cancelStreamInfoRequest : null,\n\n fetchingLogsTimer: null,\n cancelLogsRequest: null,\n\n // Info stream\n // Maps of Stream States\n deletingStateMap: {},\n changingStateMap: {},\n\n // StreamPage\n currentStream : null,\n isFetchingRunningStream: false,\n isFetchingStreamInfo : false,\n isDeletedStream : false,\n isFetchingLogs : false,\n\n currentStreamPermissions: [],\n currentStreamLogs : null,\n\n isAddingPermission : false,\n isFetchingStreamPermissions: false,\n },\n mutations : {\n // Add stream\n // Info Stream\n // StreamPage\n setStreamStatus (state, payload) {\n state.currentStream.status = payload;\n },\n setFailureReason (state, payload) {\n state.currentStream.failureReason = payload;\n },\n setStream (state, { stream }) {\n state.currentStream = { ...state.currentStream, ...stream };\n },\n deleteCurrentStream (state) {\n state.currentStream = null;\n state.currentStreamPermissions = null;\n state.currentStreamLogs = null;\n },\n setDeletingStreamState (state, { streamUid, streamState }) {\n const deletingStateMap = JSON.parse(JSON.stringify(state.deletingStateMap));\n deletingStateMap[streamUid] = streamState;\n state.deletingStateMap = deletingStateMap;\n },\n setChangingStreamState (state, { streamUid, streamState }) {\n const changingStateMap = JSON.parse(JSON.stringify(state.changingStateMap));\n changingStateMap[streamUid] = streamState;\n state.changingStateMap = changingStateMap;\n },\n setDeletedStreamState (state, { isDeletedStream }) {\n state.isDeletedStream = isDeletedStream;\n },\n setCurrentStreamPermissions (state, { permissions }) {\n state.currentStreamPermissions = permissions;\n },\n setCancelStreamInfoRequest (state, { cancel }) {\n state.cancelStreamInfoRequest = cancel;\n },\n setFetchingStatusTimer (state, { timer }) {\n state.fetchingStreamStatusTimer = timer;\n },\n clearFetchingStreamStatusTimer (state) {\n clearTimeout(state.fetchingStreamStatusTimer);\n },\n setLogs (state, { logs }) {\n state.currentStreamLogs = logs;\n },\n setFetchingLogsTimer (state, { timer }) {\n state.fetchingLogsTimer = timer;\n },\n clearFetchingLogsTimer (state) {\n clearTimeout(state.fetchingLogsTimer);\n },\n setCancelLogsRequest (state, { cancel }) {\n state.cancelLogsRequest = cancel;\n },\n },\n getters : {\n isArchiveEnable: (state) => !!state.currentStream?.archive?.isEnable,\n isLiveOnDemand : (state) => state.currentStream?.live.onDemand,\n },\n actions : {\n // Add stream\n async sendStream ({ commit, state }, payload) {\n let uid = null;\n state.isSendingStream = true;\n\n await httpClient\n .post(ADDING_STREAM_URL, payload, { timeout: 35000 })\n .then((res) => {\n commit('deleteError', { name: STREAM_SOURCE_ERR }, { root: true });\n // eslint-disable-next-line prefer-destructuring\n uid = res.data.uid;\n })\n .finally(() => {\n state.isSendingStream = false;\n });\n\n return uid;\n },\n // Info stream\n pauseStream ({ commit }, { streamUid }) {\n commit('setChangingStreamState', { streamUid, streamState: true });\n\n httpClient\n .post(`${PAUSE_STREAM_URL}/${streamUid}`)\n .then((res) => {\n commit('setStreamStatus', res.data.status);\n })\n .finally(() => {\n commit('setChangingStreamState', { streamUid, streamState: false });\n });\n },\n resumeStream ({ commit }, { streamUid }) {\n commit('setChangingStreamState', { streamUid, streamState: true });\n\n httpClient\n .post(`${RESUME_STREAM_URL}/${streamUid}`)\n .then((res) => {\n commit('setStreamStatus', res.data.status);\n })\n .finally(() => {\n commit('setChangingStreamState', { streamUid, streamState: false });\n });\n },\n deleteStream ({ commit }, { streamUid }) {\n commit('setDeletingStreamState', { streamUid, streamState: true });\n\n httpClient\n .delete(`${DELETE_STREAM_URL}/${streamUid}`, {\n params: { purge: true },\n })\n .then(() => {\n commit('setDeletedStreamState', { isDeletedStream: true });\n })\n .finally(() => {\n commit('setDeletingStreamState', { streamUid, streamState: false });\n });\n },\n saveStream ({ commit, state, dispatch }, stream) {\n state.isSendingStream = true;\n\n httpClient\n .put(`${UPDATING_STREAM_URL}/${stream.uid}`, stream)\n .then((res) => {\n commit('setStream', { stream: res.data });\n dispatch('updateStreamInStreams', { stream: res.data });\n commit('setNotice', { name: STREAM_INFO_SAVED_NOTICE }, { root: true });\n })\n .finally(() => {\n state.isSendingStream = false;\n });\n },\n updateStreamInStreams ({ commit, rootState }, { stream }) {\n const streams = rootState.streams.map((streamItem) => {\n if (streamItem.uid === stream.uid) {\n Object.keys(stream).forEach((key) => {\n streamItem[key] = stream[key];\n });\n }\n return streamItem;\n });\n commit('setStreams', { streams }, { root: true });\n },\n async probeStream (store, { streamUrl, streamId }) {\n return axios\n .get(PROBE_STREAM_URL, { params: { url: streamUrl, stream_id: streamId }, timeout: 60000 })\n .then((res) => res.data);\n },\n async previewStream (store, { streamUrl, streamId }) {\n return axios\n .get(PREVIEW_STREAM_URL, { params: { url: streamUrl, stream_id: streamId }, timeout: 60000 })\n .then((res) => res.data);\n },\n // Info stream, StreamPage\n runUpdatingStreamStatus ({ commit, dispatch }, { streamUid, isPlayer }) {\n dispatch('fetchStreamStatus', { streamUid, isPlayer });\n\n let timer = setTimeout(function tick () {\n dispatch('fetchStreamStatus', { streamUid, isPlayer });\n\n timer = setTimeout(tick, 1000);\n commit('setFetchingStatusTimer', { timer });\n }, 1000);\n\n commit('setFetchingStatusTimer', { timer });\n },\n clearStreamTimers ({ commit, state }) {\n commit('clearFetchingStreamStatusTimer');\n if (state.cancelStreamInfoRequest) {\n state.cancelStreamInfoRequest('replaced');\n }\n },\n shareStream (store, { streamUid }) {\n return httpClient\n .get(getStreamShareUrl(streamUid))\n .then((res) => res.data);\n },\n denyStreamPublicAccess (store, { streamUid }) {\n return httpClient\n .delete(getStreamShareUrl(streamUid))\n .then((res) => res.data);\n },\n\n // StreamPage\n fetchStream ({ commit, state, getters }, { streamUid, isPlayer }) {\n state.isFetchingRunningStream = true;\n\n httpClient\n .get(getStreamInfoUrl(streamUid, getters.isLiveOnDemand && isPlayer))\n .then((res) => {\n commit('setStream', { stream: res.data });\n })\n .finally(() => {\n state.isFetchingRunningStream = false;\n });\n },\n fetchStreamStatus ({ commit, state, getters }, { streamUid, isPlayer }) {\n if (state.cancelStreamInfoRequest) {\n state.cancelStreamInfoRequest('replaced');\n }\n\n if (state.currentStream) {\n httpClient\n .get(getStreamInfoUrl(streamUid, getters.isLiveOnDemand && isPlayer), {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelStreamInfoRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setStreamStatus', res.data.status);\n commit('setFailureReason', res.data.failureReason);\n });\n }\n },\n fetchStreamInfo ({ commit, state, getters }, { streamUid, isPlayer }) {\n state.isFetchingStreamInfo = true;\n\n if (state.cancelStreamInfoRequest) {\n state.cancelStreamInfoRequest('replaced');\n }\n\n httpClient\n .get(getStreamInfoUrl(streamUid, getters.isLiveOnDemand && isPlayer), {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelStreamInfoRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setStream', { stream: res.data });\n state.isFetchingStreamInfo = false;\n })\n .catch(() => {\n state.isFetchingStreamInfo = false;\n });\n },\n fetchLogs ({ state, commit }, { uid }) {\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n\n httpClient\n .get(getStreamLogsUrl(uid), {\n cancelToken: new CancelToken((cancel) => {\n commit('setCancelLogsRequest', { cancel });\n }),\n })\n .then((res) => {\n commit('setLogs', { logs: res.data });\n })\n .finally(() => {\n state.isFetchingLogs = false;\n });\n },\n runUpdatingLogs ({ state, commit, dispatch }, { uid }) {\n state.isFetchingLogs = true;\n\n dispatch('fetchLogs', { uid });\n\n let timer = setTimeout(function tick () {\n dispatch('fetchLogs', { uid });\n\n timer = setTimeout(tick, 1000);\n commit('setFetchingLogsTimer', { timer });\n }, 1000);\n\n commit('setFetchingLogsTimer', { timer });\n },\n clearLogsTimer ({ commit, state }) {\n commit('clearFetchingLogsTimer');\n\n if (state.cancelLogsRequest) {\n state.cancelLogsRequest('replaced');\n }\n },\n updateCurrentStream ({ dispatch }, { streamUid, isPlayer }) {\n dispatch('fetchStream', { streamUid, isPlayer });\n },\n clearCurrentStream ({ commit }) {\n commit('deleteCurrentStream');\n },\n fetchStreamPermissions ({ commit, state }, { streamUid }) {\n state.isFetchingStreamPermissions = true;\n\n httpClient\n .get(getStreamPermissionsUrl(streamUid))\n .then((res) => {\n commit('setCurrentStreamPermissions', { permissions: res.data });\n })\n .finally(() => {\n state.isFetchingStreamPermissions = false;\n });\n },\n updatePermissions ({ commit, state }, { permissions, streamUid }) {\n state.isAddingPermission = true;\n\n httpClient\n .post(getStreamPermissionsUrl(streamUid), permissions)\n .then((res) => {\n commit('setCurrentStreamPermissions', { permissions: res.data });\n })\n .finally(() => {\n state.isAddingPermission = false;\n });\n },\n },\n};\n","/* eslint-disable import/no-cycle */\nimport httpClient from '@/config/httpClient';\nimport { LICENSE_URL } from '@/constants/api';\n\n/* eslint-disable no-param-reassign */\n/* eslint-disable object-curly-newline */\nexport default {\n namespaced: true,\n state : {\n license : null,\n isFetchingLicense: false,\n },\n mutations : {\n setLicense (state, { license }) {\n state.license = license;\n },\n },\n actions : {\n fetchLicense ({ commit, state }) {\n state.isFetchingLicense = true;\n\n httpClient\n .get(LICENSE_URL)\n .then((res) => {\n commit('setLicense', { license: res.data });\n })\n .finally(() => {\n state.isFetchingLicense = false;\n });\n },\n async putLicense ({ state, commit }, { license }) {\n state.isSavingLicense = true;\n\n await httpClient\n .put(LICENSE_URL, { text: license })\n .then((res) => {\n commit('setLicense', { license: res.data });\n })\n .finally(() => {\n state.isSavingLicense = false;\n });\n },\n },\n};\n","// eslint-disable-next-line import/no-cycle\nimport httpClient from '@/config/httpClient';\nimport {\n ALL_MOSAICS_URL,\n MOSAIC_URL,\n} from '@/constants/api';\n\nexport default {\n namespaced: true,\n state : {\n mosaics : [],\n currentMosaic : null,\n isFetchingAllMosaics: false,\n isFetchingMosaic : false,\n isDeleting : false,\n\n fetchingMosaicTimer: null,\n },\n actions : {\n async postMosaic (store, data) {\n let mosaic = null;\n\n await httpClient\n .post(MOSAIC_URL, data)\n .then((res) => {\n mosaic = res.data;\n });\n\n return mosaic;\n },\n async saveMosaic (store, { id, data }) {\n let mosaic = null;\n\n await httpClient\n .post(`${MOSAIC_URL}/${id}`, data)\n .then((res) => {\n mosaic = res.data;\n });\n\n return mosaic;\n },\n async fetchAllMosaics ({ commit, state }) {\n state.isFetchingAllMosaics = true;\n\n await httpClient\n .get(ALL_MOSAICS_URL)\n .then((res) => {\n commit('setMosaics', { mosaics: res.data });\n })\n .finally(() => {\n state.isFetchingAllMosaics = false;\n });\n },\n async fetchMosaic ({ state, commit }, { id, isPlay }) {\n state.isFetchingMosaic = true;\n let mosaicUrl = `${MOSAIC_URL}/${id}`;\n\n if (isPlay) {\n mosaicUrl += '?extend_lease=true';\n }\n\n return httpClient\n .get(mosaicUrl)\n .then((res) => {\n commit('setMosaic', { mosaic: res.data });\n return res.data;\n })\n .finally(() => {\n state.isFetchingMosaic = false;\n });\n },\n async deleteMosaic ({ state }, { id }) {\n state.ieDeleting = true;\n\n await httpClient\n .delete(`${MOSAIC_URL}/${id}`)\n .then()\n .finally(() => {\n state.ieDeleting = false;\n });\n },\n runUpdatingMosaic ({ commit, dispatch }, { id, isPlay }) {\n dispatch('fetchMosaic', { id, isPlay });\n\n let timer = setTimeout(function tick () {\n dispatch('fetchMosaic', { id, isPlay });\n\n timer = setTimeout(tick, 10000);\n commit('setFetchingMosaicTimer', { timer });\n }, 10000);\n\n commit('setFetchingMosaicTimer', { timer });\n },\n clearTimers ({ commit, state }) {\n clearTimeout(state.fetchingMosaicTimer);\n commit('setFetchingMosaicTimer', { timer: null });\n },\n clearCurrentMosaic ({ commit }) {\n commit('setMosaic', { mosaic: null });\n },\n },\n mutations : {\n setMosaics (state, { mosaics }) {\n state.mosaics = mosaics;\n },\n setMosaic (state, { mosaic }) {\n state.currentMosaic = mosaic;\n },\n setFetchingMosaicTimer (state, { timer }) {\n state.fetchingMosaicTimer = timer;\n },\n },\n};\n","/* eslint-disable import/no-cycle */\n\nimport Vue from 'vue';\nimport Vuex from 'vuex';\nimport dayjs from 'dayjs';\nimport router from '@/router';\nimport httpClient from '@/config/httpClient';\nimport PAGES from '@/constants/pages';\nimport {\n STREAM_STATUS,\n VIEW_MODES_KEYS,\n GROUP_TYPES_KEYS,\n SORT_TYPES_KEYS,\n PANEL_SIZE,\n} from '@/constants/main';\nimport {\n GETTING_STREAMS_URL,\n LOGIN_URL,\n SELF_URL,\n UNLOCK_URL,\n} from '@/constants/api';\nimport {\n CREDENTIALS_ERR,\n} from '@/constants/errorTypes';\nimport {\n deleteCookie,\n getCookie,\n setCookie,\n} from '@/extends/lib';\nimport {\n isMediaAtLeast720,\n isMobile,\n} from '@/extends/browserEnv';\nimport { destinationPageStorage } from '@/extends/storageServices';\nimport {\n getGroupedStreams,\n saveToLocalStorage,\n} from './utilities';\nimport MUTATIONS from './mutations';\nimport player from './player/player';\nimport profile from './profile';\nimport admin from './admin';\nimport streamStore from './stream';\nimport license from './license';\nimport mosaic from './mosaic';\n\nVue.use(Vuex);\n/* eslint-disable no-param-reassign */\n/* eslint-disable no-unused-vars */\nexport default new Vuex.Store({\n modules : {\n admin,\n player,\n profile,\n streamStore,\n license,\n mosaic,\n },\n state : {\n version: null,\n config : null,\n\n // Auth\n isAuthLoading : false,\n isAdminCreating: false,\n\n // for LocalStorage\n isFixContent: true,\n isOpenAside : false,\n\n // StreamsPage\n pageNumberOfStreams : 1,\n viewModeKey : VIEW_MODES_KEYS.GRID,\n groupType : GROUP_TYPES_KEYS.NO_GROUP,\n sortType : SORT_TYPES_KEYS.DATE, // for LocalStorage\n isFetchingStreams : true,\n isCheckingMode : false,\n isShownAvailableStreams: false,\n searchingValues : [],\n streams : [],\n\n // GENERAL для всех страниц\n headerHeight : PANEL_SIZE,\n isNotFoundPage : false,\n errors : {},\n notice : {},\n healthWarnings : [],\n isMediaAtLeast720 : isMediaAtLeast720(),\n isCardMode : isMobile && !isMediaAtLeast720,\n isShowServerSwitcher: false,\n },\n mutations: {\n // Auth Page\n setVersion (state, { version }) {\n state.version = version;\n },\n setHealthWarnings (state, { healthWarnings }) {\n state.healthWarnings = healthWarnings;\n },\n [MUTATIONS.SET_AUTH_STATE.name] (state, { value }) {\n state.isAuthLoading = value;\n },\n\n // StreamsPage\n [MUTATIONS.SET_STREAMS.name] (state, payload) {\n state.streams = [...payload.streams];\n },\n [MUTATIONS.SET_GROUP_TYPE.name] (state, payload) {\n state[MUTATIONS.SET_GROUP_TYPE.property] = payload;\n },\n [MUTATIONS.SET_SEARCHING_VALUES.name] (state, payload) {\n state[MUTATIONS.SET_SEARCHING_VALUES.property] = [...payload];\n },\n [MUTATIONS.SET_VIEW_MODE_KEY.name] (state, payload) {\n state[MUTATIONS.SET_VIEW_MODE_KEY.property] = payload;\n },\n [MUTATIONS.SET_ASIDE_STATE.name] (state, payload) {\n state[MUTATIONS.SET_ASIDE_STATE.property] = payload;\n },\n [MUTATIONS.SET_SHOWING_AVAILABLE_STATE.name] (state, payload) {\n state[MUTATIONS.SET_SHOWING_AVAILABLE_STATE.property] = payload;\n },\n [MUTATIONS.SET_STREAMS_STATUSES.name] (state, payload) {\n state.streams = [...payload.streams];\n },\n\n // General\n [MUTATIONS.SET_FOUNDING_PAGE_STATE.name] (state) {\n state.isNotFoundPage = !state.isNotFoundPage;\n },\n [MUTATIONS.SET_ERROR.name] (state, { name, error }) {\n state.errors[name] = error;\n state.errors = { ...state.errors };\n },\n [MUTATIONS.DELETE_ERROR.name] (state, { name }) {\n if (state.errors[name]) {\n delete state.errors[name];\n }\n state.errors = { ...state.errors };\n },\n [MUTATIONS.SET_CREATING_ADMIN_STATE.name] (state, { value }) {\n state.isAdminCreating = value;\n },\n setNotice (state, { name, message }) {\n state.notice = { name, message };\n },\n deleteNotice (state, { name }) {\n state.notice = null;\n },\n setHeaderHeight (state, { headerHeight }) {\n state.headerHeight = headerHeight;\n },\n setIsMediaAtLeast720 (state) {\n state.isMediaAtLeast720 = isMediaAtLeast720();\n },\n setIsShowServerSwitcher (state, { isShowServerSwitcher }) {\n state.isShowServerSwitcher = isShowServerSwitcher;\n },\n },\n getters : {\n isMobile: () => isMobile,\n /* eslint-disable-next-line */\n availableStreams: (state) => {\n return state.streams.filter((stream) => stream.status === STREAM_STATUS.PENDING\n || stream.status === STREAM_STATUS.RUNNING);\n },\n searchedStreams : (state, getters) => {\n const uniqueStreamsIds = {};\n let allSearchedStreams = [];\n let streams = state.isShownAvailableStreams ? getters.availableStreams : state.streams;\n\n function getValuesForSearching (stream) {\n let valuesForSearching = [stream.name, stream.streamSource];\n\n if (stream.tags && stream.tags.length > 0) {\n valuesForSearching = [...valuesForSearching, ...stream.tags];\n }\n\n return valuesForSearching;\n }\n\n if (state.searchingValues.length > 0) {\n state.searchingValues.forEach((searchingValue) => {\n streams.forEach((stream) => {\n uniqueStreamsIds[stream.uid] = false;\n\n const valuesForSearching = getValuesForSearching(stream);\n\n if (stream.location && stream.location.name) {\n valuesForSearching.push(stream.location.name);\n }\n\n valuesForSearching.forEach((item) => {\n if (item\n && item.toLowerCase().indexOf(searchingValue.toLowerCase()) !== -1\n && uniqueStreamsIds[stream.uid] !== true) {\n allSearchedStreams.push(stream);\n uniqueStreamsIds[stream.uid] = true;\n }\n });\n });\n streams = [...allSearchedStreams];\n allSearchedStreams = [];\n });\n }\n return streams;\n },\n groupedStreams : (state, getters) => {\n switch (state.groupType) {\n case GROUP_TYPES_KEYS.TAG:\n return getters.groupedByTags;\n default:\n return {\n NO_GROUP: {\n name : 'All',\n streams: getters.searchedStreams,\n },\n };\n }\n },\n groupedByTags : (state, getters) => getGroupedStreams(getters.searchedStreams, GROUP_TYPES_KEYS.TAG),\n // AUTOCOMPLETE\n autocomplete: (state) => {\n const autocomplete = {\n names : [],\n tags : [],\n markers : [],\n locations: [],\n };\n\n const markers = {};\n const tags = {};\n const locations = {};\n\n state.streams.forEach((stream) => {\n autocomplete.names.push({ value: stream.name });\n\n if (stream.meta && stream.meta.marker) {\n markers[stream.meta.marker] = true;\n }\n\n if (stream.tags && stream.tags.length > 0) {\n stream.tags.forEach((tag) => {\n tags[tag] = true;\n });\n }\n\n if (stream.location && stream.location.name && stream.location.name.length > 0) {\n locations[stream.location.name] = true;\n }\n });\n\n Object.keys(markers).forEach((key) => {\n autocomplete.markers.push({ value: key });\n });\n Object.keys(tags).forEach((key) => {\n autocomplete.tags.push({ value: key });\n });\n Object.keys(locations).forEach((key) => {\n autocomplete.locations.push({ value: key });\n });\n\n return autocomplete;\n },\n },\n actions : {\n createAdmin ({ commit, dispatch }, { settings }) {\n commit(MUTATIONS.SET_CREATING_ADMIN_STATE.name, { value: true });\n\n httpClient\n .post(UNLOCK_URL, settings)\n .then((res) => {\n commit(MUTATIONS.DELETE_ERROR.name, { name: CREDENTIALS_ERR });\n dispatch('saveToken', { token: res.data.token });\n router.replace({ name: PAGES.ALL_STREAMS });\n })\n .finally(() => {\n commit(MUTATIONS.SET_CREATING_ADMIN_STATE.name, { value: false });\n });\n },\n // Auth Page\n auth ({ commit, dispatch }, { credentials }) {\n commit(MUTATIONS.SET_AUTH_STATE.name, { value: true });\n\n httpClient\n .post(LOGIN_URL, credentials)\n .then((res) => {\n commit(MUTATIONS.DELETE_ERROR.name, { name: CREDENTIALS_ERR });\n dispatch('saveToken', { token: res.data.token });\n\n const redirectPage = res.data.mustChangePassword ? PAGES.PROFILE_EDIT : PAGES.ALL_STREAMS;\n\n router.replace(destinationPageStorage.getItem() || {\n name : redirectPage,\n params: { mustChangePassword: res.data.mustChangePassword },\n });\n destinationPageStorage.removeItem();\n })\n .finally(() => {\n commit(MUTATIONS.SET_AUTH_STATE.name, { value: false });\n });\n },\n saveToken ({ commit }, { token }) {\n const expires = new Date(dayjs(new Date()).add(1, 'month').valueOf());\n\n deleteCookie('token');\n setCookie('token', token, {\n expires,\n samesite: 'strict',\n });\n },\n logout ({ dispatch }) {\n deleteCookie('token');\n dispatch('profile/clearUser');\n destinationPageStorage.removeItem();\n router.replace({ name: PAGES.AUTH });\n },\n hasPermission () {\n return !!getCookie('token');\n },\n async checkPermission ({ dispatch, commit }) {\n return httpClient\n .get(SELF_URL)\n .then((res) => {\n dispatch('updateVersion', { version: res.data.version });\n\n if (res.data.warnings) {\n commit('setHealthWarnings', { healthWarnings: res.data.warnings });\n }\n return { status: true };\n })\n .catch((error) => ({ statusCode: error.response.status, status: false }));\n },\n fetchHealth ({ commit, state, dispatch }) {\n if (state.version) {\n return;\n }\n httpClient\n .get(SELF_URL)\n .then((res) => {\n dispatch('updateVersion', { version: res.data.version });\n\n if (res.data.warnings) {\n commit('setHealthWarnings', { healthWarnings: res.data.warnings });\n }\n });\n },\n updateVersion ({ commit, state, dispatch }, { version }) {\n commit('setVersion', { version });\n },\n\n // StreamsPage\n fetchStreams ({ commit, state }) {\n state.isFetchingStreams = true;\n httpClient\n .get(GETTING_STREAMS_URL, {\n params: {\n page : state.pageNumberOfStreams,\n groupType : state.groupType,\n sortType : state.sortType,\n onlyAvailable : state.isShownAvailableStreams,\n searchingValues: state.searchingValues,\n },\n })\n .then((res) => {\n commit(MUTATIONS.SET_STREAMS.name, { streams: res.data });\n state.isFetchingStreams = false;\n });\n },\n fetchStreamsStatuses ({ commit, state }) {\n httpClient\n .get(GETTING_STREAMS_URL, {\n params: {\n page : state.pageNumberOfStreams,\n groupType : state.groupType,\n sortType : state.sortType,\n isOnlyAvailable: state.isShownAvailableStreams,\n searchingValues: state.searchingValues,\n },\n })\n .then((res) => {\n commit(MUTATIONS.SET_STREAMS_STATUSES.name, { streams: res.data });\n });\n },\n updateStreams ({ commit, state }, payload) {\n commit(MUTATIONS.SET_STREAMS.name, { streams: payload });\n state.isFetchingStreams = false;\n },\n updateStreamsStatuses ({ commit, state, dispatch }, payload) {\n dispatch('fetchStreamsStatuses', payload);\n },\n groupStreams ({ commit }, payload) {\n commit(MUTATIONS.SET_GROUP_TYPE.name, payload);\n saveToLocalStorage({\n key : MUTATIONS.SET_GROUP_TYPE.property,\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n searchStreams ({ commit }, payload) {\n commit(MUTATIONS.SET_SEARCHING_VALUES.name, payload);\n saveToLocalStorage({\n key : MUTATIONS.SET_SEARCHING_VALUES.property,\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n changeViewMode ({ commit, dispatch }, payload) {\n commit(MUTATIONS.SET_VIEW_MODE_KEY.name, payload);\n saveToLocalStorage({\n key : MUTATIONS.SET_VIEW_MODE_KEY.property,\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n changeAsideState ({ commit }, payload) {\n commit(MUTATIONS.SET_ASIDE_STATE.name, payload);\n saveToLocalStorage({\n key : MUTATIONS.SET_ASIDE_STATE.property,\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n toggleShowingAvailable ({ commit }, payload) {\n commit(MUTATIONS.SET_SHOWING_AVAILABLE_STATE.name, payload);\n saveToLocalStorage({\n key : MUTATIONS.SET_SHOWING_AVAILABLE_STATE.property,\n value: payload,\n page : PAGES.ALL_STREAMS,\n });\n },\n\n toggleFoundingPageState ({ commit }) {\n commit(MUTATIONS.SET_FOUNDING_PAGE_STATE.name);\n },\n getStreamsPageSettingFromLocalStorage ({ commit }) {\n const streamsPageSettings = JSON.parse(localStorage.getItem(PAGES.ALL_STREAMS));\n\n if (streamsPageSettings) {\n [\n MUTATIONS.SET_SEARCHING_VALUES,\n MUTATIONS.SET_VIEW_MODE_KEY,\n MUTATIONS.SET_ASIDE_STATE,\n MUTATIONS.SET_SHOWING_AVAILABLE_STATE,\n MUTATIONS.SET_GROUP_TYPE,\n ].forEach((item) => {\n if (streamsPageSettings[item.property]) {\n commit(item.name, streamsPageSettings[item.property]);\n }\n });\n }\n },\n setError ({ commit, state }, { errorMsg, errorName }) {\n commit(MUTATIONS.SET_ERROR.name, { name: errorName, error: errorMsg });\n },\n deleteError ({ commit }, { errorName }) {\n commit(MUTATIONS.DELETE_ERROR.name, { name: errorName });\n },\n setNotice ({ commit, state, dispatch }, { name, message }) {\n commit('setNotice', { name, message });\n },\n deleteNotice ({ commit }, { name }) {\n commit('deleteNotice', { name });\n },\n resizeApp ({ commit }) {\n commit('setIsMediaAtLeast720');\n },\n },\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + ({\"8\":\"stream-info\",\"39\":\"help\",\"82\":\"mosaics\",\"89\":\"license\",\"179\":\"main\",\"186\":\"stream-view\",\"187\":\"add-stream\",\"199\":\"admin-users\",\"212\":\"admin-stats\",\"233\":\"admin-config\",\"260\":\"stream-setting\",\"328\":\"admin\",\"339\":\"add-mosaic\",\"378\":\"user\",\"391\":\"stream-permission\",\"410\":\"init\",\"443\":\"stream-debug\",\"485\":\"watch-mosaic\",\"515\":\"stream\",\"615\":\"bookmarks\",\"632\":\"user-add\",\"768\":\"streams\",\"818\":\"auth\",\"845\":\"profile\",\"914\":\"server-debug\",\"942\":\"not-found\"}[chunkId] || chunkId) + \"-legacy.\" + {\"8\":\"c5573341\",\"39\":\"4bb7fefa\",\"82\":\"7cc20097\",\"89\":\"cda29d1c\",\"97\":\"523b5935\",\"179\":\"8205f3df\",\"186\":\"c24d12d9\",\"187\":\"914d7551\",\"199\":\"ceedca16\",\"207\":\"1ece62b9\",\"212\":\"aa560719\",\"233\":\"3b40f1cf\",\"260\":\"a889aaa5\",\"269\":\"b0fe8c8e\",\"328\":\"41d15125\",\"339\":\"7db77ec4\",\"378\":\"099e7b8c\",\"386\":\"7e932917\",\"391\":\"f02d7207\",\"410\":\"796b60e3\",\"443\":\"123db3a4\",\"448\":\"0793d3ec\",\"466\":\"43c1a3f5\",\"485\":\"578da1c5\",\"515\":\"86de1b51\",\"517\":\"2218e13d\",\"615\":\"51835fff\",\"632\":\"fe2d10af\",\"768\":\"bef9282b\",\"777\":\"4d2082a0\",\"808\":\"722782fd\",\"816\":\"9feac7fc\",\"818\":\"d14991b1\",\"845\":\"7aa9a0fc\",\"914\":\"3e6dc7f5\",\"942\":\"30900b21\",\"987\":\"162f1d7e\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + ({\"8\":\"stream-info\",\"82\":\"mosaics\",\"89\":\"license\",\"179\":\"main\",\"186\":\"stream-view\",\"199\":\"admin-users\",\"212\":\"admin-stats\",\"260\":\"stream-setting\",\"328\":\"admin\",\"339\":\"add-mosaic\",\"378\":\"user\",\"391\":\"stream-permission\",\"410\":\"init\",\"443\":\"stream-debug\",\"485\":\"watch-mosaic\",\"515\":\"stream\",\"632\":\"user-add\",\"768\":\"streams\",\"818\":\"auth\",\"845\":\"profile\",\"914\":\"server-debug\",\"942\":\"not-found\"}[chunkId] || chunkId) + \".\" + {\"8\":\"67e2aa1c\",\"82\":\"54729d2c\",\"89\":\"85fbef7a\",\"97\":\"19ac0c6b\",\"179\":\"a69ce50f\",\"186\":\"0ec2a303\",\"199\":\"06a8bfde\",\"212\":\"3bb3770d\",\"260\":\"2fc0b191\",\"328\":\"feeac0f8\",\"339\":\"0b022f43\",\"378\":\"3bdd5ad4\",\"391\":\"0030d745\",\"410\":\"1fe2c775\",\"443\":\"6d8d45e1\",\"485\":\"bb6dc73b\",\"515\":\"cc159a6f\",\"632\":\"1e06dfa9\",\"768\":\"cf688007\",\"818\":\"6c2880de\",\"845\":\"2e242bfb\",\"914\":\"6d8d45e1\",\"942\":\"2ba9004d\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"yucca:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/ui/\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"8\":1,\"82\":1,\"89\":1,\"97\":1,\"179\":1,\"186\":1,\"199\":1,\"212\":1,\"260\":1,\"328\":1,\"339\":1,\"378\":1,\"391\":1,\"410\":1,\"443\":1,\"485\":1,\"515\":1,\"632\":1,\"768\":1,\"818\":1,\"845\":1,\"914\":1,\"942\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(97 != chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkyucca\"] = self[\"webpackChunkyucca\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(90281); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","class","isHeader","attrs","logo","staticRenderFns","light","dark","THEMES","lightLogo","darkLogo","name","props","theme","type","default","computed","component","alertCssClasses","_e","_v","_s","title","_t","SUCCESS","hasIcon","DANGER","WARNING","ATTENTION","ATTENTION_INFO","ATTENTION_WARNING","ATTENTION_DANGER","isFixed","fixed","ref","style","datepickerId","rangeType","lang","startDate","correctedNumberOfMonth","isHighlightToday","isHighlightWeekend","period","maxRange","minAllowedDate","maxAllowedDate","significantDates","isDisabledDate","on","decreaseMonth","increaseMonth","onClickDay","minDate","maxDate","months","isMultiRangeType","_l","month","key","monthLabel","yearLabel","weekdayLabel","highlightWeekday","week","day","refInFor","getDayClasses","date","$event","preventDefault","dayNumber","isDisablePrevMonthBtn","isDisableNextMonthBtn","methods","PropertyError","property","message","Error","captureStackTrace","stack","getDefaultStartDate","components","YccCalendarControls","calendarId","numberOfMonth","useControls","customPeriods","notSelectedDates","isSelectingOnePeriod","isSelecting","selectedPeriod","underCursor","start","end","selectingCustomPeriod","selectingDates","dayjs","watch","newDate","newStep","newPeriod","newLang","deep","periodStyle","allPeriodProperties","firstWeekdayInMonth","daysInMonth","monthNumber","weeks","days","monthDay","isMonthStarted","weekDay","dateProperties","isMonthEnded","dayIndexStart","dayIndexStop","correctedFirstWeekday","dayIndex","dayClass","allowedDate","getter","weekend","today","selected","event","elem","periods","YccCalendar","location","isInline","isOpen","datepickerStyles","state","top","left","year","menuState","uniqueKey","disabled","changeState","NOT_CLOSING","CLOSING","SUBMENU","MENU_CONTENT","SHOW","dropdownMenuState","visibleMenu","stateFromProps","newVal","immediate","newState","window","className","selector","e","isOpenerEqualContent","hintId","openHint","closeHint","position","hint","isDark","maxWidth","openerElem","validationCssClass","error","TYPES","PERIOD","SINGLE","MULTI","WEEKDAY_LABELS","ru","en","MAX_MONTH_IN_LINE","MAX_MONTH_IN_DATEPICKER","MONTH_WIDTH","ISO_DATE_FORMAT","DEFAULT_STATE","size","isDisabled","TEXT_POSITIONS","LEFT","RIGHT","TEXT_POSITION_CSS_CLASSES","RANGE_TYPES","LIVE","GAP","FRAGMENT","ANNOTATION_TYPES","EVENT","THUMB","SPEED_INDEXES","getThumbId","playerId","getProgressBarId","getCurrentDateId","$http","axios","interceptors","request","use","config","Promise","reject","response","status","router","path","data","code","SERVER_ERROR_CODES","store","errorMsg","ACCESS_DENIED_ERR","errorName","SERVER_ERR","SERVER_UNKNOWN_ERR","SERVER_NOT_RESPONSE_ERR","BASE_STREAM_URL","ADDING_STREAM_URL","UPDATING_STREAM_URL","GETTING_STREAM_URL","DELETE_STREAM_URL","PAUSE_STREAM_URL","RESUME_STREAM_URL","PROBE_STREAM_URL","PREVIEW_STREAM_URL","SYSTEM_SETTINGS_URL","SYSTEM_SEARCH","UNLOCK_URL","SELF_URL","LICENSE_URL","SERVER_DEBUG_URL","LOGIN_URL","GETTING_STREAMS_URL","USER_URL","USERS_URL","PROFILE_TOKENS_URL","PROFILE_TOKEN_URL","SYSTEM_STATS_URL","STATS_URL","CONFIG_URL","ANNOTATIONS_URL","MOSAIC_URL","ALL_MOSAICS_URL","API_VERSION_CHECK","getArchiveUrl","streamUid","getRangesUrl","getArchiveStatsUrl","getAvailableDaysUrl","getDownloadArchiveUrl","getStreamPermissionsUrl","getStreamLogsUrl","getBlockUserUrl","login","getUserPermissionsUrl","getUnblockUserUrl","getStreamShareUrl","getDeleteToken","tokenId","getStreamInfoUrl","isLiveOnDemand","CREDENTIALS_ERR","STREAM_SOURCE_ERR","STREAM_NAME_ERR","ARCHIVE_DEPTH_ERR","AlreadyUsed","AuthorizationFailed","EnterpriseOnly","Forbidden","InternalServerError","InvalidOldPassword","NotFound","OldPasswordAndNewPasswordCannotBeSame","PasswordIsNotComplexEnough","RequestDecodeError","ResponseEncodeError","TimeRangeIsTooLong","Unavailable","ValidationError","ProbeError","LicenseExpired","QuotaReached","IncorrectLicense","EHOSTUNREACH","HTTP_NOT_FOUND","HTTP_UNAUTHORIZED","BASE_LANDING_URL","DOCS_LINK","getPricesLink","utm","EN","RU","VIEW_MODES_KEYS","GRID","TABLE","SORT_TYPES_KEYS","DATE","NAME","LOCATION","GROUP_TYPES_KEYS","TAG","NO_GROUP","ADMIN_TABS_KEYS","STATS","PAGES","USERS","CONFIG","LICENSE","SERVER_DEBUG","STREAM_INFO_TABS_KEYS","INFO","PERMISSION","SETTINGS","STREAM_DEBUG","USER_TABS_KEYS","EDIT","PROFILE_TABS_KEYS","TOKEN","USER_PERMISSION_TYPES","ADMIN","USER","STREAM_PERMISSION_TYPES","VIEW","NONE","UNLIMITED","ADMIN_TABS","icon","label","STREAM_INFO_TABS","USER_TABS","PROFILE_TABS","VIEW_MODES","GROUP_TYPES","STREAM_STATUS","RUNNING","PENDING","PAUSED","CANCELED","STOPPED","FAILED","PLAYER_VIEW_MODES","ARCHIVE","USER_ACCESSES","active","blocked","MOVE_TIME","PANEL_SIZE","DEFAULT_DEPTH","DEFAULT_PLAYLIST_DURATION","EN_US","UK","SORTING_TYPES","desc","asc","nonSort","LANG_MAP","PERMISSION_OBJECTS","TEAM","COLORS","stone","wolf","BREAKPOINTS_720","SCROLL_WIDTH","getScrollWidth","PROFILE_UPDATED_NOTICE","USER_SAVED_NOTICE","USER_BLOCKED_NOTICE","USER_UNBLOCKED_NOTICE","STREAM_INFO_SAVED_NOTICE","ADD_STREAM","ADMIN_STATS","ADMIN_CONFIG","ADMIN_USERS","ALL_STREAMS","AUTH","BOOKMARKS","HELP","INIT","NOT_FOUND","PROFILE","PROFILE_INFO","PROFILE_EDIT","PROFILE_TOKEN","STREAM","STREAM_VIEW","STREAM_INFO","STREAM_SETTING","STREAM_PERMISSION","USER_ADD","USER_INFO","USER_EDIT","USER_PERMISSION","CREATE_MOSAIC","WATCH_MOSAIC","EDIT_MOSAIC","ALL_MOSAICS","TOP","TOP_LTR","TOP_RTL","TOP_CENTER","BOTTOM","BOTTOM_LTR","BOTTOM_RTL","BOTTOM_CENTER","inBrowser","inWeex","WXEnvironment","platform","weexPlatform","toLowerCase","UA","navigator","userAgent","isEdge","indexOf","isAndroid","isIOS","test","isFF","match","isSafari","iOSVersion","MSStream","indexedDB","SpeechSynthesisUtterance","webkitAudioContext","matchMedia","history","isMobile","isMediaAtLeast720","matches","DATE_FORMAT","getCoords","box","getBoundingClientRect","pageYOffset","pageXOffset","width","height","getElementUnderClientXY","clientX","clientY","display","target","document","elementFromPoint","body","getElemFromPoint","formatDate","formatType","language","formatsMap","lll","ll","L","LL","LT","format","monthLetters","split","toUpperCase","DMMMYYYY","MMMDD","HHmmss","convertDateToSeconds","Date","getTime","getCookie","cookie","RegExp","replace","decodeURIComponent","undefined","setCookie","value","options","expires","toUTCString","updatedCookie","encodeURIComponent","optionKey","optionValue","deleteCookie","getWrapHeight","clientHeight","documentElement","authWrapHeight","querySelector","yccScrollTo","y","scrollTo","behavior","getIndexSymbol","str","symbol","indexSymbol","i","length","charAt","getChar","isNumber","which","keyCode","String","fromCharCode","charCode","validate","ctrlKey","altKey","metaKey","chr","cloneObjDeep","obj","JSON","parse","stringify","outer","createElement","visibility","overflow","msOverflowStyle","appendChild","inner","scrollbarWidth","offsetWidth","parentNode","removeChild","isChildElem","modalId","findElements","querySelectorAll","classList","contains","notClosingElements","getSortingDirection","sortingType","showServerSwitcher","app","serverSwitcher","isExist","StorageAdapter","itemName","isPrimitive","storage","localStorage","correctionFunc","getItem","getCorrectValue","setItem","removeItem","destinationPageStorage","sessionStorage","WarningStorage","keepingTime","clearExpiredWarnings","warningCode","warnings","now","toISOString","Object","keys","forEach","isExpired","warningsStorage","YuccaBootConfig","isEnterprise","isLocked","prober","revision","version","appTitle","appLogo","defaultLanguage","archiveDownloadMaxSeconds","playlistMaxSeconds","rangesMaxSeconds","isLicenseExpired","archiveMaxDepthHours","smtpServerEnabled","smtpServerHost","smtpServerProtected","smtpServerPort","documentation","site","features","yccBootConfig","YUCCA_BOOT_DATA","settings","user","translations","uk","gettextOptions","availableLanguages","silent","install","Vue","prototype","$yccConfig","$isDebug","isDebug","$setDocumentTitle","titles","join","$appLogo","$setLanguage","$formatDate","filter","isFixContent","isReadOnlyProfile","isAuthOrInitPage","isEmptyRoute","logout","slot","directives","rawName","expression","CookieService","shownWarnings","warning","index","domProps","hideWarning","licenseStateTitle","licenseStateDescription","toggleAside","layoutMainClasses","hasAside","$route","isOpenAside","headerHeight","isActivePage","hidden","page","_m","hasAppLogo","isReadOnly","addingStreamTitle","streamName","params","streamRouterParams","streamSettingsTitle","isStreamInfoPage","mosaicName","mosaicRouterParams","mosaic","meta","canAdmin","mosaicSettingsTitle","getGroupLabel","groupType","groupStreams","viewModeTitle","changeViewMode","viewModeKey","availableStreamsInfo","toggleShowingAvailable","isShownAvailableStreams","pageTitle","isAdmin","$language","isShowServerSwitcher","pageNames","$gettext","text","pages","id","current","documentationLink","apply","arguments","YccDropdown","YccLogo","YccHeaderMenu","YccHint","stream","newStream","newMosaic","mapState","mapGetters","YccValidationError","YccToolbar","YccHeader","YccAlert","isCloseAsideOutside","asideHeight","isClosing","isOpening","isMinScreen","newValue","oldValue","open","closing","opening","minHeight","marginTop","setTimeout","YccLayout","noticeElems","serverErrorNotice","stateErrors","notice","license","healthWarnings","userLang","warningsArr","usedPercent","newErrors","oldErrors","duration","to","popoverYccCssClasses","positions","RTL","LTR","CENTER","CorrectingPosition","contentWidth","positionsArr","basePosition","horizontalPosition","documentWidth","clientWidth","documentHeight","getComputedStyle","Math","max","scrollHeight","offsetHeight","setPosition","contentCoords","btnCoords","isStaticVerticalPosition","getCorrectedPositionCssClass","popupStyle","bottom","right","transform","isContentMoreThanDocumentWidth","isDynamicVerticalPosition","isOutOfLeftBorderForLeft","isOutOfRightBorderForRight","isOutOfRightBorderForCenter","isOutOfLeftBorderForCenter","isOutOfRightBorderForLtr","isOutOfLeftBorderForRtl","isOutOfRightBorderForRtl","isOutOfBottomBorder","isOutOfTopBorder","positionProperties","bus","createPopup","el","template","YccHintContent","created","$on","openPopup","closePopup","payload","setLocation","setNewData","addEventListener","removeEventListener","close","clean","prop","x","hintRenderContentId","popup","setAttribute","createHint","process","err","vm","info","handler","$options","errorHandler","$parent","call","console","log","color","failedColor","thickness","transition","speed","opacity","termination","autoRevert","inverse","defaultProps","YccDatepickerContent","openDatepicker","setFixing","setStart","setEnd","closeDatepickerOutside","setSelectingState","setPeriod","$emit","inputElem","closeDatepicker","getCorrectPeriod","onChangeMonthYear","elemChildren","openerChildren","add","VueProgressBar","progressBarOptions","Loading","inserted","binding","f","evt","Datepicker","VUE_APP_DEBUG","createApp","YccConfigPlugin","GetTextPlugin","h","App","$mount","initHint","httpClient","then","res","catch","progress","func","modifier","argument","Router","mode","base","routes","redirect","children","metaForProgressLoader","beforeEach","from","next","isPublicPage","is404","statusCode","afterEach","scrollY","scroll","getGroupedStreams","streams","groupingType","groupedStreams","pushStream","groupName","push","tags","tag","saveToLocalStorage","streamsPageSettings","SET_SEARCHING_VALUES","SET_VIEW_MODE_KEY","SET_ASIDE_STATE","SET_SHOWING_AVAILABLE_STATE","SET_GROUP_TYPE","SET_AUTH_STATE","SET_STREAMS","SET_STREAMS_STATUSES","SET_STREAM_STATUS","SET_STREAM","DELETE_CURRENT_STREAM","SET_DELETING_STREAM_STATE","SET_CHANGING_STREAM_STATE","SET_FOUNDING_PAGE_STATE","SET_ERROR","DELETE_ERROR","SET_STATUSES_TIMER","SET_CREATING_ADMIN_STATE","getDefaultStart","subtract","valueOf","getDefaultEnd","getDefaultPeriod","getDefaultPeriodISO","getDefaultDownloadLimitsPX","getDefaultPlaylist","startTime","endTime","ranges","url","MS_IN_HOUR","MS_IN_MINUTE","MARKER_LABEL_WIDTH","LABELS_MAP_KEYS","SIXTY","TWELVE","QUARTER","HALF","FULL","MULTIPLE","LABELS_MAP","minutes","getMarkerOptions","hoursNumber","possibleLabels","minutesNumber","multiplicity","labelsNumber","some","item","ceil","getLeftPosForMarker","timestamp","secondsInPx","seconds","getMarker","timeMS","isVisibleLabel","isSmall","hour","minute","time","cssClass","getFirstFullHourMS","getFirstMarkerTime","firstMarkerTime","getFirstMarkerByTime","startMinutes","getNewMarkers","newMarkers","markerTime","marker","ZOOM_INDEX","HOUR_IN_MS","MIN_DURATION","MAX_DURATION","ProgressBarController","thumbWidth","video","progressBar","thumb","archiveStatsPeriod","playingPeriod","currentInterval","playingTime","thumbPosition","tracking","trackingObservable$","interval","init","getElem","startSeconds","endSeconds","clipShift","intervalsTemp","range","arr","rangeStart","rangeEnd","intervalType","getIntervalType","isLastRange","getPXFromSeconds","endDate","intervalElem","annotationStartSeconds","stopTracking","setCurrentInterval","getPlaylistByIntervalType","isArchive","subscribe","currentTime","getCurrentTimeInMS","updatePlayingTime","unsubscribe","getProgressBarWidth","getRangeByMilliseconds","newSeconds","intervalRangeEnd","endMS","intervalRangeEndMS","result","findNextRangeIndex","startTimeMS","intervals","findIndex","intervalRange","trunc","intervalIndex","currentPeriod","getNextPeriodAfterGap","getCorrectedPlayingPeriodEnd","stats","px","periodStart","thumbLeftPosition","changeThumbStyle","keepThumbPosition","getPeriodForZoomUp","isZoomUpAllowed","getStartModifier","getEndModifier","getPeriodForZoomDown","isZoomDownAllowed","periodModifier","annotations","annotationsByType","empty","annotation","adaptAnnotation","annotationStart","annotationEnd","timeEnd","getAnnotationColorByType","setPlayingTime","innerPlayingTime","updateThumbPos","newInterval","dataset","newViewMode","isLastElem","newCurrentSeconds","Number","getSecondsFromPos","leftShift","getSecondsFromPX","currentTimeElem","innerHTML","liveTime","getElementById","videoCurrentTime","CancelToken","namespaced","archiveStats","availableDays","annotationsByTypes","speedIndex","downloadLimitsPX","isVisibleDownloadBlock","isFetchingArchive","isFetchingArchiveRanges","isFetchingAnnotations","isPlaying","isLoading","cancelArchiveRangesRequest","archiveDataWatcherTimer","periodISO","playerViewMode","playlist","progressBarController","getters","hasArchive","archiveDownloadMaxPX","getSecondsInPx","actions","zoomUpByPointer","commit","dispatch","streamId","getPeriodForZoomUpByPointer","zoomUp","rangesUrl","isArchiveEnable","needRunWatcher","needFetchData","zoomDownByPointer","getPeriodForZoomDownByPointer","zoomDown","toCenter","getPeriodForGoToCenter","moveLeft","getPeriodForMoveLeft","moveRight","getPeriodForMoveRight","updatePeriodAfterDrag","resetPeriod","updateRanges","getSplitLastRange","lastRange","liveRange","saveRanges","setRanges","updatePlaylist","fetchArchive","start_time","end_time","finally","fetchArchiveRanges","cancelToken","cancel","fetchArchiveStats","startDay","endDay","fetchAvailableDays","fetchArchiveData","fetchAnnotations","fetchDownloadArchiveUrl","downloadPeriod","timezone_offset","utcOffset","updateAnnotations","getAnnotationsByTypes","resetArchiveData","createArchiveDataWatcher","timer","tick","clearArchiveDataWatcher","clearTimeout","updateSpeedIndex","goToLive","isSeek","liveUrl","isAvailableStream","goToArchive","playlistUrl","goToEmptyState","updatePlayerViewMode","updateArchiveStats","setArchiveStatsPeriod","handleEndedVideo","getNewPlaylistPeriodAfterEnding","updatePeriod","buildProgressBarController","mutations","setPeriodISO","setPlaylist","setPlayerViewMode","setFetching","setAvailableDays","setFetchingArchiveRanges","setArchiveStats","setArchiveDataWatcherTimer","setDownloadBlockVisibility","setDownloadLimits","setArchiveDownloadMaxSeconds","setAnnotations","setAnnotationsByTypes","setFetchingAnnotations","setSpeedIndex","setPlayingState","setLoadingState","setIntervals","setProgressBarController","tokens","isSavingProfile","isChangingPassword","isFetchingProfile","isFetchingTokens","isSavingToken","isAdminProfile","permissionType","maxStreamCreation","isManaged","setUser","setTokens","fetchUser","saveUser","email","password","fullName","oldPassword","adaptedUser","readOnly","root","saveUserLang","updateAuthToken","credentials","clearUser","fetchTokens","createToken","expireTime","deleteToken","isDeletingToken","fetchSettings","systemStats","users","logs","currentUser","isEditMode","versionInfo","currentUserPermissions","isFetchingUsers","isSavingUser","isFetchingUser","isDeletingUser","isFetchingConfig","isFetchingStats","isFetchingLogs","isAddingPermission","isFetchingPermissions","fetchingLogsTimer","cancelLogsRequest","setUsers","setEditMode","setCurrentUser","setStats","setConfig","setSystemStats","setVersionInfo","setLogs","setFetchingLogsTimer","clearFetchingLogsTimer","setCancelLogsRequest","setCurrentUserPermissions","permissions","deleteCurrentUser","fetchUsers","addUser","isAdding","updateCurrentUser","deleteUser","changeUserAccess","access","clearCurrentUser","fetchStats","fetchConfig","fetchSystemStats","isFetchingSystemStats","fetchLogs","runUpdatingLogs","clearLogsTimer","updateVersionData","v","encodeURI","fetchUserPermissions","updateUserPermissions","timeout","isSendingStream","fetchingStreamStatusTimer","cancelStreamInfoRequest","deletingStateMap","changingStateMap","currentStream","isFetchingRunningStream","isFetchingStreamInfo","isDeletedStream","currentStreamPermissions","currentStreamLogs","isFetchingStreamPermissions","setStreamStatus","setFailureReason","failureReason","setStream","deleteCurrentStream","setDeletingStreamState","streamState","setChangingStreamState","setDeletedStreamState","setCurrentStreamPermissions","setCancelStreamInfoRequest","setFetchingStatusTimer","clearFetchingStreamStatusTimer","archive","isEnable","live","onDemand","sendStream","uid","pauseStream","resumeStream","deleteStream","purge","saveStream","updateStreamInStreams","rootState","map","streamItem","probeStream","streamUrl","stream_id","previewStream","runUpdatingStreamStatus","isPlayer","clearStreamTimers","shareStream","denyStreamPublicAccess","fetchStream","fetchStreamStatus","fetchStreamInfo","updateCurrentStream","clearCurrentStream","fetchStreamPermissions","updatePermissions","isFetchingLicense","setLicense","fetchLicense","putLicense","isSavingLicense","mosaics","currentMosaic","isFetchingAllMosaics","isFetchingMosaic","isDeleting","fetchingMosaicTimer","postMosaic","saveMosaic","fetchAllMosaics","fetchMosaic","isPlay","mosaicUrl","deleteMosaic","ieDeleting","runUpdatingMosaic","clearTimers","clearCurrentMosaic","setMosaics","setMosaic","setFetchingMosaicTimer","Vuex","modules","admin","player","profile","streamStore","isAuthLoading","isAdminCreating","pageNumberOfStreams","sortType","isFetchingStreams","isCheckingMode","searchingValues","isNotFoundPage","errors","isCardMode","setVersion","setHealthWarnings","MUTATIONS","availableStreams","searchedStreams","uniqueStreamsIds","allSearchedStreams","getValuesForSearching","valuesForSearching","streamSource","searchingValue","groupedByTags","autocomplete","names","markers","locations","createAdmin","token","auth","redirectPage","mustChangePassword","saveToken","samesite","hasPermission","checkPermission","fetchHealth","updateVersion","fetchStreams","onlyAvailable","fetchStreamsStatuses","isOnlyAvailable","updateStreams","updateStreamsStatuses","searchStreams","changeAsideState","toggleFoundingPageState","getStreamsPageSettingFromLocalStorage","setError","deleteError","setNotice","deleteNotice","resizeApp","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","m","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","n","__esModule","d","a","definition","o","defineProperty","enumerable","get","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","charset","nc","src","onScriptComplete","prev","onerror","onload","doneFns","bind","head","Symbol","toStringTag","p","createStylesheet","fullhref","resolve","linkTag","rel","onLinkComplete","errorType","realHref","href","findStylesheet","existingLinkTags","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}