\n\n\n","import { render } from \"./Loading.vue?vue&type=template&id=4d9c871b&scoped=true\"\nconst script = {}\n\nimport \"./Loading.vue?vue&type=style&index=0&id=4d9c871b&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4d9c871b\"\n\nexport default script","\n\n","import script from \"./Api.vue?vue&type=script&lang=js\"\nexport * from \"./Api.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./DateTime.vue?vue&type=script&lang=js\"\nexport * from \"./DateTime.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Events.vue?vue&type=script&lang=js\"\nexport * from \"./Events.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Notification.vue?vue&type=script&lang=js\"\nexport * from \"./Notification.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Screen.vue?vue&type=script&lang=js\"\nexport * from \"./Screen.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Types.vue?vue&type=script&lang=js\"\nexport * from \"./Types.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Utils.vue?vue&type=script&lang=js\"\nexport * from \"./Utils.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Panel.vue?vue&type=style&index=0&id=6e3b2a94&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Loading.vue?vue&type=style&index=0&id=4d9c871b&lang=scss&scoped=true\"","\n \n \n \n \n\n \n\n\n\n\n\n\n","\n
\n \n \n
\n\n\n\n\n","\n
\n \n
\n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n\n\n\n\n","import { render } from \"./Notification.vue?vue&type=template&id=7646705e&scoped=true&bindings={\\\"id\\\":\\\"props\\\",\\\"text\\\":\\\"props\\\",\\\"html\\\":\\\"props\\\",\\\"title\\\":\\\"props\\\",\\\"image\\\":\\\"props\\\",\\\"link\\\":\\\"props\\\",\\\"error\\\":\\\"props\\\",\\\"warning\\\":\\\"props\\\",\\\"clicked\\\":\\\"options\\\"}\"\nimport script from \"./Notification.vue?vue&type=script&lang=js\"\nexport * from \"./Notification.vue?vue&type=script&lang=js\"\n\nimport \"./Notification.vue?vue&type=style&index=0&id=7646705e&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-7646705e\"\n\nexport default script","import { render } from \"./Notifications.vue?vue&type=template&id=6dc8bebc&scoped=true&bindings={\\\"duration\\\":\\\"props\\\",\\\"create\\\":\\\"options\\\",\\\"destroy\\\":\\\"options\\\"}\"\nimport script from \"./Notifications.vue?vue&type=script&lang=js\"\nexport * from \"./Notifications.vue?vue&type=script&lang=js\"\n\nimport \"./Notifications.vue?vue&type=style&index=0&id=6dc8bebc&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-6dc8bebc\"\n\nexport default script","\n \n\n\n\n","import { render } from \"./Events.vue?vue&type=template&id=f0cdf530&bindings={\\\"wsPort\\\":\\\"props\\\",\\\"ws\\\":\\\"data\\\",\\\"initialized\\\":\\\"data\\\",\\\"pending\\\":\\\"data\\\",\\\"opened\\\":\\\"data\\\",\\\"timeout\\\":\\\"data\\\",\\\"reconnectMsecs\\\":\\\"data\\\",\\\"handlers\\\":\\\"data\\\",\\\"handlerNameToEventTypes\\\":\\\"data\\\",\\\"onWebsocketTimeout\\\":\\\"options\\\",\\\"onMessage\\\":\\\"options\\\",\\\"onOpen\\\":\\\"options\\\",\\\"onError\\\":\\\"options\\\",\\\"onClose\\\":\\\"options\\\",\\\"init\\\":\\\"options\\\",\\\"subscribe\\\":\\\"options\\\",\\\"unsubscribe\\\":\\\"options\\\"}\"\nimport script from \"./Events.vue?vue&type=script&lang=js\"\nexport * from \"./Events.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n
\n \n
\n \n \n \n \n
\n\n
\n
\n Assistant listening\n
\n
\n \n
\n
\n \n
\n
\n \n
\n\n\n\n\n\n","import { render } from \"./VoiceAssistant.vue?vue&type=template&id=3f009270&bindings={\\\"responseText\\\":\\\"data\\\",\\\"phrase\\\":\\\"data\\\",\\\"hideTimeout\\\":\\\"data\\\",\\\"state\\\":\\\"data\\\",\\\"reset\\\":\\\"options\\\",\\\"conversationStart\\\":\\\"options\\\",\\\"conversationEnd\\\":\\\"options\\\",\\\"speechRecognized\\\":\\\"options\\\",\\\"response\\\":\\\"options\\\",\\\"alertOn\\\":\\\"options\\\",\\\"alertOff\\\":\\\"options\\\",\\\"registerHandlers\\\":\\\"options\\\"}\"\nimport script from \"./VoiceAssistant.vue?vue&type=script&lang=js\"\nexport * from \"./VoiceAssistant.vue?vue&type=script&lang=js\"\n\nimport \"./VoiceAssistant.vue?vue&type=style&index=0&lang=scss\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Pushbullet.vue?vue&type=template&id=bf9869d4&bindings={\\\"onMessage\\\":\\\"options\\\"}\"\nimport script from \"./Pushbullet.vue?vue&type=script&lang=js\"\nexport * from \"./Pushbullet.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","import { render } from \"./App.vue?vue&type=template&id=618fbb8c&bindings={\\\"config\\\":\\\"data\\\",\\\"userAuthenticated\\\":\\\"data\\\",\\\"hasWebsocket\\\":\\\"options\\\",\\\"hasAssistant\\\":\\\"options\\\",\\\"hasPushbullet\\\":\\\"options\\\",\\\"onNotification\\\":\\\"options\\\",\\\"initConfig\\\":\\\"options\\\"}\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&lang=scss\"\nscript.render = render\n\nexport default script","\n \n\n
\n \n \n \n \n \n \n \n
\n\n\n\n\n\n\n\n","\n
\n \n
\n\n\n\n\n\n","import { render } from \"./Row.vue?vue&type=template&id=1b4663f2&scoped=true&bindings={\\\"class\\\":\\\"props\\\",\\\"style\\\":\\\"props\\\",\\\"classes\\\":\\\"options\\\"}\"\nimport script from \"./Row.vue?vue&type=script&lang=js\"\nexport * from \"./Row.vue?vue&type=script&lang=js\"\n\nimport \"./Row.vue?vue&type=style&index=0&id=1b4663f2&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-1b4663f2\"\n\nexport default script","\n
\n \n
\n\n\n\n\n\n","import { render } from \"./Widget.vue?vue&type=template&id=8c529832&scoped=true&bindings={\\\"style\\\":\\\"props\\\",\\\"class\\\":\\\"props\\\",\\\"classes\\\":\\\"options\\\"}\"\nimport script from \"./Widget.vue?vue&type=script&lang=js\"\nexport * from \"./Widget.vue?vue&type=script&lang=js\"\n\nimport \"./Widget.vue?vue&type=style&index=0&id=8c529832&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-8c529832\"\n\nexport default script","import { render } from \"./Dashboard.vue?vue&type=template&id=0ba67711&scoped=true&bindings={\\\"refreshSeconds\\\":\\\"props\\\",\\\"rows\\\":\\\"data\\\",\\\"loading\\\":\\\"data\\\",\\\"style\\\":\\\"data\\\",\\\"class\\\":\\\"data\\\",\\\"classes\\\":\\\"options\\\",\\\"parseTemplate\\\":\\\"options\\\",\\\"refreshDashboard\\\":\\\"options\\\"}\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=js\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=0ba67711&lang=scss&scoped=true\"\nimport \"./Dashboard.vue?vue&type=style&index=1&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-0ba67711\"\n\nexport default script","\n
Object not found
\n\n\n\n\n","import { render } from \"./NotFound.vue?vue&type=template&id=49501f4d&bindings={}\"\nimport script from \"./NotFound.vue?vue&type=script&lang=js\"\nexport * from \"./NotFound.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n
\n \n
\n\n\n\n\n\n","import { render } from \"./Login.vue?vue&type=template&id=07800d9c&bindings={\\\"register\\\":\\\"props\\\",\\\"_register\\\":\\\"options\\\"}\"\nimport script from \"./Login.vue?vue&type=script&lang=js\"\nexport * from \"./Login.vue?vue&type=script&lang=js\"\n\nimport \"./Login.vue?vue&type=style&index=0&lang=scss\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Register.vue?vue&type=template&id=1244b238&bindings={\\\"register\\\":\\\"props\\\"}\"\nimport script from \"./Register.vue?vue&type=script&lang=js\"\nexport * from \"./Register.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n \n \n\n
\n
\n \n
\n
\n \n\n\n\n\n\n\n\n","\n \n\n\n\n\n\n\n","import { render } from \"./Nav.vue?vue&type=template&id=32a4118c&scoped=true&bindings={\\\"panels\\\":\\\"props\\\",\\\"selectedPanel\\\":\\\"props\\\",\\\"hostname\\\":\\\"props\\\",\\\"onItemClick\\\":\\\"options\\\",\\\"collapsed\\\":\\\"data\\\",\\\"icons\\\":\\\"data\\\",\\\"host\\\":\\\"data\\\"}\"\nimport script from \"./Nav.vue?vue&type=script&lang=js\"\nexport * from \"./Nav.vue?vue&type=script&lang=js\"\n\nimport \"./Nav.vue?vue&type=style&index=0&id=32a4118c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-32a4118c\"\n\nexport default script","import { render } from \"./Panel.vue?vue&type=template&id=6e3b2a94&scoped=true&bindings={\\\"loading\\\":\\\"data\\\",\\\"plugins\\\":\\\"data\\\",\\\"backends\\\":\\\"data\\\",\\\"procedures\\\":\\\"data\\\",\\\"components\\\":\\\"data\\\",\\\"hostname\\\":\\\"data\\\",\\\"selectedPanel\\\":\\\"data\\\",\\\"initSelectedPanel\\\":\\\"options\\\",\\\"initPanels\\\":\\\"options\\\",\\\"parseConfig\\\":\\\"options\\\"}\"\nimport script from \"./Panel.vue?vue&type=script&lang=js\"\nexport * from \"./Panel.vue?vue&type=script&lang=js\"\n\nimport \"./Panel.vue?vue&type=style&index=0&id=6e3b2a94&lang=scss&scoped=true\"\nimport \"./Panel.vue?vue&type=style&index=1&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-6e3b2a94\"\n\nexport default script","import { createWebHistory, createRouter } from \"vue-router\";\nimport Dashboard from \"@/views/Dashboard.vue\";\nimport NotFound from \"@/views/NotFound\";\nimport Login from \"@/views/Login\";\nimport Register from \"@/views/Register\";\nimport Panel from \"@/views/Panel\";\n\nconst routes = [\n {\n path: \"/\",\n name: \"Panel\",\n component: Panel,\n },\n\n {\n path: \"/dashboard/:name\",\n name: \"Dashboard\",\n component: Dashboard,\n },\n\n {\n path: \"/login\",\n name: \"Login\",\n component: Login,\n },\n\n {\n path: \"/register\",\n name: \"Register\",\n component: Register,\n },\n\n {\n path: \"/:catchAll(.*)\",\n component: NotFound,\n },\n];\n\nconst router = createRouter({\n history: createWebHistory(),\n routes,\n});\n\nexport default router;\n","import { createApp } from 'vue'\nimport App from '@/App.vue'\nimport router from '@/router'\n\nconst app = createApp(App)\napp.config.globalProperties._config = window.config\napp.use(router).mount('#app')\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./VoiceAssistant.vue?vue&type=style&index=0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Row.vue?vue&type=style&index=0&id=1b4663f2&lang=scss&scoped=true\"","\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n\n\n\n\n","import { render } from \"./Modal.vue?vue&type=template&id=422f1b1c&scoped=true&bindings={\\\"id\\\":\\\"props\\\",\\\"title\\\":\\\"props\\\",\\\"width\\\":\\\"props\\\",\\\"height\\\":\\\"props\\\",\\\"visible\\\":\\\"props\\\",\\\"timeout\\\":\\\"props\\\",\\\"level\\\":\\\"props\\\",\\\"timeoutId\\\":\\\"data\\\",\\\"prevVisible\\\":\\\"data\\\",\\\"isVisible\\\":\\\"data\\\",\\\"zIndex\\\":\\\"options\\\",\\\"close\\\":\\\"options\\\",\\\"show\\\":\\\"options\\\",\\\"toggle\\\":\\\"options\\\"}\"\nimport script from \"./Modal.vue?vue&type=script&lang=js\"\nexport * from \"./Modal.vue?vue&type=script&lang=js\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=422f1b1c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-422f1b1c\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dashboard.vue?vue&type=style&index=1&lang=css\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Modal.vue?vue&type=style&index=0&id=422f1b1c&lang=scss&scoped=true\"","var map = {\n\t\"./Calendar/Index\": [\n\t\t\"3c97\",\n\t\t\"chunk-62a3d08e\"\n\t],\n\t\"./DateTime/Index\": [\n\t\t\"365a\",\n\t\t\"chunk-4bbbb9a3\"\n\t],\n\t\"./DateTimeWeather/Index\": [\n\t\t\"3737\",\n\t\t\"chunk-4201fea8\",\n\t\t\"chunk-4bbbb9a3\",\n\t\t\"chunk-45939517\"\n\t],\n\t\"./ImageCarousel/Index\": [\n\t\t\"c845\",\n\t\t\"chunk-4201fea8\",\n\t\t\"chunk-4bbbb9a3\",\n\t\t\"chunk-24ff873d\"\n\t],\n\t\"./Music/Index\": [\n\t\t\"bcf7\",\n\t\t\"chunk-35b45d59\"\n\t],\n\t\"./Plugin/Index\": [\n\t\t\"dabe\",\n\t\t\"chunk-d8561e02\"\n\t],\n\t\"./RssNews/Index\": [\n\t\t\"c306\",\n\t\t\"chunk-e8078048\"\n\t],\n\t\"./Weather/Index\": [\n\t\t\"5b43\",\n\t\t\"chunk-4201fea8\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"cdb9\";\nmodule.exports = webpackAsyncContext;","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Panel.vue?vue&type=style&index=1&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Notification.vue?vue&type=style&index=0&id=7646705e&lang=scss&scoped=true\"","import mitt from 'mitt';\n\nconst bus = mitt();\n\nexport { bus };\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/app.9916f25f.js b/platypush/backend/http/dist/static/js/app.9916f25f.js
new file mode 100644
index 00000000..80b0ca14
--- /dev/null
+++ b/platypush/backend/http/dist/static/js/app.9916f25f.js
@@ -0,0 +1,2 @@
+(function(e){function t(t){for(var c,s,r=t[0],o=t[1],u=t[2],l=0,d=[];l1&&void 0!==arguments[1]?arguments[1]:6e4,c={};return"target"in e&&e["target"]||(e["target"]="localhost"),"type"in e&&e["type"]||(e["type"]="request"),n&&(c.timeout=n),new Promise((function(n,i){s.a.post("/execute",e,c).then((function(e){var c;if(e=e.data.response,null===(c=e.errors)||void 0===c?void 0:c.length){var s,a=(null===(s=e.errors)||void 0===s?void 0:s[0])||e;t.notify({text:a,error:!0}),i(a)}else n(e.output)})).catch((function(e){t.notify({text:e,error:!0}),i(e)}))}))},request:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:6e4;return this.execute({type:"request",action:e,args:t},n)}}},a=i,r=(n("99af"),{name:"DateTime",methods:{formatDate:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return"string"===typeof e&&(e=new Date(Date.parse(e))),e.toDateString().substring(0,t?15:10)},formatTime:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return"string"===typeof e&&(e=new Date(Date.parse(e))),e.toTimeString().substring(0,t?8:5)},formatDateTime:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return"string"===typeof e&&(e=new Date(Date.parse(e))),"".concat(this.formatDate(e,t),", ").concat(this.formatTime(e,n))}}}),o=r,u=(n("4160"),n("159b"),n("ddb0"),n("2909")),l=n("f5ef"),d={name:"Events",computed:{_eventsReady:function(){var e;return null===(e=this.$root.$refs.events)||void 0===e?void 0:e.initialized}},methods:{subscribe:function(e,t){for(var n=this,c=arguments.length,s=new Array(c>2?c-2:0),i=2;i1024&&(s===n.length-1?t=c:e/=1024)})),"".concat(e.toFixed(2)," ").concat(t)}}}),g=v,O={name:"Utils",mixins:[a,f,h,o,m,g]};t["a"]=O},4212:function(e,t,n){"use strict";n("6a4b")},"4f22":function(e,t,n){"use strict";n("6364")},5056:function(e){e.exports=JSON.parse('{"a":{"light.hue":{"class":"fas fa-lightbulb"},"media.omxplayer":{"class":"fa fa-film"},"media.mplayer":{"class":"fa fa-film"},"media.mpv":{"class":"fa fa-film"},"media.vlc":{"class":"fa fa-film"},"music.mpd":{"class":"fas fa-music"},"music.snapcast":{"class":"fa fa-volume-up"},"torrent":{"class":"fa fa-magnet"},"rtorrent":{"class":"fa fa-magnet"},"zigbee.mqtt":{"imgUrl":"/icons/zigbee.svg"}}}')},"56d7":function(e,t,n){"use strict";n.r(t);n("e260"),n("e6cf"),n("cca6"),n("a79d");var c=n("7a23");function s(e,t,n,s,i,a){var r=Object(c["z"])("Events"),o=Object(c["z"])("Notifications"),u=Object(c["z"])("VoiceAssistant"),l=Object(c["z"])("Pushbullet"),d=Object(c["z"])("router-view");return Object(c["r"])(),Object(c["e"])(c["a"],null,[a.hasWebsocket?(Object(c["r"])(),Object(c["e"])(r,{key:0,ref:"events","ws-port":i.config["backend.http"].websocket_port},null,8,["ws-port"])):Object(c["f"])("",!0),Object(c["h"])(o,{ref:"notifications"},null,512),a.hasAssistant?(Object(c["r"])(),Object(c["e"])(u,{key:1,ref:"voice-assistant"},null,512)):Object(c["f"])("",!0),a.hasPushbullet?(Object(c["r"])(),Object(c["e"])(l,{key:2,ref:"pushbullet"},null,512)):Object(c["f"])("",!0),Object(c["h"])(d)],64)}n("96cf");var i=n("1da1"),a=(n("9911"),Object(c["K"])("data-v-6dc8bebc"));Object(c["u"])("data-v-6dc8bebc");var r={class:"notifications"};Object(c["s"])();var o=a((function(e,t,n,s,i,a){var o=Object(c["z"])("Notification");return Object(c["r"])(),Object(c["e"])("div",r,[(Object(c["r"])(!0),Object(c["e"])(c["a"],null,Object(c["x"])(e.notifications,(function(e,t,n){return Object(c["r"])(),Object(c["e"])(o,{key:n,id:t,text:e.text,html:e.html,title:e.title,link:e.link,image:e.image,warning:e.warning,error:e.error,onClicked:a.destroy},null,8,["id","text","html","title","link","image","warning","error","onClicked"])})),128))])})),u=(n("a9e3"),Object(c["K"])("data-v-7646705e"));Object(c["u"])("data-v-7646705e");var l={class:"body"},d={key:0,class:"image col-3"},h={class:"row"},b={key:3,class:"fa fa-exclamation"},f={key:4,class:"fa fa-times"};Object(c["s"])();var p=u((function(e,t,n,s,i,a){return Object(c["r"])(),Object(c["e"])("div",{class:["notification fade-in",{warning:n.warning,error:n.error}],onClick:t[1]||(t[1]=function(){return a.clicked.apply(a,arguments)})},[n.title?(Object(c["r"])(),Object(c["e"])("div",{key:0,class:"title",textContent:Object(c["C"])(n.title)},null,8,["textContent"])):Object(c["f"])("",!0),Object(c["h"])("div",l,[n.image||n.warning||n.error?(Object(c["r"])(),Object(c["e"])("div",d,[Object(c["h"])("div",h,[n.image&&n.image.src?(Object(c["r"])(),Object(c["e"])("img",{key:0,src:n.image.src,alt:""},null,8,["src"])):n.image&&n.image.icon?(Object(c["r"])(),Object(c["e"])("i",{key:1,class:["fa","fa-"+n.image.icon],style:n.image.color?"--color: "+n.image.color:""},null,6)):n.image&&n.image.iconClass?(Object(c["r"])(),Object(c["e"])("i",{key:2,class:n.image.iconClass,style:n.image.color?"--color: "+n.image.color:""},null,6)):n.warning?(Object(c["r"])(),Object(c["e"])("i",b)):n.error?(Object(c["r"])(),Object(c["e"])("i",f)):Object(c["f"])("",!0)])])):Object(c["f"])("",!0),n.text&&n.image?(Object(c["r"])(),Object(c["e"])("div",{key:1,class:"text col-9",textContent:Object(c["C"])(n.text)},null,8,["textContent"])):Object(c["f"])("",!0),n.html&&n.image?(Object(c["r"])(),Object(c["e"])("div",{key:2,class:"text col-9",innerHTML:n.html},null,8,["innerHTML"])):Object(c["f"])("",!0),n.text&&!n.image?(Object(c["r"])(),Object(c["e"])("div",{key:3,class:"text row horizontal-center",textContent:Object(c["C"])(n.text)},null,8,["textContent"])):Object(c["f"])("",!0),n.html&&!n.image?(Object(c["r"])(),Object(c["e"])("div",{key:4,class:"text row horizontal-center",innerHTML:n.html},null,8,["innerHTML"])):Object(c["f"])("",!0)])],2)})),m={name:"Notification",props:["id","text","html","title","image","link","error","warning"],methods:{clicked:function(){this.link&&window.open(this.link,"_blank"),this.$emit("clicked",this.id)}}};n("f34e");m.render=p,m.__scopeId="data-v-7646705e";var v=m,g={name:"Notifications",components:{Notification:v},props:{duration:{type:Number,default:1e4}},data:function(){return{index:0,notifications:{},timeouts:{}}},methods:{create:function(e){var t=this.index++;this.notifications[t]=e,null==e.duration&&(e.duration=this.duration);var n=e.duration?parseInt(e.duration):0;n&&(this.timeouts[t]=setTimeout(this.destroy.bind(null,t),n))},destroy:function(e){delete this.notifications[e],delete this.timeouts[e]}}};n("2e56");g.render=o,g.__scopeId="data-v-6dc8bebc";var O=g,j=n("3e54");function k(e,t,n,s,i,a){return Object(c["r"])(),Object(c["e"])("div")}n("99af"),n("b64b"),n("07ac");var y=n("b85c"),w=n("2909"),x=n("f5ef"),C={name:"Events",props:{wsPort:{type:Number,default:8009}},data:function(){return{ws:null,initialized:!1,pending:!1,opened:!1,timeout:null,reconnectMsecs:3e4,handlers:{},handlerNameToEventTypes:{}}},methods:{onWebsocketTimeout:function(){console.log("Websocket reconnection timed out, retrying"),this.pending=!1,this.ws&&this.ws.close(),this.onClose()},onMessage:function(e){var t=[];if(e=e.data,"string"===typeof e)try{e=JSON.parse(e)}catch(i){console.warn("Received invalid non-JSON event"),console.warn(e)}if(console.debug(e),"event"===e.type){null in this.handlers&&t.push(this.handlers[null]),e.args.type in this.handlers&&t.push.apply(t,Object(w["a"])(Object.values(this.handlers[e.args.type])));for(var n=0,c=t;nt?(t=i,n=[s]):i===t&&n.push(s)}}catch(r){c.e(r)}finally{c.f()}(n.indexOf(this.$el)<0||n.length>1)&&(this.$el.style.zIndex=t+1)}if(this.isVisible&&this.timeout&&!this.timeoutId){var a=function(e){return function(){e.close(),e.timeoutId=void 0}};this.timeoutId=setTimeout(a(this),0+this.timeout)}}};n("c2cf");u.render=r,u.__scopeId="data-v-422f1b1c";t["a"]=u},"7d2d":function(e,t,n){"use strict";n("ca87")},8789:function(e,t,n){"use strict";n("2aa2")},"8f10":function(e,t,n){},9751:function(e,t,n){},a691d:function(e,t,n){"use strict";n("f00b")},b95a:function(e,t,n){},ba15:function(e,t,n){},c10a:function(e,t,n){},c2cf:function(e,t,n){"use strict";n("8f10")},c604:function(e,t,n){},c632:function(e,t,n){},ca87:function(e,t,n){},cdb9:function(e,t,n){var c={"./Calendar/Index":["3c97","chunk-d18d563a"],"./DateTime/Index":["365a","chunk-0a891b5a"],"./DateTimeWeather/Index":["3737","chunk-984338ca","chunk-0a891b5a","chunk-964fe404"],"./ImageCarousel/Index":["c845","chunk-984338ca","chunk-0a891b5a","chunk-5145872a"],"./Music/Index":["bcf7","chunk-711696bb"],"./Plugin/Index":["dabe","chunk-d22da0c0"],"./RssNews/Index":["c306","chunk-2e3e3996"],"./Weather/Index":["5b43","chunk-984338ca"]};function s(e){if(!n.o(c,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=c[e],s=t[0];return Promise.all(t.slice(1).map(n.e)).then((function(){return n(s)}))}s.keys=function(){return Object.keys(c)},s.id="cdb9",e.exports=s},d08b:function(e,t,n){"use strict";n("f3b7")},d73f:function(e,t,n){"use strict";n("1277")},dc20:function(e,t,n){"use strict";n("c604")},f00b:function(e,t,n){},f34e:function(e,t,n){"use strict";n("c632")},f3b7:function(e,t,n){},f5ef:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var c=n("14b7"),s=Object(c["a"])()}});
+//# sourceMappingURL=app.9916f25f.js.map
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/app.9916f25f.js.map b/platypush/backend/http/dist/static/js/app.9916f25f.js.map
new file mode 100644
index 00000000..aa2f8479
--- /dev/null
+++ b/platypush/backend/http/dist/static/js/app.9916f25f.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/panels lazy ^\\.\\/.*\\/Index$ namespace object","webpack:///./src/components/widgets/Widget.vue?3bf4","webpack:///./src/views/Dashboard.vue?6777","webpack:///./src/components/Notifications.vue?a9c7","webpack:///./src/components/Loading.vue","webpack:///./src/components/Loading.vue?2fa0","webpack:///./src/utils/Api.vue","webpack:///./src/utils/Api.vue?44aa","webpack:///./src/utils/DateTime.vue","webpack:///./src/utils/DateTime.vue?8e83","webpack:///./src/utils/Events.vue","webpack:///./src/utils/Events.vue?6024","webpack:///./src/utils/Notification.vue","webpack:///./src/utils/Notification.vue?f47e","webpack:///./src/utils/Screen.vue","webpack:///./src/utils/Screen.vue?f1cf","webpack:///./src/utils/Types.vue","webpack:///./src/utils/Types.vue?5f2a","webpack:///./src/Utils.vue","webpack:///./src/Utils.vue?c84e","webpack:///./src/views/Panel.vue?5133","webpack:///./src/components/Loading.vue?5027","webpack:///./src/App.vue","webpack:///./src/components/Notifications.vue","webpack:///./src/components/Notification.vue","webpack:///./src/components/Notification.vue?fb9f","webpack:///./src/components/Notifications.vue?4426","webpack:///./src/Events.vue","webpack:///./src/Events.vue?2656","webpack:///./src/components/VoiceAssistant.vue","webpack:///./src/components/VoiceAssistant.vue?53df","webpack:///./src/components/Pushbullet.vue","webpack:///./src/components/Pushbullet.vue?7941","webpack:///./src/App.vue?97f5","webpack:///./src/views/Dashboard.vue","webpack:///./src/components/widgets/Row.vue","webpack:///./src/components/widgets/Row.vue?9d83","webpack:///./src/components/widgets/Widget.vue","webpack:///./src/components/widgets/Widget.vue?fd30","webpack:///./src/views/Dashboard.vue?07ee","webpack:///./src/views/NotFound.vue","webpack:///./src/views/NotFound.vue?c361","webpack:///./src/views/Login.vue","webpack:///./src/views/Login.vue?835e","webpack:///./src/views/Register.vue","webpack:///./src/views/Register.vue?f5a6","webpack:///./src/views/Panel.vue","webpack:///./src/components/Nav.vue","webpack:///./src/components/Nav.vue?aa3c","webpack:///./src/views/Panel.vue?e816","webpack:///./src/router/index.js","webpack:///./src/main.js","webpack:///./src/components/widgets/Row.vue?bcb9","webpack:///./src/components/Modal.vue","webpack:///./src/components/Modal.vue?5f4e","webpack:///./src/views/Dashboard.vue?170c","webpack:///./src/views/Login.vue?2e4f","webpack:///./src/views/Panel.vue?8afa","webpack:///./src/components/Modal.vue?bfa8","webpack:///./src/components/widgets lazy ^\\.\\/.*\\/Index$ namespace object","webpack:///./src/App.vue?4a39","webpack:///./src/components/VoiceAssistant.vue?e7c2","webpack:///./src/components/Nav.vue?c619","webpack:///./src/components/Notification.vue?3a19","webpack:///./src/bus.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","map","webpackAsyncContext","req","ids","id","keys","class","render","__scopeId","methods","execute","opts","a","post","response","errors","notify","text","output","catch","action","args","this","formatDate","date","year","Date","parse","toDateString","substring","formatTime","seconds","toTimeString","formatDateTime","computed","_eventsReady","$root","$refs","events","initialized","subscribe","handler","handlerName","subFunc","bus","emit","generateId","self","unwatch","$watch","newVal","unsubscribe","btoa","Array","forEach","String","fromCharCode","Math","round","random","notification","warn","msg","warning","isMobile","matchMedia","matches","isTablet","isDesktop","parseBoolean","toLowerCase","parseInt","convertSize","unit","units","u","toFixed","mixins","Api","Notification","Events","DateTime","Screen","Types","hasWebsocket","ref","ws-port","config","websocket_port","hasAssistant","hasPushbullet","notifications","index","html","title","link","image","destroy","clicked","alt","icon","style","color","iconClass","props","open","$emit","components","duration","Number","default","timeouts","wsPort","ws","pending","opened","reconnectMsecs","handlers","handlerNameToEventTypes","onWebsocketTimeout","log","close","onClose","onMessage","JSON","debug","values","onOpen","onclose","onError","reason","init","protocol","location","url","hostname","WebSocket","onmessage","onopen","created","on","state","alerting","responding","speechRecognized","listening","Modal","Utils","responseText","phrase","hideTimeout","reset","conversationStart","assistantModal","show","conversationEnd","response_text","alertOn","alertOff","registerHandlers","mounted","push_type","body","Pushbullet","Notifications","VoiceAssistant","userAuthenticated","onNotification","initConfig","loading","classes","rows","row","widgets","widget","component","required","split","concat","Widget","Loading","Row","refreshSeconds","parseTemplate","tmpl","node","DOMParser","parseFromString","childNodes","attributes","nodeValue","children","el","nodeName","attrs","reduce","obj","$options","refreshDashboard","$route","params","template","setInterval","method","placeholder","_register","register","Boolean","Login","panels","selected-panel","selectedPanel","$event","panel","plugin-name","collapsed","sort","onItemClick","icons","imgUrl","emits","host","hash","Nav","plugins","backends","procedures","initSelectedPanel","match","plugin","initPanels","entries","componentName","token","toUpperCase","join","comp","pluginName","parseConfig","routes","path","Panel","Dashboard","Register","NotFound","router","createRouter","history","createWebHistory","app","createApp","App","globalProperties","_config","use","mount","isVisible","zIndex","width","height","stopPropagation","visible","level","timeoutId","prevVisible","toggle","visibleHndl","updated","maxZIndex","getComputedStyle","$el","outermostModals","querySelectorAll","modal","indexOf","mitt"],"mappings":"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","file":"static/js/app.9916f25f.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0a891b5a\":\"1431e4ce\",\"chunk-2e3e3996\":\"24de4e55\",\"chunk-6c0be899\":\"ff93f33e\",\"chunk-49211740\":\"e4dea096\",\"chunk-b4cfd8ce\":\"f4435881\",\"chunk-2d0cc2be\":\"71e3fcd8\",\"chunk-2d237d41\":\"b4b87abb\",\"chunk-6dbed40c\":\"62c09911\",\"chunk-2f304dee\":\"649e4dc7\",\"chunk-062a6c06\":\"0639b4b1\",\"chunk-307152f0\":\"410c102d\",\"chunk-2d2091df\":\"90a98553\",\"chunk-23035330\":\"1df1cd51\",\"chunk-b51533f6\":\"dc0f3b3e\",\"chunk-283aacba\":\"52472391\",\"chunk-3b435dde\":\"bd4904a1\",\"chunk-53e279b3\":\"cf489a46\",\"chunk-5a1e13e4\":\"287f68a0\",\"chunk-7fae0422\":\"0d9be069\",\"chunk-7c23d3fc\":\"e15f9031\",\"chunk-2d21da1a\":\"707bd994\",\"chunk-711696bb\":\"a8f62738\",\"chunk-984338ca\":\"3351e993\",\"chunk-5145872a\":\"f0bd0577\",\"chunk-964fe404\":\"eed3b223\",\"chunk-d18d563a\":\"a4ce6758\",\"chunk-d22da0c0\":\"da01e99e\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0a891b5a\":1,\"chunk-2e3e3996\":1,\"chunk-6c0be899\":1,\"chunk-49211740\":1,\"chunk-b4cfd8ce\":1,\"chunk-6dbed40c\":1,\"chunk-2f304dee\":1,\"chunk-062a6c06\":1,\"chunk-307152f0\":1,\"chunk-23035330\":1,\"chunk-b51533f6\":1,\"chunk-283aacba\":1,\"chunk-3b435dde\":1,\"chunk-53e279b3\":1,\"chunk-5a1e13e4\":1,\"chunk-7fae0422\":1,\"chunk-7c23d3fc\":1,\"chunk-711696bb\":1,\"chunk-984338ca\":1,\"chunk-5145872a\":1,\"chunk-964fe404\":1,\"chunk-d18d563a\":1,\"chunk-d22da0c0\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"static/css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0a891b5a\":\"7294303f\",\"chunk-2e3e3996\":\"eda53677\",\"chunk-6c0be899\":\"75269c9b\",\"chunk-49211740\":\"43a25f0f\",\"chunk-b4cfd8ce\":\"44bbe779\",\"chunk-2d0cc2be\":\"31d6cfe0\",\"chunk-2d237d41\":\"31d6cfe0\",\"chunk-6dbed40c\":\"92b3713e\",\"chunk-2f304dee\":\"a8a2d99a\",\"chunk-062a6c06\":\"ab71816e\",\"chunk-307152f0\":\"75b51be7\",\"chunk-2d2091df\":\"31d6cfe0\",\"chunk-23035330\":\"5b949e24\",\"chunk-b51533f6\":\"678c9c97\",\"chunk-283aacba\":\"f186cc51\",\"chunk-3b435dde\":\"f186cc51\",\"chunk-53e279b3\":\"f186cc51\",\"chunk-5a1e13e4\":\"f186cc51\",\"chunk-7fae0422\":\"c233115f\",\"chunk-7c23d3fc\":\"5506a233\",\"chunk-2d21da1a\":\"31d6cfe0\",\"chunk-711696bb\":\"b7730bd4\",\"chunk-984338ca\":\"42d666a4\",\"chunk-5145872a\":\"197de139\",\"chunk-964fe404\":\"4d7c2357\",\"chunk-d18d563a\":\"c4e19f9e\",\"chunk-d22da0c0\":\"7c71cffb\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\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\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","var map = {\n\t\"./Light/Index\": [\n\t\t\"cf99\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-2f304dee\",\n\t\t\"chunk-307152f0\"\n\t],\n\t\"./LightHue/Index\": [\n\t\t\"a84f\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-2f304dee\",\n\t\t\"chunk-307152f0\",\n\t\t\"chunk-2d2091df\"\n\t],\n\t\"./Media/Index\": [\n\t\t\"3951\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-b51533f6\",\n\t\t\"chunk-49211740\",\n\t\t\"chunk-7fae0422\"\n\t],\n\t\"./MediaMplayer/Index\": [\n\t\t\"47a8\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-b51533f6\",\n\t\t\"chunk-49211740\",\n\t\t\"chunk-283aacba\"\n\t],\n\t\"./MediaMpv/Index\": [\n\t\t\"23b7\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-b51533f6\",\n\t\t\"chunk-49211740\",\n\t\t\"chunk-3b435dde\"\n\t],\n\t\"./MediaOmxplayer/Index\": [\n\t\t\"eede\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-b51533f6\",\n\t\t\"chunk-49211740\",\n\t\t\"chunk-53e279b3\"\n\t],\n\t\"./MediaVlc/Index\": [\n\t\t\"bdae\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-b51533f6\",\n\t\t\"chunk-49211740\",\n\t\t\"chunk-5a1e13e4\"\n\t],\n\t\"./Music/Index\": [\n\t\t\"0d41\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-b51533f6\",\n\t\t\"chunk-7c23d3fc\"\n\t],\n\t\"./MusicMpd/Index\": [\n\t\t\"d1b9\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-b51533f6\",\n\t\t\"chunk-7c23d3fc\",\n\t\t\"chunk-2d21da1a\"\n\t],\n\t\"./MusicSnapcast/Index\": [\n\t\t\"d5eb\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-2f304dee\",\n\t\t\"chunk-062a6c06\"\n\t],\n\t\"./Rtorrent/Index\": [\n\t\t\"4d91\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-49211740\",\n\t\t\"chunk-b4cfd8ce\",\n\t\t\"chunk-2d0cc2be\"\n\t],\n\t\"./Torrent/Index\": [\n\t\t\"fd7d\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-49211740\",\n\t\t\"chunk-b4cfd8ce\",\n\t\t\"chunk-2d237d41\"\n\t],\n\t\"./ZigbeeMqtt/Index\": [\n\t\t\"655e\",\n\t\t\"chunk-6dbed40c\",\n\t\t\"chunk-6c0be899\",\n\t\t\"chunk-2f304dee\",\n\t\t\"chunk-23035330\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"0f0c\";\nmodule.exports = webpackAsyncContext;","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Widget.vue?vue&type=style&index=0&id=8c529832&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dashboard.vue?vue&type=style&index=0&id=0ba67711&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Notifications.vue?vue&type=style&index=0&id=6dc8bebc&scoped=true&lang=css\"","\n
\n
\n \n
\n
\n\n\n","import { render } from \"./Loading.vue?vue&type=template&id=4d9c871b&scoped=true\"\nconst script = {}\n\nimport \"./Loading.vue?vue&type=style&index=0&id=4d9c871b&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4d9c871b\"\n\nexport default script","\n\n","import script from \"./Api.vue?vue&type=script&lang=js\"\nexport * from \"./Api.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./DateTime.vue?vue&type=script&lang=js\"\nexport * from \"./DateTime.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Events.vue?vue&type=script&lang=js\"\nexport * from \"./Events.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Notification.vue?vue&type=script&lang=js\"\nexport * from \"./Notification.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Screen.vue?vue&type=script&lang=js\"\nexport * from \"./Screen.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Types.vue?vue&type=script&lang=js\"\nexport * from \"./Types.vue?vue&type=script&lang=js\"\n\nexport default script","\n","import script from \"./Utils.vue?vue&type=script&lang=js\"\nexport * from \"./Utils.vue?vue&type=script&lang=js\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Panel.vue?vue&type=style&index=0&id=6e3b2a94&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Loading.vue?vue&type=style&index=0&id=4d9c871b&lang=scss&scoped=true\"","\n \n \n \n \n\n \n\n\n\n\n\n\n","\n
\n \n \n
\n\n\n\n\n","\n
\n \n
\n
\n
\n \n \n \n \n \n
\n
\n \n \n \n \n
\n
\n\n\n\n\n","import { render } from \"./Notification.vue?vue&type=template&id=7646705e&scoped=true\"\nimport script from \"./Notification.vue?vue&type=script&lang=js\"\nexport * from \"./Notification.vue?vue&type=script&lang=js\"\n\nimport \"./Notification.vue?vue&type=style&index=0&id=7646705e&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-7646705e\"\n\nexport default script","import { render } from \"./Notifications.vue?vue&type=template&id=6dc8bebc&scoped=true\"\nimport script from \"./Notifications.vue?vue&type=script&lang=js\"\nexport * from \"./Notifications.vue?vue&type=script&lang=js\"\n\nimport \"./Notifications.vue?vue&type=style&index=0&id=6dc8bebc&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-6dc8bebc\"\n\nexport default script","\n \n\n\n\n","import { render } from \"./Events.vue?vue&type=template&id=f0cdf530\"\nimport script from \"./Events.vue?vue&type=script&lang=js\"\nexport * from \"./Events.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n
\n \n
\n \n \n \n \n
\n\n
\n
\n Assistant listening\n
\n
\n \n
\n
\n \n
\n
\n \n
\n\n\n\n\n\n","import { render } from \"./VoiceAssistant.vue?vue&type=template&id=3f009270\"\nimport script from \"./VoiceAssistant.vue?vue&type=script&lang=js\"\nexport * from \"./VoiceAssistant.vue?vue&type=script&lang=js\"\n\nimport \"./VoiceAssistant.vue?vue&type=style&index=0&id=3f009270&lang=scss\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Pushbullet.vue?vue&type=template&id=bf9869d4\"\nimport script from \"./Pushbullet.vue?vue&type=script&lang=js\"\nexport * from \"./Pushbullet.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","import { render } from \"./App.vue?vue&type=template&id=618fbb8c\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=618fbb8c&lang=scss\"\nscript.render = render\n\nexport default script","\n \n\n
\n \n \n \n \n \n \n \n
\n\n\n\n\n\n\n\n","\n
\n \n
\n\n\n\n\n\n","import { render } from \"./Row.vue?vue&type=template&id=1b4663f2&scoped=true\"\nimport script from \"./Row.vue?vue&type=script&lang=js\"\nexport * from \"./Row.vue?vue&type=script&lang=js\"\n\nimport \"./Row.vue?vue&type=style&index=0&id=1b4663f2&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-1b4663f2\"\n\nexport default script","\n
\n \n
\n\n\n\n\n\n","import { render } from \"./Widget.vue?vue&type=template&id=8c529832&scoped=true\"\nimport script from \"./Widget.vue?vue&type=script&lang=js\"\nexport * from \"./Widget.vue?vue&type=script&lang=js\"\n\nimport \"./Widget.vue?vue&type=style&index=0&id=8c529832&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-8c529832\"\n\nexport default script","import { render } from \"./Dashboard.vue?vue&type=template&id=0ba67711&scoped=true\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=js\"\n\nimport \"./Dashboard.vue?vue&type=style&index=0&id=0ba67711&lang=scss&scoped=true\"\nimport \"./Dashboard.vue?vue&type=style&index=1&id=0ba67711&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-0ba67711\"\n\nexport default script","\n
Object not found
\n\n\n\n\n","import { render } from \"./NotFound.vue?vue&type=template&id=49501f4d\"\nimport script from \"./NotFound.vue?vue&type=script&lang=js\"\nexport * from \"./NotFound.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n
\n \n
\n\n\n\n\n\n","import { render } from \"./Login.vue?vue&type=template&id=07800d9c\"\nimport script from \"./Login.vue?vue&type=script&lang=js\"\nexport * from \"./Login.vue?vue&type=script&lang=js\"\n\nimport \"./Login.vue?vue&type=style&index=0&id=07800d9c&lang=scss\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Register.vue?vue&type=template&id=1244b238\"\nimport script from \"./Register.vue?vue&type=script&lang=js\"\nexport * from \"./Register.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n \n \n\n
\n
\n \n
\n
\n \n\n\n\n\n\n\n\n","\n \n\n\n\n\n\n\n","import { render } from \"./Nav.vue?vue&type=template&id=4ac2b564&scoped=true\"\nimport script from \"./Nav.vue?vue&type=script&lang=js\"\nexport * from \"./Nav.vue?vue&type=script&lang=js\"\n\nimport \"./Nav.vue?vue&type=style&index=0&id=4ac2b564&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4ac2b564\"\n\nexport default script","import { render } from \"./Panel.vue?vue&type=template&id=6e3b2a94&scoped=true\"\nimport script from \"./Panel.vue?vue&type=script&lang=js\"\nexport * from \"./Panel.vue?vue&type=script&lang=js\"\n\nimport \"./Panel.vue?vue&type=style&index=0&id=6e3b2a94&lang=scss&scoped=true\"\nimport \"./Panel.vue?vue&type=style&index=1&id=6e3b2a94&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-6e3b2a94\"\n\nexport default script","import { createWebHistory, createRouter } from \"vue-router\";\nimport Dashboard from \"@/views/Dashboard.vue\";\nimport NotFound from \"@/views/NotFound\";\nimport Login from \"@/views/Login\";\nimport Register from \"@/views/Register\";\nimport Panel from \"@/views/Panel\";\n\nconst routes = [\n {\n path: \"/\",\n name: \"Panel\",\n component: Panel,\n },\n\n {\n path: \"/dashboard/:name\",\n name: \"Dashboard\",\n component: Dashboard,\n },\n\n {\n path: \"/login\",\n name: \"Login\",\n component: Login,\n },\n\n {\n path: \"/register\",\n name: \"Register\",\n component: Register,\n },\n\n {\n path: \"/:catchAll(.*)\",\n component: NotFound,\n },\n];\n\nconst router = createRouter({\n history: createWebHistory(),\n routes,\n});\n\nexport default router;\n","import { createApp } from 'vue'\nimport App from '@/App.vue'\nimport router from '@/router'\n\nconst app = createApp(App)\napp.config.globalProperties._config = window.config\napp.use(router).mount('#app')\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Row.vue?vue&type=style&index=0&id=1b4663f2&lang=scss&scoped=true\"","\n
\n
\n
\n \n
\n \n
\n
\n
\n
\n\n\n\n\n","import { render } from \"./Modal.vue?vue&type=template&id=422f1b1c&scoped=true\"\nimport script from \"./Modal.vue?vue&type=script&lang=js\"\nexport * from \"./Modal.vue?vue&type=script&lang=js\"\n\nimport \"./Modal.vue?vue&type=style&index=0&id=422f1b1c&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-422f1b1c\"\n\nexport default script","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Dashboard.vue?vue&type=style&index=1&id=0ba67711&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Login.vue?vue&type=style&index=0&id=07800d9c&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Panel.vue?vue&type=style&index=1&id=6e3b2a94&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Modal.vue?vue&type=style&index=0&id=422f1b1c&lang=scss&scoped=true\"","var map = {\n\t\"./Calendar/Index\": [\n\t\t\"3c97\",\n\t\t\"chunk-d18d563a\"\n\t],\n\t\"./DateTime/Index\": [\n\t\t\"365a\",\n\t\t\"chunk-0a891b5a\"\n\t],\n\t\"./DateTimeWeather/Index\": [\n\t\t\"3737\",\n\t\t\"chunk-984338ca\",\n\t\t\"chunk-0a891b5a\",\n\t\t\"chunk-964fe404\"\n\t],\n\t\"./ImageCarousel/Index\": [\n\t\t\"c845\",\n\t\t\"chunk-984338ca\",\n\t\t\"chunk-0a891b5a\",\n\t\t\"chunk-5145872a\"\n\t],\n\t\"./Music/Index\": [\n\t\t\"bcf7\",\n\t\t\"chunk-711696bb\"\n\t],\n\t\"./Plugin/Index\": [\n\t\t\"dabe\",\n\t\t\"chunk-d22da0c0\"\n\t],\n\t\"./RssNews/Index\": [\n\t\t\"c306\",\n\t\t\"chunk-2e3e3996\"\n\t],\n\t\"./Weather/Index\": [\n\t\t\"5b43\",\n\t\t\"chunk-984338ca\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"cdb9\";\nmodule.exports = webpackAsyncContext;","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./App.vue?vue&type=style&index=0&id=618fbb8c&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./VoiceAssistant.vue?vue&type=style&index=0&id=3f009270&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Nav.vue?vue&type=style&index=0&id=4ac2b564&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Notification.vue?vue&type=style&index=0&id=7646705e&lang=scss&scoped=true\"","import mitt from 'mitt';\n\nconst bus = mitt();\n\nexport { bus };\n"],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-062a6c06.0639b4b1.js b/platypush/backend/http/dist/static/js/chunk-062a6c06.0639b4b1.js
new file mode 100644
index 00000000..a7630d02
--- /dev/null
+++ b/platypush/backend/http/dist/static/js/chunk-062a6c06.0639b4b1.js
@@ -0,0 +1,2 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-062a6c06"],{"0e52":function(e,t,n){"use strict";n("1caa")},"0f51":function(e,t,n){},"1caa":function(e,t,n){},3193:function(e,t,n){"use strict";n("4897")},4897:function(e,t,n){},"48b6":function(e,t,n){"use strict";n("95e5")},"498a":function(e,t,n){"use strict";var s=n("23e7"),o=n("58a8").trim,c=n("c8d2");s({target:"String",proto:!0,forced:c("trim")},{trim:function(){return o(this)}})},6062:function(e,t,n){"use strict";var s=n("6d61"),o=n("6566");e.exports=s("Set",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),o)},6566:function(e,t,n){"use strict";var s=n("9bf2").f,o=n("7c73"),c=n("e2cc"),r=n("0366"),l=n("19aa"),i=n("2266"),a=n("7dd0"),u=n("2626"),d=n("83ab"),v=n("f183").fastKey,h=n("69f3"),b=h.set,p=h.getterFor;e.exports={getConstructor:function(e,t,n,a){var u=e((function(e,s){l(e,u,t),b(e,{type:t,index:o(null),first:void 0,last:void 0,size:0}),d||(e.size=0),void 0!=s&&i(s,e[a],{that:e,AS_ENTRIES:n})})),h=p(t),m=function(e,t,n){var s,o,c=h(e),r=f(e,t);return r?r.value=n:(c.last=r={index:o=v(t,!0),key:t,value:n,previous:s=c.last,next:void 0,removed:!1},c.first||(c.first=r),s&&(s.next=r),d?c.size++:e.size++,"F"!==o&&(c.index[o]=r)),e},f=function(e,t){var n,s=h(e),o=v(t);if("F"!==o)return s.index[o];for(n=s.first;n;n=n.next)if(n.key==t)return n};return c(u.prototype,{clear:function(){var e=this,t=h(e),n=t.index,s=t.first;while(s)s.removed=!0,s.previous&&(s.previous=s.previous.next=void 0),delete n[s.index],s=s.next;t.first=t.last=void 0,d?t.size=0:e.size=0},delete:function(e){var t=this,n=h(t),s=f(t,e);if(s){var o=s.next,c=s.previous;delete n.index[s.index],s.removed=!0,c&&(c.next=o),o&&(o.previous=c),n.first==s&&(n.first=o),n.last==s&&(n.last=c),d?n.size--:t.size--}return!!s},forEach:function(e){var t,n=h(this),s=r(e,arguments.length>1?arguments[1]:void 0,3);while(t=t?t.next:n.first){s(t.value,t.key,this);while(t&&t.removed)t=t.previous}},has:function(e){return!!f(this,e)}}),c(u.prototype,n?{get:function(e){var t=f(this,e);return t&&t.value},set:function(e,t){return m(this,0===e?0:e,t)}}:{add:function(e){return m(this,e=0===e?0:e,e)}}),d&&s(u.prototype,"size",{get:function(){return h(this).size}}),u},setStrong:function(e,t,n){var s=t+" Iterator",o=p(t),c=p(s);a(e,t,(function(e,t){b(this,{type:s,target:e,state:o(e),kind:t,last:void 0})}),(function(){var e=c(this),t=e.kind,n=e.last;while(n&&n.removed)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),u(t)}}},"6d61":function(e,t,n){"use strict";var s=n("23e7"),o=n("da84"),c=n("94ca"),r=n("6eeb"),l=n("f183"),i=n("2266"),a=n("19aa"),u=n("861d"),d=n("d039"),v=n("1c7e"),h=n("d44e"),b=n("7156");e.exports=function(e,t,n){var p=-1!==e.indexOf("Map"),m=-1!==e.indexOf("Weak"),f=p?"set":"add",O=o[e],j=O&&O.prototype,g=O,C={},x=function(e){var t=j[e];r(j,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(m&&!u(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return m&&!u(e)?void 0:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(m&&!u(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(c(e,"function"!=typeof O||!(m||j.forEach&&!d((function(){(new O).entries().next()})))))g=n.getConstructor(t,e,p,f),l.REQUIRED=!0;else if(c(e,!0)){var w=new g,y=w[f](m?{}:-0,1)!=w,k=d((function(){w.has(1)})),S=v((function(e){new O(e)})),H=!m&&d((function(){var e=new O,t=5;while(t--)e[f](t,t);return!e.has(-0)}));S||(g=t((function(t,n){a(t,g,e);var s=b(new O,t,g);return void 0!=n&&i(n,s[f],{that:s,AS_ENTRIES:p}),s})),g.prototype=j,j.constructor=g),(k||H)&&(x("delete"),x("has"),p&&x("get")),(H||y)&&x(f),m&&j.clear&&delete j.clear}return C[e]=g,s({global:!0,forced:g!=O},C),h(g,e),m||n.setStrong(g,e,p),g}},"6fdc":function(e,t,n){"use strict";n("0f51")},7041:function(e,t,n){},"875e":function(e,t,n){"use strict";n("a144")},"95e5":function(e,t,n){},a144:function(e,t,n){},bb2f:function(e,t,n){var s=n("d039");e.exports=!s((function(){return Object.isExtensible(Object.preventExtensions({}))}))},c8d2:function(e,t,n){var s=n("d039"),o=n("5899"),c=" ";e.exports=function(e){return s((function(){return!!o[e]()||c[e]()!=c||o[e].name!==e}))}},d5eb:function(e,t,n){"use strict";n.r(t);var s=n("7a23"),o=Object(s["K"])("data-v-063a7b86");Object(s["u"])("data-v-063a7b86");var c={class:"music-snapcast-container"},r={class:"info"},l={class:"info"},i={class:"info"};Object(s["s"])();var a=o((function(e,t,n,a,u,d){var v=Object(s["z"])("Loading"),h=Object(s["z"])("ModalHost"),b=Object(s["z"])("Modal"),p=Object(s["z"])("ModalGroup"),m=Object(s["z"])("ModalClient"),f=Object(s["z"])("Host");return Object(s["r"])(),Object(s["e"])("div",c,[e.loading?(Object(s["r"])(),Object(s["e"])(v,{key:0})):Object(s["f"])("",!0),Object(s["h"])("div",r,[Object(s["h"])(b,{title:"Server info",ref:"modalHost"},{default:o((function(){return[e.selectedHost?(Object(s["r"])(),Object(s["e"])(h,{key:0,info:e.hosts[e.selectedHost]},null,8,["info"])):Object(s["f"])("",!0)]})),_:1},512)]),Object(s["h"])("div",l,[Object(s["h"])(b,{title:"Group info",ref:"modalGroup"},{default:o((function(){return[e.selectedGroup?(Object(s["r"])(),Object(s["e"])(p,{key:0,group:e.hosts[e.selectedHost].groups[e.selectedGroup],streams:e.hosts[e.selectedHost].streams,clients:d.clientsByHost[e.selectedHost],loading:e.loading,onAddClient:d.addClientToGroup,onRemoveClient:d.removeClientFromGroup,onStreamChange:d.streamChange,onRenameGroup:t[1]||(t[1]=function(e){return d.renameGroup(e)})},null,8,["group","streams","clients","loading","onAddClient","onRemoveClient","onStreamChange"])):Object(s["f"])("",!0)]})),_:1},512)]),Object(s["h"])("div",i,[Object(s["h"])(b,{title:"Client info",ref:"modalClient"},{default:o((function(){return[e.selectedClient?(Object(s["r"])(),Object(s["e"])(m,{key:0,client:e.hosts[e.selectedHost].groups[e.selectedGroup].clients[e.selectedClient],loading:e.loading,onRemoveClient:d.removeClient,onRenameClient:t[2]||(t[2]=function(e){return d.renameClient(e)})},null,8,["client","loading","onRemoveClient"])):Object(s["f"])("",!0)]})),_:1},512)]),(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(e.hosts,(function(e,n){return Object(s["r"])(),Object(s["e"])(f,{key:n,server:e.server,streams:e.streams,groups:e.groups,onGroupMuteToggle:t[3]||(t[3]=function(e){return d.groupMute(e)}),onClientMuteToggle:t[4]||(t[4]=function(e){return d.clientMute(e)}),onClientVolumeChange:t[5]||(t[5]=function(e){return d.clientSetVolume(e)}),onModalShow:t[6]||(t[6]=function(e){return d.onModalShow(e)})},null,8,["server","streams","groups"])})),128))])})),u=(n("99af"),n("4160"),n("d81d"),n("13d5"),n("b0c0"),n("4fad"),n("b64b"),n("d3b7"),n("07ac"),n("6062"),n("3ca3"),n("159b"),n("ddb0"),n("2909")),d=(n("96cf"),n("1da1")),v=n("5530"),h=n("3835"),b=n("714b"),p=n("3e54"),m=Object(s["K"])("data-v-7bce419a");Object(s["u"])("data-v-7bce419a");var f={class:"host"},O={class:"header"},j=Object(s["h"])("i",{class:"icon fa fa-server"},null,-1),g={class:"col-2 buttons pull-right"},C={key:0,class:"group-container"};Object(s["s"])();var x=m((function(e,t,n,o,c,r){var l=Object(s["z"])("Group");return Object(s["r"])(),Object(s["e"])("div",f,[Object(s["h"])("div",O,[Object(s["h"])("div",{class:"col-10 name",onClick:t[1]||(t[1]=function(t){return e.$emit("modal-show",{type:"host",host:n.server.host.name})})},[j,Object(s["g"])(" "+Object(s["C"])(n.server.host.name),1)]),Object(s["h"])("div",g,[Object(s["h"])("button",{type:"button",onClick:t[2]||(t[2]=function(e){return c.collapsed=!c.collapsed})},[Object(s["h"])("i",{class:["icon fa",{"fa-chevron-up":!c.collapsed,"fa-chevron-down":c.collapsed}]},null,2)])])]),c.collapsed?Object(s["f"])("",!0):(Object(s["r"])(),Object(s["e"])("div",C,[(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(n.groups,(function(o,c){return Object(s["r"])(),Object(s["e"])(l,{key:c,id:o.id,name:o.name,server:n.server.host,muted:o.muted,clients:o.clients,stream:n.streams[o.stream_id],onModalShow:t[3]||(t[3]=function(t){return e.$emit("modal-show",t)}),onGroupMuteToggle:t[4]||(t[4]=function(t){return e.$emit("group-mute-toggle",t)}),onClientMuteToggle:t[5]||(t[5]=function(t){return e.$emit("client-mute-toggle",t)}),onClientVolumeChange:t[6]||(t[6]=function(t){return e.$emit("client-volume-change",t)})},null,8,["id","name","server","muted","clients","stream"])})),128))]))])})),w=Object(s["K"])("data-v-748fccb4");Object(s["u"])("data-v-748fccb4");var y={class:"group"},k={class:"head"},S={class:"col-2 switch pull-right"},H={class:"body"};Object(s["s"])();var _=w((function(e,t,n,o,c,r){var l=Object(s["z"])("ToggleSwitch"),i=Object(s["z"])("Client");return Object(s["r"])(),Object(s["e"])("div",y,[Object(s["h"])("div",k,[Object(s["h"])("div",{class:"col-10 name",onClick:t[1]||(t[1]=function(t){return e.$emit("modal-show",{type:"group",group:n.id,host:n.server.name})})},[Object(s["h"])("i",{class:["icon fa",{"fa-play":"playing"===n.stream.status,"fa-stop":"playing"!==n.stream.status}]},null,2),Object(s["g"])(" "+Object(s["C"])(n.name||n.stream.id||n.id),1)]),Object(s["h"])("div",S,[Object(s["h"])(l,{value:!n.muted,onInput:t[2]||(t[2]=function(t){return e.$emit("group-mute-toggle",{host:n.server.name,group:n.id,muted:!n.muted})})},null,8,["value"])])]),Object(s["h"])("div",H,[(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(n.clients,(function(o){return Object(s["r"])(),Object(s["e"])(i,{key:o.id,config:o.config,connected:o.connected,server:n.server,host:o.host,groupId:n.id,id:o.id,lastSeen:o.lastSeen,snapclient:o.snapclient,onModalShow:t[3]||(t[3]=function(t){return e.$emit("modal-show",t)}),onVolumeChange:t[4]||(t[4]=function(t){return e.$emit("client-volume-change",t)}),onMuteToggle:t[5]||(t[5]=function(t){return e.$emit("client-mute-toggle",t)})},null,8,["config","connected","server","host","groupId","id","lastSeen","snapclient"])})),128))])])})),R=n("0279"),G=Object(s["K"])("data-v-12b0e65b");Object(s["u"])("data-v-12b0e65b");var M={class:"col-s-12 col-m-9 controls"},E={class:"col-10 slider-container"},I={class:"col-2 switch pull-right"};Object(s["s"])();var z=G((function(e,t,n,o,c,r){var l,i=Object(s["z"])("Slider"),a=Object(s["z"])("ToggleSwitch");return Object(s["r"])(),Object(s["e"])("div",{class:["row client",{offline:!n.connected}]},[Object(s["h"])("div",{class:"col-s-12 col-m-3 name",textContent:Object(s["C"])((null===(l=n.config.name)||void 0===l?void 0:l.length)?n.config.name:n.host.name),onClick:t[1]||(t[1]=function(t){return e.$emit("modal-show",{type:"client",client:n.id,group:n.groupId,host:n.server.name})})},null,8,["textContent"]),Object(s["h"])("div",M,[Object(s["h"])("div",E,[Object(s["h"])(i,{range:[0,100],value:n.config.volume.percent,onMouseup:t[2]||(t[2]=function(t){return e.$emit("volume-change",{host:n.server.name,client:n.id,volume:t.target.value})})},null,8,["value"])]),Object(s["h"])("div",I,[Object(s["h"])(a,{value:!n.config.volume.muted,onInput:t[3]||(t[3]=function(t){return e.$emit("mute-toggle",{host:n.server.name,client:n.id,muted:!n.config.volume.muted})})},null,8,["value"])])])],2)})),$=n("8285"),q={name:"Client",components:{Slider:$["a"],ToggleSwitch:R["a"]},emits:["volume-change","mute-toggle","modal-show"],props:{config:{type:Object,required:!0},connected:{type:Boolean,default:!1},host:{type:Object,required:!0},id:{type:String,required:!0},groupId:{type:String,required:!0},lastSeen:{type:Object,default:function(){}},snapclient:{type:Object,required:!0},server:{type:Object,required:!0}}};n("6fdc");q.render=z,q.__scopeId="data-v-12b0e65b";var V=q,A={name:"Group",components:{Client:V,ToggleSwitch:R["a"]},emits:["group-mute-toggle","modal-show","client-volume-change","client-mute-toggle"],props:{id:{type:String},clients:{type:Object,default:function(){}},muted:{type:Boolean},name:{type:String},stream:{type:Object},server:{type:Object}}};n("d623");A.render=_,A.__scopeId="data-v-748fccb4";var T=A,U={name:"Host",emits:["modal-show","group-mute-toggle","client-mute-toggle","client-volume-change"],components:{Group:T},props:{groups:{type:Object,default:function(){}},server:{type:Object,default:function(){}},streams:{type:Object,default:function(){}}},data:function(){return{collapsed:!1}}};n("875e");U.render=x,U.__scopeId="data-v-7bce419a";var D=U,P=Object(s["K"])("data-v-4b0dc9f8");Object(s["u"])("data-v-4b0dc9f8");var K={class:"info"},B={key:0,class:"row"},N=Object(s["h"])("div",{class:"label col-3"},"IP Address",-1),F={key:1,class:"row"},L=Object(s["h"])("div",{class:"label col-3"},"MAC Address",-1),Q={key:2,class:"row"},J=Object(s["h"])("div",{class:"label col-3"},"Name",-1),W={key:3,class:"row"},X=Object(s["h"])("div",{class:"label col-3"},"Port",-1),Y={key:4,class:"row"},Z=Object(s["h"])("div",{class:"label col-3"},"OS",-1),ee={key:5,class:"row"},te=Object(s["h"])("div",{class:"label col-3"},"Architecture",-1),ne={key:6,class:"row"},se=Object(s["h"])("div",{class:"label col-3"},"Server name",-1),oe={key:7,class:"row"},ce=Object(s["h"])("div",{class:"label col-3"},"Server version",-1),re={key:8,class:"row"},le=Object(s["h"])("div",{class:"label col-3"},"Protocol version",-1),ie={key:9,class:"row"},ae=Object(s["h"])("div",{class:"label col-3"},"Control protocol version",-1);Object(s["s"])();var ue=P((function(e,t,n,o,c,r){var l,i,a,u,d,v,h,b,p,m,f,O,j,g,C,x,w,y,k,S,H,_,R,G,M,E,I,z,$,q,V,A,T,U,D,P,ue;return Object(s["r"])(),Object(s["e"])("div",K,[(null===(l=n.info)||void 0===l||null===(i=l.server)||void 0===i||null===(a=i.host)||void 0===a||null===(u=a.ip)||void 0===u?void 0:u.length)?(Object(s["r"])(),Object(s["e"])("div",B,[N,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.ip)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(d=n.info)||void 0===d||null===(v=d.server)||void 0===v||null===(h=v.host)||void 0===h||null===(b=h.mac)||void 0===b?void 0:b.length)?(Object(s["r"])(),Object(s["e"])("div",F,[L,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.mac)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(p=n.info)||void 0===p||null===(m=p.server)||void 0===m||null===(f=m.host)||void 0===f||null===(O=f.name)||void 0===O?void 0:O.length)?(Object(s["r"])(),Object(s["e"])("div",Q,[J,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.name)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(j=n.info)||void 0===j||null===(g=j.server)||void 0===g||null===(C=g.host)||void 0===C?void 0:C.port)?(Object(s["r"])(),Object(s["e"])("div",W,[X,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.port)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(x=n.info)||void 0===x||null===(w=x.server)||void 0===w||null===(y=w.host)||void 0===y||null===(k=y.os)||void 0===k?void 0:k.length)?(Object(s["r"])(),Object(s["e"])("div",Y,[Z,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.os)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(S=n.info)||void 0===S||null===(H=S.server)||void 0===H||null===(_=H.host)||void 0===_||null===(R=_.arch)||void 0===R?void 0:R.length)?(Object(s["r"])(),Object(s["e"])("div",ee,[te,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.host.arch)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(G=n.info)||void 0===G||null===(M=G.server)||void 0===M||null===(E=M.snapserver)||void 0===E||null===(I=E.name)||void 0===I?void 0:I.length)?(Object(s["r"])(),Object(s["e"])("div",ne,[se,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.snapserver.name)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(z=n.info)||void 0===z||null===($=z.server)||void 0===$||null===(q=$.snapserver)||void 0===q||null===(V=q.version)||void 0===V?void 0:V.length)?(Object(s["r"])(),Object(s["e"])("div",oe,[ce,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.snapserver.version)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(A=n.info)||void 0===A||null===(T=A.server)||void 0===T||null===(U=T.snapserver)||void 0===U?void 0:U.protocolVersion)?(Object(s["r"])(),Object(s["e"])("div",re,[le,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.snapserver.protocolVersion)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(D=n.info)||void 0===D||null===(P=D.server)||void 0===P||null===(ue=P.snapserver)||void 0===ue?void 0:ue.controlProtocolVersion)?(Object(s["r"])(),Object(s["e"])("div",ie,[ae,Object(s["h"])("div",{class:"value col-9",textContent:Object(s["C"])(n.info.server.snapserver.controlProtocolVersion)},null,8,["textContent"])])):Object(s["f"])("",!0)])})),de={name:"HostModal",props:{info:{type:Object,default:function(){}}}};de.render=ue,de.__scopeId="data-v-4b0dc9f8";var ve=de,he=Object(s["K"])("data-v-353ffa58");Object(s["u"])("data-v-353ffa58");var be={class:"info"},pe={class:"section name"},me=Object(s["h"])("div",{class:"title"},"Name",-1),fe={class:"row"},Oe={class:"name-value"},je=Object(s["h"])("i",{class:"fa fa-edit"},null,-1),ge={key:0,class:"section clients"},Ce=Object(s["h"])("div",{class:"title"},"Clients",-1),xe={key:1,class:"section streams"},we=Object(s["h"])("div",{class:"title"},"Stream",-1),ye={class:"row"},ke=Object(s["h"])("div",{class:"label col-3"},"ID",-1),Se={class:"value col-9"},He={key:0,class:"row"},_e=Object(s["h"])("div",{class:"label col-m-3"},"Status",-1),Re={key:1,class:"row"},Ge=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Host",-1),Me={key:2,class:"row"},Ee=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Path",-1),Ie={key:3,class:"row"},ze=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"URI",-1);Object(s["s"])();var $e=he((function(e,t,n,o,c,r){var l,i,a,u,d,v,h,b,p,m,f,O,j,g,C,x,w;return Object(s["r"])(),Object(s["e"])("div",be,[Object(s["h"])("div",pe,[me,Object(s["h"])("div",fe,[Object(s["h"])("div",Oe,[Object(s["h"])("span",{class:"name",textContent:Object(s["C"])((null===(l=n.group.name)||void 0===l?void 0:l.length)?n.group.name:"default")},null,8,["textContent"]),Object(s["h"])("button",{class:"pull-right",title:"Rename",onClick:t[1]||(t[1]=function(){return r.renameGroup.apply(r,arguments)})},[je])])])]),Object.keys((null===(i=n.group)||void 0===i?void 0:i.clients)||{}).length>0?(Object(s["r"])(),Object(s["e"])("div",ge,[Ce,(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(n.clients||{},(function(t,o){return Object(s["r"])(),Object(s["e"])("div",{class:"row",ref:"groupClients",key:o},[Object(s["h"])("label",{class:"client",for:"snapcast-client-"+t.id},[Object(s["h"])("input",{type:"checkbox",class:"client",id:"snapcast-client-".concat(t.id),value:t.id,checked:t.id in n.group.clients,disabled:n.loading,onInput:function(n){return e.$emit(n.target.checked?"add-client":"remove-client",t.id)}},null,40,["id","value","checked","disabled","onInput"]),Object(s["g"])(" "+Object(s["C"])(t.host.name),1)],8,["for"])],512)})),128))])):Object(s["f"])("",!0),(null===(a=n.group)||void 0===a?void 0:a.stream_id)?(Object(s["r"])(),Object(s["e"])("div",xe,[we,Object(s["h"])("div",ye,[ke,Object(s["h"])("div",Se,[Object(s["h"])("label",null,[Object(s["h"])("select",{ref:"streamSelect",onChange:t[2]||(t[2]=function(t){return e.$emit("stream-change",t.target.value)})},[(Object(s["r"])(!0),Object(s["e"])(s["a"],null,Object(s["x"])(n.streams,(function(e,t){return Object(s["r"])(),Object(s["e"])("option",{key:t,textContent:Object(s["C"])(n.streams[n.group.stream_id].id),name:e.id,value:e.id,disabled:n.loading,selected:e.id===n.group.stream_id},null,8,["textContent","name","value","disabled","selected"])})),128))],544)])])]),(null===(u=n.streams)||void 0===u||null===(d=u[n.group.stream_id])||void 0===d?void 0:d.status)?(Object(s["r"])(),Object(s["e"])("div",He,[_e,Object(s["h"])("div",{class:"value col-m-9",textContent:Object(s["C"])(n.streams[n.group.stream_id].status)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(v=n.streams)||void 0===v||null===(h=v[null===(p=n.group)||void 0===p?void 0:p.stream_id])||void 0===h||null===(b=h.uri)||void 0===b?void 0:b.host)?(Object(s["r"])(),Object(s["e"])("div",Re,[Ge,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.streams[n.group.stream_id].uri.host)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(m=n.streams)||void 0===m||null===(f=m[null===(j=n.group)||void 0===j?void 0:j.stream_id])||void 0===f||null===(O=f.uri)||void 0===O?void 0:O.path)?(Object(s["r"])(),Object(s["e"])("div",Me,[Ee,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.streams[n.group.stream_id].uri.path)},null,8,["textContent"])])):Object(s["f"])("",!0),(null===(g=n.streams)||void 0===g||null===(C=g[null===(w=n.group)||void 0===w?void 0:w.stream_id])||void 0===C||null===(x=C.uri)||void 0===x?void 0:x.raw)?(Object(s["r"])(),Object(s["e"])("div",Ie,[ze,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.streams[n.group.stream_id].uri.raw)},null,8,["textContent"])])):Object(s["f"])("",!0)])):Object(s["f"])("",!0)])})),qe=(n("498a"),{name:"GroupModal",emits:["add-client","remove-client","stream-change","rename-group"],props:{loading:{type:Boolean,default:!1},group:{type:Object},clients:{type:Object},streams:{type:Object}},methods:{renameGroup:function(){var e=(prompt("New group name",this.group.name)||"").trim();(null===e||void 0===e?void 0:e.length)&&this.$emit("rename-group",e)}}});n("3193");qe.render=$e,qe.__scopeId="data-v-353ffa58";var Ve=qe,Ae=Object(s["K"])("data-v-0e55ac54");Object(s["u"])("data-v-0e55ac54");var Te={class:"client-modal"},Ue={key:0,class:"info"},De={class:"row"},Pe=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"ID",-1),Ke={key:0,class:"row"},Be=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Name",-1),Ne={class:"value col-s-12 col-m-9"},Fe=Object(s["h"])("i",{class:"fa fa-edit"},null,-1),Le={class:"row"},Qe=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Connected",-1),Je={class:"row"},We=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Volume",-1),Xe={class:"value col-s-12 col-m-9"},Ye={class:"row"},Ze=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Muted",-1),et={class:"row"},tt=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Latency",-1),nt={key:1,class:"row"},st=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"IP Address",-1),ot={key:2,class:"row"},ct=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"MAC Address",-1),rt={key:3,class:"row"},lt=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"OS",-1),it={key:4,class:"row"},at=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Architecture",-1),ut={class:"row"},dt=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Client name",-1),vt={class:"row"},ht=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Client version",-1),bt={class:"row"},pt=Object(s["h"])("div",{class:"label col-s-12 col-m-3"},"Protocol version",-1),mt={class:"buttons"},ft={class:"row"},Ot=Object(s["h"])("i",{class:"fas fa-trash"},null,-1),jt=Object(s["h"])("span",{class:"name"},"Remove client",-1);Object(s["s"])();var gt=Ae((function(e,t,n,o,c,r){var l,i,a,u,d;return Object(s["r"])(),Object(s["e"])("div",Te,[n.client?(Object(s["r"])(),Object(s["e"])("div",Ue,[Object(s["h"])("div",De,[Pe,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.id)},null,8,["textContent"])]),(null===(l=n.client.config)||void 0===l||null===(i=l.name)||void 0===i?void 0:i.length)||(null===(a=n.client.host)||void 0===a?void 0:a.name)?(Object(s["r"])(),Object(s["e"])("div",Ke,[Be,Object(s["h"])("div",Ne,[Object(s["h"])("span",{class:"name",textContent:Object(s["C"])((null===(u=n.client.config)||void 0===u?void 0:u.name)||(null===(d=n.client.host)||void 0===d?void 0:d.name))},null,8,["textContent"]),Object(s["h"])("button",{title:"Rename",onClick:t[1]||(t[1]=function(){return r.renameClient.apply(r,arguments)})},[Fe])])])):Object(s["f"])("",!0),Object(s["h"])("div",Le,[Qe,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.connected)},null,8,["textContent"])]),Object(s["h"])("div",Je,[We,Object(s["h"])("div",Xe,Object(s["C"])(n.client.config.volume.percent)+"%",1)]),Object(s["h"])("div",Ye,[Ze,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.config.volume.muted)},null,8,["textContent"])]),Object(s["h"])("div",et,[tt,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.config.latency)},null,8,["textContent"])]),n.client.host.ip&&n.client.host.ip.length?(Object(s["r"])(),Object(s["e"])("div",nt,[st,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.host.ip)},null,8,["textContent"])])):Object(s["f"])("",!0),n.client.host.mac&&n.client.host.mac.length?(Object(s["r"])(),Object(s["e"])("div",ot,[ct,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.host.mac)},null,8,["textContent"])])):Object(s["f"])("",!0),n.client.host.os&&n.client.host.os.length?(Object(s["r"])(),Object(s["e"])("div",rt,[lt,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.host.os)},null,8,["textContent"])])):Object(s["f"])("",!0),n.client.host.arch&&n.client.host.arch.length?(Object(s["r"])(),Object(s["e"])("div",it,[at,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.host.arch)},null,8,["textContent"])])):Object(s["f"])("",!0),Object(s["h"])("div",ut,[dt,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.snapclient.name)},null,8,["textContent"])]),Object(s["h"])("div",vt,[ht,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.snapclient.version)},null,8,["textContent"])]),Object(s["h"])("div",bt,[pt,Object(s["h"])("div",{class:"value col-s-12 col-m-9",textContent:Object(s["C"])(n.client.snapclient.protocolVersion)},null,8,["textContent"])])])):Object(s["f"])("",!0),Object(s["h"])("div",mt,[Object(s["h"])("div",ft,[Object(s["h"])("button",{type:"button",disabled:n.loading,onClick:t[2]||(t[2]=function(){return r.removeClient.apply(r,arguments)})},[Ot,jt],8,["disabled"])])])])})),Ct={name:"ClientModal",emits:["remove-client","rename-client"],props:{loading:{type:Boolean,default:!1},client:{type:Object}},methods:{removeClient:function(){window.confirm("Are you sure that you want to remove this client?")&&this.$emit("remove-client")},renameClient:function(){var e,t=(window.prompt("New client name",(null===(e=this.client.config.name)||void 0===e?void 0:e.length)?this.client.config.name:this.client.host.name)||"").trim();t.length&&this.$emit("rename-client",t)}}};n("0e52");Ct.render=gt,Ct.__scopeId="data-v-0e55ac54";var xt=Ct,wt=n("3a5e"),yt={name:"MusicSnapcast",mixins:[p["a"]],components:{Loading:wt["a"],Modal:b["a"],Host:D,ModalHost:ve,ModalGroup:Ve,ModalClient:xt},data:function(){return{loading:!1,hosts:{},ports:{},selectedHost:null,selectedGroup:null,selectedClient:null}},computed:{clientsByHost:function(){return Object.entries(this.hosts).reduce((function(e,t){var n=Object(h["a"])(t,2),s=n[0],o=n[1];return e[s]={},Object.values(o.groups).forEach((function(t){Object.entries(t.clients).forEach((function(t){var n=Object(h["a"])(t,2),o=n[0],c=n[1];e[s][o]=c}))})),e}),{})}},methods:{parseServerStatus:function(e){e.server.host.port=this.ports[e.server.host.name],this.hosts[e.server.host.name]=Object(v["a"])(Object(v["a"])({},e),{},{groups:e.groups.map((function(e){return Object(v["a"])(Object(v["a"])({},e),{},{clients:e.clients.reduce((function(e,t){return e[t.id]=t,e}),{})})})).reduce((function(e,t){return e[t.id]=t,e}),{}),streams:e.streams.reduce((function(e,t){return e[t.id]=t,e}),{})})},refresh:function(){var e=this;return Object(d["a"])(regeneratorRuntime.mark((function t(){var n,s;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return e.loading=!0,t.prev=1,t.next=4,e.request("music.snapcast.get_backend_hosts");case 4:return n=t.sent,t.next=7,Promise.all(Object.keys(n).map(function(){var t=Object(d["a"])(regeneratorRuntime.mark((function t(s){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.abrupt("return",e.request("music.snapcast.status",{host:s,port:n[s]}));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()));case 7:s=t.sent,e.hosts={},s.forEach((function(t){e.ports[t.server.host.name]=n[t.server.host.name],e.parseServerStatus(t)}));case 10:return t.prev=10,e.loading=!1,t.finish(10);case 13:case"end":return t.stop()}}),t,null,[[1,,10,13]])})))()},refreshHost:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(e in t.hosts){n.next=2;break}return n.abrupt("return");case 2:return n.t0=t,n.next=5,t.request("music.snapcast.status",{host:e,port:t.ports[e]});case 5:n.t1=n.sent,n.t0.parseServerStatus.call(n.t0,n.t1);case 7:case"end":return n.stop()}}),n)})))()},addClientToGroup:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){var s;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.loading=!0,n.prev=1,t.selectedHost&&t.selectedGroup&&e in t.clientsByHost[t.selectedHost]){n.next=4;break}return n.abrupt("return");case 4:return s=Object(u["a"])(new Set([e].concat(Object(u["a"])(Object.keys(t.hosts[t.selectedHost].groups[t.selectedGroup].clients))))),n.next=7,t.request("music.snapcast.group_set_clients",{host:t.selectedHost,port:t.ports[t.selectedHost],group:t.selectedGroup,clients:s});case 7:return n.next=9,t.refreshHost(t.selectedHost);case 9:return n.prev=9,t.loading=!1,n.finish(9);case 12:case"end":return n.stop()}}),n,null,[[1,,9,12]])})))()},removeClientFromGroup:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){var s;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.loading=!0,n.prev=1,t.selectedHost&&t.selectedGroup&&e in t.clientsByHost[t.selectedHost]){n.next=4;break}return n.abrupt("return");case 4:if(s=new Set(Object(u["a"])(Object.keys(t.hosts[t.selectedHost].groups[t.selectedGroup].clients))),s.has(e)){n.next=7;break}return n.abrupt("return");case 7:return s.delete(e),n.next=10,t.request("music.snapcast.group_set_clients",{host:t.selectedHost,port:t.ports[t.selectedHost],group:t.selectedGroup,clients:Object(u["a"])(s)});case 10:return n.next=12,t.refreshHost(t.selectedHost);case 12:return n.prev=12,t.loading=!1,n.finish(12);case 15:case"end":return n.stop()}}),n,null,[[1,,12,15]])})))()},renameGroup:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.loading=!0,n.prev=1,t.selectedHost&&t.selectedGroup){n.next=4;break}return n.abrupt("return");case 4:return n.next=6,t.request("music.snapcast.set_group_name",{host:t.selectedHost,port:t.ports[t.selectedHost],group:t.selectedGroup,name:e});case 6:return n.next=8,t.refreshHost(t.selectedHost);case 8:return n.prev=8,t.loading=!1,n.finish(8);case 11:case"end":return n.stop()}}),n,null,[[1,,8,11]])})))()},renameClient:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(t.loading=!0,n.prev=1,t.selectedHost&&t.selectedClient){n.next=4;break}return n.abrupt("return");case 4:return n.next=6,t.request("music.snapcast.set_client_name",{host:t.selectedHost,port:t.ports[t.selectedHost],client:t.selectedClient,name:e});case 6:return n.next=8,t.refreshHost(t.selectedHost);case 8:return n.prev=8,t.loading=!1,n.finish(8);case 11:case"end":return n.stop()}}),n,null,[[1,,8,11]])})))()},removeClient:function(){var e=this;return Object(d["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(e.loading=!0,t.prev=1,e.selectedHost&&e.selectedClient){t.next=4;break}return t.abrupt("return");case 4:return t.next=6,e.request("music.snapcast.delete_client",{host:e.selectedHost,port:e.ports[e.selectedHost],client:e.selectedClient});case 6:return e.$refs.modalClient.close(),t.next=9,e.refreshHost(e.selectedHost);case 9:return t.prev=9,e.loading=!1,t.finish(9);case 12:case"end":return t.stop()}}),t,null,[[1,,9,12]])})))()},streamChange:function(e){var t=this;return Object(d["a"])(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return t.loading=!0,n.prev=1,n.next=4,t.request("music.snapcast.group_set_stream",{host:t.selectedHost,port:t.ports[t.selectedHost],group:t.selectedGroup,stream_id:e});case 4:return n.next=6,t.refreshHost(t.selectedHost);case 6:return n.prev=6,t.loading=!1,n.finish(6);case 9:case"end":return n.stop()}}),n,null,[[1,,6,9]])})))()},onClientUpdate:function(e){var t=this;Object.keys(this.hosts[e.host].groups).forEach((function(n){e.client.id in t.hosts[e.host].groups[n].clients&&(t.hosts[e.host].groups[n].clients[e.client.id]=e.client)}))},onGroupStreamChange:function(e){this.hosts[e.host].groups[e.group].stream_id=e.stream},onServerUpdate:function(e){this.parseServerStatus(e.server)},onStreamUpdate:function(e){this.hosts[e.host].streams[e.stream.id]=e.stream},onClientVolumeChange:function(e){var t=this;Object.keys(this.hosts[e.host].groups).forEach((function(n){e.client in t.hosts[e.host].groups[n].clients&&(null!=e.volume&&(t.hosts[e.host].groups[n].clients[e.client].config.volume.percent=e.volume),null!=e.muted&&(t.hosts[e.host].groups[n].clients[e.client].config.volume.muted=e.muted))}))},onGroupMuteChange:function(e){this.hosts[e.host].groups[e.group].muted=e.muted},modalShow:function(e){switch(e.type){case"host":this.modal[e.type].info=this.hosts[e.host];break;case"group":this.modal[e.type].info.server=this.hosts[e.host].server,this.modal[e.type].info.group=this.hosts[e.host].groups[e.group],this.modal[e.type].info.streams=this.hosts[e.host].streams,this.modal[e.type].info.clients={};for(var t=0,n=Object.values(this.hosts[e.host].groups);t 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n\n redefineAll(C.prototype, IS_MAP ? {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS) defineProperty(C.prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return C;\n },\n setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n // revert to the last existing entry\n while (entry && entry.removed) entry = entry.previous;\n // get next entry\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n // or finish the iteration\n state.target = undefined;\n return { value: undefined, done: true };\n }\n // return step by kind\n if (kind == 'keys') return { value: entry.key, done: false };\n if (kind == 'values') return { value: entry.value, done: false };\n return { value: [entry.key, entry.value], done: false };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n\n var fixMethod = function (KEY) {\n var nativeMethod = NativePrototype[KEY];\n redefine(NativePrototype, KEY,\n KEY == 'add' ? function add(value) {\n nativeMethod.call(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n nativeMethod.call(this, key === 0 ? 0 : key, value);\n return this;\n }\n );\n };\n\n // eslint-disable-next-line max-len\n if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })))) {\n // create collection constructor\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.REQUIRED = true;\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n // eslint-disable-next-line no-new\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, Constructor, CONSTRUCTOR_NAME);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n // weak collections should not contains .clear method\n if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n }\n\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n return Constructor;\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Client.vue?vue&type=style&index=0&id=12b0e65b&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Host.vue?vue&type=style&index=0&id=7bce419a&lang=scss&scoped=true\"","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","\n
\n \n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n
\n \n \n \n
\n\n \n
\n\n\n\n\n","\n
\n
\n
\n \n {{ server.host.name }}\n
\n
\n \n
\n
\n\n
\n \n
\n
\n\n\n\n\n\n","\n
\n
\n
\n \n {{ name || stream.id || id }}\n
\n\n
\n \n
\n
\n\n
\n \n
\n
\n\n\n\n\n\n","\n
\n
\n
\n\n
\n
\n \n
\n\n
\n \n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Client.vue?vue&type=template&id=12b0e65b&scoped=true\"\nimport script from \"./Client.vue?vue&type=script&lang=js\"\nexport * from \"./Client.vue?vue&type=script&lang=js\"\n\nimport \"./Client.vue?vue&type=style&index=0&id=12b0e65b&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-12b0e65b\"\n\nexport default script","import { render } from \"./Group.vue?vue&type=template&id=748fccb4&scoped=true\"\nimport script from \"./Group.vue?vue&type=script&lang=js\"\nexport * from \"./Group.vue?vue&type=script&lang=js\"\n\nimport \"./Group.vue?vue&type=style&index=0&id=748fccb4&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-748fccb4\"\n\nexport default script","import { render } from \"./Host.vue?vue&type=template&id=7bce419a&scoped=true\"\nimport script from \"./Host.vue?vue&type=script&lang=js\"\nexport * from \"./Host.vue?vue&type=script&lang=js\"\n\nimport \"./Host.vue?vue&type=style&index=0&id=7bce419a&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-7bce419a\"\n\nexport default script","\n
\n
\n
IP Address
\n \n
\n\n
\n
MAC Address
\n \n
\n\n
\n
Name
\n \n
\n\n
\n
Port
\n \n
\n\n
\n
OS
\n \n
\n\n
\n
Architecture
\n \n
\n\n
\n
Server name
\n \n
\n\n
\n
Server version
\n \n
\n\n
\n
Protocol version
\n \n
\n\n
\n
Control protocol version
\n \n
\n
\n\n\n\n\n","import { render } from \"./Host.vue?vue&type=template&id=4b0dc9f8&scoped=true\"\nimport script from \"./Host.vue?vue&type=script&lang=js\"\nexport * from \"./Host.vue?vue&type=script&lang=js\"\nscript.render = render\nscript.__scopeId = \"data-v-4b0dc9f8\"\n\nexport default script","\n
\n
\n
Name
\n
\n
\n \n \n
\n
\n
\n\n
0\">\n
Clients
\n
\n \n
\n
\n\n
\n
Stream
\n
\n
ID
\n
\n \n
\n
\n\n
\n
Status
\n \n
\n\n
\n
Host
\n \n
\n\n
\n
Path
\n \n
\n\n
\n
URI
\n \n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Group.vue?vue&type=template&id=353ffa58&scoped=true\"\nimport script from \"./Group.vue?vue&type=script&lang=js\"\nexport * from \"./Group.vue?vue&type=script&lang=js\"\n\nimport \"./Group.vue?vue&type=style&index=0&id=353ffa58&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-353ffa58\"\n\nexport default script","\n
\n\n\n\n\n\n","\n \n\n\n\n","\n","import script from \"./Mixin.vue?vue&type=script&lang=js\"\nexport * from \"./Mixin.vue?vue&type=script&lang=js\"\n\nexport default script","import { render } from \"./Chromecast.vue?vue&type=template&id=55476f3a&bindings={\\\"name\\\":\\\"data\\\",\\\"pluginName\\\":\\\"data\\\",\\\"iconClass\\\":\\\"data\\\",\\\"getPlayers\\\":\\\"options\\\",\\\"getPlayerName\\\":\\\"options\\\",\\\"status\\\":\\\"options\\\",\\\"play\\\":\\\"options\\\",\\\"pause\\\":\\\"options\\\",\\\"stop\\\":\\\"options\\\",\\\"setVolume\\\":\\\"options\\\",\\\"seek\\\":\\\"options\\\",\\\"onMediaEvent\\\":\\\"options\\\",\\\"supports\\\":\\\"options\\\"}\"\nimport script from \"./Chromecast.vue?vue&type=script&lang=js\"\nexport * from \"./Chromecast.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Kodi.vue?vue&type=template&id=25a1a1cf&bindings={\\\"iconClass\\\":\\\"data\\\",\\\"name\\\":\\\"data\\\",\\\"pluginName\\\":\\\"data\\\",\\\"getPlayers\\\":\\\"options\\\",\\\"supports\\\":\\\"options\\\"}\"\nimport script from \"./Kodi.vue?vue&type=script&lang=js\"\nexport * from \"./Kodi.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Mplayer.vue?vue&type=template&id=0caf2d73&bindings={\\\"iconClass\\\":\\\"data\\\",\\\"name\\\":\\\"data\\\",\\\"pluginName\\\":\\\"data\\\"}\"\nimport script from \"./Mplayer.vue?vue&type=script&lang=js\"\nexport * from \"./Mplayer.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Mpv.vue?vue&type=template&id=3b3bb533&bindings={\\\"iconClass\\\":\\\"data\\\",\\\"name\\\":\\\"data\\\",\\\"pluginName\\\":\\\"data\\\"}\"\nimport script from \"./Mpv.vue?vue&type=script&lang=js\"\nexport * from \"./Mpv.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Omxplayer.vue?vue&type=template&id=0f086473&bindings={\\\"iconClass\\\":\\\"data\\\",\\\"name\\\":\\\"data\\\",\\\"pluginName\\\":\\\"data\\\"}\"\nimport script from \"./Omxplayer.vue?vue&type=script&lang=js\"\nexport * from \"./Omxplayer.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Vlc.vue?vue&type=template&id=5b5bcdd3&bindings={\\\"iconClass\\\":\\\"data\\\",\\\"name\\\":\\\"data\\\",\\\"pluginName\\\":\\\"data\\\"}\"\nimport script from \"./Vlc.vue?vue&type=script&lang=js\"\nexport * from \"./Vlc.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","import { render } from \"./Players.vue?vue&type=template&id=37304dfd&scoped=true&bindings={\\\"pluginName\\\":\\\"props\\\",\\\"loading\\\":\\\"data\\\",\\\"players\\\":\\\"data\\\",\\\"selectedPlayer\\\":\\\"data\\\",\\\"config\\\":\\\"data\\\",\\\"plugins\\\":\\\"data\\\",\\\"loadPlugins\\\":\\\"options\\\",\\\"refresh\\\":\\\"options\\\",\\\"select\\\":\\\"options\\\"}\"\nimport script from \"./Players.vue?vue&type=script&lang=js\"\nexport * from \"./Players.vue?vue&type=script&lang=js\"\n\nimport \"./Players.vue?vue&type=style&index=0&id=37304dfd&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-37304dfd\"\n\nexport default script","import { render } from \"./Header.vue?vue&type=template&id=457d4016&scoped=true&bindings={\\\"pluginName\\\":\\\"props\\\",\\\"selectedView\\\":\\\"props\\\",\\\"selectedSubtitles\\\":\\\"props\\\",\\\"selectedItem\\\":\\\"props\\\",\\\"hasSubtitlesPlugin\\\":\\\"props\\\",\\\"browserFilter\\\":\\\"props\\\",\\\"sources\\\":\\\"props\\\",\\\"filterVisible\\\":\\\"data\\\",\\\"query\\\":\\\"data\\\",\\\"torrentURL\\\":\\\"data\\\",\\\"search\\\":\\\"options\\\"}\"\nimport script from \"./Header.vue?vue&type=script&lang=js\"\nexport * from \"./Header.vue?vue&type=script&lang=js\"\n\nimport \"./Header.vue?vue&type=style&index=0&id=457d4016&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-457d4016\"\n\nexport default script","\n
\n
Title
\n
\n \n \n
\n
\n\n
\n
Synopsis
\n \n
\n\n
\n
Description
\n \n
\n\n
\n
Summary
\n \n
\n\n
\n
Duration
\n \n
\n\n
\n
Genres
\n \n
\n\n
\n
Channel
\n
\n \n
\n
\n\n
\n
Year
\n \n
\n\n
\n
Published at
\n \n
\n\n
\n
File
\n \n
\n\n
\n
URL
\n
\n \n
\n
\n\n
\n
Trailer
\n
\n \n
\n
\n\n
\n
Size
\n \n
\n\n
\n
Quality
\n \n
\n\n
\n
Seeds
\n \n
\n\n
\n
Peers
\n \n
\n\n
\n
Language
\n \n
\n\n\n\n\n\n","import { render } from \"./Info.vue?vue&type=template&id=3fc0d8f1&scoped=true&bindings={\\\"item\\\":\\\"props\\\"}\"\nimport script from \"./Info.vue?vue&type=script&lang=js\"\nexport * from \"./Info.vue?vue&type=script&lang=js\"\n\nimport \"./Info.vue?vue&type=style&index=0&id=3fc0d8f1&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-3fc0d8f1\"\n\nexport default script","\n \n\n\n\n\n\n","import { render } from \"./Nav.vue?vue&type=template&id=4597e14d&scoped=true&bindings={\\\"selectedView\\\":\\\"props\\\",\\\"collapsed\\\":\\\"props\\\",\\\"views\\\":\\\"props\\\"}\"\nimport script from \"./Nav.vue?vue&type=script&lang=js\"\nexport * from \"./Nav.vue?vue&type=script&lang=js\"\n\nimport \"./Nav.vue?vue&type=style&index=0&id=4597e14d&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4597e14d\"\n\nexport default script","\n
\n
\n No search results\n
\n\n
\n
\n
\n \n
\n \n
\n\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Results.vue?vue&type=template&id=acfde602&scoped=true&bindings={\\\"results\\\":\\\"props\\\",\\\"selectedResult\\\":\\\"props\\\",\\\"sources\\\":\\\"props\\\",\\\"typeIcons\\\":\\\"data\\\"}\"\nimport script from \"./Results.vue?vue&type=script&lang=js\"\nexport * from \"./Results.vue?vue&type=script&lang=js\"\n\nimport \"./Results.vue?vue&type=style&index=0&id=acfde602&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-acfde602\"\n\nexport default script","\n
\n
\n \n
\n
\n \n
\n\n
None
\n
\n\n
\n
\n \n \n \n
\n {{ sub.SubFileName }}\n
\n
\n\n \n
\n\n\n\n\n\n","import { render } from \"./Subtitles.vue?vue&type=template&id=77ae3705&scoped=true&bindings={\\\"item\\\":\\\"props\\\",\\\"loading\\\":\\\"data\\\",\\\"items\\\":\\\"data\\\",\\\"selectedItem\\\":\\\"data\\\",\\\"refresh\\\":\\\"options\\\"}\"\nimport script from \"./Subtitles.vue?vue&type=script&lang=js\"\nexport * from \"./Subtitles.vue?vue&type=script&lang=js\"\n\nimport \"./Subtitles.vue?vue&type=style&index=0&id=77ae3705&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-77ae3705\"\n\nexport default script","\n
\n \n\n
\n
\n \n ..\n
\n
\n\n
\n
\n \n \n {{ file.name }}\n \n
\n\n
\n \n \n \n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Browser.vue?vue&type=template&id=a2e5c946&scoped=true&bindings={\\\"initialPath\\\":\\\"props\\\",\\\"isMedia\\\":\\\"props\\\",\\\"filter\\\":\\\"props\\\",\\\"loading\\\":\\\"data\\\",\\\"path\\\":\\\"data\\\",\\\"files\\\":\\\"data\\\",\\\"filteredFiles\\\":\\\"options\\\",\\\"refresh\\\":\\\"options\\\"}\"\nimport script from \"./Browser.vue?vue&type=script&lang=js\"\nexport * from \"./Browser.vue?vue&type=script&lang=js\"\n\nimport \"./Browser.vue?vue&type=style&index=0&id=a2e5c946&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-a2e5c946\"\n\nexport default script","import { render } from \"./Index.vue?vue&type=template&id=3055ba65&scoped=true&bindings={\\\"pluginName\\\":\\\"props\\\",\\\"mediaButtons\\\":\\\"props\\\",\\\"loading\\\":\\\"data\\\",\\\"results\\\":\\\"data\\\",\\\"selectedResult\\\":\\\"data\\\",\\\"selectedPlayer\\\":\\\"data\\\",\\\"selectedView\\\":\\\"data\\\",\\\"selectedSubtitles\\\":\\\"data\\\",\\\"showSubtitlesModal\\\":\\\"data\\\",\\\"awaitingPlayTorrent\\\":\\\"data\\\",\\\"urlPlay\\\":\\\"data\\\",\\\"browserFilter\\\":\\\"data\\\",\\\"torrentPlugin\\\":\\\"data\\\",\\\"torrentPlugins\\\":\\\"data\\\",\\\"sources\\\":\\\"data\\\",\\\"hasSubtitlesPlugin\\\":\\\"options\\\",\\\"search\\\":\\\"options\\\",\\\"play\\\":\\\"options\\\",\\\"pause\\\":\\\"options\\\",\\\"stop\\\":\\\"options\\\",\\\"setVolume\\\":\\\"options\\\",\\\"seek\\\":\\\"options\\\",\\\"view\\\":\\\"options\\\",\\\"download\\\":\\\"options\\\",\\\"refresh\\\":\\\"options\\\",\\\"onStatusUpdate\\\":\\\"options\\\",\\\"onTorrentQueued\\\":\\\"options\\\",\\\"onTorrentMetadata\\\":\\\"options\\\",\\\"onTorrentDownloadStart\\\":\\\"options\\\",\\\"onTorrentDownloadCompleted\\\":\\\"options\\\",\\\"getTorrentPlugin\\\":\\\"options\\\",\\\"downloadTorrent\\\":\\\"options\\\",\\\"selectSubtitles\\\":\\\"options\\\",\\\"onResultSelect\\\":\\\"options\\\",\\\"playUrl\\\":\\\"options\\\"}\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=3055ba65&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-3055ba65\"\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Info.vue?vue&type=style&index=0&id=3fc0d8f1&lang=scss&scoped=true\"","\n \n\n\n\n\n\n","import { render } from \"./Index.vue?vue&type=template&id=08ab61b7&scoped=true&bindings={}\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\nscript.render = render\nscript.__scopeId = \"data-v-08ab61b7\"\n\nexport default script","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Nav.vue?vue&type=style&index=0&id=4597e14d&lang=scss&scoped=true\"","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith\n ? nativeEndsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Results.vue?vue&type=style&index=0&id=acfde602&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Index.vue?vue&type=style&index=0&id=3055ba65&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Header.vue?vue&type=style&index=0&id=457d4016&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Players.vue?vue&type=style&index=0&id=37304dfd&lang=scss&scoped=true\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-0918db6a.cd3d5e70.js b/platypush/backend/http/dist/static/js/chunk-0918db6a.cd3d5e70.js
deleted file mode 100644
index a0ef88e3..00000000
--- a/platypush/backend/http/dist/static/js/chunk-0918db6a.cd3d5e70.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-0918db6a"],{"3cbf":function(e,t,r){},"4de4":function(e,t,r){"use strict";var n=r("23e7"),c=r("b727").filter,a=r("1dde"),o=r("ae40"),i=a("filter"),u=o("filter");n({target:"Array",proto:!0,forced:!i||!u},{filter:function(e){return c(this,e,arguments.length>1?arguments[1]:void 0)}})},5530:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));r("a4d3"),r("4de4"),r("4160"),r("e439"),r("dbb4"),r("b64b"),r("159b");function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;ts)r=c(n,t=d[s++]),void 0!==r&&u(b,t,r);return b}})},e439:function(e,t,r){var n=r("23e7"),c=r("d039"),a=r("fc6a"),o=r("06cf").f,i=r("83ab"),u=c((function(){o(1)})),d=!i||u;n({target:"Object",stat:!0,forced:d,sham:!i},{getOwnPropertyDescriptor:function(e,t){return o(a(e),t)}})},f774:function(e,t,r){"use strict";r("ba28")}}]);
-//# sourceMappingURL=chunk-0918db6a.cd3d5e70.js.map
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-0918db6a.cd3d5e70.js.map b/platypush/backend/http/dist/static/js/chunk-0918db6a.cd3d5e70.js.map
deleted file mode 100644
index 25f7c81e..00000000
--- a/platypush/backend/http/dist/static/js/chunk-0918db6a.cd3d5e70.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///./src/components/panels/Torrent/Panel.vue","webpack:///./src/components/panels/Torrent/Header.vue","webpack:///./src/components/panels/Torrent/Header.vue?80bb","webpack:///./src/components/panels/Torrent/Panel.vue?6184","webpack:///./src/components/panels/Torrent/Panel.vue?c4be","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack:///./src/components/panels/Torrent/Header.vue?713f"],"names":["$","$filter","filter","arrayMethodHasSpeciesSupport","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","target","proto","forced","callbackfn","this","arguments","length","undefined","_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","push","apply","_objectSpread2","i","source","forEach","getOwnPropertyDescriptors","defineProperties","class","download","$event","plugin-name","pluginName","filterVisible","$emit","torrentURL","type","placeholder","name","emits","data","render","__scopeId","components","TorrentView","Header","mixins","Utils","props","String","required","methods","torrent","request","DESCRIPTORS","toIndexedObject","getOwnPropertyDescriptorModule","createProperty","stat","sham","descriptor","O","f","result","index","fails","nativeGetOwnPropertyDescriptor","FAILS_ON_PRIMITIVES","FORCED","it"],"mappings":"2IACA,IAAIA,EAAI,EAAQ,QACZC,EAAU,EAAQ,QAAgCC,OAClDC,EAA+B,EAAQ,QACvCC,EAA0B,EAAQ,QAElCC,EAAsBF,EAA6B,UAEnDG,EAAiBF,EAAwB,UAK7CJ,EAAE,CAAEO,OAAQ,QAASC,OAAO,EAAMC,QAASJ,IAAwBC,GAAkB,CACnFJ,OAAQ,SAAgBQ,GACtB,OAAOT,EAAQU,KAAMD,EAAYE,UAAUC,OAAS,EAAID,UAAU,QAAKE,O,0ICf5D,SAASC,EAAgBC,EAAKC,EAAKC,GAYhD,OAXID,KAAOD,EACTG,OAAOC,eAAeJ,EAAKC,EAAK,CAC9BC,MAAOA,EACPG,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZP,EAAIC,GAAOC,EAGNF,ECVT,SAASQ,EAAQC,EAAQC,GACvB,IAAIC,EAAOR,OAAOQ,KAAKF,GAEvB,GAAIN,OAAOS,sBAAuB,CAChC,IAAIC,EAAUV,OAAOS,sBAAsBH,GACvCC,IAAgBG,EAAUA,EAAQ3B,QAAO,SAAU4B,GACrD,OAAOX,OAAOY,yBAAyBN,EAAQK,GAAKT,eAEtDM,EAAKK,KAAKC,MAAMN,EAAME,GAGxB,OAAOF,EAGM,SAASO,EAAe3B,GACrC,IAAK,IAAI4B,EAAI,EAAGA,EAAIvB,UAAUC,OAAQsB,IAAK,CACzC,IAAIC,EAAyB,MAAhBxB,UAAUuB,GAAavB,UAAUuB,GAAK,GAE/CA,EAAI,EACNX,EAAQL,OAAOiB,IAAS,GAAMC,SAAQ,SAAUpB,GAC9CG,EAAeb,EAAQU,EAAKmB,EAAOnB,OAE5BE,OAAOmB,0BAChBnB,OAAOoB,iBAAiBhC,EAAQY,OAAOmB,0BAA0BF,IAEjEZ,EAAQL,OAAOiB,IAASC,SAAQ,SAAUpB,GACxCE,OAAOC,eAAeb,EAAQU,EAAKE,OAAOY,yBAAyBK,EAAQnB,OAKjF,OAAOV,I,gIChCFiC,MAAM,qB,GACJA,MAAM,oB,GAINA,MAAM,kB,uIALb,eAQM,MARN,EAQM,CAPJ,eAEM,MAFN,EAEM,CADJ,eAA0C,GAAjC,aAAW,+BAAE,EAAAC,SAASC,SAGjC,eAEM,MAFN,EAEM,CADJ,eAAyC,GAA3BC,cAAa,EAAAC,YAAU,+B,qGCLlCJ,MAAM,O,GACJA,MAAM,sC,GAEAA,MAAM,c,wEAJrB,eAUM,OAVDA,MAAK,CAAC,SAAQ,eAAyB,EAAAK,iB,CAC1C,eAQM,MARN,EAQM,CAPJ,eAMM,MANN,EAMM,CALJ,eAIO,QAJA,SAAM,+CAAU,EAAAC,MAAK,cAAgB,EAAAC,cAAU,e,CACpD,eAEQ,QAFR,EAEQ,C,eADN,eAAwE,SAAjEC,KAAK,SAASC,YAAY,kB,qDAA2B,EAAAF,WAAU,K,mBAAV,EAAAA,iB,eASzD,GACbG,KAAM,SACNC,MAAO,CAAC,eAERC,KAJa,WAKX,MAAO,CACLL,WAAY,M,UChBlB,EAAOM,OAAS,EAChB,EAAOC,UAAY,kBAEJ,Q,wBFSA,GACbJ,KAAM,QACNK,WAAY,CAACC,YAAA,OAAaC,UAC1BC,OAAQ,CAACC,EAAA,MACTC,MAAO,CACLhB,WAAY,CACVI,KAAMa,OACNC,UAAU,IAIdC,QAAS,CACDtB,SADC,SACQuB,GAAS,wKAChB,EAAKC,QAAL,UAAgB,EAAKrB,WAArB,aAA4C,CAACoB,QAASA,IADtC,gD,UGxB5B,EAAOX,OAAS,EAChB,EAAOC,UAAY,kBAEJ,U,kCCRf,W,4CCAA,IAAItD,EAAI,EAAQ,QACZkE,EAAc,EAAQ,QACtB1C,EAAU,EAAQ,QAClB2C,EAAkB,EAAQ,QAC1BC,EAAiC,EAAQ,QACzCC,EAAiB,EAAQ,QAI7BrE,EAAE,CAAEO,OAAQ,SAAU+D,MAAM,EAAMC,MAAOL,GAAe,CACtD5B,0BAA2B,SAAmCb,GAC5D,IAKIR,EAAKuD,EALLC,EAAIN,EAAgB1C,GACpBM,EAA2BqC,EAA+BM,EAC1D/C,EAAOH,EAAQiD,GACfE,EAAS,GACTC,EAAQ,EAEZ,MAAOjD,EAAKd,OAAS+D,EACnBJ,EAAazC,EAAyB0C,EAAGxD,EAAMU,EAAKiD,WACjC9D,IAAf0D,GAA0BH,EAAeM,EAAQ1D,EAAKuD,GAE5D,OAAOG,M,qBCrBX,IAAI3E,EAAI,EAAQ,QACZ6E,EAAQ,EAAQ,QAChBV,EAAkB,EAAQ,QAC1BW,EAAiC,EAAQ,QAAmDJ,EAC5FR,EAAc,EAAQ,QAEtBa,EAAsBF,GAAM,WAAcC,EAA+B,MACzEE,GAAUd,GAAea,EAI7B/E,EAAE,CAAEO,OAAQ,SAAU+D,MAAM,EAAM7D,OAAQuE,EAAQT,MAAOL,GAAe,CACtEnC,yBAA0B,SAAkCkD,EAAIhE,GAC9D,OAAO6D,EAA+BX,EAAgBc,GAAKhE,O,kCCb/D","file":"static/js/chunk-0918db6a.cd3d5e70.js","sourcesContent":["'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n// Edge 14- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}","\n
\n
\n \n
\n\n
\n \n
\n
\n\n\n\n\n\n","\n
\n
\n
\n \n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Header.vue?vue&type=template&id=6133f14d&scoped=true&bindings={\\\"torrentURL\\\":\\\"data\\\"}\"\nimport script from \"./Header.vue?vue&type=script&lang=js\"\nexport * from \"./Header.vue?vue&type=script&lang=js\"\n\nimport \"./Header.vue?vue&type=style&index=0&id=6133f14d&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-6133f14d\"\n\nexport default script","import { render } from \"./Panel.vue?vue&type=template&id=1502d8a8&scoped=true&bindings={\\\"pluginName\\\":\\\"props\\\",\\\"download\\\":\\\"options\\\"}\"\nimport script from \"./Panel.vue?vue&type=script&lang=js\"\nexport * from \"./Panel.vue?vue&type=script&lang=js\"\n\nimport \"./Panel.vue?vue&type=style&index=0&id=1502d8a8&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-1502d8a8\"\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Panel.vue?vue&type=style&index=0&id=1502d8a8&lang=scss&scoped=true\"","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Header.vue?vue&type=style&index=0&id=6133f14d&lang=scss&scoped=true\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-0a891b5a.1431e4ce.js b/platypush/backend/http/dist/static/js/chunk-0a891b5a.1431e4ce.js
new file mode 100644
index 00000000..e6f19456
--- /dev/null
+++ b/platypush/backend/http/dist/static/js/chunk-0a891b5a.1431e4ce.js
@@ -0,0 +1,2 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-0a891b5a"],{"365a":function(e,t,n){"use strict";n.r(t);var a=n("7a23"),o=Object(a["K"])("data-v-4835dfb0");Object(a["u"])("data-v-4835dfb0");var s={class:"date-time"};Object(a["s"])();var i=o((function(e,t,n,o,i,r){return Object(a["r"])(),Object(a["e"])("div",s,[r._showDate?(Object(a["r"])(),Object(a["e"])("div",{key:0,class:"date",textContent:Object(a["C"])(e.formatDate(e.now))},null,8,["textContent"])):Object(a["f"])("",!0),r._showTime?(Object(a["r"])(),Object(a["e"])("div",{key:1,class:"time",textContent:Object(a["C"])(e.formatTime(e.now,r._showSeconds))},null,8,["textContent"])):Object(a["f"])("",!0)])})),r=n("3e54"),c={name:"DateTime",mixins:[r["a"]],props:{showDate:{required:!1,default:!0},showTime:{required:!1,default:!0},showSeconds:{required:!1,default:!0}},computed:{_showTime:function(){return this.parseBoolean(this.showTime)},_showDate:function(){return this.parseBoolean(this.showDate)},_showSeconds:function(){return this.parseBoolean(this.showSeconds)}},data:function(){return{now:new Date}},methods:{refreshTime:function(){this.now=new Date}},mounted:function(){this.refreshTime(),setInterval(this.refreshTime,1e3)}};n("a8ae");c.render=i,c.__scopeId="data-v-4835dfb0";t["default"]=c},"7aee":function(e,t,n){},a8ae:function(e,t,n){"use strict";n("7aee")}}]);
+//# sourceMappingURL=chunk-0a891b5a.1431e4ce.js.map
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-4bbbb9a3.251fff37.js.map b/platypush/backend/http/dist/static/js/chunk-0a891b5a.1431e4ce.js.map
similarity index 65%
rename from platypush/backend/http/dist/static/js/chunk-4bbbb9a3.251fff37.js.map
rename to platypush/backend/http/dist/static/js/chunk-0a891b5a.1431e4ce.js.map
index 9a324f6d..8c9e0534 100644
--- a/platypush/backend/http/dist/static/js/chunk-4bbbb9a3.251fff37.js.map
+++ b/platypush/backend/http/dist/static/js/chunk-0a891b5a.1431e4ce.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./src/components/widgets/DateTime/Index.vue","webpack:///./src/components/widgets/DateTime/Index.vue?de64","webpack:///./src/components/widgets/DateTime/Index.vue?fa60"],"names":["class","_showDate","now","_showTime","_showSeconds","name","mixins","Utils","props","showDate","required","default","showTime","showSeconds","computed","this","parseBoolean","data","Date","methods","refreshTime","mounted","setInterval","render","__scopeId"],"mappings":"sNACOA,MAAM,a,wEAAX,eAGM,MAHN,EAGM,CAF6C,EAAAC,W,iBAAjD,eAA8D,O,MAAzDD,MAAM,O,YAAO,eAAwB,EAAN,WAAC,EAAAE,O,+CAC0B,EAAAC,W,iBAA/D,eAA4E,O,MAAvEH,MAAM,O,YAAO,eAAsC,EAApB,WAAC,EAAAE,IAAK,EAAAE,gB,gEAQ/B,GACbC,KAAM,WACNC,OAAQ,CAACC,EAAA,MACTC,MAAO,CAELC,SAAU,CACRC,UAAU,EACVC,SAAS,GAIXC,SAAU,CACRF,UAAU,EACVC,SAAS,GAIXE,YAAa,CACXH,UAAU,EACVC,SAAS,IAIbG,SAAU,CACRX,UADQ,WAEN,OAAOY,KAAKC,aAAaD,KAAKH,WAGhCX,UALQ,WAMN,OAAOc,KAAKC,aAAaD,KAAKN,WAGhCL,aATQ,WAUN,OAAOW,KAAKC,aAAaD,KAAKF,eAIlCI,KAAM,WACJ,MAAO,CACLf,IAAK,IAAIgB,OAIbC,QAAS,CACPC,YADO,WAELL,KAAKb,IAAM,IAAIgB,OAInBG,QAAS,WACPN,KAAKK,cACLE,YAAYP,KAAKK,YAAa,O,UCzDlC,EAAOG,OAAS,EAChB,EAAOC,UAAY,kBAEJ,gB,2DCRf","file":"static/js/chunk-4bbbb9a3.251fff37.js","sourcesContent":["\n
\n \n \n
\n\n\n\n\n\n","import { render } from \"./Index.vue?vue&type=template&id=4835dfb0&scoped=true&bindings={\\\"showDate\\\":\\\"props\\\",\\\"showTime\\\":\\\"props\\\",\\\"showSeconds\\\":\\\"props\\\",\\\"_showTime\\\":\\\"options\\\",\\\"_showDate\\\":\\\"options\\\",\\\"_showSeconds\\\":\\\"options\\\",\\\"refreshTime\\\":\\\"options\\\"}\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=4835dfb0&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4835dfb0\"\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Index.vue?vue&type=style&index=0&id=4835dfb0&lang=scss&scoped=true\""],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///./src/components/widgets/DateTime/Index.vue","webpack:///./src/components/widgets/DateTime/Index.vue?65b4","webpack:///./src/components/widgets/DateTime/Index.vue?5c69"],"names":["class","_showDate","now","_showTime","_showSeconds","name","mixins","Utils","props","showDate","required","default","showTime","showSeconds","computed","this","parseBoolean","data","Date","methods","refreshTime","mounted","setInterval","render","__scopeId"],"mappings":"sNACOA,MAAM,a,wEAAX,eAGM,MAHN,EAGM,CAF6C,EAAAC,W,iBAAjD,eAA8D,O,MAAzDD,MAAM,O,YAAO,eAAwB,EAAN,WAAC,EAAAE,O,+CAC0B,EAAAC,W,iBAA/D,eAA4E,O,MAAvEH,MAAM,O,YAAO,eAAsC,EAApB,WAAC,EAAAE,IAAK,EAAAE,gB,gEAQ/B,GACbC,KAAM,WACNC,OAAQ,CAACC,EAAA,MACTC,MAAO,CAELC,SAAU,CACRC,UAAU,EACVC,SAAS,GAIXC,SAAU,CACRF,UAAU,EACVC,SAAS,GAIXE,YAAa,CACXH,UAAU,EACVC,SAAS,IAIbG,SAAU,CACRX,UADQ,WAEN,OAAOY,KAAKC,aAAaD,KAAKH,WAGhCX,UALQ,WAMN,OAAOc,KAAKC,aAAaD,KAAKN,WAGhCL,aATQ,WAUN,OAAOW,KAAKC,aAAaD,KAAKF,eAIlCI,KAAM,WACJ,MAAO,CACLf,IAAK,IAAIgB,OAIbC,QAAS,CACPC,YADO,WAELL,KAAKb,IAAM,IAAIgB,OAInBG,QAAS,WACPN,KAAKK,cACLE,YAAYP,KAAKK,YAAa,O,UCzDlC,EAAOG,OAAS,EAChB,EAAOC,UAAY,kBAEJ,gB,2DCRf","file":"static/js/chunk-0a891b5a.1431e4ce.js","sourcesContent":["\n
\n\n\n\n\n\n","\n \n\n\n\n","\n","import script from \"./Mixin.vue?vue&type=script&lang=js\"\nexport * from \"./Mixin.vue?vue&type=script&lang=js\"\n\nexport default script","import { render } from \"./Chromecast.vue?vue&type=template&id=55476f3a&bindings={\\\"name\\\":\\\"data\\\",\\\"pluginName\\\":\\\"data\\\",\\\"iconClass\\\":\\\"data\\\",\\\"getPlayers\\\":\\\"options\\\",\\\"getPlayerName\\\":\\\"options\\\",\\\"status\\\":\\\"options\\\",\\\"play\\\":\\\"options\\\",\\\"pause\\\":\\\"options\\\",\\\"stop\\\":\\\"options\\\",\\\"setVolume\\\":\\\"options\\\",\\\"seek\\\":\\\"options\\\",\\\"onMediaEvent\\\":\\\"options\\\",\\\"supports\\\":\\\"options\\\"}\"\nimport script from \"./Chromecast.vue?vue&type=script&lang=js\"\nexport * from \"./Chromecast.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Kodi.vue?vue&type=template&id=25a1a1cf&bindings={\\\"iconClass\\\":\\\"data\\\",\\\"name\\\":\\\"data\\\",\\\"pluginName\\\":\\\"data\\\",\\\"getPlayers\\\":\\\"options\\\",\\\"supports\\\":\\\"options\\\"}\"\nimport script from \"./Kodi.vue?vue&type=script&lang=js\"\nexport * from \"./Kodi.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Mplayer.vue?vue&type=template&id=0caf2d73&bindings={\\\"iconClass\\\":\\\"data\\\",\\\"name\\\":\\\"data\\\",\\\"pluginName\\\":\\\"data\\\"}\"\nimport script from \"./Mplayer.vue?vue&type=script&lang=js\"\nexport * from \"./Mplayer.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Mpv.vue?vue&type=template&id=3b3bb533&bindings={\\\"iconClass\\\":\\\"data\\\",\\\"name\\\":\\\"data\\\",\\\"pluginName\\\":\\\"data\\\"}\"\nimport script from \"./Mpv.vue?vue&type=script&lang=js\"\nexport * from \"./Mpv.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Omxplayer.vue?vue&type=template&id=0f086473&bindings={\\\"iconClass\\\":\\\"data\\\",\\\"name\\\":\\\"data\\\",\\\"pluginName\\\":\\\"data\\\"}\"\nimport script from \"./Omxplayer.vue?vue&type=script&lang=js\"\nexport * from \"./Omxplayer.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Vlc.vue?vue&type=template&id=5b5bcdd3&bindings={\\\"iconClass\\\":\\\"data\\\",\\\"name\\\":\\\"data\\\",\\\"pluginName\\\":\\\"data\\\"}\"\nimport script from \"./Vlc.vue?vue&type=script&lang=js\"\nexport * from \"./Vlc.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","import { render } from \"./Players.vue?vue&type=template&id=37304dfd&scoped=true&bindings={\\\"pluginName\\\":\\\"props\\\",\\\"loading\\\":\\\"data\\\",\\\"players\\\":\\\"data\\\",\\\"selectedPlayer\\\":\\\"data\\\",\\\"config\\\":\\\"data\\\",\\\"plugins\\\":\\\"data\\\",\\\"loadPlugins\\\":\\\"options\\\",\\\"refresh\\\":\\\"options\\\",\\\"select\\\":\\\"options\\\"}\"\nimport script from \"./Players.vue?vue&type=script&lang=js\"\nexport * from \"./Players.vue?vue&type=script&lang=js\"\n\nimport \"./Players.vue?vue&type=style&index=0&id=37304dfd&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-37304dfd\"\n\nexport default script","import { render } from \"./Header.vue?vue&type=template&id=457d4016&scoped=true&bindings={\\\"pluginName\\\":\\\"props\\\",\\\"selectedView\\\":\\\"props\\\",\\\"selectedSubtitles\\\":\\\"props\\\",\\\"selectedItem\\\":\\\"props\\\",\\\"hasSubtitlesPlugin\\\":\\\"props\\\",\\\"browserFilter\\\":\\\"props\\\",\\\"sources\\\":\\\"props\\\",\\\"filterVisible\\\":\\\"data\\\",\\\"query\\\":\\\"data\\\",\\\"torrentURL\\\":\\\"data\\\",\\\"search\\\":\\\"options\\\"}\"\nimport script from \"./Header.vue?vue&type=script&lang=js\"\nexport * from \"./Header.vue?vue&type=script&lang=js\"\n\nimport \"./Header.vue?vue&type=style&index=0&id=457d4016&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-457d4016\"\n\nexport default script","\n
\n
Title
\n
\n \n \n
\n
\n\n
\n
Synopsis
\n \n
\n\n
\n
Description
\n \n
\n\n
\n
Summary
\n \n
\n\n
\n
Duration
\n \n
\n\n
\n
Genres
\n \n
\n\n
\n
Channel
\n
\n \n
\n
\n\n
\n
Year
\n \n
\n\n
\n
Published at
\n \n
\n\n
\n
File
\n \n
\n\n
\n
URL
\n
\n \n
\n
\n\n
\n
Trailer
\n
\n \n
\n
\n\n
\n
Size
\n \n
\n\n
\n
Quality
\n \n
\n\n
\n
Seeds
\n \n
\n\n
\n
Peers
\n \n
\n\n
\n
Language
\n \n
\n\n\n\n\n\n","import { render } from \"./Info.vue?vue&type=template&id=3fc0d8f1&scoped=true&bindings={\\\"item\\\":\\\"props\\\"}\"\nimport script from \"./Info.vue?vue&type=script&lang=js\"\nexport * from \"./Info.vue?vue&type=script&lang=js\"\n\nimport \"./Info.vue?vue&type=style&index=0&id=3fc0d8f1&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-3fc0d8f1\"\n\nexport default script","\n \n\n\n\n\n\n","import { render } from \"./Nav.vue?vue&type=template&id=4597e14d&scoped=true&bindings={\\\"selectedView\\\":\\\"props\\\",\\\"collapsed\\\":\\\"props\\\",\\\"views\\\":\\\"props\\\"}\"\nimport script from \"./Nav.vue?vue&type=script&lang=js\"\nexport * from \"./Nav.vue?vue&type=script&lang=js\"\n\nimport \"./Nav.vue?vue&type=style&index=0&id=4597e14d&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4597e14d\"\n\nexport default script","\n
\n
\n No search results\n
\n\n
\n
\n
\n \n
\n \n
\n\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Results.vue?vue&type=template&id=acfde602&scoped=true&bindings={\\\"results\\\":\\\"props\\\",\\\"selectedResult\\\":\\\"props\\\",\\\"sources\\\":\\\"props\\\",\\\"typeIcons\\\":\\\"data\\\"}\"\nimport script from \"./Results.vue?vue&type=script&lang=js\"\nexport * from \"./Results.vue?vue&type=script&lang=js\"\n\nimport \"./Results.vue?vue&type=style&index=0&id=acfde602&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-acfde602\"\n\nexport default script","\n
\n
\n \n
\n
\n \n
\n\n
None
\n
\n\n
\n
\n \n \n \n
\n {{ sub.SubFileName }}\n
\n
\n\n \n
\n\n\n\n\n\n","import { render } from \"./Subtitles.vue?vue&type=template&id=77ae3705&scoped=true&bindings={\\\"item\\\":\\\"props\\\",\\\"loading\\\":\\\"data\\\",\\\"items\\\":\\\"data\\\",\\\"selectedItem\\\":\\\"data\\\",\\\"refresh\\\":\\\"options\\\"}\"\nimport script from \"./Subtitles.vue?vue&type=script&lang=js\"\nexport * from \"./Subtitles.vue?vue&type=script&lang=js\"\n\nimport \"./Subtitles.vue?vue&type=style&index=0&id=77ae3705&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-77ae3705\"\n\nexport default script","\n
\n \n\n
\n
\n \n ..\n
\n
\n\n
\n
\n \n \n {{ file.name }}\n \n
\n\n
\n \n \n \n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Browser.vue?vue&type=template&id=a2e5c946&scoped=true&bindings={\\\"initialPath\\\":\\\"props\\\",\\\"isMedia\\\":\\\"props\\\",\\\"filter\\\":\\\"props\\\",\\\"loading\\\":\\\"data\\\",\\\"path\\\":\\\"data\\\",\\\"files\\\":\\\"data\\\",\\\"filteredFiles\\\":\\\"options\\\",\\\"refresh\\\":\\\"options\\\"}\"\nimport script from \"./Browser.vue?vue&type=script&lang=js\"\nexport * from \"./Browser.vue?vue&type=script&lang=js\"\n\nimport \"./Browser.vue?vue&type=style&index=0&id=a2e5c946&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-a2e5c946\"\n\nexport default script","import { render } from \"./Index.vue?vue&type=template&id=3055ba65&scoped=true&bindings={\\\"pluginName\\\":\\\"props\\\",\\\"mediaButtons\\\":\\\"props\\\",\\\"loading\\\":\\\"data\\\",\\\"results\\\":\\\"data\\\",\\\"selectedResult\\\":\\\"data\\\",\\\"selectedPlayer\\\":\\\"data\\\",\\\"selectedView\\\":\\\"data\\\",\\\"selectedSubtitles\\\":\\\"data\\\",\\\"showSubtitlesModal\\\":\\\"data\\\",\\\"awaitingPlayTorrent\\\":\\\"data\\\",\\\"urlPlay\\\":\\\"data\\\",\\\"browserFilter\\\":\\\"data\\\",\\\"torrentPlugin\\\":\\\"data\\\",\\\"torrentPlugins\\\":\\\"data\\\",\\\"sources\\\":\\\"data\\\",\\\"hasSubtitlesPlugin\\\":\\\"options\\\",\\\"search\\\":\\\"options\\\",\\\"play\\\":\\\"options\\\",\\\"pause\\\":\\\"options\\\",\\\"stop\\\":\\\"options\\\",\\\"setVolume\\\":\\\"options\\\",\\\"seek\\\":\\\"options\\\",\\\"view\\\":\\\"options\\\",\\\"download\\\":\\\"options\\\",\\\"refresh\\\":\\\"options\\\",\\\"onStatusUpdate\\\":\\\"options\\\",\\\"onTorrentQueued\\\":\\\"options\\\",\\\"onTorrentMetadata\\\":\\\"options\\\",\\\"onTorrentDownloadStart\\\":\\\"options\\\",\\\"onTorrentDownloadCompleted\\\":\\\"options\\\",\\\"getTorrentPlugin\\\":\\\"options\\\",\\\"downloadTorrent\\\":\\\"options\\\",\\\"selectSubtitles\\\":\\\"options\\\",\\\"onResultSelect\\\":\\\"options\\\",\\\"playUrl\\\":\\\"options\\\"}\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=3055ba65&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-3055ba65\"\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Info.vue?vue&type=style&index=0&id=3fc0d8f1&lang=scss&scoped=true\"","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Nav.vue?vue&type=style&index=0&id=4597e14d&lang=scss&scoped=true\"","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith\n ? nativeEndsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","\n \n\n\n\n\n\n","import { render } from \"./Index.vue?vue&type=template&id=9233e214&scoped=true&bindings={}\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\nscript.render = render\nscript.__scopeId = \"data-v-9233e214\"\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Results.vue?vue&type=style&index=0&id=acfde602&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Index.vue?vue&type=style&index=0&id=3055ba65&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Header.vue?vue&type=style&index=0&id=457d4016&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Players.vue?vue&type=style&index=0&id=37304dfd&lang=scss&scoped=true\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-21660230.f7af277b.js b/platypush/backend/http/dist/static/js/chunk-21660230.f7af277b.js
deleted file mode 100644
index 8edf6d6d..00000000
--- a/platypush/backend/http/dist/static/js/chunk-21660230.f7af277b.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-21660230"],{"084e":function(e,t,n){"use strict";n("1015")},1015:function(e,t,n){},"160f":function(e,t,n){},1804:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));n("99af"),n("d81d"),n("b680"),n("b64b");var i=n("2909");function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var n=0;n.5?s/(2-r-c):s/(r+c),r){case e:i=(t-n)/s+(tl&&a>s&&a>1?(s/=a,l/=a,a=1):s>l&&s>a&&s>1?(a/=s,l/=s,s=1):l>a&&l>s&&l>1&&(a/=l,s/=l,l=1),a=a<=.0031308?12.92*a:1.055*Math.pow(a,1/2.4)-.055,s=s<=.0031308?12.92*s:1.055*Math.pow(s,1/2.4)-.055,l=l<=.0031308?12.92*l:1.055*Math.pow(l,1/2.4)-.055,a=Math.round(255*a),s=Math.round(255*s),l=Math.round(255*l),isNaN(a)&&(a=0),isNaN(s)&&(s=0),isNaN(l)&&(l=0),[a,s,l].map((function(e){return Math.min(Math.max(0,e),255)}))}},{key:"rgbToXY",value:function(e,t,n){e>1&&(e/=255),t>1&&(t/=255),n>1&&(n/=255),e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var i=.664511*e+.154324*t+.162028*n,o=.283881*e+.668433*t+.047685*n,r=88e-6*e+.07231*t+.986039*n,c=parseFloat((i/(i+o+r)).toFixed(4)),a=parseFloat((o/(i+o+r)).toFixed(4));return isNaN(c)&&(c=0),isNaN(a)&&(a=0),[c,a]}},{key:"rgbToBri",value:function(e,t,n){return Math.min(2*this.rgbToHsl(e,t,n)[2],this.ranges.bri[1])}},{key:"getRGB",value:function(e){return null!=e.red&&null!=e.green&&null!=e.blue?[e.red,e.green,e.blue]:null!=e.r&&null!=e.g&&null!=e.b?[e.r,e.g,e.b]:e.rgb?e.rgb:void 0}},{key:"getXY",value:function(e){return null!=e.x&&null!=e.y?[e.x,e.y]:e.xy?e.xy:void 0}},{key:"toRGB",value:function(e){var t=this.getRGB(e);if(t)return t;var n=this.getXY(e);return n&&e.bri?this.xyToRgb.apply(this,Object(i["a"])(n).concat([e.bri])):e.hue&&e.sat&&e.bri?this.hslToRgb(e.hue,e.sat,e.bri):(console.debug("Could not determine color space"),void console.debug(e))}},{key:"toXY",value:function(e){var t=this.getXY(e);if(t&&e.bri)return[t[0],t[1],e.bri];var n=this.getRGB(e);if(n)return this.rgbToXY.apply(this,Object(i["a"])(n));if(e.hue&&e.sat&&e.bri){var o=this.hslToRgb(e.hue,e.sat,e.bri);return this.rgbToXY.apply(this,Object(i["a"])(o))}console.debug("Could not determine color space"),console.debug(e)}},{key:"toHSL",value:function(e){if(e.hue&&e.sat&&e.bri)return[e.hue,e.sat,e.bri];var t=this.getRGB(e);if(t)return this.rgbToHsl.apply(this,Object(i["a"])(t));var n=this.getXY(e);if(n&&e.bri){var o=this.xyToRgb.apply(this,Object(i["a"])(n).concat([e.bri]));return this.rgbToHsl.apply(this,Object(i["a"])(o))}console.debug("Could not determine color space"),console.debug(e)}}]),e}()},"1ed6":function(e,t,n){},3401:function(e,t,n){"use strict";n("7e56")},"520c":function(e,t,n){},"5d62":function(e,t,n){},6055:function(e,t,n){},"7e56":function(e,t,n){},"7e57":function(e,t,n){"use strict";n("e3f0")},"8dcb":function(e,t,n){"use strict";n("d28c")},"93d8":function(e,t,n){"use strict";n("6055")},9840:function(e,t,n){"use strict";n("5d62")},b347:function(e,t,n){"use strict";n("160f")},bf6b:function(e,t,n){"use strict";n("fda1")},cf99:function(e,t,n){"use strict";n.r(t);n("b64b");var i=n("7a23"),o=Object(i["K"])("data-v-0378547e");Object(i["u"])("data-v-0378547e");var r={class:"plugin lights-plugin"},c={key:0,class:"panel"},a={key:1,class:"panel"};Object(i["s"])();var s=o((function(e,t,n,o,s,l){var u=Object(i["z"])("Groups"),b=Object(i["z"])("Group");return Object(i["r"])(),Object(i["e"])("div",r,[null==s.selectedGroup&&n.groups&&Object.keys(n.groups).length?(Object(i["r"])(),Object(i["e"])("div",c,[Object(i["h"])(u,{groups:n.groups,"loading-groups":n.loadingGroups,"color-converter":n.colorConverter,onSelect:t[1]||(t[1]=function(e){return s.selectedGroup=e}),onToggle:t[2]||(t[2]=function(t){return e.$emit("group-toggle",t)})},null,8,["groups","loading-groups","color-converter"])])):(Object(i["r"])(),Object(i["e"])("div",a,[Object(i["h"])(b,{group:n.groups[s.selectedGroup],lights:l.displayedLights,scenes:l.scenesByGroup[s.selectedGroup],"color-converter":n.colorConverter,animations:l.animationsByGroup[s.selectedGroup],onClose:t[3]||(t[3]=function(e){return s.selectedGroup=null}),onLightToggle:t[4]||(t[4]=function(t){return e.$emit("light-toggle",t)}),onGroupToggle:t[5]||(t[5]=function(t){return e.$emit("group-toggle",t)}),onSetLight:t[6]||(t[6]=function(t){return e.$emit("set-light",t)}),onSetGroup:t[7]||(t[7]=function(t){return e.$emit("set-group",{groupId:s.selectedGroup,value:t})}),onSelectScene:t[8]||(t[8]=function(t){return e.$emit("select-scene",{groupId:s.selectedGroup,sceneId:t})}),onStartAnimation:t[9]||(t[9]=function(t){return e.$emit("start-animation",t)}),onStopAnimation:t[10]||(t[10]=function(t){return e.$emit("stop-animation",t)})},null,8,["group","lights","scenes","color-converter","animations"])]))])})),l=(n("4160"),n("13d5"),n("a9e3"),n("4fad"),n("07ac"),n("159b"),n("5530")),u=n("3835"),b=n("3e54"),g={name:"Panel",emits:["mounted"],props:{config:{type:Object,default:function(){}},pluginName:{type:String,required:!0}},data:function(){return{loading:!1}},mounted:function(){this.$emit("mounted",this)}},d=g,h=(n("b0c0"),Object(i["K"])("data-v-42318a2b"));Object(i["u"])("data-v-42318a2b");var p={class:"panel-row header"},O=Object(i["h"])("div",{class:"col-3"},[Object(i["h"])("i",{class:"icon fas fa-home"})],-1),j=Object(i["h"])("div",{class:"col-6 name"}," Rooms ",-1),v={class:"col-3 pull-right"},f={class:"name col-9"},m={class:"controls col-3 pull-right"};Object(i["s"])();var y=h((function(e,t,n,o,r,c){var a=Object(i["z"])("ToggleSwitch"),s=Object(i["z"])("MenuPanel");return Object(i["r"])(),Object(i["e"])(s,null,{default:h((function(){return[Object(i["h"])("div",p,[O,j,Object(i["h"])("div",v,[Object(i["h"])(a,{value:c.anyLightsOn,onInput:t[1]||(t[1]=function(t){return e.$emit("toggle")})},null,8,["value"])])]),(Object(i["r"])(!0),Object(i["e"])(i["a"],null,Object(i["x"])(c.groupsSorted,(function(t){return Object(i["r"])(),Object(i["e"])("div",{class:"panel-row row group",key:t.id,onClick:function(n){return e.$emit("select",t.id)}},[Object(i["h"])("span",f,Object(i["C"])(t.name||"[Group ".concat(t.id,"]")),1),Object(i["h"])("span",m,[Object(i["h"])(a,{value:t.state.any_on,disabled:t.id in(n.loadingGroups||{}),onInput:function(n){return e.$emit("toggle",t)}},null,8,["value","disabled","onInput"])])],8,["onClick"])})),128))]})),_:1})})),C=(n("d81d"),{class:"menu-panel"}),w={class:"content"};function k(e,t,n,o,r,c){return Object(i["r"])(),Object(i["e"])("div",C,[Object(i["h"])("div",w,[Object(i["y"])(e.$slots,"default")])])}var _={name:"MenuPanel"};n("3401");_.render=k;var S=_,L=n("0279"),G=n("1804"),$={name:"Groups",components:{ToggleSwitch:L["a"],MenuPanel:S},emits:["select","toggle"],props:{groups:{type:Object,default:function(){}},loadingGroups:{type:Object,default:function(){}},colorConverter:{type:Object,default:function(){return new G["a"]}}},computed:{groupsSorted:function(){return Object.entries(this.groups).sort((function(e,t){return e[1].name.localeCompare(t[1].name)})).map((function(e){var t=Object(u["a"])(e,2),n=t[0],i=t[1];return Object(l["a"])(Object(l["a"])({},i),{},{id:n})}))},anyLightsOn:function(){for(var e=0,t=Object.values(this.groups);e0}},methods:{toggleSelectAll:function(){var e=this,t=Object.values(this.selectedLights).filter((function(e){return e})).length {\n const k = (n + h / 30) % 12\n const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1)\n return Math.round(255 * color)\n }\n\n return [f(0), f(8), f(4)]\n }\n\n rgbToHsl(r, g, b){\n r /= 255\n g /= 255\n b /= 255;\n const max = Math.max(r, g, b), min = Math.min(r, g, b);\n let h, s, l = (max + min) / 2;\n\n if(max === min){\n h = s = 0; // achromatic\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch(max){\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n\n return [\n parseInt(this.normalize(h, [0, 1], this.ranges.hue)),\n parseInt(this.normalize(s, [0, 1], this.ranges.sat)),\n parseInt(this.normalize(l, [0, 1], this.ranges.bri)),\n ]\n }\n\n xyToRgb(x, y, brightness) {\n // Set to maximum brightness if no custom value was given (Not the slick ECMAScript 6 way for compatibility reasons)\n if (brightness == null)\n brightness = this.ranges.bri[1];\n\n const z = 1.0 - x - y;\n const Y = (brightness / (this.ranges.bri[1]-1)).toFixed(2);\n const X = (Y / y) * x;\n const Z = (Y / y) * z;\n\n //Convert to RGB using Wide RGB D65 conversion\n let red \t= X * 1.656492 - Y * 0.354851 - Z * 0.255038;\n let green = -X * 0.707196 + Y * 1.655397 + Z * 0.036152;\n let blue \t= X * 0.051713 - Y * 0.121364 + Z * 1.011530;\n\n //If red, green or blue is larger than 1.0 set it back to the maximum of 1.0\n if (red > blue && red > green && red > 1.0) {\n green = green / red;\n blue = blue / red;\n red = 1.0;\n } else if (green > blue && green > red && green > 1.0) {\n red = red / green;\n blue = blue / green;\n green = 1.0;\n } else if (blue > red && blue > green && blue > 1.0) {\n red = red / blue;\n green = green / blue;\n blue = 1.0;\n }\n\n //Reverse gamma correction\n red \t= red <= 0.0031308 ? 12.92 * red : (1.0 + 0.055) * Math.pow(red, (1.0 / 2.4)) - 0.055;\n green \t= green <= 0.0031308 ? 12.92 * green : (1.0 + 0.055) * Math.pow(green, (1.0 / 2.4)) - 0.055;\n blue \t= blue <= 0.0031308 ? 12.92 * blue : (1.0 + 0.055) * Math.pow(blue, (1.0 / 2.4)) - 0.055;\n\n //Convert normalized decimal to decimal\n red \t= Math.round(red * 255);\n green \t= Math.round(green * 255);\n blue \t= Math.round(blue * 255);\n\n if (isNaN(red))\n red = 0;\n if (isNaN(green))\n green = 0;\n if (isNaN(blue))\n blue = 0;\n\n return [red, green, blue].map((c) => Math.min(Math.max(0, c), 255))\n }\n\n rgbToXY(red, green, blue) {\n if (red > 1) { red /= 255; }\n if (green > 1) { green /= 255; }\n if (blue > 1) { blue /= 255; }\n\n //Apply a gamma correction to the RGB values, which makes the color more vivid and more the like the color displayed on the screen of your device\n red \t= (red > 0.04045) ? Math.pow((red + 0.055) / (1.0 + 0.055), 2.4) : (red / 12.92);\n green \t= (green > 0.04045) ? Math.pow((green + 0.055) / (1.0 + 0.055), 2.4) : (green / 12.92);\n blue \t= (blue > 0.04045) ? Math.pow((blue + 0.055) / (1.0 + 0.055), 2.4) : (blue / 12.92);\n\n //RGB values to XYZ using the Wide RGB D65 conversion formula\n const X \t\t= red * 0.664511 + green * 0.154324 + blue * 0.162028;\n const Y \t\t= red * 0.283881 + green * 0.668433 + blue * 0.047685;\n const Z \t\t= red * 0.000088 + green * 0.072310 + blue * 0.986039;\n\n //Calculate the xy values from the XYZ values\n let x \t\t= parseFloat((X / (X + Y + Z)).toFixed(4));\n let y \t\t= parseFloat((Y / (X + Y + Z)).toFixed(4));\n\n if (isNaN(x))\n x = 0;\n if (isNaN(y))\n y = 0;\n\n return [x, y];\n }\n\n rgbToBri(red, green, blue) {\n return Math.min(2 * this.rgbToHsl(red, green, blue)[2], this.ranges.bri[1])\n }\n\n getRGB(color) {\n if (color.red != null && color.green != null && color.blue != null)\n return [color.red, color.green, color.blue]\n if (color.r != null && color.g != null && color.b != null)\n return [color.r, color.g, color.b]\n if (color.rgb)\n return color.rgb\n }\n\n getXY(color) {\n if (color.x != null && color.y != null)\n return [color.x, color.y]\n if (color.xy)\n return color.xy\n }\n\n toRGB(color) {\n const rgb = this.getRGB(color)\n if (rgb)\n return rgb\n\n const xy = this.getXY(color)\n if (xy && color.bri)\n return this.xyToRgb(...xy, color.bri)\n if (color.hue && color.sat && color.bri)\n return this.hslToRgb(color.hue, color.sat, color.bri)\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n\n toXY(color) {\n const xy = this.getXY(color)\n if (xy && color.bri)\n return [xy[0], xy[1], color.bri]\n\n const rgb = this.getRGB(color)\n if (rgb)\n return this.rgbToXY(...rgb)\n\n if (color.hue && color.sat && color.bri) {\n const rgb = this.hslToRgb(color.hue, color.sat, color.bri)\n return this.rgbToXY(...rgb)\n }\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n\n toHSL(color) {\n if (color.hue && color.sat && color.bri)\n return [color.hue, color.sat, color.bri]\n\n const rgb = this.getRGB(color)\n if (rgb)\n return this.rgbToHsl(...rgb)\n\n const xy = this.getXY(color)\n if (xy && color.bri) {\n const rgb = this.xyToRgb(...xy, color.bri)\n return this.rgbToHsl(...rgb)\n }\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MenuPanel.vue?vue&type=style&index=0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Animate.vue?vue&type=style&index=0&id=1739aaba&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Groups.vue?vue&type=style&index=0&id=42318a2b&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Light.vue?vue&type=style&index=0&id=52168252&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Index.vue?vue&type=style&index=1&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Index.vue?vue&type=style&index=0&id=0378547e&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Controls.vue?vue&type=style&index=0&id=e2726892&lang=scss&scoped=true\"","\n
\n
\n \n
\n
\n \n
\n
\n\n\n\n\n\n\n","\n","import script from \"./Panel.vue?vue&type=script&lang=js\"\nexport * from \"./Panel.vue?vue&type=script&lang=js\"\n\nexport default script","\n \n
\n\n\n\n\n\n","\n \n\n\n\n","\n","import script from \"./Mixin.vue?vue&type=script&lang=js\"\nexport * from \"./Mixin.vue?vue&type=script&lang=js\"\n\nexport default script","import { render } from \"./Chromecast.vue?vue&type=template&id=55476f3a\"\nimport script from \"./Chromecast.vue?vue&type=script&lang=js\"\nexport * from \"./Chromecast.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Kodi.vue?vue&type=template&id=25a1a1cf\"\nimport script from \"./Kodi.vue?vue&type=script&lang=js\"\nexport * from \"./Kodi.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Mplayer.vue?vue&type=template&id=0caf2d73\"\nimport script from \"./Mplayer.vue?vue&type=script&lang=js\"\nexport * from \"./Mplayer.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Mpv.vue?vue&type=template&id=3b3bb533\"\nimport script from \"./Mpv.vue?vue&type=script&lang=js\"\nexport * from \"./Mpv.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Omxplayer.vue?vue&type=template&id=0f086473\"\nimport script from \"./Omxplayer.vue?vue&type=script&lang=js\"\nexport * from \"./Omxplayer.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","\n \n\n\n\n","import { render } from \"./Vlc.vue?vue&type=template&id=5b5bcdd3\"\nimport script from \"./Vlc.vue?vue&type=script&lang=js\"\nexport * from \"./Vlc.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script","import { render } from \"./Players.vue?vue&type=template&id=37304dfd&scoped=true\"\nimport script from \"./Players.vue?vue&type=script&lang=js\"\nexport * from \"./Players.vue?vue&type=script&lang=js\"\n\nimport \"./Players.vue?vue&type=style&index=0&id=37304dfd&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-37304dfd\"\n\nexport default script","import { render } from \"./Header.vue?vue&type=template&id=457d4016&scoped=true\"\nimport script from \"./Header.vue?vue&type=script&lang=js\"\nexport * from \"./Header.vue?vue&type=script&lang=js\"\n\nimport \"./Header.vue?vue&type=style&index=0&id=457d4016&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-457d4016\"\n\nexport default script","\n
\n
Title
\n
\n \n \n
\n
\n\n
\n
Synopsis
\n \n
\n\n
\n
Description
\n \n
\n\n
\n
Summary
\n \n
\n\n
\n
Duration
\n \n
\n\n
\n
Genres
\n \n
\n\n
\n
Channel
\n
\n \n
\n
\n\n
\n
Year
\n \n
\n\n
\n
Published at
\n \n
\n\n
\n
File
\n \n
\n\n
\n
URL
\n
\n \n
\n
\n\n
\n
Trailer
\n
\n \n
\n
\n\n
\n
Size
\n \n
\n\n
\n
Quality
\n \n
\n\n
\n
Seeds
\n \n
\n\n
\n
Peers
\n \n
\n\n
\n
Language
\n \n
\n\n\n\n\n\n","import { render } from \"./Info.vue?vue&type=template&id=3fc0d8f1&scoped=true\"\nimport script from \"./Info.vue?vue&type=script&lang=js\"\nexport * from \"./Info.vue?vue&type=script&lang=js\"\n\nimport \"./Info.vue?vue&type=style&index=0&id=3fc0d8f1&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-3fc0d8f1\"\n\nexport default script","\n \n\n\n\n\n\n","import { render } from \"./Nav.vue?vue&type=template&id=4597e14d&scoped=true\"\nimport script from \"./Nav.vue?vue&type=script&lang=js\"\nexport * from \"./Nav.vue?vue&type=script&lang=js\"\n\nimport \"./Nav.vue?vue&type=style&index=0&id=4597e14d&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-4597e14d\"\n\nexport default script","\n
\n
\n No search results\n
\n\n
\n
\n
\n \n
\n \n
\n\n
\n \n \n \n \n \n \n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Results.vue?vue&type=template&id=acfde602&scoped=true\"\nimport script from \"./Results.vue?vue&type=script&lang=js\"\nexport * from \"./Results.vue?vue&type=script&lang=js\"\n\nimport \"./Results.vue?vue&type=style&index=0&id=acfde602&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-acfde602\"\n\nexport default script","\n
\n
\n \n
\n
\n \n
\n\n
None
\n
\n\n
\n
\n \n \n \n
\n {{ sub.SubFileName }}\n
\n
\n\n \n
\n\n\n\n\n\n","import { render } from \"./Subtitles.vue?vue&type=template&id=77ae3705&scoped=true\"\nimport script from \"./Subtitles.vue?vue&type=script&lang=js\"\nexport * from \"./Subtitles.vue?vue&type=script&lang=js\"\n\nimport \"./Subtitles.vue?vue&type=style&index=0&id=77ae3705&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-77ae3705\"\n\nexport default script","\n
\n \n\n
\n
\n \n ..\n
\n
\n\n
\n
\n \n \n {{ file.name }}\n \n
\n\n
\n \n \n \n
\n
\n
\n\n\n\n\n\n","import { render } from \"./Browser.vue?vue&type=template&id=a2e5c946&scoped=true\"\nimport script from \"./Browser.vue?vue&type=script&lang=js\"\nexport * from \"./Browser.vue?vue&type=script&lang=js\"\n\nimport \"./Browser.vue?vue&type=style&index=0&id=a2e5c946&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-a2e5c946\"\n\nexport default script","import { render } from \"./Index.vue?vue&type=template&id=3055ba65&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=3055ba65&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-3055ba65\"\n\nexport default script","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Info.vue?vue&type=style&index=0&id=3fc0d8f1&lang=scss&scoped=true\"","\n \n\n\n\n\n\n","import { render } from \"./Index.vue?vue&type=template&id=08ab61b7&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\nscript.render = render\nscript.__scopeId = \"data-v-08ab61b7\"\n\nexport default script","var isRegExp = require('../internals/is-regexp');\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Nav.vue?vue&type=style&index=0&id=4597e14d&lang=scss&scoped=true\"","'use strict';\nvar $ = require('../internals/export');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\nvar nativeEndsWith = ''.endsWith;\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.github.io/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = String(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = String(searchString);\n return nativeEndsWith\n ? nativeEndsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Results.vue?vue&type=style&index=0&id=acfde602&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Index.vue?vue&type=style&index=0&id=3055ba65&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Header.vue?vue&type=style&index=0&id=457d4016&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Players.vue?vue&type=style&index=0&id=37304dfd&lang=scss&scoped=true\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-2d0cc2be.b3a583d9.js b/platypush/backend/http/dist/static/js/chunk-2d0cc2be.71e3fcd8.js
similarity index 87%
rename from platypush/backend/http/dist/static/js/chunk-2d0cc2be.b3a583d9.js
rename to platypush/backend/http/dist/static/js/chunk-2d0cc2be.71e3fcd8.js
index 574bde51..892b0537 100644
--- a/platypush/backend/http/dist/static/js/chunk-2d0cc2be.b3a583d9.js
+++ b/platypush/backend/http/dist/static/js/chunk-2d0cc2be.71e3fcd8.js
@@ -1,2 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0cc2be"],{"4d91":function(n,e,r){"use strict";r.r(e);var a=r("7a23");function t(n,e,r,t,c,o){var u=Object(a["z"])("Panel");return Object(a["r"])(),Object(a["e"])(u,{"plugin-name":"rtorrent"})}var c=r("a79d9"),o={name:"Torrent",components:{Panel:c["a"]}};o.render=t;e["default"]=o}}]);
-//# sourceMappingURL=chunk-2d0cc2be.b3a583d9.js.map
\ No newline at end of file
+//# sourceMappingURL=chunk-2d0cc2be.71e3fcd8.js.map
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-2d0cc2be.b3a583d9.js.map b/platypush/backend/http/dist/static/js/chunk-2d0cc2be.71e3fcd8.js.map
similarity index 60%
rename from platypush/backend/http/dist/static/js/chunk-2d0cc2be.b3a583d9.js.map
rename to platypush/backend/http/dist/static/js/chunk-2d0cc2be.71e3fcd8.js.map
index 06e545fa..6e40ad40 100644
--- a/platypush/backend/http/dist/static/js/chunk-2d0cc2be.b3a583d9.js.map
+++ b/platypush/backend/http/dist/static/js/chunk-2d0cc2be.71e3fcd8.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./src/components/panels/Rtorrent/Index.vue","webpack:///./src/components/panels/Rtorrent/Index.vue?76ca"],"names":["plugin-name","name","components","Panel","render"],"mappings":"uNACE,eAAgC,GAAzBA,cAAY,a,iBAMN,GACbC,KAAM,UACNC,WAAY,CAACC,QAAA,OCNf,EAAOC,OAASA,EAED","file":"static/js/chunk-2d0cc2be.b3a583d9.js","sourcesContent":["\n \n\n\n\n","import { render } from \"./Index.vue?vue&type=template&id=4938278b&bindings={}\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///./src/components/panels/Rtorrent/Index.vue","webpack:///./src/components/panels/Rtorrent/Index.vue?6cb6"],"names":["plugin-name","name","components","Panel","render"],"mappings":"uNACE,eAAgC,GAAzBA,cAAY,a,iBAMN,GACbC,KAAM,UACNC,WAAY,CAACC,QAAA,OCNf,EAAOC,OAASA,EAED","file":"static/js/chunk-2d0cc2be.71e3fcd8.js","sourcesContent":["\n \n\n\n\n","import { render } from \"./Index.vue?vue&type=template&id=4938278b\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script"],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-2d2091df.1e51ae4c.js b/platypush/backend/http/dist/static/js/chunk-2d2091df.90a98553.js
similarity index 99%
rename from platypush/backend/http/dist/static/js/chunk-2d2091df.1e51ae4c.js
rename to platypush/backend/http/dist/static/js/chunk-2d2091df.90a98553.js
index 0ba1ccdb..cbc6e1a2 100644
--- a/platypush/backend/http/dist/static/js/chunk-2d2091df.1e51ae4c.js
+++ b/platypush/backend/http/dist/static/js/chunk-2d2091df.90a98553.js
@@ -1,2 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d2091df"],{a84f:function(e,t,n){"use strict";n.r(t);var r=n("7a23");function i(e,t,n,i,u,a){var s=Object(r["z"])("Loading"),o=Object(r["z"])("LightPlugin");return Object(r["r"])(),Object(r["e"])(r["a"],null,[u.loading?(Object(r["r"])(),Object(r["e"])(s,{key:0})):Object(r["f"])("",!0),Object(r["h"])(o,{"plugin-name":"light.hue",config:n.config,lights:e.lights,groups:e.groups,scenes:e.scenes,animations:e.animations,"initial-group":a.initialGroup,"loading-groups":e.loadingGroups,"color-converter":u.colorConverter,onGroupToggle:a.toggleGroup,onLightChanged:a.onLightChanged,onLightToggle:a.toggleLight,onSetLight:a.setLight,onSetGroup:a.setGroup,onSelectScene:a.setScene,onStartAnimation:a.startAnimation,onStopAnimation:a.stopAnimation,onRefresh:t[1]||(t[1]=function(e){return a.refresh(!0)})},null,8,["config","lights","groups","scenes","animations","initial-group","loading-groups","color-converter","onGroupToggle","onLightChanged","onLightToggle","onSetLight","onSetGroup","onSelectScene","onStartAnimation","onStopAnimation"])],64)}n("99af"),n("4de4"),n("d81d"),n("13d5"),n("b0c0"),n("4fad"),n("b64b"),n("d3b7"),n("07ac"),n("3ca3"),n("ddb0");var u=n("5530"),a=n("2909"),s=n("3835"),o=(n("96cf"),n("1da1")),c=n("cf99"),g=(n("4160"),n("159b"),{name:"Utils",data:function(){return{lights:{},groups:{},scenes:{},animations:{},loadingLights:{},loadingGroups:{}}},computed:{groupsByName:function(){return this.groups?Object.entries(this.groups).reduce((function(e,t){var n=Object(s["a"])(t,2),r=n[0],i=n[1];return e[i.name||r]=Object(u["a"])(Object(u["a"])({},i),{},{id:r}),e}),{}):{}}},methods:{_getGroups:function(e){var t=e.filter((function(e){return null!=e}));if(!t.length)return Object.values(this.groups);var n=this;return t.map((function(e){return e instanceof Object?e:n.groups[e]}))},_getLights:function(e){var t=e.filter((function(e){return null!=e}));if(!t.length)return Object.values(this.lights);var n=this;return t.map((function(e){return e instanceof Object?e:n.lights[e]}))},setGroupsLoading:function(e){var t=this;this._getGroups(e).forEach((function(e){t.loadingGroups[e.id]=!0,e.lights&&t.setLightsLoading(e.lights)}))},unsetGroupsLoading:function(e){var t=this;this._getGroups(e).forEach((function(e){e.id in t.loadingGroups&&delete t.loadingGroups[e.id],e.lights&&t.setLightsLoading(e.lights)}))},setLightsLoading:function(e){var t=this;this._getLights(e).forEach((function(e){t.loadingLights[e.id]=!0}))},unsetLightsLoading:function(e){var t=this;this._getLights(e).forEach((function(e){e.id in t.loadingLights&&delete t.loadingLights[e.id]}))},groupAction:function(e,t){var n=arguments,r=this;return Object(o["a"])(regeneratorRuntime.mark((function i(){var u,a,s;return regeneratorRuntime.wrap((function(i){while(1)switch(i.prev=i.next){case 0:for(u=n.length,a=new Array(u>2?u-2:0),s=2;s2?u-2:0),s=2;s\n \n \n\n\n\n","\n","import script from \"./Utils.vue?vue&type=script&lang=js\"\nexport * from \"./Utils.vue?vue&type=script&lang=js\"\n\nexport default script","import { render } from \"./Index.vue?vue&type=template&id=54ae8cdd&bindings={\\\"config\\\":\\\"props\\\",\\\"loading\\\":\\\"data\\\",\\\"colorConverter\\\":\\\"data\\\",\\\"initialGroup\\\":\\\"options\\\",\\\"getLights\\\":\\\"options\\\",\\\"getGroups\\\":\\\"options\\\",\\\"getScenes\\\":\\\"options\\\",\\\"getAnimations\\\":\\\"options\\\",\\\"toggleGroup\\\":\\\"options\\\",\\\"toggleLight\\\":\\\"options\\\",\\\"setLight\\\":\\\"options\\\",\\\"setGroup\\\":\\\"options\\\",\\\"setScene\\\":\\\"options\\\",\\\"refresh\\\":\\\"options\\\",\\\"startAnimation\\\":\\\"options\\\",\\\"stopAnimation\\\":\\\"options\\\",\\\"onLightChanged\\\":\\\"options\\\"}\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///./src/components/panels/LightHue/Index.vue","webpack:///./src/components/panels/Light/Utils.vue","webpack:///./src/components/panels/Light/Utils.vue?7f02","webpack:///./src/components/panels/LightHue/Index.vue?0384"],"names":["loading","plugin-name","config","lights","groups","scenes","animations","initial-group","initialGroup","loading-groups","loadingGroups","color-converter","colorConverter","toggleGroup","onLightChanged","toggleLight","setLight","setGroup","setScene","startAnimation","stopAnimation","refresh","name","data","loadingLights","computed","groupsByName","this","Object","entries","reduce","id","group","methods","_getGroups","groupIds","filter","length","values","self","map","_getLights","lightIds","setGroupsLoading","groupsIds","forEach","setLightsLoading","unsetGroupsLoading","light","unsetLightsLoading","groupAction","action","args","request","lightAction","components","Loading","LightPlugin","mixins","props","type","default","hue","sat","bri","ct","keys","getLights","getGroups","recycle","toLowerCase","obj","getScenes","scene","getAnimations","event","requests","value","attr","method","req","Promise","all","groupId","sceneId","background","animation","state","mounted","render"],"mappings":"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","file":"static/js/chunk-2d2091df.90a98553.js","sourcesContent":["\n \n \n\n\n\n","\n","import script from \"./Utils.vue?vue&type=script&lang=js\"\nexport * from \"./Utils.vue?vue&type=script&lang=js\"\n\nexport default script","import { render } from \"./Index.vue?vue&type=template&id=54ae8cdd\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script"],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-2d21da1a.adf909a2.js b/platypush/backend/http/dist/static/js/chunk-2d21da1a.707bd994.js
similarity index 99%
rename from platypush/backend/http/dist/static/js/chunk-2d21da1a.adf909a2.js
rename to platypush/backend/http/dist/static/js/chunk-2d21da1a.707bd994.js
index 5d9f5eb8..3cc3421c 100644
--- a/platypush/backend/http/dist/static/js/chunk-2d21da1a.adf909a2.js
+++ b/platypush/backend/http/dist/static/js/chunk-2d21da1a.707bd994.js
@@ -1,2 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d21da1a"],{d1b9:function(e,t,r){"use strict";r.r(t);r("ac1f"),r("38cf"),r("841c");var n=r("7a23");function a(e,t,r,a,s,i){var u=Object(n["z"])("Loading"),c=Object(n["z"])("MusicPlugin");return Object(n["r"])(),Object(n["e"])(n["a"],null,[s.loading?(Object(n["r"])(),Object(n["e"])(u,{key:0})):Object(n["f"])("",!0),Object(n["h"])(c,{"plugin-name":"music.mpd",loading:s.loading,config:r.config,tracks:s.tracks,status:s.status,playlists:s.playlists,"edited-playlist":s.editedPlaylist,"edited-playlist-tracks":s.editedPlaylistTracks,"track-info":s.trackInfo,"search-results":s.searchResults,"library-results":s.libraryResults,path:s.path,onPlay:i.play,onPause:i.pause,onStop:i.stop,onPrevious:i.previous,onNext:i.next,onClear:i.clear,onSetVolume:i.setVolume,onSeek:i.seek,onConsume:i.consume,onRandom:i.random,onRepeat:i.repeat,onStatusUpdate:t[1]||(t[1]=function(e){return i.refreshStatus(!0)}),onPlaylistUpdate:t[2]||(t[2]=function(e){return i.refresh(!0)}),onNewPlayingTrack:t[3]||(t[3]=function(e){return i.refreshStatus(!0)}),onRemoveFromTracklist:i.removeFromTracklist,onAddToTracklist:i.addToTracklist,onSwapTracks:i.swapTracks,onLoadPlaylist:i.loadPlaylist,onPlayPlaylist:i.playPlaylist,onRemovePlaylist:i.removePlaylist,onTracklistMove:i.moveTracklistTracks,onTracklistSave:i.saveToPlaylist,onPlaylistEdit:i.playlistEditChanged,onAddToTracklistFromEditedPlaylist:i.addToTracklistFromEditedPlaylist,onRemoveFromPlaylist:i.removeFromPlaylist,onInfo:t[4]||(t[4]=function(e){return s.trackInfo=e}),onPlaylistAdd:i.playlistAdd,onAddToPlaylist:i.addToPlaylist,onPlaylistTrackMove:i.playlistTrackMove,onSearch:i.search,onSearchClear:t[5]||(t[5]=function(e){return s.searchResults=[]}),onCd:i.cd},null,8,["loading","config","tracks","status","playlists","edited-playlist","edited-playlist-tracks","track-info","search-results","library-results","path","onPlay","onPause","onStop","onPrevious","onNext","onClear","onSetVolume","onSeek","onConsume","onRandom","onRepeat","onRemoveFromTracklist","onAddToTracklist","onSwapTracks","onLoadPlaylist","onPlayPlaylist","onRemovePlaylist","onTracklistMove","onTracklistSave","onPlaylistEdit","onAddToTracklistFromEditedPlaylist","onRemoveFromPlaylist","onPlaylistAdd","onAddToPlaylist","onPlaylistTrackMove","onSearch","onCd"])],64)}r("4de4"),r("d81d"),r("13d5"),r("b0c0"),r("4fad"),r("d3b7"),r("3ca3"),r("1276"),r("ddb0");var s=r("3835"),i=(r("96cf"),r("1da1")),u=r("0d41"),c=r("3e54"),o=r("3a5e"),l={name:"MusicMpd",components:{Loading:o["a"],MusicPlugin:u["default"]},mixins:[c["a"]],props:{config:{type:Object,default:function(){}}},data:function(){return{loading:!1,tracks:[],playlists:[],status:{},editedPlaylist:null,editedPlaylistTracks:[],trackInfo:null,searchResults:[],libraryResults:[],path:"/"}},methods:{refreshTracks:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return e||(t.loading=!0),r.prev=1,r.next=4,t.request("music.mpd.playlistinfo");case 4:t.tracks=r.sent;case 5:return r.prev=5,t.loading=!1,r.finish(5);case 8:case"end":return r.stop()}}),r,null,[[1,,5,8]])})))()},refreshStatus:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return e||(t.loading=!0),r.prev=1,r.t0=Object,r.next=5,t.request("music.mpd.status");case 5:r.t1=r.sent,t.status=r.t0.entries.call(r.t0,r.t1).reduce((function(e,t){var r=Object(s["a"])(t,2),n=r[0],a=r[1];switch(n){case"bitrate":case"volume":e[n]=parseInt(a);break;case"consume":case"random":case"repeat":case"single":e[n]=!!parseInt(a);break;case"song":e["playingPos"]=parseInt(a);break;case"time":var i=a.split(":").map((function(e){return parseInt(e)})),u=Object(s["a"])(i,2);e["elapsed"]=u[0],e["duration"]=u[1];break;case"elapsed":break;default:e[n]=a;break}return e}),{});case 7:return r.prev=7,t.loading=!1,r.finish(7);case 10:case"end":return r.stop()}}),r,null,[[1,,7,10]])})))()},refreshPlaylists:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return e||(t.loading=!0),r.prev=1,r.next=4,t.request("music.mpd.listplaylists");case 4:t.playlists=r.sent.map((function(e){return{name:e.playlist,lastModified:e["last-modified"]}})).sort((function(e,t){return e.name.localeCompare(t.name)}));case 5:return r.prev=5,t.loading=!1,r.finish(5);case 8:case"end":return r.stop()}}),r,null,[[1,,5,8]])})))()},refresh:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return e||(t.loading=!0),r.prev=1,r.next=4,Promise.all([t.refreshTracks(e),t.refreshStatus(e),t.refreshPlaylists(e)]);case 4:return r.prev=4,t.loading=!1,r.finish(4);case 7:case"end":return r.stop()}}),r,null,[[1,,4,7]])})))()},play:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:if(null==(null===e||void 0===e?void 0:e.pos)){r.next=5;break}return r.next=3,t.request("music.mpd.play_pos",{pos:e.pos});case 3:r.next=12;break;case 5:if(!(null===e||void 0===e?void 0:e.file)){r.next=10;break}return r.next=8,t.request("music.mpd.play",{resource:e.file});case 8:r.next=12;break;case 10:return r.next=12,t.request("music.mpd.play");case 12:return r.next=14,t.refreshStatus(!0);case 14:case"end":return r.stop()}}),r)})))()},pause:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.request("music.mpd.pause");case 2:return t.next=4,e.refreshStatus(!0);case 4:case"end":return t.stop()}}),t)})))()},stop:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.request("music.mpd.stop");case 2:return t.next=4,e.refreshStatus(!0);case 4:case"end":return t.stop()}}),t)})))()},previous:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.request("music.mpd.previous");case 2:return t.next=4,e.refreshStatus(!0);case 4:case"end":return t.stop()}}),t)})))()},next:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.request("music.mpd.next");case 2:return t.next=4,e.refreshStatus(!0);case 4:case"end":return t.stop()}}),t)})))()},clear:function(){var e=this;return Object(i["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.request("music.mpd.clear");case 2:return t.next=4,Promise.all([e.refreshStatus(!0),e.refreshTracks(!0)]);case 4:case"end":return t.stop()}}),t)})))()},setVolume:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:if(e!==t.status.volume){r.next=2;break}return r.abrupt("return");case 2:return r.next=4,t.request("music.mpd.set_volume",{volume:e});case 4:return r.next=6,t.refreshStatus(!0);case 6:case"end":return r.stop()}}),r)})))()},seek:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,t.request("music.mpd.seek",{position:e});case 2:return r.next=4,t.refreshStatus(!0);case 4:case"end":return r.stop()}}),r)})))()},repeat:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,t.request("music.mpd.repeat",{value:parseInt(+e)});case 2:return r.next=4,t.refreshStatus(!0);case 4:case"end":return r.stop()}}),r)})))()},random:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,t.request("music.mpd.random",{value:parseInt(+e)});case 2:return r.next=4,t.refreshStatus(!0);case 4:case"end":return r.stop()}}),r)})))()},consume:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,t.request("music.mpd.consume",{value:parseInt(+e)});case 2:return r.next=4,t.refreshStatus(!0);case 4:case"end":return r.stop()}}),r)})))()},addToTracklist:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return e.file&&(e=e.file),r.next=3,t.request("music.mpd.add",{resource:e});case 3:return r.next=5,t.refresh(!0);case 5:case"end":return r.stop()}}),r)})))()},addToTracklistFromEditedPlaylist:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){var n;return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:if(n=t.editedPlaylistTracks[e.pos],n){r.next=3;break}return r.abrupt("return");case 3:return r.next=5,t.request("music.mpd.add",{resource:n.file});case 5:return r.next=7,t.refresh(!0);case 7:if(!e.play){r.next=10;break}return r.next=10,t.request("music.mpd.play_pos",{pos:t.tracks.length-1});case 10:case"end":return r.stop()}}),r)})))()},removeFromPlaylist:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,t.request("music.mpd.playlistdelete",{pos:e,name:t.playlists[t.editedPlaylist].name});case 2:return r.next=4,t.playlistEditChanged(t.editedPlaylist);case 4:case"end":return r.stop()}}),r)})))()},removeFromTracklist:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,t.request("music.mpd.delete",{positions:e.sort()});case 2:return r.next=4,t.refresh(!0);case 4:case"end":return r.stop()}}),r)})))()},swapTracks:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,t.request("music.mpd.move",{from_pos:e[0],to_pos:e[1]});case 2:return r.next=4,t.refresh(!0);case 4:case"end":return r.stop()}}),r)})))()},playPlaylist:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,t._loadPlaylist(e,!0);case 2:case"end":return r.stop()}}),r)})))()},loadPlaylist:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,t._loadPlaylist(e,!1);case 2:case"end":return r.stop()}}),r)})))()},_loadPlaylist:function(e,t){var r=this;return Object(i["a"])(regeneratorRuntime.mark((function n(){var a;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return a=r.playlists[e],n.next=3,r.request("music.mpd.load",{playlist:a.name,play:t});case 3:return n.next=5,r.refresh(!0);case 5:case"end":return n.stop()}}),n)})))()},removePlaylist:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){var n;return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:if(n=t.playlists[e],confirm("Are you REALLY sure that you want to remove the playlist ".concat(n.name,"?"))){r.next=3;break}return r.abrupt("return");case 3:return r.next=5,t.request("music.mpd.rm",{playlist:n.name});case 5:return r.next=7,t.refreshPlaylists(!0);case 7:case"end":return r.stop()}}),r)})))()},saveToPlaylist:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,t.request("music.mpd.save",{name:e});case 2:return r.next=4,t.refreshPlaylists(!0);case 4:case"end":return r.stop()}}),r)})))()},moveTracklistTracks:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,t.request("music.mpd.move",{from_pos:e.from,to_pos:e.to});case 2:return r.next=4,t.refreshTracks(!0);case 4:case"end":return r.stop()}}),r)})))()},playlistAdd:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,t.request("music.mpd.playlistadd",{uri:e,name:t.playlists[t.editedPlaylist].name});case 2:return r.next=4,t.playlistEditChanged(t.editedPlaylist);case 4:case"end":return r.stop()}}),r)})))()},playlistEditChanged:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:if(t.editedPlaylist=e,null!=e){r.next=3;break}return r.abrupt("return");case 3:return t.loading=!0,r.prev=4,r.next=7,t.request("music.mpd.listplaylistinfo",{name:t.playlists[e].name});case 7:t.editedPlaylistTracks=r.sent;case 8:return r.prev=8,t.loading=!1,r.finish(8);case 11:case"end":return r.stop()}}),r,null,[[4,,8,11]])})))()},addToPlaylist:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,Promise.all(e.playlists.map(function(){var r=Object(i["a"])(regeneratorRuntime.mark((function r(n){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,t.request("music.mpd.playlistadd",{uri:e.track.file,name:t.playlists[n].name});case 2:return r.next=4,t.playlistEditChanged(n);case 4:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()));case 2:case"end":return r.stop()}}),r)})))()},playlistTrackMove:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.next=2,t.request("music.mpd.playlistmove",{name:t.playlists[e.playlist].name,from_pos:e.from,to_pos:e.to});case 2:return r.next=4,t.playlistEditChanged(e.playlist);case 4:case"end":return r.stop()}}),r)})))()},search:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return t.loading=!0,r.prev=1,r.next=4,t.request("music.mpd.search",{filter:e});case 4:t.searchResults=r.sent;case 5:return r.prev=5,t.loading=!1,r.finish(5);case 8:case"end":return r.stop()}}),r,null,[[1,,5,8]])})))()},cd:function(e){var t=this;return Object(i["a"])(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return t.loading=!0,r.prev=1,r.next=4,t.request("music.mpd.lsinfo",{uri:e});case 4:t.libraryResults=r.sent.filter((function(e){return!e.playlist})),t.path=e;case 6:return r.prev=6,t.loading=!1,r.finish(6);case 9:case"end":return r.stop()}}),r,null,[[1,,6,9]])})))()}},mounted:function(){this.refresh(),this.cd(this.path)}};l.render=a;t["default"]=l}}]);
-//# sourceMappingURL=chunk-2d21da1a.adf909a2.js.map
\ No newline at end of file
+//# sourceMappingURL=chunk-2d21da1a.707bd994.js.map
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-2d21da1a.adf909a2.js.map b/platypush/backend/http/dist/static/js/chunk-2d21da1a.707bd994.js.map
similarity index 90%
rename from platypush/backend/http/dist/static/js/chunk-2d21da1a.adf909a2.js.map
rename to platypush/backend/http/dist/static/js/chunk-2d21da1a.707bd994.js.map
index ca7120d1..0db86c81 100644
--- a/platypush/backend/http/dist/static/js/chunk-2d21da1a.adf909a2.js.map
+++ b/platypush/backend/http/dist/static/js/chunk-2d21da1a.707bd994.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./src/components/panels/MusicMpd/Index.vue","webpack:///./src/components/panels/MusicMpd/Index.vue?49af"],"names":["loading","plugin-name","config","tracks","status","playlists","edited-playlist","editedPlaylist","edited-playlist-tracks","editedPlaylistTracks","track-info","trackInfo","search-results","searchResults","library-results","libraryResults","path","play","pause","stop","previous","next","clear","setVolume","seek","consume","random","repeat","refreshStatus","refresh","removeFromTracklist","addToTracklist","swapTracks","loadPlaylist","playPlaylist","removePlaylist","moveTracklistTracks","saveToPlaylist","playlistEditChanged","addToTracklistFromEditedPlaylist","removeFromPlaylist","$event","playlistAdd","addToPlaylist","playlistTrackMove","search","cd","name","components","Loading","MusicPlugin","mixins","Utils","props","type","Object","default","data","methods","refreshTracks","background","request","entries","reduce","obj","k","v","parseInt","split","map","t","refreshPlaylists","playlist","lastModified","sort","a","b","localeCompare","Promise","all","event","pos","file","resource","volume","position","value","track","length","positions","from_pos","to_pos","_loadPlaylist","confirm","from","to","uri","playlistIdx","query","filter","result","mounted","this","render"],"mappings":"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","file":"static/js/chunk-2d21da1a.adf909a2.js","sourcesContent":["\n \n \n\n\n\n","import { render } from \"./Index.vue?vue&type=template&id=e343abe6&bindings={\\\"config\\\":\\\"props\\\",\\\"loading\\\":\\\"data\\\",\\\"tracks\\\":\\\"data\\\",\\\"playlists\\\":\\\"data\\\",\\\"status\\\":\\\"data\\\",\\\"editedPlaylist\\\":\\\"data\\\",\\\"editedPlaylistTracks\\\":\\\"data\\\",\\\"trackInfo\\\":\\\"data\\\",\\\"searchResults\\\":\\\"data\\\",\\\"libraryResults\\\":\\\"data\\\",\\\"path\\\":\\\"data\\\",\\\"refreshTracks\\\":\\\"options\\\",\\\"refreshStatus\\\":\\\"options\\\",\\\"refreshPlaylists\\\":\\\"options\\\",\\\"refresh\\\":\\\"options\\\",\\\"play\\\":\\\"options\\\",\\\"pause\\\":\\\"options\\\",\\\"stop\\\":\\\"options\\\",\\\"previous\\\":\\\"options\\\",\\\"next\\\":\\\"options\\\",\\\"clear\\\":\\\"options\\\",\\\"setVolume\\\":\\\"options\\\",\\\"seek\\\":\\\"options\\\",\\\"repeat\\\":\\\"options\\\",\\\"random\\\":\\\"options\\\",\\\"consume\\\":\\\"options\\\",\\\"addToTracklist\\\":\\\"options\\\",\\\"addToTracklistFromEditedPlaylist\\\":\\\"options\\\",\\\"removeFromPlaylist\\\":\\\"options\\\",\\\"removeFromTracklist\\\":\\\"options\\\",\\\"swapTracks\\\":\\\"options\\\",\\\"playPlaylist\\\":\\\"options\\\",\\\"loadPlaylist\\\":\\\"options\\\",\\\"_loadPlaylist\\\":\\\"options\\\",\\\"removePlaylist\\\":\\\"options\\\",\\\"saveToPlaylist\\\":\\\"options\\\",\\\"moveTracklistTracks\\\":\\\"options\\\",\\\"playlistAdd\\\":\\\"options\\\",\\\"playlistEditChanged\\\":\\\"options\\\",\\\"addToPlaylist\\\":\\\"options\\\",\\\"playlistTrackMove\\\":\\\"options\\\",\\\"search\\\":\\\"options\\\",\\\"cd\\\":\\\"options\\\"}\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///./src/components/panels/MusicMpd/Index.vue","webpack:///./src/components/panels/MusicMpd/Index.vue?275a"],"names":["loading","plugin-name","config","tracks","status","playlists","edited-playlist","editedPlaylist","edited-playlist-tracks","editedPlaylistTracks","track-info","trackInfo","search-results","searchResults","library-results","libraryResults","path","play","pause","stop","previous","next","clear","setVolume","seek","consume","random","repeat","refreshStatus","refresh","removeFromTracklist","addToTracklist","swapTracks","loadPlaylist","playPlaylist","removePlaylist","moveTracklistTracks","saveToPlaylist","playlistEditChanged","addToTracklistFromEditedPlaylist","removeFromPlaylist","$event","playlistAdd","addToPlaylist","playlistTrackMove","search","cd","name","components","Loading","MusicPlugin","mixins","Utils","props","type","Object","default","data","methods","refreshTracks","background","request","entries","reduce","obj","k","v","parseInt","split","map","t","refreshPlaylists","playlist","lastModified","sort","a","b","localeCompare","Promise","all","event","pos","file","resource","volume","position","value","track","length","positions","from_pos","to_pos","_loadPlaylist","confirm","from","to","uri","playlistIdx","query","filter","result","mounted","this","render"],"mappings":"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","file":"static/js/chunk-2d21da1a.707bd994.js","sourcesContent":["\n \n \n\n\n\n","import { render } from \"./Index.vue?vue&type=template&id=e343abe6\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script"],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-2d237d41.3427f74b.js b/platypush/backend/http/dist/static/js/chunk-2d237d41.b4b87abb.js
similarity index 87%
rename from platypush/backend/http/dist/static/js/chunk-2d237d41.3427f74b.js
rename to platypush/backend/http/dist/static/js/chunk-2d237d41.b4b87abb.js
index 8817ac47..6fb84951 100644
--- a/platypush/backend/http/dist/static/js/chunk-2d237d41.3427f74b.js
+++ b/platypush/backend/http/dist/static/js/chunk-2d237d41.b4b87abb.js
@@ -1,2 +1,2 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d237d41"],{fd7d:function(n,e,r){"use strict";r.r(e);var a=r("7a23");function t(n,e,r,t,c,o){var d=Object(a["z"])("Panel");return Object(a["r"])(),Object(a["e"])(d,{"plugin-name":"torrent"})}var c=r("a79d9"),o={name:"Torrent",components:{Panel:c["a"]}};o.render=t;e["default"]=o}}]);
-//# sourceMappingURL=chunk-2d237d41.3427f74b.js.map
\ No newline at end of file
+//# sourceMappingURL=chunk-2d237d41.b4b87abb.js.map
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-2d237d41.3427f74b.js.map b/platypush/backend/http/dist/static/js/chunk-2d237d41.b4b87abb.js.map
similarity index 60%
rename from platypush/backend/http/dist/static/js/chunk-2d237d41.3427f74b.js.map
rename to platypush/backend/http/dist/static/js/chunk-2d237d41.b4b87abb.js.map
index e80bc352..dd8f5f57 100644
--- a/platypush/backend/http/dist/static/js/chunk-2d237d41.3427f74b.js.map
+++ b/platypush/backend/http/dist/static/js/chunk-2d237d41.b4b87abb.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./src/components/panels/Torrent/Index.vue","webpack:///./src/components/panels/Torrent/Index.vue?9851"],"names":["plugin-name","name","components","Panel","render"],"mappings":"qNACE,eAA+B,GAAxBA,cAAY,Y,iBAMN,GACbC,KAAM,UACNC,WAAY,CAACC,QAAA,OCNf,EAAOC,OAASA,EAED","file":"static/js/chunk-2d237d41.3427f74b.js","sourcesContent":["\n \n\n\n\n\n","import { render } from \"./Index.vue?vue&type=template&id=96a3698e&bindings={}\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///./src/components/panels/Torrent/Index.vue","webpack:///./src/components/panels/Torrent/Index.vue?20b1"],"names":["plugin-name","name","components","Panel","render"],"mappings":"qNACE,eAA+B,GAAxBA,cAAY,Y,iBAMN,GACbC,KAAM,UACNC,WAAY,CAACC,QAAA,OCNf,EAAOC,OAASA,EAED","file":"static/js/chunk-2d237d41.b4b87abb.js","sourcesContent":["\n \n\n\n\n\n","import { render } from \"./Index.vue?vue&type=template&id=96a3698e\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\nscript.render = render\n\nexport default script"],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-e8078048.ce29b8d4.js b/platypush/backend/http/dist/static/js/chunk-2e3e3996.24de4e55.js
similarity index 79%
rename from platypush/backend/http/dist/static/js/chunk-e8078048.ce29b8d4.js
rename to platypush/backend/http/dist/static/js/chunk-2e3e3996.24de4e55.js
index c643ac76..3f751d2e 100644
--- a/platypush/backend/http/dist/static/js/chunk-e8078048.ce29b8d4.js
+++ b/platypush/backend/http/dist/static/js/chunk-2e3e3996.24de4e55.js
@@ -1,2 +1,2 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-e8078048"],{"3ddd":function(e,t,r){},a41f:function(e,t,r){"use strict";r("3ddd")},c306:function(e,t,r){"use strict";r.r(t);var n=r("7a23"),s=Object(n["K"])("data-v-919872a2");Object(n["u"])("data-v-919872a2");var i={class:"rss-news"},c={key:0,class:"article"};Object(n["s"])();var u=s((function(e,t,r,s,u,a){return Object(n["r"])(),Object(n["e"])("div",i,[e.currentArticle?(Object(n["r"])(),Object(n["e"])("div",c,[Object(n["h"])("div",{class:"source",textContent:Object(n["C"])(e.currentArticle.source)},null,8,["textContent"]),Object(n["h"])("div",{class:"title",textContent:Object(n["C"])(e.currentArticle.title)},null,8,["textContent"]),Object(n["h"])("div",{class:"published",textContent:Object(n["C"])(new Date(e.currentArticle.published).toDateString()+", "+new Date(e.currentArticle.published).toTimeString().substring(0,5))},null,8,["textContent"])])):Object(n["f"])("",!0)])})),a=(r("a9e3"),r("b680"),r("2909")),d=(r("96cf"),r("1da1")),l=r("3e54"),o={name:"RssNews",mixins:[l["a"]],props:{db:{type:String,required:!0},limit:{type:Number,required:!1,default:25},refreshSeconds:{type:Number,required:!1,default:15}},data:function(){return{articles:[],queue:[],currentArticle:void 0}},methods:{refresh:function(){var e=Object(d["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(this.queue.length){e.next=5;break}return e.next=3,this.request("db.select",{engine:this.db,query:"\n select s.title as source, e.title, e.summary,\n strftime('%Y-%m-%dT%H:%M:%fZ', e.published) as published\n from FeedEntry e join FeedSource s\n on e.source_id = s.id order by e.published desc limit ".concat(this.limit)});case 3:this.articles=e.sent,this.queue=Object(a["a"])(this.articles);case 5:if(this.queue.length){e.next=7;break}return e.abrupt("return");case 7:this.currentArticle=this.queue.pop();case 8:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},mounted:function(){this.refresh(),setInterval(this.refresh,parseInt((1e3*this.refreshSeconds).toFixed(0)))}};r("a41f");o.render=u,o.__scopeId="data-v-919872a2";t["default"]=o}}]);
-//# sourceMappingURL=chunk-e8078048.ce29b8d4.js.map
\ No newline at end of file
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2e3e3996"],{"12ef":function(e,t,r){},a41f:function(e,t,r){"use strict";r("12ef")},c306:function(e,t,r){"use strict";r.r(t);var n=r("7a23"),s=Object(n["K"])("data-v-919872a2");Object(n["u"])("data-v-919872a2");var i={class:"rss-news"},c={key:0,class:"article"};Object(n["s"])();var u=s((function(e,t,r,s,u,a){return Object(n["r"])(),Object(n["e"])("div",i,[e.currentArticle?(Object(n["r"])(),Object(n["e"])("div",c,[Object(n["h"])("div",{class:"source",textContent:Object(n["C"])(e.currentArticle.source)},null,8,["textContent"]),Object(n["h"])("div",{class:"title",textContent:Object(n["C"])(e.currentArticle.title)},null,8,["textContent"]),Object(n["h"])("div",{class:"published",textContent:Object(n["C"])(new Date(e.currentArticle.published).toDateString()+", "+new Date(e.currentArticle.published).toTimeString().substring(0,5))},null,8,["textContent"])])):Object(n["f"])("",!0)])})),a=(r("a9e3"),r("b680"),r("2909")),l=(r("96cf"),r("1da1")),o=r("3e54"),d={name:"RssNews",mixins:[o["a"]],props:{db:{type:String,required:!0},limit:{type:Number,required:!1,default:25},refreshSeconds:{type:Number,required:!1,default:15}},data:function(){return{articles:[],queue:[],currentArticle:void 0}},methods:{refresh:function(){var e=Object(l["a"])(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(this.queue.length){e.next=5;break}return e.next=3,this.request("db.select",{engine:this.db,query:"\n select s.title as source, e.title, e.summary,\n strftime('%Y-%m-%dT%H:%M:%fZ', e.published) as published\n from FeedEntry e join FeedSource s\n on e.source_id = s.id order by e.published desc limit ".concat(this.limit)});case 3:this.articles=e.sent,this.queue=Object(a["a"])(this.articles);case 5:if(this.queue.length){e.next=7;break}return e.abrupt("return");case 7:this.currentArticle=this.queue.pop();case 8:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},mounted:function(){this.refresh(),setInterval(this.refresh,parseInt((1e3*this.refreshSeconds).toFixed(0)))}};r("a41f");d.render=u,d.__scopeId="data-v-919872a2";t["default"]=d}}]);
+//# sourceMappingURL=chunk-2e3e3996.24de4e55.js.map
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-2e3e3996.24de4e55.js.map b/platypush/backend/http/dist/static/js/chunk-2e3e3996.24de4e55.js.map
new file mode 100644
index 00000000..af82829f
--- /dev/null
+++ b/platypush/backend/http/dist/static/js/chunk-2e3e3996.24de4e55.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/components/widgets/RssNews/Index.vue?2bff","webpack:///./src/components/widgets/RssNews/Index.vue","webpack:///./src/components/widgets/RssNews/Index.vue?99b3"],"names":["class","currentArticle","source","title","Date","published","toDateString","toTimeString","substring","name","mixins","Utils","props","db","type","String","required","limit","Number","default","refreshSeconds","data","articles","queue","undefined","methods","refresh","this","length","request","engine","query","pop","mounted","setInterval","parseInt","toFixed","render","__scopeId"],"mappings":"yIAAA,W,sICCOA,MAAM,Y,SACJA,MAAM,W,wEADb,eAMM,MANN,EAMM,CALuB,EAAAC,gB,iBAA3B,eAIM,MAJN,EAIM,CAHJ,eAAyD,OAApDD,MAAM,S,YAAS,eAA8B,EAAR,eAACE,S,wBAC3C,eAAuD,OAAlDF,MAAM,Q,YAAQ,eAA6B,EAAP,eAACG,Q,wBAC1C,eAAkK,OAA7JH,MAAM,Y,YAAY,eAAoI,IAAxHI,KAAK,EAAAH,eAAeI,WAAWC,eAAY,SAAgBF,KAAK,EAAAH,eAAeI,WAAWE,eAAeC,UAAS,O,4HAY5I,GACbC,KAAM,UACNC,OAAQ,CAACC,EAAA,MACTC,MAAO,CAILC,GAAI,CACFC,KAAMC,OACNC,UAAU,GAIZC,MAAO,CACLH,KAAMI,OACNF,UAAU,EACVG,QAAS,IAIXC,eAAgB,CACdN,KAAMI,OACNF,UAAU,EACVG,QAAS,KAIbE,KAAM,WACJ,MAAO,CACLC,SAAU,GACVC,MAAO,GACPtB,oBAAgBuB,IAIpBC,QAAS,CACPC,QAAS,WAAF,8CAAE,iGACFC,KAAKJ,MAAMK,OADT,gCAEiBD,KAAKE,QAAQ,YAAa,CAC9CC,OAAQH,KAAKd,GACbkB,MAAO,iQAAF,OAIuDJ,KAAKV,SAR9D,OAELU,KAAKL,SAFA,OAWLK,KAAKJ,MAAL,eAAiBI,KAAKL,UAXjB,UAcFK,KAAKJ,MAAMK,OAdT,iDAiBPD,KAAK1B,eAAiB0B,KAAKJ,MAAMS,MAjB1B,gDAAF,qDAAE,IAqBXC,QAAS,WACPN,KAAKD,UACLQ,YAAYP,KAAKD,QAASS,UAA8B,IAApBR,KAAKP,gBAAqBgB,QAAQ,O,UCvE1E,EAAOC,OAAS,EAChB,EAAOC,UAAY,kBAEJ","file":"static/js/chunk-2e3e3996.24de4e55.js","sourcesContent":["export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Index.vue?vue&type=style&index=0&id=919872a2&lang=scss&scoped=true\"","\n
\n
\n \n \n \n
\n
\n\n\n\n\n\n","import { render } from \"./Index.vue?vue&type=template&id=919872a2&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=919872a2&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-919872a2\"\n\nexport default script"],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-9f884670.aa7caaf0.js b/platypush/backend/http/dist/static/js/chunk-2f304dee.649e4dc7.js
similarity index 81%
rename from platypush/backend/http/dist/static/js/chunk-9f884670.aa7caaf0.js
rename to platypush/backend/http/dist/static/js/chunk-2f304dee.649e4dc7.js
index fef7338d..fdbf24f2 100644
--- a/platypush/backend/http/dist/static/js/chunk-9f884670.aa7caaf0.js
+++ b/platypush/backend/http/dist/static/js/chunk-2f304dee.649e4dc7.js
@@ -1,2 +1,2 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-9f884670"],{"0279":function(e,t,a){"use strict";var c=a("7a23"),n=Object(c["K"])("data-v-8fae7678");Object(c["u"])("data-v-8fae7678");var s=Object(c["h"])("div",{class:"switch"},[Object(c["h"])("div",{class:"dot"})],-1),i={class:"label"};Object(c["s"])();var o=n((function(e,t,a,n,o,l){return Object(c["r"])(),Object(c["e"])("div",{class:["power-switch",{disabled:a.disabled}],onClick:t[1]||(t[1]=function(){return l.onInput.apply(l,arguments)})},[Object(c["h"])("input",{type:"checkbox",checked:a.value},null,8,["checked"]),Object(c["h"])("label",null,[s,Object(c["h"])("span",i,[Object(c["y"])(e.$slots,"default")])])],2)})),l={name:"ToggleSwitch",emits:["input"],props:{value:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},methods:{onInput:function(e){if(e.stopPropagation(),this.disabled)return!1;this.$emit("input",e)}}};a("5b0a");l.render=o,l.__scopeId="data-v-8fae7678";t["a"]=l},"5b0a":function(e,t,a){"use strict";a("7ef9")},"7ef9":function(e,t,a){}}]);
-//# sourceMappingURL=chunk-9f884670.aa7caaf0.js.map
\ No newline at end of file
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2f304dee"],{"0279":function(e,t,a){"use strict";var c=a("7a23"),n=Object(c["K"])("data-v-8fae7678");Object(c["u"])("data-v-8fae7678");var s=Object(c["h"])("div",{class:"switch"},[Object(c["h"])("div",{class:"dot"})],-1),i={class:"label"};Object(c["s"])();var o=n((function(e,t,a,n,o,l){return Object(c["r"])(),Object(c["e"])("div",{class:["power-switch",{disabled:a.disabled}],onClick:t[1]||(t[1]=function(){return l.onInput.apply(l,arguments)})},[Object(c["h"])("input",{type:"checkbox",checked:a.value},null,8,["checked"]),Object(c["h"])("label",null,[s,Object(c["h"])("span",i,[Object(c["y"])(e.$slots,"default")])])],2)})),l={name:"ToggleSwitch",emits:["input"],props:{value:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},methods:{onInput:function(e){if(e.stopPropagation(),this.disabled)return!1;this.$emit("input",e)}}};a("5b0a");l.render=o,l.__scopeId="data-v-8fae7678";t["a"]=l},"3c5f":function(e,t,a){},"5b0a":function(e,t,a){"use strict";a("3c5f")}}]);
+//# sourceMappingURL=chunk-2f304dee.649e4dc7.js.map
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-2f304dee.649e4dc7.js.map b/platypush/backend/http/dist/static/js/chunk-2f304dee.649e4dc7.js.map
new file mode 100644
index 00000000..86c75e49
--- /dev/null
+++ b/platypush/backend/http/dist/static/js/chunk-2f304dee.649e4dc7.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/components/elements/ToggleSwitch.vue","webpack:///./src/components/elements/ToggleSwitch.vue?c2e8","webpack:///./src/components/elements/ToggleSwitch.vue?bf34"],"names":["class","disabled","onInput","type","checked","value","name","emits","props","Boolean","default","methods","event","stopPropagation","this","$emit","render","__scopeId"],"mappings":"8MAMM,eAEM,OAFDA,MAAM,UAAQ,CACjB,eAAmB,OAAdA,MAAM,U,MAEPA,MAAM,S,wEARhB,eAYM,OAZDA,MAAK,CAAC,eAAc,UAAoB,EAAAC,WAAY,QAAK,8BAAE,EAAAC,QAAA,sB,CAE9D,eAAwC,SAAjCC,KAAK,WAAYC,QAAS,EAAAC,O,oBACjC,eAQQ,cANN,EAGA,eAEO,OAFP,EAEO,CADL,eAAQ,yB,MAOD,GACbC,KAAM,eACNC,MAAO,CAAC,SACRC,MAAO,CACLH,MAAO,CACLF,KAAMM,QACNC,SAAS,GAGXT,SAAU,CACRE,KAAMM,QACNC,SAAS,IAIbC,QAAS,CACPT,QADO,SACCU,GAEN,GADAA,EAAMC,kBACFC,KAAKb,SACP,OAAO,EAETa,KAAKC,MAAM,QAASH,M,UCjC1B,EAAOI,OAAS,EAChB,EAAOC,UAAY,kBAEJ,U,6DCRf","file":"static/js/chunk-2f304dee.649e4dc7.js","sourcesContent":["\n
\n \n \n \n
\n\n\n\n\n\n","import { render } from \"./ToggleSwitch.vue?vue&type=template&id=8fae7678&scoped=true\"\nimport script from \"./ToggleSwitch.vue?vue&type=script&lang=js\"\nexport * from \"./ToggleSwitch.vue?vue&type=script&lang=js\"\n\nimport \"./ToggleSwitch.vue?vue&type=style&index=0&id=8fae7678&lang=scss&scoped=true\"\nscript.render = render\nscript.__scopeId = \"data-v-8fae7678\"\n\nexport default script","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./ToggleSwitch.vue?vue&type=style&index=0&id=8fae7678&lang=scss&scoped=true\""],"sourceRoot":""}
\ No newline at end of file
diff --git a/platypush/backend/http/dist/static/js/chunk-307152f0.410c102d.js b/platypush/backend/http/dist/static/js/chunk-307152f0.410c102d.js
new file mode 100644
index 00000000..d6f0878d
--- /dev/null
+++ b/platypush/backend/http/dist/static/js/chunk-307152f0.410c102d.js
@@ -0,0 +1,2 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-307152f0"],{"084e":function(e,t,n){"use strict";n("6dd5")},"090f":function(e,t,n){"use strict";n("e52b")},1804:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));n("99af"),n("d81d"),n("b680"),n("b64b");var i=n("2909");function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function r(e,t){for(var n=0;n.5?s/(2-r-c):s/(r+c),r){case e:i=(t-n)/s+(tl&&a>s&&a>1?(s/=a,l/=a,a=1):s>l&&s>a&&s>1?(a/=s,l/=s,s=1):l>a&&l>s&&l>1&&(a/=l,s/=l,l=1),a=a<=.0031308?12.92*a:1.055*Math.pow(a,1/2.4)-.055,s=s<=.0031308?12.92*s:1.055*Math.pow(s,1/2.4)-.055,l=l<=.0031308?12.92*l:1.055*Math.pow(l,1/2.4)-.055,a=Math.round(255*a),s=Math.round(255*s),l=Math.round(255*l),isNaN(a)&&(a=0),isNaN(s)&&(s=0),isNaN(l)&&(l=0),[a,s,l].map((function(e){return Math.min(Math.max(0,e),255)}))}},{key:"rgbToXY",value:function(e,t,n){e>1&&(e/=255),t>1&&(t/=255),n>1&&(n/=255),e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var i=.664511*e+.154324*t+.162028*n,o=.283881*e+.668433*t+.047685*n,r=88e-6*e+.07231*t+.986039*n,c=parseFloat((i/(i+o+r)).toFixed(4)),a=parseFloat((o/(i+o+r)).toFixed(4));return isNaN(c)&&(c=0),isNaN(a)&&(a=0),[c,a]}},{key:"rgbToBri",value:function(e,t,n){return Math.min(2*this.rgbToHsl(e,t,n)[2],this.ranges.bri[1])}},{key:"getRGB",value:function(e){return null!=e.red&&null!=e.green&&null!=e.blue?[e.red,e.green,e.blue]:null!=e.r&&null!=e.g&&null!=e.b?[e.r,e.g,e.b]:e.rgb?e.rgb:void 0}},{key:"getXY",value:function(e){return null!=e.x&&null!=e.y?[e.x,e.y]:e.xy?e.xy:void 0}},{key:"toRGB",value:function(e){var t=this.getRGB(e);if(t)return t;var n=this.getXY(e);return n&&e.bri?this.xyToRgb.apply(this,Object(i["a"])(n).concat([e.bri])):e.hue&&e.sat&&e.bri?this.hslToRgb(e.hue,e.sat,e.bri):(console.debug("Could not determine color space"),void console.debug(e))}},{key:"toXY",value:function(e){var t=this.getXY(e);if(t&&e.bri)return[t[0],t[1],e.bri];var n=this.getRGB(e);if(n)return this.rgbToXY.apply(this,Object(i["a"])(n));if(e.hue&&e.sat&&e.bri){var o=this.hslToRgb(e.hue,e.sat,e.bri);return this.rgbToXY.apply(this,Object(i["a"])(o))}console.debug("Could not determine color space"),console.debug(e)}},{key:"toHSL",value:function(e){if(e.hue&&e.sat&&e.bri)return[e.hue,e.sat,e.bri];var t=this.getRGB(e);if(t)return this.rgbToHsl.apply(this,Object(i["a"])(t));var n=this.getXY(e);if(n&&e.bri){var o=this.xyToRgb.apply(this,Object(i["a"])(n).concat([e.bri]));return this.rgbToHsl.apply(this,Object(i["a"])(o))}console.debug("Could not determine color space"),console.debug(e)}}]),e}()},"1e15":function(e,t,n){"use strict";n("4e29")},4022:function(e,t,n){"use strict";n("51f0")},"406a":function(e,t,n){"use strict";n("57b3")},"4e29":function(e,t,n){},"51f0":function(e,t,n){},"57b3":function(e,t,n){},"6dd5":function(e,t,n){},"73e5":function(e,t,n){"use strict";n("cdad")},"7e57":function(e,t,n){"use strict";n("ea94")},"8dcb":function(e,t,n){"use strict";n("aaf0")},"93d8":function(e,t,n){"use strict";n("9f3b")},"9f3b":function(e,t,n){},aaf0:function(e,t,n){},b347:function(e,t,n){"use strict";n("fe8e")},bf6b:function(e,t,n){"use strict";n("cdbd")},cdad:function(e,t,n){},cdbd:function(e,t,n){},cf99:function(e,t,n){"use strict";n.r(t);n("b64b");var i=n("7a23"),o=Object(i["K"])("data-v-0378547e");Object(i["u"])("data-v-0378547e");var r={class:"plugin lights-plugin"},c={key:0,class:"panel"},a={key:1,class:"panel"};Object(i["s"])();var s=o((function(e,t,n,o,s,l){var u=Object(i["z"])("Groups"),b=Object(i["z"])("Group");return Object(i["r"])(),Object(i["e"])("div",r,[null==s.selectedGroup&&n.groups&&Object.keys(n.groups).length?(Object(i["r"])(),Object(i["e"])("div",c,[Object(i["h"])(u,{groups:n.groups,"loading-groups":n.loadingGroups,"color-converter":n.colorConverter,onSelect:t[1]||(t[1]=function(e){return s.selectedGroup=e}),onToggle:t[2]||(t[2]=function(t){return e.$emit("group-toggle",t)})},null,8,["groups","loading-groups","color-converter"])])):(Object(i["r"])(),Object(i["e"])("div",a,[Object(i["h"])(b,{group:n.groups[s.selectedGroup],lights:l.displayedLights,scenes:l.scenesByGroup[s.selectedGroup],"color-converter":n.colorConverter,animations:l.animationsByGroup[s.selectedGroup],onClose:t[3]||(t[3]=function(e){return s.selectedGroup=null}),onLightToggle:t[4]||(t[4]=function(t){return e.$emit("light-toggle",t)}),onGroupToggle:t[5]||(t[5]=function(t){return e.$emit("group-toggle",t)}),onSetLight:t[6]||(t[6]=function(t){return e.$emit("set-light",t)}),onSetGroup:t[7]||(t[7]=function(t){return e.$emit("set-group",{groupId:s.selectedGroup,value:t})}),onSelectScene:t[8]||(t[8]=function(t){return e.$emit("select-scene",{groupId:s.selectedGroup,sceneId:t})}),onStartAnimation:t[9]||(t[9]=function(t){return e.$emit("start-animation",t)}),onStopAnimation:t[10]||(t[10]=function(t){return e.$emit("stop-animation",t)})},null,8,["group","lights","scenes","color-converter","animations"])]))])})),l=(n("4160"),n("13d5"),n("a9e3"),n("4fad"),n("07ac"),n("159b"),n("5530")),u=n("3835"),b=n("3e54"),g={name:"Panel",emits:["mounted"],props:{config:{type:Object,default:function(){}},pluginName:{type:String,required:!0}},data:function(){return{loading:!1}},mounted:function(){this.$emit("mounted",this)}},d=g,h=(n("b0c0"),Object(i["K"])("data-v-42318a2b"));Object(i["u"])("data-v-42318a2b");var p={class:"panel-row header"},O=Object(i["h"])("div",{class:"col-3"},[Object(i["h"])("i",{class:"icon fas fa-home"})],-1),j=Object(i["h"])("div",{class:"col-6 name"}," Rooms ",-1),v={class:"col-3 pull-right"},f={class:"name col-9"},m={class:"controls col-3 pull-right"};Object(i["s"])();var y=h((function(e,t,n,o,r,c){var a=Object(i["z"])("ToggleSwitch"),s=Object(i["z"])("MenuPanel");return Object(i["r"])(),Object(i["e"])(s,null,{default:h((function(){return[Object(i["h"])("div",p,[O,j,Object(i["h"])("div",v,[Object(i["h"])(a,{value:c.anyLightsOn,onInput:t[1]||(t[1]=function(t){return e.$emit("toggle")})},null,8,["value"])])]),(Object(i["r"])(!0),Object(i["e"])(i["a"],null,Object(i["x"])(c.groupsSorted,(function(t){return Object(i["r"])(),Object(i["e"])("div",{class:"panel-row row group",key:t.id,onClick:function(n){return e.$emit("select",t.id)}},[Object(i["h"])("span",f,Object(i["C"])(t.name||"[Group ".concat(t.id,"]")),1),Object(i["h"])("span",m,[Object(i["h"])(a,{value:t.state.any_on,disabled:t.id in(n.loadingGroups||{}),onInput:function(n){return e.$emit("toggle",t)}},null,8,["value","disabled","onInput"])])],8,["onClick"])})),128))]})),_:1})})),C=(n("d81d"),{class:"menu-panel"}),w={class:"content"};function k(e,t,n,o,r,c){return Object(i["r"])(),Object(i["e"])("div",C,[Object(i["h"])("div",w,[Object(i["y"])(e.$slots,"default")])])}var _={name:"MenuPanel"};n("4022");_.render=k;var S=_,L=n("0279"),G=n("1804"),$={name:"Groups",components:{ToggleSwitch:L["a"],MenuPanel:S},emits:["select","toggle"],props:{groups:{type:Object,default:function(){}},loadingGroups:{type:Object,default:function(){}},colorConverter:{type:Object,default:function(){return new G["a"]}}},computed:{groupsSorted:function(){return Object.entries(this.groups).sort((function(e,t){return e[1].name.localeCompare(t[1].name)})).map((function(e){var t=Object(u["a"])(e,2),n=t[0],i=t[1];return Object(l["a"])(Object(l["a"])({},i),{},{id:n})}))},anyLightsOn:function(){for(var e=0,t=Object.values(this.groups);e0}},methods:{toggleSelectAll:function(){var e=this,t=Object.values(this.selectedLights).filter((function(e){return e})).length {\n const k = (n + h / 30) % 12\n const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1)\n return Math.round(255 * color)\n }\n\n return [f(0), f(8), f(4)]\n }\n\n rgbToHsl(r, g, b){\n r /= 255\n g /= 255\n b /= 255;\n const max = Math.max(r, g, b), min = Math.min(r, g, b);\n let h, s, l = (max + min) / 2;\n\n if(max === min){\n h = s = 0; // achromatic\n } else {\n const d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n switch(max){\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n\n return [\n parseInt(this.normalize(h, [0, 1], this.ranges.hue)),\n parseInt(this.normalize(s, [0, 1], this.ranges.sat)),\n parseInt(this.normalize(l, [0, 1], this.ranges.bri)),\n ]\n }\n\n xyToRgb(x, y, brightness) {\n // Set to maximum brightness if no custom value was given (Not the slick ECMAScript 6 way for compatibility reasons)\n if (brightness == null)\n brightness = this.ranges.bri[1];\n\n const z = 1.0 - x - y;\n const Y = (brightness / (this.ranges.bri[1]-1)).toFixed(2);\n const X = (Y / y) * x;\n const Z = (Y / y) * z;\n\n //Convert to RGB using Wide RGB D65 conversion\n let red \t= X * 1.656492 - Y * 0.354851 - Z * 0.255038;\n let green = -X * 0.707196 + Y * 1.655397 + Z * 0.036152;\n let blue \t= X * 0.051713 - Y * 0.121364 + Z * 1.011530;\n\n //If red, green or blue is larger than 1.0 set it back to the maximum of 1.0\n if (red > blue && red > green && red > 1.0) {\n green = green / red;\n blue = blue / red;\n red = 1.0;\n } else if (green > blue && green > red && green > 1.0) {\n red = red / green;\n blue = blue / green;\n green = 1.0;\n } else if (blue > red && blue > green && blue > 1.0) {\n red = red / blue;\n green = green / blue;\n blue = 1.0;\n }\n\n //Reverse gamma correction\n red \t= red <= 0.0031308 ? 12.92 * red : (1.0 + 0.055) * Math.pow(red, (1.0 / 2.4)) - 0.055;\n green \t= green <= 0.0031308 ? 12.92 * green : (1.0 + 0.055) * Math.pow(green, (1.0 / 2.4)) - 0.055;\n blue \t= blue <= 0.0031308 ? 12.92 * blue : (1.0 + 0.055) * Math.pow(blue, (1.0 / 2.4)) - 0.055;\n\n //Convert normalized decimal to decimal\n red \t= Math.round(red * 255);\n green \t= Math.round(green * 255);\n blue \t= Math.round(blue * 255);\n\n if (isNaN(red))\n red = 0;\n if (isNaN(green))\n green = 0;\n if (isNaN(blue))\n blue = 0;\n\n return [red, green, blue].map((c) => Math.min(Math.max(0, c), 255))\n }\n\n rgbToXY(red, green, blue) {\n if (red > 1) { red /= 255; }\n if (green > 1) { green /= 255; }\n if (blue > 1) { blue /= 255; }\n\n //Apply a gamma correction to the RGB values, which makes the color more vivid and more the like the color displayed on the screen of your device\n red \t= (red > 0.04045) ? Math.pow((red + 0.055) / (1.0 + 0.055), 2.4) : (red / 12.92);\n green \t= (green > 0.04045) ? Math.pow((green + 0.055) / (1.0 + 0.055), 2.4) : (green / 12.92);\n blue \t= (blue > 0.04045) ? Math.pow((blue + 0.055) / (1.0 + 0.055), 2.4) : (blue / 12.92);\n\n //RGB values to XYZ using the Wide RGB D65 conversion formula\n const X \t\t= red * 0.664511 + green * 0.154324 + blue * 0.162028;\n const Y \t\t= red * 0.283881 + green * 0.668433 + blue * 0.047685;\n const Z \t\t= red * 0.000088 + green * 0.072310 + blue * 0.986039;\n\n //Calculate the xy values from the XYZ values\n let x \t\t= parseFloat((X / (X + Y + Z)).toFixed(4));\n let y \t\t= parseFloat((Y / (X + Y + Z)).toFixed(4));\n\n if (isNaN(x))\n x = 0;\n if (isNaN(y))\n y = 0;\n\n return [x, y];\n }\n\n rgbToBri(red, green, blue) {\n return Math.min(2 * this.rgbToHsl(red, green, blue)[2], this.ranges.bri[1])\n }\n\n getRGB(color) {\n if (color.red != null && color.green != null && color.blue != null)\n return [color.red, color.green, color.blue]\n if (color.r != null && color.g != null && color.b != null)\n return [color.r, color.g, color.b]\n if (color.rgb)\n return color.rgb\n }\n\n getXY(color) {\n if (color.x != null && color.y != null)\n return [color.x, color.y]\n if (color.xy)\n return color.xy\n }\n\n toRGB(color) {\n const rgb = this.getRGB(color)\n if (rgb)\n return rgb\n\n const xy = this.getXY(color)\n if (xy && color.bri)\n return this.xyToRgb(...xy, color.bri)\n if (color.hue && color.sat && color.bri)\n return this.hslToRgb(color.hue, color.sat, color.bri)\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n\n toXY(color) {\n const xy = this.getXY(color)\n if (xy && color.bri)\n return [xy[0], xy[1], color.bri]\n\n const rgb = this.getRGB(color)\n if (rgb)\n return this.rgbToXY(...rgb)\n\n if (color.hue && color.sat && color.bri) {\n const rgb = this.hslToRgb(color.hue, color.sat, color.bri)\n return this.rgbToXY(...rgb)\n }\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n\n toHSL(color) {\n if (color.hue && color.sat && color.bri)\n return [color.hue, color.sat, color.bri]\n\n const rgb = this.getRGB(color)\n if (rgb)\n return this.rgbToHsl(...rgb)\n\n const xy = this.getXY(color)\n if (xy && color.bri) {\n const rgb = this.xyToRgb(...xy, color.bri)\n return this.rgbToHsl(...rgb)\n }\n\n console.debug('Could not determine color space')\n console.debug(color)\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Group.vue?vue&type=style&index=1&id=4de1a560&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./MenuPanel.vue?vue&type=style&index=0&id=02113104&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Controls.vue?vue&type=style&index=1&id=e2726892&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Group.vue?vue&type=style&index=0&id=4de1a560&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Animate.vue?vue&type=style&index=0&id=1739aaba&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Groups.vue?vue&type=style&index=0&id=42318a2b&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Light.vue?vue&type=style&index=0&id=52168252&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Index.vue?vue&type=style&index=0&id=0378547e&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Controls.vue?vue&type=style&index=0&id=e2726892&lang=scss&scoped=true\"","\n
\n
\n \n
\n
\n \n
\n
\n\n\n\n\n\n\n","\n","import script from \"./Panel.vue?vue&type=script&lang=js\"\nexport * from \"./Panel.vue?vue&type=script&lang=js\"\n\nexport default script","\n \n