{"version":3,"file":"js/app.9a8ffe36.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?34d2","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?913c","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?fc1d","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?5352","webpack://editor-front/./src/components/TheFooter.vue?89f2","webpack://editor-front/src/App.vue","webpack://editor-front/./src/App.vue?51dd","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\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\": 8054\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 = 8514;","var map = {\n\t\"./error.png\": 7834,\n\t\"./info.png\": 3680,\n\t\"./success.png\": 3119\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 = 7671;","// 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 + \".\" + {\"38\":\"3182efe5\",\"47\":\"59e59033\",\"67\":\"bfe490f9\",\"101\":\"0f1ea8a4\",\"169\":\"75d1ecc1\",\"182\":\"a435ce41\",\"223\":\"f8702b7d\",\"225\":\"1c802e38\",\"292\":\"81c1d175\",\"318\":\"44535a41\",\"385\":\"98447b27\",\"392\":\"ccd45ff6\",\"411\":\"e83255b5\",\"428\":\"1b4541e3\",\"464\":\"1143bedf\",\"506\":\"465decca\",\"543\":\"630ebd85\",\"556\":\"7569ec98\",\"575\":\"5e83106e\",\"583\":\"b85c639a\",\"607\":\"04b8c934\",\"651\":\"e759cfba\",\"663\":\"64ff8a31\",\"679\":\"fe072c70\",\"698\":\"00309b68\",\"705\":\"66af1e94\",\"724\":\"8fa62878\",\"734\":\"2bdb31ad\",\"739\":\"dd0f5de1\",\"769\":\"520e9821\",\"917\":\"e3348fd8\",\"948\":\"7c0203f8\",\"958\":\"511bac6d\",\"986\":\"5a3c4fa9\"}[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 + \".\" + {\"38\":\"a91d6872\",\"47\":\"3b081739\",\"67\":\"d0029972\",\"101\":\"32c7937d\",\"169\":\"b8b1707e\",\"223\":\"8e9c643b\",\"225\":\"e2f5f70e\",\"292\":\"91a3e64c\",\"318\":\"565841d1\",\"385\":\"bc2578bf\",\"392\":\"71dda257\",\"411\":\"fb010c6c\",\"464\":\"f3cc62a2\",\"506\":\"ff86a4e1\",\"543\":\"18f3d4a8\",\"583\":\"38e515f3\",\"651\":\"1e5cd387\",\"679\":\"66557e73\",\"698\":\"27a8cb4f\",\"724\":\"6bfa70cc\",\"734\":\"8fcccf2d\",\"739\":\"b3c431c9\",\"769\":\"e78c8068\",\"948\":\"4be355a3\",\"986\":\"d0156ce2\"}[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\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\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\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\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"38\":1,\"47\":1,\"67\":1,\"101\":1,\"169\":1,\"223\":1,\"225\":1,\"292\":1,\"318\":1,\"385\":1,\"392\":1,\"411\":1,\"464\":1,\"506\":1,\"543\":1,\"583\":1,\"651\":1,\"679\":1,\"698\":1,\"724\":1,\"734\":1,\"739\":1,\"769\":1,\"948\":1,\"986\":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(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} 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[\"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, [998], function() { return __webpack_require__(4795); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["silverId","silverProduct","products","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","currentUrl","location","host","API_URL","console","log","api","axios","baseURL","cancelSource","interceptors","request","use","config","token","getAccessToken","headers","cancelToken","error","Promise","reject","retry","response","async","originalRequest","refreshToken","getRefreshToken","status","url","clearTokens","router","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","component","plan","expires","Date","getTime","ref","class","more","_s","overflow","on","$event","mounted","window","updated","methods","isOverflowing","expired","notExpired","messages","length","_l","message","index","key","deleteMessage","getImgUrl","type","DELETE_MESSAGE","components","TheNavbar","DemoUserAlert","Messages","TheFooter","install","Vue","options","prototype","$message","timeout","msg","store","setTimeout","$infoMessage","$successMessage","$errorMessage","$createLoading","$deleteLoading","Vuelidate","MessagePlugin","VCalendar","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","legacy","verified","routeToLibrary","checkCoupon","coupon","params","isLoggedInWithEditorialPass","now","removeToken","then","isAdmin","activeSubscriptionRedirect","mode","base","process","routes","beforeEnter","alias","afterEach","loadingMessages","_service","_getService","_setToken","tokenObj","localStorage","setItem","_getAccessToken","getItem","_getRefreshToken","_clearTokens","removeItem","getService","getDefaultState","file","state","mutations","SET_FILE","fileObj","SET_AUDIO","audio","SET_LOOP_AUDIO","loop_audio","RESET_STATE","Object","assign","actions","context","body","commit","root","getters","namespaced","defaultCard","shows","files","buttons","passes","quizzes","templates","SET_USER","SET_SHOWS","ADD_SHOW","show","push","DELETE_SHOW","splice","indexOf","SET_FILES","SET_BUTTONS","ADD_BUTTON","button","ADD_BUTTONS","filter","value","self","map","btn","DELETE_BUTTON","SET_PASSES","ADD_PASS","pass","DELETE_PASS","uuid","SET_QUIZZES","SET_TEMPLATES","SET_STRIPE_USER","SET_SUBSCRIPTION","subscription","SET_DEFAULT_CARD","card","TypeError","custombuttons","getShowPasses","show_uuid","username","videos","startFile","percentageOfDataUsed","empty","userQuizzes","userButtons","guestPasses","SET_PASS","SET_SHOW_UUID","SET_PLAN","SET_EXPIRES","SET_USERNAME","SET_SHOW","SET_IMAGES","start","find","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","dispatch","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","editorialPass","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","chars","setSelectedFile","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","get","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","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":""}