diff --git a/CHANGELOG.md b/CHANGELOG.md index 2854a58..f1e59e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +# [0.4.0](https://github.com/socketio/socket.io-admin-ui/compare/0.3.0...0.4.0) (2022-06-23) + + +### Bug Fixes + +* **ui:** properly set initial nav drawer state ([77ee068](https://github.com/socketio/socket.io-admin-ui/commit/77ee0683185aceababc4439a3a945e273d547944)) + + +### Features + +* add page displaying all events ([481ef22](https://github.com/socketio/socket.io-admin-ui/commit/481ef22b3aff37b40b142a29cb78e116d6d1e8e9)) +* add production mode ([e0d91ca](https://github.com/socketio/socket.io-admin-ui/commit/e0d91cadb11205c5f2c686c239a50cb2eef9795d)) +* display sent and received events ([8542601](https://github.com/socketio/socket.io-admin-ui/commit/8542601b55022f6ca00b677b7d7c7664a326526f)) +* **ui:** add support for relative links ([fdec2ce](https://github.com/socketio/socket.io-admin-ui/commit/fdec2ce17bf7cad77a04e8eef42a26104b6a05b8)) +* **ui:** separate the namespace from the server URL ([5a8a75e](https://github.com/socketio/socket.io-admin-ui/commit/3d4aed972f16dad3dd847d61f4db5e6f55978c4b)) + + + # [0.3.0](https://github.com/socketio/socket.io-admin-ui/compare/0.2.0...0.3.0) (2022-05-03) diff --git a/README.md b/README.md index 983e2ea..93fba1f 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ - [`readonly`](#readonly) - [`serverId`](#serverid) - [`store`](#store) + - [`mode`](#mode) - [How it works](#how-it-works) - [License](#license) @@ -64,7 +65,7 @@ You should see the following modal: ![login modal screenshot](assets/login-modal.png) -Please enter the URL of your server, including the namespace (for example, `http://localhost:3000/admin` or `https://example.com/admin`) and the credentials, if applicable (see the `auth` option [below](#auth)). +Please enter the URL of your server (for example, `http://localhost:3000` or `https://example.com`) and the credentials, if applicable (see the `auth` option [below](#auth)). ### Available options @@ -173,6 +174,24 @@ instrument(io, { }); ``` +#### `mode` + +Default value: `development` + +In production mode, the server won't send all details about the socket instances and the rooms, thus reducing the memory footprint of the instrumentation. + +```js +instrument(io, { + mode: "production" +}); +``` + +The production mode can also be enabled with the NODE_ENV environment variable: + +``` +NODE_ENV=production node index.js +``` + ## How it works You can check the details of the implementation in the [lib/index.ts](lib/index.ts) file. diff --git a/package.json b/package.json index bd69200..1405d21 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@socket.io/admin-ui", - "version": "0.3.0", + "version": "0.4.0", "description": "Admin UI for Socket.IO", "files": [ "dist/", diff --git a/ui/dist/css/app.4ba437f0.css b/ui/dist/css/app.4ba437f0.css deleted file mode 100644 index 7b92886..0000000 --- a/ui/dist/css/app.4ba437f0.css +++ /dev/null @@ -1 +0,0 @@ -.chart[data-v-58987bf8],.chart[data-v-d6482f56]{max-width:160px;margin:20px}.select-room[data-v-d014ee1e],.selector[data-v-2c330798]{max-width:200px}.key-column[data-v-8d2424e4],.key-column[data-v-41eb1dae],.key-column[data-v-18284f59]{width:30%} \ No newline at end of file diff --git a/ui/dist/css/app.6e3b9661.css b/ui/dist/css/app.6e3b9661.css new file mode 100644 index 0000000..a92d380 --- /dev/null +++ b/ui/dist/css/app.6e3b9661.css @@ -0,0 +1 @@ +.chart[data-v-0ad5cc14],.chart[data-v-68c0c5d5]{max-width:160px;margin:20px}.selector[data-v-2c330798]{max-width:200px}.row-pointer[data-v-1d29c60a] tbody>tr:hover{cursor:pointer}.select-room[data-v-5631eb89]{max-width:200px}.row-pointer[data-v-5631eb89] tbody>tr:hover{cursor:pointer}.key-column[data-v-3c0dcfcd]{width:30%}.link[data-v-3c0dcfcd]{color:inherit}.key-column[data-v-18284f59]{width:30%}.row-pointer[data-v-57b53591] tbody>tr:hover,.row-pointer[data-v-29992f63] tbody>tr:hover{cursor:pointer}.key-column[data-v-8d2424e4]{width:30%}.row-pointer[data-v-38772079] tbody>tr:hover,.row-pointer[data-v-c9425064] tbody>tr:hover{cursor:pointer}.link[data-v-2c2337d4]{color:inherit} \ No newline at end of file diff --git a/ui/dist/index.html b/ui/dist/index.html index 6b9c39c..5ef6852 100644 --- a/ui/dist/index.html +++ b/ui/dist/index.html @@ -1 +1 @@ -Socket.IO Admin UI
\ No newline at end of file +Socket.IO Admin UI
\ No newline at end of file diff --git a/ui/dist/js/app.37014115.js b/ui/dist/js/app.37014115.js new file mode 100644 index 0000000..1c2cb28 --- /dev/null +++ b/ui/dist/js/app.37014115.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var s,r,i=t[0],c=t[1],l=t[2],u=0,m=[];ut.meta.index?"v-slide-y-reverse-transition":"v-slide-y-transition":this.transitionName=e.meta.topLevel?"v-slide-x-transition":"v-slide-x-reverse-transition"}},methods:{tryConnect:function(e,t,n,s,a,o){var r=this;this.isConnecting=!0,Te.socket&&(Te.socket.disconnect(),Te.socket.off("connect"),Te.socket.off("connect_error"),Te.socket.off("disconnect"));var i=Object(be["a"])(e+t,{forceNew:!0,reconnection:!1,withCredentials:!0,transports:s?["websocket"]:["polling","websocket"],path:a,parser:"msgpack"===o?ke.a:null,auth:n});i.once("connect",(function(){r.showConnectionModal=!1,r.connectionError="",r.isConnecting=!1,i.io.reconnection(!0),r.$store.commit("connection/saveConfig",{serverUrl:e,wsOnly:s,path:a,namespace:t,parser:o}),Te.socket=i,r.registerEventListeners(i)})),i.on("connect",(function(){r.$store.commit("connection/connect")})),i.on("connect_error",(function(e){(r.isConnecting||"invalid credentials"===e.message)&&(r.showConnectionModal=!0,r.connectionError=e.message),r.isConnecting=!1})),i.on("disconnect",(function(e){r.isConnecting&&(r.isConnecting=!1,r.connectionError=e),r.$store.commit("connection/disconnect")}))},registerEventListeners:function(e){var t=this;e.on("session",(function(e){t.$store.commit("connection/saveSessionId",e)})),e.on("config",(function(e){t.$store.commit("config/updateConfig",e)})),e.on("server_stats",(function(e){t.$store.commit("servers/onServerStats",e),t.$store.commit("main/onServerStats",e)})),e.on("all_sockets",(function(e){t.$store.commit("main/onAllSockets",e)})),e.on("socket_connected",(function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ie();t.$store.commit("main/onSocketConnected",{timestamp:n,socket:e})})),e.on("socket_updated",(function(e){t.$store.commit("main/onSocketUpdated",e)})),e.on("socket_disconnected",(function(e,n,s){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ie();t.$store.commit("main/onSocketDisconnected",{timestamp:a,nsp:e,id:n,reason:s})})),e.on("room_joined",(function(e,n,s){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ie();t.$store.commit("main/onRoomJoined",{timestamp:a,nsp:e,room:n,id:s})})),e.on("room_left",(function(e,n,s){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Ie();t.$store.commit("main/onRoomLeft",{timestamp:a,nsp:e,room:n,id:s})})),e.on("event_received",(function(e,n,s,a){t.$store.commit("main/onEventReceived",{timestamp:a,nsp:e,id:n,args:s})})),e.on("event_sent",(function(e,n,s,a){t.$store.commit("main/onEventSent",{timestamp:a,nsp:e,id:n,args:s})}))},onSubmit:function(e){this.tryConnect(e.serverUrl,e.namespace,{username:e.username,password:e.password},e.wsOnly,e.path,e.parser)}},created:function(){if(this.$vuetify.theme.dark=this.$store.state.config.darkTheme,this.$vuetify.breakpoint.lgAndUp&&this.$store.commit("config/toggleNavigationDrawer"),this.serverUrl){var e=this.$store.state.connection.sessionId;this.tryConnect(this.serverUrl,this.namespace,{sessionId:e},this.wsOnly,this.path,this.parser)}else this.showConnectionModal=!0}},Re=Ee,Ne=n("7496"),Pe=n("a523"),Be=n("f6c4"),Ae=Object(b["a"])(Re,a,o,!1,null,null,null),Ue=Ae.exports;k()(Ae,{VApp:Ne["a"],VContainer:Pe["a"],VMain:Be["a"]});var Le=n("8c4f"),Me=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),n("v-container",{attrs:{fluid:""}},[n("v-row",[n("v-col",{attrs:{cols:"12",md:"6",lg:"4"}},[n("ClientsOverview")],1),n("v-col",{attrs:{cols:"12",md:"6",lg:"4"}},[n("ServersOverview")],1),n("v-col",{attrs:{cols:"12",md:"6",lg:"4"}},[n("NamespacesOverview")],1),e.hasAggregatedValues?n("v-col",{attrs:{cols:"12",md:"6"}},[n("ConnectionsHistogram")],1):e._e(),e.hasAggregatedValues?n("v-col",{attrs:{cols:"12",md:"6"}},[n("BytesHistogram")],1):e._e()],1)],1)],1)},He=[],qe=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",[n("v-card-title",{staticClass:"text-center"},[e._v(" "+e._s(e.$t("clients.title"))+" "),n("v-spacer"),e.developmentMode?n("v-btn",{attrs:{to:{name:"clients"},small:""}},[n("v-icon",[e._v("mdi-dots-horizontal")])],1):e._e()],1),n("v-card-text",[n("v-row",[n("Doughnut",{staticClass:"chart",attrs:{"chart-data":e.data,"chart-options":e.chartOptions}}),n("v-simple-table",{staticClass:"grow align-self-center",scopedSlots:e._u([{key:"default",fn:function(){return[n("tbody",[n("tr",[n("th",[e._v(e._s(e.$t("sockets.transport")))]),n("th",[e._v("#")])]),e._l(e.transports,(function(t){return n("tr",{key:t},[n("td",[n("Transport",{attrs:{transport:t}})],1),n("td",[n("div",[n("h2",[e._v(e._s(e.transportRepartition[t]))])]),n("div",[e._v(" "+e._s(e.percentage(e.transportRepartition[t],e.clientsCount))+" % ")])])])}))],2)]},proxy:!0}])})],1)],1)],1)},Fe=[],Je=(n("4de4"),n("d81d"),n("7b97")),ze=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-chip",{attrs:{small:"",color:e.color,outlined:""}},[e._v(e._s(e.label))])},We=[],Ge={name:"Transport",props:{transport:String},computed:{label:function(){switch(this.transport){case"polling":return"HTTP long-polling";case"websocket":return"WebSocket";default:return this.transport}},color:function(){switch(this.transport){case"polling":return v["a"].orange.base;case"websocket":return v["a"].green.base;default:return v["a"].grey.base}}}},Ke=Ge,Ze=Object(b["a"])(Ke,ze,We,!1,null,null,null),Qe=Ze.exports;k()(Ze,{VChip:_["a"]});var Xe=n("53ca"),Ye=(n("a15b"),n("a434"),n("caad"),n("2532"),n("b680"),n("1c8f")),et=function(){var e="test";try{return localStorage.setItem(e,e),localStorage.removeItem(e),!0}catch(t){return!1}},tt=et();function nt(e){var t=Math.ceil(Math.max(e,0)),n=Math.floor(t/86400),s=Math.floor((t-86400*n)/3600),a=Math.floor((t-86400*n-3600*s)/60),o=Math.ceil(t)-86400*n-3600*s-60*a,r=[];return n>0&&r.push(n+"d"),(n>0||s>0)&&r.push(s+"h"),(n>0||s>0||a>0)&&r.push(a+"m"),r.push(o+"s"),r.join(" ")}function st(e,t){var n="object"===Object(Xe["a"])(t)?Object(Ye["a"])(e,t):e.indexOf(t);return-1===n?[]:e.splice(n,1)}function at(e,t){e.includes(t)||e.push(t)}function ot(e,t){return 0===t?0:(e/t*100).toFixed(1)}var rt=n("9223"),it={name:"ClientsOverview",components:{Transport:Qe,Doughnut:Je["b"]},data:function(){return{transports:["websocket","polling"],chartOptions:{plugins:{legend:{display:!1}}}}},computed:Object(r["a"])(Object(r["a"])(Object(r["a"])({},Object(l["d"])({clients:function(e){return e.main.clients},darkTheme:function(e){return e.config.darkTheme},servers:function(e){return e.servers.servers}})),Object(l["b"])("config",["hasAggregatedValues","developmentMode"])),{},{clientsCount:function(){return this.hasAggregatedValues?Object(rt["a"])(this.servers,"clientsCount"):this.clients.length},transportRepartition:function(){if(this.hasAggregatedValues){var e=Object(rt["a"])(this.servers,"pollingClientsCount");return{polling:e,websocket:this.clientsCount-e}}return this.clients.map((function(e){return e.sockets[0]})).filter((function(e){return!!e})).reduce((function(e,t){return e[t.transport]++,e}),{websocket:0,polling:0})},data:function(){return{labels:["WebSocket","HTTP long-polling"],datasets:[{backgroundColor:[v["a"].green.base,v["a"].orange.base],borderColor:this.darkTheme?"black":"white",data:[this.transportRepartition["websocket"],this.transportRepartition["polling"]]}]}}}),methods:{percentage:ot}},ct=it,lt=(n("2bc7"),n("0fd9")),dt=n("1f4f"),ut=Object(b["a"])(ct,qe,Fe,!1,null,"68c0c5d5",null),mt=ut.exports;k()(ut,{VBtn:I["a"],VCard:Ce["a"],VCardText:xe["a"],VCardTitle:xe["b"],VIcon:le["a"],VRow:lt["a"],VSimpleTable:dt["a"],VSpacer:R["a"]});var pt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",[n("v-card-title",{staticClass:"text-center"},[e._v(" "+e._s(e.$t("servers.title"))+" "),n("v-spacer"),n("v-btn",{attrs:{to:{name:"servers"},small:""}},[n("v-icon",[e._v("mdi-dots-horizontal")])],1)],1),n("v-card-text",[n("v-row",[n("Doughnut",{staticClass:"chart",attrs:{"chart-data":e.data,"chart-options":e.chartOptions}}),n("v-simple-table",{staticClass:"grow align-self-center",scopedSlots:e._u([{key:"default",fn:function(){return[n("tbody",[n("tr",[n("th",[e._v(e._s(e.$t("status")))]),n("th",[e._v("#")])]),n("tr",[n("td",[n("ServerStatus",{attrs:{healthy:""}})],1),n("td",[n("div",[n("h2",[e._v(e._s(e.healthyServers))])]),n("div",[e._v(e._s(e.percentage(e.healthyServers,e.totalServers))+" %")])])]),n("tr",[n("td",[n("ServerStatus")],1),n("td",[n("div",[n("h2",[e._v(e._s(e.totalServers-e.healthyServers))])]),n("div",[e._v(" "+e._s(e.percentage(e.totalServers-e.healthyServers,e.totalServers))+" % ")])])])])]},proxy:!0}])})],1)],1)],1)},vt=[],ft=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Status",{attrs:{value:e.healthy,"ok-label":e.$t("servers.healthy"),"ko-label":e.$t("servers.unhealthy")}})},ht=[],bt={name:"ServerStatus",components:{Status:S},props:{healthy:Boolean}},gt=bt,kt=Object(b["a"])(gt,ft,ht,!1,null,null,null),_t=kt.exports,yt={name:"ServersOverview",components:{ServerStatus:_t,Doughnut:Je["b"]},data:function(){return{chartOptions:{plugins:{legend:{display:!1}}}}},computed:Object(r["a"])(Object(r["a"])({},Object(l["d"])({healthyServers:function(e){return e.servers.servers.filter((function(e){return e.healthy})).length},totalServers:function(e){return e.servers.servers.length},darkTheme:function(e){return e.config.darkTheme}})),{},{data:function(){return{labels:[this.$t("servers.healthy"),this.$t("servers.unhealthy")],datasets:[{backgroundColor:[v["a"].green.base,v["a"].red.base],borderColor:this.darkTheme?"black":"white",data:[this.healthyServers,this.totalServers-this.healthyServers]}]}}}),methods:{percentage:ot}},St=yt,Ot=(n("a86e"),Object(b["a"])(St,pt,vt,!1,null,"0ad5cc14",null)),Ct=Ot.exports;k()(Ot,{VBtn:I["a"],VCard:Ce["a"],VCardText:xe["a"],VCardTitle:xe["b"],VIcon:le["a"],VRow:lt["a"],VSimpleTable:dt["a"],VSpacer:R["a"]});var xt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",{staticClass:"text-center"},[e._v(" "+e._s(e.$t("namespaces"))+" "),n("v-spacer"),e.developmentMode?n("v-btn",{attrs:{to:{name:"sockets"},small:""}},[n("v-icon",[e._v("mdi-dots-horizontal")])],1):e._e()],1),n("v-simple-table",{scopedSlots:e._u([{key:"default",fn:function(){return[n("thead",[n("tr",[n("th",[e._v(e._s(e.$t("name")))]),n("th",[e._v(e._s(e.$t("rooms.sockets-count")))])])]),n("tbody",e._l(e.namespaces,(function(t){return n("tr",{key:t.name},[n("td",{staticClass:"key-column"},[n("code",[e._v(e._s(t.name))])]),n("td",[e._v(e._s(t.socketsCount))])])})),0)]},proxy:!0}])})],1)},$t=[],jt=n("d66c"),wt={name:"NamespacesOverview",computed:Object(r["a"])(Object(r["a"])(Object(r["a"])(Object(r["a"])({},Object(l["d"])({plainNamespaces:function(e){return Object(jt["a"])(e.main.namespaces,"name").map((function(e){var t=e.name,n=e.sockets;return{name:t,socketsCount:n.length}}))}})),Object(l["b"])("config",["hasAggregatedValues","developmentMode"])),Object(l["b"])("servers",{liteNamespaces:"namespaces"})),{},{namespaces:function(){return this.hasAggregatedValues?this.liteNamespaces:this.plainNamespaces}})},Vt=wt,Dt=Object(b["a"])(Vt,xt,$t,!1,null,"11fe24be",null),Tt=Dt.exports;k()(Dt,{VBtn:I["a"],VCard:Ce["a"],VCardTitle:xe["b"],VIcon:le["a"],VSimpleTable:dt["a"],VSpacer:R["a"]});var It=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",[n("v-card-title",{staticClass:"text-center"},[e._v(" "+e._s(e.$t("dashboard.connectionsHistogram.title"))+" ")]),n("v-card-text",[n("v-row",[n("Bar",{staticStyle:{width:"100%"},attrs:{"chart-data":e.chartData,"chart-options":e.chartOptions,height:e.chartHeight}})],1)],1)],1)},Et=[],Rt=n("6b78");function Nt(e){return{x:e.timestamp,y:e.count}}var Pt={name:"ConnectionsHistogram",components:{Bar:Je["a"]},data:function(){return{chartHeight:120,chartOptions:{parsing:!1,scales:{x:{type:"time",time:{stepSize:1,unit:"minute"}},y:{type:"linear",beginAtZero:!0,suggestedMax:10,ticks:{precision:0}}}}}},computed:Object(r["a"])(Object(r["a"])({},Object(l["d"])("main",["aggregatedEvents"])),{},{connectionEvents:function(){return this.aggregatedEvents.filter((function(e){return"rawConnection"===e.type})).map(Nt)},disconnectionEvents:function(){return this.aggregatedEvents.filter((function(e){return"rawDisconnection"===e.type})).map(Nt)},chartData:function(){return{datasets:[{label:this.$i18n.t("events.type.connection"),backgroundColor:v["a"].green.base,data:this.connectionEvents},{label:this.$i18n.t("events.type.disconnection"),backgroundColor:v["a"].red.base,data:this.disconnectionEvents}]}}}),created:function(){this.updateChartBounds(),this.interval=setInterval(this.updateChartBounds,1e4)},beforeDestroy:function(){clearInterval(this.interval)},methods:{updateChartBounds:function(){var e=new Date;this.chartOptions.scales.x.min=Object(Rt["a"])(e,10),this.chartOptions.scales.x.max=e}}},Bt=Pt,At=Object(b["a"])(Bt,It,Et,!1,null,null,null),Ut=At.exports;k()(At,{VCard:Ce["a"],VCardText:xe["a"],VCardTitle:xe["b"],VRow:lt["a"]});var Lt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",[n("v-card-title",{staticClass:"text-center"},[e._v(" "+e._s(e.$t("dashboard.bytesHistogram.title"))+" ")]),n("v-card-text",[n("v-row",[n("Bar",{staticStyle:{width:"100%"},attrs:{"chart-data":e.chartData,"chart-options":e.chartOptions,height:e.chartHeight}})],1)],1)],1)},Mt=[];function Ht(e){return{x:e.timestamp,y:e.count}}var qt={name:"BytesHistogram",components:{Bar:Je["a"]},data:function(){return{chartHeight:120,chartOptions:{parsing:!1,scales:{x:{type:"time",time:{stepSize:1,unit:"minute"}},y:{type:"linear",beginAtZero:!0,suggestedMax:1e3,ticks:{precision:0}}}}}},computed:Object(r["a"])(Object(r["a"])({},Object(l["d"])("main",["aggregatedEvents"])),{},{bytesIn:function(){return this.aggregatedEvents.filter((function(e){return"bytesIn"===e.type})).map(Ht)},bytesOut:function(){return this.aggregatedEvents.filter((function(e){return"bytesOut"===e.type})).map(Ht)},chartData:function(){return{datasets:[{label:this.$i18n.t("dashboard.bytesHistogram.bytesIn"),backgroundColor:v["a"].green.base,data:this.bytesIn},{label:this.$i18n.t("dashboard.bytesHistogram.bytesOut"),backgroundColor:v["a"].red.base,data:this.bytesOut}]}}}),created:function(){this.updateChartBounds(),this.interval=setInterval(this.updateChartBounds,1e4)},beforeDestroy:function(){clearInterval(this.interval)},methods:{updateChartBounds:function(){var e=new Date;this.chartOptions.scales.x.min=Object(Rt["a"])(e,10),this.chartOptions.scales.x.max=e}}},Ft=qt,Jt=Object(b["a"])(Ft,Lt,Mt,!1,null,null,null),zt=Jt.exports;k()(Jt,{VCard:Ce["a"],VCardText:xe["a"],VCardTitle:xe["b"],VRow:lt["a"]});var Wt={name:"Dashboard",components:{NamespacesOverview:Tt,ServersOverview:Ct,ClientsOverview:mt,ConnectionsHistogram:Ut,BytesHistogram:zt},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("dashboard.title"),disabled:!0}]}},Object(l["b"])("config",["hasAggregatedValues"]))},Gt=Wt,Kt=n("2bc5"),Zt=n("62ad"),Qt=Object(b["a"])(Gt,Me,He,!1,null,null,null),Xt=Qt.exports;k()(Qt,{VBreadcrumbs:Kt["a"],VCol:Zt["a"],VContainer:Pe["a"],VRow:lt["a"]});var Yt=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),n("v-card",[n("v-card-text",[n("NamespaceSelector")],1),n("v-data-table",{staticClass:"row-pointer",attrs:{headers:e.headers,items:e.sockets,"footer-props":e.footerProps},on:{"click:row":e.displayDetails},scopedSlots:e._u([{key:"item.transport",fn:function(e){var t=e.value;return[n("Transport",{attrs:{transport:t}})]}},{key:"item.actions",fn:function(t){var s=t.item;return[e.isSocketDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var a=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnect(s)}}},"v-btn",o,!1),a),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("sockets.disconnect")))])]):e._e()]}}])})],1)],1)},en=[],tn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-select",{staticClass:"selector",attrs:{value:e.selectedNamespace,items:e.namespaces,"item-text":"name","item-value":"name",label:e.$t("select-namespace"),"persistent-hint":"","return-object":""},on:{change:e.selectNamespace}})},nn=[],sn={name:"NamespaceSelector",computed:Object(r["a"])({},Object(l["d"])({selectedNamespace:function(e){return e.main.selectedNamespace},namespaces:function(e){return Object(jt["a"])(e.main.namespaces,"name")}})),methods:Object(r["a"])({},Object(l["c"])("main",["selectNamespace"]))},an=sn,on=(n("f712"),Object(b["a"])(an,tn,nn,!1,null,"2c330798",null)),rn=on.exports;k()(on,{VSelect:F["a"]});var cn={name:"Sockets",components:{Transport:Qe,NamespaceSelector:rn},data:function(){return{footerProps:{"items-per-page-options":[20,100,-1]}}},computed:Object(r["a"])(Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("sockets.title"),disabled:!0}]},headers:function(){return[{text:"#",value:"id",align:"start"},{text:this.$t("sockets.address"),value:"handshake.address"},{text:this.$t("sockets.transport"),value:"transport"},{value:"actions",align:"end",sortable:!1}]}},Object(l["b"])("main",["sockets"])),Object(l["d"])({selectedNamespace:function(e){return e.main.selectedNamespace},isReadonly:function(e){return e.config.readonly},isSocketDisconnectSupported:function(e){return e.config.supportedFeatures.includes("DISCONNECT")}})),methods:{disconnect:function(e){Te.socket.emit("_disconnect",e.nsp,!1,e.id)},displayDetails:function(e){this.$router.push({name:"socket",params:{nsp:this.selectedNamespace.name,id:e.id}})}}},ln=cn,dn=(n("513c"),n("8fea")),un=n("3a2f"),mn=Object(b["a"])(ln,Yt,en,!1,null,"1d29c60a",null),pn=mn.exports;k()(mn,{VBreadcrumbs:Kt["a"],VBtn:I["a"],VCard:Ce["a"],VCardText:xe["a"],VDataTable:dn["a"],VIcon:le["a"],VTooltip:un["a"]});var vn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),e.socket?n("v-container",{attrs:{fluid:""}},[n("v-row",[n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("SocketDetails",{attrs:{socket:e.socket,client:e.client}})],1),n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("InitialRequest",{attrs:{socket:e.socket}})],1),n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("SocketRooms",{attrs:{socket:e.socket}})],1)],1)],1):e._e()],1)},fn=[],hn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[e._v(e._s(e.$t("rooms.title")))]),n("v-data-table",{staticClass:"row-pointer",attrs:{headers:e.headers,items:e.roomsAsObjects,dense:""},on:{"click:row":e.displayDetails},scopedSlots:e._u([{key:"item.actions",fn:function(t){var s=t.item;return[e.isSocketLeaveSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var a=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.leave(s)}}},"v-btn",o,!1),a),[n("v-icon",[e._v("mdi-tag-off-outline")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("sockets.leave")))])]):e._e()]}}])}),n("v-card-text",[n("form",{on:{submit:function(t){return t.preventDefault(),e.onSubmit(t)}}},[n("v-combobox",{staticClass:"select-room d-inline-block mr-3",attrs:{"search-input":e.newRoom,label:e.$t("sockets.join-a-room"),items:e.availableRooms,"item-value":"name","item-text":"name",disabled:e.isReadonly,"return-object":!1},on:{"update:searchInput":function(t){e.newRoom=t},"update:search-input":function(t){e.newRoom=t}}}),n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var s=t.on,a=t.attrs;return[n("v-btn",e._g(e._b({attrs:{type:"submit",small:"",disabled:e.isReadonly}},"v-btn",a,!1),s),[n("v-icon",[e._v("mdi-tag-plus-outline")])],1)]}}])},[n("span",[e._v(e._s(e.$t("sockets.join")))])])],1)])],1)},bn=[],gn=(n("fb6a"),n("1775")),kn={name:"SocketRooms",props:{socket:Object},data:function(){return{newRoom:""}},computed:Object(r["a"])(Object(r["a"])({headers:function(){return[{text:this.$t("id"),value:"name",align:"start"},{value:"actions",align:"end",sortable:!1}]},roomsAsObjects:function(){return this.socket.rooms.slice(0).sort().map((function(e){return{name:e}}))},availableRooms:function(){return Object(gn["a"])(this.findRoomsByNamespace(this.socket.nsp),this.roomsAsObjects,"name")}},Object(l["d"])({selectedNamespace:function(e){return e.main.selectedNamespace},isReadonly:function(e){return e.config.readonly},isSocketLeaveSupported:function(e){return e.config.supportedFeatures.includes("LEAVE")},isSocketDisconnectSupported:function(e){return e.config.supportedFeatures.includes("DISCONNECT")}})),Object(l["b"])("main",["findRoomsByNamespace"])),methods:{emit:function(){},onSubmit:function(){Te.socket.emit("join",this.socket.nsp,this.newRoom,this.socket.id),this.newRoom=""},leave:function(e){Te.socket.emit("leave",this.socket.nsp,e.name,this.socket.id)},disconnect:function(){Te.socket.emit("_disconnect",this.socket.nsp,!1,this.socket.id)},displayDetails:function(e){this.$router.push({name:"room",params:{nsp:this.socket.nsp,name:e.name}})}}},_n=kn,yn=(n("4a85"),n("2b5d")),Sn=Object(b["a"])(_n,hn,bn,!1,null,"5631eb89",null),On=Sn.exports;k()(Sn,{VBtn:I["a"],VCard:Ce["a"],VCardText:xe["a"],VCardTitle:xe["b"],VCombobox:yn["a"],VDataTable:dn["a"],VIcon:le["a"],VTooltip:un["a"]});var Cn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[e._v(e._s(e.$t("details")))]),n("v-card-text",[n("h4",[e._v(e._s(e.$t("sockets.client")))])]),n("v-simple-table",{attrs:{dense:""}},[[n("tbody",[n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("id")))]),n("td",[e.client.connected?n("router-link",{staticClass:"link",attrs:{to:e.toClient}},[e._v(e._s(e.client.id))]):n("span",[e._v(e._s(e.client.id))])],1),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("status")))]),n("td",[n("ConnectionStatus",{attrs:{connected:e.client.connected}})],1),n("td",{attrs:{align:"right"}},[e.isSocketDisconnectSupported&&e.client.connected?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var s=t.on,a=t.attrs;return[n("v-btn",e._g(e._b({attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnectClient()}}},"v-btn",a,!1),s),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!1,1004975867)},[n("span",[e._v(e._s(e.$t("clients.disconnect")))])]):e._e()],1)]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("sockets.transport")))]),n("td",[n("Transport",{attrs:{transport:e.socket.transport}})],1),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("sockets.address")))]),n("td",[e._v(e._s(e.socket.handshake.address))]),n("td")])])]],2),n("v-card-text",[n("h4",[e._v(e._s(e.$t("sockets.socket")))])]),n("v-simple-table",{attrs:{dense:""},scopedSlots:e._u([{key:"default",fn:function(){return[n("tbody",[n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("namespace")))]),n("td",[n("code",[e._v(e._s(e.socket.nsp))])]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("id")))]),n("td",[e._v(e._s(e.socket.id))]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("data")))]),n("td",[n("pre",[n("code",[e._v(e._s(JSON.stringify(e.socket.data,null,2)))])])]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("status")))]),n("td",[n("ConnectionStatus",{attrs:{connected:e.socket.connected}})],1),n("td",{attrs:{align:"right"}},[e.isSocketDisconnectSupported&&e.socket.connected?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var s=t.on,a=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnectSocket()}}},"v-btn",a,!1),s),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!1,2351110648)},[n("span",[e._v(e._s(e.$t("sockets.disconnect")))])]):e._e()],1)]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("sockets.creation-date")))]),n("td",[e._v(e._s(e.creationDate))]),n("td")])])]},proxy:!0}])})],1)},xn=[],$n={name:"SocketDetails",components:{ConnectionStatus:$,Transport:Qe},props:{socket:Object,client:Object},computed:Object(r["a"])({toClient:function(){return{name:"client",params:{id:this.client.id}}},creationDate:function(){return new Date(this.socket.handshake.issued).toISOString()}},Object(l["d"])({isReadonly:function(e){return e.config.readonly},isSocketDisconnectSupported:function(e){return e.config.supportedFeatures.includes("DISCONNECT")}})),methods:{navigateToClient:function(){this.$router.push({name:"client",params:{id:this.client.id}})},disconnectClient:function(){Te.socket.emit("_disconnect",this.socket.nsp,!0,this.socket.id)},disconnectSocket:function(){Te.socket.emit("_disconnect",this.socket.nsp,!1,this.socket.id)}}},jn=$n,wn=(n("eb02"),Object(b["a"])(jn,Cn,xn,!1,null,"3c0dcfcd",null)),Vn=wn.exports;k()(wn,{VBtn:I["a"],VCard:Ce["a"],VCardText:xe["a"],VCardTitle:xe["b"],VIcon:le["a"],VSimpleTable:dt["a"],VTooltip:un["a"]});var Dn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[e._v(e._s(e.$t("sockets.initial-request")))]),n("v-card-text",[n("h4",[e._v(e._s(e.$t("sockets.headers")))])]),n("KeyValueTable",{attrs:{object:e.socket.handshake.headers}}),n("v-card-text",[n("h4",[e._v(e._s(e.$t("sockets.query-params")))])]),n("KeyValueTable",{attrs:{object:e.socket.handshake.query}})],1)},Tn=[],In=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-simple-table",{attrs:{dense:""},scopedSlots:e._u([{key:"default",fn:function(){return[n("thead",[n("tr",[n("th",[e._v(e._s(e.$t("name")))]),n("th",[e._v(e._s(e.$t("value")))])])]),n("tbody",e._l(e.items,(function(t){var s=t.key,a=t.value;return n("tr",{key:s},[n("td",{staticClass:"key-column"},[e._v(e._s(s))]),n("td",[e._v(e._s(a))])])})),0)]},proxy:!0}])})},En=[],Rn=(n("b64b"),{name:"KeyValueTable",props:{object:Object},computed:{items:function(){var e=this,t=Object.keys(this.object);return t.sort().map((function(t){return{key:t,value:e.object[t]}}))}}}),Nn=Rn,Pn=(n("786c"),Object(b["a"])(Nn,In,En,!1,null,"18284f59",null)),Bn=Pn.exports;k()(Pn,{VSimpleTable:dt["a"]});var An={name:"InitialRequest",components:{KeyValueTable:Bn},props:{socket:Object}},Un=An,Ln=Object(b["a"])(Un,Dn,Tn,!1,null,null,null),Mn=Ln.exports;k()(Ln,{VCard:Ce["a"],VCardText:xe["a"],VCardTitle:xe["b"]});var Hn={name:"Socket",components:{InitialRequest:Mn,SocketDetails:Vn,SocketRooms:On},data:function(){return{socket:null,client:null}},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("sockets.title"),to:{name:"sockets"}},{text:this.$t("sockets.details"),disabled:!0}]}},Object(l["b"])("main",["findSocketById","findClientById"])),mounted:function(){this.socket=this.findSocketById(this.$route.params.nsp,this.$route.params.id),this.socket&&(this.client=this.findClientById(this.socket.clientId))}},qn=Hn,Fn=Object(b["a"])(qn,vn,fn,!1,null,"14172ed0",null),Jn=Fn.exports;k()(Fn,{VBreadcrumbs:Kt["a"],VCol:Zt["a"],VContainer:Pe["a"],VRow:lt["a"]});var zn=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),n("v-card",[n("v-card-text",{staticClass:"d-flex"},[n("NamespaceSelector"),n("v-switch",{staticClass:"ml-3",attrs:{label:e.$t("rooms.show-private"),inset:"",dense:""},on:{change:e.onPrivateRoomsUpdate},model:{value:e.showPrivateRooms,callback:function(t){e.showPrivateRooms=t},expression:"showPrivateRooms"}})],1),n("v-data-table",{staticClass:"row-pointer",attrs:{headers:e.headers,items:e.filteredRooms,"footer-props":e.footerProps},on:{"click:row":e.displayDetails},scopedSlots:e._u([{key:"item.sockets",fn:function(t){var n=t.item;return[e._v(" "+e._s(n.sockets.length)+" ")]}},{key:"item.isPrivate",fn:function(e){var t=e.value;return[n("RoomType",{attrs:{"is-private":t}})]}},{key:"item.actions",fn:function(t){var s=t.item;return[e.isMultiLeaveSupported&&!s.isPrivate?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var a=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.clear(s)}}},"v-btn",o,!1),a),[n("v-icon",[e._v("mdi-tag-off-outline")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("rooms.clear")))])]):e._e(),e.isMultiDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var a=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnect(s)}}},"v-btn",o,!1),a),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("rooms.disconnect")))])]):e._e()]}}])})],1)],1)},Wn=[],Gn=(n("5319"),n("ac1f"),function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Status",{attrs:{value:!e.isPrivate,"ok-label":e.$t("rooms.public"),"ko-label":e.$t("rooms.private")}})}),Kn=[],Zn={name:"RoomType",components:{Status:S},props:{isPrivate:Boolean}},Qn=Zn,Xn=Object(b["a"])(Qn,Gn,Kn,!1,null,null,null),Yn=Xn.exports,es={name:"Rooms",components:{RoomType:Yn,NamespaceSelector:rn},data:function(){return{showPrivateRooms:!1,footerProps:{"items-per-page-options":[20,100,-1]}}},computed:Object(r["a"])(Object(r["a"])(Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("rooms.title"),disabled:!0}]},headers:function(){return[{text:this.$t("id"),value:"name",align:"start"},{text:this.$t("type"),value:"isPrivate"},{text:this.$t("rooms.sockets-count"),value:"sockets"},{value:"actions",align:"end",sortable:!1}]}},Object(l["b"])("main",["rooms"])),Object(l["d"])({selectedNamespace:function(e){return e.main.selectedNamespace},isReadonly:function(e){return e.config.readonly},isMultiLeaveSupported:function(e){return e.config.supportedFeatures.includes("MLEAVE")},isMultiDisconnectSupported:function(e){return e.config.supportedFeatures.includes("MDISCONNECT")}})),{},{filteredRooms:function(){var e=this.showPrivateRooms?this.rooms:this.rooms.filter((function(e){return!e.isPrivate}));return Object(jt["a"])(e,"name")}}),methods:{clear:function(e){Te.socket.emit("leave",this.selectedNamespace.name,e.name)},disconnect:function(e){Te.socket.emit("_disconnect",this.selectedNamespace.name,!1,e.name)},displayDetails:function(e){this.$router.push({name:"room",params:{nsp:this.selectedNamespace.name,name:e.name}})},onPrivateRoomsUpdate:function(e){var t=e?{p:1}:{};this.$router.replace({name:"rooms",query:t})}},mounted:function(){this.showPrivateRooms="1"===this.$route.query.p}},ts=es,ns=(n("3a99"),Object(b["a"])(ts,zn,Wn,!1,null,"29992f63",null)),ss=ns.exports;k()(ns,{VBreadcrumbs:Kt["a"],VBtn:I["a"],VCard:Ce["a"],VCardText:xe["a"],VDataTable:dn["a"],VIcon:le["a"],VSwitch:Q["a"],VTooltip:un["a"]});var as=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),n("v-card",[n("v-data-table",{staticClass:"row-pointer",attrs:{headers:e.headers,items:e.clients,"footer-props":e.footerProps},on:{"click:row":e.displayDetails},scopedSlots:e._u([{key:"item.address",fn:function(t){var s=t.item;return[s.sockets.length?n("span",[e._v(e._s(s.sockets[0].handshake.address))]):e._e()]}},{key:"item.transport",fn:function(t){var s=t.item;return[s.sockets.length?n("Transport",{attrs:{transport:s.sockets[0].transport}}):e._e()]}},{key:"item.sockets",fn:function(t){var n=t.item;return[e._v(" "+e._s(n.sockets.length)+" ")]}},{key:"item.actions",fn:function(t){var s=t.item;return[e.isSocketDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var a=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnect(s)}}},"v-btn",o,!1),a),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("clients.disconnect")))])]):e._e()]}}])})],1)],1)},os=[],rs={name:"Clients",components:{Transport:Qe},data:function(){return{footerProps:{"items-per-page-options":[20,100,-1]}}},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("clients.title"),disabled:!0}]},headers:function(){return[{text:"#",value:"id",align:"start"},{text:this.$t("sockets.address"),value:"address"},{text:this.$t("sockets.transport"),value:"transport"},{text:this.$t("clients.sockets-count"),value:"sockets"},{value:"actions",align:"end",sortable:!1}]}},Object(l["d"])({clients:function(e){return e.main.clients},isReadonly:function(e){return e.config.readonly},isSocketDisconnectSupported:function(e){return e.config.supportedFeatures.includes("DISCONNECT")}})),methods:{disconnect:function(e){var t=e.sockets[0];t&&Te.socket.emit("_disconnect",t.nsp,!0,t.id)},displayDetails:function(e){this.$router.push({name:"client",params:{id:e.id}})}}},is=rs,cs=(n("ff8e"),Object(b["a"])(is,as,os,!1,null,"57b53591",null)),ls=cs.exports;k()(cs,{VBreadcrumbs:Kt["a"],VBtn:I["a"],VCard:Ce["a"],VDataTable:dn["a"],VIcon:le["a"],VTooltip:un["a"]});var ds=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),e.client?n("v-container",{attrs:{fluid:""}},[n("v-row",[n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("ClientDetails",{attrs:{client:e.client,socket:e.socket}})],1),n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[e.socket?n("InitialRequest",{attrs:{socket:e.socket}}):e._e()],1),n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("ClientSockets",{attrs:{sockets:e.client.sockets}})],1)],1)],1):e._e()],1)},us=[],ms=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[e._v(e._s(e.$t("details")))]),n("v-simple-table",{attrs:{dense:""}},[[n("tbody",[n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("id")))]),n("td",[e._v(" "+e._s(e.client.id)+" ")]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("status")))]),n("td",[n("ConnectionStatus",{attrs:{connected:e.client.connected}})],1),n("td",{attrs:{align:"right"}},[e.isSocketDisconnectSupported&&e.client.connected?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var s=t.on,a=t.attrs;return[n("v-btn",e._g(e._b({attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnectClient()}}},"v-btn",a,!1),s),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!1,1004975867)},[n("span",[e._v(e._s(e.$t("clients.disconnect")))])]):e._e()],1)]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("sockets.transport")))]),n("td",[n("Transport",{attrs:{transport:e.socket.transport}})],1),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("sockets.address")))]),n("td",[e._v(e._s(e.socket.handshake.address))]),n("td")])])]],2)],1)},ps=[],vs={name:"ClientDetails",components:{ConnectionStatus:$,Transport:Qe},props:{client:Object,socket:Object},computed:Object(r["a"])({},Object(l["d"])({isReadonly:function(e){return e.config.readonly},isSocketDisconnectSupported:function(e){return e.config.supportedFeatures.includes("DISCONNECT")}})),methods:{disconnectClient:function(){var e=this.client.sockets[0];e&&Te.socket.emit("_disconnect",e.nsp,!0,e.id)}}},fs=vs,hs=(n("6602"),Object(b["a"])(fs,ms,ps,!1,null,"8d2424e4",null)),bs=hs.exports;k()(hs,{VBtn:I["a"],VCard:Ce["a"],VCardTitle:xe["b"],VIcon:le["a"],VSimpleTable:dt["a"],VTooltip:un["a"]});var gs=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",[n("v-card-title",[e._v(e._s(e.$t("sockets.title")))]),n("v-data-table",{staticClass:"row-pointer",attrs:{headers:e.headers,items:e.sockets,dense:""},on:{"click:row":e.displayDetails},scopedSlots:e._u([{key:"item.nsp",fn:function(t){var s=t.value;return[n("code",[e._v(e._s(s))])]}},{key:"item.actions",fn:function(t){var s=t.item;return[e.isSocketDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var a=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnect(s)}}},"v-btn",o,!1),a),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("sockets.disconnect")))])]):e._e()]}}])})],1)},ks=[],_s={name:"ClientSockets",props:{sockets:Array},computed:Object(r["a"])({headers:function(){return[{text:"#",value:"id",align:"start"},{text:this.$t("namespace"),value:"nsp"},{value:"actions",align:"end",sortable:!1}]}},Object(l["d"])({isReadonly:function(e){return e.config.readonly},isSocketDisconnectSupported:function(e){return e.config.supportedFeatures.includes("DISCONNECT")}})),methods:{disconnect:function(e){Te.socket.emit("_disconnect",e.nsp,!1,e.id)},displayDetails:function(e){this.$router.push({name:"socket",params:{nsp:e.nsp,id:e.id}})}}},ys=_s,Ss=(n("1993"),Object(b["a"])(ys,gs,ks,!1,null,"38772079",null)),Os=Ss.exports;k()(Ss,{VBtn:I["a"],VCard:Ce["a"],VCardTitle:xe["b"],VDataTable:dn["a"],VIcon:le["a"],VTooltip:un["a"]});var Cs={name:"Client",components:{ClientSockets:Os,InitialRequest:Mn,ClientDetails:bs},data:function(){return{socket:null,client:null}},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("clients.title"),to:{name:"clients"},exact:!0},{text:this.$t("clients.details"),disabled:!0}]}},Object(l["b"])("main",["findClientById"])),mounted:function(){this.client=this.findClientById(this.$route.params.id),this.client&&(this.socket=this.client.sockets[0])}},xs=Cs,$s=Object(b["a"])(xs,ds,us,!1,null,"3d554d12",null),js=$s.exports;k()($s,{VBreadcrumbs:Kt["a"],VCol:Zt["a"],VContainer:Pe["a"],VRow:lt["a"]});var ws=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),n("v-card",[n("v-data-table",{attrs:{headers:e.headers,items:e.servers,"footer-props":e.footerProps},scopedSlots:e._u([{key:"item.uptime",fn:function(t){var n=t.value;return[e._v(" "+e._s(e.formatDuration(n))+" ")]}},{key:"item.lastPing",fn:function(t){var n=t.value;return[e._v(" "+e._s(e.delaySinceLastPing(n))+" ")]}},{key:"item.healthy",fn:function(e){var t=e.value;return[n("ServerStatus",{attrs:{healthy:t}})]}},{key:"item.actions",fn:function(t){var s=t.item;return[s.healthy?e._e():n("v-btn",{attrs:{small:""},on:{click:function(t){return e.removeServer(s)}}},[n("v-icon",[e._v("mdi-delete-outline")])],1)]}}])})],1)],1)},Vs=[],Ds={name:"Servers",components:{ServerStatus:_t},data:function(){return{footerProps:{"items-per-page-options":[20,100,-1]},now:Date.now()}},created:function(){var e=this;this.interval=setInterval((function(){e.now=Date.now()}),1e3)},beforeDestroy:function(){clearInterval(this.interval)},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("servers.title"),disabled:!0}]},headers:function(){return[{text:this.$t("id"),value:"serverId"},{text:this.$t("servers.hostname"),value:"hostname"},{text:this.$t("servers.pid"),value:"pid"},{text:this.$t("servers.uptime"),value:"uptime"},{text:this.$t("servers.clients-count"),value:"clientsCount"},{text:this.$t("servers.last-ping"),value:"lastPing"},{text:this.$t("status"),value:"healthy"},{value:"actions",align:"end",sortable:!1}]}},Object(l["d"])({servers:function(e){return Object(jt["a"])(e.servers.servers,"serverId")}})),methods:{formatDuration:nt,delaySinceLastPing:function(e){var t=this.now-e;return"".concat(nt(t/1e3)," ago")},removeServer:function(e){this.$store.commit("servers/removeServer",e.serverId)}}},Ts=Ds,Is=Object(b["a"])(Ts,ws,Vs,!1,null,null,null),Es=Is.exports;k()(Is,{VBreadcrumbs:Kt["a"],VBtn:I["a"],VCard:Ce["a"],VDataTable:dn["a"],VIcon:le["a"]});var Rs=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),e.room?n("v-container",{attrs:{fluid:""}},[n("v-row",[n("v-col",{attrs:{sm:"12",md:"4"}},[n("RoomDetails",{attrs:{room:e.room,nsp:e.$route.params.nsp}})],1),n("v-col",{attrs:{sm:"12",md:"8"}},[n("RoomSockets",{attrs:{room:e.room}})],1)],1)],1):e._e()],1)},Ns=[],Ps=function(){var e=this,t=e.$createElement,n=e._self._c||t;return e.room?n("v-card",[n("v-card-title",[e._v(e._s(e.$t("sockets.title")))]),n("v-data-table",{staticClass:"row-pointer",attrs:{headers:e.headers,items:e.room.sockets,"footer-props":e.footerProps},on:{"click:row":e.displayDetails},scopedSlots:e._u([{key:"item.transport",fn:function(e){var t=e.value;return[n("Transport",{attrs:{transport:t}})]}},{key:"item.actions",fn:function(t){var s=t.item;return[e.isSocketLeaveSupported&&!e.room.isPrivate?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var a=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.leave(s)}}},"v-btn",o,!1),a),[n("v-icon",[e._v("mdi-tag-off-outline")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("rooms.leave")))])]):e._e(),e.isSocketDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var a=t.on,o=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.disconnect(s)}}},"v-btn",o,!1),a),[n("v-icon",[e._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[e._v(e._s(e.$t("sockets.disconnect")))])]):e._e()]}}],null,!1,1763569022)})],1):e._e()},Bs=[],As={name:"RoomSockets",components:{Transport:Qe},props:{room:Object},data:function(){return{footerProps:{"items-per-page-options":[20,100,-1]}}},computed:Object(r["a"])(Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("rooms.title"),to:{name:"rooms"}},{text:this.$t("rooms.details"),disabled:!0}]},headers:function(){return[{text:this.$t("id"),value:"id",align:"start"},{text:this.$t("sockets.address"),value:"handshake.address"},{text:this.$t("sockets.transport"),value:"transport"},{value:"actions",align:"end",sortable:!1}]}},Object(l["b"])("main",["findRoomByName"])),Object(l["d"])({isReadonly:function(e){return e.config.readonly},isSocketLeaveSupported:function(e){return e.config.supportedFeatures.includes("LEAVE")},isSocketDisconnectSupported:function(e){return e.config.supportedFeatures.includes("DISCONNECT")}})),methods:{leave:function(e){Te.socket.emit("leave",e.nsp,this.room.name,e.id)},disconnect:function(e){Te.socket.emit("_disconnect",e.nsp,!1,e.id)},displayDetails:function(e){this.$router.push({name:"socket",params:{nsp:this.$route.params.nsp,id:e.id}})}}},Us=As,Ls=(n("6e0b"),Object(b["a"])(Us,Ps,Bs,!1,null,"c9425064",null)),Ms=Ls.exports;k()(Ls,{VBtn:I["a"],VCard:Ce["a"],VCardTitle:xe["b"],VDataTable:dn["a"],VIcon:le["a"],VTooltip:un["a"]});var Hs=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[e._v(e._s(e.$t("details")))]),n("v-simple-table",{attrs:{dense:""}},[[n("tbody",[n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("namespace")))]),n("td",[n("code",[e._v(e._s(e.nsp))])]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("id")))]),n("td",[e._v(" "+e._s(e.room.name)+" ")]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("status")))]),n("td",[n("RoomStatus",{attrs:{active:e.room.active}})],1),n("td",{attrs:{align:"right"}},[e.isMultiLeaveSupported&&!e.room.isPrivate?n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function(t){var s=t.on,a=t.attrs;return[n("v-btn",e._g(e._b({staticClass:"ml-3",attrs:{disabled:e.isReadonly,small:""},on:{click:function(t){return e.clear()}}},"v-btn",a,!1),s),[n("v-icon",[e._v("mdi-tag-off-outline")])],1)]}}],null,!1,464351539)},[n("span",[e._v(e._s(e.$t("rooms.clear")))])]):e._e()],1)]),n("tr",[n("td",{staticClass:"key-column"},[e._v(e._s(e.$t("type")))]),n("td",[n("RoomType",{attrs:{"is-private":e.room.isPrivate}})],1),n("td")])])]],2)],1)},qs=[],Fs=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("Status",{attrs:{value:e.active,"ok-label":e.$t("rooms.active"),"ko-label":e.$t("rooms.deleted")}})},Js=[],zs={name:"RoomStatus",components:{Status:S},props:{active:Boolean}},Ws=zs,Gs=Object(b["a"])(Ws,Fs,Js,!1,null,null,null),Ks=Gs.exports,Zs={name:"RoomDetails",components:{RoomType:Yn,RoomStatus:Ks},props:{room:Object,nsp:String},computed:Object(r["a"])({},Object(l["d"])({isReadonly:function(e){return e.config.readonly},isMultiLeaveSupported:function(e){return e.config.supportedFeatures.includes("MLEAVE")}})),methods:{clear:function(){Te.socket.emit("leave",this.nsp,this.room.name)}}},Qs=Zs,Xs=Object(b["a"])(Qs,Hs,qs,!1,null,"7b3793ea",null),Ys=Xs.exports;k()(Xs,{VBtn:I["a"],VCard:Ce["a"],VCardTitle:xe["b"],VIcon:le["a"],VSimpleTable:dt["a"],VTooltip:un["a"]});var ea={name:"Sockets",components:{RoomDetails:Ys,RoomSockets:Ms},data:function(){return{room:null}},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("rooms.title"),to:{name:"rooms"}},{text:this.$t("rooms.details"),disabled:!0}]}},Object(l["b"])("main",["findRoomByName"])),mounted:function(){this.room=this.findRoomByName(this.$route.params.nsp,this.$route.params.name)}},ta=ea,na=Object(b["a"])(ta,Rs,Ns,!1,null,null,null),sa=na.exports;k()(na,{VBreadcrumbs:Kt["a"],VCol:Zt["a"],VContainer:Pe["a"],VRow:lt["a"]});var aa=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("v-breadcrumbs",{attrs:{items:e.breadcrumbItems}}),n("v-card",[n("v-card-text",[n("NamespaceSelector")],1),n("v-data-table",{attrs:{headers:e.headers,items:e.events,"footer-props":e.footerProps,"item-key":"eventId","sort-by":["timestamp","eventId"],"sort-desc":[!0,!0],"single-expand":"","show-expand":""},scopedSlots:e._u([{key:"item.type",fn:function(e){var t=e.value;return[n("EventType",{attrs:{type:t}})]}},{key:"item.id",fn:function(t){var s=t.value;return[n("router-link",{staticClass:"link",attrs:{to:e.socketDetailsRoute(s)}},[e._v(e._s(s))])]}},{key:"item.args",fn:function(t){var s=t.item,a=t.value;return[e.isExpandable(s)?n("span",[e._v(" "+e._s(e.$t("events.eventName"))+e._s(e.$t("separator"))),n("code",[e._v(e._s(s.eventName))])]):"disconnection"===s.type?n("span",[e._v(" "+e._s(e.$t("events.reason"))+e._s(e.$t("separator"))),n("code",[e._v(e._s(a))])]):"room_joined"===s.type||"room_left"===s.type?n("span",[e._v(" "+e._s(e.$t("events.room"))+e._s(e.$t("separator"))),n("code",[e._v(e._s(a))])]):n("span",[e._v(" "+e._s(a)+" ")])]}},{key:"item.data-table-expand",fn:function(t){var s=t.item,a=t.isExpanded,o=t.expand;return[e.isExpandable(s)&&!a?n("v-btn",{attrs:{icon:""},on:{click:function(e){return o(!0)}}},[n("v-icon",[e._v("mdi-chevron-down")])],1):e._e(),e.isExpandable(s)&&a?n("v-btn",{attrs:{icon:""},on:{click:function(e){return o(!1)}}},[n("v-icon",[e._v("mdi-chevron-up")])],1):e._e()]}},{key:"expanded-item",fn:function(t){var s=t.headers,a=t.item;return[n("td",{attrs:{colspan:s.length}},[n("div",{staticClass:"ma-3"},[e._v(" "+e._s(e.$t("events.eventArgs"))+e._s(e.$t("separator"))+" "),n("pre",[n("code",[e._v(e._s(a.args))])])])])]}}])})],1)],1)},oa=[],ra=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-chip",{attrs:{color:e.color,outlined:""}},[e._v(" "+e._s(e.$t("events.type."+e.type))+" ")])},ia=[],ca={name:"EventType",props:{type:String},computed:{color:function(){switch(this.type){case"connection":return v["a"].green.base;case"room_joined":return v["a"].teal.base;case"room_left":return v["a"].amber.base;case"disconnection":return v["a"].red.base;case"event_received":return v["a"].blue.base;case"event_sent":return v["a"].orange.base}return v["a"].gray.base}}},la=ca,da=Object(b["a"])(la,ra,ia,!1,null,null,null),ua=da.exports;k()(da,{VChip:_["a"]});var ma={name:"Events",components:{EventType:ua,NamespaceSelector:rn},data:function(){return{footerProps:{"items-per-page-options":[-1]}}},computed:Object(r["a"])(Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("events.title"),disabled:!0}]},headers:function(){return[{text:this.$t("timestamp"),value:"timestamp"},{text:this.$t("sockets.socket"),value:"id",sortable:!1},{text:this.$t("type"),value:"type",sortable:!1},{value:"args",sortable:!1},{text:"",value:"data-table-expand"}]}},Object(l["b"])("main",["events"])),Object(l["d"])({selectedNamespace:function(e){return e.main.selectedNamespace}})),methods:{socketDetailsRoute:function(e){return{name:"socket",params:{nsp:this.selectedNamespace.name,id:e}}},isExpandable:function(e){return["event_received","event_sent"].includes(e.type)}}},pa=ma,va=(n("76e7"),Object(b["a"])(pa,aa,oa,!1,null,"2c2337d4",null)),fa=va.exports;k()(va,{VBreadcrumbs:Kt["a"],VBtn:I["a"],VCard:Ce["a"],VCardText:xe["a"],VDataTable:dn["a"],VIcon:le["a"]}),s["a"].use(Le["a"]);var ha=[{path:"/",name:"dashboard",component:Xt,meta:{topLevel:!0,index:0}},{path:"/sockets/",name:"sockets",component:pn,meta:{topLevel:!0,index:1}},{path:"/n/:nsp/sockets/:id",name:"socket",component:Jn,meta:{topLevel:!1}},{path:"/rooms/",name:"rooms",component:ss,meta:{topLevel:!0,index:2}},{path:"/n/:nsp/rooms/:name",name:"room",component:sa,meta:{topLevel:!1}},{path:"/clients/",name:"clients",component:ls,meta:{topLevel:!0,index:3}},{path:"/clients/:id",name:"client",component:js,meta:{topLevel:!1}},{path:"/events/",name:"events",component:fa,meta:{topLevel:!0,index:4}},{path:"/servers/",name:"servers",component:Es,meta:{topLevel:!0,index:5}}],ba=new Le["a"]({mode:"hash",base:"",routes:ha}),ga=ba,ka=(n("159b"),n("d3b7"),n("ddb0"),n("466d"),n("a925"));function _a(){var e=n("49f8"),t={};return e.keys().forEach((function(n){var s=n.match(/([A-Za-z0-9-_]+)\./i);if(s&&s.length>1){var a=s[1];t[a]=e(n)}})),t}s["a"].use(ka["a"]);var ya=new ka["a"]({locale:"en",fallbackLocale:"en",messages:_a()}),Sa={namespaced:!0,state:{darkTheme:!1,readonly:!1,lang:"en",supportedFeatures:[],showNavigationDrawer:!1},getters:{developmentMode:function(e){return e.supportedFeatures.includes("ALL_EVENTS")||!e.supportedFeatures.includes("AGGREGATED_EVENTS")},hasAggregatedValues:function(e){return e.supportedFeatures.includes("AGGREGATED_EVENTS")}},mutations:{init:function(e){tt&&(e.darkTheme="true"===localStorage.getItem("dark_theme"),e.readonly="true"===localStorage.getItem("readonly"),e.lang=localStorage.getItem("lang")||"en")},selectTheme:function(e,t){e.darkTheme=t,tt&&localStorage.setItem("dark_theme",t)},selectLang:function(e,t){e.lang=t,tt&&localStorage.setItem("lang",t)},toggleReadonly:function(e){e.readonly=!e.readonly,tt&&localStorage.setItem("readonly",e.readonly)},updateConfig:function(e,t){e.supportedFeatures=t.supportedFeatures},toggleNavigationDrawer:function(e){e.showNavigationDrawer=!e.showNavigationDrawer}}},Oa=(n("8a79"),{namespaced:!0,state:{serverUrl:"",wsOnly:!1,path:"/socket.io",namespace:"/admin",parser:"default",sessionId:"",connected:!1},mutations:{init:function(e){tt&&(e.serverUrl=localStorage.getItem("server_url")||"",e.serverUrl.endsWith("/admin")?e.serverUrl=e.serverUrl.slice(0,-6):e.namespace=localStorage.getItem("namespace")||"/admin",e.wsOnly="true"===localStorage.getItem("ws_only"),e.sessionId=localStorage.getItem("session_id"),e.path=localStorage.getItem("path")||"/socket.io",e.parser=localStorage.getItem("parser")||"default")},saveConfig:function(e,t){var n=t.serverUrl,s=t.wsOnly,a=t.path,o=t.namespace,r=t.parser;e.serverUrl=n,e.wsOnly=s,e.path=a,e.namespace=o,e.parser=r,tt&&(localStorage.setItem("server_url",n),localStorage.setItem("ws_only",s),localStorage.setItem("path",a),localStorage.setItem("namespace",o),localStorage.setItem("parser",r))},saveSessionId:function(e,t){e.sessionId=t,tt&&localStorage.setItem("session_id",t)},connect:function(e){e.connected=!0},disconnect:function(e){e.connected=!1}}}),Ca=n("b85c"),xa=n("3835"),$a=n("0a94"),ja=n("a1a3"),wa=n("3a59"),Va=6e5,Da=function(e,t){var n=Object($a["a"])(e,{name:t});return n||(n={name:t,sockets:[],rooms:[],events:[]},e.push(n),n)},Ta=function(e,t){var n=Object($a["a"])(e.rooms,{name:t});return n||(n={name:t,active:!0,sockets:[]},e.rooms.push(n),n)},Ia=function(e,t){var n=Object($a["a"])(e,{id:t});return n||(n={id:t,connected:!0,sockets:[]},e.push(n),n)},Ea=function(e,t){var n=Da(e.namespaces,t.nsp);t.connected=!0,Object($a["a"])(n.sockets,{id:t.id})||n.sockets.push(t),t.rooms.forEach((function(e){var s=Ta(n,e);s.isPrivate=e===t.id,Object($a["a"])(s.sockets,{id:t.id})||s.sockets.push(t)}));var s=Ia(e.clients,t.clientId);Object($a["a"])(s.sockets,{id:t.id})||s.sockets.push(t)},Ra=1e3,Na=0,Pa=function(e,t){t.eventId=++Na,e.push(t),e.length>Ra&&e.shift()};function Ba(e){return e-e%1e4}var Aa={namespaced:!0,state:{namespaces:[],clients:[],selectedNamespace:null,aggregatedEvents:[]},getters:{findSocketById:function(e){return function(t,n){var s=Object($a["a"])(e.namespaces,{name:t});if(s)return Object($a["a"])(s.sockets,{id:n})}},findClientById:function(e){return function(t){return Object($a["a"])(e.clients,{id:t})}},findRoomByName:function(e){return function(t,n){var s=Object($a["a"])(e.namespaces,{name:t});if(s)return Object($a["a"])(s.rooms,{name:n})}},findRoomsByNamespace:function(e){return function(t){var n=Object($a["a"])(e.namespaces,{name:t});return n?n.rooms:[]}},sockets:function(e){return e.selectedNamespace?e.selectedNamespace.sockets:[]},rooms:function(e){return e.selectedNamespace?e.selectedNamespace.rooms:[]},events:function(e){return e.selectedNamespace?e.selectedNamespace.events:[]}},mutations:{selectNamespace:function(e,t){e.selectedNamespace=t},onAllSockets:function(e,t){e.namespaces.forEach((function(e){e.sockets.splice(0),e.rooms.splice(0)})),e.clients.splice(0),t.forEach((function(t){return Ea(e,t)})),e.selectedNamespace||(e.selectedNamespace=Object($a["a"])(e.namespaces,{name:"/"})||e.namespaces[0])},onSocketConnected:function(e,t){var n=t.timestamp,s=t.socket;Ea(e,s);var a=Da(e.namespaces,s.nsp);Pa(a.events,{type:"connection",timestamp:n,id:s.id})},onSocketUpdated:function(e,t){var n=Da(e.namespaces,t.nsp),s=Object($a["a"])(n.sockets,{id:t.id});s&&Object(ja["a"])(s,t)},onSocketDisconnected:function(e,t){var n=t.timestamp,s=t.nsp,a=t.id,o=t.reason,r=Da(e.namespaces,s),i=st(r.sockets,{id:a}),c=Object(xa["a"])(i,1),l=c[0];if(l){l.connected=!1;var d=Ia(e.clients,l.clientId);st(d.sockets,{id:a}),0===d.sockets.length&&(d.connected=!1,st(e.clients,{id:l.clientId}))}Pa(r.events,{type:"disconnection",timestamp:n,id:a,args:o})},onRoomJoined:function(e,t){var n=t.nsp,s=t.room,a=t.id,o=t.timestamp,r=Da(e.namespaces,n),i=Object($a["a"])(r.sockets,{id:a});if(i){at(i.rooms,s);var c=Ta(r,s);c.sockets.push(i)}Pa(r.events,{type:"room_joined",timestamp:o,id:a,args:s})},onRoomLeft:function(e,t){var n=t.timestamp,s=t.nsp,a=t.room,o=t.id,r=Da(e.namespaces,s),i=Object($a["a"])(r.sockets,{id:o});i&&st(i.rooms,a);var c=Ta(r,a);st(c.sockets,{id:o}),0===c.sockets.length&&(c.active=!1,st(r.rooms,{name:a})),Pa(r.events,{type:"room_left",timestamp:n,id:o,args:a})},onServerStats:function(e,t){if(t.aggregatedEvents){var n,s=Object(Ca["a"])(t.aggregatedEvents);try{for(s.s();!(n=s.n()).done;){var a=n.value,o=Ba(a.timestamp),r=Object($a["a"])(e.aggregatedEvents,{timestamp:o,type:a.type,subType:a.subType});r?r.count+=a.count:e.aggregatedEvents.push({timestamp:o,type:a.type,subType:a.subType,count:a.count})}}catch(i){s.e(i)}finally{s.f()}Object(wa["a"])(e.aggregatedEvents,(function(e){return e.timestamp\n {{\n label\n }}\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Status.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Status.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Status.vue?vue&type=template&id=87034bbc&\"\nimport script from \"./Status.vue?vue&type=script&lang=js&\"\nexport * from \"./Status.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\ninstallComponents(component, {VChip})\n","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionStatus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionStatus.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConnectionStatus.vue?vue&type=template&id=65b30979&\"\nimport script from \"./ConnectionStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./ConnectionStatus.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppBar.vue?vue&type=template&id=5c4390aa&\"\nimport script from \"./AppBar.vue?vue&type=script&lang=js&\"\nexport * from \"./AppBar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAppBar,VAppBarNavIcon,VBtn,VImg,VSpacer,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-navigation-drawer',{staticClass:\"elevation-3\",attrs:{\"app\":\"\",\"clipped\":\"\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-divider'),_c('div',{staticClass:\"pa-3 pt-10\"},[_c('LangSelector'),_c('ThemeSelector'),_c('ReadonlyToggle')],1)]},proxy:true}]),model:{value:(_vm.$store.state.config.showNavigationDrawer),callback:function ($$v) {_vm.$set(_vm.$store.state.config, \"showNavigationDrawer\", $$v)},expression:\"$store.state.config.showNavigationDrawer\"}},[_c('v-list',{attrs:{\"dense\":\"\",\"nav\":\"\"}},_vm._l((_vm.items),function(item){return _c('v-list-item',{key:item.title,attrs:{\"to\":item.to,\"exact\":item.exact}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(_vm._s(item.icon))])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(item.title))])],1)],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"dense\":\"\",\"value\":_vm.lang,\"items\":_vm.languages,\"label\":_vm.$t('config.language')},on:{\"change\":_vm.onSelectLang}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LangSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LangSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LangSelector.vue?vue&type=template&id=a8a0388e&\"\nimport script from \"./LangSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./LangSelector.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-switch',{attrs:{\"input-value\":_vm.darkTheme,\"label\":_vm.$t('config.dark-theme'),\"inset\":\"\",\"dense\":\"\"},on:{\"change\":_vm.onSelectTheme}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThemeSelector.vue?vue&type=template&id=65fd31ec&\"\nimport script from \"./ThemeSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./ThemeSelector.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\ninstallComponents(component, {VSwitch})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-switch',{attrs:{\"input-value\":_vm.readonly,\"label\":_vm.$t('config.readonly'),\"disabled\":_vm.disabled,\"inset\":\"\",\"dense\":\"\"},on:{\"change\":_vm.toggleReadonly}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReadonlyToggle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReadonlyToggle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ReadonlyToggle.vue?vue&type=template&id=5b271066&\"\nimport script from \"./ReadonlyToggle.vue?vue&type=script&lang=js&\"\nexport * from \"./ReadonlyToggle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\ninstallComponents(component, {VSwitch})\n","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationDrawer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationDrawer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NavigationDrawer.vue?vue&type=template&id=f120b24c&\"\nimport script from \"./NavigationDrawer.vue?vue&type=script&lang=js&\"\nexport * from \"./NavigationDrawer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\ninstallComponents(component, {VDivider,VIcon,VList,VListItem,VListItemContent,VListItemIcon,VListItemTitle,VNavigationDrawer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"value\":_vm.isOpen,\"transition\":\"dialog-bottom-transition\",\"max-width\":\"300\",\"persistent\":\"\"}},[_c('v-card',[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"connection.title\")))]),_c('v-card-text',[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('connection.serverUrl'),\"placeholder\":\"https://example.com\",\"required\":\"\"},model:{value:(_vm.serverUrl),callback:function ($$v) {_vm.serverUrl=$$v},expression:\"serverUrl\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('connection.username')},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('connection.password'),\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),_c('v-switch',{attrs:{\"label\":_vm.$t('connection.advanced-options'),\"inset\":\"\",\"dense\":\"\"},model:{value:(_vm.showAdvancedOptions),callback:function ($$v) {_vm.showAdvancedOptions=$$v},expression:\"showAdvancedOptions\"}}),_c('v-expand-transition',[(_vm.showAdvancedOptions)?_c('div',[_c('v-switch',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showAdvancedOptions),expression:\"showAdvancedOptions\"}],attrs:{\"label\":_vm.$t('connection.websocket-only'),\"inset\":\"\",\"dense\":\"\"},model:{value:(_vm.wsOnly),callback:function ($$v) {_vm.wsOnly=$$v},expression:\"wsOnly\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('connection.namespace')},model:{value:(_vm.namespace),callback:function ($$v) {_vm.namespace=$$v},expression:\"namespace\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('connection.path')},model:{value:(_vm.path),callback:function ($$v) {_vm.path=$$v},expression:\"path\"}}),_c('v-select',{attrs:{\"label\":_vm.$t('connection.parser'),\"items\":_vm.parserOptions},model:{value:(_vm.parser),callback:function ($$v) {_vm.parser=$$v},expression:\"parser\"}})],1):_vm._e()]),_c('v-btn',{staticClass:\"primary\",attrs:{\"loading\":_vm.isConnecting,\"disabled\":_vm.isConnecting || !_vm.isValid,\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t(\"connection.connect\")))]),(_vm.error)?_c('div',{staticClass:\"red--text mt-3\"},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")]):_vm._e()],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConnectionModal.vue?vue&type=template&id=142bafcc&scoped=true&\"\nimport script from \"./ConnectionModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ConnectionModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"142bafcc\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VExpandTransition } from 'vuetify/lib/components/transitions';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VDialog,VExpandTransition,VSelect,VSwitch,VTextField})\n","export default {\n set socket(socket) {\n this._socket = socket;\n },\n\n get socket() {\n return this._socket;\n },\n};\n","\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7bc361a2&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VMain } from 'vuetify/lib/components/VMain';\ninstallComponents(component, {VApp,VContainer,VMain})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('ClientsOverview')],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('ServersOverview')],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('NamespacesOverview')],1),(_vm.hasAggregatedValues)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('ConnectionsHistogram')],1):_vm._e(),(_vm.hasAggregatedValues)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('BytesHistogram')],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"clients.title\"))+\" \"),_c('v-spacer'),(_vm.developmentMode)?_c('v-btn',{attrs:{\"to\":{ name: 'clients' },\"small\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-dots-horizontal\")])],1):_vm._e()],1),_c('v-card-text',[_c('v-row',[_c('Doughnut',{staticClass:\"chart\",attrs:{\"chart-data\":_vm.data,\"chart-options\":_vm.chartOptions}}),_c('v-simple-table',{staticClass:\"grow align-self-center\",scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('tbody',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t(\"sockets.transport\")))]),_c('th',[_vm._v(\"#\")])]),_vm._l((_vm.transports),function(transport){return _c('tr',{key:transport},[_c('td',[_c('Transport',{attrs:{\"transport\":transport}})],1),_c('td',[_c('div',[_c('h2',[_vm._v(_vm._s(_vm.transportRepartition[transport]))])]),_c('div',[_vm._v(\" \"+_vm._s(_vm.percentage(_vm.transportRepartition[transport], _vm.clientsCount))+\" % \")])])])})],2)]},proxy:true}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-chip',{attrs:{\"small\":\"\",\"color\":_vm.color,\"outlined\":\"\"}},[_vm._v(_vm._s(_vm.label))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Transport.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Transport.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Transport.vue?vue&type=template&id=54f750af&\"\nimport script from \"./Transport.vue?vue&type=script&lang=js&\"\nexport * from \"./Transport.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\ninstallComponents(component, {VChip})\n","import { findIndex } from \"lodash-es\";\n\nconst testLocalStorage = () => {\n const test = \"test\";\n try {\n localStorage.setItem(test, test);\n localStorage.removeItem(test);\n return true;\n } catch (e) {\n return false;\n }\n};\n\nexport const isLocalStorageAvailable = testLocalStorage();\n\nexport function formatDuration(duration) {\n const d = Math.ceil(Math.max(duration, 0));\n const days = Math.floor(d / 86400);\n const hours = Math.floor((d - days * 86400) / 3600);\n const minutes = Math.floor((d - days * 86400 - hours * 3600) / 60);\n const seconds = Math.ceil(d) - days * 86400 - hours * 3600 - minutes * 60;\n\n const output = [];\n if (days > 0) {\n output.push(days + \"d\");\n }\n if (days > 0 || hours > 0) {\n output.push(hours + \"h\");\n }\n if (days > 0 || hours > 0 || minutes > 0) {\n output.push(minutes + \"m\");\n }\n output.push(seconds + \"s\");\n return output.join(\" \");\n}\n\n/**\n * lodash remove() does not play well with Vue.js\n */\nexport function remove(array, predicate) {\n const index =\n typeof predicate === \"object\"\n ? findIndex(array, predicate)\n : array.indexOf(predicate);\n return index === -1 ? [] : array.splice(index, 1);\n}\n\nexport function pushUniq(array, elem) {\n if (!array.includes(elem)) {\n array.push(elem);\n }\n}\n\nexport function percentage(value, total) {\n return total === 0 ? 0 : ((value / total) * 100).toFixed(1);\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientsOverview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientsOverview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ClientsOverview.vue?vue&type=template&id=68c0c5d5&scoped=true&\"\nimport script from \"./ClientsOverview.vue?vue&type=script&lang=js&\"\nexport * from \"./ClientsOverview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ClientsOverview.vue?vue&type=style&index=0&id=68c0c5d5&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"68c0c5d5\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VIcon,VRow,VSimpleTable,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"servers.title\"))+\" \"),_c('v-spacer'),_c('v-btn',{attrs:{\"to\":{ name: 'servers' },\"small\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-dots-horizontal\")])],1)],1),_c('v-card-text',[_c('v-row',[_c('Doughnut',{staticClass:\"chart\",attrs:{\"chart-data\":_vm.data,\"chart-options\":_vm.chartOptions}}),_c('v-simple-table',{staticClass:\"grow align-self-center\",scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('tbody',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t(\"status\")))]),_c('th',[_vm._v(\"#\")])]),_c('tr',[_c('td',[_c('ServerStatus',{attrs:{\"healthy\":\"\"}})],1),_c('td',[_c('div',[_c('h2',[_vm._v(_vm._s(_vm.healthyServers))])]),_c('div',[_vm._v(_vm._s(_vm.percentage(_vm.healthyServers, _vm.totalServers))+\" %\")])])]),_c('tr',[_c('td',[_c('ServerStatus')],1),_c('td',[_c('div',[_c('h2',[_vm._v(_vm._s(_vm.totalServers - _vm.healthyServers))])]),_c('div',[_vm._v(\" \"+_vm._s(_vm.percentage(_vm.totalServers - _vm.healthyServers, _vm.totalServers))+\" % \")])])])])]},proxy:true}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Status',{attrs:{\"value\":_vm.healthy,\"ok-label\":_vm.$t('servers.healthy'),\"ko-label\":_vm.$t('servers.unhealthy')}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerStatus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerStatus.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ServerStatus.vue?vue&type=template&id=76035ea6&\"\nimport script from \"./ServerStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./ServerStatus.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServersOverview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServersOverview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ServersOverview.vue?vue&type=template&id=0ad5cc14&scoped=true&\"\nimport script from \"./ServersOverview.vue?vue&type=script&lang=js&\"\nexport * from \"./ServersOverview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ServersOverview.vue?vue&type=style&index=0&id=0ad5cc14&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ad5cc14\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VIcon,VRow,VSimpleTable,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\"},[_c('v-card-title',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"namespaces\"))+\" \"),_c('v-spacer'),(_vm.developmentMode)?_c('v-btn',{attrs:{\"to\":{ name: 'sockets' },\"small\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-dots-horizontal\")])],1):_vm._e()],1),_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t(\"name\")))]),_c('th',[_vm._v(_vm._s(_vm.$t(\"rooms.sockets-count\")))])])]),_c('tbody',_vm._l((_vm.namespaces),function(namespace){return _c('tr',{key:namespace.name},[_c('td',{staticClass:\"key-column\"},[_c('code',[_vm._v(_vm._s(namespace.name))])]),_c('td',[_vm._v(_vm._s(namespace.socketsCount))])])}),0)]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NamespacesOverview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NamespacesOverview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NamespacesOverview.vue?vue&type=template&id=11fe24be&scoped=true&\"\nimport script from \"./NamespacesOverview.vue?vue&type=script&lang=js&\"\nexport * from \"./NamespacesOverview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11fe24be\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VIcon,VSimpleTable,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"dashboard.connectionsHistogram.title\"))+\" \")]),_c('v-card-text',[_c('v-row',[_c('Bar',{staticStyle:{\"width\":\"100%\"},attrs:{\"chart-data\":_vm.chartData,\"chart-options\":_vm.chartOptions,\"height\":_vm.chartHeight}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionsHistogram.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionsHistogram.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConnectionsHistogram.vue?vue&type=template&id=30457b7f&\"\nimport script from \"./ConnectionsHistogram.vue?vue&type=script&lang=js&\"\nexport * from \"./ConnectionsHistogram.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"dashboard.bytesHistogram.title\"))+\" \")]),_c('v-card-text',[_c('v-row',[_c('Bar',{staticStyle:{\"width\":\"100%\"},attrs:{\"chart-data\":_vm.chartData,\"chart-options\":_vm.chartOptions,\"height\":_vm.chartHeight}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BytesHistogram.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BytesHistogram.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BytesHistogram.vue?vue&type=template&id=7c6eda12&\"\nimport script from \"./BytesHistogram.vue?vue&type=script&lang=js&\"\nexport * from \"./BytesHistogram.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VRow})\n","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=eb5ee798&\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBreadcrumbs,VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),_c('v-card',[_c('v-card-text',[_c('NamespaceSelector')],1),_c('v-data-table',{staticClass:\"row-pointer\",attrs:{\"headers\":_vm.headers,\"items\":_vm.sockets,\"footer-props\":_vm.footerProps},on:{\"click:row\":_vm.displayDetails},scopedSlots:_vm._u([{key:\"item.transport\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('Transport',{attrs:{\"transport\":value}})]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.isSocketDisconnectSupported)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnect(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.disconnect\")))])]):_vm._e()]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{staticClass:\"selector\",attrs:{\"value\":_vm.selectedNamespace,\"items\":_vm.namespaces,\"item-text\":\"name\",\"item-value\":\"name\",\"label\":_vm.$t('select-namespace'),\"persistent-hint\":\"\",\"return-object\":\"\"},on:{\"change\":_vm.selectNamespace}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NamespaceSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NamespaceSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NamespaceSelector.vue?vue&type=template&id=2c330798&scoped=true&\"\nimport script from \"./NamespaceSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./NamespaceSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NamespaceSelector.vue?vue&type=style&index=0&id=2c330798&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2c330798\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sockets.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sockets.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sockets.vue?vue&type=template&id=1d29c60a&scoped=true&\"\nimport script from \"./Sockets.vue?vue&type=script&lang=js&\"\nexport * from \"./Sockets.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sockets.vue?vue&type=style&index=0&id=1d29c60a&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1d29c60a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBreadcrumbs,VBtn,VCard,VCardText,VDataTable,VIcon,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),(_vm.socket)?_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('SocketDetails',{attrs:{\"socket\":_vm.socket,\"client\":_vm.client}})],1),_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('InitialRequest',{attrs:{\"socket\":_vm.socket}})],1),_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('SocketRooms',{attrs:{\"socket\":_vm.socket}})],1)],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\"},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"rooms.title\")))]),_c('v-data-table',{staticClass:\"row-pointer\",attrs:{\"headers\":_vm.headers,\"items\":_vm.roomsAsObjects,\"dense\":\"\"},on:{\"click:row\":_vm.displayDetails},scopedSlots:_vm._u([{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.isSocketLeaveSupported)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.leave(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-tag-off-outline\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.leave\")))])]):_vm._e()]}}])}),_c('v-card-text',[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[_c('v-combobox',{staticClass:\"select-room d-inline-block mr-3\",attrs:{\"search-input\":_vm.newRoom,\"label\":_vm.$t('sockets.join-a-room'),\"items\":_vm.availableRooms,\"item-value\":\"name\",\"item-text\":\"name\",\"disabled\":_vm.isReadonly,\"return-object\":false},on:{\"update:searchInput\":function($event){_vm.newRoom=$event},\"update:search-input\":function($event){_vm.newRoom=$event}}}),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"type\":\"submit\",\"small\":\"\",\"disabled\":_vm.isReadonly}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-tag-plus-outline\")])],1)]}}])},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.join\")))])])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SocketRooms.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SocketRooms.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SocketRooms.vue?vue&type=template&id=5631eb89&scoped=true&\"\nimport script from \"./SocketRooms.vue?vue&type=script&lang=js&\"\nexport * from \"./SocketRooms.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SocketRooms.vue?vue&type=style&index=0&id=5631eb89&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5631eb89\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCombobox } from 'vuetify/lib/components/VCombobox';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VCombobox,VDataTable,VIcon,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\"},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"details\")))]),_c('v-card-text',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"sockets.client\")))])]),_c('v-simple-table',{attrs:{\"dense\":\"\"}},[[_c('tbody',[_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"id\")))]),_c('td',[(_vm.client.connected)?_c('router-link',{staticClass:\"link\",attrs:{\"to\":_vm.toClient}},[_vm._v(_vm._s(_vm.client.id))]):_c('span',[_vm._v(_vm._s(_vm.client.id))])],1),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"status\")))]),_c('td',[_c('ConnectionStatus',{attrs:{\"connected\":_vm.client.connected}})],1),_c('td',{attrs:{\"align\":\"right\"}},[(_vm.isSocketDisconnectSupported && _vm.client.connected)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnectClient()}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,false,1004975867)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"clients.disconnect\")))])]):_vm._e()],1)]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"sockets.transport\")))]),_c('td',[_c('Transport',{attrs:{\"transport\":_vm.socket.transport}})],1),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"sockets.address\")))]),_c('td',[_vm._v(_vm._s(_vm.socket.handshake.address))]),_c('td')])])]],2),_c('v-card-text',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"sockets.socket\")))])]),_c('v-simple-table',{attrs:{\"dense\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('tbody',[_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"namespace\")))]),_c('td',[_c('code',[_vm._v(_vm._s(_vm.socket.nsp))])]),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"id\")))]),_c('td',[_vm._v(_vm._s(_vm.socket.id))]),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"data\")))]),_c('td',[_c('pre',[_c('code',[_vm._v(_vm._s(JSON.stringify(_vm.socket.data, null, 2)))])])]),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"status\")))]),_c('td',[_c('ConnectionStatus',{attrs:{\"connected\":_vm.socket.connected}})],1),_c('td',{attrs:{\"align\":\"right\"}},[(_vm.isSocketDisconnectSupported && _vm.socket.connected)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnectSocket()}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,false,2351110648)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.disconnect\")))])]):_vm._e()],1)]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"sockets.creation-date\")))]),_c('td',[_vm._v(_vm._s(_vm.creationDate))]),_c('td')])])]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SocketDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SocketDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SocketDetails.vue?vue&type=template&id=3c0dcfcd&scoped=true&\"\nimport script from \"./SocketDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./SocketDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SocketDetails.vue?vue&type=style&index=0&id=3c0dcfcd&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3c0dcfcd\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VIcon,VSimpleTable,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\"},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"sockets.initial-request\")))]),_c('v-card-text',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"sockets.headers\")))])]),_c('KeyValueTable',{attrs:{\"object\":_vm.socket.handshake.headers}}),_c('v-card-text',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"sockets.query-params\")))])]),_c('KeyValueTable',{attrs:{\"object\":_vm.socket.handshake.query}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-simple-table',{attrs:{\"dense\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t(\"name\")))]),_c('th',[_vm._v(_vm._s(_vm.$t(\"value\")))])])]),_c('tbody',_vm._l((_vm.items),function(ref){\nvar key = ref.key;\nvar value = ref.value;\nreturn _c('tr',{key:key},[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(key))]),_c('td',[_vm._v(_vm._s(value))])])}),0)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyValueTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyValueTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KeyValueTable.vue?vue&type=template&id=18284f59&scoped=true&\"\nimport script from \"./KeyValueTable.vue?vue&type=script&lang=js&\"\nexport * from \"./KeyValueTable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KeyValueTable.vue?vue&type=style&index=0&id=18284f59&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"18284f59\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VSimpleTable})\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InitialRequest.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InitialRequest.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InitialRequest.vue?vue&type=template&id=02abed88&\"\nimport script from \"./InitialRequest.vue?vue&type=script&lang=js&\"\nexport * from \"./InitialRequest.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard,VCardText,VCardTitle})\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Socket.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Socket.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Socket.vue?vue&type=template&id=14172ed0&scoped=true&\"\nimport script from \"./Socket.vue?vue&type=script&lang=js&\"\nexport * from \"./Socket.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"14172ed0\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBreadcrumbs,VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),_c('v-card',[_c('v-card-text',{staticClass:\"d-flex\"},[_c('NamespaceSelector'),_c('v-switch',{staticClass:\"ml-3\",attrs:{\"label\":_vm.$t('rooms.show-private'),\"inset\":\"\",\"dense\":\"\"},on:{\"change\":_vm.onPrivateRoomsUpdate},model:{value:(_vm.showPrivateRooms),callback:function ($$v) {_vm.showPrivateRooms=$$v},expression:\"showPrivateRooms\"}})],1),_c('v-data-table',{staticClass:\"row-pointer\",attrs:{\"headers\":_vm.headers,\"items\":_vm.filteredRooms,\"footer-props\":_vm.footerProps},on:{\"click:row\":_vm.displayDetails},scopedSlots:_vm._u([{key:\"item.sockets\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.sockets.length)+\" \")]}},{key:\"item.isPrivate\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('RoomType',{attrs:{\"is-private\":value}})]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.isMultiLeaveSupported && !item.isPrivate)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.clear(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-tag-off-outline\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"rooms.clear\")))])]):_vm._e(),(_vm.isMultiDisconnectSupported)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnect(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"rooms.disconnect\")))])]):_vm._e()]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Status',{attrs:{\"value\":!_vm.isPrivate,\"ok-label\":_vm.$t('rooms.public'),\"ko-label\":_vm.$t('rooms.private')}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomType.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomType.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomType.vue?vue&type=template&id=65e67f84&\"\nimport script from \"./RoomType.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomType.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rooms.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rooms.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Rooms.vue?vue&type=template&id=29992f63&scoped=true&\"\nimport script from \"./Rooms.vue?vue&type=script&lang=js&\"\nexport * from \"./Rooms.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Rooms.vue?vue&type=style&index=0&id=29992f63&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"29992f63\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBreadcrumbs,VBtn,VCard,VCardText,VDataTable,VIcon,VSwitch,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),_c('v-card',[_c('v-data-table',{staticClass:\"row-pointer\",attrs:{\"headers\":_vm.headers,\"items\":_vm.clients,\"footer-props\":_vm.footerProps},on:{\"click:row\":_vm.displayDetails},scopedSlots:_vm._u([{key:\"item.address\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.sockets.length)?_c('span',[_vm._v(_vm._s(item.sockets[0].handshake.address))]):_vm._e()]}},{key:\"item.transport\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.sockets.length)?_c('Transport',{attrs:{\"transport\":item.sockets[0].transport}}):_vm._e()]}},{key:\"item.sockets\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.sockets.length)+\" \")]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.isSocketDisconnectSupported)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnect(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"clients.disconnect\")))])]):_vm._e()]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Clients.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Clients.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Clients.vue?vue&type=template&id=57b53591&scoped=true&\"\nimport script from \"./Clients.vue?vue&type=script&lang=js&\"\nexport * from \"./Clients.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Clients.vue?vue&type=style&index=0&id=57b53591&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"57b53591\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBreadcrumbs,VBtn,VCard,VDataTable,VIcon,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),(_vm.client)?_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('ClientDetails',{attrs:{\"client\":_vm.client,\"socket\":_vm.socket}})],1),_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[(_vm.socket)?_c('InitialRequest',{attrs:{\"socket\":_vm.socket}}):_vm._e()],1),_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('ClientSockets',{attrs:{\"sockets\":_vm.client.sockets}})],1)],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\"},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"details\")))]),_c('v-simple-table',{attrs:{\"dense\":\"\"}},[[_c('tbody',[_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"id\")))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.client.id)+\" \")]),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"status\")))]),_c('td',[_c('ConnectionStatus',{attrs:{\"connected\":_vm.client.connected}})],1),_c('td',{attrs:{\"align\":\"right\"}},[(_vm.isSocketDisconnectSupported && _vm.client.connected)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnectClient()}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,false,1004975867)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"clients.disconnect\")))])]):_vm._e()],1)]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"sockets.transport\")))]),_c('td',[_c('Transport',{attrs:{\"transport\":_vm.socket.transport}})],1),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"sockets.address\")))]),_c('td',[_vm._v(_vm._s(_vm.socket.handshake.address))]),_c('td')])])]],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ClientDetails.vue?vue&type=template&id=8d2424e4&scoped=true&\"\nimport script from \"./ClientDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./ClientDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ClientDetails.vue?vue&type=style&index=0&id=8d2424e4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8d2424e4\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VIcon,VSimpleTable,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"sockets.title\")))]),_c('v-data-table',{staticClass:\"row-pointer\",attrs:{\"headers\":_vm.headers,\"items\":_vm.sockets,\"dense\":\"\"},on:{\"click:row\":_vm.displayDetails},scopedSlots:_vm._u([{key:\"item.nsp\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('code',[_vm._v(_vm._s(value))])]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.isSocketDisconnectSupported)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnect(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.disconnect\")))])]):_vm._e()]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientSockets.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientSockets.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ClientSockets.vue?vue&type=template&id=38772079&scoped=true&\"\nimport script from \"./ClientSockets.vue?vue&type=script&lang=js&\"\nexport * from \"./ClientSockets.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ClientSockets.vue?vue&type=style&index=0&id=38772079&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"38772079\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VDataTable,VIcon,VTooltip})\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Client.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Client.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Client.vue?vue&type=template&id=3d554d12&scoped=true&\"\nimport script from \"./Client.vue?vue&type=script&lang=js&\"\nexport * from \"./Client.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d554d12\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBreadcrumbs,VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),_c('v-card',[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.servers,\"footer-props\":_vm.footerProps},scopedSlots:_vm._u([{key:\"item.uptime\",fn:function(ref){\nvar value = ref.value;\nreturn [_vm._v(\" \"+_vm._s(_vm.formatDuration(value))+\" \")]}},{key:\"item.lastPing\",fn:function(ref){\nvar value = ref.value;\nreturn [_vm._v(\" \"+_vm._s(_vm.delaySinceLastPing(value))+\" \")]}},{key:\"item.healthy\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('ServerStatus',{attrs:{\"healthy\":value}})]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [(!item.healthy)?_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.removeServer(item)}}},[_c('v-icon',[_vm._v(\"mdi-delete-outline\")])],1):_vm._e()]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Servers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Servers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Servers.vue?vue&type=template&id=3241ef20&\"\nimport script from \"./Servers.vue?vue&type=script&lang=js&\"\nexport * from \"./Servers.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBreadcrumbs,VBtn,VCard,VDataTable,VIcon})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),(_vm.room)?_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('RoomDetails',{attrs:{\"room\":_vm.room,\"nsp\":_vm.$route.params.nsp}})],1),_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"8\"}},[_c('RoomSockets',{attrs:{\"room\":_vm.room}})],1)],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.room)?_c('v-card',[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"sockets.title\")))]),_c('v-data-table',{staticClass:\"row-pointer\",attrs:{\"headers\":_vm.headers,\"items\":_vm.room.sockets,\"footer-props\":_vm.footerProps},on:{\"click:row\":_vm.displayDetails},scopedSlots:_vm._u([{key:\"item.transport\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('Transport',{attrs:{\"transport\":value}})]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.isSocketLeaveSupported && !_vm.room.isPrivate)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.leave(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-tag-off-outline\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"rooms.leave\")))])]):_vm._e(),(_vm.isSocketDisconnectSupported)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnect(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.disconnect\")))])]):_vm._e()]}}],null,false,1763569022)})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomSockets.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomSockets.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomSockets.vue?vue&type=template&id=c9425064&scoped=true&\"\nimport script from \"./RoomSockets.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomSockets.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RoomSockets.vue?vue&type=style&index=0&id=c9425064&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"c9425064\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VDataTable,VIcon,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\"},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"details\")))]),_c('v-simple-table',{attrs:{\"dense\":\"\"}},[[_c('tbody',[_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"namespace\")))]),_c('td',[_c('code',[_vm._v(_vm._s(_vm.nsp))])]),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"id\")))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.room.name)+\" \")]),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"status\")))]),_c('td',[_c('RoomStatus',{attrs:{\"active\":_vm.room.active}})],1),_c('td',{attrs:{\"align\":\"right\"}},[(_vm.isMultiLeaveSupported && !_vm.room.isPrivate)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.clear()}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-tag-off-outline\")])],1)]}}],null,false,464351539)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"rooms.clear\")))])]):_vm._e()],1)]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"type\")))]),_c('td',[_c('RoomType',{attrs:{\"is-private\":_vm.room.isPrivate}})],1),_c('td')])])]],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Status',{attrs:{\"value\":_vm.active,\"ok-label\":_vm.$t('rooms.active'),\"ko-label\":_vm.$t('rooms.deleted')}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomStatus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomStatus.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomStatus.vue?vue&type=template&id=65459954&\"\nimport script from \"./RoomStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomStatus.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomDetails.vue?vue&type=template&id=7b3793ea&scoped=true&\"\nimport script from \"./RoomDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7b3793ea\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VIcon,VSimpleTable,VTooltip})\n","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Room.vue?vue&type=template&id=07f5be08&\"\nimport script from \"./Room.vue?vue&type=script&lang=js&\"\nexport * from \"./Room.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBreadcrumbs,VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),_c('v-card',[_c('v-card-text',[_c('NamespaceSelector')],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.events,\"footer-props\":_vm.footerProps,\"item-key\":\"eventId\",\"sort-by\":['timestamp', 'eventId'],\"sort-desc\":[true, true],\"single-expand\":\"\",\"show-expand\":\"\"},scopedSlots:_vm._u([{key:\"item.type\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('EventType',{attrs:{\"type\":value}})]}},{key:\"item.id\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('router-link',{staticClass:\"link\",attrs:{\"to\":_vm.socketDetailsRoute(value)}},[_vm._v(_vm._s(value))])]}},{key:\"item.args\",fn:function(ref){\nvar item = ref.item;\nvar value = ref.value;\nreturn [(_vm.isExpandable(item))?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"events.eventName\"))+_vm._s(_vm.$t(\"separator\"))),_c('code',[_vm._v(_vm._s(item.eventName))])]):(item.type === 'disconnection')?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"events.reason\"))+_vm._s(_vm.$t(\"separator\"))),_c('code',[_vm._v(_vm._s(value))])]):(item.type === 'room_joined' || item.type === 'room_left')?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"events.room\"))+_vm._s(_vm.$t(\"separator\"))),_c('code',[_vm._v(_vm._s(value))])]):_c('span',[_vm._v(\" \"+_vm._s(value)+\" \")])]}},{key:\"item.data-table-expand\",fn:function(ref){\nvar item = ref.item;\nvar isExpanded = ref.isExpanded;\nvar expand = ref.expand;\nreturn [(_vm.isExpandable(item) && !isExpanded)?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return expand(true)}}},[_c('v-icon',[_vm._v(\"mdi-chevron-down\")])],1):_vm._e(),(_vm.isExpandable(item) && isExpanded)?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return expand(false)}}},[_c('v-icon',[_vm._v(\"mdi-chevron-up\")])],1):_vm._e()]}},{key:\"expanded-item\",fn:function(ref){\nvar headers = ref.headers;\nvar item = ref.item;\nreturn [_c('td',{attrs:{\"colspan\":headers.length}},[_c('div',{staticClass:\"ma-3\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"events.eventArgs\"))+_vm._s(_vm.$t(\"separator\"))+\" \"),_c('pre',[_c('code',[_vm._v(_vm._s(item.args))])])])])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-chip',{attrs:{\"color\":_vm.color,\"outlined\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"events.type.\" + _vm.type))+\" \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventType.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EventType.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EventType.vue?vue&type=template&id=f9a66084&\"\nimport script from \"./EventType.vue?vue&type=script&lang=js&\"\nexport * from \"./EventType.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\ninstallComponents(component, {VChip})\n","\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Events.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Events.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Events.vue?vue&type=template&id=2c2337d4&scoped=true&\"\nimport script from \"./Events.vue?vue&type=script&lang=js&\"\nexport * from \"./Events.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Events.vue?vue&type=style&index=0&id=2c2337d4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2c2337d4\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBreadcrumbs,VBtn,VCard,VCardText,VDataTable,VIcon})\n","import Vue from \"vue\";\nimport VueRouter from \"vue-router\";\nimport Dashboard from \"../views/Dashboard\";\nimport Sockets from \"../views/Sockets\";\nimport Socket from \"../views/Socket\";\nimport Rooms from \"../views/Rooms\";\nimport Clients from \"../views/Clients\";\nimport Client from \"../views/Client\";\nimport Servers from \"../views/Servers\";\nimport Room from \"../views/Room\";\nimport Events from \"@/views/Events\";\n\nVue.use(VueRouter);\n\nconst routes = [\n {\n path: \"/\",\n name: \"dashboard\",\n component: Dashboard,\n meta: {\n topLevel: true,\n index: 0,\n },\n },\n {\n path: \"/sockets/\",\n name: \"sockets\",\n component: Sockets,\n meta: {\n topLevel: true,\n index: 1,\n },\n },\n {\n path: \"/n/:nsp/sockets/:id\",\n name: \"socket\",\n component: Socket,\n meta: {\n topLevel: false,\n },\n },\n {\n path: \"/rooms/\",\n name: \"rooms\",\n component: Rooms,\n meta: {\n topLevel: true,\n index: 2,\n },\n },\n {\n path: \"/n/:nsp/rooms/:name\",\n name: \"room\",\n component: Room,\n meta: {\n topLevel: false,\n },\n },\n {\n path: \"/clients/\",\n name: \"clients\",\n component: Clients,\n meta: {\n topLevel: true,\n index: 3,\n },\n },\n {\n path: \"/clients/:id\",\n name: \"client\",\n component: Client,\n meta: {\n topLevel: false,\n },\n },\n {\n path: \"/events/\",\n name: \"events\",\n component: Events,\n meta: {\n topLevel: true,\n index: 4,\n },\n },\n {\n path: \"/servers/\",\n name: \"servers\",\n component: Servers,\n meta: {\n topLevel: true,\n index: 5,\n },\n },\n];\n\nconst router = new VueRouter({\n mode: \"hash\",\n base: process.env.BASE_URL,\n routes,\n});\n\nexport default router;\n","import Vue from \"vue\";\nimport VueI18n from \"vue-i18n\";\n\nVue.use(VueI18n);\n\nfunction loadLocaleMessages() {\n const locales = require.context(\n \"./locales\",\n true,\n /[A-Za-z0-9-_,\\s]+\\.json$/i\n );\n const messages = {};\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i);\n if (matched && matched.length > 1) {\n const locale = matched[1];\n messages[locale] = locales(key);\n }\n });\n return messages;\n}\n\nexport default new VueI18n({\n locale: process.env.VUE_APP_I18N_LOCALE || \"en\",\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || \"en\",\n messages: loadLocaleMessages(),\n});\n","import { isLocalStorageAvailable } from \"../../util\";\n\nexport default {\n namespaced: true,\n state: {\n darkTheme: false,\n readonly: false,\n lang: \"en\",\n supportedFeatures: [],\n showNavigationDrawer: false,\n },\n getters: {\n developmentMode(state) {\n return (\n state.supportedFeatures.includes(\"ALL_EVENTS\") ||\n !state.supportedFeatures.includes(\"AGGREGATED_EVENTS\")\n );\n },\n hasAggregatedValues: (state) => {\n return state.supportedFeatures.includes(\"AGGREGATED_EVENTS\");\n },\n },\n mutations: {\n init(state) {\n if (isLocalStorageAvailable) {\n state.darkTheme = localStorage.getItem(\"dark_theme\") === \"true\";\n state.readonly = localStorage.getItem(\"readonly\") === \"true\";\n state.lang = localStorage.getItem(\"lang\") || \"en\";\n }\n },\n selectTheme(state, darkTheme) {\n state.darkTheme = darkTheme;\n if (isLocalStorageAvailable) {\n localStorage.setItem(\"dark_theme\", darkTheme);\n }\n },\n selectLang(state, lang) {\n state.lang = lang;\n if (isLocalStorageAvailable) {\n localStorage.setItem(\"lang\", lang);\n }\n },\n toggleReadonly(state) {\n state.readonly = !state.readonly;\n if (isLocalStorageAvailable) {\n localStorage.setItem(\"readonly\", state.readonly);\n }\n },\n updateConfig(state, config) {\n state.supportedFeatures = config.supportedFeatures;\n },\n toggleNavigationDrawer(state) {\n state.showNavigationDrawer = !state.showNavigationDrawer;\n },\n },\n};\n","import { isLocalStorageAvailable } from \"../../util\";\n\nexport default {\n namespaced: true,\n state: {\n serverUrl: \"\",\n wsOnly: false,\n path: \"/socket.io\",\n namespace: \"/admin\",\n parser: \"default\",\n sessionId: \"\",\n connected: false,\n },\n mutations: {\n init(state) {\n if (isLocalStorageAvailable) {\n state.serverUrl = localStorage.getItem(\"server_url\") || \"\";\n if (state.serverUrl.endsWith(\"/admin\")) {\n // for backward compatibility\n state.serverUrl = state.serverUrl.slice(0, -6);\n } else {\n state.namespace = localStorage.getItem(\"namespace\") || \"/admin\";\n }\n state.wsOnly = localStorage.getItem(\"ws_only\") === \"true\";\n state.sessionId = localStorage.getItem(\"session_id\");\n state.path = localStorage.getItem(\"path\") || \"/socket.io\";\n state.parser = localStorage.getItem(\"parser\") || \"default\";\n }\n },\n saveConfig(state, { serverUrl, wsOnly, path, namespace, parser }) {\n state.serverUrl = serverUrl;\n state.wsOnly = wsOnly;\n state.path = path;\n state.namespace = namespace;\n state.parser = parser;\n if (isLocalStorageAvailable) {\n localStorage.setItem(\"server_url\", serverUrl);\n localStorage.setItem(\"ws_only\", wsOnly);\n localStorage.setItem(\"path\", path);\n localStorage.setItem(\"namespace\", namespace);\n localStorage.setItem(\"parser\", parser);\n }\n },\n saveSessionId(state, sessionId) {\n state.sessionId = sessionId;\n if (isLocalStorageAvailable) {\n localStorage.setItem(\"session_id\", sessionId);\n }\n },\n connect(state) {\n state.connected = true;\n },\n disconnect(state) {\n state.connected = false;\n },\n },\n};\n","import { find, merge, remove as silentlyRemove } from \"lodash-es\";\nimport { pushUniq, remove } from \"@/util\";\n\nconst TEN_MINUTES = 10 * 60 * 1000;\n\nconst getOrCreateNamespace = (namespaces, name) => {\n let namespace = find(namespaces, { name });\n if (namespace) {\n return namespace;\n }\n namespace = {\n name,\n sockets: [],\n rooms: [],\n events: [],\n };\n namespaces.push(namespace);\n return namespace;\n};\n\nconst getOrCreateRoom = (namespace, name) => {\n let room = find(namespace.rooms, { name });\n if (room) {\n return room;\n }\n room = {\n name,\n active: true,\n sockets: [],\n };\n namespace.rooms.push(room);\n return room;\n};\n\nconst getOrCreateClient = (clients, id) => {\n let client = find(clients, { id });\n if (client) {\n return client;\n }\n client = {\n id,\n connected: true,\n sockets: [],\n };\n clients.push(client);\n return client;\n};\n\nconst addSocket = (state, socket) => {\n const namespace = getOrCreateNamespace(state.namespaces, socket.nsp);\n socket.connected = true;\n if (!find(namespace.sockets, { id: socket.id })) {\n namespace.sockets.push(socket);\n }\n\n socket.rooms.forEach((name) => {\n const room = getOrCreateRoom(namespace, name);\n room.isPrivate = name === socket.id;\n if (!find(room.sockets, { id: socket.id })) {\n room.sockets.push(socket);\n }\n });\n\n const client = getOrCreateClient(state.clients, socket.clientId);\n if (!find(client.sockets, { id: socket.id })) {\n client.sockets.push(socket);\n }\n};\n\nconst MAX_ARRAY_LENGTH = 1000;\nlet EVENT_COUNTER = 0;\n\nconst pushEvents = (array, event) => {\n event.eventId = ++EVENT_COUNTER; // unique id\n array.push(event);\n if (array.length > MAX_ARRAY_LENGTH) {\n array.shift();\n }\n};\n\n// group events by each 10 seconds\n// see: https://www.chartjs.org/docs/latest/general/performance.html#decimation\nfunction roundedTimestamp(timestamp) {\n return timestamp - (timestamp % 10_000);\n}\n\nexport default {\n namespaced: true,\n state: {\n namespaces: [],\n clients: [],\n selectedNamespace: null,\n aggregatedEvents: [],\n },\n getters: {\n findSocketById: (state) => (nsp, id) => {\n const namespace = find(state.namespaces, { name: nsp });\n if (namespace) {\n return find(namespace.sockets, { id });\n }\n },\n findClientById: (state) => (id) => {\n return find(state.clients, { id });\n },\n findRoomByName: (state) => (nsp, name) => {\n const namespace = find(state.namespaces, { name: nsp });\n if (namespace) {\n return find(namespace.rooms, { name });\n }\n },\n findRoomsByNamespace: (state) => (nsp) => {\n const namespace = find(state.namespaces, { name: nsp });\n return namespace ? namespace.rooms : [];\n },\n sockets: (state) => {\n return state.selectedNamespace ? state.selectedNamespace.sockets : [];\n },\n rooms: (state) => {\n return state.selectedNamespace ? state.selectedNamespace.rooms : [];\n },\n events: (state) => {\n return state.selectedNamespace ? state.selectedNamespace.events : [];\n },\n },\n mutations: {\n selectNamespace(state, namespace) {\n state.selectedNamespace = namespace;\n },\n onAllSockets(state, sockets) {\n state.namespaces.forEach((namespace) => {\n namespace.sockets.splice(0);\n namespace.rooms.splice(0);\n });\n state.clients.splice(0);\n sockets.forEach((socket) => addSocket(state, socket));\n if (!state.selectedNamespace) {\n state.selectedNamespace =\n find(state.namespaces, { name: \"/\" }) || state.namespaces[0];\n }\n },\n onSocketConnected(state, { timestamp, socket }) {\n addSocket(state, socket);\n const namespace = getOrCreateNamespace(state.namespaces, socket.nsp);\n pushEvents(namespace.events, {\n type: \"connection\",\n timestamp,\n id: socket.id,\n });\n },\n onSocketUpdated(state, socket) {\n const namespace = getOrCreateNamespace(state.namespaces, socket.nsp);\n const existingSocket = find(namespace.sockets, { id: socket.id });\n if (existingSocket) {\n merge(existingSocket, socket);\n }\n },\n onSocketDisconnected(state, { timestamp, nsp, id, reason }) {\n const namespace = getOrCreateNamespace(state.namespaces, nsp);\n const [socket] = remove(namespace.sockets, { id });\n if (socket) {\n socket.connected = false;\n\n const client = getOrCreateClient(state.clients, socket.clientId);\n remove(client.sockets, { id });\n if (client.sockets.length === 0) {\n client.connected = false;\n remove(state.clients, { id: socket.clientId });\n }\n }\n pushEvents(namespace.events, {\n type: \"disconnection\",\n timestamp,\n id,\n args: reason,\n });\n },\n onRoomJoined(state, { nsp, room, id, timestamp }) {\n const namespace = getOrCreateNamespace(state.namespaces, nsp);\n const socket = find(namespace.sockets, { id });\n if (socket) {\n pushUniq(socket.rooms, room);\n const _room = getOrCreateRoom(namespace, room);\n _room.sockets.push(socket);\n }\n pushEvents(namespace.events, {\n type: \"room_joined\",\n timestamp,\n id,\n args: room,\n });\n },\n onRoomLeft(state, { timestamp, nsp, room, id }) {\n const namespace = getOrCreateNamespace(state.namespaces, nsp);\n const socket = find(namespace.sockets, { id });\n if (socket) {\n remove(socket.rooms, room);\n }\n const _room = getOrCreateRoom(namespace, room);\n remove(_room.sockets, { id });\n if (_room.sockets.length === 0) {\n _room.active = false;\n remove(namespace.rooms, { name: room });\n }\n pushEvents(namespace.events, {\n type: \"room_left\",\n timestamp,\n id,\n args: room,\n });\n },\n onServerStats(state, serverStats) {\n if (!serverStats.aggregatedEvents) {\n return;\n }\n for (const aggregatedEvent of serverStats.aggregatedEvents) {\n const timestamp = roundedTimestamp(aggregatedEvent.timestamp);\n const elem = find(state.aggregatedEvents, {\n timestamp,\n type: aggregatedEvent.type,\n subType: aggregatedEvent.subType,\n });\n if (elem) {\n elem.count += aggregatedEvent.count;\n } else {\n state.aggregatedEvents.push({\n timestamp,\n type: aggregatedEvent.type,\n subType: aggregatedEvent.subType,\n count: aggregatedEvent.count,\n });\n }\n }\n silentlyRemove(state.aggregatedEvents, (elem) => {\n return elem.timestamp < Date.now() - TEN_MINUTES;\n });\n },\n onEventReceived(state, { timestamp, nsp, id, args }) {\n const namespace = getOrCreateNamespace(state.namespaces, nsp);\n const eventName = args.shift();\n pushEvents(namespace.events, {\n type: \"event_received\",\n timestamp,\n id,\n eventName,\n args,\n });\n },\n onEventSent(state, { timestamp, nsp, id, args }) {\n const namespace = getOrCreateNamespace(state.namespaces, nsp);\n const eventName = args.shift();\n pushEvents(namespace.events, {\n type: \"event_sent\",\n timestamp,\n id,\n eventName,\n args,\n });\n },\n },\n};\n","import { find, merge } from \"lodash-es\";\nimport { remove } from \"../../util\";\n\nconst HEALTHY_THRESHOLD = 10000;\n\nexport default {\n namespaced: true,\n state: {\n servers: [],\n },\n getters: {\n namespaces(state) {\n const namespaces = {};\n for (const server of state.servers) {\n if (server.namespaces) {\n for (const { name, socketsCount } of server.namespaces) {\n namespaces[name] = (namespaces[name] || 0) + socketsCount;\n }\n }\n }\n return Object.keys(namespaces).map((name) => {\n return {\n name,\n socketsCount: namespaces[name],\n };\n });\n },\n },\n mutations: {\n onServerStats(state, stats) {\n stats.lastPing = Date.now();\n const server = find(state.servers, { serverId: stats.serverId });\n if (server) {\n merge(server, stats);\n } else {\n stats.healthy = true;\n state.servers.push(stats);\n }\n },\n removeServer(state, serverId) {\n remove(state.servers, { serverId });\n },\n updateState(state) {\n state.servers.forEach((server) => {\n server.healthy = Date.now() - server.lastPing < HEALTHY_THRESHOLD;\n });\n },\n },\n};\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\nimport config from \"./modules/config\";\nimport connection from \"./modules/connection\";\nimport main from \"./modules/main\";\nimport servers from \"./modules/servers\";\n\nVue.use(Vuex);\n\nexport default new Vuex.Store({\n modules: {\n config,\n connection,\n main,\n servers,\n },\n});\n","import Vue from \"vue\";\nimport Vuetify from \"vuetify/lib/framework\";\n\nVue.use(Vuetify);\n\nexport default new Vuetify({});\n","import {\n Chart as ChartJS,\n DoughnutController,\n Tooltip,\n Legend,\n ArcElement,\n BarElement,\n TimeScale,\n LinearScale,\n} from \"chart.js\";\n\nChartJS.register(\n DoughnutController,\n Tooltip,\n Legend,\n ArcElement,\n BarElement,\n TimeScale,\n LinearScale\n);\n\nimport \"chartjs-adapter-date-fns\";\n","import Vue from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport i18n from \"./i18n\";\nimport store from \"./store\";\nimport vuetify from \"./plugins/vuetify\";\nimport \"./plugins/chartjs\";\n\nVue.config.productionTip = false;\n\nstore.commit(\"config/init\");\nstore.commit(\"connection/init\");\n\ni18n.locale = store.state.config.lang;\n\nsetInterval(() => {\n store.commit(\"servers/updateState\");\n}, 1000);\n\nnew Vue({\n router,\n i18n,\n store,\n vuetify,\n render: (h) => h(App),\n}).$mount(\"#app\");\n","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/lib/loaders/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/lib/index.js??vue-loader-options!./ClientDetails.vue?vue&type=style&index=0&id=8d2424e4&scoped=true&lang=css&\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./RoomSockets.vue?vue&type=style&index=0&id=c9425064&scoped=true&lang=css&\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./Events.vue?vue&type=style&index=0&id=2c2337d4&scoped=true&lang=css&\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./KeyValueTable.vue?vue&type=style&index=0&id=18284f59&scoped=true&lang=css&\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./ServersOverview.vue?vue&type=style&index=0&id=0ad5cc14&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/logo-light.73342c25.svg\";","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/lib/loaders/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/lib/index.js??vue-loader-options!./SocketDetails.vue?vue&type=style&index=0&id=3c0dcfcd&scoped=true&lang=css&\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./NamespaceSelector.vue?vue&type=style&index=0&id=2c330798&scoped=true&lang=css&\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./Clients.vue?vue&type=style&index=0&id=57b53591&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/ui/dist/js/app.895ee6c7.js b/ui/dist/js/app.895ee6c7.js deleted file mode 100644 index bd88be5..0000000 --- a/ui/dist/js/app.895ee6c7.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(t){function e(e){for(var s,r,i=e[0],c=e[1],l=e[2],u=0,m=[];ue.meta.index?"v-slide-y-reverse-transition":"v-slide-y-transition":this.transitionName=t.meta.topLevel?"v-slide-x-transition":"v-slide-x-reverse-transition"}},methods:{tryConnect:function(t,e,n,s,a){var o=this;this.isConnecting=!0,Dt.socket&&(Dt.socket.disconnect(),Dt.socket.off("connect"),Dt.socket.off("connect_error"),Dt.socket.off("disconnect"));var r=Object(bt["a"])(t,{forceNew:!0,reconnection:!1,withCredentials:!0,transports:n?["websocket"]:["polling","websocket"],path:s,parser:"msgpack"===a?_t.a:null,auth:e});r.once("connect",(function(){o.showConnectionModal=!1,o.connectionError="",o.isConnecting=!1,r.io.reconnection(!0),o.$store.commit("connection/saveConfig",{serverUrl:t,wsOnly:n,path:s,parser:a}),Dt.socket=r,o.registerEventListeners(r)})),r.on("connect",(function(){o.$store.commit("connection/connect")})),r.on("connect_error",(function(t){(o.isConnecting||"invalid credentials"===t.message)&&(o.showConnectionModal=!0,o.connectionError=t.message),o.isConnecting=!1})),r.on("disconnect",(function(t){o.isConnecting&&(o.isConnecting=!1,o.connectionError=t),o.$store.commit("connection/disconnect")}))},registerEventListeners:function(t){var e=this;t.on("session",(function(t){e.$store.commit("connection/saveSessionId",t)})),t.on("config",(function(t){e.$store.commit("config/updateConfig",t)})),t.on("server_stats",(function(t){e.$store.commit("servers/onServerStats",t)})),t.on("all_sockets",(function(t){e.$store.commit("main/onAllSockets",t)})),t.on("socket_connected",(function(t){e.$store.commit("main/onSocketConnected",t)})),t.on("socket_updated",(function(t){e.$store.commit("main/onSocketUpdated",t)})),t.on("socket_disconnected",(function(t,n,s){e.$store.commit("main/onSocketDisconnected",{nsp:t,id:n,reason:s})})),t.on("room_joined",(function(t,n,s){e.$store.commit("main/onRoomJoined",{nsp:t,room:n,id:s})})),t.on("room_left",(function(t,n,s){e.$store.commit("main/onRoomLeft",{nsp:t,room:n,id:s})}))},onSubmit:function(t){this.tryConnect(t.serverUrl,{username:t.username,password:t.password},t.wsOnly,t.path,t.parser)}},created:function(){if(this.$vuetify.theme.dark=this.$store.state.config.darkTheme,this.serverUrl){var t=this.$store.state.connection.sessionId;this.tryConnect(this.serverUrl,{sessionId:t},this.wsOnly,this.path,this.parser)}else this.showConnectionModal=!0}},Rt=It,Nt=n("7496"),Pt=n("a523"),Et=n("f6c4"),Ut=Object(b["a"])(Rt,a,o,!1,null,null,null),Lt=Ut.exports;_()(Ut,{VApp:Nt["a"],VContainer:Pt["a"],VMain:Et["a"]});var Bt,Mt,At=n("8c4f"),qt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("v-breadcrumbs",{attrs:{items:t.breadcrumbItems}}),n("v-container",{attrs:{fluid:""}},[n("v-row",[n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("ClientsOverview")],1),n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("ServersOverview")],1),n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("NamespacesOverview")],1)],1)],1)],1)},Ft=[],Ht=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-card",[n("v-card-title",{staticClass:"text-center"},[t._v(" "+t._s(t.$t("clients.title"))+" "),n("v-spacer"),n("v-btn",{attrs:{to:{name:"clients"},small:""}},[n("v-icon",[t._v("mdi-dots-horizontal")])],1)],1),n("v-card-text",[n("v-row",[n("Doughnut",{staticClass:"chart",attrs:{"chart-data":t.data}}),n("v-simple-table",{staticClass:"grow align-self-center",scopedSlots:t._u([{key:"default",fn:function(){return[n("tbody",[n("tr",[n("th",[t._v(t._s(t.$t("sockets.transport")))]),n("th",[t._v("#")])]),t._l(t.transports,(function(e){return n("tr",{key:e},[n("td",[n("Transport",{attrs:{transport:e}})],1),n("td",[n("div",[n("h2",[t._v(t._s(t.transportRepartition[e]||0))])]),n("div",[t._v(" "+t._s(t.percentage(t.transportRepartition[e]||0,t.clients.length))+" % ")])])])}))],2)]},proxy:!0}])})],1)],1)],1)},zt=[],Jt=(n("4de4"),n("d81d"),n("1fca")),Wt=Jt["b"].reactiveProp,Kt={extends:Jt["a"],mixins:[Wt],props:["options"],mounted:function(){this.renderChart(this.chartData,{legend:!1})}},Qt=Kt,Xt=Object(b["a"])(Qt,Bt,Mt,!1,null,null,null),Yt=Xt.exports,Zt=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-chip",{attrs:{small:"",color:t.color,outlined:""}},[t._v(t._s(t.label))])},Gt=[],te={name:"Transport",props:{transport:String},computed:{label:function(){switch(this.transport){case"polling":return"HTTP long-polling";case"websocket":return"WebSocket";default:return this.transport}},color:function(){switch(this.transport){case"polling":return v["a"].orange.base;case"websocket":return v["a"].green.base;default:return v["a"].grey.base}}}},ee=te,ne=Object(b["a"])(ee,Zt,Gt,!1,null,null,null),se=ne.exports;_()(ne,{VChip:g["a"]});var ae=n("53ca"),oe=(n("a15b"),n("a434"),n("caad"),n("2532"),n("b680"),n("1c8f")),re=function(){var t="test";try{return localStorage.setItem(t,t),localStorage.removeItem(t),!0}catch(e){return!1}},ie=re();function ce(t){var e=Math.ceil(Math.max(t,0)),n=Math.floor(e/86400),s=Math.floor((e-86400*n)/3600),a=Math.floor((e-86400*n-3600*s)/60),o=Math.ceil(e)-86400*n-3600*s-60*a,r=[];return n>0&&r.push(n+"d"),(n>0||s>0)&&r.push(s+"h"),(n>0||s>0||a>0)&&r.push(a+"m"),r.push(o+"s"),r.join(" ")}function le(t,e){var n="object"===Object(ae["a"])(e)?Object(oe["a"])(t,e):t.indexOf(e);return-1===n?[]:t.splice(n,1)}function de(t,e){t.includes(e)||t.push(e)}function ue(t,e){return 0===e?0:(t/e*100).toFixed(1)}var me={name:"ClientsOverview",components:{Transport:se,Doughnut:Yt},data:function(){return{transports:["websocket","polling"]}},computed:Object(r["a"])(Object(r["a"])({},Object(l["d"])({clients:function(t){return t.main.clients},darkTheme:function(t){return t.config.darkTheme}})),{},{transportRepartition:function(){return this.clients.map((function(t){return t.sockets[0]})).filter((function(t){return!!t})).reduce((function(t,e){return t[e.transport]=t[e.transport]||0,t[e.transport]++,t}),{})},data:function(){return{labels:["WebSocket","HTTP long-polling"],datasets:[{backgroundColor:[v["a"].green.base,v["a"].orange.base],borderColor:this.darkTheme?"black":"white",data:[this.transportRepartition["websocket"],this.transportRepartition["polling"]]}]}}}),methods:{percentage:ue}},pe=me,ve=(n("1016"),n("0fd9")),fe=n("1f4f"),he=Object(b["a"])(pe,Ht,zt,!1,null,"58987bf8",null),be=he.exports;_()(he,{VBtn:I["a"],VCard:$t["a"],VCardText:Ot["a"],VCardTitle:Ot["b"],VIcon:lt["a"],VRow:ve["a"],VSimpleTable:fe["a"],VSpacer:N["a"]});var ke=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-card",[n("v-card-title",{staticClass:"text-center"},[t._v(" "+t._s(t.$t("servers.title"))+" "),n("v-spacer"),n("v-btn",{attrs:{to:{name:"servers"},small:""}},[n("v-icon",[t._v("mdi-dots-horizontal")])],1)],1),n("v-card-text",[n("v-row",[n("Doughnut",{staticClass:"chart",attrs:{"chart-data":t.data}}),n("v-simple-table",{staticClass:"grow align-self-center",scopedSlots:t._u([{key:"default",fn:function(){return[n("tbody",[n("tr",[n("th",[t._v(t._s(t.$t("status")))]),n("th",[t._v("#")])]),n("tr",[n("td",[n("ServerStatus",{attrs:{healthy:""}})],1),n("td",[n("div",[n("h2",[t._v(t._s(t.healthyServers))])]),n("div",[t._v(t._s(t.percentage(t.healthyServers,t.totalServers))+" %")])])]),n("tr",[n("td",[n("ServerStatus")],1),n("td",[n("div",[n("h2",[t._v(t._s(t.totalServers-t.healthyServers))])]),n("div",[t._v(" "+t._s(t.percentage(t.totalServers-t.healthyServers,t.totalServers))+" % ")])])])])]},proxy:!0}])})],1)],1)],1)},_e=[],ge=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("Status",{attrs:{value:t.healthy,"ok-label":t.$t("servers.healthy"),"ko-label":t.$t("servers.unhealthy")}})},ye=[],Se={name:"ServerStatus",components:{Status:S},props:{healthy:Boolean}},Ce=Se,$e=Object(b["a"])(Ce,ge,ye,!1,null,null,null),Oe=$e.exports,xe={name:"ServersOverview",components:{ServerStatus:Oe,Doughnut:Yt},computed:Object(r["a"])(Object(r["a"])({},Object(l["d"])({healthyServers:function(t){return t.servers.servers.filter((function(t){return t.healthy})).length},totalServers:function(t){return t.servers.servers.length},darkTheme:function(t){return t.config.darkTheme}})),{},{data:function(){return{labels:[this.$t("servers.healthy"),this.$t("servers.unhealthy")],datasets:[{backgroundColor:[v["a"].green.base,v["a"].red.base],borderColor:this.darkTheme?"black":"white",data:[this.healthyServers,this.totalServers-this.healthyServers]}]}}}),methods:{percentage:ue}},je=xe,we=(n("db72"),Object(b["a"])(je,ke,_e,!1,null,"d6482f56",null)),Ve=we.exports;_()(we,{VBtn:I["a"],VCard:$t["a"],VCardText:Ot["a"],VCardTitle:Ot["b"],VIcon:lt["a"],VRow:ve["a"],VSimpleTable:fe["a"],VSpacer:N["a"]});var De=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",{staticClass:"text-center"},[t._v(" "+t._s(t.$t("namespaces"))+" "),n("v-spacer"),n("v-btn",{attrs:{to:{name:"sockets"},small:""}},[n("v-icon",[t._v("mdi-dots-horizontal")])],1)],1),n("v-simple-table",{scopedSlots:t._u([{key:"default",fn:function(){return[n("thead",[n("tr",[n("th",[t._v(t._s(t.$t("name")))]),n("th",[t._v(t._s(t.$t("rooms.sockets-count")))])])]),n("tbody",t._l(t.namespaces,(function(e){return n("tr",{key:e.name},[n("td",{staticClass:"key-column"},[n("code",[t._v(t._s(e.name))])]),n("td",[t._v(t._s(e.sockets.length))])])})),0)]},proxy:!0}])})],1)},Te=[],Ie=n("d66c"),Re={name:"NamespacesOverview",computed:Object(r["a"])({},Object(l["d"])({namespaces:function(t){return Object(Ie["a"])(t.main.namespaces,"name")}}))},Ne=Re,Pe=Object(b["a"])(Ne,De,Te,!1,null,"0de70938",null),Ee=Pe.exports;_()(Pe,{VBtn:I["a"],VCard:$t["a"],VCardTitle:Ot["b"],VIcon:lt["a"],VSimpleTable:fe["a"],VSpacer:N["a"]});var Ue={name:"Dashboard",components:{NamespacesOverview:Ee,ServersOverview:Ve,ClientsOverview:be},computed:{breadcrumbItems:function(){return[{text:this.$t("dashboard.title"),disabled:!0}]}}},Le=Ue,Be=n("2bc5"),Me=n("62ad"),Ae=Object(b["a"])(Le,qt,Ft,!1,null,null,null),qe=Ae.exports;_()(Ae,{VBreadcrumbs:Be["a"],VCol:Me["a"],VContainer:Pt["a"],VRow:ve["a"]});var Fe=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("v-breadcrumbs",{attrs:{items:t.breadcrumbItems}}),n("v-card",[n("v-card-text",[n("NamespaceSelector")],1),n("v-data-table",{attrs:{headers:t.headers,items:t.sockets,"footer-props":t.footerProps},scopedSlots:t._u([{key:"item.transport",fn:function(t){var e=t.value;return[n("Transport",{attrs:{transport:e}})]}},{key:"item.actions",fn:function(e){var s=e.item;return[t.isSocketDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on,o=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{disabled:t.isReadonly,small:""},on:{click:function(e){return t.disconnect(s)}}},"v-btn",o,!1),a),[n("v-icon",[t._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[t._v(t._s(t.$t("sockets.disconnect")))])]):t._e(),n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on,o=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{small:""},on:{click:function(e){return t.displayDetails(s)}}},"v-btn",o,!1),a),[n("v-icon",[t._v("mdi-dots-horizontal")])],1)]}}],null,!0)},[n("span",[t._v(t._s(t.$t("sockets.displayDetails")))])])]}}])})],1)],1)},He=[],ze=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-select",{staticClass:"selector",attrs:{value:t.selectedNamespace,items:t.namespaces,"item-text":"name","item-value":"name",label:t.$t("select-namespace"),"persistent-hint":"","return-object":""},on:{change:t.selectNamespace}})},Je=[],We={name:"NamespaceSelector",computed:Object(r["a"])({},Object(l["d"])({selectedNamespace:function(t){return t.main.selectedNamespace},namespaces:function(t){return Object(Ie["a"])(t.main.namespaces,"name")}})),methods:Object(r["a"])({},Object(l["c"])("main",["selectNamespace"]))},Ke=We,Qe=(n("f712"),Object(b["a"])(Ke,ze,Je,!1,null,"2c330798",null)),Xe=Qe.exports;_()(Qe,{VSelect:H["a"]});var Ye={name:"Sockets",components:{Transport:se,NamespaceSelector:Xe},data:function(){return{footerProps:{"items-per-page-options":[20,100,-1]}}},computed:Object(r["a"])(Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("sockets.title"),disabled:!0}]},headers:function(){return[{text:"#",value:"id",align:"start"},{text:this.$t("sockets.address"),value:"handshake.address"},{text:this.$t("sockets.transport"),value:"transport"},{value:"actions",align:"end",sortable:!1}]}},Object(l["b"])("main",["sockets"])),Object(l["d"])({selectedNamespace:function(t){return t.main.selectedNamespace},isReadonly:function(t){return t.config.readonly},isSocketDisconnectSupported:function(t){return t.config.supportedFeatures.includes("DISCONNECT")}})),methods:{disconnect:function(t){Dt.socket.emit("_disconnect",t.nsp,!1,t.id)},displayDetails:function(t){this.$router.push({name:"socket",params:{nsp:this.selectedNamespace.name,id:t.id}})}}},Ze=Ye,Ge=n("8fea"),tn=n("3a2f"),en=Object(b["a"])(Ze,Fe,He,!1,null,null,null),nn=en.exports;_()(en,{VBreadcrumbs:Be["a"],VBtn:I["a"],VCard:$t["a"],VCardText:Ot["a"],VDataTable:Ge["a"],VIcon:lt["a"],VTooltip:tn["a"]});var sn=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("v-breadcrumbs",{attrs:{items:t.breadcrumbItems}}),t.socket?n("v-container",{attrs:{fluid:""}},[n("v-row",[n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("SocketDetails",{attrs:{socket:t.socket,client:t.client}})],1),n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("InitialRequest",{attrs:{socket:t.socket}})],1),n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("SocketRooms",{attrs:{socket:t.socket}})],1)],1)],1):t._e()],1)},an=[],on=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[t._v(t._s(t.$t("rooms.title")))]),n("v-data-table",{attrs:{headers:t.headers,items:t.roomsAsObjects,dense:""},scopedSlots:t._u([{key:"item.actions",fn:function(e){var s=e.item;return[t.isSocketLeaveSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on,o=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{disabled:t.isReadonly,small:""},on:{click:function(e){return t.leave(s)}}},"v-btn",o,!1),a),[n("v-icon",[t._v("mdi-tag-off-outline")])],1)]}}],null,!0)},[n("span",[t._v(t._s(t.$t("sockets.leave")))])]):t._e(),n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on,o=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{small:""},on:{click:function(e){return t.displayDetails(s)}}},"v-btn",o,!1),a),[n("v-icon",[t._v("mdi-dots-horizontal")])],1)]}}],null,!0)},[n("span",[t._v(t._s(t.$t("rooms.displayDetails")))])])]}}])}),n("v-card-text",[n("form",{on:{submit:function(e){return e.preventDefault(),t.onSubmit(e)}}},[n("v-combobox",{staticClass:"select-room d-inline-block mr-3",attrs:{"search-input":t.newRoom,label:t.$t("sockets.join-a-room"),items:t.availableRooms,"item-value":"name","item-text":"name",disabled:t.isReadonly,"return-object":!1},on:{"update:searchInput":function(e){t.newRoom=e},"update:search-input":function(e){t.newRoom=e}}}),n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var s=e.on,a=e.attrs;return[n("v-btn",t._g(t._b({attrs:{type:"submit",small:"",disabled:t.isReadonly}},"v-btn",a,!1),s),[n("v-icon",[t._v("mdi-tag-plus-outline")])],1)]}}])},[n("span",[t._v(t._s(t.$t("sockets.join")))])])],1)])],1)},rn=[],cn=(n("fb6a"),n("1775")),ln={name:"SocketRooms",props:{socket:Object},data:function(){return{newRoom:""}},computed:Object(r["a"])(Object(r["a"])({headers:function(){return[{text:this.$t("id"),value:"name",align:"start"},{value:"actions",align:"end",sortable:!1}]},roomsAsObjects:function(){return this.socket.rooms.slice(0).sort().map((function(t){return{name:t}}))},availableRooms:function(){return Object(cn["a"])(this.findRoomsByNamespace(this.socket.nsp),this.roomsAsObjects,"name")}},Object(l["d"])({selectedNamespace:function(t){return t.main.selectedNamespace},isReadonly:function(t){return t.config.readonly},isSocketLeaveSupported:function(t){return t.config.supportedFeatures.includes("LEAVE")},isSocketDisconnectSupported:function(t){return t.config.supportedFeatures.includes("DISCONNECT")}})),Object(l["b"])("main",["findRoomsByNamespace"])),methods:{emit:function(){},onSubmit:function(){Dt.socket.emit("join",this.socket.nsp,this.newRoom,this.socket.id),this.newRoom=""},leave:function(t){Dt.socket.emit("leave",this.socket.nsp,t.name,this.socket.id)},disconnect:function(){Dt.socket.emit("_disconnect",this.socket.nsp,!1,this.socket.id)},displayDetails:function(t){this.$router.push({name:"room",params:{nsp:this.socket.nsp,name:t.name}})}}},dn=ln,un=(n("633d"),n("2b5d")),mn=Object(b["a"])(dn,on,rn,!1,null,"d014ee1e",null),pn=mn.exports;_()(mn,{VBtn:I["a"],VCard:$t["a"],VCardText:Ot["a"],VCardTitle:Ot["b"],VCombobox:un["a"],VDataTable:Ge["a"],VIcon:lt["a"],VTooltip:tn["a"]});var vn=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[t._v(t._s(t.$t("details")))]),n("v-card-text",[n("h4",[t._v(t._s(t.$t("sockets.client")))])]),n("v-simple-table",{attrs:{dense:""}},[[n("tbody",[n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("id")))]),n("td",[t._v(" "+t._s(t.client.id)+" ")]),n("td",{attrs:{align:"right"}},[t.client.connected?n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var s=e.on,a=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{small:""},on:{click:function(e){return t.navigateToClient()}}},"v-btn",a,!1),s),[n("v-icon",[t._v("mdi-dots-horizontal")])],1)]}}],null,!1,898213143)},[n("span",[t._v(t._s(t.$t("clients.displayDetails")))])]):t._e()],1)]),n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("status")))]),n("td",[n("ConnectionStatus",{attrs:{connected:t.client.connected}})],1),n("td",{attrs:{align:"right"}},[t.isSocketDisconnectSupported&&t.client.connected?n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var s=e.on,a=e.attrs;return[n("v-btn",t._g(t._b({attrs:{disabled:t.isReadonly,small:""},on:{click:function(e){return t.disconnectClient()}}},"v-btn",a,!1),s),[n("v-icon",[t._v("mdi-logout")])],1)]}}],null,!1,1004975867)},[n("span",[t._v(t._s(t.$t("clients.disconnect")))])]):t._e()],1)]),n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("sockets.transport")))]),n("td",[n("Transport",{attrs:{transport:t.socket.transport}})],1),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("sockets.address")))]),n("td",[t._v(t._s(t.socket.handshake.address))]),n("td")])])]],2),n("v-card-text",[n("h4",[t._v(t._s(t.$t("sockets.socket")))])]),n("v-simple-table",{attrs:{dense:""},scopedSlots:t._u([{key:"default",fn:function(){return[n("tbody",[n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("namespace")))]),n("td",[n("code",[t._v(t._s(t.socket.nsp))])]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("id")))]),n("td",[t._v(t._s(t.socket.id))]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("data")))]),n("td",[n("pre",[n("code",[t._v(t._s(JSON.stringify(t.socket.data,null,2)))])])]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("status")))]),n("td",[n("ConnectionStatus",{attrs:{connected:t.socket.connected}})],1),n("td",{attrs:{align:"right"}},[t.isSocketDisconnectSupported&&t.socket.connected?n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var s=e.on,a=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{disabled:t.isReadonly,small:""},on:{click:function(e){return t.disconnectSocket()}}},"v-btn",a,!1),s),[n("v-icon",[t._v("mdi-logout")])],1)]}}],null,!1,2351110648)},[n("span",[t._v(t._s(t.$t("sockets.disconnect")))])]):t._e()],1)]),n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("sockets.creation-date")))]),n("td",[t._v(t._s(t.creationDate))]),n("td")])])]},proxy:!0}])})],1)},fn=[],hn={name:"SocketDetails",components:{ConnectionStatus:x,Transport:se},props:{socket:Object,client:Object},computed:Object(r["a"])({creationDate:function(){return new Date(this.socket.handshake.issued).toISOString()}},Object(l["d"])({isReadonly:function(t){return t.config.readonly},isSocketDisconnectSupported:function(t){return t.config.supportedFeatures.includes("DISCONNECT")}})),methods:{navigateToClient:function(){this.$router.push({name:"client",params:{id:this.client.id}})},disconnectClient:function(){Dt.socket.emit("_disconnect",this.socket.nsp,!0,this.socket.id)},disconnectSocket:function(){Dt.socket.emit("_disconnect",this.socket.nsp,!1,this.socket.id)}}},bn=hn,kn=(n("59a4"),Object(b["a"])(bn,vn,fn,!1,null,"41eb1dae",null)),_n=kn.exports;_()(kn,{VBtn:I["a"],VCard:$t["a"],VCardText:Ot["a"],VCardTitle:Ot["b"],VIcon:lt["a"],VSimpleTable:fe["a"],VTooltip:tn["a"]});var gn=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[t._v(t._s(t.$t("sockets.initial-request")))]),n("v-card-text",[n("h4",[t._v(t._s(t.$t("sockets.headers")))])]),n("KeyValueTable",{attrs:{object:t.socket.handshake.headers}}),n("v-card-text",[n("h4",[t._v(t._s(t.$t("sockets.query-params")))])]),n("KeyValueTable",{attrs:{object:t.socket.handshake.query}})],1)},yn=[],Sn=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-simple-table",{attrs:{dense:""},scopedSlots:t._u([{key:"default",fn:function(){return[n("thead",[n("tr",[n("th",[t._v(t._s(t.$t("name")))]),n("th",[t._v(t._s(t.$t("value")))])])]),n("tbody",t._l(t.items,(function(e){var s=e.key,a=e.value;return n("tr",{key:s},[n("td",{staticClass:"key-column"},[t._v(t._s(s))]),n("td",[t._v(t._s(a))])])})),0)]},proxy:!0}])})},Cn=[],$n=(n("b64b"),{name:"KeyValueTable",props:{object:Object},computed:{items:function(){var t=this,e=Object.keys(this.object);return e.sort().map((function(e){return{key:e,value:t.object[e]}}))}}}),On=$n,xn=(n("786c"),Object(b["a"])(On,Sn,Cn,!1,null,"18284f59",null)),jn=xn.exports;_()(xn,{VSimpleTable:fe["a"]});var wn={name:"InitialRequest",components:{KeyValueTable:jn},props:{socket:Object}},Vn=wn,Dn=Object(b["a"])(Vn,gn,yn,!1,null,null,null),Tn=Dn.exports;_()(Dn,{VCard:$t["a"],VCardText:Ot["a"],VCardTitle:Ot["b"]});var In={name:"Socket",components:{InitialRequest:Tn,SocketDetails:_n,SocketRooms:pn},data:function(){return{socket:null,client:null}},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("sockets.title"),to:{name:"sockets"}},{text:this.$t("sockets.details"),disabled:!0}]}},Object(l["b"])("main",["findSocketById","findClientById"])),mounted:function(){this.socket=this.findSocketById(this.$route.params.nsp,this.$route.params.id),this.socket&&(this.client=this.findClientById(this.socket.clientId))}},Rn=In,Nn=Object(b["a"])(Rn,sn,an,!1,null,"14172ed0",null),Pn=Nn.exports;_()(Nn,{VBreadcrumbs:Be["a"],VCol:Me["a"],VContainer:Pt["a"],VRow:ve["a"]});var En=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("v-breadcrumbs",{attrs:{items:t.breadcrumbItems}}),n("v-card",[n("v-card-text",{staticClass:"d-flex"},[n("NamespaceSelector"),n("v-switch",{staticClass:"ml-3",attrs:{label:t.$t("rooms.show-private"),inset:"",dense:""},on:{change:t.onPrivateRoomsUpdate},model:{value:t.showPrivateRooms,callback:function(e){t.showPrivateRooms=e},expression:"showPrivateRooms"}})],1),n("v-data-table",{attrs:{headers:t.headers,items:t.filteredRooms,"footer-props":t.footerProps},scopedSlots:t._u([{key:"item.sockets",fn:function(e){var n=e.item;return[t._v(" "+t._s(n.sockets.length)+" ")]}},{key:"item.isPrivate",fn:function(t){var e=t.value;return[n("RoomType",{attrs:{"is-private":e}})]}},{key:"item.actions",fn:function(e){var s=e.item;return[t.isMultiLeaveSupported&&!s.isPrivate?n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on,o=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{disabled:t.isReadonly,small:""},on:{click:function(e){return t.clear(s)}}},"v-btn",o,!1),a),[n("v-icon",[t._v("mdi-tag-off-outline")])],1)]}}],null,!0)},[n("span",[t._v(t._s(t.$t("rooms.clear")))])]):t._e(),t.isMultiDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on,o=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{disabled:t.isReadonly,small:""},on:{click:function(e){return t.disconnect(s)}}},"v-btn",o,!1),a),[n("v-icon",[t._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[t._v(t._s(t.$t("rooms.disconnect")))])]):t._e(),n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on,o=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{small:""},on:{click:function(e){return t.displayDetails(s)}}},"v-btn",o,!1),a),[n("v-icon",[t._v("mdi-dots-horizontal")])],1)]}}],null,!0)},[n("span",[t._v(t._s(t.$t("rooms.displayDetails")))])])]}}])})],1)],1)},Un=[],Ln=(n("5319"),n("ac1f"),function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("Status",{attrs:{value:!t.isPrivate,"ok-label":t.$t("rooms.public"),"ko-label":t.$t("rooms.private")}})}),Bn=[],Mn={name:"RoomType",components:{Status:S},props:{isPrivate:Boolean}},An=Mn,qn=Object(b["a"])(An,Ln,Bn,!1,null,null,null),Fn=qn.exports,Hn={name:"Rooms",components:{RoomType:Fn,NamespaceSelector:Xe},data:function(){return{showPrivateRooms:!1,footerProps:{"items-per-page-options":[20,100,-1]}}},computed:Object(r["a"])(Object(r["a"])(Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("rooms.title"),disabled:!0}]},headers:function(){return[{text:this.$t("id"),value:"name",align:"start"},{text:this.$t("type"),value:"isPrivate"},{text:this.$t("rooms.sockets-count"),value:"sockets"},{value:"actions",align:"end",sortable:!1}]}},Object(l["b"])("main",["rooms"])),Object(l["d"])({selectedNamespace:function(t){return t.main.selectedNamespace},isReadonly:function(t){return t.config.readonly},isMultiLeaveSupported:function(t){return t.config.supportedFeatures.includes("MLEAVE")},isMultiDisconnectSupported:function(t){return t.config.supportedFeatures.includes("MDISCONNECT")}})),{},{filteredRooms:function(){var t=this.showPrivateRooms?this.rooms:this.rooms.filter((function(t){return!t.isPrivate}));return Object(Ie["a"])(t,"name")}}),methods:{clear:function(t){Dt.socket.emit("leave",this.selectedNamespace.name,t.name)},disconnect:function(t){Dt.socket.emit("_disconnect",this.selectedNamespace.name,!1,t.name)},displayDetails:function(t){this.$router.push({name:"room",params:{nsp:this.selectedNamespace.name,name:t.name}})},onPrivateRoomsUpdate:function(t){var e=t?{p:1}:{};this.$router.replace({name:"rooms",query:e})}},mounted:function(){this.showPrivateRooms="1"===this.$route.query.p}},zn=Hn,Jn=Object(b["a"])(zn,En,Un,!1,null,null,null),Wn=Jn.exports;_()(Jn,{VBreadcrumbs:Be["a"],VBtn:I["a"],VCard:$t["a"],VCardText:Ot["a"],VDataTable:Ge["a"],VIcon:lt["a"],VSwitch:Y["a"],VTooltip:tn["a"]});var Kn=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("v-breadcrumbs",{attrs:{items:t.breadcrumbItems}}),n("v-card",[n("v-data-table",{attrs:{headers:t.headers,items:t.clients,"footer-props":t.footerProps},scopedSlots:t._u([{key:"item.address",fn:function(e){var s=e.item;return[s.sockets.length?n("span",[t._v(t._s(s.sockets[0].handshake.address))]):t._e()]}},{key:"item.transport",fn:function(e){var s=e.item;return[s.sockets.length?n("Transport",{attrs:{transport:s.sockets[0].transport}}):t._e()]}},{key:"item.sockets",fn:function(e){var n=e.item;return[t._v(" "+t._s(n.sockets.length)+" ")]}},{key:"item.actions",fn:function(e){var s=e.item;return[t.isSocketDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on,o=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{disabled:t.isReadonly,small:""},on:{click:function(e){return t.disconnect(s)}}},"v-btn",o,!1),a),[n("v-icon",[t._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[t._v(t._s(t.$t("clients.disconnect")))])]):t._e(),n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on,o=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{small:""},on:{click:function(e){return t.displayDetails(s)}}},"v-btn",o,!1),a),[n("v-icon",[t._v("mdi-dots-horizontal")])],1)]}}],null,!0)},[n("span",[t._v(t._s(t.$t("clients.displayDetails")))])])]}}])})],1)],1)},Qn=[],Xn={name:"Clients",components:{Transport:se},data:function(){return{footerProps:{"items-per-page-options":[20,100,-1]}}},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("clients.title"),disabled:!0}]},headers:function(){return[{text:"#",value:"id",align:"start"},{text:this.$t("sockets.address"),value:"address"},{text:this.$t("sockets.transport"),value:"transport"},{text:this.$t("clients.sockets-count"),value:"sockets"},{value:"actions",align:"end",sortable:!1}]}},Object(l["d"])({clients:function(t){return t.main.clients},isReadonly:function(t){return t.config.readonly},isSocketDisconnectSupported:function(t){return t.config.supportedFeatures.includes("DISCONNECT")}})),methods:{disconnect:function(t){var e=t.sockets[0];e&&Dt.socket.emit("_disconnect",e.nsp,!0,e.id)},displayDetails:function(t){this.$router.push({name:"client",params:{id:t.id}})}}},Yn=Xn,Zn=Object(b["a"])(Yn,Kn,Qn,!1,null,null,null),Gn=Zn.exports;_()(Zn,{VBreadcrumbs:Be["a"],VBtn:I["a"],VCard:$t["a"],VDataTable:Ge["a"],VIcon:lt["a"],VTooltip:tn["a"]});var ts=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("v-breadcrumbs",{attrs:{items:t.breadcrumbItems}}),t.client?n("v-container",{attrs:{fluid:""}},[n("v-row",[n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("ClientDetails",{attrs:{client:t.client,socket:t.socket}})],1),n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[t.socket?n("InitialRequest",{attrs:{socket:t.socket}}):t._e()],1),n("v-col",{attrs:{sm:"12",md:"6",lg:"4"}},[n("ClientSockets",{attrs:{sockets:t.client.sockets}})],1)],1)],1):t._e()],1)},es=[],ns=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[t._v(t._s(t.$t("details")))]),n("v-simple-table",{attrs:{dense:""}},[[n("tbody",[n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("id")))]),n("td",[t._v(" "+t._s(t.client.id)+" ")]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("status")))]),n("td",[n("ConnectionStatus",{attrs:{connected:t.client.connected}})],1),n("td",{attrs:{align:"right"}},[t.isSocketDisconnectSupported&&t.client.connected?n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var s=e.on,a=e.attrs;return[n("v-btn",t._g(t._b({attrs:{disabled:t.isReadonly,small:""},on:{click:function(e){return t.disconnectClient()}}},"v-btn",a,!1),s),[n("v-icon",[t._v("mdi-logout")])],1)]}}],null,!1,1004975867)},[n("span",[t._v(t._s(t.$t("clients.disconnect")))])]):t._e()],1)]),n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("sockets.transport")))]),n("td",[n("Transport",{attrs:{transport:t.socket.transport}})],1),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("sockets.address")))]),n("td",[t._v(t._s(t.socket.handshake.address))]),n("td")])])]],2)],1)},ss=[],as={name:"ClientDetails",components:{ConnectionStatus:x,Transport:se},props:{client:Object,socket:Object},computed:Object(r["a"])({},Object(l["d"])({isReadonly:function(t){return t.config.readonly},isSocketDisconnectSupported:function(t){return t.config.supportedFeatures.includes("DISCONNECT")}})),methods:{disconnectClient:function(){var t=this.client.sockets[0];t&&Dt.socket.emit("_disconnect",t.nsp,!0,t.id)}}},os=as,rs=(n("6602"),Object(b["a"])(os,ns,ss,!1,null,"8d2424e4",null)),is=rs.exports;_()(rs,{VBtn:I["a"],VCard:$t["a"],VCardTitle:Ot["b"],VIcon:lt["a"],VSimpleTable:fe["a"],VTooltip:tn["a"]});var cs=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-card",[n("v-card-title",[t._v(t._s(t.$t("sockets.title")))]),n("v-data-table",{attrs:{headers:t.headers,items:t.sockets,dense:""},scopedSlots:t._u([{key:"item.nsp",fn:function(e){var s=e.value;return[n("code",[t._v(t._s(s))])]}},{key:"item.actions",fn:function(e){var s=e.item;return[t.isSocketDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on,o=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{disabled:t.isReadonly,small:""},on:{click:function(e){return t.disconnect(s)}}},"v-btn",o,!1),a),[n("v-icon",[t._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[t._v(t._s(t.$t("sockets.disconnect")))])]):t._e(),n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on,o=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{small:""},on:{click:function(e){return t.displayDetails(s)}}},"v-btn",o,!1),a),[n("v-icon",[t._v("mdi-dots-horizontal")])],1)]}}],null,!0)},[n("span",[t._v(t._s(t.$t("sockets.displayDetails")))])])]}}])})],1)},ls=[],ds={name:"ClientSockets",props:{sockets:Array},computed:Object(r["a"])({headers:function(){return[{text:"#",value:"id",align:"start"},{text:this.$t("namespace"),value:"nsp"},{value:"actions",align:"end",sortable:!1}]}},Object(l["d"])({isReadonly:function(t){return t.config.readonly},isSocketDisconnectSupported:function(t){return t.config.supportedFeatures.includes("DISCONNECT")}})),methods:{disconnect:function(t){Dt.socket.emit("_disconnect",t.nsp,!1,t.id)},displayDetails:function(t){this.$router.push({name:"socket",params:{nsp:t.nsp,id:t.id}})}}},us=ds,ms=Object(b["a"])(us,cs,ls,!1,null,null,null),ps=ms.exports;_()(ms,{VBtn:I["a"],VCard:$t["a"],VCardTitle:Ot["b"],VDataTable:Ge["a"],VIcon:lt["a"],VTooltip:tn["a"]});var vs={name:"Client",components:{ClientSockets:ps,InitialRequest:Tn,ClientDetails:is},data:function(){return{socket:null,client:null}},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("clients.title"),to:{name:"clients"},exact:!0},{text:this.$t("clients.details"),disabled:!0}]}},Object(l["b"])("main",["findClientById"])),mounted:function(){this.client=this.findClientById(this.$route.params.id),this.client&&(this.socket=this.client.sockets[0])}},fs=vs,hs=Object(b["a"])(fs,ts,es,!1,null,"3d554d12",null),bs=hs.exports;_()(hs,{VBreadcrumbs:Be["a"],VCol:Me["a"],VContainer:Pt["a"],VRow:ve["a"]});var ks=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("v-breadcrumbs",{attrs:{items:t.breadcrumbItems}}),n("v-card",[n("v-data-table",{attrs:{headers:t.headers,items:t.servers,"footer-props":t.footerProps},scopedSlots:t._u([{key:"item.uptime",fn:function(e){var n=e.value;return[t._v(" "+t._s(t.formatDuration(n))+" ")]}},{key:"item.lastPing",fn:function(e){var n=e.value;return[t._v(" "+t._s(t.delaySinceLastPing(n))+" ")]}},{key:"item.healthy",fn:function(t){var e=t.value;return[n("ServerStatus",{attrs:{healthy:e}})]}},{key:"item.actions",fn:function(e){var s=e.item;return[s.healthy?t._e():n("v-btn",{attrs:{small:""},on:{click:function(e){return t.removeServer(s)}}},[n("v-icon",[t._v("mdi-delete-outline")])],1)]}}])})],1)],1)},_s=[],gs={name:"Servers",components:{ServerStatus:Oe},data:function(){return{footerProps:{"items-per-page-options":[20,100,-1]},now:Date.now()}},created:function(){var t=this;this.interval=setInterval((function(){t.now=Date.now()}),1e3)},beforeDestroy:function(){clearInterval(this.interval)},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("servers.title"),disabled:!0}]},headers:function(){return[{text:this.$t("id"),value:"serverId"},{text:this.$t("servers.hostname"),value:"hostname"},{text:this.$t("servers.pid"),value:"pid"},{text:this.$t("servers.uptime"),value:"uptime"},{text:this.$t("servers.clients-count"),value:"clientsCount"},{text:this.$t("servers.last-ping"),value:"lastPing"},{text:this.$t("status"),value:"healthy"},{value:"actions",align:"end",sortable:!1}]}},Object(l["d"])({servers:function(t){return Object(Ie["a"])(t.servers.servers,"serverId")}})),methods:{formatDuration:ce,delaySinceLastPing:function(t){var e=this.now-t;return"".concat(ce(e/1e3)," ago")},removeServer:function(t){this.$store.commit("servers/removeServer",t.serverId)}}},ys=gs,Ss=Object(b["a"])(ys,ks,_s,!1,null,null,null),Cs=Ss.exports;_()(Ss,{VBreadcrumbs:Be["a"],VBtn:I["a"],VCard:$t["a"],VDataTable:Ge["a"],VIcon:lt["a"]});var $s=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("v-breadcrumbs",{attrs:{items:t.breadcrumbItems}}),t.room?n("v-container",{attrs:{fluid:""}},[n("v-row",[n("v-col",{attrs:{sm:"12",md:"4"}},[n("RoomDetails",{attrs:{room:t.room,nsp:t.$route.params.nsp}})],1),n("v-col",{attrs:{sm:"12",md:"8"}},[n("RoomSockets",{attrs:{room:t.room}})],1)],1)],1):t._e()],1)},Os=[],xs=function(){var t=this,e=t.$createElement,n=t._self._c||e;return t.room?n("v-card",[n("v-card-title",[t._v(t._s(t.$t("sockets.title")))]),n("v-data-table",{attrs:{headers:t.headers,items:t.room.sockets,"footer-props":t.footerProps},scopedSlots:t._u([{key:"item.transport",fn:function(t){var e=t.value;return[n("Transport",{attrs:{transport:e}})]}},{key:"item.actions",fn:function(e){var s=e.item;return[t.isSocketLeaveSupported&&!t.room.isPrivate?n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on,o=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{disabled:t.isReadonly,small:""},on:{click:function(e){return t.leave(s)}}},"v-btn",o,!1),a),[n("v-icon",[t._v("mdi-tag-off-outline")])],1)]}}],null,!0)},[n("span",[t._v(t._s(t.$t("rooms.leave")))])]):t._e(),t.isSocketDisconnectSupported?n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on,o=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{disabled:t.isReadonly,small:""},on:{click:function(e){return t.disconnect(s)}}},"v-btn",o,!1),a),[n("v-icon",[t._v("mdi-logout")])],1)]}}],null,!0)},[n("span",[t._v(t._s(t.$t("sockets.disconnect")))])]):t._e(),n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on,o=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{small:""},on:{click:function(e){return t.displayDetails(s)}}},"v-btn",o,!1),a),[n("v-icon",[t._v("mdi-dots-horizontal")])],1)]}}],null,!0)},[n("span",[t._v(t._s(t.$t("sockets.displayDetails")))])])]}}],null,!1,1092228050)})],1):t._e()},js=[],ws={name:"RoomSockets",components:{Transport:se},props:{room:Object},data:function(){return{footerProps:{"items-per-page-options":[20,100,-1]}}},computed:Object(r["a"])(Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("rooms.title"),to:{name:"rooms"}},{text:this.$t("rooms.details"),disabled:!0}]},headers:function(){return[{text:this.$t("id"),value:"id",align:"start"},{text:this.$t("sockets.address"),value:"handshake.address"},{text:this.$t("sockets.transport"),value:"transport"},{value:"actions",align:"end",sortable:!1}]}},Object(l["b"])("main",["findRoomByName"])),Object(l["d"])({isReadonly:function(t){return t.config.readonly},isSocketLeaveSupported:function(t){return t.config.supportedFeatures.includes("LEAVE")},isSocketDisconnectSupported:function(t){return t.config.supportedFeatures.includes("DISCONNECT")}})),methods:{leave:function(t){Dt.socket.emit("leave",t.nsp,this.room.name,t.id)},disconnect:function(t){Dt.socket.emit("_disconnect",t.nsp,!1,t.id)},displayDetails:function(t){this.$router.push({name:"socket",params:{nsp:this.$route.params.nsp,id:t.id}})}}},Vs=ws,Ds=Object(b["a"])(Vs,xs,js,!1,null,null,null),Ts=Ds.exports;_()(Ds,{VBtn:I["a"],VCard:$t["a"],VCardTitle:Ot["b"],VDataTable:Ge["a"],VIcon:lt["a"],VTooltip:tn["a"]});var Is=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-card",{staticClass:"fill-height"},[n("v-card-title",[t._v(t._s(t.$t("details")))]),n("v-simple-table",{attrs:{dense:""}},[[n("tbody",[n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("namespace")))]),n("td",[n("code",[t._v(t._s(t.nsp))])]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("id")))]),n("td",[t._v(" "+t._s(t.room.name)+" ")]),n("td")]),n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("status")))]),n("td",[n("RoomStatus",{attrs:{active:t.room.active}})],1),n("td",{attrs:{align:"right"}},[t.isMultiLeaveSupported&&!t.room.isPrivate?n("v-tooltip",{attrs:{bottom:""},scopedSlots:t._u([{key:"activator",fn:function(e){var s=e.on,a=e.attrs;return[n("v-btn",t._g(t._b({staticClass:"ml-3",attrs:{disabled:t.isReadonly,small:""},on:{click:function(e){return t.clear()}}},"v-btn",a,!1),s),[n("v-icon",[t._v("mdi-tag-off-outline")])],1)]}}],null,!1,464351539)},[n("span",[t._v(t._s(t.$t("rooms.clear")))])]):t._e()],1)]),n("tr",[n("td",{staticClass:"key-column"},[t._v(t._s(t.$t("type")))]),n("td",[n("RoomType",{attrs:{"is-private":t.room.isPrivate}})],1),n("td")])])]],2)],1)},Rs=[],Ns=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("Status",{attrs:{value:t.active,"ok-label":t.$t("rooms.active"),"ko-label":t.$t("rooms.deleted")}})},Ps=[],Es={name:"RoomStatus",components:{Status:S},props:{active:Boolean}},Us=Es,Ls=Object(b["a"])(Us,Ns,Ps,!1,null,null,null),Bs=Ls.exports,Ms={name:"RoomDetails",components:{RoomType:Fn,RoomStatus:Bs},props:{room:Object,nsp:String},computed:Object(r["a"])({},Object(l["d"])({isReadonly:function(t){return t.config.readonly},isMultiLeaveSupported:function(t){return t.config.supportedFeatures.includes("MLEAVE")}})),methods:{clear:function(){Dt.socket.emit("leave",this.nsp,this.room.name)}}},As=Ms,qs=Object(b["a"])(As,Is,Rs,!1,null,"7b3793ea",null),Fs=qs.exports;_()(qs,{VBtn:I["a"],VCard:$t["a"],VCardTitle:Ot["b"],VIcon:lt["a"],VSimpleTable:fe["a"],VTooltip:tn["a"]});var Hs={name:"Sockets",components:{RoomDetails:Fs,RoomSockets:Ts},data:function(){return{room:null}},computed:Object(r["a"])({breadcrumbItems:function(){return[{text:this.$t("rooms.title"),to:{name:"rooms"}},{text:this.$t("rooms.details"),disabled:!0}]}},Object(l["b"])("main",["findRoomByName"])),mounted:function(){this.room=this.findRoomByName(this.$route.params.nsp,this.$route.params.name)}},zs=Hs,Js=Object(b["a"])(zs,$s,Os,!1,null,null,null),Ws=Js.exports;_()(Js,{VBreadcrumbs:Be["a"],VCol:Me["a"],VContainer:Pt["a"],VRow:ve["a"]}),s["a"].use(At["a"]);var Ks=[{path:"/",name:"dashboard",component:qe,meta:{topLevel:!0,index:0}},{path:"/sockets/",name:"sockets",component:nn,meta:{topLevel:!0,index:1}},{path:"/n/:nsp/sockets/:id",name:"socket",component:Pn,meta:{topLevel:!1}},{path:"/rooms/",name:"rooms",component:Wn,meta:{topLevel:!0,index:2}},{path:"/n/:nsp/rooms/:name",name:"room",component:Ws,meta:{topLevel:!1}},{path:"/clients/",name:"clients",component:Gn,meta:{topLevel:!0,index:3}},{path:"/clients/:id",name:"client",component:bs,meta:{topLevel:!1}},{path:"/servers/",name:"servers",component:Cs,meta:{topLevel:!0,index:4}}],Qs=new At["a"]({mode:"hash",base:"/",routes:Ks}),Xs=Qs,Ys=(n("159b"),n("d3b7"),n("ddb0"),n("466d"),n("a925"));function Zs(){var t=n("49f8"),e={};return t.keys().forEach((function(n){var s=n.match(/([A-Za-z0-9-_]+)\./i);if(s&&s.length>1){var a=s[1];e[a]=t(n)}})),e}s["a"].use(Ys["a"]);var Gs=new Ys["a"]({locale:"en",fallbackLocale:"en",messages:Zs()}),ta={namespaced:!0,state:{darkTheme:!1,readonly:!1,lang:"en",supportedFeatures:[],showNavigationDrawer:!1},mutations:{init:function(t){ie&&(t.darkTheme="true"===localStorage.getItem("dark_theme"),t.readonly="true"===localStorage.getItem("readonly"),t.lang=localStorage.getItem("lang")||"en")},selectTheme:function(t,e){t.darkTheme=e,ie&&localStorage.setItem("dark_theme",e)},selectLang:function(t,e){t.lang=e,ie&&localStorage.setItem("lang",e)},toggleReadonly:function(t){t.readonly=!t.readonly,ie&&localStorage.setItem("readonly",t.readonly)},updateConfig:function(t,e){t.supportedFeatures=e.supportedFeatures},toggleNavigationDrawer:function(t){t.showNavigationDrawer=!t.showNavigationDrawer}}},ea={namespaced:!0,state:{serverUrl:"",wsOnly:!1,path:"/socket.io",parser:"default",sessionId:"",connected:!1},mutations:{init:function(t){ie&&(t.serverUrl=localStorage.getItem("server_url"),t.wsOnly="true"===localStorage.getItem("ws_only"),t.sessionId=localStorage.getItem("session_id"),t.path=localStorage.getItem("path")||"/socket.io",t.parser=localStorage.getItem("parser")||"default")},saveConfig:function(t,e){var n=e.serverUrl,s=e.wsOnly,a=e.path,o=e.parser;t.serverUrl=n,t.wsOnly=s,t.path=a,t.parser=o,ie&&(localStorage.setItem("server_url",n),localStorage.setItem("ws_only",s),localStorage.setItem("path",a),localStorage.setItem("parser",o))},saveSessionId:function(t,e){t.sessionId=e,ie&&localStorage.setItem("session_id",e)},connect:function(t){t.connected=!0},disconnect:function(t){t.connected=!1}}},na=n("3835"),sa=n("0a94"),aa=n("a1a3"),oa=function(t,e){var n=Object(sa["a"])(t,{name:e});return n||(n={name:e,sockets:[],rooms:[]},t.push(n),n)},ra=function(t,e){var n=Object(sa["a"])(t.rooms,{name:e});return n||(n={name:e,active:!0,sockets:[]},t.rooms.push(n),n)},ia=function(t,e){var n=Object(sa["a"])(t,{id:e});return n||(n={id:e,connected:!0,sockets:[]},t.push(n),n)},ca=function(t,e){var n=oa(t.namespaces,e.nsp);e.connected=!0,Object(sa["a"])(n.sockets,{id:e.id})||n.sockets.push(e),e.rooms.forEach((function(t){var s=ra(n,t);s.isPrivate=t===e.id,Object(sa["a"])(s.sockets,{id:e.id})||s.sockets.push(e)}));var s=ia(t.clients,e.clientId);Object(sa["a"])(s.sockets,{id:e.id})||s.sockets.push(e)},la={namespaced:!0,state:{namespaces:[],clients:[],selectedNamespace:null},getters:{findSocketById:function(t){return function(e,n){var s=Object(sa["a"])(t.namespaces,{name:e});if(s)return Object(sa["a"])(s.sockets,{id:n})}},findClientById:function(t){return function(e){return Object(sa["a"])(t.clients,{id:e})}},findRoomByName:function(t){return function(e,n){var s=Object(sa["a"])(t.namespaces,{name:e});if(s)return Object(sa["a"])(s.rooms,{name:n})}},findRoomsByNamespace:function(t){return function(e){var n=Object(sa["a"])(t.namespaces,{name:e});return n?n.rooms:[]}},sockets:function(t){return t.selectedNamespace?t.selectedNamespace.sockets:[]},rooms:function(t){return t.selectedNamespace?t.selectedNamespace.rooms:[]}},mutations:{selectNamespace:function(t,e){t.selectedNamespace=e},onAllSockets:function(t,e){t.namespaces.forEach((function(t){t.sockets.splice(0),t.rooms.splice(0)})),t.clients.splice(0),e.forEach((function(e){return ca(t,e)})),t.selectedNamespace||(t.selectedNamespace=Object(sa["a"])(t.namespaces,{name:"/"})||t.namespaces[0])},onSocketConnected:function(t,e){ca(t,e)},onSocketUpdated:function(t,e){var n=oa(t.namespaces,e.nsp),s=Object(sa["a"])(n.sockets,{id:e.id});s&&Object(aa["a"])(s,e)},onSocketDisconnected:function(t,e){var n=e.nsp,s=e.id,a=oa(t.namespaces,n),o=le(a.sockets,{id:s}),r=Object(na["a"])(o,1),i=r[0];if(i){i.connected=!1;var c=ia(t.clients,i.clientId);le(c.sockets,{id:s}),0===c.sockets.length&&(c.connected=!1,le(t.clients,{id:i.clientId}))}},onRoomJoined:function(t,e){var n=e.nsp,s=e.room,a=e.id,o=oa(t.namespaces,n),r=Object(sa["a"])(o.sockets,{id:a});if(r){de(r.rooms,s);var i=ra(o,s);i.sockets.push(r)}},onRoomLeft:function(t,e){var n=e.nsp,s=e.room,a=e.id,o=oa(t.namespaces,n),r=Object(sa["a"])(o.sockets,{id:a});r&&le(r.rooms,s);var i=ra(o,s);le(i.sockets,{id:a}),0===i.sockets.length&&(i.active=!1,le(o.rooms,{name:s}))}}},da=1e4,ua={namespaced:!0,state:{servers:[]},mutations:{onServerStats:function(t,e){e.lastPing=Date.now();var n=Object(sa["a"])(t.servers,{serverId:e.serverId});n?Object(aa["a"])(n,e):(e.healthy=!0,t.servers.push(e))},removeServer:function(t,e){le(t.servers,{serverId:e})},updateState:function(t){t.servers.forEach((function(t){t.healthy=Date.now()-t.lastPing\n {{\n label\n }}\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Status.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Status.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Status.vue?vue&type=template&id=87034bbc&\"\nimport script from \"./Status.vue?vue&type=script&lang=js&\"\nexport * from \"./Status.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\ninstallComponents(component, {VChip})\n","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionStatus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionStatus.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConnectionStatus.vue?vue&type=template&id=65b30979&\"\nimport script from \"./ConnectionStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./ConnectionStatus.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppBar.vue?vue&type=template&id=5c4390aa&\"\nimport script from \"./AppBar.vue?vue&type=script&lang=js&\"\nexport * from \"./AppBar.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VAppBarNavIcon } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAppBar,VAppBarNavIcon,VBtn,VImg,VSpacer,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-navigation-drawer',{staticClass:\"elevation-3\",attrs:{\"app\":\"\",\"clipped\":\"\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-divider'),_c('div',{staticClass:\"pa-3 pt-10\"},[_c('LangSelector'),_c('ThemeSelector'),_c('ReadonlyToggle')],1)]},proxy:true}]),model:{value:(_vm.$store.state.config.showNavigationDrawer),callback:function ($$v) {_vm.$set(_vm.$store.state.config, \"showNavigationDrawer\", $$v)},expression:\"$store.state.config.showNavigationDrawer\"}},[_c('v-list',{attrs:{\"dense\":\"\",\"nav\":\"\"}},_vm._l((_vm.items),function(item){return _c('v-list-item',{key:item.title,attrs:{\"to\":item.to,\"exact\":item.exact}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(_vm._s(item.icon))])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(item.title))])],1)],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{attrs:{\"dense\":\"\",\"value\":_vm.lang,\"items\":_vm.languages,\"label\":_vm.$t('config.language')},on:{\"change\":_vm.onSelectLang}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LangSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LangSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LangSelector.vue?vue&type=template&id=a8a0388e&\"\nimport script from \"./LangSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./LangSelector.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-switch',{attrs:{\"input-value\":_vm.darkTheme,\"label\":_vm.$t('config.dark-theme'),\"inset\":\"\",\"dense\":\"\"},on:{\"change\":_vm.onSelectTheme}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThemeSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThemeSelector.vue?vue&type=template&id=65fd31ec&\"\nimport script from \"./ThemeSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./ThemeSelector.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\ninstallComponents(component, {VSwitch})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-switch',{attrs:{\"input-value\":_vm.readonly,\"label\":_vm.$t('config.readonly'),\"disabled\":_vm.disabled,\"inset\":\"\",\"dense\":\"\"},on:{\"change\":_vm.toggleReadonly}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReadonlyToggle.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReadonlyToggle.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ReadonlyToggle.vue?vue&type=template&id=5b271066&\"\nimport script from \"./ReadonlyToggle.vue?vue&type=script&lang=js&\"\nexport * from \"./ReadonlyToggle.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\ninstallComponents(component, {VSwitch})\n","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationDrawer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavigationDrawer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NavigationDrawer.vue?vue&type=template&id=edd119b6&\"\nimport script from \"./NavigationDrawer.vue?vue&type=script&lang=js&\"\nexport * from \"./NavigationDrawer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VNavigationDrawer } from 'vuetify/lib/components/VNavigationDrawer';\ninstallComponents(component, {VDivider,VIcon,VList,VListItem,VListItemContent,VListItemIcon,VListItemTitle,VNavigationDrawer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"value\":_vm.isOpen,\"transition\":\"dialog-bottom-transition\",\"max-width\":\"300\",\"persistent\":\"\"}},[_c('v-card',[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"connection.title\")))]),_c('v-card-text',[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('connection.serverUrl'),\"placeholder\":\"https://example.com/admin\",\"required\":\"\"},model:{value:(_vm.serverUrl),callback:function ($$v) {_vm.serverUrl=$$v},expression:\"serverUrl\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('connection.username')},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('connection.password'),\"type\":\"password\"},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),_c('v-switch',{attrs:{\"label\":_vm.$t('connection.websocket-only'),\"inset\":\"\",\"dense\":\"\"},model:{value:(_vm.wsOnly),callback:function ($$v) {_vm.wsOnly=$$v},expression:\"wsOnly\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('connection.path')},model:{value:(_vm.path),callback:function ($$v) {_vm.path=$$v},expression:\"path\"}}),_c('v-select',{attrs:{\"label\":_vm.$t('connection.parser'),\"items\":_vm.parserOptions},model:{value:(_vm.parser),callback:function ($$v) {_vm.parser=$$v},expression:\"parser\"}}),_c('v-btn',{staticClass:\"primary\",attrs:{\"loading\":_vm.isConnecting,\"disabled\":_vm.isConnecting || !_vm.isValid,\"type\":\"submit\"}},[_vm._v(_vm._s(_vm.$t(\"connection.connect\")))]),(_vm.error)?_c('div',{staticClass:\"red--text mt-3\"},[_vm._v(\" \"+_vm._s(_vm.errorMessage)+\" \")]):_vm._e()],1)])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectionModal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConnectionModal.vue?vue&type=template&id=40aa397e&scoped=true&\"\nimport script from \"./ConnectionModal.vue?vue&type=script&lang=js&\"\nexport * from \"./ConnectionModal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"40aa397e\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VDialog,VSelect,VSwitch,VTextField})\n","export default {\n set socket(socket) {\n this._socket = socket;\n },\n\n get socket() {\n return this._socket;\n },\n};\n","\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=b872094e&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VMain } from 'vuetify/lib/components/VMain';\ninstallComponents(component, {VApp,VContainer,VMain})\n","var render, staticRenderFns\nimport script from \"./Doughnut.vue?vue&type=script&lang=js&\"\nexport * from \"./Doughnut.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('ClientsOverview')],1),_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('ServersOverview')],1),_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('NamespacesOverview')],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"clients.title\"))+\" \"),_c('v-spacer'),_c('v-btn',{attrs:{\"to\":{ name: 'clients' },\"small\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-dots-horizontal\")])],1)],1),_c('v-card-text',[_c('v-row',[_c('Doughnut',{staticClass:\"chart\",attrs:{\"chart-data\":_vm.data}}),_c('v-simple-table',{staticClass:\"grow align-self-center\",scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('tbody',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t(\"sockets.transport\")))]),_c('th',[_vm._v(\"#\")])]),_vm._l((_vm.transports),function(transport){return _c('tr',{key:transport},[_c('td',[_c('Transport',{attrs:{\"transport\":transport}})],1),_c('td',[_c('div',[_c('h2',[_vm._v(_vm._s(_vm.transportRepartition[transport] || 0))])]),_c('div',[_vm._v(\" \"+_vm._s(_vm.percentage( _vm.transportRepartition[transport] || 0, _vm.clients.length ))+\" % \")])])])})],2)]},proxy:true}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Doughnut.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Doughnut.vue?vue&type=script&lang=js&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-chip',{attrs:{\"small\":\"\",\"color\":_vm.color,\"outlined\":\"\"}},[_vm._v(_vm._s(_vm.label))])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Transport.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Transport.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Transport.vue?vue&type=template&id=54f750af&\"\nimport script from \"./Transport.vue?vue&type=script&lang=js&\"\nexport * from \"./Transport.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\ninstallComponents(component, {VChip})\n","import { findIndex } from \"lodash-es\";\n\nconst testLocalStorage = () => {\n const test = \"test\";\n try {\n localStorage.setItem(test, test);\n localStorage.removeItem(test);\n return true;\n } catch (e) {\n return false;\n }\n};\n\nexport const isLocalStorageAvailable = testLocalStorage();\n\nexport function formatDuration(duration) {\n const d = Math.ceil(Math.max(duration, 0));\n const days = Math.floor(d / 86400);\n const hours = Math.floor((d - days * 86400) / 3600);\n const minutes = Math.floor((d - days * 86400 - hours * 3600) / 60);\n const seconds = Math.ceil(d) - days * 86400 - hours * 3600 - minutes * 60;\n\n const output = [];\n if (days > 0) {\n output.push(days + \"d\");\n }\n if (days > 0 || hours > 0) {\n output.push(hours + \"h\");\n }\n if (days > 0 || hours > 0 || minutes > 0) {\n output.push(minutes + \"m\");\n }\n output.push(seconds + \"s\");\n return output.join(\" \");\n}\n\n/**\n * lodash remove() does not play well with Vue.js\n */\nexport function remove(array, predicate) {\n const index =\n typeof predicate === \"object\"\n ? findIndex(array, predicate)\n : array.indexOf(predicate);\n return index === -1 ? [] : array.splice(index, 1);\n}\n\nexport function pushUniq(array, elem) {\n if (!array.includes(elem)) {\n array.push(elem);\n }\n}\n\nexport function percentage(value, total) {\n return total === 0 ? 0 : ((value / total) * 100).toFixed(1);\n}\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientsOverview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientsOverview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ClientsOverview.vue?vue&type=template&id=58987bf8&scoped=true&\"\nimport script from \"./ClientsOverview.vue?vue&type=script&lang=js&\"\nexport * from \"./ClientsOverview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ClientsOverview.vue?vue&type=style&index=0&id=58987bf8&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"58987bf8\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VIcon,VRow,VSimpleTable,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"servers.title\"))+\" \"),_c('v-spacer'),_c('v-btn',{attrs:{\"to\":{ name: 'servers' },\"small\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-dots-horizontal\")])],1)],1),_c('v-card-text',[_c('v-row',[_c('Doughnut',{staticClass:\"chart\",attrs:{\"chart-data\":_vm.data}}),_c('v-simple-table',{staticClass:\"grow align-self-center\",scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('tbody',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t(\"status\")))]),_c('th',[_vm._v(\"#\")])]),_c('tr',[_c('td',[_c('ServerStatus',{attrs:{\"healthy\":\"\"}})],1),_c('td',[_c('div',[_c('h2',[_vm._v(_vm._s(_vm.healthyServers))])]),_c('div',[_vm._v(_vm._s(_vm.percentage(_vm.healthyServers, _vm.totalServers))+\" %\")])])]),_c('tr',[_c('td',[_c('ServerStatus')],1),_c('td',[_c('div',[_c('h2',[_vm._v(_vm._s(_vm.totalServers - _vm.healthyServers))])]),_c('div',[_vm._v(\" \"+_vm._s(_vm.percentage(_vm.totalServers - _vm.healthyServers, _vm.totalServers))+\" % \")])])])])]},proxy:true}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Status',{attrs:{\"value\":_vm.healthy,\"ok-label\":_vm.$t('servers.healthy'),\"ko-label\":_vm.$t('servers.unhealthy')}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerStatus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServerStatus.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ServerStatus.vue?vue&type=template&id=76035ea6&\"\nimport script from \"./ServerStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./ServerStatus.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServersOverview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServersOverview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ServersOverview.vue?vue&type=template&id=d6482f56&scoped=true&\"\nimport script from \"./ServersOverview.vue?vue&type=script&lang=js&\"\nexport * from \"./ServersOverview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ServersOverview.vue?vue&type=style&index=0&id=d6482f56&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d6482f56\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VIcon,VRow,VSimpleTable,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\"},[_c('v-card-title',{staticClass:\"text-center\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"namespaces\"))+\" \"),_c('v-spacer'),_c('v-btn',{attrs:{\"to\":{ name: 'sockets' },\"small\":\"\"}},[_c('v-icon',[_vm._v(\"mdi-dots-horizontal\")])],1)],1),_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t(\"name\")))]),_c('th',[_vm._v(_vm._s(_vm.$t(\"rooms.sockets-count\")))])])]),_c('tbody',_vm._l((_vm.namespaces),function(namespace){return _c('tr',{key:namespace.name},[_c('td',{staticClass:\"key-column\"},[_c('code',[_vm._v(_vm._s(namespace.name))])]),_c('td',[_vm._v(_vm._s(namespace.sockets.length))])])}),0)]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NamespacesOverview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NamespacesOverview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NamespacesOverview.vue?vue&type=template&id=0de70938&scoped=true&\"\nimport script from \"./NamespacesOverview.vue?vue&type=script&lang=js&\"\nexport * from \"./NamespacesOverview.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0de70938\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VIcon,VSimpleTable,VSpacer})\n","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=2764d552&\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=js&\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBreadcrumbs,VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),_c('v-card',[_c('v-card-text',[_c('NamespaceSelector')],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.sockets,\"footer-props\":_vm.footerProps},scopedSlots:_vm._u([{key:\"item.transport\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('Transport',{attrs:{\"transport\":value}})]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.isSocketDisconnectSupported)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnect(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.disconnect\")))])]):_vm._e(),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.displayDetails(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-dots-horizontal\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.displayDetails\")))])])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{staticClass:\"selector\",attrs:{\"value\":_vm.selectedNamespace,\"items\":_vm.namespaces,\"item-text\":\"name\",\"item-value\":\"name\",\"label\":_vm.$t('select-namespace'),\"persistent-hint\":\"\",\"return-object\":\"\"},on:{\"change\":_vm.selectNamespace}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NamespaceSelector.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NamespaceSelector.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./NamespaceSelector.vue?vue&type=template&id=2c330798&scoped=true&\"\nimport script from \"./NamespaceSelector.vue?vue&type=script&lang=js&\"\nexport * from \"./NamespaceSelector.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NamespaceSelector.vue?vue&type=style&index=0&id=2c330798&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2c330798\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sockets.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sockets.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sockets.vue?vue&type=template&id=23b04124&\"\nimport script from \"./Sockets.vue?vue&type=script&lang=js&\"\nexport * from \"./Sockets.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBreadcrumbs,VBtn,VCard,VCardText,VDataTable,VIcon,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),(_vm.socket)?_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('SocketDetails',{attrs:{\"socket\":_vm.socket,\"client\":_vm.client}})],1),_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('InitialRequest',{attrs:{\"socket\":_vm.socket}})],1),_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('SocketRooms',{attrs:{\"socket\":_vm.socket}})],1)],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\"},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"rooms.title\")))]),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.roomsAsObjects,\"dense\":\"\"},scopedSlots:_vm._u([{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.isSocketLeaveSupported)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.leave(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-tag-off-outline\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.leave\")))])]):_vm._e(),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.displayDetails(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-dots-horizontal\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"rooms.displayDetails\")))])])]}}])}),_c('v-card-text',[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[_c('v-combobox',{staticClass:\"select-room d-inline-block mr-3\",attrs:{\"search-input\":_vm.newRoom,\"label\":_vm.$t('sockets.join-a-room'),\"items\":_vm.availableRooms,\"item-value\":\"name\",\"item-text\":\"name\",\"disabled\":_vm.isReadonly,\"return-object\":false},on:{\"update:searchInput\":function($event){_vm.newRoom=$event},\"update:search-input\":function($event){_vm.newRoom=$event}}}),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"type\":\"submit\",\"small\":\"\",\"disabled\":_vm.isReadonly}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-tag-plus-outline\")])],1)]}}])},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.join\")))])])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SocketRooms.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SocketRooms.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SocketRooms.vue?vue&type=template&id=d014ee1e&scoped=true&\"\nimport script from \"./SocketRooms.vue?vue&type=script&lang=js&\"\nexport * from \"./SocketRooms.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SocketRooms.vue?vue&type=style&index=0&id=d014ee1e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d014ee1e\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCombobox } from 'vuetify/lib/components/VCombobox';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VCombobox,VDataTable,VIcon,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\"},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"details\")))]),_c('v-card-text',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"sockets.client\")))])]),_c('v-simple-table',{attrs:{\"dense\":\"\"}},[[_c('tbody',[_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"id\")))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.client.id)+\" \")]),_c('td',{attrs:{\"align\":\"right\"}},[(_vm.client.connected)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.navigateToClient()}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-dots-horizontal\")])],1)]}}],null,false,898213143)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"clients.displayDetails\")))])]):_vm._e()],1)]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"status\")))]),_c('td',[_c('ConnectionStatus',{attrs:{\"connected\":_vm.client.connected}})],1),_c('td',{attrs:{\"align\":\"right\"}},[(_vm.isSocketDisconnectSupported && _vm.client.connected)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnectClient()}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,false,1004975867)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"clients.disconnect\")))])]):_vm._e()],1)]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"sockets.transport\")))]),_c('td',[_c('Transport',{attrs:{\"transport\":_vm.socket.transport}})],1),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"sockets.address\")))]),_c('td',[_vm._v(_vm._s(_vm.socket.handshake.address))]),_c('td')])])]],2),_c('v-card-text',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"sockets.socket\")))])]),_c('v-simple-table',{attrs:{\"dense\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('tbody',[_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"namespace\")))]),_c('td',[_c('code',[_vm._v(_vm._s(_vm.socket.nsp))])]),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"id\")))]),_c('td',[_vm._v(_vm._s(_vm.socket.id))]),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"data\")))]),_c('td',[_c('pre',[_c('code',[_vm._v(_vm._s(JSON.stringify(_vm.socket.data, null, 2)))])])]),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"status\")))]),_c('td',[_c('ConnectionStatus',{attrs:{\"connected\":_vm.socket.connected}})],1),_c('td',{attrs:{\"align\":\"right\"}},[(_vm.isSocketDisconnectSupported && _vm.socket.connected)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnectSocket()}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,false,2351110648)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.disconnect\")))])]):_vm._e()],1)]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"sockets.creation-date\")))]),_c('td',[_vm._v(_vm._s(_vm.creationDate))]),_c('td')])])]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SocketDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SocketDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SocketDetails.vue?vue&type=template&id=41eb1dae&scoped=true&\"\nimport script from \"./SocketDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./SocketDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SocketDetails.vue?vue&type=style&index=0&id=41eb1dae&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"41eb1dae\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VIcon,VSimpleTable,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\"},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"sockets.initial-request\")))]),_c('v-card-text',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"sockets.headers\")))])]),_c('KeyValueTable',{attrs:{\"object\":_vm.socket.handshake.headers}}),_c('v-card-text',[_c('h4',[_vm._v(_vm._s(_vm.$t(\"sockets.query-params\")))])]),_c('KeyValueTable',{attrs:{\"object\":_vm.socket.handshake.query}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-simple-table',{attrs:{\"dense\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t(\"name\")))]),_c('th',[_vm._v(_vm._s(_vm.$t(\"value\")))])])]),_c('tbody',_vm._l((_vm.items),function(ref){\nvar key = ref.key;\nvar value = ref.value;\nreturn _c('tr',{key:key},[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(key))]),_c('td',[_vm._v(_vm._s(value))])])}),0)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyValueTable.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KeyValueTable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KeyValueTable.vue?vue&type=template&id=18284f59&scoped=true&\"\nimport script from \"./KeyValueTable.vue?vue&type=script&lang=js&\"\nexport * from \"./KeyValueTable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./KeyValueTable.vue?vue&type=style&index=0&id=18284f59&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"18284f59\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VSimpleTable})\n","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InitialRequest.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InitialRequest.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InitialRequest.vue?vue&type=template&id=02abed88&\"\nimport script from \"./InitialRequest.vue?vue&type=script&lang=js&\"\nexport * from \"./InitialRequest.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\ninstallComponents(component, {VCard,VCardText,VCardTitle})\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Socket.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Socket.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Socket.vue?vue&type=template&id=14172ed0&scoped=true&\"\nimport script from \"./Socket.vue?vue&type=script&lang=js&\"\nexport * from \"./Socket.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"14172ed0\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBreadcrumbs,VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),_c('v-card',[_c('v-card-text',{staticClass:\"d-flex\"},[_c('NamespaceSelector'),_c('v-switch',{staticClass:\"ml-3\",attrs:{\"label\":_vm.$t('rooms.show-private'),\"inset\":\"\",\"dense\":\"\"},on:{\"change\":_vm.onPrivateRoomsUpdate},model:{value:(_vm.showPrivateRooms),callback:function ($$v) {_vm.showPrivateRooms=$$v},expression:\"showPrivateRooms\"}})],1),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.filteredRooms,\"footer-props\":_vm.footerProps},scopedSlots:_vm._u([{key:\"item.sockets\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.sockets.length)+\" \")]}},{key:\"item.isPrivate\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('RoomType',{attrs:{\"is-private\":value}})]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.isMultiLeaveSupported && !item.isPrivate)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.clear(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-tag-off-outline\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"rooms.clear\")))])]):_vm._e(),(_vm.isMultiDisconnectSupported)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnect(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"rooms.disconnect\")))])]):_vm._e(),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.displayDetails(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-dots-horizontal\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"rooms.displayDetails\")))])])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Status',{attrs:{\"value\":!_vm.isPrivate,\"ok-label\":_vm.$t('rooms.public'),\"ko-label\":_vm.$t('rooms.private')}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomType.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomType.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomType.vue?vue&type=template&id=65e67f84&\"\nimport script from \"./RoomType.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomType.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rooms.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Rooms.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Rooms.vue?vue&type=template&id=04cd8de4&\"\nimport script from \"./Rooms.vue?vue&type=script&lang=js&\"\nexport * from \"./Rooms.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBreadcrumbs,VBtn,VCard,VCardText,VDataTable,VIcon,VSwitch,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),_c('v-card',[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.clients,\"footer-props\":_vm.footerProps},scopedSlots:_vm._u([{key:\"item.address\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.sockets.length)?_c('span',[_vm._v(_vm._s(item.sockets[0].handshake.address))]):_vm._e()]}},{key:\"item.transport\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.sockets.length)?_c('Transport',{attrs:{\"transport\":item.sockets[0].transport}}):_vm._e()]}},{key:\"item.sockets\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.sockets.length)+\" \")]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.isSocketDisconnectSupported)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnect(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"clients.disconnect\")))])]):_vm._e(),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.displayDetails(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-dots-horizontal\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"clients.displayDetails\")))])])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Clients.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Clients.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Clients.vue?vue&type=template&id=6a3ffff4&\"\nimport script from \"./Clients.vue?vue&type=script&lang=js&\"\nexport * from \"./Clients.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBreadcrumbs,VBtn,VCard,VDataTable,VIcon,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),(_vm.client)?_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('ClientDetails',{attrs:{\"client\":_vm.client,\"socket\":_vm.socket}})],1),_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[(_vm.socket)?_c('InitialRequest',{attrs:{\"socket\":_vm.socket}}):_vm._e()],1),_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"6\",\"lg\":\"4\"}},[_c('ClientSockets',{attrs:{\"sockets\":_vm.client.sockets}})],1)],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\"},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"details\")))]),_c('v-simple-table',{attrs:{\"dense\":\"\"}},[[_c('tbody',[_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"id\")))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.client.id)+\" \")]),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"status\")))]),_c('td',[_c('ConnectionStatus',{attrs:{\"connected\":_vm.client.connected}})],1),_c('td',{attrs:{\"align\":\"right\"}},[(_vm.isSocketDisconnectSupported && _vm.client.connected)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnectClient()}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,false,1004975867)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"clients.disconnect\")))])]):_vm._e()],1)]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"sockets.transport\")))]),_c('td',[_c('Transport',{attrs:{\"transport\":_vm.socket.transport}})],1),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"sockets.address\")))]),_c('td',[_vm._v(_vm._s(_vm.socket.handshake.address))]),_c('td')])])]],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ClientDetails.vue?vue&type=template&id=8d2424e4&scoped=true&\"\nimport script from \"./ClientDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./ClientDetails.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ClientDetails.vue?vue&type=style&index=0&id=8d2424e4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8d2424e4\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VIcon,VSimpleTable,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"sockets.title\")))]),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.sockets,\"dense\":\"\"},scopedSlots:_vm._u([{key:\"item.nsp\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('code',[_vm._v(_vm._s(value))])]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.isSocketDisconnectSupported)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnect(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.disconnect\")))])]):_vm._e(),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.displayDetails(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-dots-horizontal\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.displayDetails\")))])])]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientSockets.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientSockets.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ClientSockets.vue?vue&type=template&id=92f31530&\"\nimport script from \"./ClientSockets.vue?vue&type=script&lang=js&\"\nexport * from \"./ClientSockets.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VDataTable,VIcon,VTooltip})\n","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Client.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Client.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Client.vue?vue&type=template&id=3d554d12&scoped=true&\"\nimport script from \"./Client.vue?vue&type=script&lang=js&\"\nexport * from \"./Client.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3d554d12\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBreadcrumbs,VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),_c('v-card',[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.servers,\"footer-props\":_vm.footerProps},scopedSlots:_vm._u([{key:\"item.uptime\",fn:function(ref){\nvar value = ref.value;\nreturn [_vm._v(\" \"+_vm._s(_vm.formatDuration(value))+\" \")]}},{key:\"item.lastPing\",fn:function(ref){\nvar value = ref.value;\nreturn [_vm._v(\" \"+_vm._s(_vm.delaySinceLastPing(value))+\" \")]}},{key:\"item.healthy\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('ServerStatus',{attrs:{\"healthy\":value}})]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [(!item.healthy)?_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.removeServer(item)}}},[_c('v-icon',[_vm._v(\"mdi-delete-outline\")])],1):_vm._e()]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Servers.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Servers.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Servers.vue?vue&type=template&id=3241ef20&\"\nimport script from \"./Servers.vue?vue&type=script&lang=js&\"\nexport * from \"./Servers.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBreadcrumbs,VBtn,VCard,VDataTable,VIcon})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-breadcrumbs',{attrs:{\"items\":_vm.breadcrumbItems}}),(_vm.room)?_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"4\"}},[_c('RoomDetails',{attrs:{\"room\":_vm.room,\"nsp\":_vm.$route.params.nsp}})],1),_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"8\"}},[_c('RoomSockets',{attrs:{\"room\":_vm.room}})],1)],1)],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.room)?_c('v-card',[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"sockets.title\")))]),_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.room.sockets,\"footer-props\":_vm.footerProps},scopedSlots:_vm._u([{key:\"item.transport\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('Transport',{attrs:{\"transport\":value}})]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.isSocketLeaveSupported && !_vm.room.isPrivate)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.leave(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-tag-off-outline\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"rooms.leave\")))])]):_vm._e(),(_vm.isSocketDisconnectSupported)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.disconnect(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-logout\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.disconnect\")))])]):_vm._e(),_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.displayDetails(item)}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-dots-horizontal\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"sockets.displayDetails\")))])])]}}],null,false,1092228050)})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomSockets.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomSockets.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomSockets.vue?vue&type=template&id=53b1a037&\"\nimport script from \"./RoomSockets.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomSockets.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VDataTable,VIcon,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height\"},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"details\")))]),_c('v-simple-table',{attrs:{\"dense\":\"\"}},[[_c('tbody',[_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"namespace\")))]),_c('td',[_c('code',[_vm._v(_vm._s(_vm.nsp))])]),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"id\")))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.room.name)+\" \")]),_c('td')]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"status\")))]),_c('td',[_c('RoomStatus',{attrs:{\"active\":_vm.room.active}})],1),_c('td',{attrs:{\"align\":\"right\"}},[(_vm.isMultiLeaveSupported && !_vm.room.isPrivate)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"disabled\":_vm.isReadonly,\"small\":\"\"},on:{\"click\":function($event){return _vm.clear()}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-tag-off-outline\")])],1)]}}],null,false,464351539)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"rooms.clear\")))])]):_vm._e()],1)]),_c('tr',[_c('td',{staticClass:\"key-column\"},[_vm._v(_vm._s(_vm.$t(\"type\")))]),_c('td',[_c('RoomType',{attrs:{\"is-private\":_vm.room.isPrivate}})],1),_c('td')])])]],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Status',{attrs:{\"value\":_vm.active,\"ok-label\":_vm.$t('rooms.active'),\"ko-label\":_vm.$t('rooms.deleted')}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomStatus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomStatus.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomStatus.vue?vue&type=template&id=65459954&\"\nimport script from \"./RoomStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomStatus.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoomDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoomDetails.vue?vue&type=template&id=7b3793ea&scoped=true&\"\nimport script from \"./RoomDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./RoomDetails.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7b3793ea\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VIcon,VSimpleTable,VTooltip})\n","\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Room.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Room.vue?vue&type=template&id=07f5be08&\"\nimport script from \"./Room.vue?vue&type=script&lang=js&\"\nexport * from \"./Room.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBreadcrumbs } from 'vuetify/lib/components/VBreadcrumbs';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBreadcrumbs,VCol,VContainer,VRow})\n","import Vue from \"vue\";\nimport VueRouter from \"vue-router\";\nimport Dashboard from \"../views/Dashboard\";\nimport Sockets from \"../views/Sockets\";\nimport Socket from \"../views/Socket\";\nimport Rooms from \"../views/Rooms\";\nimport Clients from \"../views/Clients\";\nimport Client from \"../views/Client\";\nimport Servers from \"../views/Servers\";\nimport Room from \"../views/Room\";\n\nVue.use(VueRouter);\n\nconst routes = [\n {\n path: \"/\",\n name: \"dashboard\",\n component: Dashboard,\n meta: {\n topLevel: true,\n index: 0,\n },\n },\n {\n path: \"/sockets/\",\n name: \"sockets\",\n component: Sockets,\n meta: {\n topLevel: true,\n index: 1,\n },\n },\n {\n path: \"/n/:nsp/sockets/:id\",\n name: \"socket\",\n component: Socket,\n meta: {\n topLevel: false,\n },\n },\n {\n path: \"/rooms/\",\n name: \"rooms\",\n component: Rooms,\n meta: {\n topLevel: true,\n index: 2,\n },\n },\n {\n path: \"/n/:nsp/rooms/:name\",\n name: \"room\",\n component: Room,\n meta: {\n topLevel: false,\n },\n },\n {\n path: \"/clients/\",\n name: \"clients\",\n component: Clients,\n meta: {\n topLevel: true,\n index: 3,\n },\n },\n {\n path: \"/clients/:id\",\n name: \"client\",\n component: Client,\n meta: {\n topLevel: false,\n },\n },\n {\n path: \"/servers/\",\n name: \"servers\",\n component: Servers,\n meta: {\n topLevel: true,\n index: 4,\n },\n },\n];\n\nconst router = new VueRouter({\n mode: \"hash\",\n base: process.env.BASE_URL,\n routes,\n});\n\nexport default router;\n","import Vue from \"vue\";\nimport VueI18n from \"vue-i18n\";\n\nVue.use(VueI18n);\n\nfunction loadLocaleMessages() {\n const locales = require.context(\n \"./locales\",\n true,\n /[A-Za-z0-9-_,\\s]+\\.json$/i\n );\n const messages = {};\n locales.keys().forEach((key) => {\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i);\n if (matched && matched.length > 1) {\n const locale = matched[1];\n messages[locale] = locales(key);\n }\n });\n return messages;\n}\n\nexport default new VueI18n({\n locale: process.env.VUE_APP_I18N_LOCALE || \"en\",\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || \"en\",\n messages: loadLocaleMessages(),\n});\n","import { isLocalStorageAvailable } from \"../../util\";\n\nexport default {\n namespaced: true,\n state: {\n darkTheme: false,\n readonly: false,\n lang: \"en\",\n supportedFeatures: [],\n showNavigationDrawer: false,\n },\n mutations: {\n init(state) {\n if (isLocalStorageAvailable) {\n state.darkTheme = localStorage.getItem(\"dark_theme\") === \"true\";\n state.readonly = localStorage.getItem(\"readonly\") === \"true\";\n state.lang = localStorage.getItem(\"lang\") || \"en\";\n }\n },\n selectTheme(state, darkTheme) {\n state.darkTheme = darkTheme;\n if (isLocalStorageAvailable) {\n localStorage.setItem(\"dark_theme\", darkTheme);\n }\n },\n selectLang(state, lang) {\n state.lang = lang;\n if (isLocalStorageAvailable) {\n localStorage.setItem(\"lang\", lang);\n }\n },\n toggleReadonly(state) {\n state.readonly = !state.readonly;\n if (isLocalStorageAvailable) {\n localStorage.setItem(\"readonly\", state.readonly);\n }\n },\n updateConfig(state, config) {\n state.supportedFeatures = config.supportedFeatures;\n },\n toggleNavigationDrawer(state) {\n state.showNavigationDrawer = !state.showNavigationDrawer;\n },\n },\n};\n","import { isLocalStorageAvailable } from \"../../util\";\n\nexport default {\n namespaced: true,\n state: {\n serverUrl: \"\",\n wsOnly: false,\n path: \"/socket.io\",\n parser: \"default\",\n sessionId: \"\",\n connected: false,\n },\n mutations: {\n init(state) {\n if (isLocalStorageAvailable) {\n state.serverUrl = localStorage.getItem(\"server_url\");\n state.wsOnly = localStorage.getItem(\"ws_only\") === \"true\";\n state.sessionId = localStorage.getItem(\"session_id\");\n state.path = localStorage.getItem(\"path\") || \"/socket.io\";\n state.parser = localStorage.getItem(\"parser\") || \"default\";\n }\n },\n saveConfig(state, { serverUrl, wsOnly, path, parser }) {\n state.serverUrl = serverUrl;\n state.wsOnly = wsOnly;\n state.path = path;\n state.parser = parser;\n if (isLocalStorageAvailable) {\n localStorage.setItem(\"server_url\", serverUrl);\n localStorage.setItem(\"ws_only\", wsOnly);\n localStorage.setItem(\"path\", path);\n localStorage.setItem(\"parser\", parser);\n }\n },\n saveSessionId(state, sessionId) {\n state.sessionId = sessionId;\n if (isLocalStorageAvailable) {\n localStorage.setItem(\"session_id\", sessionId);\n }\n },\n connect(state) {\n state.connected = true;\n },\n disconnect(state) {\n state.connected = false;\n },\n },\n};\n","import { find, merge } from \"lodash-es\";\nimport { pushUniq, remove } from \"../../util\";\n\nconst getOrCreateNamespace = (namespaces, name) => {\n let namespace = find(namespaces, { name });\n if (namespace) {\n return namespace;\n }\n namespace = {\n name,\n sockets: [],\n rooms: [],\n };\n namespaces.push(namespace);\n return namespace;\n};\n\nconst getOrCreateRoom = (namespace, name) => {\n let room = find(namespace.rooms, { name });\n if (room) {\n return room;\n }\n room = {\n name,\n active: true,\n sockets: [],\n };\n namespace.rooms.push(room);\n return room;\n};\n\nconst getOrCreateClient = (clients, id) => {\n let client = find(clients, { id });\n if (client) {\n return client;\n }\n client = {\n id,\n connected: true,\n sockets: [],\n };\n clients.push(client);\n return client;\n};\n\nconst addSocket = (state, socket) => {\n const namespace = getOrCreateNamespace(state.namespaces, socket.nsp);\n socket.connected = true;\n if (!find(namespace.sockets, { id: socket.id })) {\n namespace.sockets.push(socket);\n }\n\n socket.rooms.forEach((name) => {\n const room = getOrCreateRoom(namespace, name);\n room.isPrivate = name === socket.id;\n if (!find(room.sockets, { id: socket.id })) {\n room.sockets.push(socket);\n }\n });\n\n const client = getOrCreateClient(state.clients, socket.clientId);\n if (!find(client.sockets, { id: socket.id })) {\n client.sockets.push(socket);\n }\n};\n\nexport default {\n namespaced: true,\n state: {\n namespaces: [],\n clients: [],\n selectedNamespace: null,\n },\n getters: {\n findSocketById: (state) => (nsp, id) => {\n const namespace = find(state.namespaces, { name: nsp });\n if (namespace) {\n return find(namespace.sockets, { id });\n }\n },\n findClientById: (state) => (id) => {\n return find(state.clients, { id });\n },\n findRoomByName: (state) => (nsp, name) => {\n const namespace = find(state.namespaces, { name: nsp });\n if (namespace) {\n return find(namespace.rooms, { name });\n }\n },\n findRoomsByNamespace: (state) => (nsp) => {\n const namespace = find(state.namespaces, { name: nsp });\n return namespace ? namespace.rooms : [];\n },\n sockets: (state) => {\n return state.selectedNamespace ? state.selectedNamespace.sockets : [];\n },\n rooms: (state) => {\n return state.selectedNamespace ? state.selectedNamespace.rooms : [];\n },\n },\n mutations: {\n selectNamespace(state, namespace) {\n state.selectedNamespace = namespace;\n },\n onAllSockets(state, sockets) {\n state.namespaces.forEach((namespace) => {\n namespace.sockets.splice(0);\n namespace.rooms.splice(0);\n });\n state.clients.splice(0);\n sockets.forEach((socket) => addSocket(state, socket));\n if (!state.selectedNamespace) {\n state.selectedNamespace =\n find(state.namespaces, { name: \"/\" }) || state.namespaces[0];\n }\n },\n onSocketConnected(state, socket) {\n addSocket(state, socket);\n },\n onSocketUpdated(state, socket) {\n const namespace = getOrCreateNamespace(state.namespaces, socket.nsp);\n const existingSocket = find(namespace.sockets, { id: socket.id });\n if (existingSocket) {\n merge(existingSocket, socket);\n }\n },\n onSocketDisconnected(state, { nsp, id }) {\n const namespace = getOrCreateNamespace(state.namespaces, nsp);\n const [socket] = remove(namespace.sockets, { id });\n if (socket) {\n socket.connected = false;\n\n const client = getOrCreateClient(state.clients, socket.clientId);\n remove(client.sockets, { id });\n if (client.sockets.length === 0) {\n client.connected = false;\n remove(state.clients, { id: socket.clientId });\n }\n }\n },\n onRoomJoined(state, { nsp, room, id }) {\n const namespace = getOrCreateNamespace(state.namespaces, nsp);\n const socket = find(namespace.sockets, { id });\n if (socket) {\n pushUniq(socket.rooms, room);\n const _room = getOrCreateRoom(namespace, room);\n _room.sockets.push(socket);\n }\n },\n onRoomLeft(state, { nsp, room, id }) {\n const namespace = getOrCreateNamespace(state.namespaces, nsp);\n const socket = find(namespace.sockets, { id });\n if (socket) {\n remove(socket.rooms, room);\n }\n const _room = getOrCreateRoom(namespace, room);\n remove(_room.sockets, { id });\n if (_room.sockets.length === 0) {\n _room.active = false;\n remove(namespace.rooms, { name: room });\n }\n },\n },\n};\n","import { find, merge } from \"lodash-es\";\nimport { remove } from \"../../util\";\n\nconst HEALTHY_THRESHOLD = 10000;\n\nexport default {\n namespaced: true,\n state: {\n servers: [],\n },\n mutations: {\n onServerStats(state, stats) {\n stats.lastPing = Date.now();\n const server = find(state.servers, { serverId: stats.serverId });\n if (server) {\n merge(server, stats);\n } else {\n stats.healthy = true;\n state.servers.push(stats);\n }\n },\n removeServer(state, serverId) {\n remove(state.servers, { serverId });\n },\n updateState(state) {\n state.servers.forEach((server) => {\n server.healthy = Date.now() - server.lastPing < HEALTHY_THRESHOLD;\n });\n },\n },\n};\n","import Vue from \"vue\";\nimport Vuex from \"vuex\";\nimport config from \"./modules/config\";\nimport connection from \"./modules/connection\";\nimport main from \"./modules/main\";\nimport servers from \"./modules/servers\";\n\nVue.use(Vuex);\n\nexport default new Vuex.Store({\n modules: {\n config,\n connection,\n main,\n servers,\n },\n});\n","import Vue from \"vue\";\nimport Vuetify from \"vuetify/lib/framework\";\n\nVue.use(Vuetify);\n\nexport default new Vuetify({});\n","import Vue from \"vue\";\nimport App from \"./App.vue\";\nimport router from \"./router\";\nimport i18n from \"./i18n\";\nimport store from \"./store\";\nimport vuetify from \"./plugins/vuetify\";\n\nVue.config.productionTip = false;\n\nstore.commit(\"config/init\");\nstore.commit(\"connection/init\");\n\ni18n.locale = store.state.config.lang;\n\nsetInterval(() => {\n store.commit(\"servers/updateState\");\n}, 1000);\n\nnew Vue({\n router,\n i18n,\n store,\n vuetify,\n render: (h) => h(App),\n}).$mount(\"#app\");\n","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/lib/loaders/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/lib/index.js??vue-loader-options!./SocketDetails.vue?vue&type=style&index=0&id=41eb1dae&scoped=true&lang=css&\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./SocketRooms.vue?vue&type=style&index=0&id=d014ee1e&scoped=true&lang=css&\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./ClientDetails.vue?vue&type=style&index=0&id=8d2424e4&scoped=true&lang=css&\"","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/lib/loaders/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/lib/index.js??vue-loader-options!./KeyValueTable.vue?vue&type=style&index=0&id=18284f59&scoped=true&lang=css&\"","if(typeof moment === 'undefined') {var e = new Error(\"Cannot find module 'moment'\"); e.code = 'MODULE_NOT_FOUND'; throw e;}\nmodule.exports = moment;","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/lib/loaders/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/lib/index.js??vue-loader-options!./ServersOverview.vue?vue&type=style&index=0&id=d6482f56&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/logo-light.73342c25.svg\";","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/lib/loaders/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/lib/index.js??vue-loader-options!./NamespaceSelector.vue?vue&type=style&index=0&id=2c330798&scoped=true&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/ui/dist/js/chunk-vendors.587058a6.js b/ui/dist/js/chunk-vendors.587058a6.js new file mode 100644 index 0000000..4ab9b24 --- /dev/null +++ b/ui/dist/js/chunk-vendors.587058a6.js @@ -0,0 +1,42 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"00ee":function(t,e,n){var i=n("b622"),r=i("toStringTag"),s={};s[r]="z",t.exports="[object z]"===String(s)},"010c":function(t,e,n){"use strict";var i=n("e56b"),r=n("1147");function s(t){return Object(r["a"])(t)&&Object(i["a"])(t)}e["a"]=s},"0305":function(t,e,n){"use strict";var i=n("63bc"),r=function(){try{var t=Object(i["a"])(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();e["a"]=r},"0366":function(t,e,n){var i=n("1c0b");t.exports=function(t,e,n){if(i(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,i){return t.call(e,n,i)};case 3:return function(n,i,r){return t.call(e,n,i,r)}}return function(){return t.apply(e,arguments)}}},"0481":function(t,e,n){"use strict";var i=n("23e7"),r=n("a2bf"),s=n("7b0b"),a=n("50c4"),o=n("a691"),c=n("65f0");i({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=s(this),n=a(e.length),i=c(e,0);return i.length=r(i,e,e,n,0,void 0===t?1:o(t)),i}})},"0538":function(t,e,n){"use strict";var i=n("1c0b"),r=n("861d"),s=[].slice,a={},o=function(t,e,n){if(!(e in a)){for(var i=[],r=0;r0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length,i=new Array(n>1?n-1:0),r=1;r1&&void 0!==arguments[1]?arguments[1]:"top center 0",n=arguments.length>2?arguments[2]:void 0;return{name:t,functional:!0,props:{group:{type:Boolean,default:!1},hideOnLeave:{type:Boolean,default:!1},leaveAbsolute:{type:Boolean,default:!1},mode:{type:String,default:n},origin:{type:String,default:e}},render:function(e,n){var s="transition".concat(n.props.group?"-group":""),a={props:{name:t,mode:n.props.mode},on:{beforeEnter:function(t){t.style.transformOrigin=n.props.origin,t.style.webkitTransformOrigin=n.props.origin}}};return n.props.leaveAbsolute&&(a.on.leave=r(a.on.leave,(function(t){return t.style.position="absolute"}))),n.props.hideOnLeave&&(a.on.leave=r(a.on.leave,(function(t){return t.style.display="none"}))),e(s,Object(i["a"])(n.data,a),n.children)}}}function a(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"in-out";return{name:t,functional:!0,props:{mode:{type:String,default:n}},render:function(n,r){return n("transition",Object(i["a"])(r.data,{props:{name:t},on:e}),r.children)}}}var o=n("ade3"),c=n("80d2"),l=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e?"width":"height",i="offset".concat(Object(c["D"])(n));return{beforeEnter:function(t){t._parent=t.parentNode,t._initialStyle=Object(o["a"])({transition:t.style.transition,overflow:t.style.overflow},n,t.style[n])},enter:function(e){var r=e._initialStyle;e.style.setProperty("transition","none","important"),e.style.overflow="hidden";var s="".concat(e[i],"px");e.style[n]="0",e.offsetHeight,e.style.transition=r.transition,t&&e._parent&&e._parent.classList.add(t),requestAnimationFrame((function(){e.style[n]=s}))},afterEnter:s,enterCancelled:s,leave:function(t){t._initialStyle=Object(o["a"])({transition:"",overflow:t.style.overflow},n,t.style[n]),t.style.overflow="hidden",t.style[n]="".concat(t[i],"px"),t.offsetHeight,requestAnimationFrame((function(){return t.style[n]="0"}))},afterLeave:r,leaveCancelled:r};function r(e){t&&e._parent&&e._parent.classList.remove(t),s(e)}function s(t){var e=t._initialStyle[n];t.style.overflow=t._initialStyle.overflow,null!=e&&(t.style[n]=e),delete t._initialStyle}},u=(s("carousel-transition"),s("carousel-reverse-transition"),s("tab-transition"),s("tab-reverse-transition"),s("menu-transition"),s("fab-transition","center center","out-in")),h=(s("dialog-transition"),s("dialog-bottom-transition"),s("dialog-top-transition"),s("fade-transition")),d=(s("scale-transition"),s("scroll-x-transition"),s("scroll-x-reverse-transition"),s("scroll-y-transition"),s("scroll-y-reverse-transition"),s("slide-x-transition")),f=s("slide-x-reverse-transition"),p=s("slide-y-transition"),g=s("slide-y-reverse-transition"),v=a("expand-transition",l()),m=a("expand-x-transition",l("",!0))},"07ac":function(t,e,n){var i=n("23e7"),r=n("6f53").values;i({target:"Object",stat:!0},{values:function(t){return r(t)}})},"09ee":function(t,e,n){"use strict";var i=n("26ee"),r=i["a"].Uint8Array;e["a"]=r},"0a94":function(t,e,n){"use strict";var i=n("7f2c"),r=n("e56b"),s=n("9a4b");function a(t){return function(e,n,a){var o=Object(e);if(!Object(r["a"])(e)){var c=Object(i["a"])(n,3);e=Object(s["a"])(e),n=function(t){return c(o[t],t,o)}}var l=t(e,n,a);return l>-1?o[c?e[l]:l]:void 0}}var o=a,c=n("1c8f"),l=o(c["a"]);e["a"]=l},"0bc6":function(t,e,n){},"0cb2":function(t,e,n){var i=n("7b0b"),r=Math.floor,s="".replace,a=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,o=/\$([$&'`]|\d{1,2})/g;t.exports=function(t,e,n,c,l,u){var h=n+t.length,d=c.length,f=o;return void 0!==l&&(l=i(l),f=a),s.call(u,f,(function(i,s){var a;switch(s.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,n);case"'":return e.slice(h);case"<":a=l[s.slice(1,-1)];break;default:var o=+s;if(0===o)return i;if(o>d){var u=r(o/10);return 0===u?i:u<=d?void 0===c[u-1]?s.charAt(1):c[u-1]+s.charAt(1):i}a=c[o-1]}return void 0===a?"":a}))}},"0cfb":function(t,e,n){var i=n("83ab"),r=n("d039"),s=n("cc12");t.exports=!i&&!r((function(){return 7!=Object.defineProperty(s("div"),"a",{get:function(){return 7}}).a}))},"0e59":function(t,e,n){"use strict";var i=n("63bc"),r=Object(i["a"])(Object,"create"),s=r;function a(){this.__data__=s?s(null):{},this.size=0}var o=a;function c(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var l=c,u="__lodash_hash_undefined__",h=Object.prototype,d=h.hasOwnProperty;function f(t){var e=this.__data__;if(s){var n=e[t];return n===u?void 0:n}return d.call(e,t)?e[t]:void 0}var p=f,g=Object.prototype,v=g.hasOwnProperty;function m(t){var e=this.__data__;return s?void 0!==e[t]:v.call(e,t)}var b=m,y="__lodash_hash_undefined__";function x(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=s&&void 0===e?y:e,this}var _=x;function w(t){var e=-1,n=null==t?0:t.length;this.clear();while(++e0;(s>>>=1)&&(e+=e))1&s&&(n+=e);return n}},1276:function(t,e,n){"use strict";var i=n("d784"),r=n("44e7"),s=n("825a"),a=n("1d80"),o=n("4840"),c=n("8aa5"),l=n("50c4"),u=n("14c3"),h=n("9263"),d=n("d039"),f=[].push,p=Math.min,g=4294967295,v=!d((function(){return!RegExp(g,"y")}));i("split",2,(function(t,e,n){var i;return i="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,n){var i=String(a(this)),s=void 0===n?g:n>>>0;if(0===s)return[];if(void 0===t)return[i];if(!r(t))return e.call(i,t,s);var o,c,l,u=[],d=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),p=0,v=new RegExp(t.source,d+"g");while(o=h.call(v,i)){if(c=v.lastIndex,c>p&&(u.push(i.slice(p,o.index)),o.length>1&&o.index=s))break;v.lastIndex===o.index&&v.lastIndex++}return p===i.length?!l&&v.test("")||u.push(""):u.push(i.slice(p)),u.length>s?u.slice(0,s):u}:"0".split(void 0,0).length?function(t,n){return void 0===t&&0===n?[]:e.call(this,t,n)}:e,[function(e,n){var r=a(this),s=void 0==e?void 0:e[t];return void 0!==s?s.call(e,r,n):i.call(String(r),e,n)},function(t,r){var a=n(i,t,this,r,i!==e);if(a.done)return a.value;var h=s(t),d=String(this),f=o(h,RegExp),m=h.unicode,b=(h.ignoreCase?"i":"")+(h.multiline?"m":"")+(h.unicode?"u":"")+(v?"y":"g"),y=new f(v?h:"^(?:"+h.source+")",b),x=void 0===r?g:r>>>0;if(0===x)return[];if(0===d.length)return null===u(y,d)?[d]:[];var _=0,w=0,O=[];while(w4}(function(t){t["xSmall"]="12px",t["small"]="16px",t["default"]="24px",t["medium"]="28px",t["large"]="36px",t["xLarge"]="40px"})(i||(i={}));var p=Object(h["a"])(s["a"],a["a"],o["a"],c["a"]).extend({name:"v-icon",props:{dense:Boolean,disabled:Boolean,left:Boolean,right:Boolean,size:[Number,String],tag:{type:String,required:!1,default:"i"}},computed:{medium:function(){return!1},hasClickListener:function(){return Boolean(this.listeners$.click||this.listeners$["!click"])}},methods:{getIcon:function(){var t="";return this.$slots.default&&(t=this.$slots.default[0].text.trim()),Object(l["A"])(this,t)},getSize:function(){var t={xSmall:this.xSmall,small:this.small,medium:this.medium,large:this.large,xLarge:this.xLarge},e=Object(l["x"])(t).find((function(e){return t[e]}));return e&&i[e]||Object(l["g"])(this.size)},getDefaultData:function(){return{staticClass:"v-icon notranslate",class:{"v-icon--disabled":this.disabled,"v-icon--left":this.left,"v-icon--link":this.hasClickListener,"v-icon--right":this.right,"v-icon--dense":this.dense},attrs:Object(r["a"])({"aria-hidden":!this.hasClickListener,disabled:this.hasClickListener&&this.disabled,type:this.hasClickListener?"button":void 0},this.attrs$),on:this.listeners$}},getSvgWrapperData:function(){var t=this.getSize(),e=Object(r["a"])(Object(r["a"])({},this.getDefaultData()),{},{style:t?{fontSize:t,height:t,width:t}:void 0});return this.applyColors(e),e},applyColors:function(t){t.class=Object(r["a"])(Object(r["a"])({},t.class),this.themeClasses),this.setTextColor(this.color,t)},renderFontIcon:function(t,e){var n=[],i=this.getDefaultData(),r="material-icons",s=t.indexOf("-"),a=s<=-1;a?n.push(t):(r=t.slice(0,s),d(r)&&(r="")),i.class[r]=!0,i.class[t]=!a;var o=this.getSize();return o&&(i.style={fontSize:o}),this.applyColors(i),e(this.hasClickListener?"button":this.tag,i,n)},renderSvgIcon:function(t,e){var n={class:"v-icon__svg",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":!0}},i=this.getSize();return i&&(n.style={fontSize:i,height:i,width:i}),e(this.hasClickListener?"button":"span",this.getSvgWrapperData(),[e("svg",n,[e("path",{attrs:{d:t}})])])},renderSvgIconComponent:function(t,e){var n={class:{"v-icon__component":!0}},i=this.getSize();i&&(n.style={fontSize:i,height:i,width:i}),this.applyColors(n);var r=t.component;return n.props=t.props,n.nativeOn=n.on,e(this.hasClickListener?"button":"span",this.getSvgWrapperData(),[e(r,n)])}},render:function(t){var e=this.getIcon();return"string"===typeof e?f(e)?this.renderSvgIcon(e,t):this.renderFontIcon(e,t):this.renderSvgIconComponent(e,t)}});e["a"]=u["a"].extend({name:"v-icon",$_wrapperFor:p,functional:!0,render:function(t,e){var n=e.data,i=e.children,r="";return n.domProps&&(r=n.domProps.textContent||n.domProps.innerHTML||r,delete n.domProps.textContent,delete n.domProps.innerHTML),t(p,n,r?[r]:i)}})},"14c3":function(t,e,n){var i=n("c6b6"),r=n("9263");t.exports=function(t,e){var n=t.exec;if("function"===typeof n){var s=n.call(t,e);if("object"!==typeof s)throw TypeError("RegExp exec method returned something other than an Object or null");return s}if("RegExp"!==i(t))throw TypeError("RegExp#exec called on incompatible receiver");return r.call(t,e)}},"159b":function(t,e,n){var i=n("da84"),r=n("fdbc"),s=n("17c2"),a=n("9112");for(var o in r){var c=i[o],l=c&&c.prototype;if(l&&l.forEach!==s)try{a(l,"forEach",s)}catch(u){l.forEach=s}}},"166a":function(t,e,n){},"169a":function(t,e,n){"use strict";var i=n("5530"),r=n("2909"),s=n("ade3"),a=(n("a9e3"),n("498a"),n("caad"),n("2532"),n("7db0"),n("368e"),n("480e")),o=n("4ad4"),c=n("b848"),l=n("75eb"),u=n("e707"),h=n("e4d3"),d=n("21be"),f=n("f2e7"),p=n("a293"),g=n("58df"),v=n("d9bd"),m=n("80d2"),b=Object(g["a"])(o["a"],c["a"],l["a"],u["a"],h["a"],d["a"],f["a"]);e["a"]=b.extend({name:"v-dialog",directives:{ClickOutside:p["a"]},props:{dark:Boolean,disabled:Boolean,fullscreen:Boolean,light:Boolean,maxWidth:{type:[String,Number],default:"none"},noClickAnimation:Boolean,origin:{type:String,default:"center center"},persistent:Boolean,retainFocus:{type:Boolean,default:!0},scrollable:Boolean,transition:{type:[String,Boolean],default:"dialog-transition"},width:{type:[String,Number],default:"auto"}},data:function(){return{activatedBy:null,animate:!1,animateTimeout:-1,isActive:!!this.value,stackMinZIndex:200,previousActiveElement:null}},computed:{classes:function(){var t;return t={},Object(s["a"])(t,"v-dialog ".concat(this.contentClass).trim(),!0),Object(s["a"])(t,"v-dialog--active",this.isActive),Object(s["a"])(t,"v-dialog--persistent",this.persistent),Object(s["a"])(t,"v-dialog--fullscreen",this.fullscreen),Object(s["a"])(t,"v-dialog--scrollable",this.scrollable),Object(s["a"])(t,"v-dialog--animated",this.animate),t},contentClasses:function(){return{"v-dialog__content":!0,"v-dialog__content--active":this.isActive}},hasActivator:function(){return Boolean(!!this.$slots.activator||!!this.$scopedSlots.activator)}},watch:{isActive:function(t){var e;t?(this.show(),this.hideScroll()):(this.removeOverlay(),this.unbind(),null==(e=this.previousActiveElement)||e.focus())},fullscreen:function(t){this.isActive&&(t?(this.hideScroll(),this.removeOverlay(!1)):(this.showScroll(),this.genOverlay()))}},created:function(){this.$attrs.hasOwnProperty("full-width")&&Object(v["e"])("full-width",this)},beforeMount:function(){var t=this;this.$nextTick((function(){t.isBooted=t.isActive,t.isActive&&t.show()}))},beforeDestroy:function(){"undefined"!==typeof window&&this.unbind()},methods:{animateClick:function(){var t=this;this.animate=!1,this.$nextTick((function(){t.animate=!0,window.clearTimeout(t.animateTimeout),t.animateTimeout=window.setTimeout((function(){return t.animate=!1}),150)}))},closeConditional:function(t){var e=t.target;return!(this._isDestroyed||!this.isActive||this.$refs.content.contains(e)||this.overlay&&e&&!this.overlay.$el.contains(e))&&this.activeZIndex>=this.getMaxZIndex()},hideScroll:function(){this.fullscreen?document.documentElement.classList.add("overflow-y-hidden"):u["a"].options.methods.hideScroll.call(this)},show:function(){var t=this;!this.fullscreen&&!this.hideOverlay&&this.genOverlay(),this.$nextTick((function(){t.$nextTick((function(){t.previousActiveElement=document.activeElement,t.$refs.content.focus(),t.bind()}))}))},bind:function(){window.addEventListener("focusin",this.onFocusin)},unbind:function(){window.removeEventListener("focusin",this.onFocusin)},onClickOutside:function(t){this.$emit("click:outside",t),this.persistent?this.noClickAnimation||this.animateClick():this.isActive=!1},onKeydown:function(t){if(t.keyCode===m["w"].esc&&!this.getOpenDependents().length)if(this.persistent)this.noClickAnimation||this.animateClick();else{this.isActive=!1;var e=this.getActivator();this.$nextTick((function(){return e&&e.focus()}))}this.$emit("keydown",t)},onFocusin:function(t){if(t&&this.retainFocus){var e=t.target;if(e&&![document,this.$refs.content].includes(e)&&!this.$refs.content.contains(e)&&this.activeZIndex>=this.getMaxZIndex()&&!this.getOpenDependentElements().some((function(t){return t.contains(e)}))){var n=this.$refs.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),i=Object(r["a"])(n).find((function(t){return!t.hasAttribute("disabled")}));i&&i.focus()}}},genContent:function(){var t=this;return this.showLazyContent((function(){return[t.$createElement(a["a"],{props:{root:!0,light:t.light,dark:t.dark}},[t.$createElement("div",{class:t.contentClasses,attrs:Object(i["a"])({role:"document",tabindex:t.isActive?0:void 0},t.getScopeIdAttrs()),on:{keydown:t.onKeydown},style:{zIndex:t.activeZIndex},ref:"content"},[t.genTransition()])])]}))},genTransition:function(){var t=this.genInnerContent();return this.transition?this.$createElement("transition",{props:{name:this.transition,origin:this.origin,appear:!0}},[t]):t},genInnerContent:function(){var t={class:this.classes,ref:"dialog",directives:[{name:"click-outside",value:{handler:this.onClickOutside,closeConditional:this.closeConditional,include:this.getOpenDependentElements}},{name:"show",value:this.isActive}],style:{transformOrigin:this.origin}};return this.fullscreen||(t.style=Object(i["a"])(Object(i["a"])({},t.style),{},{maxWidth:"none"===this.maxWidth?void 0:Object(m["g"])(this.maxWidth),width:"auto"===this.width?void 0:Object(m["g"])(this.width)})),this.$createElement("div",t,this.getContentSlot())}},render:function(t){return t("div",{staticClass:"v-dialog__container",class:{"v-dialog__container--attached":""===this.attach||!0===this.attach||"attach"===this.attach},attrs:{role:"dialog"}},[this.genActivator(),this.genContent()])}})},"16b7":function(t,e,n){"use strict";n("a9e3");var i=n("2b0e");e["a"]=i["a"].extend().extend({name:"delayable",props:{openDelay:{type:[Number,String],default:0},closeDelay:{type:[Number,String],default:0}},data:function(){return{openTimeout:void 0,closeTimeout:void 0}},methods:{clearDelay:function(){clearTimeout(this.openTimeout),clearTimeout(this.closeTimeout)},runDelay:function(t,e){var n=this;this.clearDelay();var i=parseInt(this["".concat(t,"Delay")],10);this["".concat(t,"Timeout")]=setTimeout(e||function(){n.isActive={open:!0,close:!1}[t]},i)}}})},1775:function(t,e,n){"use strict";var i=n("9ac7"),r=n("1b70");function s(t){return t!==t}var a=s;function o(t,e,n){var i=n-1,r=t.length;while(++i-1}var d=h;function f(t,e,n){var i=-1,r=null==t?0:t.length;while(++i=b&&(a=m["a"],o=!1,e=new i["a"](e));t:while(++s1?arguments[1]:void 0)}},1800:function(t,e,n){"use strict";n("4de4");var i=n("2b0e");e["a"]=i["a"].extend({name:"v-list-item-action",functional:!0,render:function(t,e){var n=e.data,i=e.children,r=void 0===i?[]:i;n.staticClass=n.staticClass?"v-list-item__action ".concat(n.staticClass):"v-list-item__action";var s=r.filter((function(t){return!1===t.isComment&&" "!==t.text}));return s.length>1&&(n.staticClass+=" v-list-item__action--stack"),t("div",n,r)}})},"18a5":function(t,e,n){"use strict";var i=n("23e7"),r=n("857a"),s=n("af03");i({target:"String",proto:!0,forced:s("anchor")},{anchor:function(t){return r(this,"a","name",t)}})},"19aa":function(t,e){t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},"1b2c":function(t,e,n){},"1b70":function(t,e,n){"use strict";function i(t,e,n,i){var r=t.length,s=n+(i?1:-1);while(i?s--:++s=51||!i((function(){var e=[],n=e.constructor={};return n[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},"1f4f":function(t,e,n){"use strict";var i=n("5530"),r=(n("a9e3"),n("8b37"),n("80d2")),s=n("7560"),a=n("58df");e["a"]=Object(a["a"])(s["a"]).extend({name:"v-simple-table",props:{dense:Boolean,fixedHeader:Boolean,height:[Number,String]},computed:{classes:function(){return Object(i["a"])({"v-data-table--dense":this.dense,"v-data-table--fixed-height":!!this.height&&!this.fixedHeader,"v-data-table--fixed-header":this.fixedHeader,"v-data-table--has-top":!!this.$slots.top,"v-data-table--has-bottom":!!this.$slots.bottom},this.themeClasses)}},methods:{genWrapper:function(){return this.$slots.wrapper||this.$createElement("div",{staticClass:"v-data-table__wrapper",style:{height:Object(r["g"])(this.height)}},[this.$createElement("table",this.$slots.default)])}},render:function(t){return t("div",{staticClass:"v-data-table",class:this.classes},[this.$slots.top,this.genWrapper(),this.$slots.bottom])}})},"20f6":function(t,e,n){},2186:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var i=n("fe1f"),r=n("a65d"),s=n("8c86"),a=6e4;function o(t,e){Object(s["a"])(2,arguments);var n=Object(i["a"])(e);return Object(r["a"])(t,n*a)}},"21be":function(t,e,n){"use strict";var i=n("2909"),r=(n("99af"),n("caad"),n("2532"),n("2b0e")),s=n("80d2");e["a"]=r["a"].extend().extend({name:"stackable",data:function(){return{stackElement:null,stackExclude:null,stackMinZIndex:0,isActive:!1}},computed:{activeZIndex:function(){if("undefined"===typeof window)return 0;var t=this.stackElement||this.$refs.content,e=this.isActive?this.getMaxZIndex(this.stackExclude||[t])+2:Object(s["t"])(t);return null==e?e:parseInt(e)}},methods:{getMaxZIndex:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.$el,n=[this.stackMinZIndex,Object(s["t"])(e)],r=[].concat(Object(i["a"])(document.getElementsByClassName("v-menu__content--active")),Object(i["a"])(document.getElementsByClassName("v-dialog__content--active"))),a=0;ad;d++)if(p=O(t[d]),p&&p instanceof l)return p;return new l(!1)}u=h.call(t)}g=u.next;while(!(v=g.call(u)).done){try{p=O(v.value)}catch(k){throw c(u),k}if("object"==typeof p&&p&&p instanceof l)return p}return new l(!1)}},2332:function(t,e,n){"use strict";function i(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}e["a"]=i},"23cb":function(t,e,n){var i=n("a691"),r=Math.max,s=Math.min;t.exports=function(t,e){var n=i(t);return n<0?r(n+e,0):s(n,e)}},"23e7":function(t,e,n){var i=n("da84"),r=n("06cf").f,s=n("9112"),a=n("6eeb"),o=n("ce4e"),c=n("e893"),l=n("94ca");t.exports=function(t,e){var n,u,h,d,f,p,g=t.target,v=t.global,m=t.stat;if(u=v?i:m?i[g]||o(g,{}):(i[g]||{}).prototype,u)for(h in e){if(f=e[h],t.noTargetGet?(p=r(u,h),d=p&&p.value):d=u[h],n=l(v?h:g+(m?".":"#")+h,t.forced),!n&&void 0!==d){if(typeof f===typeof d)continue;c(f,d)}(t.sham||d&&d.sham)&&s(f,"sham",!0),a(u,h,f,t)}}},"241c":function(t,e,n){var i=n("ca84"),r=n("7839"),s=r.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return i(t,s)}},"24b2":function(t,e,n){"use strict";n("a9e3");var i=n("80d2"),r=n("2b0e");e["a"]=r["a"].extend({name:"measurable",props:{height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},computed:{measurableStyles:function(){var t={},e=Object(i["g"])(this.height),n=Object(i["g"])(this.minHeight),r=Object(i["g"])(this.minWidth),s=Object(i["g"])(this.maxHeight),a=Object(i["g"])(this.maxWidth),o=Object(i["g"])(this.width);return e&&(t.height=e),n&&(t.minHeight=n),r&&(t.minWidth=r),s&&(t.maxHeight=s),a&&(t.maxWidth=a),o&&(t.width=o),t}}})},2532:function(t,e,n){"use strict";var i=n("23e7"),r=n("5a34"),s=n("1d80"),a=n("ab13");i({target:"String",proto:!0,forced:!a("includes")},{includes:function(t){return!!~String(s(this)).indexOf(r(t),arguments.length>1?arguments[1]:void 0)}})},"25a8":function(t,e,n){},"25f0":function(t,e,n){"use strict";var i=n("6eeb"),r=n("825a"),s=n("d039"),a=n("ad6d"),o="toString",c=RegExp.prototype,l=c[o],u=s((function(){return"/a/b"!=l.call({source:"a",flags:"b"})})),h=l.name!=o;(u||h)&&i(RegExp.prototype,o,(function(){var t=r(this),e=String(t.source),n=t.flags,i=String(void 0===n&&t instanceof RegExp&&!("flags"in c)?a.call(t):n);return"/"+e+"/"+i}),{unsafe:!0})},2626:function(t,e,n){"use strict";var i=n("d066"),r=n("9bf2"),s=n("b622"),a=n("83ab"),o=s("species");t.exports=function(t){var e=i(t),n=r.f;a&&e&&!e[o]&&n(e,o,{configurable:!0,get:function(){return this}})}},"26ce":function(t,e,n){"use strict";var i=9007199254740991;function r(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=i}e["a"]=r},"26ee":function(t,e,n){"use strict";var i=n("5ea3"),r="object"==typeof self&&self&&self.Object===Object&&self,s=i["a"]||r||Function("return this")();e["a"]=s},2877:function(t,e,n){"use strict";function i(t,e,n,i,r,s,a,o){var c,l="function"===typeof t?t.options:t;if(e&&(l.render=e,l.staticRenderFns=n,l._compiled=!0),i&&(l.functional=!0),s&&(l._scopeId="data-v-"+s),a?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},l._ssrRegister=c):r&&(c=o?function(){r.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:r),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(t,e){return c.call(e),u(t,e)}}else{var h=l.beforeCreate;l.beforeCreate=h?[].concat(h,c):[c]}return{exports:t,options:l}}n.d(e,"a",(function(){return i}))},2909:function(t,e,n){"use strict";n.d(e,"a",(function(){return c}));var i=n("6b75");function r(t){if(Array.isArray(t))return Object(i["a"])(t)}n("a4d3"),n("e01a"),n("d3b7"),n("d28b"),n("3ca3"),n("ddb0"),n("a630");function s(t){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}var a=n("06c5");function o(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function c(t){return r(t)||s(t)||Object(a["a"])(t)||o()}},"297c":function(t,e,n){"use strict";n("a9e3");var i=n("2b0e"),r=n("5530"),s=n("ade3"),a=(n("c7cd"),n("6ece"),n("0789")),o=n("a9ad"),c=n("fe6c"),l=n("a452"),u=n("7560"),h=n("80d2"),d=n("58df"),f=Object(d["a"])(o["a"],Object(c["b"])(["absolute","fixed","top","bottom"]),l["a"],u["a"]),p=f.extend({name:"v-progress-linear",props:{active:{type:Boolean,default:!0},backgroundColor:{type:String,default:null},backgroundOpacity:{type:[Number,String],default:null},bufferValue:{type:[Number,String],default:100},color:{type:String,default:"primary"},height:{type:[Number,String],default:4},indeterminate:Boolean,query:Boolean,reverse:Boolean,rounded:Boolean,stream:Boolean,striped:Boolean,value:{type:[Number,String],default:0}},data:function(){return{internalLazyValue:this.value||0}},computed:{__cachedBackground:function(){return this.$createElement("div",this.setBackgroundColor(this.backgroundColor||this.color,{staticClass:"v-progress-linear__background",style:this.backgroundStyle}))},__cachedBar:function(){return this.$createElement(this.computedTransition,[this.__cachedBarType])},__cachedBarType:function(){return this.indeterminate?this.__cachedIndeterminate:this.__cachedDeterminate},__cachedBuffer:function(){return this.$createElement("div",{staticClass:"v-progress-linear__buffer",style:this.styles})},__cachedDeterminate:function(){return this.$createElement("div",this.setBackgroundColor(this.color,{staticClass:"v-progress-linear__determinate",style:{width:Object(h["g"])(this.normalizedValue,"%")}}))},__cachedIndeterminate:function(){return this.$createElement("div",{staticClass:"v-progress-linear__indeterminate",class:{"v-progress-linear__indeterminate--active":this.active}},[this.genProgressBar("long"),this.genProgressBar("short")])},__cachedStream:function(){return this.stream?this.$createElement("div",this.setTextColor(this.color,{staticClass:"v-progress-linear__stream",style:{width:Object(h["g"])(100-this.normalizedBuffer,"%")}})):null},backgroundStyle:function(){var t,e=null==this.backgroundOpacity?this.backgroundColor?1:.3:parseFloat(this.backgroundOpacity);return t={opacity:e},Object(s["a"])(t,this.isReversed?"right":"left",Object(h["g"])(this.normalizedValue,"%")),Object(s["a"])(t,"width",Object(h["g"])(this.normalizedBuffer-this.normalizedValue,"%")),t},classes:function(){return Object(r["a"])({"v-progress-linear--absolute":this.absolute,"v-progress-linear--fixed":this.fixed,"v-progress-linear--query":this.query,"v-progress-linear--reactive":this.reactive,"v-progress-linear--reverse":this.isReversed,"v-progress-linear--rounded":this.rounded,"v-progress-linear--striped":this.striped},this.themeClasses)},computedTransition:function(){return this.indeterminate?a["d"]:a["f"]},isReversed:function(){return this.$vuetify.rtl!==this.reverse},normalizedBuffer:function(){return this.normalize(this.bufferValue)},normalizedValue:function(){return this.normalize(this.internalLazyValue)},reactive:function(){return Boolean(this.$listeners.change)},styles:function(){var t={};return this.active||(t.height=0),this.indeterminate||100===parseFloat(this.normalizedBuffer)||(t.width=Object(h["g"])(this.normalizedBuffer,"%")),t}},methods:{genContent:function(){var t=Object(h["r"])(this,"default",{value:this.internalLazyValue});return t?this.$createElement("div",{staticClass:"v-progress-linear__content"},t):null},genListeners:function(){var t=this.$listeners;return this.reactive&&(t.click=this.onClick),t},genProgressBar:function(t){return this.$createElement("div",this.setBackgroundColor(this.color,{staticClass:"v-progress-linear__indeterminate",class:Object(s["a"])({},t,!0)}))},onClick:function(t){if(this.reactive){var e=this.$el.getBoundingClientRect(),n=e.width;this.internalValue=t.offsetX/n*100}},normalize:function(t){return t<0?0:t>100?100:parseFloat(t)}},render:function(t){var e={staticClass:"v-progress-linear",attrs:{role:"progressbar","aria-valuemin":0,"aria-valuemax":this.normalizedBuffer,"aria-valuenow":this.indeterminate?void 0:this.normalizedValue},class:this.classes,style:{bottom:this.bottom?0:void 0,height:this.active?Object(h["g"])(this.height):0,top:this.top?0:void 0},on:this.genListeners()};return t("div",e,[this.__cachedStream,this.__cachedBackground,this.__cachedBuffer,this.__cachedBar,this.genContent()])}}),g=p;e["a"]=i["a"].extend().extend({name:"loadable",props:{loading:{type:[Boolean,String],default:!1},loaderHeight:{type:[Number,String],default:2}},methods:{genProgress:function(){return!1===this.loading?null:this.$slots.progress||this.$createElement(g,{props:{absolute:!0,color:!0===this.loading||""===this.loading?this.color||"primary":this.loading,height:this.loaderHeight,indeterminate:!0}})}}})},"29a6":function(t,e,n){e.encode=n("bb02"),e.decode=n("35b3")},"2a62":function(t,e,n){var i=n("825a");t.exports=function(t){var e=t["return"];if(void 0!==e)return i(e.call(t)).value}},"2a7f":function(t,e,n){"use strict";n.d(e,"a",(function(){return s}));var i=n("71d9"),r=n("80d2"),s=Object(r["h"])("v-toolbar__title"),a=Object(r["h"])("v-toolbar__items");i["a"]},"2b0e":function(t,e,n){"use strict"; +/*! + * Vue.js v2.6.12 + * (c) 2014-2020 Evan You + * Released under the MIT License. + */var i=Object.freeze({});function r(t){return void 0===t||null===t}function s(t){return void 0!==t&&null!==t}function a(t){return!0===t}function o(t){return!1===t}function c(t){return"string"===typeof t||"number"===typeof t||"symbol"===typeof t||"boolean"===typeof t}function l(t){return null!==t&&"object"===typeof t}var u=Object.prototype.toString;function h(t){return"[object Object]"===u.call(t)}function d(t){return"[object RegExp]"===u.call(t)}function f(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function p(t){return s(t)&&"function"===typeof t.then&&"function"===typeof t.catch}function g(t){return null==t?"":Array.isArray(t)||h(t)&&t.toString===u?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function m(t,e){for(var n=Object.create(null),i=t.split(","),r=0;r-1)return t.splice(n,1)}}var x=Object.prototype.hasOwnProperty;function _(t,e){return x.call(t,e)}function w(t){var e=Object.create(null);return function(n){var i=e[n];return i||(e[n]=t(n))}}var O=/-(\w)/g,k=w((function(t){return t.replace(O,(function(t,e){return e?e.toUpperCase():""}))})),S=w((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),C=/\B([A-Z])/g,j=w((function(t){return t.replace(C,"-$1").toLowerCase()}));function M(t,e){function n(n){var i=arguments.length;return i?i>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function T(t,e){return t.bind(e)}var A=Function.prototype.bind?T:M;function E(t,e){e=e||0;var n=t.length-e,i=new Array(n);while(n--)i[n]=t[n+e];return i}function $(t,e){for(var n in e)t[n]=e[n];return t}function I(t){for(var e={},n=0;n0,it=tt&&tt.indexOf("edge/")>0,rt=(tt&&tt.indexOf("android"),tt&&/iphone|ipad|ipod|ios/.test(tt)||"ios"===J),st=(tt&&/chrome\/\d+/.test(tt),tt&&/phantomjs/.test(tt),tt&&tt.match(/firefox\/(\d+)/)),at={}.watch,ot=!1;if(Z)try{var ct={};Object.defineProperty(ct,"passive",{get:function(){ot=!0}}),window.addEventListener("test-passive",null,ct)}catch(Oa){}var lt=function(){return void 0===G&&(G=!Z&&!Q&&"undefined"!==typeof global&&(global["process"]&&"server"===global["process"].env.VUE_ENV)),G},ut=Z&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ht(t){return"function"===typeof t&&/native code/.test(t.toString())}var dt,ft="undefined"!==typeof Symbol&&ht(Symbol)&&"undefined"!==typeof Reflect&&ht(Reflect.ownKeys);dt="undefined"!==typeof Set&&ht(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var pt=D,gt=0,vt=function(){this.id=gt++,this.subs=[]};vt.prototype.addSub=function(t){this.subs.push(t)},vt.prototype.removeSub=function(t){y(this.subs,t)},vt.prototype.depend=function(){vt.target&&vt.target.addDep(this)},vt.prototype.notify=function(){var t=this.subs.slice();for(var e=0,n=t.length;e-1)if(s&&!_(r,"default"))a=!1;else if(""===a||a===j(t)){var c=ee(String,r.type);(c<0||o0&&(i=Me(i,(e||"")+"_"+n),je(i[0])&&je(l)&&(u[o]=Ot(l.text+i[0].text),i.shift()),u.push.apply(u,i)):c(i)?je(l)?u[o]=Ot(l.text+i):""!==i&&u.push(Ot(i)):je(i)&&je(l)?u[o]=Ot(l.text+i.text):(a(t._isVList)&&s(i.tag)&&r(i.key)&&s(e)&&(i.key="__vlist"+e+"_"+n+"__"),u.push(i)));return u}function Te(t){var e=t.$options.provide;e&&(t._provided="function"===typeof e?e.call(t):e)}function Ae(t){var e=Ee(t.$options.inject,t);e&&(At(!1),Object.keys(e).forEach((function(n){Lt(t,n,e[n])})),At(!0))}function Ee(t,e){if(t){for(var n=Object.create(null),i=ft?Reflect.ownKeys(t):Object.keys(t),r=0;r0,a=t?!!t.$stable:!s,o=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&n&&n!==i&&o===n.$key&&!s&&!n.$hasNormal)return n;for(var c in r={},t)t[c]&&"$"!==c[0]&&(r[c]=Le(e,c,t[c]))}else r={};for(var l in e)l in r||(r[l]=Pe(e,l));return t&&Object.isExtensible(t)&&(t._normalized=r),q(r,"$stable",a),q(r,"$key",o),q(r,"$hasNormal",s),r}function Le(t,e,n){var i=function(){var t=arguments.length?n.apply(null,arguments):n({});return t=t&&"object"===typeof t&&!Array.isArray(t)?[t]:Ce(t),t&&(0===t.length||1===t.length&&t[0].isComment)?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:i,enumerable:!0,configurable:!0}),i}function Pe(t,e){return function(){return t[e]}}function Be(t,e){var n,i,r,a,o;if(Array.isArray(t)||"string"===typeof t)for(n=new Array(t.length),i=0,r=t.length;i1?E(n):n;for(var i=E(arguments,1),r='event handler for "'+t+'"',s=0,a=n.length;sdocument.createEvent("Event").timeStamp&&(Gn=function(){return Kn.now()})}function Zn(){var t,e;for(Xn=Gn(),Un=!0,Vn.sort((function(t,e){return t.id-e.id})),qn=0;qnqn&&Vn[n].id>t.id)n--;Vn.splice(n+1,0,t)}else Vn.push(t);Wn||(Wn=!0,ge(Zn))}}var ni=0,ii=function(t,e,n,i,r){this.vm=t,r&&(t._watcher=this),t._watchers.push(this),i?(this.deep=!!i.deep,this.user=!!i.user,this.lazy=!!i.lazy,this.sync=!!i.sync,this.before=i.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++ni,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new dt,this.newDepIds=new dt,this.expression="","function"===typeof e?this.getter=e:(this.getter=X(e),this.getter||(this.getter=D)),this.value=this.lazy?void 0:this.get()};ii.prototype.get=function(){var t;bt(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(Oa){if(!this.user)throw Oa;ne(Oa,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&me(t),yt(),this.cleanupDeps()}return t},ii.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},ii.prototype.cleanupDeps=function(){var t=this.deps.length;while(t--){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},ii.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():ei(this)},ii.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||l(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(Oa){ne(Oa,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},ii.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},ii.prototype.depend=function(){var t=this.deps.length;while(t--)this.deps[t].depend()},ii.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||y(this.vm._watchers,this);var t=this.deps.length;while(t--)this.deps[t].removeSub(this);this.active=!1}};var ri={enumerable:!0,configurable:!0,get:D,set:D};function si(t,e,n){ri.get=function(){return this[e][n]},ri.set=function(t){this[e][n]=t},Object.defineProperty(t,n,ri)}function ai(t){t._watchers=[];var e=t.$options;e.props&&oi(t,e.props),e.methods&&gi(t,e.methods),e.data?ci(t):Dt(t._data={},!0),e.computed&&hi(t,e.computed),e.watch&&e.watch!==at&&vi(t,e.watch)}function oi(t,e){var n=t.$options.propsData||{},i=t._props={},r=t.$options._propKeys=[],s=!t.$parent;s||At(!1);var a=function(s){r.push(s);var a=Zt(s,e,n,t);Lt(i,s,a),s in t||si(t,"_props",s)};for(var o in e)a(o);At(!0)}function ci(t){var e=t.$options.data;e=t._data="function"===typeof e?li(e,t):e||{},h(e)||(e={});var n=Object.keys(e),i=t.$options.props,r=(t.$options.methods,n.length);while(r--){var s=n[r];0,i&&_(i,s)||U(s)||si(t,"_data",s)}Dt(e,!0)}function li(t,e){bt();try{return t.call(e,e)}catch(Oa){return ne(Oa,e,"data()"),{}}finally{yt()}}var ui={lazy:!0};function hi(t,e){var n=t._computedWatchers=Object.create(null),i=lt();for(var r in e){var s=e[r],a="function"===typeof s?s:s.get;0,i||(n[r]=new ii(t,a||D,D,ui)),r in t||di(t,r,s)}}function di(t,e,n){var i=!lt();"function"===typeof n?(ri.get=i?fi(e):pi(n),ri.set=D):(ri.get=n.get?i&&!1!==n.cache?fi(e):pi(n.get):D,ri.set=n.set||D),Object.defineProperty(t,e,ri)}function fi(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),vt.target&&e.depend(),e.value}}function pi(t){return function(){return t.call(this,this)}}function gi(t,e){t.$options.props;for(var n in e)t[n]="function"!==typeof e[n]?D:A(e[n],t)}function vi(t,e){for(var n in e){var i=e[n];if(Array.isArray(i))for(var r=0;r-1)return this;var n=E(arguments,1);return n.unshift(this),"function"===typeof t.install?t.install.apply(t,n):"function"===typeof t&&t.apply(null,n),e.push(t),this}}function Ci(t){t.mixin=function(t){return this.options=Gt(this.options,t),this}}function ji(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,i=n.cid,r=t._Ctor||(t._Ctor={});if(r[i])return r[i];var s=t.name||n.options.name;var a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=Gt(n.options,t),a["super"]=n,a.options.props&&Mi(a),a.options.computed&&Ti(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,V.forEach((function(t){a[t]=n[t]})),s&&(a.options.components[s]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=$({},a.options),r[i]=a,a}}function Mi(t){var e=t.options.props;for(var n in e)si(t.prototype,"_props",n)}function Ti(t){var e=t.options.computed;for(var n in e)di(t.prototype,n,e[n])}function Ai(t){V.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&h(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"===typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}function Ei(t){return t&&(t.Ctor.options.name||t.tag)}function $i(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"===typeof t?t.split(",").indexOf(e)>-1:!!d(t)&&t.test(e)}function Ii(t,e){var n=t.cache,i=t.keys,r=t._vnode;for(var s in n){var a=n[s];if(a){var o=Ei(a.componentOptions);o&&!e(o)&&Di(n,s,i,r)}}}function Di(t,e,n,i){var r=t[e];!r||i&&r.tag===i.tag||r.componentInstance.$destroy(),t[e]=null,y(n,e)}xi(ki),bi(ki),An(ki),Dn(ki),yn(ki);var Li=[String,RegExp,Array],Pi={name:"keep-alive",abstract:!0,props:{include:Li,exclude:Li,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Di(this.cache,t,this.keys)},mounted:function(){var t=this;this.$watch("include",(function(e){Ii(t,(function(t){return $i(e,t)}))})),this.$watch("exclude",(function(e){Ii(t,(function(t){return!$i(e,t)}))}))},render:function(){var t=this.$slots.default,e=kn(t),n=e&&e.componentOptions;if(n){var i=Ei(n),r=this,s=r.include,a=r.exclude;if(s&&(!i||!$i(s,i))||a&&i&&$i(a,i))return e;var o=this,c=o.cache,l=o.keys,u=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;c[u]?(e.componentInstance=c[u].componentInstance,y(l,u),l.push(u)):(c[u]=e,l.push(u),this.max&&l.length>parseInt(this.max)&&Di(c,l[0],l,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},Bi={KeepAlive:Pi};function Ri(t){var e={get:function(){return H}};Object.defineProperty(t,"config",e),t.util={warn:pt,extend:$,mergeOptions:Gt,defineReactive:Lt},t.set=Pt,t.delete=Bt,t.nextTick=ge,t.observable=function(t){return Dt(t),t},t.options=Object.create(null),V.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,$(t.options.components,Bi),Si(t),Ci(t),ji(t),Ai(t)}Ri(ki),Object.defineProperty(ki.prototype,"$isServer",{get:lt}),Object.defineProperty(ki.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(ki,"FunctionalRenderContext",{value:Qe}),ki.version="2.6.12";var Ni=m("style,class"),Fi=m("input,textarea,option,select,progress"),Vi=function(t,e,n){return"value"===n&&Fi(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},zi=m("contenteditable,draggable,spellcheck"),Hi=m("events,caret,typing,plaintext-only"),Wi=function(t,e){return Gi(e)||"false"===e?"false":"contenteditable"===t&&Hi(e)?e:"true"},Ui=m("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),qi="http://www.w3.org/1999/xlink",Yi=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Xi=function(t){return Yi(t)?t.slice(6,t.length):""},Gi=function(t){return null==t||!1===t};function Ki(t){var e=t.data,n=t,i=t;while(s(i.componentInstance))i=i.componentInstance._vnode,i&&i.data&&(e=Zi(i.data,e));while(s(n=n.parent))n&&n.data&&(e=Zi(e,n.data));return Qi(e.staticClass,e.class)}function Zi(t,e){return{staticClass:Ji(t.staticClass,e.staticClass),class:s(t.class)?[t.class,e.class]:e.class}}function Qi(t,e){return s(t)||s(e)?Ji(t,tr(e)):""}function Ji(t,e){return t?e?t+" "+e:t:e||""}function tr(t){return Array.isArray(t)?er(t):l(t)?nr(t):"string"===typeof t?t:""}function er(t){for(var e,n="",i=0,r=t.length;i-1?cr[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:cr[t]=/HTMLUnknownElement/.test(e.toString())}var ur=m("text,number,password,search,email,tel,url");function hr(t){if("string"===typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function dr(t,e){var n=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n}function fr(t,e){return document.createElementNS(ir[t],e)}function pr(t){return document.createTextNode(t)}function gr(t){return document.createComment(t)}function vr(t,e,n){t.insertBefore(e,n)}function mr(t,e){t.removeChild(e)}function br(t,e){t.appendChild(e)}function yr(t){return t.parentNode}function xr(t){return t.nextSibling}function _r(t){return t.tagName}function wr(t,e){t.textContent=e}function Or(t,e){t.setAttribute(e,"")}var kr=Object.freeze({createElement:dr,createElementNS:fr,createTextNode:pr,createComment:gr,insertBefore:vr,removeChild:mr,appendChild:br,parentNode:yr,nextSibling:xr,tagName:_r,setTextContent:wr,setStyleScope:Or}),Sr={create:function(t,e){Cr(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Cr(t,!0),Cr(e))},destroy:function(t){Cr(t,!0)}};function Cr(t,e){var n=t.data.ref;if(s(n)){var i=t.context,r=t.componentInstance||t.elm,a=i.$refs;e?Array.isArray(a[n])?y(a[n],r):a[n]===r&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(r)<0&&a[n].push(r):a[n]=[r]:a[n]=r}}var jr=new xt("",{},[]),Mr=["create","activate","update","remove","destroy"];function Tr(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.isComment&&s(t.data)===s(e.data)&&Ar(t,e)||a(t.isAsyncPlaceholder)&&t.asyncFactory===e.asyncFactory&&r(e.asyncFactory.error))}function Ar(t,e){if("input"!==t.tag)return!0;var n,i=s(n=t.data)&&s(n=n.attrs)&&n.type,r=s(n=e.data)&&s(n=n.attrs)&&n.type;return i===r||ur(i)&&ur(r)}function Er(t,e,n){var i,r,a={};for(i=e;i<=n;++i)r=t[i].key,s(r)&&(a[r]=i);return a}function $r(t){var e,n,i={},o=t.modules,l=t.nodeOps;for(e=0;eg?(h=r(n[b+1])?null:n[b+1].elm,O(t,h,n,p,b,i)):p>b&&S(e,d,g)}function M(t,e,n,i){for(var r=n;r-1?Hr(t,e,n):Ui(e)?Gi(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):zi(e)?t.setAttribute(e,Wi(e,n)):Yi(e)?Gi(n)?t.removeAttributeNS(qi,Xi(e)):t.setAttributeNS(qi,e,n):Hr(t,e,n)}function Hr(t,e,n){if(Gi(n))t.removeAttribute(e);else{if(et&&!nt&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var i=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",i)};t.addEventListener("input",i),t.__ieph=!0}t.setAttribute(e,n)}}var Wr={create:Vr,update:Vr};function Ur(t,e){var n=e.elm,i=e.data,a=t.data;if(!(r(i.staticClass)&&r(i.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var o=Ki(e),c=n._transitionClasses;s(c)&&(o=Ji(o,tr(c))),o!==n._prevClass&&(n.setAttribute("class",o),n._prevClass=o)}}var qr,Yr={create:Ur,update:Ur},Xr="__r",Gr="__c";function Kr(t){if(s(t[Xr])){var e=et?"change":"input";t[e]=[].concat(t[Xr],t[e]||[]),delete t[Xr]}s(t[Gr])&&(t.change=[].concat(t[Gr],t.change||[]),delete t[Gr])}function Zr(t,e,n){var i=qr;return function r(){var s=e.apply(null,arguments);null!==s&&ts(t,r,n,i)}}var Qr=oe&&!(st&&Number(st[1])<=53);function Jr(t,e,n,i){if(Qr){var r=Xn,s=e;e=s._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=r||t.timeStamp<=0||t.target.ownerDocument!==document)return s.apply(this,arguments)}}qr.addEventListener(t,e,ot?{capture:n,passive:i}:n)}function ts(t,e,n,i){(i||qr).removeEventListener(t,e._wrapper||e,n)}function es(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},i=t.data.on||{};qr=e.elm,Kr(n),_e(n,i,Jr,ts,Zr,e.context),qr=void 0}}var ns,is={create:es,update:es};function rs(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,i,a=e.elm,o=t.data.domProps||{},c=e.data.domProps||{};for(n in s(c.__ob__)&&(c=e.data.domProps=$({},c)),o)n in c||(a[n]="");for(n in c){if(i=c[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),i===o[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=i;var l=r(i)?"":String(i);ss(a,l)&&(a.value=l)}else if("innerHTML"===n&&sr(a.tagName)&&r(a.innerHTML)){ns=ns||document.createElement("div"),ns.innerHTML=""+i+"";var u=ns.firstChild;while(a.firstChild)a.removeChild(a.firstChild);while(u.firstChild)a.appendChild(u.firstChild)}else if(i!==o[n])try{a[n]=i}catch(Oa){}}}}function ss(t,e){return!t.composing&&("OPTION"===t.tagName||as(t,e)||os(t,e))}function as(t,e){var n=!0;try{n=document.activeElement!==t}catch(Oa){}return n&&t.value!==e}function os(t,e){var n=t.value,i=t._vModifiers;if(s(i)){if(i.number)return v(n)!==v(e);if(i.trim)return n.trim()!==e.trim()}return n!==e}var cs={create:rs,update:rs},ls=w((function(t){var e={},n=/;(?![^(]*\))/g,i=/:(.+)/;return t.split(n).forEach((function(t){if(t){var n=t.split(i);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}));function us(t){var e=hs(t.style);return t.staticStyle?$(t.staticStyle,e):e}function hs(t){return Array.isArray(t)?I(t):"string"===typeof t?ls(t):t}function ds(t,e){var n,i={};if(e){var r=t;while(r.componentInstance)r=r.componentInstance._vnode,r&&r.data&&(n=us(r.data))&&$(i,n)}(n=us(t.data))&&$(i,n);var s=t;while(s=s.parent)s.data&&(n=us(s.data))&&$(i,n);return i}var fs,ps=/^--/,gs=/\s*!important$/,vs=function(t,e,n){if(ps.test(e))t.style.setProperty(e,n);else if(gs.test(n))t.style.setProperty(j(e),n.replace(gs,""),"important");else{var i=bs(e);if(Array.isArray(n))for(var r=0,s=n.length;r-1?e.split(_s).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Os(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(_s).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{var n=" "+(t.getAttribute("class")||"")+" ",i=" "+e+" ";while(n.indexOf(i)>=0)n=n.replace(i," ");n=n.trim(),n?t.setAttribute("class",n):t.removeAttribute("class")}}function ks(t){if(t){if("object"===typeof t){var e={};return!1!==t.css&&$(e,Ss(t.name||"v")),$(e,t),e}return"string"===typeof t?Ss(t):void 0}}var Ss=w((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),Cs=Z&&!nt,js="transition",Ms="animation",Ts="transition",As="transitionend",Es="animation",$s="animationend";Cs&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Ts="WebkitTransition",As="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Es="WebkitAnimation",$s="webkitAnimationEnd"));var Is=Z?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Ds(t){Is((function(){Is(t)}))}function Ls(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),ws(t,e))}function Ps(t,e){t._transitionClasses&&y(t._transitionClasses,e),Os(t,e)}function Bs(t,e,n){var i=Ns(t,e),r=i.type,s=i.timeout,a=i.propCount;if(!r)return n();var o=r===js?As:$s,c=0,l=function(){t.removeEventListener(o,u),n()},u=function(e){e.target===t&&++c>=a&&l()};setTimeout((function(){c0&&(n=js,u=a,h=s.length):e===Ms?l>0&&(n=Ms,u=l,h=c.length):(u=Math.max(a,l),n=u>0?a>l?js:Ms:null,h=n?n===js?s.length:c.length:0);var d=n===js&&Rs.test(i[Ts+"Property"]);return{type:n,timeout:u,propCount:h,hasTransform:d}}function Fs(t,e){while(t.length1}function qs(t,e){!0!==e.data.show&&zs(e)}var Ys=Z?{create:qs,activate:qs,remove:function(t,e){!0!==t.data.show?Hs(t,e):e()}}:{},Xs=[Wr,Yr,is,cs,xs,Ys],Gs=Xs.concat(Fr),Ks=$r({nodeOps:kr,modules:Gs});nt&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&ra(t,"input")}));var Zs={inserted:function(t,e,n,i){"select"===n.tag?(i.elm&&!i.elm._vOptions?we(n,"postpatch",(function(){Zs.componentUpdated(t,e,n)})):Qs(t,e,n.context),t._vOptions=[].map.call(t.options,ea)):("textarea"===n.tag||ur(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",na),t.addEventListener("compositionend",ia),t.addEventListener("change",ia),nt&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){Qs(t,e,n.context);var i=t._vOptions,r=t._vOptions=[].map.call(t.options,ea);if(r.some((function(t,e){return!B(t,i[e])}))){var s=t.multiple?e.value.some((function(t){return ta(t,r)})):e.value!==e.oldValue&&ta(e.value,r);s&&ra(t,"change")}}}};function Qs(t,e,n){Js(t,e,n),(et||it)&&setTimeout((function(){Js(t,e,n)}),0)}function Js(t,e,n){var i=e.value,r=t.multiple;if(!r||Array.isArray(i)){for(var s,a,o=0,c=t.options.length;o-1,a.selected!==s&&(a.selected=s);else if(B(ea(a),i))return void(t.selectedIndex!==o&&(t.selectedIndex=o));r||(t.selectedIndex=-1)}}function ta(t,e){return e.every((function(e){return!B(e,t)}))}function ea(t){return"_value"in t?t._value:t.value}function na(t){t.target.composing=!0}function ia(t){t.target.composing&&(t.target.composing=!1,ra(t.target,"input"))}function ra(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function sa(t){return!t.componentInstance||t.data&&t.data.transition?t:sa(t.componentInstance._vnode)}var aa={bind:function(t,e,n){var i=e.value;n=sa(n);var r=n.data&&n.data.transition,s=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;i&&r?(n.data.show=!0,zs(n,(function(){t.style.display=s}))):t.style.display=i?s:"none"},update:function(t,e,n){var i=e.value,r=e.oldValue;if(!i!==!r){n=sa(n);var s=n.data&&n.data.transition;s?(n.data.show=!0,i?zs(n,(function(){t.style.display=t.__vOriginalDisplay})):Hs(n,(function(){t.style.display="none"}))):t.style.display=i?t.__vOriginalDisplay:"none"}},unbind:function(t,e,n,i,r){r||(t.style.display=t.__vOriginalDisplay)}},oa={model:Zs,show:aa},ca={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function la(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?la(kn(e.children)):t}function ua(t){var e={},n=t.$options;for(var i in n.propsData)e[i]=t[i];var r=n._parentListeners;for(var s in r)e[k(s)]=r[s];return e}function ha(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function da(t){while(t=t.parent)if(t.data.transition)return!0}function fa(t,e){return e.key===t.key&&e.tag===t.tag}var pa=function(t){return t.tag||On(t)},ga=function(t){return"show"===t.name},va={name:"transition",props:ca,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(pa),n.length)){0;var i=this.mode;0;var r=n[0];if(da(this.$vnode))return r;var s=la(r);if(!s)return r;if(this._leaving)return ha(t,r);var a="__transition-"+this._uid+"-";s.key=null==s.key?s.isComment?a+"comment":a+s.tag:c(s.key)?0===String(s.key).indexOf(a)?s.key:a+s.key:s.key;var o=(s.data||(s.data={})).transition=ua(this),l=this._vnode,u=la(l);if(s.data.directives&&s.data.directives.some(ga)&&(s.data.show=!0),u&&u.data&&!fa(s,u)&&!On(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var h=u.data.transition=$({},o);if("out-in"===i)return this._leaving=!0,we(h,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),ha(t,r);if("in-out"===i){if(On(s))return l;var d,f=function(){d()};we(o,"afterEnter",f),we(o,"enterCancelled",f),we(h,"delayLeave",(function(t){d=t}))}}return r}}},ma=$({tag:String,moveClass:String},ca);delete ma.mode;var ba={props:ma,beforeMount:function(){var t=this,e=this._update;this._update=function(n,i){var r=$n(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,r(),e.call(t,n,i)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),i=this.prevChildren=this.children,r=this.$slots.default||[],s=this.children=[],a=ua(this),o=0;o-1}},hideNoData:Boolean,menuProps:{type:r["a"].options.props.menuProps.type,default:function(){return c}},noFilter:Boolean,searchInput:{type:String}},data:function(){return{lazySearch:this.searchInput}},computed:{classes:function(){return Object(i["a"])(Object(i["a"])({},r["a"].options.computed.classes.call(this)),{},{"v-autocomplete":!0,"v-autocomplete--is-selecting-index":this.selectedIndex>-1})},computedItems:function(){return this.filteredItems},selectedValues:function(){var t=this;return this.selectedItems.map((function(e){return t.getValue(e)}))},hasDisplayedItems:function(){var t=this;return this.hideSelected?this.filteredItems.some((function(e){return!t.hasItem(e)})):this.filteredItems.length>0},currentRange:function(){return null==this.selectedItem?0:String(this.getText(this.selectedItem)).length},filteredItems:function(){var t=this;return!this.isSearching||this.noFilter||null==this.internalSearch?this.allItems:this.allItems.filter((function(e){var n=Object(o["q"])(e,t.itemText),i=null!=n?String(n):"";return t.filter(e,String(t.internalSearch),i)}))},internalSearch:{get:function(){return this.lazySearch},set:function(t){this.lazySearch!==t&&(this.lazySearch=t,this.$emit("update:search-input",t))}},isAnyValueAllowed:function(){return!1},isDirty:function(){return this.searchIsDirty||this.selectedItems.length>0},isSearching:function(){return this.multiple&&this.searchIsDirty||this.searchIsDirty&&this.internalSearch!==this.getText(this.selectedItem)},menuCanShow:function(){return!!this.isFocused&&(this.hasDisplayedItems||!this.hideNoData)},$_menuProps:function(){var t=r["a"].options.computed.$_menuProps.call(this);return t.contentClass="v-autocomplete__content ".concat(t.contentClass||"").trim(),Object(i["a"])(Object(i["a"])({},c),t)},searchIsDirty:function(){return null!=this.internalSearch&&""!==this.internalSearch},selectedItem:function(){var t=this;return this.multiple?null:this.selectedItems.find((function(e){return t.valueComparator(t.getValue(e),t.getValue(t.internalValue))}))},listData:function(){var t=r["a"].options.computed.listData.call(this);return t.props=Object(i["a"])(Object(i["a"])({},t.props),{},{items:this.virtualizedItems,noFilter:this.noFilter||!this.isSearching||!this.filteredItems.length,searchInput:this.internalSearch}),t}},watch:{filteredItems:"onFilteredItemsChanged",internalValue:"setSearch",isFocused:function(t){t?(document.addEventListener("copy",this.onCopy),this.$refs.input&&this.$refs.input.select()):(document.removeEventListener("copy",this.onCopy),this.$refs.input&&this.$refs.input.blur(),this.updateSelf())},isMenuActive:function(t){!t&&this.hasSlot&&(this.lazySearch=null)},items:function(t,e){e&&e.length||!this.hideNoData||!this.isFocused||this.isMenuActive||!t.length||this.activateMenu()},searchInput:function(t){this.lazySearch=t},internalSearch:"onInternalSearchChanged",itemText:"updateSelf"},created:function(){this.setSearch()},destroyed:function(){document.removeEventListener("copy",this.onCopy)},methods:{onFilteredItemsChanged:function(t,e){var n=this;t!==e&&(this.setMenuIndex(-1),this.$nextTick((function(){n.internalSearch&&(1===t.length||n.autoSelectFirst)&&(n.$refs.menu.getTiles(),n.setMenuIndex(0))})))},onInternalSearchChanged:function(){this.updateMenuDimensions()},updateMenuDimensions:function(){this.isMenuActive&&this.$refs.menu&&this.$refs.menu.updateDimensions()},changeSelectedIndex:function(t){this.searchIsDirty||(this.multiple&&t===o["w"].left?-1===this.selectedIndex?this.selectedIndex=this.selectedItems.length-1:this.selectedIndex--:this.multiple&&t===o["w"].right?this.selectedIndex>=this.selectedItems.length-1?this.selectedIndex=-1:this.selectedIndex++:t!==o["w"].backspace&&t!==o["w"].delete||this.deleteCurrentItem())},deleteCurrentItem:function(){var t=this.selectedIndex,e=this.selectedItems[t];if(this.isInteractive&&!this.getDisabled(e)){var n=this.selectedItems.length-1;if(-1!==this.selectedIndex||0===n){var i=this.selectedItems.length,r=t!==i-1?t:t-1,s=this.selectedItems[r];s?this.selectItem(e):this.setValue(this.multiple?[]:null),this.selectedIndex=r}else this.selectedIndex=n}},clearableCallback:function(){this.internalSearch=null,r["a"].options.methods.clearableCallback.call(this)},genInput:function(){var t=s["a"].options.methods.genInput.call(this);return t.data=Object(a["a"])(t.data,{attrs:{"aria-activedescendant":Object(o["o"])(this.$refs.menu,"activeTile.id"),autocomplete:Object(o["o"])(t.data,"attrs.autocomplete","off")},domProps:{value:this.internalSearch}}),t},genInputSlot:function(){var t=r["a"].options.methods.genInputSlot.call(this);return t.data.attrs.role="combobox",t},genSelections:function(){return this.hasSlot||this.multiple?r["a"].options.methods.genSelections.call(this):[]},onClick:function(t){this.isInteractive&&(this.selectedIndex>-1?this.selectedIndex=-1:this.onFocus(),this.isAppendInner(t.target)||this.activateMenu())},onInput:function(t){if(!(this.selectedIndex>-1)&&t.target){var e=t.target,n=e.value;e.value&&this.activateMenu(),this.internalSearch=n,this.badInput=e.validity&&e.validity.badInput}},onKeyDown:function(t){var e=t.keyCode;!t.ctrlKey&&[o["w"].home,o["w"].end].includes(e)||r["a"].options.methods.onKeyDown.call(this,t),this.changeSelectedIndex(e)},onSpaceDown:function(t){},onTabDown:function(t){r["a"].options.methods.onTabDown.call(this,t),this.updateSelf()},onUpDown:function(t){t.preventDefault(),this.activateMenu()},selectItem:function(t){r["a"].options.methods.selectItem.call(this,t),this.setSearch()},setSelectedItems:function(){r["a"].options.methods.setSelectedItems.call(this),this.isFocused||this.setSearch()},setSearch:function(){var t=this;this.$nextTick((function(){t.multiple&&t.internalSearch&&t.isMenuActive||(t.internalSearch=!t.selectedItems.length||t.multiple||t.hasSlot?null:t.getText(t.selectedItem))}))},updateSelf:function(){(this.searchIsDirty||this.internalValue)&&(this.valueComparator(this.internalSearch,this.getValue(this.internalValue))||this.setSearch())},hasItem:function(t){return this.selectedValues.indexOf(this.getValue(t))>-1},onCopy:function(t){var e,n;if(-1!==this.selectedIndex){var i=this.selectedItems[this.selectedIndex],r=this.getText(i);null==(e=t.clipboardData)||e.setData("text/plain",r),null==(n=t.clipboardData)||n.setData("text/vnd.vuetify.autocomplete.item+plain",r),t.preventDefault()}}}});e["a"]=l.extend({name:"v-combobox",props:{delimiters:{type:Array,default:function(){return[]}},returnObject:{type:Boolean,default:!0}},data:function(){return{editingIndex:-1}},computed:{computedCounterValue:function(){return this.multiple?this.selectedItems.length:(this.internalSearch||"").toString().length},hasSlot:function(){return r["a"].options.computed.hasSlot.call(this)||this.multiple},isAnyValueAllowed:function(){return!0},menuCanShow:function(){return!!this.isFocused&&(this.hasDisplayedItems||!!this.$slots["no-data"]&&!this.hideNoData)},searchIsDirty:function(){return null!=this.internalSearch}},methods:{onInternalSearchChanged:function(t){if(t&&this.multiple&&this.delimiters.length){var e=this.delimiters.find((function(e){return t.endsWith(e)}));null!=e&&(this.internalSearch=t.slice(0,t.length-e.length),this.updateTags())}this.updateMenuDimensions()},genInput:function(){var t=l.options.methods.genInput.call(this);return delete t.data.attrs.name,t.data.on.paste=this.onPaste,t},genChipSelection:function(t,e){var n=this,s=r["a"].options.methods.genChipSelection.call(this,t,e);return this.multiple&&(s.componentOptions.listeners=Object(i["a"])(Object(i["a"])({},s.componentOptions.listeners),{},{dblclick:function(){n.editingIndex=e,n.internalSearch=n.getText(t),n.selectedIndex=-1}})),s},onChipInput:function(t){r["a"].options.methods.onChipInput.call(this,t),this.editingIndex=-1},onEnterDown:function(t){t.preventDefault(),this.getMenuIndex()>-1||this.$nextTick(this.updateSelf)},onFilteredItemsChanged:function(t,e){this.autoSelectFirst&&l.options.methods.onFilteredItemsChanged.call(this,t,e)},onKeyDown:function(t){var e=t.keyCode;!t.ctrlKey&&[o["w"].home,o["w"].end].includes(e)||r["a"].options.methods.onKeyDown.call(this,t),this.multiple&&e===o["w"].left&&0===this.$refs.input.selectionStart?this.updateSelf():e===o["w"].enter&&this.onEnterDown(t),this.changeSelectedIndex(e)},onTabDown:function(t){if(this.multiple&&this.internalSearch&&-1===this.getMenuIndex())return t.preventDefault(),t.stopPropagation(),this.updateTags();l.options.methods.onTabDown.call(this,t)},selectItem:function(t){this.editingIndex>-1?this.updateEditing():(l.options.methods.selectItem.call(this,t),this.internalSearch&&this.multiple&&this.getText(t).toLocaleLowerCase().includes(this.internalSearch.toLocaleLowerCase())&&(this.internalSearch=null))},setSelectedItems:function(){null==this.internalValue||""===this.internalValue?this.selectedItems=[]:this.selectedItems=this.multiple?this.internalValue:[this.internalValue]},setValue:function(t){var e;r["a"].options.methods.setValue.call(this,null!=(e=t)?e:this.internalSearch)},updateEditing:function(){var t=this.internalValue.slice();t[this.editingIndex]=this.internalSearch,this.setValue(t),this.editingIndex=-1},updateCombobox:function(){if(this.searchIsDirty){this.internalSearch!==this.getText(this.internalValue)&&this.setValue();var t=Boolean(this.$scopedSlots.selection)||this.hasChips;t&&(this.internalSearch=null)}},updateSelf:function(){this.multiple?this.updateTags():this.updateCombobox()},updateTags:function(){var t=this.getMenuIndex();if(!(t<0&&!this.searchIsDirty||!this.internalSearch)){if(this.editingIndex>-1)return this.updateEditing();var e=this.selectedItems.indexOf(this.internalSearch);if(e>-1){var n=this.internalValue.slice();n.splice(e,1),this.setValue(n)}if(t>-1)return this.internalSearch=null;this.selectItem(this.internalSearch),this.internalSearch=null}},onPaste:function(t){var e;if(this.multiple&&!this.searchIsDirty){var n=null==(e=t.clipboardData)?void 0:e.getData("text/vnd.vuetify.autocomplete.item+plain");n&&-1===this.findExistingIndex(n)&&(t.preventDefault(),r["a"].options.methods.selectItem.call(this,n))}}}})},"2bc5":function(t,e,n){"use strict";var i=n("5530"),r=(n("a15b"),n("abd3"),n("ade3")),s=n("1c87"),a=n("58df"),o=Object(a["a"])(s["a"]).extend({name:"v-breadcrumbs-item",props:{activeClass:{type:String,default:"v-breadcrumbs__item--disabled"},ripple:{type:[Boolean,Object],default:!1}},computed:{classes:function(){return Object(r["a"])({"v-breadcrumbs__item":!0},this.activeClass,this.disabled)}},render:function(t){var e=this.generateRouteLink(),n=e.tag,r=e.data;return t("li",[t(n,Object(i["a"])(Object(i["a"])({},r),{},{attrs:Object(i["a"])(Object(i["a"])({},r.attrs),{},{"aria-current":this.isActive&&this.isLink?"page":void 0})}),this.$slots.default)])}}),c=n("80d2"),l=Object(c["h"])("v-breadcrumbs__divider","li"),u=n("7560");e["a"]=Object(a["a"])(u["a"]).extend({name:"v-breadcrumbs",props:{divider:{type:String,default:"/"},items:{type:Array,default:function(){return[]}},large:Boolean},computed:{classes:function(){return Object(i["a"])({"v-breadcrumbs--large":this.large},this.themeClasses)}},methods:{genDivider:function(){return this.$createElement(l,this.$slots.divider?this.$slots.divider:this.divider)},genItems:function(){for(var t=[],e=!!this.$scopedSlots.item,n=[],i=0;i1?arguments[1]:void 0,e.length)),i=String(t);return u?u.call(e,i,n):e.slice(n,n+i.length)===i}})},"2cf4":function(t,e,n){var i,r,s,a=n("da84"),o=n("d039"),c=n("0366"),l=n("1be4"),u=n("cc12"),h=n("1cdc"),d=n("605d"),f=a.location,p=a.setImmediate,g=a.clearImmediate,v=a.process,m=a.MessageChannel,b=a.Dispatch,y=0,x={},_="onreadystatechange",w=function(t){if(x.hasOwnProperty(t)){var e=x[t];delete x[t],e()}},O=function(t){return function(){w(t)}},k=function(t){w(t.data)},S=function(t){a.postMessage(t+"",f.protocol+"//"+f.host)};p&&g||(p=function(t){var e=[],n=1;while(arguments.length>n)e.push(arguments[n++]);return x[++y]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},i(y),y},g=function(t){delete x[t]},d?i=function(t){v.nextTick(O(t))}:b&&b.now?i=function(t){b.now(O(t))}:m&&!h?(r=new m,s=r.port2,r.port1.onmessage=k,i=c(s.postMessage,s,1)):a.addEventListener&&"function"==typeof postMessage&&!a.importScripts&&f&&"file:"!==f.protocol&&!o(S)?(i=S,a.addEventListener("message",k,!1)):i=_ in u("script")?function(t){l.appendChild(u("script"))[_]=function(){l.removeChild(this),w(t)}}:function(t){setTimeout(O(t),0)}),t.exports={set:p,clear:g}},"2d00":function(t,e,n){var i,r,s=n("da84"),a=n("342f"),o=s.process,c=o&&o.versions,l=c&&c.v8;l?(i=l.split("."),r=i[0]+i[1]):a&&(i=a.match(/Edge\/(\d+)/),(!i||i[1]>=74)&&(i=a.match(/Chrome\/(\d+)/),i&&(r=i[1]))),t.exports=r&&+r},"2d5d":function(t,e,n){"use strict";var i=n("f976");function r(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}var s=r,a=Math.max;function o(t,e,n){return e=a(void 0===e?t.length-1:e,0),function(){var i=arguments,r=-1,o=a(i.length-e,0),c=Array(o);while(++r0){if(++e>=p)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}var b=m,y=b(f),x=y;function _(t,e){return x(c(t,e,i["a"]),t+"")}e["a"]=_},"2f62":function(t,e,n){"use strict"; +/*! + * vuex v3.6.2 + * (c) 2021 Evan You + * @license MIT + */ +function i(t){var e=Number(t.version.split(".")[0]);if(e>=2)t.mixin({beforeCreate:i});else{var n=t.prototype._init;t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[i].concat(t.init):i,n.call(this,t)}}function i(){var t=this.$options;t.store?this.$store="function"===typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}}n.d(e,"b",(function(){return L})),n.d(e,"c",(function(){return D})),n.d(e,"d",(function(){return I}));var r="undefined"!==typeof window?window:"undefined"!==typeof global?global:{},s=r.__VUE_DEVTOOLS_GLOBAL_HOOK__;function a(t){s&&(t._devtoolHook=s,s.emit("vuex:init",t),s.on("vuex:travel-to-state",(function(e){t.replaceState(e)})),t.subscribe((function(t,e){s.emit("vuex:mutation",t,e)}),{prepend:!0}),t.subscribeAction((function(t,e){s.emit("vuex:action",t,e)}),{prepend:!0}))}function o(t,e){return t.filter(e)[0]}function c(t,e){if(void 0===e&&(e=[]),null===t||"object"!==typeof t)return t;var n=o(e,(function(e){return e.original===t}));if(n)return n.copy;var i=Array.isArray(t)?[]:{};return e.push({original:t,copy:i}),Object.keys(t).forEach((function(n){i[n]=c(t[n],e)})),i}function l(t,e){Object.keys(t).forEach((function(n){return e(t[n],n)}))}function u(t){return null!==t&&"object"===typeof t}function h(t){return t&&"function"===typeof t.then}function d(t,e){return function(){return t(e)}}var f=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"===typeof n?n():n)||{}},p={namespaced:{configurable:!0}};p.namespaced.get=function(){return!!this._rawModule.namespaced},f.prototype.addChild=function(t,e){this._children[t]=e},f.prototype.removeChild=function(t){delete this._children[t]},f.prototype.getChild=function(t){return this._children[t]},f.prototype.hasChild=function(t){return t in this._children},f.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},f.prototype.forEachChild=function(t){l(this._children,t)},f.prototype.forEachGetter=function(t){this._rawModule.getters&&l(this._rawModule.getters,t)},f.prototype.forEachAction=function(t){this._rawModule.actions&&l(this._rawModule.actions,t)},f.prototype.forEachMutation=function(t){this._rawModule.mutations&&l(this._rawModule.mutations,t)},Object.defineProperties(f.prototype,p);var g=function(t){this.register([],t,!1)};function v(t,e,n){if(e.update(n),n.modules)for(var i in n.modules){if(!e.getChild(i))return void 0;v(t.concat(i),e.getChild(i),n.modules[i])}}g.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},g.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")}),"")},g.prototype.update=function(t){v([],this.root,t)},g.prototype.register=function(t,e,n){var i=this;void 0===n&&(n=!0);var r=new f(e,n);if(0===t.length)this.root=r;else{var s=this.get(t.slice(0,-1));s.addChild(t[t.length-1],r)}e.modules&&l(e.modules,(function(e,r){i.register(t.concat(r),e,n)}))},g.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1],i=e.getChild(n);i&&i.runtime&&e.removeChild(n)},g.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];return!!e&&e.hasChild(n)};var m;var b=function(t){var e=this;void 0===t&&(t={}),!m&&"undefined"!==typeof window&&window.Vue&&$(window.Vue);var n=t.plugins;void 0===n&&(n=[]);var i=t.strict;void 0===i&&(i=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new g(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new m,this._makeLocalGettersCache=Object.create(null);var r=this,s=this,o=s.dispatch,c=s.commit;this.dispatch=function(t,e){return o.call(r,t,e)},this.commit=function(t,e,n){return c.call(r,t,e,n)},this.strict=i;var l=this._modules.root.state;O(this,l,[],this._modules.root),w(this,l),n.forEach((function(t){return t(e)}));var u=void 0!==t.devtools?t.devtools:m.config.devtools;u&&a(this)},y={state:{configurable:!0}};function x(t,e,n){return e.indexOf(t)<0&&(n&&n.prepend?e.unshift(t):e.push(t)),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function _(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;O(t,n,[],t._modules.root,!0),w(t,n,e)}function w(t,e,n){var i=t._vm;t.getters={},t._makeLocalGettersCache=Object.create(null);var r=t._wrappedGetters,s={};l(r,(function(e,n){s[n]=d(e,t),Object.defineProperty(t.getters,n,{get:function(){return t._vm[n]},enumerable:!0})}));var a=m.config.silent;m.config.silent=!0,t._vm=new m({data:{$$state:e},computed:s}),m.config.silent=a,t.strict&&T(t),i&&(n&&t._withCommit((function(){i._data.$$state=null})),m.nextTick((function(){return i.$destroy()})))}function O(t,e,n,i,r){var s=!n.length,a=t._modules.getNamespace(n);if(i.namespaced&&(t._modulesNamespaceMap[a],t._modulesNamespaceMap[a]=i),!s&&!r){var o=A(e,n.slice(0,-1)),c=n[n.length-1];t._withCommit((function(){m.set(o,c,i.state)}))}var l=i.context=k(t,a,n);i.forEachMutation((function(e,n){var i=a+n;C(t,i,e,l)})),i.forEachAction((function(e,n){var i=e.root?n:a+n,r=e.handler||e;j(t,i,r,l)})),i.forEachGetter((function(e,n){var i=a+n;M(t,i,e,l)})),i.forEachChild((function(i,s){O(t,e,n.concat(s),i,r)}))}function k(t,e,n){var i=""===e,r={dispatch:i?t.dispatch:function(n,i,r){var s=E(n,i,r),a=s.payload,o=s.options,c=s.type;return o&&o.root||(c=e+c),t.dispatch(c,a)},commit:i?t.commit:function(n,i,r){var s=E(n,i,r),a=s.payload,o=s.options,c=s.type;o&&o.root||(c=e+c),t.commit(c,a,o)}};return Object.defineProperties(r,{getters:{get:i?function(){return t.getters}:function(){return S(t,e)}},state:{get:function(){return A(t.state,n)}}}),r}function S(t,e){if(!t._makeLocalGettersCache[e]){var n={},i=e.length;Object.keys(t.getters).forEach((function(r){if(r.slice(0,i)===e){var s=r.slice(i);Object.defineProperty(n,s,{get:function(){return t.getters[r]},enumerable:!0})}})),t._makeLocalGettersCache[e]=n}return t._makeLocalGettersCache[e]}function C(t,e,n,i){var r=t._mutations[e]||(t._mutations[e]=[]);r.push((function(e){n.call(t,i.state,e)}))}function j(t,e,n,i){var r=t._actions[e]||(t._actions[e]=[]);r.push((function(e){var r=n.call(t,{dispatch:i.dispatch,commit:i.commit,getters:i.getters,state:i.state,rootGetters:t.getters,rootState:t.state},e);return h(r)||(r=Promise.resolve(r)),t._devtoolHook?r.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):r}))}function M(t,e,n,i){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(i.state,i.getters,t.state,t.getters)})}function T(t){t._vm.$watch((function(){return this._data.$$state}),(function(){0}),{deep:!0,sync:!0})}function A(t,e){return e.reduce((function(t,e){return t[e]}),t)}function E(t,e,n){return u(t)&&t.type&&(n=e,e=t,t=t.type),{type:t,payload:e,options:n}}function $(t){m&&t===m||(m=t,i(m))}y.state.get=function(){return this._vm._data.$$state},y.state.set=function(t){0},b.prototype.commit=function(t,e,n){var i=this,r=E(t,e,n),s=r.type,a=r.payload,o=(r.options,{type:s,payload:a}),c=this._mutations[s];c&&(this._withCommit((function(){c.forEach((function(t){t(a)}))})),this._subscribers.slice().forEach((function(t){return t(o,i.state)})))},b.prototype.dispatch=function(t,e){var n=this,i=E(t,e),r=i.type,s=i.payload,a={type:r,payload:s},o=this._actions[r];if(o){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(a,n.state)}))}catch(l){0}var c=o.length>1?Promise.all(o.map((function(t){return t(s)}))):o[0](s);return new Promise((function(t,e){c.then((function(e){try{n._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(a,n.state)}))}catch(l){0}t(e)}),(function(t){try{n._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(a,n.state,t)}))}catch(l){0}e(t)}))}))}},b.prototype.subscribe=function(t,e){return x(t,this._subscribers,e)},b.prototype.subscribeAction=function(t,e){var n="function"===typeof t?{before:t}:t;return x(n,this._actionSubscribers,e)},b.prototype.watch=function(t,e,n){var i=this;return this._watcherVM.$watch((function(){return t(i.state,i.getters)}),e,n)},b.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._vm._data.$$state=t}))},b.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"===typeof t&&(t=[t]),this._modules.register(t,e),O(this,this.state,t,this._modules.get(t),n.preserveState),w(this,this.state)},b.prototype.unregisterModule=function(t){var e=this;"string"===typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){var n=A(e.state,t.slice(0,-1));m.delete(n,t[t.length-1])})),_(this)},b.prototype.hasModule=function(t){return"string"===typeof t&&(t=[t]),this._modules.isRegistered(t)},b.prototype.hotUpdate=function(t){this._modules.update(t),_(this,!0)},b.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(b.prototype,y);var I=F((function(t,e){var n={};return R(e).forEach((function(e){var i=e.key,r=e.val;n[i]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var i=V(this.$store,"mapState",t);if(!i)return;e=i.context.state,n=i.context.getters}return"function"===typeof r?r.call(this,e,n):e[r]},n[i].vuex=!0})),n})),D=F((function(t,e){var n={};return R(e).forEach((function(e){var i=e.key,r=e.val;n[i]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var i=this.$store.commit;if(t){var s=V(this.$store,"mapMutations",t);if(!s)return;i=s.context.commit}return"function"===typeof r?r.apply(this,[i].concat(e)):i.apply(this.$store,[r].concat(e))}})),n})),L=F((function(t,e){var n={};return R(e).forEach((function(e){var i=e.key,r=e.val;r=t+r,n[i]=function(){if(!t||V(this.$store,"mapGetters",t))return this.$store.getters[r]},n[i].vuex=!0})),n})),P=F((function(t,e){var n={};return R(e).forEach((function(e){var i=e.key,r=e.val;n[i]=function(){var e=[],n=arguments.length;while(n--)e[n]=arguments[n];var i=this.$store.dispatch;if(t){var s=V(this.$store,"mapActions",t);if(!s)return;i=s.context.dispatch}return"function"===typeof r?r.apply(this,[i].concat(e)):i.apply(this.$store,[r].concat(e))}})),n})),B=function(t){return{mapState:I.bind(null,t),mapGetters:L.bind(null,t),mapMutations:D.bind(null,t),mapActions:P.bind(null,t)}};function R(t){return N(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function N(t){return Array.isArray(t)||u(t)}function F(t){return function(e,n){return"string"!==typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function V(t,e,n){var i=t._modulesNamespaceMap[n];return i}function z(t){void 0===t&&(t={});var e=t.collapsed;void 0===e&&(e=!0);var n=t.filter;void 0===n&&(n=function(t,e,n){return!0});var i=t.transformer;void 0===i&&(i=function(t){return t});var r=t.mutationTransformer;void 0===r&&(r=function(t){return t});var s=t.actionFilter;void 0===s&&(s=function(t,e){return!0});var a=t.actionTransformer;void 0===a&&(a=function(t){return t});var o=t.logMutations;void 0===o&&(o=!0);var l=t.logActions;void 0===l&&(l=!0);var u=t.logger;return void 0===u&&(u=console),function(t){var h=c(t.state);"undefined"!==typeof u&&(o&&t.subscribe((function(t,s){var a=c(s);if(n(t,h,a)){var o=U(),l=r(t),d="mutation "+t.type+o;H(u,d,e),u.log("%c prev state","color: #9E9E9E; font-weight: bold",i(h)),u.log("%c mutation","color: #03A9F4; font-weight: bold",l),u.log("%c next state","color: #4CAF50; font-weight: bold",i(a)),W(u)}h=a})),l&&t.subscribeAction((function(t,n){if(s(t,n)){var i=U(),r=a(t),o="action "+t.type+i;H(u,o,e),u.log("%c action","color: #03A9F4; font-weight: bold",r),W(u)}})))}}function H(t,e,n){var i=n?t.groupCollapsed:t.group;try{i.call(t,e)}catch(r){t.log(e)}}function W(t){try{t.groupEnd()}catch(e){t.log("—— log end ——")}}function U(){var t=new Date;return" @ "+Y(t.getHours(),2)+":"+Y(t.getMinutes(),2)+":"+Y(t.getSeconds(),2)+"."+Y(t.getMilliseconds(),3)}function q(t,e){return new Array(e+1).join(t)}function Y(t,e){return q("0",e-t.toString().length)+t}var X={Store:b,install:$,version:"3.6.2",mapState:I,mapMutations:D,mapGetters:L,mapActions:P,createNamespacedHelpers:B,createLogger:z};e["a"]=X},"2f74":function(t,e,n){"use strict";function i(){return!1}e["a"]=i},"2fa4":function(t,e,n){"use strict";n("20f6");var i=n("80d2");e["a"]=Object(i["h"])("spacer","div","v-spacer")},3206:function(t,e,n){"use strict";n.d(e,"a",(function(){return o}));var i=n("ade3"),r=(n("99af"),n("2b0e")),s=n("d9bd");function a(t,e){return function(){return Object(s["c"])("The ".concat(t," component must be used inside a ").concat(e))}}function o(t,e,n){var s=e&&n?{register:a(e,n),unregister:a(e,n)}:null;return r["a"].extend({name:"registrable-inject",inject:Object(i["a"])({},t,{default:s})})}},3262:function(t,e,n){var i=n("29a6"),r=n("7297");e.protocol=5;var s=e.PacketType={CONNECT:0,DISCONNECT:1,EVENT:2,ACK:3,CONNECT_ERROR:4},a=Number.isInteger||function(t){return"number"===typeof t&&isFinite(t)&&Math.floor(t)===t},o=function(t){return"string"===typeof t},c=function(t){return"[object Object]"===Object.prototype.toString.call(t)};function l(){}function u(){}function h(t){switch(t.type){case s.CONNECT:return void 0===t.data||c(t.data);case s.DISCONNECT:return void 0===t.data;case s.CONNECT_ERROR:return o(t.data)||c(t.data);default:return Array.isArray(t.data)}}l.prototype.encode=function(t){return[i.encode(t)]},r(u.prototype),u.prototype.add=function(t){var e=i.decode(t);this.checkPacket(e),this.emit("decoded",e)},u.prototype.checkPacket=function(t){var e=a(t.type)&&t.type>=s.CONNECT&&t.type<=s.CONNECT_ERROR;if(!e)throw new Error("invalid packet type");if(!o(t.nsp))throw new Error("invalid namespace");if(!h(t))throw new Error("invalid payload");var n=void 0===t.id||a(t.id);if(!n)throw new Error("invalid packet id")},u.prototype.destroy=function(){},e.Encoder=l,e.Decoder=u},3408:function(t,e,n){},3410:function(t,e,n){var i=n("23e7"),r=n("d039"),s=n("7b0b"),a=n("e163"),o=n("e177"),c=r((function(){a(1)}));i({target:"Object",stat:!0,forced:c,sham:!o},{getPrototypeOf:function(t){return a(s(t))}})},"342f":function(t,e,n){var i=n("d066");t.exports=i("navigator","userAgent")||""},"34c3":function(t,e,n){"use strict";n("498a");var i=n("2b0e");e["a"]=i["a"].extend({name:"v-list-item-icon",functional:!0,render:function(t,e){var n=e.data,i=e.children;return n.staticClass="v-list-item__icon ".concat(n.staticClass||"").trim(),t("div",n,i)}})},"34ef":function(t,e,n){"use strict";var i=n("cc20");e["a"]=i["a"]},"35a1":function(t,e,n){var i=n("f5df"),r=n("3f8c"),s=n("b622"),a=s("iterator");t.exports=function(t){if(void 0!=t)return t[a]||t["@@iterator"]||r[i(t)]}},"35b3":function(t,e,n){"use strict";function i(t){if(this._offset=0,t instanceof ArrayBuffer)this._buffer=t,this._view=new DataView(this._buffer);else{if(!ArrayBuffer.isView(t))throw new Error("Invalid argument");this._buffer=t.buffer,this._view=new DataView(this._buffer,t.byteOffset,t.byteLength)}}function r(t,e,n){for(var i="",r=0,s=e,a=e+n;s=65536?(r-=65536,i+=String.fromCharCode(55296+(r>>>10),56320+(1023&r))):i+=String.fromCharCode(r)}else i+=String.fromCharCode((15&o)<<12|(63&t.getUint8(++s))<<6|(63&t.getUint8(++s))<<0);else i+=String.fromCharCode((31&o)<<6|63&t.getUint8(++s));else i+=String.fromCharCode(o)}return i}function s(t){var e=new i(t),n=e._parse();if(e._offset!==t.byteLength)throw new Error(t.byteLength-e._offset+" trailing bytes");return n}i.prototype._array=function(t){for(var e=new Array(t),n=0;n223)return-1*(255-e+1);switch(e){case 192:return null;case 194:return!1;case 195:return!0;case 196:return n=this._view.getUint8(this._offset),this._offset+=1,this._bin(n);case 197:return n=this._view.getUint16(this._offset),this._offset+=2,this._bin(n);case 198:return n=this._view.getUint32(this._offset),this._offset+=4,this._bin(n);case 199:return n=this._view.getUint8(this._offset),i=this._view.getInt8(this._offset+1),this._offset+=2,[i,this._bin(n)];case 200:return n=this._view.getUint16(this._offset),i=this._view.getInt8(this._offset+2),this._offset+=3,[i,this._bin(n)];case 201:return n=this._view.getUint32(this._offset),i=this._view.getInt8(this._offset+4),this._offset+=5,[i,this._bin(n)];case 202:return t=this._view.getFloat32(this._offset),this._offset+=4,t;case 203:return t=this._view.getFloat64(this._offset),this._offset+=8,t;case 204:return t=this._view.getUint8(this._offset),this._offset+=1,t;case 205:return t=this._view.getUint16(this._offset),this._offset+=2,t;case 206:return t=this._view.getUint32(this._offset),this._offset+=4,t;case 207:return r=this._view.getUint32(this._offset)*Math.pow(2,32),s=this._view.getUint32(this._offset+4),this._offset+=8,r+s;case 208:return t=this._view.getInt8(this._offset),this._offset+=1,t;case 209:return t=this._view.getInt16(this._offset),this._offset+=2,t;case 210:return t=this._view.getInt32(this._offset),this._offset+=4,t;case 211:return r=this._view.getInt32(this._offset)*Math.pow(2,32),s=this._view.getUint32(this._offset+4),this._offset+=8,r+s;case 212:return i=this._view.getInt8(this._offset),this._offset+=1,0===i?void(this._offset+=1):[i,this._bin(1)];case 213:return i=this._view.getInt8(this._offset),this._offset+=1,[i,this._bin(2)];case 214:return i=this._view.getInt8(this._offset),this._offset+=1,[i,this._bin(4)];case 215:return i=this._view.getInt8(this._offset),this._offset+=1,0===i?(r=this._view.getInt32(this._offset)*Math.pow(2,32),s=this._view.getUint32(this._offset+4),this._offset+=8,new Date(r+s)):[i,this._bin(8)];case 216:return i=this._view.getInt8(this._offset),this._offset+=1,[i,this._bin(16)];case 217:return n=this._view.getUint8(this._offset),this._offset+=1,this._str(n);case 218:return n=this._view.getUint16(this._offset),this._offset+=2,this._str(n);case 219:return n=this._view.getUint32(this._offset),this._offset+=4,this._str(n);case 220:return n=this._view.getUint16(this._offset),this._offset+=2,this._array(n);case 221:return n=this._view.getUint32(this._offset),this._offset+=4,this._array(n);case 222:return n=this._view.getUint16(this._offset),this._offset+=2,this._map(n);case 223:return n=this._view.getUint32(this._offset),this._offset+=4,this._map(n)}throw new Error("Could not parse")},t.exports=s},"368e":function(t,e,n){},"36a7":function(t,e,n){},"37e8":function(t,e,n){var i=n("83ab"),r=n("9bf2"),s=n("825a"),a=n("df75");t.exports=i?Object.defineProperties:function(t,e){s(t);var n,i=a(e),o=i.length,c=0;while(o>c)r.f(t,n=i[c++],e[n]);return t}},3835:function(t,e,n){"use strict";function i(t){if(Array.isArray(t))return t}n.d(e,"a",(function(){return o}));n("a4d3"),n("e01a"),n("d3b7"),n("d28b"),n("3ca3"),n("ddb0");function r(t,e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t)){var n=[],i=!0,r=!1,s=void 0;try{for(var a,o=t[Symbol.iterator]();!(i=(a=o.next()).done);i=!0)if(n.push(a.value),e&&n.length===e)break}catch(c){r=!0,s=c}finally{try{i||null==o["return"]||o["return"]()}finally{if(r)throw s}}return n}}var s=n("06c5");function a(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function o(t,e){return i(t)||r(t,e)||Object(s["a"])(t,e)||a()}},"38cb":function(t,e,n){"use strict";var i=n("53ca"),r=(n("a9e3"),n("fb6a"),n("a9ad")),s=n("7560"),a=n("3206"),o=n("80d2"),c=n("d9bd"),l=n("58df"),u=Object(l["a"])(r["a"],Object(a["a"])("form"),s["a"]);e["a"]=u.extend({name:"validatable",props:{disabled:Boolean,error:Boolean,errorCount:{type:[Number,String],default:1},errorMessages:{type:[String,Array],default:function(){return[]}},messages:{type:[String,Array],default:function(){return[]}},readonly:Boolean,rules:{type:Array,default:function(){return[]}},success:Boolean,successMessages:{type:[String,Array],default:function(){return[]}},validateOnBlur:Boolean,value:{required:!1}},data:function(){return{errorBucket:[],hasColor:!1,hasFocused:!1,hasInput:!1,isFocused:!1,isResetting:!1,lazyValue:this.value,valid:!1}},computed:{computedColor:function(){if(!this.isDisabled)return this.color?this.color:this.isDark&&!this.appIsDark?"white":"primary"},hasError:function(){return this.internalErrorMessages.length>0||this.errorBucket.length>0||this.error},hasSuccess:function(){return this.internalSuccessMessages.length>0||this.success},externalError:function(){return this.internalErrorMessages.length>0||this.error},hasMessages:function(){return this.validationTarget.length>0},hasState:function(){return!this.isDisabled&&(this.hasSuccess||this.shouldValidate&&this.hasError)},internalErrorMessages:function(){return this.genInternalMessages(this.errorMessages)},internalMessages:function(){return this.genInternalMessages(this.messages)},internalSuccessMessages:function(){return this.genInternalMessages(this.successMessages)},internalValue:{get:function(){return this.lazyValue},set:function(t){this.lazyValue=t,this.$emit("input",t)}},isDisabled:function(){return this.disabled||!!this.form&&this.form.disabled},isInteractive:function(){return!this.isDisabled&&!this.isReadonly},isReadonly:function(){return this.readonly||!!this.form&&this.form.readonly},shouldValidate:function(){return!!this.externalError||!this.isResetting&&(this.validateOnBlur?this.hasFocused&&!this.isFocused:this.hasInput||this.hasFocused)},validations:function(){return this.validationTarget.slice(0,Number(this.errorCount))},validationState:function(){if(!this.isDisabled)return this.hasError&&this.shouldValidate?"error":this.hasSuccess?"success":this.hasColor?this.computedColor:void 0},validationTarget:function(){return this.internalErrorMessages.length>0?this.internalErrorMessages:this.successMessages&&this.successMessages.length>0?this.internalSuccessMessages:this.messages&&this.messages.length>0?this.internalMessages:this.shouldValidate?this.errorBucket:[]}},watch:{rules:{handler:function(t,e){Object(o["i"])(t,e)||this.validate()},deep:!0},internalValue:function(){this.hasInput=!0,this.validateOnBlur||this.$nextTick(this.validate)},isFocused:function(t){t||this.isDisabled||(this.hasFocused=!0,this.validateOnBlur&&this.$nextTick(this.validate))},isResetting:function(){var t=this;setTimeout((function(){t.hasInput=!1,t.hasFocused=!1,t.isResetting=!1,t.validate()}),0)},hasError:function(t){this.shouldValidate&&this.$emit("update:error",t)},value:function(t){this.lazyValue=t}},beforeMount:function(){this.validate()},created:function(){this.form&&this.form.register(this)},beforeDestroy:function(){this.form&&this.form.unregister(this)},methods:{genInternalMessages:function(t){return t?Array.isArray(t)?t:[t]:[]},reset:function(){this.isResetting=!0,this.internalValue=Array.isArray(this.internalValue)?[]:null},resetValidation:function(){this.isResetting=!0},validate:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1?arguments[1]:void 0,n=[];e=e||this.internalValue,t&&(this.hasInput=this.hasFocused=!0);for(var r=0;r'",this)},methods:{activate:function(){this.updateDimensions(),requestAnimationFrame(this.startTransition)},deactivate:function(){this.runDelay("close")},genActivatorListeners:function(){var t=this,e=r["a"].options.methods.genActivatorListeners.call(this);return e.focus=function(e){t.getActivator(e),t.runDelay("open")},e.blur=function(e){t.getActivator(e),t.runDelay("close")},e.keydown=function(e){e.keyCode===h["w"].esc&&(t.getActivator(e),t.runDelay("close"))},e},genActivatorAttributes:function(){return{"aria-haspopup":!0,"aria-expanded":String(this.isActive)}},genTransition:function(){var t=this.genContent();return this.computedTransition?this.$createElement("transition",{props:{name:this.computedTransition}},[t]):t},genContent:function(){var t;return this.$createElement("div",this.setBackgroundColor(this.color,{staticClass:"v-tooltip__content",class:(t={},Object(i["a"])(t,this.contentClass,!0),Object(i["a"])(t,"menuable__content__active",this.isActive),Object(i["a"])(t,"v-tooltip__content--fixed",this.activatorFixed),t),style:this.styles,attrs:this.getScopeIdAttrs(),directives:[{name:"show",value:this.isContentActive}],ref:"content"}),this.getContentSlot())}},render:function(t){var e=this;return t(this.tag,{staticClass:"v-tooltip",class:this.classes},[this.showLazyContent((function(){return[e.genTransition()]})),this.genActivator()])}})},"3a59":function(t,e,n){"use strict";var i=n("7f2c"),r=n("2250"),s=n("a809"),a=n("5132");function o(t,e,n){var i=-1,r=t.length;e<0&&(e=-e>r?0:r+e),n=n>r?r:n,n<0&&(n+=r),r=e>n?0:n-e>>>0,e>>>=0;var s=Array(r);while(++i1&&void 0!==arguments[1]?arguments[1]:[];return Object(r["a"])(Object(i["b"])(["absolute","fixed"])).extend({name:"applicationable",props:{app:Boolean},computed:{applicationProperty:function(){return t}},watch:{app:function(t,e){e?this.removeApplication(!0):this.callUpdate()},applicationProperty:function(t,e){this.$vuetify.application.unregister(this._uid,e)}},activated:function(){this.callUpdate()},created:function(){for(var t=0,n=e.length;t0&&void 0!==arguments[0]&&arguments[0];(t||this.app)&&this.$vuetify.application.unregister(this._uid,this.applicationProperty)},updateApplication:function(){return 0}}})}},"3ad0":function(t,e,n){},"3bbe":function(t,e,n){var i=n("861d");t.exports=function(t){if(!i(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"3c93":function(t,e,n){},"3ca3":function(t,e,n){"use strict";var i=n("6547").charAt,r=n("69f3"),s=n("7dd0"),a="String Iterator",o=r.set,c=r.getterFor(a);s(String,"String",(function(t){o(this,{type:a,string:String(t),index:0})}),(function(){var t,e=c(this),n=e.string,r=e.index;return r>=n.length?{value:void 0,done:!0}:(t=i(n,r),e.index+=t.length,{value:t,done:!1})}))},"3ea3":function(t,e,n){var i=n("23e7"),r=n("f748"),s=Math.abs,a=Math.pow;i({target:"Math",stat:!0},{cbrt:function(t){return r(t=+t)*a(s(t),1/3)}})},"3f8c":function(t,e){t.exports={}},"408a":function(t,e,n){var i=n("c6b6");t.exports=function(t){if("number"!=typeof t&&"Number"!=i(t))throw TypeError("Incorrect invocation");return+t}},"40dc":function(t,e,n){"use strict";var i=n("5530"),r=(n("c7cd"),n("a9e3"),n("8b0d"),n("71d9")),s=n("53ca");function a(t,e){var n=e.modifiers||{},i=n.self,r=void 0!==i&&i,a=e.value,o="object"===Object(s["a"])(a)&&a.options||{passive:!0},c="function"===typeof a||"handleEvent"in a?a:a.handler,l=r?t:e.arg?document.querySelector(e.arg):window;l&&(l.addEventListener("scroll",c,o),t._onScroll={handler:c,options:o,target:r?void 0:l})}function o(t){if(t._onScroll){var e=t._onScroll,n=e.handler,i=e.options,r=e.target,s=void 0===r?t:r;s.removeEventListener("scroll",n,i),delete t._onScroll}}var c={inserted:a,unbind:o},l=c,u=n("3a66"),h=n("d9bd"),d=n("2b0e"),f=d["a"].extend({name:"scrollable",directives:{Scroll:c},props:{scrollTarget:String,scrollThreshold:[String,Number]},data:function(){return{currentScroll:0,currentThreshold:0,isActive:!1,isScrollingUp:!1,previousScroll:0,savedScroll:0,target:null}},computed:{canScroll:function(){return"undefined"!==typeof window},computedScrollThreshold:function(){return this.scrollThreshold?Number(this.scrollThreshold):300}},watch:{isScrollingUp:function(){this.savedScroll=this.savedScroll||this.currentScroll},isActive:function(){this.savedScroll=0}},mounted:function(){this.scrollTarget&&(this.target=document.querySelector(this.scrollTarget),this.target||Object(h["c"])("Unable to locate element with identifier ".concat(this.scrollTarget),this))},methods:{onScroll:function(){var t=this;this.canScroll&&(this.previousScroll=this.currentScroll,this.currentScroll=this.target?this.target.scrollTop:window.pageYOffset,this.isScrollingUp=this.currentScrollt.computedScrollThreshold&&t.thresholdMet()})))},thresholdMet:function(){}}}),p=n("d10f"),g=n("f2e7"),v=n("80d2"),m=n("58df"),b=Object(m["a"])(r["a"],f,p["a"],g["a"],Object(u["a"])("top",["clippedLeft","clippedRight","computedHeight","invertedScroll","isExtended","isProminent","value"]));e["a"]=b.extend({name:"v-app-bar",directives:{Scroll:l},provide:function(){return{VAppBar:this}},props:{clippedLeft:Boolean,clippedRight:Boolean,collapseOnScroll:Boolean,elevateOnScroll:Boolean,fadeImgOnScroll:Boolean,hideOnScroll:Boolean,invertedScroll:Boolean,scrollOffScreen:Boolean,shrinkOnScroll:Boolean,value:{type:Boolean,default:!0}},data:function(){return{isActive:this.value}},computed:{applicationProperty:function(){return this.bottom?"bottom":"top"},canScroll:function(){return f.options.computed.canScroll.call(this)&&(this.invertedScroll||this.elevateOnScroll||this.hideOnScroll||this.collapseOnScroll||this.isBooted||!this.value)},classes:function(){return Object(i["a"])(Object(i["a"])({},r["a"].options.computed.classes.call(this)),{},{"v-toolbar--collapse":this.collapse||this.collapseOnScroll,"v-app-bar":!0,"v-app-bar--clipped":this.clippedLeft||this.clippedRight,"v-app-bar--fade-img-on-scroll":this.fadeImgOnScroll,"v-app-bar--elevate-on-scroll":this.elevateOnScroll,"v-app-bar--fixed":!this.absolute&&(this.app||this.fixed),"v-app-bar--hide-shadow":this.hideShadow,"v-app-bar--is-scrolled":this.currentScroll>0,"v-app-bar--shrink-on-scroll":this.shrinkOnScroll})},scrollRatio:function(){var t=this.computedScrollThreshold;return Math.max((t-this.currentScroll)/t,0)},computedContentHeight:function(){if(!this.shrinkOnScroll)return r["a"].options.computed.computedContentHeight.call(this);var t=this.dense?48:56,e=this.computedOriginalHeight;return t+(e-t)*this.scrollRatio},computedFontSize:function(){if(this.isProminent){var t=1.25,e=1.5;return t+(e-t)*this.scrollRatio}},computedLeft:function(){return!this.app||this.clippedLeft?0:this.$vuetify.application.left},computedMarginTop:function(){return this.app?this.$vuetify.application.bar:0},computedOpacity:function(){if(this.fadeImgOnScroll)return this.scrollRatio},computedOriginalHeight:function(){var t=r["a"].options.computed.computedContentHeight.call(this);return this.isExtended&&(t+=parseInt(this.extensionHeight)),t},computedRight:function(){return!this.app||this.clippedRight?0:this.$vuetify.application.right},computedScrollThreshold:function(){return this.scrollThreshold?Number(this.scrollThreshold):this.computedOriginalHeight-(this.dense?48:56)},computedTransform:function(){if(!this.canScroll||this.elevateOnScroll&&0===this.currentScroll&&this.isActive)return 0;if(this.isActive)return 0;var t=this.scrollOffScreen?this.computedHeight:this.computedContentHeight;return this.bottom?t:-t},hideShadow:function(){return this.elevateOnScroll&&this.isExtended?this.currentScroll0:r["a"].options.computed.isCollapsed.call(this)},isProminent:function(){return r["a"].options.computed.isProminent.call(this)||this.shrinkOnScroll},styles:function(){return Object(i["a"])(Object(i["a"])({},r["a"].options.computed.styles.call(this)),{},{fontSize:Object(v["g"])(this.computedFontSize,"rem"),marginTop:Object(v["g"])(this.computedMarginTop),transform:"translateY(".concat(Object(v["g"])(this.computedTransform),")"),left:Object(v["g"])(this.computedLeft),right:Object(v["g"])(this.computedRight)})}},watch:{canScroll:"onScroll",computedTransform:function(){this.canScroll&&(this.clippedLeft||this.clippedRight)&&this.callUpdate()},invertedScroll:function(t){this.isActive=!t||0!==this.currentScroll}},created:function(){this.invertedScroll&&(this.isActive=!1)},methods:{genBackground:function(){var t=r["a"].options.methods.genBackground.call(this);return t.data=this._b(t.data||{},t.tag,{style:{opacity:this.computedOpacity}}),t},updateApplication:function(){return this.invertedScroll?0:this.computedHeight+this.computedTransform},thresholdMet:function(){this.invertedScroll?this.isActive=this.currentScroll>this.computedScrollThreshold:(this.hideOnScroll&&(this.isActive=this.isScrollingUp||this.currentScroll100?100:parseFloat(this.value)},strokeDashArray:function(){return Math.round(1e3*this.circumference)/1e3},strokeDashOffset:function(){return(100-this.normalizedValue)/100*this.circumference+"px"},strokeWidth:function(){return Number(this.width)/+this.size*this.viewBoxSize*2},styles:function(){return{height:Object(r["g"])(this.calculatedSize),width:Object(r["g"])(this.calculatedSize)}},svgStyles:function(){return{transform:"rotate(".concat(Number(this.rotate),"deg)")}},viewBoxSize:function(){return this.radius/(1-Number(this.width)/+this.size)}},methods:{genCircle:function(t,e){return this.$createElement("circle",{class:"v-progress-circular__".concat(t),attrs:{fill:"transparent",cx:2*this.viewBoxSize,cy:2*this.viewBoxSize,r:this.radius,"stroke-width":this.strokeWidth,"stroke-dasharray":this.strokeDashArray,"stroke-dashoffset":e}})},genSvg:function(){var t=[this.indeterminate||this.genCircle("underlay",0),this.genCircle("overlay",this.strokeDashOffset)];return this.$createElement("svg",{style:this.svgStyles,attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"".concat(this.viewBoxSize," ").concat(this.viewBoxSize," ").concat(2*this.viewBoxSize," ").concat(2*this.viewBoxSize)}},t)},genInfo:function(){return this.$createElement("div",{staticClass:"v-progress-circular__info"},this.$slots.default)}},render:function(t){return t("div",this.setTextColor(this.color,{staticClass:"v-progress-circular",attrs:{role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":this.indeterminate?void 0:this.normalizedValue},class:this.classes,style:this.styles,on:this.$listeners}),[this.genSvg(),this.genInfo()])}})},4930:function(t,e,n){var i=n("605d"),r=n("2d00"),s=n("d039");t.exports=!!Object.getOwnPropertySymbols&&!s((function(){return!Symbol.sham&&(i?38===r:r>37&&r<41)}))},"495d":function(t,e,n){},"498a":function(t,e,n){"use strict";var i=n("23e7"),r=n("58a8").trim,s=n("c8d2");i({target:"String",proto:!0,forced:s("trim")},{trim:function(){return r(this)}})},"4ad4":function(t,e,n){"use strict";var i=n("53ca"),r=(n("caad"),n("b64b"),n("b0c0"),n("16b7")),s=n("f2e7"),a=n("58df"),o=n("80d2"),c=n("d9bd"),l=Object(a["a"])(r["a"],s["a"]);e["a"]=l.extend({name:"activatable",props:{activator:{default:null,validator:function(t){return["string","object"].includes(Object(i["a"])(t))}},disabled:Boolean,internalActivator:Boolean,openOnHover:Boolean,openOnFocus:Boolean},data:function(){return{activatorElement:null,activatorNode:[],events:["click","mouseenter","mouseleave","focus"],listeners:{}}},watch:{activator:"resetActivator",openOnFocus:"resetActivator",openOnHover:"resetActivator"},mounted:function(){var t=Object(o["s"])(this,"activator",!0);t&&["v-slot","normal"].includes(t)&&Object(c["b"])('The activator slot must be bound, try \'