{"version":3,"file":"js/app.fffd1e28.js","mappings":"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","sources":["webpack://bv-translation-app/./src/components/BitvilleButton.vue","webpack://bv-translation-app/src/components/BitvilleButton.vue","webpack://bv-translation-app/./src/components/BitvilleButton.vue?edc0","webpack://bv-translation-app/./src/components/BitvilleButton.vue?69c9","webpack://bv-translation-app/./src/components/SyllabellAppIcon.vue","webpack://bv-translation-app/src/components/SyllabellAppIcon.vue","webpack://bv-translation-app/./src/components/SyllabellAppIcon.vue?f496","webpack://bv-translation-app/./src/components/SyllabellAppIcon.vue?a825","webpack://bv-translation-app/./src/Routes.ts","webpack://bv-translation-app/./src/App.vue","webpack://bv-translation-app/./src/components/PageLoading.vue","webpack://bv-translation-app/src/components/PageLoading.vue","webpack://bv-translation-app/./src/components/PageLoading.vue?137d","webpack://bv-translation-app/./src/components/PageLoading.vue?e19c","webpack://bv-translation-app/./src/components/Snackbar.vue","webpack://bv-translation-app/./src/components/SnackbarQueue.vue","webpack://bv-translation-app/src/components/SnackbarQueue.vue","webpack://bv-translation-app/./src/components/SnackbarQueue.vue?7b2d","webpack://bv-translation-app/./src/components/SnackbarQueue.vue?6d58","webpack://bv-translation-app/src/components/Snackbar.vue","webpack://bv-translation-app/./src/components/Snackbar.vue?8a4b","webpack://bv-translation-app/./src/components/Snackbar.vue?5763","webpack://bv-translation-app/./src/AppEvents.ts","webpack://bv-translation-app/./src/components/AppBar.vue","webpack://bv-translation-app/src/components/AppBar.vue","webpack://bv-translation-app/./src/components/AppBar.vue?2d3a","webpack://bv-translation-app/./src/components/AppBar.vue?0048","webpack://bv-translation-app/src/App.vue","webpack://bv-translation-app/./src/App.vue?6d0c","webpack://bv-translation-app/./src/App.vue?0e40","webpack://bv-translation-app/./src/router/index.ts","webpack://bv-translation-app/./src/plugins/vuetify.ts","webpack://bv-translation-app/./src/plugins/msalPlugin.ts","webpack://bv-translation-app/./src/plugins/firebaseAuthPlugin.ts","webpack://bv-translation-app/./src/main.ts","webpack://bv-translation-app/./src/models/SnackbarNotification.ts","webpack://bv-translation-app/./src/services/BaseService.ts","webpack://bv-translation-app/./src/services/ApiService.ts","webpack://bv-translation-app/./src/services/AuthService.ts","webpack://bv-translation-app/./src/models/AccessToken.ts","webpack://bv-translation-app/./src/models/CreatePasswordResetResponse.ts","webpack://bv-translation-app/./src/models/AppException.ts","webpack://bv-translation-app/./src/store/AuthStore.ts","webpack://bv-translation-app/./src/store/NotificationStore.ts","webpack://bv-translation-app/./src/store/index.ts","webpack://bv-translation-app/webpack/bootstrap","webpack://bv-translation-app/webpack/runtime/chunk loaded","webpack://bv-translation-app/webpack/runtime/compat get default export","webpack://bv-translation-app/webpack/runtime/define property getters","webpack://bv-translation-app/webpack/runtime/ensure chunk","webpack://bv-translation-app/webpack/runtime/get javascript chunk filename","webpack://bv-translation-app/webpack/runtime/get mini-css chunk filename","webpack://bv-translation-app/webpack/runtime/global","webpack://bv-translation-app/webpack/runtime/hasOwnProperty shorthand","webpack://bv-translation-app/webpack/runtime/load script","webpack://bv-translation-app/webpack/runtime/make namespace object","webpack://bv-translation-app/webpack/runtime/node module decorator","webpack://bv-translation-app/webpack/runtime/publicPath","webpack://bv-translation-app/webpack/runtime/css loading","webpack://bv-translation-app/webpack/runtime/jsonp chunk loading","webpack://bv-translation-app/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('button',{staticClass:\"bitville-button\",class:{\n 'bitville-button--green': _vm.color === 'green',\n 'bitville-button--blue-white': _vm.color === 'blue-white',\n 'bitville-button--green-white': _vm.color === 'green-white',\n 'bitville-button--dark-grey': _vm.color === 'dark-grey',\n 'bitville-button--light-grey': _vm.color === 'light-grey',\n 'bitville-button--red-light-grey': _vm.color === 'red-light-grey',\n 'bitville-button--grey-transparent': _vm.color === 'grey-transparent',\n 'bitville-button--blue-transparent': _vm.color === 'blue-transparent',\n 'small': _vm.size === 'small',\n 'xsmall': _vm.size === 'xsmall',\n 'form-button': _vm.formButton,\n 'pulsing': _vm.pulsing,\n 'full-width': _vm.fullWidth,\n 'loading': _vm.loading,\n 'disabled': _vm.disabled,\n 'keep-hover': _vm.keepHover,\n 'fully-transparent': _vm.fullyTransparent\n },on:{\"click\":function($event){$event.preventDefault();return _vm.onButtonClick.apply(null, arguments)}}},[_vm._t(\"prepend-icon\"),(_vm.text)?_c('span',{staticClass:\"bitville-button__text\"},[_vm._v(_vm._s(_vm.text))]):_vm._e(),_vm._t(\"append-icon\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BitvilleButton.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./BitvilleButton.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./BitvilleButton.vue?vue&type=template&id=2afd3c2a\"\nimport script from \"./BitvilleButton.vue?vue&type=script&lang=ts\"\nexport * from \"./BitvilleButton.vue?vue&type=script&lang=ts\"\nimport style0 from \"./BitvilleButton.vue?vue&type=style&index=0&id=2afd3c2a&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","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('svg',{staticClass:\"syllabell-app-icon\",class:{ gradient: _vm.gradient, 'fill-height': _vm.fillHeight },attrs:{\"id\":\"Layer_2\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"xmlns:xlink\":\"http://www.w3.org/1999/xlink\",\"viewBox\":\"0 0 231 44.15\"}},[_c('defs',[_c('linearGradient',{attrs:{\"id\":\"linear-gradient\",\"x1\":\"-16.78\",\"y1\":\"18.08\",\"x2\":\"236.51\",\"y2\":\"18.08\",\"gradientUnits\":\"userSpaceOnUse\"}},[_c('stop',{attrs:{\"offset\":\".01\",\"stop-color\":\"#dba186\"}}),_c('stop',{attrs:{\"offset\":\".24\",\"stop-color\":\"#db7b9e\"}}),_c('stop',{attrs:{\"offset\":\".69\",\"stop-color\":\"#ad71ba\"}}),_c('stop',{attrs:{\"offset\":\".86\",\"stop-color\":\"#8b71ba\"}})],1),_c('linearGradient',{attrs:{\"id\":\"linear-gradient-2\",\"x1\":\"-16.78\",\"y1\":\"27.16\",\"x2\":\"236.51\",\"y2\":\"27.16\",\"xlink:href\":\"#linear-gradient\"}}),_c('linearGradient',{attrs:{\"id\":\"linear-gradient-3\",\"x1\":\"-16.78\",\"y1\":\"17.19\",\"x2\":\"236.51\",\"y2\":\"17.19\",\"xlink:href\":\"#linear-gradient\"}}),_c('linearGradient',{attrs:{\"id\":\"linear-gradient-4\",\"x1\":\"-16.78\",\"y1\":\"17.19\",\"x2\":\"236.51\",\"y2\":\"17.19\",\"xlink:href\":\"#linear-gradient\"}}),_c('linearGradient',{attrs:{\"id\":\"linear-gradient-5\",\"x1\":\"-16.78\",\"y1\":\"22.27\",\"x2\":\"236.51\",\"y2\":\"22.27\",\"xlink:href\":\"#linear-gradient\"}}),_c('linearGradient',{attrs:{\"id\":\"linear-gradient-6\",\"x1\":\"-16.78\",\"y1\":\"17.41\",\"x2\":\"236.51\",\"y2\":\"17.41\",\"xlink:href\":\"#linear-gradient\"}}),_c('linearGradient',{attrs:{\"id\":\"linear-gradient-7\",\"x1\":\"-16.78\",\"y1\":\"22.27\",\"x2\":\"236.51\",\"y2\":\"22.27\",\"xlink:href\":\"#linear-gradient\"}}),_c('linearGradient',{attrs:{\"id\":\"linear-gradient-8\",\"x1\":\"-16.78\",\"y1\":\"17.19\",\"x2\":\"236.51\",\"y2\":\"17.19\",\"xlink:href\":\"#linear-gradient\"}}),_c('linearGradient',{attrs:{\"id\":\"linear-gradient-9\",\"x1\":\"-16.78\",\"y1\":\"17.19\",\"x2\":\"236.51\",\"y2\":\"17.19\",\"xlink:href\":\"#linear-gradient\"}}),_c('linearGradient',{attrs:{\"id\":\"linear-gradient-10\",\"x1\":\"-16.78\",\"y1\":\"22.27\",\"x2\":\"236.51\",\"y2\":\"22.27\",\"xlink:href\":\"#linear-gradient\"}}),_c('linearGradient',{attrs:{\"id\":\"linear-gradient-11\",\"x1\":\"-16.78\",\"y1\":\"17.47\",\"x2\":\"236.51\",\"y2\":\"17.47\",\"xlink:href\":\"#linear-gradient\"}}),_c('linearGradient',{attrs:{\"id\":\"linear-gradient-12\",\"x1\":\"-16.78\",\"y1\":\"31.17\",\"x2\":\"236.51\",\"y2\":\"31.17\",\"xlink:href\":\"#linear-gradient\"}})],1),_c('g',{attrs:{\"id\":\"Layer_2-2\"}},[_c('g',[_c('path',{staticClass:\"cls-1\",attrs:{\"d\":\"M18.22,25.82c0-1.27-.45-2.24-1.34-2.92-.9-.68-2.51-1.39-4.83-2.15-2.33-.75-4.17-1.5-5.53-2.23C2.81,16.53,.96,13.84,.96,10.45c0-1.76,.5-3.33,1.49-4.71,.99-1.38,2.42-2.46,4.27-3.23,1.86-.78,3.94-1.16,6.25-1.16s4.4,.42,6.22,1.26c1.82,.84,3.23,2.03,4.24,3.57,.82,1.25,1.3,2.63,1.46,4.15,.06,.58-.39,1.08-.97,1.08h-4.79c-.49,0-.89-.37-.95-.85-.15-1.09-.6-1.97-1.35-2.63-.94-.83-2.26-1.24-3.96-1.24s-2.92,.35-3.83,1.04c-.91,.69-1.36,1.61-1.36,2.74,0,1.06,.53,1.95,1.6,2.66,1.07,.72,2.64,1.39,4.71,2.01,3.82,1.15,6.6,2.57,8.35,4.27s2.62,3.82,2.62,6.36c0,2.82-1.07,5.03-3.2,6.64-2.13,1.6-5.01,2.41-8.62,2.41-2.51,0-4.79-.46-6.85-1.38-2.06-.92-3.63-2.17-4.71-3.77C.68,28.35,.16,26.86,0,25.19c-.05-.57,.4-1.07,.97-1.07H5.78c.49,0,.9,.37,.96,.85,.33,3.03,2.46,4.54,6.4,4.54,1.6,0,2.84-.32,3.74-.97,.9-.65,1.34-1.56,1.34-2.72Z\"}}),_c('path',{staticClass:\"cls-6\",attrs:{\"d\":\"M39.95,22.11l3.34-11.25c.12-.41,.5-.69,.93-.69h4.85c.67,0,1.13,.66,.91,1.29l-9.28,26.66s-.01,.04-.02,.06l-.53,1.25c-1.45,3.16-3.83,4.74-7.16,4.74-.68,0-1.37-.07-2.07-.22-.46-.1-.79-.49-.79-.95v-4.15s.98,.02,.98,.02c1.22,0,2.14-.19,2.74-.56,.6-.37,1.08-.99,1.42-1.86l.63-1.66c.08-.21,.09-.45,0-.66l-7.92-22.66c-.22-.63,.25-1.29,.91-1.29h4.88c.43,0,.8,.28,.93,.69l3.36,11.26c.28,.92,1.58,.92,1.86,0Z\"}}),_c('path',{staticClass:\"cls-4\",attrs:{\"d\":\"M59.77,34.37h-4.55c-.53,0-.97-.43-.97-.97V.97c0-.53,.43-.97,.97-.97h4.55c.53,0,.97,.43,.97,.97V33.4c0,.53-.43,.97-.97,.97Z\"}}),_c('path',{staticClass:\"cls-5\",attrs:{\"d\":\"M72.83,34.37h-4.55c-.53,0-.97-.43-.97-.97V.97c0-.53,.43-.97,.97-.97h4.55c.53,0,.97,.43,.97,.97V33.4c0,.53-.43,.97-.97,.97Z\"}}),_c('path',{staticClass:\"cls-9\",attrs:{\"d\":\"M93.82,33.8c-.03-.08-.06-.15-.08-.23-.18-.55-.86-.78-1.31-.42-1.4,1.12-3.11,1.68-5.11,1.68-2.37,0-4.34-.69-5.9-2.06-1.56-1.37-2.34-3.1-2.34-5.19,0-2.57,.95-4.54,2.85-5.91,1.9-1.37,4.65-2.07,8.25-2.08h2.01c.53,0,.97-.43,.97-.97v-.42c0-1.12-.29-2.01-.86-2.69-.57-.67-1.48-1.01-2.72-1.01-1.09,0-1.94,.26-2.56,.78-.43,.36-.71,.81-.84,1.36-.11,.45-.48,.79-.95,.79h-4.55c-.59,0-1.06-.52-.96-1.1,.17-.99,.57-1.92,1.21-2.79,.87-1.19,2.09-2.13,3.67-2.81,1.58-.68,3.36-1.02,5.33-1.02,2.98,0,5.35,.75,7.11,2.25,1.75,1.5,2.63,3.61,2.63,6.32v10.49c.01,2.3,.34,4.04,.96,5.21v.38h-5.97c-.37,0-.69-.23-.81-.57Zm-5.1-3.92c.95,0,1.83-.21,2.64-.64,.71-.38,1.26-.87,1.65-1.47,.1-.15,.14-.34,.14-.52v-3.88h-2.42c-3.24,0-4.96,1.12-5.17,3.36l-.02,.38c0,.81,.28,1.47,.85,1.99,.57,.52,1.34,.78,2.33,.78Z\"}}),_c('path',{staticClass:\"cls-7\",attrs:{\"d\":\"M127.35,22.49c0,3.88-.83,6.9-2.48,9.07s-3.97,3.26-6.94,3.26c-2.01,0-3.71-.59-5.1-1.77-.52-.44-1.32-.12-1.4,.56h0c-.05,.43-.42,.76-.85,.76h-4.08c-.53,0-.97-.43-.97-.97V.97c0-.53,.43-.97,.97-.97h4.53c.53,0,.97,.43,.97,.97V10.17c0,.76,.85,1.25,1.48,.82,1.24-.85,2.71-1.28,4.41-1.28,2.95,0,5.27,1.09,6.95,3.26,1.68,2.17,2.52,5.23,2.52,9.16v.36Zm-6.47-.47c0-2.45-.39-4.23-1.16-5.36-.78-1.13-1.93-1.69-3.47-1.69-2.06,0-3.48,.84-4.25,2.53v9.56c.79,1.7,2.22,2.55,4.3,2.55s3.46-1.03,4.12-3.09c.31-.98,.47-2.48,.47-4.5Z\"}}),_c('path',{staticClass:\"cls-8\",attrs:{\"d\":\"M143.39,34.82c-3.55,0-6.44-1.09-8.67-3.27-2.23-2.18-3.35-5.08-3.35-8.71v-.63c0-2.43,.47-4.61,1.41-6.52,.94-1.92,2.27-3.39,3.99-4.43,1.72-1.04,3.69-1.56,5.9-1.56,3.31,0,5.92,1.04,7.82,3.13,1.9,2.09,2.85,5.05,2.85,8.88v1.67c0,.53-.43,.97-.97,.97h-14.45c.21,1.58,.84,2.85,1.89,3.8,1.05,.95,2.38,1.43,3.99,1.43,2.11,0,3.83-.65,5.16-1.95,.4-.39,1.03-.37,1.4,.04l1.92,2.15c.33,.37,.32,.92,0,1.29-.9,1.05-2.03,1.89-3.4,2.52-1.66,.77-3.49,1.15-5.51,1.15Zm-.74-19.89c-1.28,0-2.32,.43-3.12,1.3-.8,.87-1.31,2.11-1.53,3.73h9v-.52c-.03-1.44-.42-2.55-1.16-3.34-.75-.79-1.81-1.18-3.18-1.18Z\"}}),_c('path',{staticClass:\"cls-2\",attrs:{\"d\":\"M163.8,34.37h-4.55c-.53,0-.97-.43-.97-.97V.97c0-.53,.43-.97,.97-.97h4.55c.53,0,.97,.43,.97,.97V33.4c0,.53-.43,.97-.97,.97Z\"}}),_c('path',{staticClass:\"cls-3\",attrs:{\"d\":\"M176.86,34.37h-4.55c-.53,0-.97-.43-.97-.97V.97c0-.53,.43-.97,.97-.97h4.55c.53,0,.97,.43,.97,.97V33.4c0,.53-.43,.97-.97,.97Z\"}}),_c('path',{staticClass:\"cls-10\",attrs:{\"d\":\"M212.06,33.73s0-.01,0-.02c-.22-.61-.96-.86-1.48-.47-1.38,1.06-3.05,1.58-5,1.58-2.37,0-4.34-.69-5.9-2.06-1.56-1.37-2.34-3.1-2.34-5.19,0-2.57,.95-4.54,2.85-5.91,1.9-1.37,4.65-2.07,8.25-2.08h2.98v-1.39c0-1.12-.29-2.01-.86-2.69-.57-.67-1.48-1.01-2.72-1.01-1.09,0-1.94,.26-2.56,.78-.43,.36-.71,.81-.84,1.36-.11,.45-.48,.79-.95,.79h-4.55c-.59,0-1.06-.52-.96-1.1,.17-.99,.57-1.92,1.21-2.79,.87-1.19,2.09-2.13,3.67-2.81,1.58-.68,3.36-1.02,5.33-1.02,2.98,0,5.35,.75,7.11,2.25,1.75,1.5,2.63,3.61,2.63,6.32v10.49c.01,2.3,.34,4.04,.96,5.21v.38h-5.89c-.41,0-.78-.26-.92-.65Zm-5.07-3.85c.95,0,1.83-.21,2.64-.64,.71-.38,1.26-.87,1.65-1.47,.1-.15,.14-.34,.14-.52v-3.88h-2.42c-3.24,0-4.96,1.12-5.17,3.36l-.02,.38c0,.81,.28,1.47,.85,1.99,.57,.52,1.34,.78,2.33,.78Z\"}}),_c('path',{staticClass:\"cls-12\",attrs:{\"d\":\"M223.75,3.89c0-.97,.32-1.77,.97-2.39,.65-.63,1.53-.94,2.65-.94s1.98,.31,2.64,.94c.66,.63,.98,1.42,.98,2.39s-.33,1.79-1,2.42c-.66,.63-1.54,.94-2.63,.94s-1.97-.31-2.63-.94c-.66-.63-1-1.43-1-2.42Zm5.9,30.48h-4.55c-.53,0-.97-.43-.97-.97V11.13c0-.53,.43-.97,.97-.97h4.55c.53,0,.97,.43,.97,.97v22.28c0,.53-.43,.97-.97,.97Z\"}}),_c('path',{staticClass:\"cls-11\",attrs:{\"d\":\"M184.41,31.19c0-1.03,.35-1.86,1.04-2.51,.69-.64,1.56-.96,2.61-.96s1.94,.32,2.63,.96c.69,.64,1.04,1.48,1.04,2.51s-.34,1.84-1.03,2.47c-.69,.63-1.57,.95-2.64,.95s-1.93-.32-2.62-.95c-.69-.63-1.03-1.46-1.03-2.47Z\"}})])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SyllabellAppIcon.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SyllabellAppIcon.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./SyllabellAppIcon.vue?vue&type=template&id=469991ab\"\nimport script from \"./SyllabellAppIcon.vue?vue&type=script&lang=ts\"\nexport * from \"./SyllabellAppIcon.vue?vue&type=script&lang=ts\"\nimport style0 from \"./SyllabellAppIcon.vue?vue&type=style&index=0&id=469991ab&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 { RouteConfig } from 'vue-router';\r\n\r\n/**\r\n * Define all of your application routes here\r\n * for more information on routes, see the\r\n * official documentation https://router.vuejs.org/en/\r\n */\r\n\r\ntype ILegalViewTabSlug = \r\n \"terms-of-service\" | \r\n \"privacy-policy\"\r\n\r\nexport interface ILegalViewTab {\r\n name: string,\r\n slug: ILegalViewTabSlug,\r\n default?: boolean\r\n}\r\n\r\nclass Routes {\r\n public static legalTabs: ILegalViewTab[] = [\r\n {\r\n name: \"Terms of service\",\r\n slug: \"terms-of-service\",\r\n default: true\r\n },\r\n {\r\n name: \"Privacy policy\",\r\n slug: \"privacy-policy\"\r\n }\r\n ];\r\n\r\n public static root: RouteConfig = {\r\n path: '/',\r\n name: 'Root',\r\n redirect: '/signin'\r\n };\r\n\r\n public static welcome: RouteConfig = {\r\n path: '/welcome/:method?',\r\n name: 'Welcome',\r\n component: () => import(\"@/views/Signin.vue\")\r\n };\r\n\r\n public static signin: RouteConfig = {\r\n path: '/signin/:method?',\r\n name: 'Sign in',\r\n component: () => import(\"@/views/Signin.vue\")\r\n };\r\n\r\n public static legal: RouteConfig = {\r\n path: '/legal/:tabSlug?',\r\n name: 'Legal',\r\n meta: {\r\n showAppBar: true\r\n },\r\n component: () => import(\"@/views/Legal.vue\")\r\n };\r\n\r\n public static notFound: RouteConfig = {\r\n path: '*',\r\n name: 'Not found',\r\n redirect: '/',\r\n };\r\n\r\n public static routes: RouteConfig[] = [\r\n Routes.root,\r\n Routes.welcome,\r\n Routes.signin,\r\n Routes.legal,\r\n Routes.notFound\r\n ];\r\n}\r\n\r\nexport default Routes;\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-app',{staticClass:\"app\"},[(_vm.showAppBar)?_c('AppBar'):_vm._e(),_c('v-main',{class:{\n 'pt-15': _vm.showAppBar\n }},[(_vm.showPageLoading)?_c('PageLoading',{attrs:{\"loadingText\":_vm.loadingText}}):_vm._e(),(!_vm.showPageLoading)?_c('router-view'):_vm._e()],1),_c('Snackbar')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"page-loading\"},[_c('div',{staticClass:\"page-loading__indicator-wrapper\"},[_vm._m(0),_c('span',{staticClass:\"page-loading__loading-text\"},[_vm._v(_vm._s(_vm.visibleLoadingText))])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"page-loading__indicator\"},[_c('div',{staticClass:\"circle\"},[_c('div',{staticClass:\"inner\"})]),_c('div',{staticClass:\"circle\"},[_c('div',{staticClass:\"inner\"})]),_c('div',{staticClass:\"circle\"},[_c('div',{staticClass:\"inner\"})]),_c('div',{staticClass:\"circle\"},[_c('div',{staticClass:\"inner\"})]),_c('div',{staticClass:\"circle\"},[_c('div',{staticClass:\"inner\"})])])\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!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PageLoading.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PageLoading.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./PageLoading.vue?vue&type=template&id=414568e0\"\nimport script from \"./PageLoading.vue?vue&type=script&lang=ts\"\nexport * from \"./PageLoading.vue?vue&type=script&lang=ts\"\nimport style0 from \"./PageLoading.vue?vue&type=style&index=0&id=414568e0&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","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('SnackbarQueue',{attrs:{\"items\":_vm.snackbarNotifications,\"next-button-count-text\":\"More\",\"closeButtonIcon\":\"mdi-close\",\"bottom\":\"\",\"right\":\"\"},on:{\"remove\":_vm.removeItem}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',_vm._l((_vm.items),function(item,i){return _c('v-snackbar',{key:item.id,staticClass:\"snackbar-item\",attrs:{\"absolute\":_vm.absolute,\"bottom\":_vm.bottom,\"color\":item.color,\"left\":_vm.left,\"multi-line\":_vm.multiLine,\"right\":_vm.right,\"timeout\":_vm.timeout,\"top\":_vm.top,\"value\":i === 0,\"vertical\":_vm.vertical},scopedSlots:_vm._u([{key:\"action\",fn:function({ attrs }){return [(_vm.items.length > 1)?_c('v-btn',_vm._b({attrs:{\"color\":_vm.nextButtonColor,\"text\":\"\"},on:{\"click\":function($event){return _vm.removeItem(item.id)}}},'v-btn',attrs,false),[_vm._v(\" \"+_vm._s(_vm.nextButtonText)+\" (\"+_vm._s(_vm.items.length - 1)+\" \"+_vm._s(_vm.nextButtonCountText)+\") \")]):_c('v-btn',_vm._b({attrs:{\"color\":_vm.closeButtonColor,\"text\":\"\",\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.removeItem(item.id)}}},'v-btn',attrs,false),[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(_vm._s(_vm.closeButtonIcon))])],1)]}}],null,true)},[_vm._v(\" \"+_vm._s(item.message)+\" \")])}),1)\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!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SnackbarQueue.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SnackbarQueue.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./SnackbarQueue.vue?vue&type=template&id=44c885fd\"\nimport script from \"./SnackbarQueue.vue?vue&type=script&lang=ts\"\nexport * from \"./SnackbarQueue.vue?vue&type=script&lang=ts\"\nimport style0 from \"./SnackbarQueue.vue?vue&type=style&index=0&id=44c885fd&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","\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!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Snackbar.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Snackbar.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./Snackbar.vue?vue&type=template&id=050a7c7b\"\nimport script from \"./Snackbar.vue?vue&type=script&lang=ts\"\nexport * from \"./Snackbar.vue?vue&type=script&lang=ts\"\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 Vue from 'vue';\r\n\r\nclass AppEvents extends Vue {\r\n public static REDIRECT_TO_FRONTEND = 'REDIRECT_TO_FRONTEND';\r\n public static SIGNOUT_FROM_APP = 'SIGNOUT_FROM_APP';\r\n}\r\n\r\nexport default AppEvents;\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{staticClass:\"app-bar\"},[_c('div',{staticClass:\"app-bar__container\"},[_c('div',{staticClass:\"app-bar__logo-wrapper\"},[_c('SyllabellAppIcon')],1),_c('div',{staticClass:\"app-bar__actions-container\"},[_c('BitvilleButton',{attrs:{\"color\":\"blue\",\"text\":'Log in',\"size\":'small'},on:{\"buttonClick\":_vm.onLoginButtonClick}})],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AppBar.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AppBar.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AppBar.vue?vue&type=template&id=70d626ba\"\nimport script from \"./AppBar.vue?vue&type=script&lang=ts\"\nexport * from \"./AppBar.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AppBar.vue?vue&type=style&index=0&id=70d626ba&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","\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!../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??clonedRuleSet-41.use[2]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=30f4f58d\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=30f4f58d&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 Vue from 'vue'\r\nimport Router from 'vue-router'\r\n\r\n// Routes\r\nimport Routes from '@/Routes';\r\n\r\nVue.use(Router)\r\n\r\n// Create a new router\r\nconst router = new Router({\r\n mode: 'history',\r\n routes: Routes.routes,\r\n scrollBehavior (to, from, savedPosition) {\r\n if (savedPosition) {\r\n return savedPosition\r\n }\r\n if (to.hash) {\r\n return { selector: to.hash }\r\n }\r\n return { x: 0, y: 0 }\r\n }\r\n})\r\n\r\nexport default router\r\n","import Vue from 'vue';\r\nimport Vuetify from 'vuetify/lib/framework';\r\n\r\nVue.use(Vuetify);\r\n\r\nexport default new Vuetify({\r\n theme: {\r\n themes: {\r\n light: {\r\n primary: '#1b7de6',\r\n secondary: '#545454',\r\n accent: '#82B1FF',\r\n error: '#cf222e',\r\n danger: '#cf222e',\r\n info: '#1b7de6',\r\n success: '#2ea44f',\r\n warning: '#FFC107',\r\n primaryTextColor: '#181818',\r\n secondaryTextColor: '#363636',\r\n darkGreen: '#056805',\r\n orange: \"#fd8c73\",\r\n },\r\n },\r\n },\r\n});\r\n","import * as msal from \"@azure/msal-browser\";\r\nimport Vue, { PluginObject, VueConstructor } from \"vue\";\r\nimport AuthStore from \"@/store/AuthStore\";\r\n\r\ndeclare module \"vue/types/vue\" {\r\n interface Vue {\r\n $msal: MsalPlugin;\r\n }\r\n}\r\n\r\nexport interface MsalPluginOptions {\r\n clientId: string;\r\n loginAuthority: string;\r\n cacheLocation: string;\r\n postLogoutRedirectUri: string;\r\n loginRedirectUri: string;\r\n}\r\n\r\nlet msalInstance: msal.PublicClientApplication;\r\n\r\nexport let msalPluginInstance: MsalPlugin;\r\n\r\nexport class MsalPlugin implements PluginObject {\r\n\r\n private pluginOptions: MsalPluginOptions = {\r\n clientId: \"\",\r\n loginAuthority: \"\",\r\n cacheLocation: \"\",\r\n postLogoutRedirectUri: \"\",\r\n loginRedirectUri: \"\"\r\n };\r\n\r\n public isAuthenticated = false;\r\n\r\n public install(vue: VueConstructor, options?: MsalPluginOptions): void {\r\n if (!options) {\r\n throw new Error(\"MsalPluginOptions must be specified\");\r\n }\r\n // console.log('registering a plugin, options:', options);\r\n this.pluginOptions = options;\r\n this.initialize(this.pluginOptions);\r\n msalPluginInstance = this;\r\n vue.prototype.$msal = Vue.observable(msalPluginInstance);\r\n }\r\n\r\n private initialize(options: MsalPluginOptions) { \r\n const msalConfig: msal.Configuration = {\r\n auth: {\r\n clientId: options.clientId,\r\n authority: options.loginAuthority,\r\n postLogoutRedirectUri: options.postLogoutRedirectUri,\r\n redirectUri: options.loginRedirectUri,\r\n navigateToLoginRequestUrl: false\r\n },\r\n cache: {\r\n cacheLocation: options.cacheLocation\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback: (level: msal.LogLevel, message: string, containsPii: boolean): void => {\r\n if (containsPii) {\r\n return;\r\n }\r\n switch (level) {\r\n case msal.LogLevel.Error:\r\n console.error(message);\r\n return;\r\n case msal.LogLevel.Info:\r\n // console.info(message);\r\n return;\r\n case msal.LogLevel.Verbose:\r\n // console.debug(message);\r\n return;\r\n case msal.LogLevel.Warning:\r\n // console.warn(message);\r\n return;\r\n }\r\n },\r\n piiLoggingEnabled: false,\r\n logLevel: msal.LogLevel.Error\r\n }\r\n }\r\n };\r\n msalInstance = new msal.PublicClientApplication(msalConfig);\r\n\r\n this.isAuthenticated = this.getIsAuthenticated();\r\n AuthStore.setIsMsalAuthenticated({isAuthenticated: this.isAuthenticated, preventAutoRedirectOnAuthStateChange: false});\r\n\r\n AuthStore.setMsalRedirectPromiseInProgress(true);\r\n msalInstance.handleRedirectPromise()\r\n .then(redirectPromiseResponse => {\r\n if (redirectPromiseResponse !== null) {\r\n this.isAuthenticated = !!redirectPromiseResponse.account;\r\n\r\n // Get the custom state from the response which we stored prior to signin \r\n const stateJsonObject = redirectPromiseResponse.state?.trim().startsWith(\"{\") && redirectPromiseResponse.state?.trim().endsWith(\"}\")\r\n ? JSON.parse(redirectPromiseResponse.state)\r\n : null;\r\n\r\n let newHref;\r\n let preventAutoRedirectOnAuthStateChange = false;\r\n if (stateJsonObject?.redirectUrl){\r\n const currentWindowLocation = window.location.origin;\r\n const redirectUrl = stateJsonObject.redirectUrl;\r\n if (redirectUrl && !this.isFileUrl(redirectUrl.toString())) {\r\n // We should redirect to new href, while preventing other redirects from triggering\r\n newHref = currentWindowLocation + redirectUrl;\r\n preventAutoRedirectOnAuthStateChange = true;\r\n }\r\n }\r\n AuthStore.setIsMsalAuthenticated({isAuthenticated: this.isAuthenticated, preventAutoRedirectOnAuthStateChange: false});\r\n \r\n if (newHref){\r\n // Run the actual redirect after setting the AuthStore state\r\n (window as any).location.href = newHref;\r\n }\r\n \r\n }\r\n })\r\n .catch(e => console.warn(e))\r\n .finally(() => AuthStore.setMsalRedirectPromiseInProgress(false))\r\n }\r\n\r\n public isFileUrl(url: string): boolean {\r\n const lastUrlPart = url.split('/').pop();\r\n return lastUrlPart ? lastUrlPart.indexOf('.') > -1 : false;\r\n }\r\n\r\n public async signIn(redirectUrl: string | (string | null)[]) {\r\n try {\r\n const loginRequest: msal.RedirectRequest = {\r\n scopes: [\"user.read\"],\r\n state: JSON.stringify({\r\n redirectUrl // custom state variable, stored as JSON\r\n }),\r\n redirectUri: this.pluginOptions.loginRedirectUri\r\n };\r\n // console.log('login request', loginRequest)\r\n return msalInstance.loginRedirect(loginRequest);\r\n } catch (err) {\r\n // do nothing\r\n }\r\n }\r\n\r\n public async signOut() {\r\n const currentAccount = msalInstance.getActiveAccount();\r\n return msalInstance.logoutRedirect({\r\n onRedirectNavigate: (url) => {\r\n document.location.href = this.pluginOptions.postLogoutRedirectUri;\r\n return false;\r\n },\r\n // account: currentAccount,\r\n // postLogoutRedirectUri: this.pluginOptions.postLogoutRedirectUri\r\n });\r\n }\r\n\r\n public async acquireToken() {\r\n // console.log(\"Calling MSALplugin acquireToken\");\r\n const request = {\r\n account: msalInstance.getAllAccounts()[0],\r\n scopes: [`${process.env.VUE_APP_MSAL_API_ACCESS_SCOPE}`]\r\n };\r\n try {\r\n const response = await msalInstance.acquireTokenSilent(request);\r\n return response.accessToken;\r\n } catch (error) {\r\n // console.log(\"catch acquireToken\", error);\r\n if (error instanceof msal.InteractionRequiredAuthError) {\r\n // fallback to interaction when silent call fails\r\n return msalInstance.acquireTokenRedirect(request);\r\n } else {\r\n console.warn(error); \r\n }\r\n }\r\n }\r\n\r\n private getIsAuthenticated(): boolean {\r\n const accounts: msal.AccountInfo[] = msalInstance.getAllAccounts();\r\n return accounts && accounts.length > 0;\r\n }\r\n}","import AuthStore from \"@/store/AuthStore\";\r\nimport { initializeApp } from \"@firebase/app\";\r\nimport * as firebase from \"firebase/auth\";\r\nimport { signInWithPopup, signInWithRedirect, getRedirectResult, signOut, setPersistence, browserLocalPersistence } from \"firebase/auth\";\r\nimport { GoogleAuthProvider } from \"firebase/auth\";\r\nimport Vue, { VueConstructor, PluginObject } from \"vue\";\r\n\r\ndeclare module \"vue/types/vue\" {\r\n interface Vue {\r\n $firebaseAuth: FirebaseAuthPlugin;\r\n }\r\n}\r\n\r\nexport interface FirebaseAuthPluginOptions {\r\n apiKey: string;\r\n authDomain: string;\r\n projectId: string;\r\n storageBucket: string;\r\n messagingSenderId: string;\r\n appId: string;\r\n}\r\n\r\nexport let firebaseAuthPluginInstance: FirebaseAuthPlugin;\r\n\r\nexport class FirebaseAuthPlugin implements PluginObject {\r\n private pluginOptions: FirebaseAuthPluginOptions = {\r\n apiKey: \"\",\r\n authDomain: \"\",\r\n projectId: \"\",\r\n storageBucket: \"\",\r\n messagingSenderId: \"\",\r\n appId: \"\"\r\n };\r\n\r\n public isAuthenticated = false;\r\n\r\n public install(vue: VueConstructor, options?: FirebaseAuthPluginOptions): void {\r\n if (!options) {\r\n throw new Error(\"FirebaseAuthPluginOptions must be specified\");\r\n }\r\n // console.log('registering a plugin, options:', options);\r\n this.pluginOptions = options;\r\n\r\n initializeApp(this.pluginOptions);\r\n this.getIsAuthenticated();\r\n \r\n AuthStore.setGoogleRedirectPromiseInProgress(true);\r\n const auth = firebase.getAuth();\r\n getRedirectResult(auth).then(redirectPromiseResponse => {\r\n if (redirectPromiseResponse !== null) {\r\n AuthStore.setIsGoogleAuthenticated(this.isAuthenticated);\r\n }\r\n })\r\n .catch(e => console.warn(e))\r\n .finally(() => AuthStore.setGoogleRedirectPromiseInProgress(false))\r\n\r\n firebaseAuthPluginInstance = this;\r\n vue.prototype.$firebaseAuth = Vue.observable(firebaseAuthPluginInstance);\r\n }\r\n\r\n public async signInWithGoogle() {\r\n const provider = new GoogleAuthProvider();\r\n provider.setCustomParameters({\r\n prompt: 'select_account'\r\n });\r\n\r\n const auth = firebase.getAuth();\r\n\r\n try {\r\n await signInWithRedirect(auth, provider)\r\n } catch (error: any) {\r\n const errorMessage = error.message;\r\n console.error(\"Error signing in with Google:\", errorMessage)\r\n return false\r\n }\r\n }\r\n\r\n public async signOutWithGoogle() {\r\n const auth = firebase.getAuth();\r\n try {\r\n await signOut(auth)\r\n } catch (err: any) {\r\n console.error(\"Signout error:\", err.message)\r\n } \r\n }\r\n\r\n public async getUserIdToken () {\r\n let token = null;\r\n const user = firebase.getAuth().currentUser;\r\n if (user) {\r\n token = await user.getIdToken();\r\n\r\n }\r\n return token ? token : \"\"\r\n }\r\n\r\n public getIsAuthenticated() {\r\n firebase.getAuth().onAuthStateChanged((user: any) => {\r\n if (user) {\r\n // User is present.\r\n this.isAuthenticated = true;\r\n }\r\n else {\r\n // User is not present.\r\n this.isAuthenticated = false\r\n } \r\n AuthStore.setIsGoogleAuthenticated(this.isAuthenticated);\r\n })\r\n }\r\n}\r\n","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport store from './store'\r\nimport vuetify from './plugins/vuetify'\r\nimport { MsalPlugin, MsalPluginOptions } from '@/plugins/msalPlugin';\r\nimport ApiService from './services/ApiService';\r\nimport { FirebaseAuthPlugin, FirebaseAuthPluginOptions } from './plugins/firebaseAuthPlugin'\r\n\r\nVue.config.productionTip = false\r\n\r\nconst options: MsalPluginOptions = {\r\n clientId: process.env.VUE_APP_MSAL_CLIENT_ID ?? \"\",\r\n loginAuthority: process.env.VUE_APP_MSAL_LOGIN_AUTHORITY ?? \"\",\r\n cacheLocation: 'localStorage',\r\n postLogoutRedirectUri: window.location.origin,\r\n loginRedirectUri: window.location.origin\r\n};\r\n\r\nVue.use(new MsalPlugin(), options);\r\n\r\nconst enableGoogleLogin = process.env.VUE_APP_USE_GOOGLE_AUTH === \"true\";\r\n\r\nif (enableGoogleLogin) {\r\n // Firebase configuration\r\n const firebaseConfig: FirebaseAuthPluginOptions = {\r\n apiKey: process.env.VUE_APP_FIREBASE_API_KEY as string,\r\n authDomain: window.location.host,\r\n projectId: process.env.VUE_APP_FIREBASE_PROJECT_ID as string,\r\n storageBucket: process.env.VUE_APP_FIREBASE_STORAGE_BUCKET as string,\r\n messagingSenderId: process.env.VUE_APP_FIREBASE_MESSAGING_SENDER_ID as string,\r\n appId: process.env.VUE_APP_FIREBASE_APP_ID as string,\r\n };\r\n\r\n Vue.use(new FirebaseAuthPlugin(), firebaseConfig)\r\n}\r\n\r\nApiService.EnableCustomInterceptors(Vue.prototype.$msal, router);\r\n\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n vuetify,\r\n render: h => h(App)\r\n}).$mount('#app')\r\n","export enum SnackbarNotificationType {\r\n Default = 0,\r\n Error,\r\n Success,\r\n Warning\r\n}\r\n\r\nexport default class SnackbarNotification {\r\n id = \"\";\r\n type = SnackbarNotificationType.Default;\r\n message = \"\";\r\n color = \"\";\r\n\r\n constructor(type: SnackbarNotificationType, message: string) {\r\n this.id = SnackbarNotification.generateUniqueId();\r\n this.message = message;\r\n if (type === SnackbarNotificationType.Error) {\r\n this.color = 'error';\r\n } else if (type === SnackbarNotificationType.Success) {\r\n this.color = 'success';\r\n } else if (type === SnackbarNotificationType.Warning) {\r\n this.color = 'warning';\r\n } else {\r\n this.color = 'primary';\r\n }\r\n }\r\n\r\n static generateUniqueId(): string {\r\n return 'item_' + Math.random().toString(36).substr(2, 9);\r\n }\r\n}","export default abstract class BaseService {\r\n\r\n static frontendRootPath = process.env.VUE_APP_FRONTEND_PATH && process.env.VUE_APP_FRONTEND_PATH != 'undefined'\r\n ? process.env.VUE_APP_FRONTEND_PATH \r\n : process.env.NODE_ENV === \"production\" \r\n ? \"\"\r\n : \"/front\";\r\n\r\n static externalApiURL: string = process.env.VUE_APP_API_HOST\r\n ? process.env.VUE_APP_API_HOST\r\n : process.env.NODE_ENV === \"production\" ? \"\" : \"https://localhost:5001\";\r\n\r\n\r\n static externalApiBaseURL: string = BaseService.externalApiURL + \"\";\r\n\r\n static baseURL: string = (\r\n process.env.VUE_APP_FRONTEND_PATH\r\n ? process.env.VUE_APP_FRONTEND_PATH \r\n : \"\"\r\n ) + \"/mockApi\";\r\n}\r\n","import { MsalPlugin } from \"@/plugins/msalPlugin\";\r\nimport AuthStore from \"@/store/AuthStore\";\r\nimport Axios, { AxiosResponse } from \"axios\";\r\nimport BaseService from './BaseService';\r\nimport VueRouter from \"vue-router\";\r\nimport * as firebase from \"firebase/auth\";\r\nimport AuthService from \"./AuthService\";\r\n\r\nexport default class ApiService extends BaseService {\r\n public static EnableCustomInterceptors(msalPlugin: MsalPlugin, router: VueRouter): void {\r\n ApiService.EnableCustomRequestInterceptor(msalPlugin);\r\n ApiService.EnableCustomResponseInterceptor(msalPlugin, router);\r\n }\r\n\r\n public static EnableCustomRequestInterceptor(msalPlugin: MsalPlugin): void {\r\n Axios.interceptors.request.use(async requestConfig => {\r\n const isRenewTokensUrl = AuthService.isRenewTokensUrl(requestConfig.url);\r\n \r\n if (!AuthStore.isAuthenticated || isRenewTokensUrl) {\r\n return requestConfig;\r\n }\r\n \r\n let token = null;\r\n \r\n if (AuthStore.isMsalAuthenticated) {\r\n token = await msalPlugin.acquireToken();\r\n }\r\n \r\n if (AuthStore.isGoogleAuthenticated) {\r\n const user = await firebase.getAuth().currentUser;\r\n if (user) {\r\n token = await user.getIdToken();\r\n }\r\n }\r\n \r\n if (AuthStore.isCustomAuthenticated) {\r\n const tokenIsValid = AuthService.isAccessTokenValid();\r\n if (tokenIsValid) {\r\n token = AuthStore.accessToken?.token;\r\n } else {\r\n // NOTE: don't renew auth token for now\r\n // try {\r\n // await AuthStore.renewAuthTokens();\r\n // token = AuthStore.accessToken?.token;\r\n // } catch(e) {\r\n // return Promise.reject('Error when trying to renew auth tokens in the background.');\r\n // }\r\n }\r\n }\r\n \r\n if (token) {\r\n (requestConfig as any).headers['Authorization'] = 'Bearer ' + token;\r\n }\r\n \r\n return requestConfig;\r\n }, async (error) => {\r\n Promise.reject(error);\r\n });\r\n }\r\n\r\n public static EnableCustomResponseInterceptor(msalPlugin: MsalPlugin, router: VueRouter): void {\r\n Axios.interceptors.response.use(response => {\r\n return response;\r\n }, async (error) => {\r\n if (!error.response || error.response.status !== 401 || !AuthStore.isAuthenticated) {\r\n return Promise.reject(error);\r\n }\r\n \r\n return Promise.reject(error);\r\n });\r\n }\r\n\r\n public static async getMock(path: string): Promise {\r\n return await Axios.get(BaseService.baseURL + path + \".json\");\r\n }\r\n\r\n public static async get(path: string): Promise {\r\n return await Axios.get(BaseService.externalApiBaseURL + path, { withCredentials: true });\r\n }\r\n\r\n public static async post(path: string, data?: any): Promise> {\r\n return await Axios.post(BaseService.externalApiBaseURL + path, data, { \r\n withCredentials: true, \r\n headers: {\r\n 'Content-Type': 'application/json'\r\n } \r\n });\r\n }\r\n\r\n public static async delete(path: string): Promise {\r\n return await Axios.delete(BaseService.externalApiBaseURL + path, { withCredentials: true });\r\n }\r\n\r\n public static async put(path: string, data?: any): Promise> {\r\n return await Axios.put(BaseService.externalApiBaseURL + path, data, { \r\n withCredentials: true, \r\n headers: {\r\n 'Content-Type': 'application/json'\r\n } \r\n });\r\n }\r\n\r\n public static async postFiles(path: string, data?: any): Promise> {\r\n return await Axios.post(BaseService.externalApiBaseURL + path, data, { \r\n withCredentials: true, \r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n } \r\n });\r\n }\r\n}\r\n","import AuthStore from \"@/store/AuthStore\";\r\nimport Vue from 'vue';\r\n\r\nexport default class AuthService {\r\n public static isAccessTokenValid = () => {\r\n const accessToken = AuthStore.accessToken;\r\n if (!accessToken) return false;\r\n\r\n const currTimestamp = Date.now();\r\n\r\n const nowDate = new Date(currTimestamp);\r\n const expiresAtDate = new Date(accessToken.expiresAt);\r\n\r\n const differenceBetweenDatesInSec = (+expiresAtDate - +nowDate) / 1000;\r\n\r\n // this method returns false 30sec before the actual expiration just to have some buffer\r\n return differenceBetweenDatesInSec > 30;\r\n }\r\n\r\n public static isRenewTokensUrl = (url: string | undefined) => {\r\n return url ? url.toLowerCase().includes(\"/account/renewtokens\") : false;\r\n }\r\n \r\n public static async signoutFromApp() {\r\n await AuthStore.resetFrontendAccess();\r\n\r\n if (AuthStore.isMsalAuthenticated) {\r\n await Vue.prototype.$msal.signOut();\r\n }\r\n\r\n // if (AuthStore.isGoogleAuthenticated) {\r\n // await Vue.prototype.$firebaseAuth.signOutWithGoogle();\r\n // }\r\n\r\n if (AuthStore.isCustomAuthenticated) {\r\n await AuthStore.resetAuthTokens();\r\n }\r\n\r\n (window as any).location.href = window.location.origin;\r\n }\r\n}","export default class AccessToken {\r\n token: string;\r\n expiresAt: Date;\r\n\r\n constructor() {\r\n }\r\n\r\n public static fromApi (data: any): AccessToken {\r\n const model: AccessToken = new AccessToken();\r\n model.token = data.token;\r\n model.expiresAt = data.expiresAt;\r\n \r\n return model;\r\n }\r\n}\r\n","export default class CreatePasswordResetResponse {\r\n passwordResetCreated: boolean;\r\n emailSent: boolean;\r\n\r\n constructor() {}\r\n\r\n public static fromApi (data: any): CreatePasswordResetResponse {\r\n const model: CreatePasswordResetResponse = new CreatePasswordResetResponse();\r\n model.passwordResetCreated = data.passwordResetCreated;\r\n model.emailSent = data.emailSent;\r\n \r\n return model;\r\n }\r\n}\r\n","export default class AppException {\r\n message: string;\r\n code: string;\r\n httpStatusCode: number;\r\n\r\n constructor(message = \"\", code = \"\", httpStatusCode = 0) {\r\n this.message = message;\r\n this.code = code;\r\n this.httpStatusCode = httpStatusCode;\r\n }\r\n}","import { Module, VuexModule, Mutation, Action, getModule } from 'vuex-module-decorators'\r\nimport store, { localStorageKey, readFromLocalStorage, saveToLocalStorage } from '@/store';\r\nimport AuthTokenExchange from '@/models/AuthTokenExchange';\r\nimport AuthenticateRequest from '@/models/AuthenticateRequest';\r\nimport ApiService from '@/services/ApiService';\r\nimport PasswordRegisterRequest from '@/models/PasswordRegisterRequest';\r\nimport AccessToken from '@/models/AccessToken';\r\nimport PasswordResetRequest from '@/models/PasswordResetRequest';\r\nimport InviteRegisterRequest from '@/models/InviteRegisterRequest';\r\nimport CreatePasswordResetResponse from '@/models/CreatePasswordResetResponse';\r\nimport NotificationStore from './NotificationStore';\r\nimport SnackbarNotification, { SnackbarNotificationType } from '@/models/SnackbarNotification';\r\nimport router from '@/router'\r\nimport Routes from '@/Routes';\r\nimport ConfirmAccountRequest from '@/models/ConfirmAccountRequest';\r\nimport GoogleAuthTokenVerifyRequest from '@/models/GoogleAuthTokenVerifyRequest';\r\nimport AuthenticateWithEmailAndLoginCodeRequest from '@/models/AuthenticateWithEmailAndLoginCodeRequest';\r\nimport AuthService from '@/services/AuthService';\r\nimport EmailWithLoginCodeUserRegisterRequest from '@/models/EmailWithLoginCodeUserRegisterRequest';\r\nimport AppException from '@/models/AppException';\r\n\r\nexport interface IAuthStoreState {\r\n useInvitationCodes: boolean;\r\n accessToken: AccessToken | null;\r\n isMsalAuthenticated: boolean;\r\n isGoogleAuthenticated: boolean;\r\n msalRedirectPromiseInProgress: boolean;\r\n googleRedirectPromiseInProgress: boolean;\r\n preventAutoRedirectOnAuthStateChange: boolean;\r\n}\r\n\r\nexport interface ICredentials {\r\n email: string;\r\n}\r\n\r\nexport class PasswordResetTokenExistsException {\r\n message: string;\r\n\r\n constructor(message: string) {\r\n this.message = message;\r\n }\r\n}\r\n\r\n// Hack due to issues\r\n// https://github.com/championswimmer/vuex-module-decorators/issues/131\r\n// https://github.com/championswimmer/vuex-module-decorators/issues/189\r\n\r\nconst name = 'auth';\r\nif (store && store.state[name]) {\r\n try{\r\n store.unregisterModule(name);\r\n } catch (e){\r\n console.warn(\"Unregister store module workaround error, ignoring ...\")\r\n }\r\n}\r\n\r\n@Module({\r\n dynamic: true,\r\n namespaced: true,\r\n store,\r\n name\r\n})\r\nexport class AuthStoreModule extends VuexModule implements IAuthStoreState {\r\n static modulePath = \"auth\";\r\n static baseURL = \"/account\";\r\n readonly useInvitationCodes: boolean = process.env.VUE_APP_USE_INVITATION_CODES === \"true\";\r\n accessToken: AccessToken | null = readFromLocalStorage(\"accessToken\", null, AuthStoreModule.modulePath);\r\n isMsalAuthenticated = false;\r\n isGoogleAuthenticated = false;\r\n msalRedirectPromiseInProgress = false;\r\n googleRedirectPromiseInProgress = false;\r\n preventAutoRedirectOnAuthStateChange = true;\r\n\r\n static handleError(err: any) {\r\n const errString = err.toString();\r\n NotificationStore.addSnackbarNotification(new SnackbarNotification(SnackbarNotificationType.Error, errString));\r\n console.error(err);\r\n }\r\n\r\n get isAuthenticated(): boolean {\r\n return this.isMsalAuthenticated || (this.isCustomAuthenticated && AuthService.isAccessTokenValid()) || this.isGoogleAuthenticated;\r\n }\r\n\r\n get isCustomAuthenticated(): boolean {\r\n return !!this.accessToken;\r\n }\r\n\r\n @Action\r\n async renewAuthTokens() {\r\n const path = AuthStoreModule.baseURL + \"/renewTokens\";\r\n try {\r\n const authResponse = await ApiService.get(path);\r\n if (authResponse && (authResponse.status === 201 || authResponse.status === 200)) {\r\n this.RENEW_AUTH_TOKENS(authResponse.data);\r\n } else {\r\n throw new Error('Error when assigning auth tokens');\r\n }\r\n } catch (ex) {\r\n throw ex;\r\n }\r\n }\r\n @Action\r\n async signIn(authenticateRequest: AuthenticateRequest) {\r\n const path = AuthStoreModule.baseURL + \"/signIn\";\r\n try {\r\n const authResponse = await ApiService.post(path, authenticateRequest);\r\n if (authResponse && (authResponse.status === 201 || authResponse.status === 200)) {\r\n this.RENEW_AUTH_TOKENS(authResponse.data);\r\n } else {\r\n throw new Error('Error when assigning auth tokens');\r\n }\r\n } catch (ex) {\r\n throw ex;\r\n }\r\n }\r\n @Action\r\n async registerWithInvite(registerRequest: InviteRegisterRequest): Promise {\r\n const path = AuthStoreModule.baseURL + \"/registerWithInvite\";\r\n try {\r\n const authResponse = await ApiService.post(path, registerRequest);\r\n if (authResponse && (authResponse.status === 201 || authResponse.status === 200)) {\r\n this.RENEW_AUTH_TOKENS(authResponse.data);\r\n return true;\r\n } else {\r\n throw new Error('Error when assigning auth tokens');\r\n }\r\n } catch (ex) {\r\n AuthStoreModule.handleError(ex);\r\n return false;\r\n }\r\n }\r\n\r\n @Action \r\n async checkIfUserExists(request: string) {\r\n const path = AuthStoreModule.baseURL + \"/userExists/\" + request;\r\n\r\n try {\r\n const response = await ApiService.get(path);\r\n if (response && (response.status === 201 || response.status === 200)) {\r\n return response.data;\r\n } \r\n } catch (ex) {\r\n \r\n }\r\n }\r\n\r\n @Action\r\n async createEmailLoginCode(request: string) {\r\n const path = AuthStoreModule.baseURL + \"/createEmailLoginCode\";\r\n\r\n try {\r\n const response = await ApiService.post(path, request);\r\n return true;\r\n } catch (ex) {\r\n AuthStoreModule.handleError(ex);\r\n return false;\r\n }\r\n }\r\n\r\n @Action\r\n async signInWithEmailAndLoginCode(request: AuthenticateWithEmailAndLoginCodeRequest) {\r\n const path = AuthStoreModule.baseURL + \"/signInWithEmailAndLoginCode\";\r\n try {\r\n const authResponse = await ApiService.post(path, request);\r\n if (authResponse && (authResponse.status === 201 || authResponse.status === 200)) {\r\n this.RENEW_AUTH_TOKENS(authResponse.data);\r\n return true;\r\n }\r\n } catch (ex) {\r\n const httpErrorCode = (ex as any).response.status\r\n const errString = (ex as any).response.data.error.message\r\n const errCode = (ex as any).response.data.error.code\r\n AuthStoreModule.handleError(errString);\r\n if (errCode && errCode === \"LoginCodeExpired\") {\r\n return new AppException(errString, errCode, httpErrorCode);\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n @Action\r\n async registerWithEmailAndLoginCode(request: EmailWithLoginCodeUserRegisterRequest) {\r\n const path = AuthStoreModule.baseURL + \"/registerEmailWithLoginCodeUser\";\r\n try {\r\n const authResponse = await ApiService.post(path, request);\r\n if (authResponse && (authResponse.status === 201 || authResponse.status === 200)) {\r\n this.RENEW_AUTH_TOKENS(authResponse.data);\r\n return true;\r\n }\r\n } catch (ex) {\r\n const httpErrorCode = (ex as any).response.status\r\n const errString = (ex as any).response.data.error.message\r\n const errCode = (ex as any).response.data.error.code\r\n AuthStoreModule.handleError(errString);\r\n if (errCode && errCode === \"LoginCodeExpired\") {\r\n return new AppException(errString, errCode, httpErrorCode);\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n @Mutation\r\n RENEW_AUTH_TOKENS(data: AuthTokenExchange) {\r\n this.accessToken = AccessToken.fromApi(data.accessToken);\r\n saveToLocalStorage(\"accessToken\", this.accessToken, AuthStoreModule.modulePath);\r\n }\r\n\r\n @Mutation\r\n RESET_AUTH_TOKENS() {\r\n this.accessToken = null;\r\n console.log(\"RESET_AUTH_TOKENS\", this.accessToken)\r\n saveToLocalStorage(\"accessToken\", this.accessToken, AuthStoreModule.modulePath);\r\n }\r\n @Action\r\n resetAuthTokens() {\r\n this.RESET_AUTH_TOKENS();\r\n }\r\n\r\n @Mutation\r\n SET_IS_MSAL_AUTHENTICATED(data: {isAuthenticated: boolean, preventAutoRedirectOnAuthStateChange: boolean}) {\r\n this.preventAutoRedirectOnAuthStateChange = data.preventAutoRedirectOnAuthStateChange;\r\n this.isMsalAuthenticated = data.isAuthenticated;\r\n }\r\n @Action\r\n setIsMsalAuthenticated(data: {isAuthenticated: boolean, preventAutoRedirectOnAuthStateChange: boolean}) {\r\n this.SET_IS_MSAL_AUTHENTICATED(data);\r\n }\r\n\r\n @Mutation\r\n SET_REDIRECT_PROMISE_IN_PROGRESS(val: boolean) {\r\n this.msalRedirectPromiseInProgress = val;\r\n }\r\n @Action\r\n setMsalRedirectPromiseInProgress(val: boolean) {\r\n this.SET_REDIRECT_PROMISE_IN_PROGRESS(val);\r\n }\r\n\r\n @Mutation\r\n SET_GOOGLE_AUTH_CHECK_IN_PROGRESS(val: boolean) {\r\n this.googleRedirectPromiseInProgress = val;\r\n }\r\n @Action\r\n setGoogleRedirectPromiseInProgress(val: boolean) {\r\n this.SET_GOOGLE_AUTH_CHECK_IN_PROGRESS(val);\r\n }\r\n\r\n @Action\r\n async sendPasswordRecoveryEmail(email: string): Promise {\r\n const path = AuthStoreModule.baseURL + \"/forgotPassword?email=\" + email;\r\n try {\r\n const axiosResponse = await ApiService.get(path);\r\n const response = CreatePasswordResetResponse.fromApi(axiosResponse.data);\r\n return response;\r\n } catch (ex: any) {\r\n if (ex.response?.status === 409) {\r\n const message = ex.response?.data ?? \"\";\r\n return new PasswordResetTokenExistsException(message);\r\n }\r\n return null;\r\n }\r\n }\r\n\r\n @Action\r\n async resendPasswordRecoveryEmail(email: string): Promise {\r\n const path = AuthStoreModule.baseURL + \"/resendResetPasswordEmail?email=\" + email;\r\n try {\r\n const axiosResponse = await ApiService.get(path);\r\n if (axiosResponse && (axiosResponse.status === 201 || axiosResponse.status === 200)) {\r\n return true;\r\n }\r\n return false;\r\n } catch (ex) {\r\n console.error('There was a problem sending password recovery email.', ex);\r\n return false;\r\n }\r\n }\r\n\r\n @Action\r\n async validatePasswordResetToken(resetToken: string): Promise {\r\n const path = AuthStoreModule.baseURL + \"/validatePasswordResetToken?token=\" + resetToken;\r\n try {\r\n const authResponse = await ApiService.get(path);\r\n if (authResponse && (authResponse.status === 201 || authResponse.status === 200)) {\r\n return true;\r\n }\r\n return false;\r\n } catch (ex) {\r\n console.error(ex);\r\n return false;\r\n }\r\n }\r\n\r\n @Action\r\n async resetPassword(resetRequest: PasswordResetRequest): Promise {\r\n const path = AuthStoreModule.baseURL + \"/resetPassword\";\r\n try {\r\n const authResponse = await ApiService.post(path, resetRequest);\r\n if (authResponse && (authResponse.status === 201 || authResponse.status === 200)) {\r\n return true;\r\n }\r\n return false;\r\n } catch (ex) {\r\n AuthStoreModule.handleError(\"There was a problem updating the password. Check if your link is still valid and passwords are correct.\");\r\n return false;\r\n }\r\n }\r\n\r\n @Action\r\n async getFrontendAccess(): Promise {\r\n const path = \"/api/user/frontendAccess\";\r\n try {\r\n await ApiService.get(path);\r\n return true;\r\n } catch (err: any) {\r\n if (err.response?.data?.error?.code && err.response?.data?.error?.code === \"AccessDenied\") {\r\n AuthStoreModule.handleError(err.response?.data?.error?.message);\r\n } else {\r\n AuthStoreModule.handleError(\"Error when getting access to the application.\");\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n @Action\r\n async resetFrontendAccess() {\r\n const path = \"/api/user/resetFrontendAccess\";\r\n try {\r\n await ApiService.get(path);\r\n } catch (ex: any) {\r\n console.error(ex);\r\n }\r\n }\r\n\r\n @Mutation\r\n SET_IS_GOOGLE_AUTHENTICATED(val: boolean) {\r\n this.isGoogleAuthenticated = val;\r\n }\r\n\r\n @Action\r\n setIsGoogleAuthenticated(val: boolean) {\r\n this.SET_IS_GOOGLE_AUTHENTICATED(val);\r\n }\r\n\r\n @Action\r\n async verifyGoogleAuthToken(verifyTokenRequest: GoogleAuthTokenVerifyRequest) {\r\n const path = AuthStoreModule.baseURL + \"/verifyGoogleAuthToken\";\r\n try {\r\n const response = await ApiService.post(path, verifyTokenRequest)\r\n if (response && (response.status === 201 || response.status === 200)) {\r\n this.SET_IS_GOOGLE_AUTHENTICATED(true)\r\n return true\r\n }\r\n return false\r\n \r\n } catch (ex: any) {\r\n console.error(ex.message)\r\n return false\r\n }\r\n }\r\n\r\n @Action\r\n async confirmAccount(data: ConfirmAccountRequest): Promise {\r\n const path = \"/api/account/confirmAccount\";\r\n try {\r\n await ApiService.post(path, data);\r\n return true;\r\n } catch (err: any) {\r\n console.error(err);\r\n AuthStoreModule.handleError(\"Error when confirming the account. Invitation code could be invalid, expired or already used.\");\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nconst AuthStore = getModule(AuthStoreModule);\r\nexport default AuthStore;","import { Module, VuexModule, Mutation, Action, getModule } from 'vuex-module-decorators'\r\nimport store from '@/store';\r\nimport SnackbarNotification from '@/models/SnackbarNotification';\r\n\r\nexport interface INotificationStoreState {\r\n snackbarNotifications: SnackbarNotification[];\r\n} \r\n\r\n// Hack due to issues\r\n// https://github.com/championswimmer/vuex-module-decorators/issues/131\r\n// https://github.com/championswimmer/vuex-module-decorators/issues/189\r\nconst name = 'notification'\r\nif (store && store.state[name]) {\r\n store.unregisterModule(name)\r\n}\r\n\r\n@Module({ dynamic: true, namespaced: true, store, name })\r\nexport class NotificationStoreModule extends VuexModule implements INotificationStoreState {\r\n snackbarNotifications: SnackbarNotification[] = [];\r\n maxNotificationsVisible = 1;\r\n\r\n @Mutation\r\n private ADD_SNACKBAR_NOTIFICATION(notification: SnackbarNotification) {\r\n this.snackbarNotifications.push(notification);\r\n }\r\n @Action\r\n public addSnackbarNotification(notification: SnackbarNotification) {\r\n if (this.snackbarNotifications.length >= this.maxNotificationsVisible) {\r\n return;\r\n }\r\n this.ADD_SNACKBAR_NOTIFICATION(notification);\r\n }\r\n\r\n @Mutation\r\n private REMOVE_SNACKBAR_NOTIFICATION(notificationId: string) {\r\n const notificationIndex = this.snackbarNotifications.findIndex(n => n.id === notificationId);\r\n\r\n if (notificationIndex > -1) {\r\n this.snackbarNotifications.splice(notificationIndex, 1);\r\n }\r\n }\r\n @Action\r\n public removeSnackbarNotification(notificationId: string) {\r\n this.REMOVE_SNACKBAR_NOTIFICATION(notificationId);\r\n }\r\n}\r\n\r\nconst NotificationStore = getModule(NotificationStoreModule);\r\nexport default NotificationStore;\r\n","import Vue from \"vue\";\r\nimport Vuex from \"vuex\";\r\nimport _ from 'lodash';\r\nimport { IAuthStoreState } from \"./AuthStore\";\r\nimport { IInviteStoreState } from \"./InviteStore\";\r\nimport { config } from 'vuex-module-decorators'\r\nimport { INotificationStoreState } from \"./NotificationStore\";\r\n\r\n// Set rawError to true by default on all @Action decorators\r\nconfig.rawError = true\r\n\r\nVue.use(Vuex);\r\n\r\nexport interface IRootState {\r\n auth: IAuthStoreState;\r\n invite: IInviteStoreState;\r\n notification: INotificationStoreState;\r\n}\r\n\r\nexport const localStorageKey = \"bitville-translation-app-vuex-ls\";\r\n\r\nconst getLocalStorageData = (): object | null => {\r\n const localStorageDataJson = localStorage.getItem(localStorageKey)\r\n if (!localStorageDataJson){\r\n return null;\r\n }\r\n let localStorageData: object | null = null;\r\n try {\r\n localStorageData = JSON.parse(localStorageDataJson);\r\n } catch (e){\r\n console.error(\"Error when parsing localStorage data as json:\", e);\r\n return null;\r\n }\r\n return localStorageData;\r\n}\r\n\r\nexport const readFromLocalStorage = (path: string, defaultValue: T, modulePath: string | undefined = undefined): T => {\r\n const localStorageData: object | null = getLocalStorageData();\r\n if (localStorageData === null){\r\n return defaultValue;\r\n }\r\n\r\n const pathWithModule = modulePath\r\n ? modulePath + \".\" + path\r\n : path;\r\n\r\n const pathData = _.get(localStorageData, pathWithModule);\r\n if (pathData === undefined) {\r\n console.warn(\"Value for\", path, \" was not found in localStorage data\");\r\n return defaultValue;\r\n }\r\n return pathData;\r\n}\r\n\r\nexport const saveToLocalStorage = (path: string, value: T, modulePath: string | undefined = undefined) => {\r\n let localStorageData: object | null = getLocalStorageData();\r\n if (localStorageData === null){\r\n localStorageData = {};\r\n }\r\n const pathWithModule = modulePath\r\n ? modulePath + \".\" + path\r\n : path;\r\n\r\n _.set(localStorageData, pathWithModule, value);\r\n const updatedLocalStorageDataJson: string = JSON.stringify(localStorageData);\r\n localStorage.setItem(localStorageKey, updatedLocalStorageDataJson);\r\n}\r\n\r\n// Declare empty store first, dynamically register all modules later.\r\nexport default new Vuex.Store({ });\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\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 + \".\" + {\"72\":\"ef07c69b\",\"96\":\"8828ad79\"}[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 + \".\" + {\"72\":\"fad12268\",\"96\":\"026ef1e4\"}[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 = \"bv-translation-app:\";\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\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 = {\"72\":1,\"96\":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[\"webpackChunkbv_translation_app\"] = self[\"webpackChunkbv_translation_app\"] || [];\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, [999], function() { return __webpack_require__(7254); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","_setupProxy","staticClass","class","color","size","formButton","pulsing","fullWidth","loading","disabled","keepHover","fullyTransparent","on","$event","preventDefault","onButtonClick","apply","arguments","_t","text","_v","_s","_e","staticRenderFns","BitvilleButton","Vue","constructor","args","_defineProperty","$emit","__decorate","Prop","default","Component","name","component","gradient","fillHeight","attrs","SyllabellAppIcon","components","Routes","slug","path","redirect","meta","showAppBar","root","welcome","signin","legal","notFound","_setup","showPageLoading","_m","visibleLoadingText","PageLoading","loadingText","defaultLoadingText","snackbarNotifications","removeItem","item","absolute","right","top","scopedSlots","key","fn","closeButtonIcon","SnackbarQueue","undefined","onItemsChange","processItems","processing","items","Array","isArray","length","timeoutId","window","setTimeout","id","timeout","clearTimeout","Watch","required","Snackbar","NotificationStore","removeSnackbarNotification","AppEvents","onLoginButtonClick","AppBar","isAuthenticated","AuthStore","$root","REDIRECT_TO_FRONTEND","$router","push","App","onIsAuthenticatedChange","newVal","location","pathname","startsWith","preventAutoRedirectOnAuthStateChange","redirectToFrontend","onAuthCheckInProgressChange","authCheckInProgress","msalRedirectPromiseInProgress","googleRedirectPromiseInProgress","console","log","success","getFrontendAccess","currentWindowLocation","origin","redirectUrl","$route","query","newHref","isFileUrl","toString","href","created","$on","SIGNOUT_FROM_APP","signoutFromApp","beforeDestroy","$off","url","lastUrlPart","split","pop","indexOf","resetFrontendAccess","isMsalAuthenticated","$msal","signOut","isGoogleAuthenticated","$firebaseAuth","signOutWithGoogle","isCustomAuthenticated","resetAuthTokens","matched","some","r","immediate","use","Router","router","mode","routes","scrollBehavior","to","from","savedPosition","hash","selector","x","y","Vuetify","theme","themes","light","primary","secondary","accent","error","danger","info","warning","primaryTextColor","secondaryTextColor","darkGreen","orange","msalInstance","msalPluginInstance","MsalPlugin","clientId","loginAuthority","cacheLocation","postLogoutRedirectUri","loginRedirectUri","install","vue","options","Error","pluginOptions","initialize","prototype","observable","msalConfig","auth","authority","redirectUri","navigateToLoginRequestUrl","cache","system","loggerOptions","loggerCallback","level","message","containsPii","msal","Info","Verbose","Warning","piiLoggingEnabled","logLevel","getIsAuthenticated","setIsMsalAuthenticated","setMsalRedirectPromiseInProgress","handleRedirectPromise","then","redirectPromiseResponse","account","stateJsonObject","state","trim","endsWith","JSON","parse","catch","e","warn","finally","signIn","loginRequest","scopes","stringify","loginRedirect","err","getActiveAccount","logoutRedirect","onRedirectNavigate","document","acquireToken","request","getAllAccounts","response","acquireTokenSilent","accessToken","acquireTokenRedirect","accounts","firebaseAuthPluginInstance","FirebaseAuthPlugin","apiKey","authDomain","projectId","storageBucket","messagingSenderId","appId","initializeApp","setGoogleRedirectPromiseInProgress","firebase","getRedirectResult","setIsGoogleAuthenticated","signInWithGoogle","provider","GoogleAuthProvider","setCustomParameters","prompt","signInWithRedirect","errorMessage","getUserIdToken","token","user","currentUser","getIdToken","onAuthStateChanged","config","productionTip","process","enableGoogleLogin","firebaseConfig","host","ApiService","EnableCustomInterceptors","store","vuetify","h","$mount","SnackbarNotificationType","SnackbarNotification","type","Default","generateUniqueId","Success","Math","random","substr","BaseService","VUE_APP_FRONTEND_PATH","externalApiURL","msalPlugin","EnableCustomRequestInterceptor","EnableCustomResponseInterceptor","Axios","interceptors","async","isRenewTokensUrl","AuthService","requestConfig","tokenIsValid","isAccessTokenValid","headers","Promise","reject","status","getMock","get","baseURL","externalApiBaseURL","withCredentials","post","data","delete","put","postFiles","currTimestamp","Date","now","nowDate","expiresAtDate","expiresAt","differenceBetweenDatesInSec","toLowerCase","includes","AccessToken","fromApi","model","CreatePasswordResetResponse","passwordResetCreated","emailSent","AppException","code","httpStatusCode","PasswordResetTokenExistsException","unregisterModule","AuthStoreModule","_AuthStoreModule","VuexModule","readFromLocalStorage","AuthStoreModule_1","modulePath","handleError","errString","addSnackbarNotification","renewAuthTokens","authResponse","RENEW_AUTH_TOKENS","ex","authenticateRequest","registerWithInvite","registerRequest","checkIfUserExists","createEmailLoginCode","signInWithEmailAndLoginCode","httpErrorCode","errCode","registerWithEmailAndLoginCode","saveToLocalStorage","RESET_AUTH_TOKENS","SET_IS_MSAL_AUTHENTICATED","SET_REDIRECT_PROMISE_IN_PROGRESS","val","SET_GOOGLE_AUTH_CHECK_IN_PROGRESS","sendPasswordRecoveryEmail","email","axiosResponse","resendPasswordRecoveryEmail","validatePasswordResetToken","resetToken","resetPassword","resetRequest","SET_IS_GOOGLE_AUTHENTICATED","verifyGoogleAuthToken","verifyTokenRequest","confirmAccount","Action","Mutation","Module","dynamic","namespaced","getModule","NotificationStoreModule","ADD_SNACKBAR_NOTIFICATION","notification","maxNotificationsVisible","REMOVE_SNACKBAR_NOTIFICATION","notificationId","notificationIndex","findIndex","n","splice","rawError","Vuex","localStorageKey","getLocalStorageData","localStorageDataJson","localStorage","getItem","localStorageData","defaultValue","pathWithModule","pathData","_","value","updatedLocalStorageDataJson","setItem","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","loaded","__webpack_modules__","call","m","deferred","O","result","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","chunkId","all","reduce","promises","u","miniCssF","g","globalThis","Function","obj","prop","hasOwnProperty","inProgress","dataWebpackPrefix","l","done","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","doneFns","parentNode","removeChild","forEach","bind","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","p","createStylesheet","fullhref","oldTag","resolve","linkTag","rel","onLinkComplete","errorType","realHref","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","installedChunks","installedChunkData","promise","loadingEnded","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}