{"version":3,"file":"js/app.059bc3ea.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/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/sessionStorageAdapter.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?92b7","webpack://yucca/./src/components/ycc-layout/YccLayout.vue?08cf","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?8bee","webpack://yucca/./src/constants/pageNames.js","webpack://yucca/./src/components/ycc-header/YccHeaderMenu.vue?6f5d","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/main.js","webpack://yucca/./src/config/setPlugins.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/store/player/mutations.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/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","/* 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';\n\nexport const API_VERSION_CHECK = 'https://api.yucca.app/v1/version-check';\n\nexport const ANNOTATIONS_URL = '/v1/annotations';\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}/?utm_source=${utm}#price`;\n }\n return `${BASE_LANDING_URL}/en/?utm_source=${utm}#price`;\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};\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};\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 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","/* eslint-disable import/prefer-default-export */\n\nconst isExist = (value) => value !== null && value !== undefined;\n\nclass SessionStorageAdapter {\n constructor ({ itemName, isPrimitive }) {\n this.itemName = itemName;\n this.isPrimitive = isPrimitive;\n }\n\n getCorrectValue = (value, isPrimitive, correctionFunc) => isPrimitive ? value : correctionFunc(value);\n\n getItem () {\n return sessionStorage.getItem(this.itemName)\n ? this.getCorrectValue(sessionStorage.getItem(this.itemName), this.isPrimitive, JSON.parse)\n : null;\n }\n\n setItem (value) {\n if (isExist(value)) {\n sessionStorage.setItem(this.itemName, this.getCorrectValue(value, this.isPrimitive, JSON.stringify));\n }\n }\n\n removeItem () {\n sessionStorage.removeItem(this.itemName);\n }\n}\n\nconst destinationPageStorage = new SessionStorageAdapter({ itemName: 'destinationPage', isPrimitive: false });\n\nexport {\n destinationPageStorage,\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.$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 }","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\",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.routerParams}}},[_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.isActivePage(_vm.PAGES.STREAM_INFO)\n || _vm.isActivePage(_vm.PAGES.STREAM_SETTING)\n || _vm.isActivePage(_vm.PAGES.STREAM_PERMISSION)},attrs:{\"slot\":\"opener\",\"to\":{name: _vm.PAGES.STREAM_INFO, params: _vm.routerParams}},slot:\"opener\"},[_c('span',{staticClass:\"icon-ycc stream-info_settings\"},[_c('i',{staticClass:\"material-icons\"},[_vm._v(\"info\")])])])],1)],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},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('Administration'),\n [pages.ADMIN_CONFIG] : $gettext('Administration'),\n [pages.ADMIN_STATS] : $gettext('Administration'),\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 };\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.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=a539a158&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=a539a158&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 \"a539a158\",\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=cb8343ca&\"\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=5c3cd4de&\"\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=2b25c016&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=2b25c016&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 \"2b25c016\",\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 GetTextPlugin from 'vue-gettext';\nimport dayjs from 'dayjs';\n\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\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 (config) {\n Vue.use(YccConfigPlugin, { config });\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(new YuccaBootConfig(res.data, {}));\n })\n .catch(() => {\n createApp(new YuccaBootConfig({}, {}));\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","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/sessionStorageAdapter';\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/Auth/AuthPage.vue'),\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 : '/streams',\n name : PAGES.ALL_STREAMS,\n meta : {\n ...metaForProgressLoader,\n },\n component: () => import(/* webpackChunkName: \"streams\" */ './pages/Streams/StreamsPage.vue'),\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 : '/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\n if (!destinationPageStorage.getItem() && !isPublicPage) {\n destinationPageStorage.setItem(to);\n }\n\n store.dispatch('checkPermission')\n .then(({ status, statusCode }) => {\n 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\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 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 getDefaultDownloadLimitsPX,\n getDefaultPlaylist,\n};\n","/* eslint-disable no-param-reassign */\nexport default {\n setPeriod (state, { period }) {\n state.period = period;\n },\n setPlaylist (state, { playlist }) {\n state.playlist = playlist;\n },\n setProgressBarWidth (state, { progressBarWidth }) {\n state.progressBarWidth = progressBarWidth;\n },\n setRanges (state, { ranges }) {\n state.ranges = ranges;\n },\n setPlayingTime (state, { time }) {\n state.playingTime = time;\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 setFetchingAnnotations (state, { isFetchingAnnotations }) {\n state.isFetchingAnnotations = isFetchingAnnotations;\n },\n setSpeedIndex (state, { speedIndex }) {\n state.speedIndex = speedIndex;\n },\n setThumbPos (state, { thumbPos }) {\n state.thumbPos = thumbPos;\n },\n setPlayingState (state, { isPlaying }) {\n state.isPlaying = isPlaying;\n },\n setLoadingState (state, { isLoading }) {\n state.isLoading = isLoading;\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 {\n DEFAULT_PLAYLIST_DURATION,\n PLAYER_VIEW_MODES,\n} from '@/constants/main';\nimport {\n getArchiveStatsUrl,\n getAvailableDaysUrl,\n getRangesUrl,\n ANNOTATIONS_URL,\n getDownloadArchiveUrl,\n} from '@/constants/api';\nimport httpClient from '@/config/httpClient';\nimport {\n convertDateToSeconds,\n formatDate,\n} from '@/extends/lib';\nimport { RANGE_TYPES } from '@/components/ycc-player/constants';\nimport {\n getDefaultStart,\n getDefaultEnd,\n getDefaultPeriod,\n getDefaultDownloadLimitsPX,\n getDefaultPlaylist,\n} from './lib';\nimport mutations from './mutations';\n\nconst { CancelToken } = axios;\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 {\n namespaced: true,\n mutations,\n state : {\n archiveStats : null,\n availableDays: [],\n\n /* progress-bar period */\n period: getDefaultPeriod(),\n /* progress-bar ranges */\n ranges : [],\n annotations : [],\n progressBarWidth: 0,\n /* live/archive */\n playerViewMode: PLAYER_VIEW_MODES.LIVE,\n playlist : null,\n playingTime : dayjs(new Date()).valueOf(),\n thumbPos : 0,\n speedIndex : 1,\n\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 getters : {\n duration (state) {\n return state.period.end - state.period.start;\n },\n secondsInPx : (state, getters) => getters.duration / (state.progressBarWidth * 1000),\n periodISO : (state) => ({\n start: dayjs(state.period.start).toISOString(),\n end : dayjs(state.period.end).toISOString(),\n }),\n periodModifier : (state, getters) => ((getters.duration - (getters.duration / ZOOM_INDEX)) / 2),\n getStartModifier : (state, getters) => (playingTime) => (\n ((playingTime - state.period.start) / getters.duration) * (getters.periodModifier * 2)\n ),\n getEndModifier : (state, getters) => (playingTime) => (\n ((state.period.end - playingTime) / getters.duration) * (getters.periodModifier * 2)\n ),\n defaultStart : () => getDefaultStart(),\n defaultEnd : () => getDefaultEnd(),\n isZoomUpAllowed : (state, getters) => getters.duration > MIN_DURATION,\n isZoomDownAllowed : (state, getters) => getters.duration < MAX_DURATION,\n hasArchive : (state) => !!state.archiveStats && !!state.archiveStats.period,\n downloadPeriod : (state, getters) => {\n let start = (state.downloadLimitsPX.left * getters.secondsInPx * 1000) + state.period.start;\n let end = (state.downloadLimitsPX.right * getters.secondsInPx * 1000) + state.period.start;\n\n start = start < Date.now() ? start : Date.now();\n end = end < Date.now() ? end : Date.now();\n\n return { start, end };\n },\n getPXFromSeconds : (state, getters) => (seconds) => seconds / getters.secondsInPx,\n getSecondsFromPX : (state, getters) => (px) => px * getters.secondsInPx,\n firstArchiveAvailableDate: (state) => (\n state.archiveStats && state.archiveStats.period ? state.archiveStats.period.startTime : false\n ),\n\n currentDate: (state) => (lang) => (\n state.playingTime ? formatDate(state.playingTime, 'HH:mm:ss, MMMM D') : null\n ),\n\n intervals : (state, getters) => {\n const startSeconds = convertDateToSeconds(state.period.start);\n const endSeconds = convertDateToSeconds(state.period.end);\n const clipShift = startSeconds;\n const intervalsTemp = [];\n const ranges = state.ranges\n ? state.ranges\n : getDefaultPlaylist({\n start: state.period.start,\n end : state.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 = getters.getIntervalType({\n status : range.status,\n isLastRange: index === arr.length - 1,\n date : range.date,\n });\n\n intervalsTemp.push({\n width: getters.getPXFromSeconds(rangeEnd - startSeconds)\n - getters.getPXFromSeconds(rangeStart - startSeconds),\n left : getters.getPXFromSeconds(rangeStart - startSeconds),\n type : intervalType,\n start: rangeStart - clipShift,\n end : rangeEnd - clipShift,\n });\n });\n return intervalsTemp;\n },\n playlistRanges : (state) => {\n const ranges = [];\n let hasEnd = false;\n\n if (state.playlist && state.playlist.period) {\n state.ranges.some((range, index) => {\n const rangeDateMS = dayjs(new Date(range.date)).valueOf();\n\n if (rangeDateMS >= state.playlist.period.start\n && rangeDateMS < state.playlist.period.end\n && range.status === 0) {\n const startTime = dayjs(new Date(range.date)).valueOf();\n let endTime;\n\n if (state.ranges[index + 1]\n && dayjs(new Date(state.ranges[index + 1].date)).valueOf() < state.playlist.period.end) {\n endTime = dayjs(new Date(state.ranges[index + 1].date)).valueOf();\n }\n else {\n endTime = state.playlist.period.end;\n hasEnd = true;\n }\n\n if (endTime - startTime > 100) {\n ranges.push({\n start : startTime,\n end : endTime,\n status: range.status,\n });\n }\n }\n\n if (!state.ranges[index + 1]\n || dayjs(new Date(state.ranges[index + 1].date)).valueOf() >= state.playlist.period.end) {\n hasEnd = true;\n }\n\n return hasEnd;\n });\n }\n\n return ranges;\n },\n getIntervalType: (state) => ({ status, isLastRange, date }) => {\n const liveTime = state.archiveStats && state.archiveStats.period\n ? state.archiveStats.period.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 return status ? RANGE_TYPES.FRAGMENT : intervalType;\n },\n },\n\n actions: {\n /* bring */\n zoomUp ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n const currentTime = dayjs(new Date()).valueOf();\n const playingTime = state.playingTime || currentTime;\n\n if (getters.isZoomUpAllowed) {\n commit('setPeriod', {\n period: {\n start: state.period.start + getters.getStartModifier(playingTime),\n end : state.period.end - getters.getEndModifier(playingTime),\n },\n });\n dispatch('createArchiveDataWatcher', {\n streamId,\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n });\n }\n },\n /* put away */\n zoomDown ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n const currentTime = dayjs(new Date()).valueOf();\n const playingTime = state.playingTime || currentTime;\n\n if (getters.isZoomDownAllowed) {\n commit('setPeriod', {\n period: {\n start: state.period.start - getters.getStartModifier(playingTime),\n end : state.period.end >= currentTime + (3 * HOUR_IN_MS)\n ? state.period.end : state.period.end + getters.getEndModifier(playingTime),\n },\n });\n dispatch('fetchArchiveData', { rangesUrl: getRangesUrl(streamUid), isArchiveEnable: true, streamId });\n dispatch('createArchiveDataWatcher', {\n streamId,\n rangesUrl : getRangesUrl(streamUid),\n isArchiveEnable: true,\n });\n }\n },\n moveLeft ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n commit('setPeriod', {\n period: {\n start: state.period.start - getters.periodModifier,\n end : state.period.end - getters.periodModifier,\n },\n });\n dispatch('fetchArchiveData', { rangesUrl: getRangesUrl(streamUid), isArchiveEnable: true, streamId });\n },\n moveRight ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n commit('setPeriod', {\n period: {\n start: state.period.start + getters.periodModifier,\n end : state.period.end + getters.periodModifier,\n },\n });\n dispatch('fetchArchiveData', { rangesUrl: getRangesUrl(streamUid), isArchiveEnable: true, streamId });\n },\n toCenter ({ commit, state, getters, dispatch }, { streamUid, streamId }) {\n if (state.playerViewMode === PLAYER_VIEW_MODES.LIVE && !state.playlist) {\n return;\n }\n commit('setPeriod', {\n period: {\n start: state.playingTime - (getters.duration / 2),\n end : state.playingTime + (getters.duration / 2),\n },\n });\n dispatch('fetchArchiveData', { rangesUrl: getRangesUrl(streamUid), isArchiveEnable: true, streamId });\n },\n updatePeriodAfterDrag ({ commit, dispatch, state }, { period }) {\n commit('setPeriod', { period });\n },\n\n updateRanges ({ commit }, { ranges }) {\n function getSplitLastRange () {\n const lastRange = ranges && ranges[ranges.length - 1]\n ? JSON.parse(JSON.stringify(ranges[ranges.length - 1])) : 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 commit('setRanges', { ranges });\n },\n updatePlayingTime ({ commit }, { time }) {\n commit('setPlayingTime', { time });\n },\n updatePlayerViewMode ({ commit, dispatch }, { mode }) {\n commit('setPlayerViewMode', { mode });\n\n if (mode === PLAYER_VIEW_MODES.LIVE) {\n dispatch('updateSpeedIndex', { speedIndex: 1 });\n }\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 updatePeriod ({ commit }, { period }) {\n commit('setPeriod', { period });\n },\n resetPeriod ({ dispatch, getters }) {\n dispatch('updatePeriod', {\n period: {\n start: getters.defaultStart,\n end : getters.defaultEnd,\n },\n });\n },\n updateProgressBarWidth ({ commit }, { id }) {\n setTimeout(() => {\n const progressBarElem = document.getElementById(id);\n commit('setProgressBarWidth', {\n progressBarWidth: progressBarElem ? progressBarElem.getBoundingClientRect().width : 0,\n });\n }, 100);\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: getters.periodISO.start,\n end_time : getters.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 commit('setArchiveStats', { 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 ({ getters, 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: getters.periodISO.start,\n to : getters.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 }) {\n return httpClient\n .get(getDownloadArchiveUrl({ streamUid }), {\n params: {\n start_time : dayjs(getters.downloadPeriod.start).toISOString(),\n end_time : dayjs(getters.downloadPeriod.end).toISOString(),\n timezone_offset: dayjs().utcOffset(),\n },\n })\n .then((res) => res.data);\n },\n\n updateAnnotations ({ commit }, { annotations }) {\n commit('setAnnotations', { annotations });\n },\n resetArchiveData ({ commit, dispatch }) {\n commit('setArchiveStats', { stats: null });\n commit('setAvailableDays', { availableDays: [] });\n commit('setPeriod', { period: getDefaultPeriod() });\n commit('setProgressBarWidth', { progressBarWidth: 0 });\n commit('setPlaylist', { playlist: null });\n commit('setRanges', { ranges: [] });\n commit('setAnnotations', { annotations: [] });\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.secondsInPx);\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 }, { isSeek, rangesUrl, liveUrl, isAvailableStream, isArchiveEnable, streamId }) {\n dispatch('updatePlayerViewMode', { mode: PLAYER_VIEW_MODES.LIVE });\n\n if (isAvailableStream) {\n if (!isSeek) {\n dispatch('updatePeriod', {\n period: {\n start: dayjs(new Date(getters.defaultStart)).valueOf(),\n end : dayjs(new Date(getters.defaultEnd)).valueOf(),\n },\n });\n dispatch('fetchArchiveData', { rangesUrl, isArchiveEnable, streamId });\n dispatch('createArchiveDataWatcher', { rangesUrl, streamId });\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 }, { period, playlistUrl }) {\n dispatch('updatePlaylist', {\n period,\n url : playlistUrl,\n mode: PLAYER_VIEW_MODES.ARCHIVE,\n });\n dispatch('updatePlayerViewMode', { mode: PLAYER_VIEW_MODES.ARCHIVE });\n },\n goToEmptyState ({ commit, dispatch }) {\n commit('setPlaylist', { playlist: null });\n dispatch('updatePlayingTime', { time: 0 });\n },\n onSeekHandler ({ state, getters, dispatch }, {\n intervalElem,\n clientX,\n rangesUrl,\n liveUrl,\n playlistUrl,\n isAvailableStream,\n progressBar,\n }) {\n function isLastElem (elem) {\n return getters.intervals.length === Number(elem.dataset.index) + 1;\n }\n\n function getThumbLeftPos () {\n const progressElemLeft = progressBar.getBoundingClientRect().left;\n return clientX - progressElemLeft;\n }\n\n function getSecondsFromPos () {\n const pointLeft = getThumbLeftPos(clientX);\n return getters.getSecondsFromPX(pointLeft);\n }\n\n function getTimeShift (currentTime, ranges) {\n let timeShift = 0;\n ranges.forEach((range) => {\n if (range.status === 0 && currentTime >= range.end) {\n timeShift += range.end - range.start;\n }\n });\n return timeShift;\n }\n\n if (intervalElem.dataset.type === RANGE_TYPES.LIVE) {\n dispatch('goToLive', { isSeek: true, rangesUrl, liveUrl, isAvailableStream });\n dispatch('updateThumbPos', {\n thumbPos: getters.getPXFromSeconds((Date.now() - state.period.start) / 1000),\n });\n }\n else if (intervalElem.dataset.type === RANGE_TYPES.GAP && isLastElem(intervalElem)) {\n return false;\n }\n else {\n let newCurrentSeconds = 0;\n\n if (intervalElem.dataset.type === RANGE_TYPES.GAP) {\n newCurrentSeconds = getters.intervals[Number(intervalElem.dataset.index) + 1].start;\n }\n else if (intervalElem.dataset.type === RANGE_TYPES.FRAGMENT) {\n newCurrentSeconds = getSecondsFromPos(clientX);\n dispatch('updateThumbPos', {\n thumbPos: getThumbLeftPos(clientX),\n });\n }\n\n dispatch('goToArchive', {\n period: {\n start: (newCurrentSeconds * 1000) + state.period.start,\n end : ((newCurrentSeconds + DEFAULT_PLAYLIST_DURATION) * 1000) + state.period.start,\n },\n playlistUrl,\n });\n }\n return true;\n },\n updateThumbPos ({ state, commit }, { thumbPos }) {\n if (Math.trunc(thumbPos) !== state.thumbPos) {\n commit('setThumbPos', { thumbPos: Math.trunc(thumbPos) });\n }\n },\n },\n};\n","import {\n getDeleteToken,\n PROFILE_TOKEN_URL,\n PROFILE_TOKENS_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 },\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 state.cancelStreamInfoRequest('replaced');\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 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/sessionStorageAdapter';\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';\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 },\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 },\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 },\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\",\"89\":\"license\",\"186\":\"stream-view\",\"187\":\"add-stream\",\"199\":\"admin-users\",\"212\":\"admin-stats\",\"233\":\"admin-config\",\"260\":\"stream-setting\",\"328\":\"admin\",\"378\":\"user\",\"391\":\"stream-permission\",\"410\":\"init\",\"443\":\"stream-debug\",\"515\":\"stream\",\"615\":\"bookmarks\",\"632\":\"user-add\",\"768\":\"streams\",\"818\":\"auth\",\"845\":\"profile\",\"914\":\"server-debug\",\"942\":\"not-found\"}[chunkId] || chunkId) + \".\" + {\"7\":\"83865f08\",\"8\":\"5485b60c\",\"10\":\"dfacb72f\",\"39\":\"433fd1e8\",\"89\":\"3bedbcf7\",\"104\":\"945e440a\",\"130\":\"d5af26e3\",\"186\":\"7005966f\",\"187\":\"9c0da179\",\"199\":\"ea45ed75\",\"212\":\"bd170642\",\"233\":\"a354f490\",\"260\":\"6f051882\",\"328\":\"2124167f\",\"378\":\"6fe11aaf\",\"386\":\"708d20e2\",\"391\":\"06e99456\",\"410\":\"42ce1060\",\"443\":\"c70eae85\",\"515\":\"8e380f52\",\"615\":\"88553d63\",\"632\":\"0294026d\",\"716\":\"11ab731d\",\"768\":\"f377b668\",\"818\":\"c7517571\",\"845\":\"dab37b9d\",\"914\":\"72e37863\",\"942\":\"339440c1\",\"996\":\"b3072ea1\"}[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\",\"89\":\"license\",\"186\":\"stream-view\",\"199\":\"admin-users\",\"212\":\"admin-stats\",\"260\":\"stream-setting\",\"328\":\"admin\",\"378\":\"user\",\"391\":\"stream-permission\",\"410\":\"init\",\"443\":\"stream-debug\",\"515\":\"stream\",\"632\":\"user-add\",\"768\":\"streams\",\"818\":\"auth\",\"845\":\"profile\",\"914\":\"server-debug\",\"942\":\"not-found\"}[chunkId] || chunkId) + \".\" + {\"7\":\"5cdd5067\",\"8\":\"f8c493c7\",\"89\":\"85fbef7a\",\"186\":\"dd9ca5cf\",\"199\":\"06a8bfde\",\"212\":\"3bb3770d\",\"260\":\"809e3b20\",\"328\":\"c544645a\",\"378\":\"77f3f4ed\",\"391\":\"5d8f0c54\",\"410\":\"41b02006\",\"443\":\"6d8d45e1\",\"515\":\"baaf7ea6\",\"632\":\"f24effca\",\"768\":\"e039e4f8\",\"818\":\"496c8ba1\",\"845\":\"792f5dd0\",\"914\":\"6d8d45e1\",\"942\":\"f359bcbe\"}[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 = {\"7\":1,\"8\":1,\"89\":1,\"186\":1,\"199\":1,\"212\":1,\"260\":1,\"328\":1,\"378\":1,\"391\":1,\"410\":1,\"443\":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(7 != 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__(2688); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","class","isHeader","attrs","logo","staticRenderFns","THEMES","light","dark","LOGOS","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","deep","periodStyle","allPeriodProperties","getMonths","firstWeekdayInMonth","daysInMonth","monthNumber","weeks","days","getWeeksWithDays","dayIndexStart","dayIndexStop","monthDay","isMonthStarted","weekDay","dateProperties","isMonthEnded","correctLocaleWeekdays","correctedFirstWeekday","dayClass","getExtremumDate","getSettingsMinDate","getSettingsMaxDate","hasDay","isWeekend","isToday","isIncludedInSelectedPeriod","isStart","isEnd","isDisableDate","isIncludedInSignificantDates","weekend","today","selected","setSelectedPeriod","onMouseEnterToDay","elem","onClickDaySingleHandler","onClickDayPeriodHandler","onClickDayMultiHandler","periods","isIncludedInSelectedPeriods","isIncludedInNotSelectedDates","deleteDateFromSelected","YccCalendar","location","isInline","isOpen","datepickerStyles","width","top","left","changeMonthYear","year","menuState","state","uniqueKey","disabled","changeState","NOT_CLOSING","CLOSING","SUBMENU","MENU_CONTENT","SHOW","dropdownMenuState","visibleMenu","stateFromProps","handler","immediate","window","event","closeDropdownMenu","showSubmenu","isChildElem","selector","deleteShowClass","e","findElems","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","$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","API_VERSION_CHECK","ANNOTATIONS_URL","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","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","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","match","isSafari","iOSVersion","MSStream","indexedDB","SpeechSynthesisUtterance","webkitAudioContext","matchMedia","history","isMobile","isMediaAtLeast720","matches","DATE_FORMAT","getCoords","box","getBoundingClientRect","pageYOffset","pageXOffset","height","getElementUnderClientXY","clientX","clientY","display","target","document","elementFromPoint","body","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","className","modalId","findElements","querySelectorAll","classList","contains","notClosingElements","getSortingDirection","sortingType","isExist","SessionStorageAdapter","constructor","itemName","isPrimitive","correctionFunc","getItem","sessionStorage","getCorrectValue","setItem","removeItem","destinationPageStorage","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","$setDocumentTitle","titles","join","$appLogo","$setLanguage","$formatDate","filter","isFixContent","isReadOnlyProfile","isAuthOrInitPage","isEmptyRoute","warnings","logout","slot","directives","rawName","expression","shownWarnings","warning","index","domProps","hideWarning","licenseStateTitle","licenseStateDescription","toggleAside","layoutMainClasses","hasAside","$route","isOpenAside","headerHeight","isActivePage","hidden","page","_m","hasAppLogo","isReadOnly","addingStreamTitle","streamName","params","routerParams","streamSettingsTitle","getGroupLabel","groupType","groupStreams","viewModeTitle","changeViewMode","viewModeKey","availableStreamsInfo","toggleShowingAvailable","isShownAvailableStreams","pageTitle","isAdmin","$language","pageNames","$gettext","text","pages","id","current","documentationLink","apply","arguments","YccDropdown","YccHint","stream","mapState","mapGetters","setStreamName","YccAlert","isCloseAsideOutside","asideHeight","isClosing","isOpening","isMinScreen","isShowHeader","open","closing","opening","minHeight","marginTop","setTimeout","YccLayout","noticeElems","serverErrorNotice","stateErrors","notice","license","healthWarnings","userLang","warningsArr","usedPercent","duration","to","changeLang","popoverYccCssClasses","positions","RTL","LTR","CENTER","CorrectingPosition","contentWidth","positionsArr","basePosition","horizontalPosition","documentWidth","clientWidth","documentHeight","getComputedStyle","Math","max","scrollHeight","offsetHeight","setPosition","ltrPositionClass","rtlPositionClass","getPositionCssClass","contentCoords","btnCoords","isStaticVerticalPosition","getCorrectedPositionCssClass","getStyle","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","Object","keys","forEach","prop","x","hintRenderContentId","popup","setAttribute","createHint","process","err","vm","info","$options","errorHandler","$parent","call","console","log","color","failedColor","thickness","transition","speed","opacity","termination","autoRevert","inverse","defaultProps","YccDatepickerContent","openDatepicker","setFixing","setStart","setEnd","newState","closeDatepickerOutside","setSelectingState","setPeriod","$emit","inputElem","closeDatepicker","getCorrectPeriod","onChangeMonthYear","elemChildren","openerChildren","add","createApp","YccConfigPlugin","GetTextPlugin","h","App","$mount","VueProgressBar","progressBarOptions","Loading","inserted","binding","f","evt","Datepicker","initHint","httpClient","then","res","catch","progress","func","modifier","argument","Router","mode","base","routes","meta","redirect","metaForProgressLoader","children","beforeEach","from","next","isPublicPage","statusCode","afterEach","scrollY","scroll","getGroupedStreams","streams","groupingType","groupedStreams","pushStream","groupName","push","tags","tag","saveToLocalStorage","streamsPageSettings","localStorage","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","getDefaultDownloadLimitsPX","getDefaultPlaylist","startTime","endTime","ranges","url","setPlaylist","playlist","setProgressBarWidth","progressBarWidth","setRanges","setPlayingTime","time","playingTime","setPlayerViewMode","playerViewMode","setFetching","isFetchingArchive","setAvailableDays","availableDays","setFetchingArchiveRanges","isFetchingArchiveRanges","setArchiveStats","stats","archiveStats","setArchiveDataWatcherTimer","timer","archiveDataWatcherTimer","setDownloadBlockVisibility","isVisibleDownloadBlock","setDownloadLimits","downloadLimitsPX","setArchiveDownloadMaxSeconds","setAnnotations","annotations","setFetchingAnnotations","isFetchingAnnotations","setSpeedIndex","speedIndex","setThumbPos","thumbPos","setPlayingState","isPlaying","setLoadingState","isLoading","CancelToken","ZOOM_INDEX","HOUR_IN_MS","MIN_DURATION","MAX_DURATION","namespaced","mutations","cancelArchiveRangesRequest","getters","secondsInPx","periodISO","toISOString","periodModifier","getStartModifier","getEndModifier","defaultStart","defaultEnd","isZoomUpAllowed","isZoomDownAllowed","hasArchive","downloadPeriod","now","getPXFromSeconds","seconds","getSecondsFromPX","px","firstArchiveAvailableDate","currentDate","intervals","startSeconds","endSeconds","clipShift","intervalsTemp","range","arr","rangeStart","rangeEnd","intervalType","getIntervalType","isLastRange","playlistRanges","hasEnd","some","rangeDateMS","liveTime","actions","zoomUp","commit","dispatch","streamId","currentTime","rangesUrl","isArchiveEnable","zoomDown","moveLeft","moveRight","toCenter","updatePeriodAfterDrag","updateRanges","getSplitLastRange","lastRange","liveRange","updatePlayingTime","updatePlayerViewMode","updatePlaylist","updatePeriod","resetPeriod","updateProgressBarWidth","progressBarElem","getElementById","fetchArchive","start_time","end_time","finally","fetchArchiveRanges","cancelToken","cancel","fetchArchiveStats","startDay","endDay","fetchAvailableDays","fetchArchiveData","fetchAnnotations","fetchDownloadArchiveUrl","timezone_offset","utcOffset","updateAnnotations","resetArchiveData","createArchiveDataWatcher","tick","clearArchiveDataWatcher","clearTimeout","updateSpeedIndex","goToLive","isSeek","liveUrl","isAvailableStream","goToArchive","playlistUrl","goToEmptyState","onSeekHandler","intervalElem","progressBar","isLastElem","Number","dataset","getThumbLeftPos","progressElemLeft","getSecondsFromPos","pointLeft","newCurrentSeconds","updateThumbPos","trunc","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","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","item","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","async","uid","pauseStream","resumeStream","deleteStream","purge","saveStream","updateStreamInStreams","rootState","map","streamItem","streamUrl","stream_id","runUpdatingStreamStatus","isPlayer","clearStreamTimers","shareStream","denyStreamPublicAccess","fetchStream","fetchStreamStatus","fetchStreamInfo","updateCurrentStream","clearCurrentStream","fetchStreamPermissions","updatePermissions","isFetchingLicense","setLicense","fetchLicense","isSavingLicense","Vuex","modules","admin","player","profile","streamStore","isAuthLoading","isAdminCreating","pageNumberOfStreams","sortType","isFetchingStreams","isCheckingMode","searchingValues","isNotFoundPage","errors","isCardMode","setVersion","setHealthWarnings","MUTATIONS","setNotice","deleteNotice","setHeaderHeight","setIsMediaAtLeast720","availableStreams","searchedStreams","uniqueStreamsIds","allSearchedStreams","getValuesForSearching","valuesForSearching","streamSource","searchingValue","groupedByTags","autocomplete","names","markers","locations","marker","createAdmin","token","auth","redirectPage","mustChangePassword","saveToken","samesite","hasPermission","fetchHealth","updateVersion","fetchStreams","onlyAvailable","fetchStreamsStatuses","isOnlyAvailable","updateStreams","updateStreamsStatuses","searchStreams","changeAsideState","toggleFoundingPageState","getStreamsPageSettingFromLocalStorage","setError","deleteError","resizeApp","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","every","splice","r","n","getter","__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":""}