{"version":3,"file":"js/app.f4aaafdf.js","mappings":"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","sources":["webpack://editor-front/./src/data/freeTrial.js","webpack://editor-front/./src/data/prices.js","webpack://editor-front/./src/data/products.js","webpack://editor-front/./src/lib/http.js","webpack://editor-front/./src/App.vue","webpack://editor-front/./src/components/TheNavbar.vue","webpack://editor-front/src/components/TheNavbar.vue","webpack://editor-front/./src/components/TheNavbar.vue?56e9","webpack://editor-front/./src/components/TheNavbar.vue?6ed1","webpack://editor-front/./src/components/DemoUserAlert.vue","webpack://editor-front/src/components/DemoUserAlert.vue","webpack://editor-front/./src/components/DemoUserAlert.vue?000e","webpack://editor-front/./src/components/DemoUserAlert.vue?a7f0","webpack://editor-front/./src/components/Messages.vue","webpack://editor-front/src/components/Messages.vue","webpack://editor-front/./src/components/Messages.vue?ef7d","webpack://editor-front/./src/components/Messages.vue?b813","webpack://editor-front/./src/components/TheFooter.vue","webpack://editor-front/src/components/TheFooter.vue","webpack://editor-front/./src/components/TheFooter.vue?bd98","webpack://editor-front/./src/components/TheFooter.vue?89f2","webpack://editor-front/src/App.vue","webpack://editor-front/./src/App.vue?c036","webpack://editor-front/./src/App.vue?0e40","webpack://editor-front/./src/plugins/MessagePlugin/index.js","webpack://editor-front/./src/main.js","webpack://editor-front/./src/router/index.js","webpack://editor-front/./src/services/LocalStorageService.js","webpack://editor-front/./src/store/modules/selectedFile.js","webpack://editor-front/./src/store/modules/user.js","webpack://editor-front/./src/store/modules/editorialPass.js","webpack://editor-front/./src/store/modules/message.js","webpack://editor-front/./src/store/modules/subscription.js","webpack://editor-front/./src/store/modules/buttongroups.js","webpack://editor-front/./src/store/modules/azuredata.js","webpack://editor-front/./src/store/index.js","webpack://editor-front/./src/store/modules/show.js","webpack://editor-front/./src/assets/messages/ sync ^\\.\\/.*\\.gif$","webpack://editor-front/./src/assets/messages/ sync ^\\.\\/.*\\.png$","webpack://editor-front/webpack/bootstrap","webpack://editor-front/webpack/runtime/chunk loaded","webpack://editor-front/webpack/runtime/compat get default export","webpack://editor-front/webpack/runtime/define property getters","webpack://editor-front/webpack/runtime/ensure chunk","webpack://editor-front/webpack/runtime/get javascript chunk filename","webpack://editor-front/webpack/runtime/get mini-css chunk filename","webpack://editor-front/webpack/runtime/global","webpack://editor-front/webpack/runtime/hasOwnProperty shorthand","webpack://editor-front/webpack/runtime/load script","webpack://editor-front/webpack/runtime/make namespace object","webpack://editor-front/webpack/runtime/node module decorator","webpack://editor-front/webpack/runtime/publicPath","webpack://editor-front/webpack/runtime/css loading","webpack://editor-front/webpack/runtime/jsonp chunk loading","webpack://editor-front/webpack/startup"],"sourcesContent":["import prices from '@/data/prices';\r\nimport products from '@/data/products';\r\n\r\nconst silverId =\r\n process.env.NODE_ENV === 'production'\r\n ? 'prod_JD5vKnEGnufRGJ' //live product id\r\n : 'prod_IkEwZigT2yj824'; //test product id\r\nconst silverProduct = products.find(p => p.id === silverId);\r\n\r\nconst silverMonth = prices.find(\r\n p => p.product === silverProduct && p.recurring.interval === 'month',\r\n);\r\n\r\nexport default {\r\n product: {\r\n id: silverProduct.id,\r\n trial: true,\r\n name: '360Editor Silver - Free Trial',\r\n description:\r\n 'Web based 360editor and publishing platform for VR-Content. Trial shows have watermark on them.',\r\n details: [\r\n '30 days of free trial',\r\n 'Watermark on top of shows',\r\n ...silverProduct.details,\r\n ],\r\n images: ['https://files.stripe.com/links/fl_test_WY31xkxOAA0b4n6wIwx2EPGE'],\r\n maxShows: 5,\r\n },\r\n price: silverMonth,\r\n};\r\n","const year = 'year';\r\nconst month = 'month';\r\nconst eur = 'eur';\r\n\r\nconst silver = 'prod_JD5vKnEGnufRGJ';\r\nconst gold = 'prod_JD5wO9XhO2IlYU';\r\nconst platinum = 'prod_JD5w54Yb9wfi8u';\r\n\r\nconst testProducts = {\r\n silver: 'prod_IkEwZigT2yj824',\r\n gold: 'prod_IkFM1xZLYz2tTZ',\r\n platinum: 'prod_IkFRutqCDM16Qe',\r\n};\r\n\r\nconst prices = [\r\n {\r\n id: 'price_1IafjXJ9in2FvoUPCmMKxRnx',\r\n legacyIds: [],\r\n currency: eur,\r\n product: silver,\r\n recurring: {\r\n interval: month,\r\n },\r\n unit_amount: 9900,\r\n },\r\n {\r\n id: 'price_1IafjXJ9in2FvoUPoBwSbFOj',\r\n legacyIds: [],\r\n currency: eur,\r\n product: silver,\r\n recurring: {\r\n interval: year,\r\n },\r\n unit_amount: 99900,\r\n },\r\n {\r\n id: 'price_1IafkHJ9in2FvoUPY2UFxJL0',\r\n legacyIds: [],\r\n currency: eur,\r\n product: gold,\r\n recurring: {\r\n interval: month,\r\n },\r\n unit_amount: 14900,\r\n },\r\n {\r\n id: 'price_1IafkHJ9in2FvoUPPOtWY7K3',\r\n legacyIds: [],\r\n currency: eur,\r\n product: gold,\r\n recurring: {\r\n interval: year,\r\n },\r\n unit_amount: 149000,\r\n },\r\n {\r\n id: 'price_1IafkvJ9in2FvoUPgFult5RJ',\r\n legacyIds: [],\r\n currency: eur,\r\n product: platinum,\r\n recurring: {\r\n interval: month,\r\n },\r\n unit_amount: 19900,\r\n },\r\n {\r\n id: 'price_1IafkvJ9in2FvoUP5optTTWW',\r\n legacyIds: [],\r\n currency: eur,\r\n product: platinum,\r\n recurring: {\r\n interval: year,\r\n },\r\n unit_amount: 199000,\r\n },\r\n];\r\n\r\nconst testPrices = [\r\n {\r\n id: 'price_1IYqH0J9in2FvoUPZjOjnQXZ',\r\n legacyIds: ['price_1IWINJJ9in2FvoUPnbrQ2Ktf'],\r\n currency: eur,\r\n product: testProducts.silver,\r\n recurring: {\r\n interval: month,\r\n },\r\n unit_amount: 9900,\r\n },\r\n {\r\n id: 'price_1IYqHBJ9in2FvoUPalefGudV',\r\n legacyIds: ['price_1IWINTJ9in2FvoUPdrmPhUUe'],\r\n currency: eur,\r\n product: testProducts.silver,\r\n recurring: {\r\n interval: year,\r\n },\r\n unit_amount: 99900,\r\n },\r\n {\r\n id: 'price_1IVcShJ9in2FvoUPDEtHNx1m',\r\n legacyIds: [],\r\n currency: eur,\r\n product: testProducts.gold,\r\n recurring: {\r\n interval: month,\r\n },\r\n unit_amount: 14900,\r\n },\r\n {\r\n id: 'price_1IVcSwJ9in2FvoUPo7wggnF6',\r\n legacyIds: [],\r\n currency: eur,\r\n product: testProducts.gold,\r\n recurring: {\r\n interval: year,\r\n },\r\n unit_amount: 149000,\r\n },\r\n {\r\n id: 'price_1IWINoJ9in2FvoUPE88gbQ1f',\r\n legacyIds: [],\r\n currency: eur,\r\n product: testProducts.platinum,\r\n recurring: {\r\n interval: month,\r\n },\r\n unit_amount: 19900,\r\n },\r\n {\r\n id: 'price_1IYqIyJ9in2FvoUPGrJEWU3E',\r\n legacyIds: ['price_1IWINvJ9in2FvoUPEyVSYLJl'],\r\n currency: eur,\r\n product: testProducts.platinum,\r\n recurring: {\r\n interval: year,\r\n },\r\n unit_amount: 199000,\r\n },\r\n];\r\nexport default process.env.NODE_ENV === 'production' ? prices : testPrices;\r\n","const products = [\r\n {\r\n id: 'prod_JD5vKnEGnufRGJ',\r\n name: '360Editor - Silver',\r\n maxShows: 5,\r\n description: 'Web based 360editor and publishing platform for VR-Content.',\r\n details: [\r\n '100 GB storage (20 GB/show)',\r\n 'Embedded media player',\r\n 'Shareable links to shows',\r\n '360 Images/360 Videos',\r\n '2D Images/2D Videos',\r\n 'Background audio',\r\n 'Interactive features',\r\n 'Link shows together',\r\n ],\r\n images: ['https://files.stripe.com/links/fl_test_WY31xkxOAA0b4n6wIwx2EPGE'],\r\n },\r\n {\r\n id: 'prod_JD5wO9XhO2IlYU',\r\n name: '360Editor - Gold',\r\n maxShows: 15,\r\n description: 'Web based 360editor and publishing platform for VR-Content.',\r\n details: [\r\n '300 GB storage (20 GB/show)',\r\n 'Embedded media player',\r\n 'Shareable links to shows',\r\n '360 Images/360 Videos',\r\n '2D Images/2D Videos',\r\n 'Background audio',\r\n 'Interactive features',\r\n 'Link shows together',\r\n ],\r\n images: ['https://files.stripe.com/links/fl_test_RCmkfFKubfLDo6uy8SRlWEUZ'],\r\n },\r\n {\r\n id: 'prod_JD5w54Yb9wfi8u',\r\n name: '360Editor - Platinum',\r\n maxShows: 50,\r\n description: 'Web based 360editor and publishing platform for VR-Content.',\r\n details: [\r\n '1 TB storage (20 GB/show)',\r\n 'Embedded media player',\r\n 'Shareable links to shows',\r\n '360 Images/360 Videos',\r\n '2D Images/2D Videos',\r\n 'Background audio',\r\n 'Interactive features',\r\n 'Link shows together',\r\n ],\r\n images: ['https://files.stripe.com/links/fl_test_vIUpTb5irVP3sDOLrVIdJgbL'],\r\n },\r\n];\r\nconst testProducts = [\r\n {\r\n id: 'prod_IkEwZigT2yj824',\r\n name: '360Editor - Silver',\r\n maxShows: 5,\r\n description: 'Web based 360editor and publishing platform for VR-Content.',\r\n details: [\r\n '20 Gb storage',\r\n 'Embedded media player',\r\n 'Shareable links to shows',\r\n '360 Images/360 Videos',\r\n '2D Images/2D Videos',\r\n 'Background audio',\r\n 'Interactive features',\r\n 'Link shows together',\r\n ],\r\n images: ['https://files.stripe.com/links/fl_test_WY31xkxOAA0b4n6wIwx2EPGE'],\r\n },\r\n {\r\n id: 'prod_IkFM1xZLYz2tTZ',\r\n name: '360Editor - Gold',\r\n maxShows: 15,\r\n description: 'Web based 360editor and publishing platform for VR-Content.',\r\n details: [\r\n '20 Gb storage',\r\n 'Embedded media player',\r\n 'Shareable links to shows',\r\n '360 Images/360 Videos',\r\n '2D Images/2D Videos',\r\n 'Background audio',\r\n 'Interactive features',\r\n 'Link shows together',\r\n ],\r\n images: ['https://files.stripe.com/links/fl_test_RCmkfFKubfLDo6uy8SRlWEUZ'],\r\n },\r\n {\r\n id: 'prod_IkFRutqCDM16Qe',\r\n name: '360Editor - Platinum',\r\n maxShows: 50,\r\n description: 'Web based 360editor and publishing platform for VR-Content.',\r\n details: [\r\n '20 Gb storage',\r\n 'Embedded media player',\r\n 'Shareable links to shows',\r\n '360 Images/360 Videos',\r\n '2D Images/2D Videos',\r\n 'Background audio',\r\n 'Interactive features',\r\n 'Link shows together',\r\n ],\r\n images: ['https://files.stripe.com/links/fl_test_vIUpTb5irVP3sDOLrVIdJgbL'],\r\n },\r\n];\r\nexport default process.env.NODE_ENV === 'production' ? products : testProducts;\r\n","import axios from 'axios';\r\nimport router from '@/router';\r\nimport LocalStorageService from '@/services/LocalStorageService';\r\nconst localStorageService = LocalStorageService.getService();\r\n\r\n// const API_URL =\r\n// process.env.NODE_ENV === 'production'\r\n// ? 'https://360editor-back-testenv.azurewebsites.net/'\r\n// : 'http://localhost:8000';\r\n// const API_URL = 'https://dev-dot-platinum-voice-204309.ey.r.appspot.com';\r\n\r\nconst currentUrl = location.host;\r\nlet API_URL = '';\r\n\r\n\r\nif (currentUrl==='test.360editor.fi'){\r\n console.log('TEST ENV');\r\n // Test env\r\n API_URL = 'https://360editor-back-testenv.azurewebsites.net/';\r\n} else if (currentUrl==='localhost:8080') {\r\n console.log('LOCAL ENV');\r\n API_URL = 'http://localhost:8000';\r\n} else {\r\n console.log('PROD ENV');\r\n API_URL = 'https://360editor-back-test.azurewebsites.net/';\r\n}\r\n\r\nconst api = axios.create({\r\n baseURL: API_URL,\r\n});\r\n\r\nconst cancelSource = axios.CancelToken.source();\r\n\r\napi.interceptors.request.use(\r\n config => {\r\n const token = localStorageService.getAccessToken();\r\n if (token) {\r\n config.headers['Authorization'] = 'Bearer ' + token;\r\n }\r\n config.cancelToken = cancelSource.token;\r\n return config;\r\n },\r\n error => {\r\n return Promise.reject(error);\r\n },\r\n);\r\n\r\nlet retry = false;\r\n\r\napi.interceptors.response.use(\r\n response => {\r\n return response;\r\n },\r\n async error => {\r\n const originalRequest = error.config;\r\n const refreshToken = localStorageService.getRefreshToken();\r\n const token = localStorageService.getAccessToken();\r\n\r\n if (retry && error.response.status === 401) {\r\n if (originalRequest.url === '/auth/token') {\r\n\r\n localStorageService.clearTokens();\r\n router\r\n .push({\r\n name: 'login',\r\n query: { error: 'Session expired, please login again.' },\r\n })\r\n .catch(() => {});\r\n } else if (originalRequest.url.includes('/editorial-pass/')) {\r\n router\r\n .push({\r\n name: 'login',\r\n query: { error: 'Editorial pass has expired.' },\r\n })\r\n .catch(() => {});\r\n }\r\n retry = false;\r\n } else if (!retry && error.response.status === 401) {\r\n retry = true;\r\n const res = await api.post('/auth/token', {\r\n token,\r\n refreshToken,\r\n });\r\n\r\n if (res.status === 201) {\r\n localStorageService.setToken(res.data);\r\n retry = false;\r\n return api(originalRequest);\r\n }\r\n }\r\n return Promise.reject(error);\r\n },\r\n);\r\nexport default api;\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app\"}},[_c('TheNavbar'),(_vm.$route.path !== '/expired')?_c('DemoUserAlert'):_vm._e(),_c('router-view'),_c('Messages'),_c('TheFooter')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"navbar navbar-default navbar-expand-md\"},[_c('router-link',{attrs:{\"to\":\"/\"}},[_c('img',{staticStyle:{\"height\":\"40px\"},attrs:{\"src\":require(\"../assets/360Editor.png\")}})]),_vm._m(0),_c('div',{staticClass:\"collapse navbar-collapse\",attrs:{\"id\":\"navbarNav\"}},[(_vm.userAndToken)?_c('div',{staticClass:\"navbar-nav mr-auto\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ name: 'library' }}},[_vm._v(\"LIBRARY\")]),(_vm.user && _vm.user.admin)?_c('div',{staticClass:\"dropdown\"},[_c('a',{staticClass:\"nav-link dropdown-toggle\",attrs:{\"id\":\"dropdownMenuLink\",\"type\":\"button\",\"data-bs-toggle\":\"dropdown\",\"aria-expanded\":\"false\"}},[_vm._v(\" More \")]),_c('ul',{staticClass:\"dropdown-menu\",attrs:{\"aria-labelledby\":\"dropdownMenuButton\"}},[_c('li',[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":{ name: 'admin' }}},[_vm._v(\"Admin\")])],1),_c('li',[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/create-legacy\"}},[_vm._v(\"Create Legacy\")])],1)])]):_vm._e()],1):_vm._e(),(_vm.userAndToken)?_c('div',{staticClass:\"navbar-nav ml-auto\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/profile\"}},[_vm._v(\"PROFILE\")]),_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/logout\"}},[_vm._v(\"LOGOUT\")])],1):(_vm.editorial_pass)?_c('div',{staticClass:\"navbar-nav ml-auto\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/logout\"}},[_vm._v(\"LOGOUT\")])],1):_c('div',{staticClass:\"navbar-nav ml-auto\"},[_c('router-link',{staticClass:\"nav-link\",attrs:{\"to\":\"/login\"}},[_vm._v(\"LOGIN\")])],1)])],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('button',{staticClass:\"navbar-toggler navbar-light\",attrs:{\"type\":\"button\",\"data-bs-toggle\":\"collapse\",\"data-bs-target\":\"#navbarNav\",\"aria-controls\":\"navbarNav\",\"aria-expanded\":\"false\",\"aria-label\":\"Toggle navigation\"}},[_c('span',{staticClass:\"navbar-toggler-icon\"})])\n}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TheNavbar.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.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TheNavbar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TheNavbar.vue?vue&type=template&id=2c5f716c&scoped=true\"\nimport script from \"./TheNavbar.vue?vue&type=script&lang=js\"\nexport * from \"./TheNavbar.vue?vue&type=script&lang=js\"\nimport style0 from \"./TheNavbar.vue?vue&type=style&index=0&id=2c5f716c&prod&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 \"2c5f716c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.user && _vm.user.plan === 'demo')?_c('div',{staticClass:\"alert-container\"},[_c('div',{staticClass:\"demo-user-alert\"},[(_vm.user.expires - new Date().getTime() > 0)?_c('div',{ref:\"notExpired\",staticClass:\"alert-text\",class:{ more: _vm.more }},[_vm._v(\" Your demo ends in \"+_vm._s(_vm.expires)+\". \"),_c('a',{attrs:{\"href\":\"https://360mediahouse.com/start-using-vr-today/\",\"target\":\"_blank\"}},[_vm._v(\"Contact 360Mediahouse\")]),_vm._v(\" to upgrade your licence. After your demo expires, you wont be able to use your account. \")]):_c('div',{ref:\"expired\",staticClass:\"alert-text\",class:{ more: _vm.more }},[_vm._v(\" Your demo has expired. \"),_c('a',{attrs:{\"href\":\"https://360mediahouse.com/start-using-vr-today/\",\"target\":\"_blank\"}},[_vm._v(\"Contact 360Mediahouse\")]),_vm._v(\" to upgrade your licence. \")]),(!_vm.more && _vm.overflow)?_c('button',{staticClass:\"toggle-link\",on:{\"click\":function($event){_vm.more = true}}},[_vm._v(\" More \")]):(_vm.more && !_vm.overflow)?_c('button',{staticClass:\"toggle-link\",on:{\"click\":function($event){_vm.more = false}}},[_vm._v(\" Less \")]):_vm._e()])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DemoUserAlert.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.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DemoUserAlert.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DemoUserAlert.vue?vue&type=template&id=168d129e&scoped=true\"\nimport script from \"./DemoUserAlert.vue?vue&type=script&lang=js\"\nexport * from \"./DemoUserAlert.vue?vue&type=script&lang=js\"\nimport style0 from \"./DemoUserAlert.vue?vue&type=style&index=0&id=168d129e&prod&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 \"168d129e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.messages.length > 0)?_c('div',{staticClass:\"wrapper\"},[_c('div',{staticClass:\"messages\"},_vm._l((_vm.messages),function(message,index){return _c('div',{key:index,staticClass:\"message mb-2\",on:{\"click\":function($event){return _vm.deleteMessage(message)}}},[_c('div',{staticClass:\"mr-3\"},[_c('img',{staticStyle:{\"width\":\"30px\",\"height\":\"30px\"},attrs:{\"src\":_vm.getImgUrl(message.type)}})]),_c('span',[_vm._v(_vm._s(message.message))])])}),0)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Messages.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.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Messages.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Messages.vue?vue&type=template&id=3f2c57e4&scoped=true\"\nimport script from \"./Messages.vue?vue&type=script&lang=js\"\nexport * from \"./Messages.vue?vue&type=script&lang=js\"\nimport style0 from \"./Messages.vue?vue&type=style&index=0&id=3f2c57e4&prod&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 \"3f2c57e4\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('footer',{attrs:{\"id\":\"footer\"}},[(_vm.user)?_c('router-link',{staticClass:\"report\",attrs:{\"to\":{ name: 'report' }}},[_vm._v(\"Report A Bug\")]):_vm._e(),_vm._m(0)],1)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('a',{staticClass:\"mediatalo\",attrs:{\"href\":\"http://360mediahouse.com\",\"target\":\"_blank\"}},[_c('img',{attrs:{\"src\":require(\"../assets/360mediahouse.png\")}})])\n}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TheFooter.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.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TheFooter.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TheFooter.vue?vue&type=template&id=bb5c9b26&scoped=true\"\nimport script from \"./TheFooter.vue?vue&type=script&lang=js\"\nexport * from \"./TheFooter.vue?vue&type=script&lang=js\"\nimport style0 from \"./TheFooter.vue?vue&type=style&index=0&id=bb5c9b26&prod&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 \"bb5c9b26\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.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.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=10812f98\"\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=10812f98&prod&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","import store from '@/store';\r\nexport default {\r\n install(Vue, options) {\r\n Vue.prototype.$message = function(\r\n message,\r\n type = 'info',\r\n timeout = options.timeout,\r\n ) {\r\n const msg = { type, message };\r\n store.commit('message/ADD_MESSAGE', msg);\r\n setTimeout(() => {\r\n store.commit('message/DELETE_MESSAGE', msg);\r\n }, timeout);\r\n };\r\n\r\n Vue.prototype.$infoMessage = function(message, timeout = options.timeout) {\r\n const msg = { type: 'info', message };\r\n store.commit('message/ADD_MESSAGE', msg);\r\n setTimeout(() => {\r\n store.commit('message/DELETE_MESSAGE', msg);\r\n }, timeout);\r\n };\r\n\r\n Vue.prototype.$successMessage = function(\r\n message,\r\n timeout = options.timeout,\r\n ) {\r\n const msg = { type: 'success', message };\r\n store.commit('message/ADD_MESSAGE', msg);\r\n setTimeout(() => {\r\n store.commit('message/DELETE_MESSAGE', msg);\r\n }, timeout);\r\n };\r\n\r\n Vue.prototype.$errorMessage = function(message, timeout = options.timeout) {\r\n const msg = { type: 'error', message };\r\n store.commit('message/ADD_MESSAGE', msg);\r\n setTimeout(() => {\r\n store.commit('message/DELETE_MESSAGE', msg);\r\n }, timeout);\r\n };\r\n\r\n Vue.prototype.$createLoading = function(message) {\r\n const msg = { type: 'loading', message };\r\n store.commit('message/ADD_MESSAGE', msg);\r\n return msg;\r\n };\r\n\r\n Vue.prototype.$deleteLoading = function(msg) {\r\n store.commit('message/DELETE_MESSAGE', msg);\r\n };\r\n },\r\n};\r\n","import Vue from 'vue';\r\nimport App from '@/App.vue';\r\nimport store from '@/store';\r\nimport router from '@/router';\r\nimport Vuelidate from 'vuelidate';\r\n// import { VuelidatePlugin } from '@vuelidate/core'; // use with composition api\r\nimport '../node_modules/bootswatch/dist/lux/bootstrap.min.css';\r\nimport 'jquery';\r\n// import 'popper.js';\r\n// import 'bootstrap';\r\nimport MessagePlugin from '@/plugins/MessagePlugin';\r\nimport VCalendar from 'v-calendar';\r\n\r\nVue.use(Vuelidate);\r\n//Vue.use(VuelidatePlugin); // use with composition api\r\nVue.use(MessagePlugin, { timeout: 3500 });\r\nVue.use(VCalendar);\r\nVue.config.productionTip = false;\r\n\r\n\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n render: h => h(App),\r\n}).$mount('#app');\r\n","import Vue from 'vue';\r\nimport Router from 'vue-router';\r\nimport axios from '@/lib/http';\r\nimport store from '@/store';\r\nimport LocalStorageService from '@/services/LocalStorageService';\r\n\r\n\r\n// Lazyloaded Views\r\nconst LandingPage = () => import('@/views/LandingPage.vue');\r\nconst LoginPage = () => import('@/views/LoginPage.vue');\r\nconst SignUpPage = () => import('@/views/SignUpPage.vue');\r\nconst CreateDemoUser = () => import('@/views/CreateDemoUser.vue');\r\nconst CreateLegacyUser = () => import('@/views/CreateLegacyUser.vue');\r\nconst Library = () => import('@/views/Library.vue');\r\nconst ProfilePage = () => import('@/views/ProfilePage.vue');\r\nconst AccountSettings = () => import('@/views/AccountSettings.vue');\r\nconst ModifySubscription = () => import('@/views/ModifySubscription.vue');\r\nconst AllMedia = () => import('@/views/AllMedia.vue');\r\nconst Quizzes = () => import('@/views/Quizzes.vue');\r\nconst QuizResults = () => import('@/views/QuizResults.vue');\r\nconst AddQuiz = () => import('@/views/AddQuiz.vue');\r\nconst QuizPreview = () => import('@/views/QuizPreview.vue');\r\nconst ReportPage = () => import('@/views/ReportPage.vue');\r\nconst Admin = () => import('@/views/Admin.vue');\r\nconst AdminUserControl = () => import('@/views/AdminUserControl.vue');\r\nconst PasswordChange = () => import('@/views/PasswordChange.vue');\r\nconst PasswordReset = () => import('@/views/PasswordReset.vue');\r\nconst TheStudio = () => import('@/views/TheStudio.vue');\r\nconst Expired = () => import('@/views/Expired.vue');\r\nconst NotFound = () => import('@/views/NotFound.vue');\r\nconst ImagePack = () => import('@/views/ImagePack.vue');\r\nconst PaymentDetails = () => import('@/views/PaymentDetails.vue');\r\nconst PrivacyPolicy = () => import('@/views/PrivacyPolicy.vue');\r\n\r\nconst ConfirmPayment = () => import('@/views/ConfirmPayment.vue');\r\nconst RenewSubscription = () => import('@/views/RenewSubscription.vue');\r\nconst VerifiedEmail = () => import('@/views/VerifiedEmail.vue');\r\n\r\nconst Analytics = () => import('@/views/Analytics.vue');\r\n\r\nconst localStorageService = LocalStorageService.getService();\r\n\r\nVue.use(Router);\r\n\r\nconst nonLegacyRoutes = [\r\n 'modify-subscription',\r\n 'renew-subscription',\r\n 'payment-details',\r\n 'confirm-payment',\r\n];\r\n\r\nfunction hasSubscription() {\r\n const stripeUser = store.state.user.stripeUser;\r\n\r\n let hasPlan = false;\r\n if (!stripeUser){\r\n return false;\r\n }\r\n\r\n if(stripeUser.plan === 'silver' ||\r\n stripeUser.plan === 'gold' ||\r\n stripeUser.plan === 'platinum' ||\r\n stripeUser.plan === 'admin' ||\r\n stripeUser.plan === 'demo'){\r\n hasPlan = true;\r\n }\r\n\r\n let hasSubscriptionId = false;\r\n if(stripeUser.id && stripeUser.id.length > 10){\r\n hasSubscriptionId = true;\r\n }\r\n if(hasSubscriptionId && hasPlan) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n // return (\r\n // stripeUser &&\r\n // stripeUser.subscriptions &&\r\n // stripeUser.subscriptions.data &&\r\n // stripeUser.subscriptions.data[0]\r\n // );\r\n}\r\n\r\nfunction subscriptionActiveOrTrialing() {\r\n const stripeUser = store.state.user.stripeUser;\r\n\r\n return (\r\n (hasSubscription() &&\r\n stripeUser.subscription_status === 'active') ||\r\n stripeUser.subscription_status === 'trialing'\r\n );\r\n}\r\n\r\nfunction subscriptionExpired() {\r\n const stripeUser = store.state.user.stripeUser;\r\n return (\r\n stripeUser &&\r\n stripeUser.subscriptions &&\r\n stripeUser.subscriptions.data &&\r\n !stripeUser.subscriptions.data[0]\r\n );\r\n}\r\n\r\nfunction requiresAction() {\r\n const stripeUser = store.state.user.stripeUser;\r\n return (\r\n hasSubscription &&\r\n stripeUser.subscriptions.data[0].latest_invoice.payment_intent &&\r\n stripeUser.subscriptions.data[0].latest_invoice.payment_intent.status ===\r\n 'requires_action'\r\n );\r\n}\r\n\r\nfunction isLoggedIn(to, from, next) {\r\n // Täällä infinite loop??\r\n\r\n const user = store.state.user.user;\r\n\r\n if (localStorageService.getAccessToken() && user) {\r\n if (store.state.editorialPass.pass) {\r\n // Editorial pass\r\n return next(`/editorial/${store.state.editorialPass.show_uuid}`);\r\n }\r\n if (user.legacy) {\r\n // Legacy user\r\n if (nonLegacyRoutes.includes(to.name)) return next('/library');\r\n return next();\r\n }\r\n\r\n if (!user.verified) {\r\n // Not verified\r\n return next('/verified');\r\n }\r\n\r\n if (hasSubscription()) {\r\n if (subscriptionActiveOrTrialing()) {\r\n if (\r\n to.name === 'verified' ||\r\n to.name === 'confirm-payment' ||\r\n to.name === 'renew-subscription'\r\n )\r\n return next('/library');\r\n return next();\r\n }\r\n if (requiresAction()) {\r\n if (to.name === 'confirm-payment') {\r\n return next();\r\n }\r\n return next('/confirm-payment');\r\n }\r\n if (subscriptionActiveOrTrialing()) {\r\n return next();\r\n }\r\n\r\n if (to.name === 'renew-subscription') {\r\n return next();\r\n }\r\n return next('/renew-subscription');\r\n }\r\n\r\n if (subscriptionExpired()) {\r\n // Subscription expired\r\n if (to.name === 'renew-subscription') {\r\n return next();\r\n }\r\n return next('/renew-subscription');\r\n }\r\n\r\n return next('/signup');\r\n }\r\n\r\n return next('/login');\r\n}\r\n\r\nfunction routeToLibrary(to, from, next) {\r\n next('/library');\r\n}\r\nfunction checkCoupon(to, from, next) {\r\n const coupon = to.params.coupon;\r\n store.commit('subscription/setCoupon', coupon);\r\n next('/signup');\r\n}\r\nfunction isLoggedInWithEditorialPass(to, from, next) {\r\n if (localStorageService.getAccessToken()) {\r\n if (store.state.user.user) return next('/library');\r\n const { expires } = store.state.editorialPass;\r\n const now = new Date().getTime();\r\n if (expires && expires < now) {\r\n return next({\r\n path: '/logout',\r\n query: { error: 'Editorial pass has expired.' },\r\n });\r\n }\r\n next();\r\n } else {\r\n next('/login');\r\n }\r\n}\r\n\r\nfunction removeToken(to, from, next) {\r\n axios\r\n .delete('/auth/logout', {\r\n data: {\r\n token: localStorageService.getAccessToken(),\r\n refreshToken: localStorageService.getRefreshToken(),\r\n },\r\n })\r\n .then(() => {\r\n localStorageService.clearTokens();\r\n store.dispatch('RESET_STATE');\r\n return next({ path: '/login', query: to.query });\r\n })\r\n .catch(() => {\r\n localStorageService.clearTokens();\r\n store.dispatch('RESET_STATE');\r\n return next({ path: '/login', query: to.query });\r\n });\r\n}\r\n\r\nfunction isAdmin(to, from, next) {\r\n if (localStorageService.getAccessToken() && store.state.user.user.admin) {\r\n next();\r\n } else {\r\n next('/logout');\r\n }\r\n}\r\n\r\nfunction activeSubscriptionRedirect(to, from, next) {\r\n const user = store.state.user.user;\r\n\r\n if (user && user.legacy) return next('/library');\r\n\r\n if (!localStorageService.getAccessToken() && user) return next();\r\n if (hasSubscription()) {\r\n if (subscriptionActiveOrTrialing()) {\r\n return next('/library');\r\n }\r\n return next('/renew-subscription');\r\n }\r\n\r\n if (subscriptionExpired()) {\r\n return next('/renew-subscription');\r\n }\r\n\r\n return next();\r\n}\r\n\r\n// function hasQueryParams(route) {\r\n// return !!Object.keys(route.query).length\r\n// }\r\n\r\n// Router.beforeEach((to, from, next) => {\r\n// if(!hasQueryParams(to) && hasQueryParams(from)){\r\n// next({name: to.name, query: from.query});\r\n// } else {\r\n// next()\r\n// }\r\n// })\r\n\r\nconst router = new Router({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes: [\r\n {\r\n path: '/',\r\n name: 'home',\r\n component: LandingPage,\r\n beforeEnter: routeToLibrary,\r\n },\r\n {\r\n path: '/login',\r\n name: 'login',\r\n component: LoginPage,\r\n beforeEnter: activeSubscriptionRedirect,\r\n },\r\n {\r\n path: '/logout',\r\n name: 'logout',\r\n beforeEnter: removeToken,\r\n },\r\n {\r\n path: '/a/:coupon',\r\n name: 'Affiliate',\r\n beforeEnter: checkCoupon,\r\n },\r\n {\r\n path: '/signup',\r\n name: 'signup',\r\n component: SignUpPage,\r\n beforeEnter: activeSubscriptionRedirect,\r\n },\r\n {\r\n path: '/create-demo',\r\n name: 'create-demo',\r\n component: CreateDemoUser,\r\n beforeEnter: isAdmin,\r\n },\r\n {\r\n path: '/create-legacy',\r\n name: 'create-legacy',\r\n component: CreateLegacyUser,\r\n beforeEnter: isAdmin,\r\n },\r\n {\r\n path: '/library',\r\n name: 'library',\r\n component: Library,\r\n beforeEnter: isLoggedIn,\r\n },\r\n // {\r\n // path: '/analytics',\r\n // name: 'analytics',\r\n // component: Analytics,\r\n // },\r\n {\r\n path: '/profile',\r\n name: 'profile',\r\n component: AccountSettings,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/profile/menu-media',\r\n name: 'menu-media',\r\n component: ProfilePage,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/modify-subscription',\r\n name: 'modify-subscription',\r\n component: ModifySubscription,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/renew-subscription',\r\n name: 'renew-subscription',\r\n component: RenewSubscription,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/payment-details',\r\n name: 'payment-details',\r\n component: PaymentDetails,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/privacy-policy',\r\n name: 'privacy-policy',\r\n component: PrivacyPolicy,\r\n },\r\n {\r\n path: '/confirm-payment',\r\n name: 'confirm-payment',\r\n component: ConfirmPayment,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/show/:show_uuid',\r\n name: 'show',\r\n component: TheStudio,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/editorial/:show_uuid',\r\n name: 'editorial-show',\r\n component: TheStudio,\r\n beforeEnter: isLoggedInWithEditorialPass,\r\n },\r\n {\r\n path: '/allmedia',\r\n name: 'allmedia',\r\n component: AllMedia,\r\n beforeEnter: isLoggedIn,\r\n },\r\n // {\r\n // path: '/buttons',\r\n // name: 'buttons',\r\n // component: UserButtons,\r\n // beforeEnter: isLoggedIn,\r\n // },\r\n {\r\n path: '/quizzes',\r\n name: 'quizzes',\r\n component: Quizzes,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/quiz-results/:quiz_uuid',\r\n name: 'quiz-results',\r\n component: QuizResults,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/quiz/add',\r\n name: 'add-quiz',\r\n component: AddQuiz,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/quiz/:quiz_uuid',\r\n name: 'quiz-preview',\r\n component: QuizPreview,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/admin',\r\n name: 'admin',\r\n component: Admin,\r\n beforeEnter: isAdmin,\r\n },\r\n {\r\n path: '/admin/user/:user_uuid',\r\n name: 'user-control',\r\n component: AdminUserControl,\r\n beforeEnter: isAdmin,\r\n },\r\n {\r\n path: '/report',\r\n name: 'report',\r\n component: ReportPage,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/password',\r\n name: 'password',\r\n component: PasswordChange,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/password-reset',\r\n name: 'password-reset',\r\n component: PasswordReset,\r\n beforeEnter: activeSubscriptionRedirect,\r\n },\r\n\r\n {\r\n path: '/image-pack',\r\n name: 'image-pack',\r\n component: ImagePack,\r\n beforeEnter: isLoggedIn,\r\n },\r\n {\r\n path: '/expired',\r\n name: 'expired',\r\n component: Expired,\r\n },\r\n {\r\n path: '/verified',\r\n name: 'verified',\r\n component: VerifiedEmail,\r\n },\r\n {\r\n path: '/**',\r\n name: 'not-found',\r\n alias: '/not-found',\r\n component: NotFound,\r\n },\r\n ],\r\n});\r\n\r\nrouter.afterEach(() => {\r\n const loadingMessages = store.getters['message/loading'];\r\n for (const message in loadingMessages) {\r\n store.commit('message/DELETE_MESSAGE', message);\r\n }\r\n});\r\n\r\nexport default router;\r\n","const LocalStorageService = (function() {\r\n var _service;\r\n function _getService() {\r\n if (!_service) {\r\n _service = this;\r\n return _service;\r\n }\r\n return _service;\r\n }\r\n function _setToken(tokenObj) {\r\n localStorage.setItem('token', tokenObj.token);\r\n localStorage.setItem('refreshToken', tokenObj.refreshToken);\r\n }\r\n function _getAccessToken() {\r\n return localStorage.getItem('token');\r\n }\r\n function _getRefreshToken() {\r\n return localStorage.getItem('refreshToken');\r\n }\r\n function _clearTokens() {\r\n localStorage.removeItem('token');\r\n localStorage.removeItem('refreshToken');\r\n }\r\n return {\r\n getService: _getService,\r\n setToken: _setToken,\r\n getAccessToken: _getAccessToken,\r\n getRefreshToken: _getRefreshToken,\r\n clearTokens: _clearTokens,\r\n };\r\n})();\r\nexport default LocalStorageService;\r\n","import axios from '@/lib/http';\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n file: null,\r\n type: null,\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n SET_FILE(state, fileObj) {\r\n state.file = fileObj.file;\r\n state.type = fileObj.type;\r\n },\r\n SET_AUDIO(state, audio) {\r\n state.file.audio = audio;\r\n },\r\n SET_LOOP_AUDIO(state, loop_audio) {\r\n state.file.loop_audio = loop_audio;\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\nconst actions = {\r\n async UPDATE_IMAGE_START(context, body) {\r\n await axios.post('/api/start/image', body);\r\n context.commit('show/SET_IMAGE_FILE_START', body, { root: true });\r\n },\r\n async UPDATE_VIDEO_START(context, body) {\r\n await axios.post('/api/start/video', body);\r\n context.commit('show/SET_VIDEO_FILE_START', body, { root: true });\r\n },\r\n};\r\n\r\nconst getters = {};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","import axios from '@/lib/http';\r\nimport LocalStorageService from '@/services/LocalStorageService';\r\nconst localStorageService = LocalStorageService.getService();\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n user: null,\r\n stripeUser: null,\r\n defaultCard: null,\r\n shows: [],\r\n files: [],\r\n buttons: [],\r\n passes: [],\r\n quizzes: [],\r\n templates: [],\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n SET_USER(state, user) {\r\n state.user = user;\r\n },\r\n SET_SHOWS(state, shows) {\r\n state.shows = shows;\r\n },\r\n ADD_SHOW(state, show) {\r\n state.shows.push(show);\r\n },\r\n DELETE_SHOW(state, show) {\r\n state.shows.splice(state.shows.indexOf(show), 1);\r\n },\r\n SET_FILES(state, files) {\r\n state.files = files;\r\n },\r\n SET_BUTTONS(state, buttons) {\r\n state.buttons = buttons;\r\n },\r\n ADD_BUTTON(state, button) {\r\n state.buttons.push(button);\r\n },\r\n ADD_BUTTONS(state, buttons) {\r\n state.buttons = [...state.buttons, ...buttons].filter(\r\n (value, index, self) =>\r\n self.map(btn => btn.name).indexOf(value.name) === index,\r\n );\r\n },\r\n DELETE_BUTTON(state, button) {\r\n state.buttons.splice(state.buttons.indexOf(button), 1);\r\n },\r\n SET_PASSES(state, passes) {\r\n state.passes = passes;\r\n },\r\n ADD_PASS(state, pass) {\r\n state.passes.push(pass);\r\n },\r\n DELETE_PASS(state, uuid) {\r\n state.passes = state.passes.filter(pass => pass.uuid !== uuid);\r\n },\r\n SET_QUIZZES(state, quizzes) {\r\n state.quizzes = quizzes;\r\n },\r\n SET_TEMPLATES(state, templates) {\r\n state.templates = templates;\r\n },\r\n SET_STRIPE_USER(state, user) {\r\n state.stripeUser = user;\r\n },\r\n SET_SUBSCRIPTION(state, subscription) {\r\n state.stripeUser.subscriptions.data[0] = subscription;\r\n },\r\n SET_DEFAULT_CARD(state, card) {\r\n state.defaultCard = card;\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\nconst actions = {\r\n async LOGIN(context, body) {\r\n const { data } = await axios.post('/auth/login', body);\r\n if (data.stripeUser.subscription_status == 'inactive') {\r\n throw new TypeError('Subscription inactive')\r\n } else {\r\n localStorageService.setToken(data);\r\n context.commit('SET_USER', data.user);\r\n context.commit('SET_STRIPE_USER', data.stripeUser);\r\n }\r\n },\r\n async GET_SHOWS(context) {\r\n const { data } = await axios.get('/api/shows');\r\n context.commit('SET_SHOWS', data);\r\n },\r\n async ADD_SHOW(context, body) {\r\n const { data } = await axios.post('/api/shows', body);\r\n context.commit('ADD_SHOW', data);\r\n },\r\n async DELETE_SHOW(context, show) {\r\n await axios.delete(`/api/shows?show_uuid=${show.uuid}`);\r\n context.commit('DELETE_SHOW', show);\r\n },\r\n async GET_FILES(context) {\r\n const { data } = await axios.get('/api/files');\r\n \r\n context.commit('SET_FILES', data);\r\n },\r\n async GET_BUTTONS(context) {\r\n const { data } = await axios.get('/api/custom/buttons');\r\n context.commit('SET_BUTTONS', data.custombuttons);\r\n },\r\n async ADD_BUTTON(context, body) {\r\n const { data } = await axios.post('/api/upload/button', body);\r\n context.commit('ADD_BUTTON', data.button);\r\n },\r\n async DELETE_BUTTON(context, data) {\r\n await axios.delete('/api/custom/buttons', { params: data.body });\r\n context.commit('DELETE_BUTTON', data.button);\r\n },\r\n async GET_PASSES(context) {\r\n const { data } = await axios.get('/api/passes');\r\n context.commit('SET_PASSES', data);\r\n },\r\n async ADD_PASS(context, body) {\r\n const { data } = await axios.post('/api/passes/add', body);\r\n context.commit('ADD_PASS', data.pass);\r\n },\r\n async DELETE_PASS(context, uuid) {\r\n await axios.delete('/api/passes', { params: { uuid } });\r\n context.commit('DELETE_PASS', uuid);\r\n },\r\n async GET_QUIZZES(context) {\r\n const { data } = await axios.get('/api/quizzes');\r\n context.commit('SET_QUIZZES', data);\r\n },\r\n async GET_TEMPLATES(context) {\r\n const { data } = await axios.get('/api/buttons/gettemplates');\r\n context.commit('SET_TEMPLATES', data);\r\n },\r\n};\r\n\r\nconst getters = {\r\n getShowPasses: state => show_uuid => {\r\n return state.passes.filter(pass => pass.show_uuid === show_uuid);\r\n },\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","import axios from '@/lib/http';\r\nimport LocalStorageService from '@/services/LocalStorageService';\r\nconst localStorageService = LocalStorageService.getService();\r\nconst getDefaultState = () => {\r\n return {\r\n pass: null,\r\n show_uuid: null,\r\n plan: null,\r\n expires: null,\r\n username: null,\r\n show: null,\r\n files: [],\r\n images: [],\r\n videos: [],\r\n startFile: null,\r\n percentageOfDataUsed: 0,\r\n empty: true,\r\n userQuizzes: [],\r\n userButtons: [],\r\n guestPasses: [],\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n SET_PASS(state, pass) {\r\n state.pass = pass;\r\n },\r\n SET_SHOW_UUID(state, show_uuid) {\r\n state.show_uuid = show_uuid;\r\n },\r\n SET_PLAN(state, plan) {\r\n state.plan = plan;\r\n },\r\n SET_EXPIRES(state, expires) {\r\n state.expires = expires;\r\n },\r\n SET_USERNAME(state, username) {\r\n state.username = username;\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n // SHOW\r\n SET_SHOW(state, show) {\r\n state.show = show;\r\n },\r\n SET_FILES(state, files) {\r\n state.files = files;\r\n },\r\n SET_IMAGES(state, images) {\r\n const start = images.find(\r\n image => image.name.split('_')[0] === 'ShowStart',\r\n );\r\n if (start) {\r\n images.splice(images.indexOf(start), 1);\r\n state.images = [start, ...images];\r\n } else {\r\n state.images = images;\r\n }\r\n },\r\n SET_VIDEOS(state, videos) {\r\n const start = videos.find(\r\n video => video.name.split('_')[0] === 'ShowStart',\r\n );\r\n if (start) {\r\n videos.splice(videos.indexOf(start), 1);\r\n state.videos = [start, ...videos];\r\n } else {\r\n state.videos = videos;\r\n }\r\n },\r\n SET_START_FILE(state, file) {\r\n state.startFile = file;\r\n },\r\n SET_PERCENTAGE(state, percentage) {\r\n state.percentageOfDataUsed = percentage;\r\n },\r\n SET_EMPTY(state, bool) {\r\n state.empty = bool;\r\n },\r\n SET_USER_BUTTONS(state, buttons) {\r\n state.userButtons = buttons;\r\n },\r\n SET_USER_QUIZZES(state, quizzes) {\r\n state.userQuizzes = quizzes;\r\n },\r\n SET_PASSES(state, passes) {\r\n state.guestPasses = passes;\r\n },\r\n SET_IMAGE_FILE_START(state, imageObj) {\r\n const image = state.images.find(\r\n image => image.uuid === imageObj.image_uuid,\r\n );\r\n if (image) {\r\n image.start_pos = imageObj.slider;\r\n }\r\n },\r\n SET_VIDEO_FILE_START(state, videoObj) {\r\n const video = state.videos.find(\r\n video => video.uuid === videoObj.video_uuid,\r\n );\r\n if (video) {\r\n video.start_pos = videoObj.slider;\r\n }\r\n },\r\n};\r\n\r\nconst actions = {\r\n async LOGIN(context, body) {\r\n const { data } = await axios.post('/auth/login/editorial-pass', body);\r\n localStorageService.setToken(data);\r\n context.commit('SET_PASS', data.pass.pass);\r\n context.commit('SET_SHOW_UUID', data.pass.show_uuid);\r\n context.commit('SET_PLAN', data.pass.show_user_plan);\r\n context.commit('SET_USERNAME', data.pass.show_username);\r\n context.commit('SET_EXPIRES', data.pass.expires);\r\n },\r\n // SHOW\r\n async GET_SHOW(context) {\r\n const { data } = await axios.get('/api/editorial-pass/show');\r\n context.commit('SET_SHOW', data);\r\n },\r\n async GET_FILES(context) {\r\n const { data } = await axios.get('/api/editorial-pass/files');\r\n context.commit('SET_FILES', data);\r\n },\r\n async GET_IMAGES(context) {\r\n const { data } = await axios.get('/api/editorial-pass/images');\r\n context.commit('SET_IMAGES', data);\r\n },\r\n async GET_VIDEOS(context) {\r\n const { data } = await axios.get('/api/editorial-pass/videos');\r\n context.commit('SET_VIDEOS', data);\r\n },\r\n async GET_PERCENTAGE_OF_DATA_USED(context) {\r\n const { data } = await axios.get('/api/editorial-pass/data');\r\n context.commit('SET_PERCENTAGE', data.percentage);\r\n },\r\n async GET_USER_BUTTONS(context) {\r\n const { data } = await axios.get('/api/editorial-pass/user-buttons');\r\n context.commit('SET_USER_BUTTONS', data);\r\n },\r\n async GET_USER_QUIZZES(context) {\r\n const { data } = await axios.get('/api/editorial-pass/user-quizzes');\r\n context.commit('SET_USER_QUIZZES', data);\r\n },\r\n async GET_GUEST_PASSES(context) {\r\n const { data } = await axios.get('/api/editorial-pass/guest-passes');\r\n context.commit('SET_PASSES', data);\r\n },\r\n async UPDATE_IMAGE_START(context, body) {\r\n await axios.post('/api/editorial-pass/start-position/image', body);\r\n context.commit('SET_IMAGE_FILE_START', body);\r\n },\r\n async UPDATE_VIDEO_START(context, body) {\r\n await axios.post('/api/editorial-pass/start-position/video', body);\r\n context.commit('SET_VIDEO_FILE_START', body);\r\n },\r\n async RELOAD_DATA({ dispatch, commit, state }) {\r\n await dispatch('GET_PERCENTAGE_OF_DATA_USED');\r\n await dispatch('GET_FILES');\r\n await dispatch('GET_IMAGES');\r\n await dispatch('GET_VIDEOS');\r\n\r\n const allFiles = [...state.images, ...state.videos];\r\n\r\n const startFile =\r\n allFiles.find(file => file.name.split('_')[0] === 'ShowStart') || null;\r\n\r\n if (startFile) {\r\n const type = startFile.path.includes('/rooms/') ? 'image' : 'video';\r\n const fileObj = {\r\n file: startFile,\r\n type,\r\n };\r\n commit('SET_START_FILE', startFile);\r\n commit('selectedFile/SET_FILE', fileObj, { root: true });\r\n commit('SET_EMPTY', false);\r\n } else {\r\n commit('SET_START_FILE', null);\r\n if (state.images.length > 0) {\r\n const fileObj = {\r\n file: state.images[0],\r\n type: 'image',\r\n };\r\n commit('selectedFile/SET_FILE', fileObj, { root: true });\r\n commit('SET_EMPTY', false);\r\n } else if (state.videos.length > 0) {\r\n const fileObj = {\r\n file: state.videos[0],\r\n type: 'video',\r\n };\r\n commit('selectedFile/SET_FILE', fileObj, { root: true });\r\n commit('SET_EMPTY', false);\r\n } else {\r\n commit('SET_EMPTY', true);\r\n }\r\n }\r\n },\r\n};\r\n\r\nconst getters = {};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","// import axios from '@/lib/http';\r\nconst getDefaultState = () => {\r\n return {\r\n messages: [],\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n ADD_MESSAGE(state, message) {\r\n state.messages.push(message);\r\n },\r\n DELETE_MESSAGE(state, message) {\r\n state.messages.splice(state.messages.indexOf(message), 1);\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\nconst actions = {};\r\n\r\nconst getters = {\r\n loading: state => {\r\n return state.messages.filter(message => message.type === 'loading');\r\n },\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","import freeTrial from '@/data/freeTrial';\r\nimport prices from '@/data/prices';\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n selectedProduct: null,\r\n selectedInterval: 'month',\r\n selectedPrice: null,\r\n coupon: null,\r\n couponId: null,\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n setSelectedProduct(state, product) {\r\n state.selectedProduct = product;\r\n },\r\n setSelectedInterval(state, interval) {\r\n state.selectedInterval = interval;\r\n },\r\n setSelectedPrice(state, price) {\r\n state.selectedPrice = price;\r\n },\r\n setCoupon(state, coupon) {\r\n state.coupon = coupon;\r\n },\r\n setCouponId(state, couponId) {\r\n state.couponId = couponId;\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\nconst actions = {\r\n selectProductAndPrice({ commit, state }, product) {\r\n commit('setSelectedProduct', product);\r\n if (product === 'freeTrial') {\r\n const price = prices.find(\r\n p =>\r\n p.product === freeTrial.product.id &&\r\n p.recurring.interval === 'month',\r\n );\r\n commit('setSelectedPrice', price);\r\n } else {\r\n const price = prices.find(\r\n p =>\r\n p.product === product.id &&\r\n p.recurring.interval === state.selectedInterval,\r\n );\r\n commit('setSelectedPrice', price);\r\n }\r\n },\r\n selectIntervalAndPrice({ commit, state }, interval) {\r\n commit('setSelectedInterval', interval);\r\n const price = prices.find(\r\n price =>\r\n price.product === state.selectedProduct.id &&\r\n price.recurring.interval === interval,\r\n );\r\n commit('setSelectedPrice', price);\r\n },\r\n};\r\n\r\nconst getters = {};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n assignedGroups: [],\r\n grouplist: [],\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n UPDATE_GROUPS(state, newGroups){\r\n state.assignedGroups = newGroups;\r\n },\r\n UPDATE_GROUPLIST(state, newGroups){\r\n state.grouplist = newGroups;\r\n },\r\n};\r\n\r\n\r\n\r\nconst getters = {};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n getters,\r\n mutations,\r\n // actions,\r\n};\r\n","import axios from '@/lib/http';\r\nimport LocalStorageService from '@/services/LocalStorageService';\r\nconst localStorageService = LocalStorageService.getService();\r\n\r\nconst getDefaultState = () => {\r\n return {\r\n queryString: '',\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n SET_QUERYSTRING(state, string) {\r\n state.queryString = string;\r\n },\r\n};\r\n\r\nconst actions = {\r\n saveQueryString(context, string) {\r\n context.commit('SET_QUERYSTRING',string);\r\n },\r\n getQueryString(context) {\r\n return context.queryString;\r\n },\r\n};\r\n\r\nconst getters = {\r\n};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","import Vue from 'vue';\r\nimport Vuex from 'vuex';\r\nimport createPersistedState from 'vuex-persistedstate';\r\nimport showModule from './modules/show';\r\nimport selectedFileModule from './modules/selectedFile';\r\nimport userModule from './modules/user';\r\nimport editorialPassModule from './modules/editorialPass';\r\nimport messageModule from './modules/message';\r\nimport subscriptionModule from './modules/subscription';\r\nimport buttonGroupModule from './modules/buttongroups';\r\nimport azuredataModule from './modules/azuredata';\r\n\r\nVue.use(Vuex);\r\n\r\nconst getDefaultState = () => {\r\n return {};\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nexport default new Vuex.Store({\r\n plugins: [\r\n createPersistedState({\r\n key: 'vuex',\r\n reducer(val) {\r\n if (!localStorage.token) {\r\n // return empty state when user logged out\r\n return {};\r\n }\r\n return val;\r\n },\r\n }),\r\n ],\r\n modules: {\r\n user: userModule,\r\n editorialPass: editorialPassModule,\r\n show: showModule,\r\n selectedFile: selectedFileModule,\r\n message: messageModule,\r\n subscription: subscriptionModule,\r\n buttonGroups: buttonGroupModule,\r\n azuredata: azuredataModule,\r\n },\r\n state: state,\r\n mutations: {\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n },\r\n actions: {\r\n RESET_STATE({ commit }) {\r\n commit('RESET_STATE');\r\n commit('message/RESET_STATE');\r\n commit('show/RESET_STATE');\r\n commit('selectedFile/RESET_STATE');\r\n commit('editorialPass/RESET_STATE');\r\n commit('subscription/RESET_STATE');\r\n commit('user/RESET_STATE');\r\n },\r\n },\r\n getters: {},\r\n});\r\n","import axios from '@/lib/http';\r\nconst getDefaultState = () => {\r\n return {\r\n show: null,\r\n files: [],\r\n characters: [],\r\n images: [],\r\n videos: [],\r\n editorialPasses: [],\r\n startFile: null,\r\n percentageOfDataUsed: 0,\r\n empty: true,\r\n languages:[],\r\n useAnimation: 'false',\r\n };\r\n};\r\n\r\nconst state = getDefaultState();\r\n\r\nconst mutations = {\r\n SET_SHOW(state, show) {\r\n state.show = show;\r\n },\r\n SET_FILES(state, files) {\r\n state.files = files;\r\n },\r\n SET_CHARACTERS(state, files) {\r\n state.characters = files;\r\n },\r\n SET_LANGUAGES(state, languages) {\r\n state.languages = Object.values(languages);\r\n },\r\n SET_IMAGES(state, images) {\r\n const start = images.find(image => image.name.startsWith('ShowStart_'));\r\n if (start) {\r\n images.splice(images.indexOf(start), 1);\r\n state.images = [start, ...images];\r\n } else {\r\n state.images = images;\r\n }\r\n },\r\n SET_VIDEOS(state, videos) {\r\n const start = videos.find(\r\n video => video.name.split('_')[0] === 'ShowStart',\r\n );\r\n if (start) {\r\n videos.splice(videos.indexOf(start), 1);\r\n state.videos = [start, ...videos];\r\n } else {\r\n state.videos = videos;\r\n }\r\n },\r\n SET_EDITORIAL_PASSES(state, editorialPasses) {\r\n state.editorialPasses = editorialPasses;\r\n },\r\n SET_START_FILE(state, file) {\r\n state.startFile = file;\r\n },\r\n SET_PERCENTAGE(state, percentage) {\r\n state.percentageOfDataUsed = percentage;\r\n },\r\n SET_EMPTY(state, bool) {\r\n state.empty = bool;\r\n },\r\n SET_IMAGE_FILE_START(state, imageObj) {\r\n const image = state.images.find(\r\n image => image.uuid === imageObj.image_uuid,\r\n );\r\n if (image) {\r\n image.start_pos = imageObj.slider;\r\n }\r\n },\r\n SET_VIDEO_FILE_START(state, videoObj) {\r\n const video = state.videos.find(\r\n video => video.uuid === videoObj.video_uuid,\r\n );\r\n if (video) {\r\n video.start_pos = videoObj.slider;\r\n }\r\n },\r\n SET_SHOW_SPLASH(state, url) {\r\n state.show.splash_url = url;\r\n },\r\n RESET_STATE(state) {\r\n Object.assign(state, getDefaultState());\r\n },\r\n};\r\n\r\nconst actions = {\r\n async GET_SHOW(context, show_uuid) {\r\n const { data } = await axios.get(`/api/shows/${show_uuid}`);\r\n context.commit('SET_SHOW', data);\r\n },\r\n async GET_FILES(context, show) {\r\n const { data } = await axios.get(\r\n `/api/show/files?show=${show.name}&show_uuid=${show.uuid}`,\r\n );\r\n context.commit('SET_FILES', data);\r\n },\r\n async GET_CHARACTERS(context, show) {\r\n let body = {\r\n show:show,\r\n }\r\n const chars = await axios.post('/api/shows/getshowcharacters', body);\r\n context.commit('SET_CHARACTERS', chars.data);\r\n },\r\n async GET_LANGUAGES(context, show_uuid) {\r\n const body = {\r\n show: show_uuid,\r\n };\r\n const { data } = await axios.post('/api/buttons/getlanguages', body);\r\n context.commit('SET_LANGUAGES', data);\r\n },\r\n // async GET_ANIMATIONUSE(context, show_uuid) {\r\n // const body = {\r\n // show: show_uuid,\r\n // };\r\n // const { data } = await axios.post('/api/buttons/getlanguages', body);\r\n // context.commit('SET_LANGUAGES', data);\r\n // },\r\n async GET_IMAGES({ commit, state }, show) {\r\n const { data } = await axios.get('/api/show/images', {\r\n params: { show_uuid: show.uuid, show: show.name },\r\n });\r\n commit('SET_IMAGES', data);\r\n setSelectedFile(commit, state);\r\n },\r\n async GET_VIDEOS({ commit, state }, show) {\r\n const { data } = await axios.get('/api/show/videos', {\r\n params: { show_uuid: show.uuid, show: show.name },\r\n });\r\n commit('SET_VIDEOS', data);\r\n setSelectedFile(commit, state);\r\n },\r\n async GET_EDITORIAL_PASSES(context, show_uuid) {\r\n const { data } = await axios.get('/api/editorial-pass/passes', {\r\n params: { show_uuid },\r\n });\r\n context.commit('SET_EDITORIAL_PASSES', data);\r\n },\r\n async GET_PERCENTAGE_OF_DATA_USED(context, show) {\r\n const { data } = await axios.get(`/api/shows/${show.name}/data`);\r\n context.commit('SET_PERCENTAGE', data.percentage);\r\n },\r\n async RELOAD_DATA({ dispatch, commit, state }) {\r\n const promises = [];\r\n dispatch('GET_PERCENTAGE_OF_DATA_USED', state.show);\r\n promises.push(dispatch('GET_FILES', state.show));\r\n promises.push(dispatch('GET_IMAGES', state.show));\r\n promises.push(dispatch('GET_VIDEOS', state.show));\r\n promises.push(dispatch('GET_CHARACTERS', state.show));\r\n await Promise.all(promises);\r\n setSelectedFile(commit, state);\r\n },\r\n};\r\n\r\nconst getters = {};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n\r\nfunction setSelectedFile(commit, state) {\r\n const allFiles = [...state.images, ...state.videos];\r\n const startFile =\r\n allFiles.find(file => file.name.startsWith('ShowStart_')) || null;\r\n\r\n if (startFile) {\r\n const type = startFile.path.includes('/rooms/') ? 'image' : 'video';\r\n const fileObj = {\r\n file: startFile,\r\n type,\r\n };\r\n commit('SET_START_FILE', startFile);\r\n commit('selectedFile/SET_FILE', fileObj, { root: true });\r\n commit('SET_EMPTY', false);\r\n } else {\r\n commit('SET_START_FILE', null);\r\n if (state.images.length > 0) {\r\n const fileObj = {\r\n file: state.images[0],\r\n type: 'image',\r\n };\r\n commit('selectedFile/SET_FILE', fileObj, { root: true });\r\n commit('SET_EMPTY', false);\r\n } else if (state.videos.length > 0) {\r\n const fileObj = {\r\n file: state.videos[0],\r\n type: 'video',\r\n };\r\n commit('selectedFile/SET_FILE', fileObj, { root: true });\r\n commit('SET_EMPTY', false);\r\n } else {\r\n commit('SET_EMPTY', true);\r\n }\r\n }\r\n}\r\n","var map = {\n\t\"./loading.gif\": 7238\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 7169;","var map = {\n\t\"./error.png\": 6343,\n\t\"./info.png\": 4949,\n\t\"./success.png\": 7380\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 8806;","// 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\tid: moduleId,\n\t\tloaded: false,\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// Flag the module as loaded\n\tmodule.loaded = true;\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/\" + chunkId + \".\" + {\"2\":\"6c49d2ec\",\"65\":\"c44dcf8c\",\"75\":\"da276a3c\",\"97\":\"13b48386\",\"137\":\"8c48b802\",\"151\":\"1d542d6a\",\"176\":\"bfd29460\",\"201\":\"07d9bccd\",\"262\":\"b9045830\",\"294\":\"fcec6c00\",\"324\":\"9535f9c7\",\"342\":\"d28320e5\",\"350\":\"e672ede4\",\"359\":\"5d1ec605\",\"368\":\"f587c05a\",\"394\":\"e19c2f8d\",\"398\":\"505aac13\",\"409\":\"9a7221c8\",\"413\":\"6f4e6802\",\"428\":\"cf213763\",\"446\":\"9bd2f79d\",\"458\":\"68479ee1\",\"461\":\"b863c253\",\"512\":\"c74b47aa\",\"609\":\"f53892e8\",\"630\":\"d2bc6d92\",\"631\":\"4f2828d9\",\"714\":\"281cc89c\",\"728\":\"21c9c4b6\",\"794\":\"928b8c53\",\"795\":\"54bc9397\",\"920\":\"8cc4ad4d\",\"949\":\"31e73735\",\"957\":\"83bf25f5\"}[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/\" + chunkId + \".\" + {\"2\":\"bc2578bf\",\"65\":\"38e515f3\",\"97\":\"d0156ce2\",\"151\":\"18f3d4a8\",\"176\":\"3b081739\",\"201\":\"1e5cd387\",\"262\":\"91a3e64c\",\"324\":\"565841d1\",\"342\":\"e4de09fd\",\"350\":\"e78c8068\",\"359\":\"ff86a4e1\",\"368\":\"8e9c643b\",\"398\":\"b8b1707e\",\"409\":\"e2f5f70e\",\"428\":\"a91d6872\",\"446\":\"6bfa70cc\",\"458\":\"fb010c6c\",\"461\":\"d108bfb6\",\"512\":\"27a8cb4f\",\"609\":\"f3cc62a2\",\"630\":\"8fcccf2d\",\"728\":\"866ff527\",\"794\":\"b7900df5\",\"795\":\"71dda257\",\"920\":\"4be355a3\"}[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 = \"editor-front:\";\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\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\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__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tif (__webpack_require__.nc) {\n\t\tlinkTag.nonce = __webpack_require__.nc;\n\t}\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;\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(\" + errorType + \": \" + realHref + \")\");\n\t\t\terr.name = \"ChunkLoadError\";\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.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\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\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, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"2\":1,\"65\":1,\"97\":1,\"151\":1,\"176\":1,\"201\":1,\"262\":1,\"324\":1,\"342\":1,\"350\":1,\"359\":1,\"368\":1,\"398\":1,\"409\":1,\"428\":1,\"446\":1,\"458\":1,\"461\":1,\"512\":1,\"609\":1,\"630\":1,\"728\":1,\"794\":1,\"795\":1,\"920\":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\t524: 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(true) { // all chunks have JS\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}\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[\"webpackChunkeditor_front\"] = self[\"webpackChunkeditor_front\"] || [];\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, [504], function() { return __webpack_require__(6091); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["silverId","silverProduct","products","find","p","id","silverMonth","prices","product","recurring","interval","trial","name","description","details","images","maxShows","price","year","month","eur","silver","gold","platinum","testProducts","legacyIds","currency","unit_amount","localStorageService","LocalStorageService","getService","currentUrl","location","host","API_URL","console","log","api","axios","baseURL","cancelSource","source","interceptors","request","use","config","token","getAccessToken","headers","cancelToken","error","Promise","reject","retry","response","async","originalRequest","refreshToken","getRefreshToken","status","url","clearTokens","router","push","query","catch","includes","res","post","setToken","data","render","_vm","this","_c","_self","attrs","$route","path","_e","staticRenderFns","staticClass","staticStyle","require","_m","userAndToken","_v","user","admin","editorial_pass","computed","mapState","state","editorialPass","pass","localStorage","getItem","component","plan","expires","Date","getTime","ref","class","more","_s","overflow","on","$event","days","Math","floor","hours","mounted","isOverflowing","window","addEventListener","updated","methods","expired","$refs","notExpired","offsetHeight","scrollHeight","offsetWidth","scrollWidth","messages","length","_l","message","index","key","deleteMessage","getImgUrl","type","mapMutations","DELETE_MESSAGE","components","TheNavbar","DemoUserAlert","Messages","TheFooter","install","Vue","options","prototype","$message","timeout","msg","store","commit","setTimeout","$infoMessage","$successMessage","$errorMessage","$createLoading","$deleteLoading","Vuelidate","MessagePlugin","VCalendar","productionTip","h","App","$mount","LandingPage","LoginPage","SignUpPage","CreateDemoUser","CreateLegacyUser","Library","ProfilePage","AccountSettings","ModifySubscription","AllMedia","Quizzes","QuizResults","AddQuiz","QuizPreview","ReportPage","Admin","AdminUserControl","PasswordChange","PasswordReset","TheStudio","Expired","NotFound","ImagePack","PaymentDetails","PrivacyPolicy","ConfirmPayment","RenewSubscription","VerifiedEmail","Router","nonLegacyRoutes","hasSubscription","stripeUser","hasPlan","hasSubscriptionId","subscriptionActiveOrTrialing","subscription_status","subscriptionExpired","subscriptions","requiresAction","latest_invoice","payment_intent","isLoggedIn","to","from","next","show_uuid","legacy","verified","routeToLibrary","checkCoupon","coupon","params","isLoggedInWithEditorialPass","now","removeToken","delete","then","dispatch","isAdmin","activeSubscriptionRedirect","mode","base","process","routes","beforeEnter","alias","afterEach","loadingMessages","getters","_service","_getService","_setToken","tokenObj","setItem","_getAccessToken","_getRefreshToken","_clearTokens","removeItem","getDefaultState","file","mutations","SET_FILE","fileObj","SET_AUDIO","audio","SET_LOOP_AUDIO","loop_audio","RESET_STATE","Object","assign","actions","UPDATE_IMAGE_START","context","body","root","UPDATE_VIDEO_START","namespaced","defaultCard","shows","files","buttons","passes","quizzes","templates","SET_USER","SET_SHOWS","ADD_SHOW","show","DELETE_SHOW","splice","indexOf","SET_FILES","SET_BUTTONS","ADD_BUTTON","button","ADD_BUTTONS","filter","value","self","map","btn","DELETE_BUTTON","SET_PASSES","ADD_PASS","DELETE_PASS","uuid","SET_QUIZZES","SET_TEMPLATES","SET_STRIPE_USER","SET_SUBSCRIPTION","subscription","SET_DEFAULT_CARD","card","LOGIN","TypeError","GET_SHOWS","get","GET_FILES","GET_BUTTONS","custombuttons","GET_PASSES","GET_QUIZZES","GET_TEMPLATES","getShowPasses","username","videos","startFile","percentageOfDataUsed","empty","userQuizzes","userButtons","guestPasses","SET_PASS","SET_SHOW_UUID","SET_PLAN","SET_EXPIRES","SET_USERNAME","SET_SHOW","SET_IMAGES","start","image","split","SET_VIDEOS","video","SET_START_FILE","SET_PERCENTAGE","percentage","SET_EMPTY","bool","SET_USER_BUTTONS","SET_USER_QUIZZES","SET_IMAGE_FILE_START","imageObj","image_uuid","start_pos","slider","SET_VIDEO_FILE_START","videoObj","video_uuid","show_user_plan","show_username","GET_SHOW","GET_IMAGES","GET_VIDEOS","GET_PERCENTAGE_OF_DATA_USED","GET_USER_BUTTONS","GET_USER_QUIZZES","GET_GUEST_PASSES","RELOAD_DATA","allFiles","ADD_MESSAGE","loading","selectedProduct","selectedInterval","selectedPrice","couponId","setSelectedProduct","setSelectedInterval","setSelectedPrice","setCoupon","setCouponId","selectProductAndPrice","freeTrial","selectIntervalAndPrice","assignedGroups","grouplist","UPDATE_GROUPS","newGroups","UPDATE_GROUPLIST","queryString","SET_QUERYSTRING","string","saveQueryString","getQueryString","Vuex","plugins","createPersistedState","reducer","val","modules","userModule","editorialPassModule","showModule","selectedFile","selectedFileModule","messageModule","subscriptionModule","buttonGroups","buttonGroupModule","azuredata","azuredataModule","characters","editorialPasses","languages","useAnimation","SET_CHARACTERS","SET_LANGUAGES","values","startsWith","SET_EDITORIAL_PASSES","SET_SHOW_SPLASH","splash_url","GET_CHARACTERS","chars","GET_LANGUAGES","setSelectedFile","GET_EDITORIAL_PASSES","promises","all","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","resolve","module","exports","__webpack_module_cache__","moduleId","cachedModule","undefined","loaded","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","r","n","getter","__esModule","d","a","definition","defineProperty","enumerable","f","chunkId","reduce","u","miniCssF","g","globalThis","Function","obj","prop","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","bind","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","createStylesheet","fullhref","oldTag","linkTag","rel","nonce","onLinkComplete","errorType","realHref","href","err","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}