openc3-cosmos-tool-dataviewer 5.18.0 → 5.19.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aed951455cab22b6662877d057533a2da948f2276d59f70dc2e8ce904e6bf3e8
4
- data.tar.gz: 9996ff5893caf7111200ab262f1f12a6bde0be3d54839809c63c57b5484bdde8
3
+ metadata.gz: d0ab2122c6dfcad8833bb48a66a613328cc3a51aad0db14a75d52782d83413a7
4
+ data.tar.gz: 3f20f461b72d68c720d0b8055b582863c8d4232a6f14be9f8b0bbbb6730c1a72
5
5
  SHA512:
6
- metadata.gz: 90a4080cb5c661ac7a6a3a13b7ef911b19c7db6498d0c57d78003faaee65f4c4d12129ca357b0af3a5abc2780a2dacaf9573214583222a058b3c28542efa4a03
7
- data.tar.gz: 6183d474a12a7dc9a8aff3d5cb26b4343380a9222776fbd36e7252d6d7d5381072d69ceed040ab23e29f36e70e017173ad2ec30cd170cc673528acf265b754fc
6
+ metadata.gz: ec85b040ef217992424ceeafc7ea0ba58df8667498b1bda6206a29abd9bb02d0c1581f1bc06d27322e38b35096f2ce7325316c724a80036b6e7cd0445f18d80b
7
+ data.tar.gz: '049174c2bb5baa08cfe803637054365f03322b6a20753494c39032c622221dd0f196445a61ebea447868cdfc55c992bf1dea687d8acf79f47afa6c5c7c6ffd14'
@@ -0,0 +1,2 @@
1
+ (self["webpackChunk_openc3_cosmos_tool_dataviewer"]=self["webpackChunk_openc3_cosmos_tool_dataviewer"]||[]).push([[60],{7060:(e,n,t)=>{"use strict";function l(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DataViewer.vue",n="3d3c1dcc8a3250306bd9d0937e7c7da65475bc97",t=new Function("return this")(),i="__coverage__",o={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DataViewer.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:7098}},4:{start:{line:1,column:273},end:{line:1,column:286}},5:{start:{line:1,column:654},end:{line:1,column:671}},6:{start:{line:1,column:908},end:{line:1,column:925}},7:{start:{line:1,column:1164},end:{line:1,column:1179}},8:{start:{line:1,column:1427},end:{line:1,column:1442}},9:{start:{line:1,column:2238},end:{line:1,column:2253}},10:{start:{line:1,column:2453},end:{line:1,column:2466}},11:{start:{line:1,column:2657},end:{line:1,column:2682}},12:{start:{line:1,column:2873},end:{line:1,column:2887}},13:{start:{line:1,column:2957},end:{line:1,column:3123}},14:{start:{line:1,column:3041},end:{line:1,column:3066}},15:{start:{line:1,column:3238},end:{line:1,column:3486}},16:{start:{line:1,column:3630},end:{line:1,column:3644}},17:{start:{line:1,column:3713},end:{line:1,column:4735}},18:{start:{line:1,column:4082},end:{line:1,column:4278}},19:{start:{line:1,column:4183},end:{line:1,column:4209}},20:{start:{line:1,column:4524},end:{line:1,column:4543}},21:{start:{line:1,column:5126},end:{line:1,column:5144}},22:{start:{line:1,column:5362},end:{line:1,column:5380}},23:{start:{line:1,column:5525},end:{line:1,column:5546}},24:{start:{line:1,column:5877},end:{line:1,column:5895}},25:{start:{line:1,column:6513},end:{line:1,column:6532}},26:{start:{line:1,column:7015},end:{line:1,column:7045}},27:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:257},end:{line:1,column:258}},loc:{start:{line:1,column:272},end:{line:1,column:287}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:638},end:{line:1,column:639}},loc:{start:{line:1,column:653},end:{line:1,column:672}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:892},end:{line:1,column:893}},loc:{start:{line:1,column:907},end:{line:1,column:926}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1148},end:{line:1,column:1149}},loc:{start:{line:1,column:1163},end:{line:1,column:1180}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:1411},end:{line:1,column:1412}},loc:{start:{line:1,column:1426},end:{line:1,column:1443}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:1,column:2222},end:{line:1,column:2223}},loc:{start:{line:1,column:2237},end:{line:1,column:2254}},line:1},7:{name:"(anonymous_7)",decl:{start:{line:1,column:2437},end:{line:1,column:2438}},loc:{start:{line:1,column:2452},end:{line:1,column:2467}},line:1},8:{name:"(anonymous_8)",decl:{start:{line:1,column:2641},end:{line:1,column:2642}},loc:{start:{line:1,column:2656},end:{line:1,column:2683}},line:1},9:{name:"(anonymous_9)",decl:{start:{line:1,column:2857},end:{line:1,column:2858}},loc:{start:{line:1,column:2872},end:{line:1,column:2888}},line:1},10:{name:"(anonymous_10)",decl:{start:{line:1,column:2937},end:{line:1,column:2938}},loc:{start:{line:1,column:2956},end:{line:1,column:3124}},line:1},11:{name:"(anonymous_11)",decl:{start:{line:1,column:3030},end:{line:1,column:3031}},loc:{start:{line:1,column:3041},end:{line:1,column:3066}},line:1},12:{name:"(anonymous_12)",decl:{start:{line:1,column:3214},end:{line:1,column:3215}},loc:{start:{line:1,column:3237},end:{line:1,column:3487}},line:1},13:{name:"(anonymous_13)",decl:{start:{line:1,column:3614},end:{line:1,column:3615}},loc:{start:{line:1,column:3629},end:{line:1,column:3645}},line:1},14:{name:"(anonymous_14)",decl:{start:{line:1,column:3693},end:{line:1,column:3694}},loc:{start:{line:1,column:3712},end:{line:1,column:4736}},line:1},15:{name:"(anonymous_15)",decl:{start:{line:1,column:4058},end:{line:1,column:4059}},loc:{start:{line:1,column:4081},end:{line:1,column:4279}},line:1},16:{name:"(anonymous_16)",decl:{start:{line:1,column:4177},end:{line:1,column:4178}},loc:{start:{line:1,column:4183},end:{line:1,column:4209}},line:1},17:{name:"(anonymous_17)",decl:{start:{line:1,column:4511},end:{line:1,column:4512}},loc:{start:{line:1,column:4524},end:{line:1,column:4543}},line:1},18:{name:"(anonymous_18)",decl:{start:{line:1,column:5110},end:{line:1,column:5111}},loc:{start:{line:1,column:5125},end:{line:1,column:5145}},line:1},19:{name:"(anonymous_19)",decl:{start:{line:1,column:5346},end:{line:1,column:5347}},loc:{start:{line:1,column:5361},end:{line:1,column:5381}},line:1},20:{name:"(anonymous_20)",decl:{start:{line:1,column:5509},end:{line:1,column:5510}},loc:{start:{line:1,column:5524},end:{line:1,column:5547}},line:1},21:{name:"(anonymous_21)",decl:{start:{line:1,column:5861},end:{line:1,column:5862}},loc:{start:{line:1,column:5876},end:{line:1,column:5896}},line:1},22:{name:"(anonymous_22)",decl:{start:{line:1,column:6497},end:{line:1,column:6498}},loc:{start:{line:1,column:6512},end:{line:1,column:6533}},line:1},23:{name:"(anonymous_23)",decl:{start:{line:1,column:6999},end:{line:1,column:7e3}},loc:{start:{line:1,column:7014},end:{line:1,column:7046}},line:1}},branchMap:{0:{loc:{start:{line:1,column:1048},end:{line:1,column:1087}},type:"cond-expr",locations:[{start:{line:1,column:1062},end:{line:1,column:1082}},{start:{line:1,column:1085},end:{line:1,column:1087}}],line:1},1:{loc:{start:{line:1,column:1311},end:{line:1,column:1350}},type:"cond-expr",locations:[{start:{line:1,column:1325},end:{line:1,column:1345}},{start:{line:1,column:1348},end:{line:1,column:1350}}],line:1},2:{loc:{start:{line:1,column:1539},end:{line:1,column:1913}},type:"cond-expr",locations:[{start:{line:1,column:1553},end:{line:1,column:1705}},{start:{line:1,column:1706},end:{line:1,column:1913}}],line:1},3:{loc:{start:{line:1,column:2005},end:{line:1,column:2054}},type:"binary-expr",locations:[{start:{line:1,column:2005},end:{line:1,column:2016}},{start:{line:1,column:2020},end:{line:1,column:2029}},{start:{line:1,column:2033},end:{line:1,column:2054}}],line:1},4:{loc:{start:{line:1,column:3302},end:{line:1,column:3352}},type:"cond-expr",locations:[{start:{line:1,column:3333},end:{line:1,column:3347}},{start:{line:1,column:3350},end:{line:1,column:3352}}],line:1},5:{loc:{start:{line:1,column:4576},end:{line:1,column:4723}},type:"cond-expr",locations:[{start:{line:1,column:4611},end:{line:1,column:4714}},{start:{line:1,column:4715},end:{line:1,column:4723}}],line:1},6:{loc:{start:{line:1,column:4753},end:{line:1,column:4941}},type:"cond-expr",locations:[{start:{line:1,column:4779},end:{line:1,column:4932}},{start:{line:1,column:4933},end:{line:1,column:4941}}],line:1},7:{loc:{start:{line:1,column:4958},end:{line:1,column:5181}},type:"cond-expr",locations:[{start:{line:1,column:4975},end:{line:1,column:5172}},{start:{line:1,column:5173},end:{line:1,column:5181}}],line:1},8:{loc:{start:{line:1,column:5194},end:{line:1,column:5417}},type:"cond-expr",locations:[{start:{line:1,column:5211},end:{line:1,column:5408}},{start:{line:1,column:5409},end:{line:1,column:5417}}],line:1},9:{loc:{start:{line:1,column:6796},end:{line:1,column:7094}},type:"cond-expr",locations:[{start:{line:1,column:6825},end:{line:1,column:7085}},{start:{line:1,column:7086},end:{line:1,column:7094}}],line:1}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"3d3c1dcc8a3250306bd9d0937e7c7da65475bc97"},a=t[i]||(t[i]={});a[e]&&a[e].hash===n||(a[e]=o);var s=a[e];return l=function(){return s},s}t.r(n),t.d(n,{default:()=>He}),l(),l().s[0]++;var i=function(){l().f[0]++;var e=(l().s[1]++,this),n=(l().s[2]++,e._self._c);return l().s[3]++,n("div",[n("top-bar",{attrs:{menus:e.menus,title:e.title}}),e._v(" "),n("v-card",[n("v-expansion-panels",{staticStyle:{"margin-bottom":"5px"},model:{value:e.panel,callback:function(n){l().f[1]++,l().s[4]++,e.panel=n},expression:"panel"}},[n("v-expansion-panel",[n("v-expansion-panel-header",{staticStyle:{"z-index":"1"}}),e._v(" "),n("v-expansion-panel-content",[n("v-row",{attrs:{dense:""}},[n("v-col",[n("v-text-field",{attrs:{label:"Start Date",type:"date",rules:[e.rules.required],"data-test":"start-date"},model:{value:e.startDate,callback:function(n){l().f[2]++,l().s[5]++,e.startDate=n},expression:"startDate"}})],1),e._v(" "),n("v-col",[n("v-text-field",{attrs:{label:"Start Time",type:"time",step:"1",rules:[e.rules.required],"data-test":"start-time"},model:{value:e.startTime,callback:function(n){l().f[3]++,l().s[6]++,e.startTime=n},expression:"startTime"}})],1),e._v(" "),n("v-col",[n("v-text-field",{attrs:{label:"End Date",type:"date",rules:e.endTime?(l().b[0][0]++,[e.rules.required]):(l().b[0][1]++,[]),"data-test":"end-date"},model:{value:e.endDate,callback:function(n){l().f[4]++,l().s[7]++,e.endDate=n},expression:"endDate"}})],1),e._v(" "),n("v-col",[n("v-text-field",{attrs:{label:"End Time",type:"time",step:"1",rules:e.endDate?(l().b[1][0]++,[e.rules.required]):(l().b[1][1]++,[]),"data-test":"end-time"},model:{value:e.endTime,callback:function(n){l().f[5]++,l().s[8]++,e.endTime=n},expression:"endTime"}})],1),e._v(" "),n("v-col",{staticClass:"pt-4",attrs:{cols:"auto"}},[e.running?(l().b[2][0]++,n("v-btn",{attrs:{color:"primary",width:"100","data-test":"stop-button"},on:{click:e.stop}},[e._v("\n Stop\n ")])):(l().b[2][1]++,n("v-btn",{staticClass:"pulse-button",attrs:{disabled:!e.canStart,color:"primary",width:"100","data-test":"start-button"},on:{click:e.start}},[e._v("\n Start\n ")]))],1)],1)],1)],1)],1),e._v(" "),n("div",{directives:[{name:"show",rawName:"v-show",value:(l().b[3][0]++,e.warning||(l().b[3][1]++,e.error)||(l().b[3][2]++,e.connectionFailure)),expression:"warning || error || connectionFailure"}],staticClass:"mb-3"},[n("v-alert",{attrs:{type:"warning",dismissible:""},model:{value:e.warning,callback:function(n){l().f[6]++,l().s[9]++,e.warning=n},expression:"warning"}},[e._v("\n "+e._s(e.warningText)+"\n ")]),e._v(" "),n("v-alert",{attrs:{type:"error",dismissible:""},model:{value:e.error,callback:function(n){l().f[7]++,l().s[10]++,e.error=n},expression:"error"}},[e._v("\n "+e._s(e.errorText)+"\n ")]),e._v(" "),n("v-alert",{attrs:{type:"error"},model:{value:e.connectionFailure,callback:function(n){l().f[8]++,l().s[11]++,e.connectionFailure=n},expression:"connectionFailure"}},[e._v("\n OpenC3 backend connection failed.\n ")])],1),e._v(" "),n("v-tabs",{ref:"tabs",model:{value:e.curTab,callback:function(n){l().f[9]++,l().s[12]++,e.curTab=n},expression:"curTab"}},[e._l(e.config.tabs,(function(t,i){return l().f[10]++,l().s[13]++,n("v-tab",{key:i,attrs:{"data-test":"tab"},on:{contextmenu:n=>(l().f[11]++,l().s[14]++,e.tabMenu(n,i))}},[e._v("\n "+e._s(t.tabName)+"\n ")])})),e._v(" "),n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:i}){return l().f[12]++,l().s[15]++,[n("v-btn",e._g(e._b({staticClass:"mt-2 ml-2",class:0===e.config.tabs.length?(l().b[4][0]++,"pulse-button"):(l().b[4][1]++,""),attrs:{icon:"","data-test":"new-tab"},on:{click:e.addTab}},"v-btn",i,!1),t),[n("v-icon",[e._v("mdi-tab-plus")])],1)]}}])},[e._v(" "),n("span",[e._v("Add Component")])])],2),e._v(" "),n("v-tabs-items",{model:{value:e.curTab,callback:function(n){l().f[13]++,l().s[16]++,e.curTab=n},expression:"curTab"}},e._l(e.config.tabs,(function(t,i){return l().f[14]++,l().s[17]++,n("v-tab-item",{key:t.ref,attrs:{eager:""}},[n("keep-alive",[n("v-card",{attrs:{flat:""}},[n("v-divider"),e._v(" "),n("v-card-title",{staticClass:"pa-3"},[n("span",{domProps:{textContent:e._s(t.name)}}),e._v(" "),n("v-spacer"),e._v(" "),n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:o}){return l().f[15]++,l().s[18]++,[n("v-btn",e._g(e._b({attrs:{icon:"","data-test":"delete-component"},on:{click:()=>(l().f[16]++,l().s[19]++,e.deleteComponent(i))}},"v-btn",o,!1),t),[n("v-icon",[e._v("mdi-delete")])],1)]}}],null,!0)},[e._v(" "),n("span",[e._v("Remove Component")])])],1),e._v(" "),n(t.type,e._g({ref:t.ref,refInFor:!0,tag:"component",attrs:{name:t.component,config:t.config,packets:t.packets},on:{config:e=>(l().f[17]++,l().s[20]++,t.config=e)}},e.$listeners)),e._v(" "),0===e.receivedPackets.length?(l().b[5][0]++,n("v-card-text",[e._v("\n No data! Make sure to hit the START button!\n ")])):(l().b[5][1]++,e._e())],1)],1)],1)})),1),e._v(" "),e.config.tabs.length?(l().b[6][1]++,e._e()):(l().b[6][0]++,n("v-card",[n("v-card-title",[e._v("You're not viewing any packets")]),e._v(" "),n("v-card-text",[e._v("Click the new tab icon to start.")])],1))],1),e._v(" "),e.openConfig?(l().b[7][0]++,n("open-config-dialog",{attrs:{configKey:e.configKey},on:{success:e.openConfiguration},model:{value:e.openConfig,callback:function(n){l().f[18]++,l().s[21]++,e.openConfig=n},expression:"openConfig"}})):(l().b[7][1]++,e._e()),e._v(" "),e.saveConfig?(l().b[8][0]++,n("save-config-dialog",{attrs:{configKey:e.configKey},on:{success:e.saveConfiguration},model:{value:e.saveConfig,callback:function(n){l().f[19]++,l().s[22]++,e.saveConfig=n},expression:"saveConfig"}})):(l().b[8][1]++,e._e()),e._v(" "),n("v-dialog",{attrs:{width:"600"},model:{value:e.tabNameDialog,callback:function(n){l().f[20]++,l().s[23]++,e.tabNameDialog=n},expression:"tabNameDialog"}},[n("v-card",[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v(" DataViewer: Rename Tab")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("v-card-text",[n("v-text-field",{attrs:{label:"Tab name","data-test":"rename-tab-input"},model:{value:e.newTabName,callback:function(n){l().f[21]++,l().s[24]++,e.newTabName=n},expression:"newTabName"}})],1),e._v(" "),n("v-card-actions",[n("v-spacer"),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{outlined:"","data-test":"cancel-rename"},on:{click:e.cancelTabRename}},[e._v("\n Cancel\n ")]),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{color:"primary","data-test":"rename",disabled:!e.newTabName},on:{click:e.renameTab}},[e._v("\n Rename\n ")])],1)],1)],1),e._v(" "),n("v-menu",{attrs:{"position-x":e.tabMenuX,"position-y":e.tabMenuY,absolute:"","offset-y":""},model:{value:e.showTabMenu,callback:function(n){l().f[22]++,l().s[25]++,e.showTabMenu=n},expression:"showTabMenu"}},[n("v-list",[n("v-list-item",{attrs:{"data-test":"context-menu-rename"}},[n("v-list-item-title",{staticStyle:{cursor:"pointer"},on:{click:e.openTabNameDialog}},[e._v("\n Rename\n ")])],1)],1)],1),e._v(" "),e.showAddComponentDialog?(l().b[9][0]++,n("add-component-dialog",{attrs:{components:e.components},on:{add:e.addComponent,cancel:e.cancelAddComponent},model:{value:e.showAddComponentDialog,callback:function(n){l().f[23]++,l().s[26]++,e.showAddComponentDialog=n},expression:"showAddComponentDialog"}})):(l().b[9][1]++,e._e())],1)},o=(l().s[27]++,[]),a=(t(9375),t(8605),t(9033),t(8903),t(1018),t(1415),t(4448),t(8871),t(6539),t(814)),s=(t(7107),t(2482),t(7067),t(4147),t(2682),t(785),t(8357),t(6196),t(821),t(6554),t(8472),t(7404),t(5803),t(3912),t(3816)),c=t(1649);const r=new c["default"],m=s.A.create({baseURL:location.origin,timeout:6e4,params:{}});m.interceptors.response.use((e=>e),(e=>{if(e.response){if(401===e.response.status&&OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity,!0).then((function(e){e&&OpenC3Auth.setTokens()})),e.response.config.headers["Ignore-Errors"]&&e.response.config.headers["Ignore-Errors"].includes(e.response.status.toString()))return Promise.reject(e);let n=`HTTP ${e.response.status} - `;throw e.response?.statusText&&(n+=`${e.response.statusText} `),e.response?.config?.data&&(n+=`${e.response.config.data} `),e.response?.data?.message?n+=`${e.response.data.message}`:e.response?.data?.exception?n+=`${e.response.data.exception}`:e.response?.data?.error?.message?(e.response.data.error.class&&(n+=`${e.response.data.error.class} `),n+=`${e.response.data.error.message}`):n+=`${e.response?.data}`,r.$notify&&r.$notify.serious({title:"Network error",body:n}),e}throw e}));const u=m;class d{constructor(){(0,a.A)(this,"id",1)}async exec(e,n,t={},l={},i=6e4){try{let e=await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);e&&OpenC3Auth.setTokens()}catch(o){OpenC3Auth.login()}this.id=this.id+1;try{t["scope"]=window.openc3Scope,l["manual"]=!0;const o=await u.post("/openc3-api/api",{jsonrpc:"2.0",method:e,params:n,id:this.id,keyword_params:t},{headers:{Authorization:localStorage.openc3Token,"Content-Type":"application/json-rpc",...l},timeout:i});return o.data.result}catch(o){let e=new Error;throw o.response?(e.name=o.response.data.error.data.class,e.message=o.response.data.error.data.message):o.request?(e.name="Request error",e.message="Request error, no response received"):e.name="Unknown error",e}}decode_openc3_type(e){if(null!==e&&"object"===typeof e&&"Float"==e.json_class&&e.raw){if("NaN"==e.raw)return NaN;if("Infinity"==e.raw)return 1/0;if("-Infinity"==e.raw)return-1/0}return null}encode_openc3_type(e){return Number.isNaN(e)?{json_class:"Float",raw:"NaN"}:e==Number.POSITIVE_INFINITY?{json_class:"Float",raw:"Infinity"}:e==Number.NEGATIVE_INFINITY?{json_class:"Float",raw:"-Infinity"}:null}ensure_offline_access(){this.offline_access_needed().then((e=>{e&&(localStorage.openc3OfflineToken?this.set_offline_access(localStorage.openc3OfflineToken).then((()=>{delete localStorage.openc3OfflineToken})):OpenC3Auth.getOfflineAccess())}))}offline_access_needed(){return this.exec("offline_access_needed",[])}set_offline_access(e){return this.exec("set_offline_access",[e])}get_all_interface_info(){return this.exec("get_all_interface_info",[])}map_target_to_interface(e,n){return this.exec("map_target_to_interface",[e,n])}connect_interface(e,...n){return n.length>0?this.exec("connect_interface",[e,...n]):this.exec("connect_interface",[e])}disconnect_interface(e){return this.exec("disconnect_interface",[e])}interface_cmd(e,n,...t){return this.exec("interface_cmd",[e,n,...t])}get_all_router_info(){return this.exec("get_all_router_info",[])}connect_router(e){return this.exec("connect_router",[e])}disconnect_router(e){return this.exec("disconnect_router",[e])}get_target_interfaces(){return this.exec("get_target_interfaces",[])}get_all_target_info(){return this.exec("get_all_target_info",[])}get_tlm_cnts(e){return this.exec("get_tlm_cnts",[e])}get_item(e,n,t){return this.exec("get_item",[e,n,t])}get_param(e,n,t){return this.exec("get_param",[e,n,t])}get_parameter(e,n,t){return this.exec("get_parameter",[e,n,t])}get_limits_sets(){return this.exec("get_limits_sets",[])}get_limits_set(){return this.exec("get_limits_set",[])}set_limits_set(e){return this.exec("set_limits_set",[e])}get_target(e){return this.exec("get_target",[e])}get_target_names(){return this.exec("get_target_names",[])}get_target_list(){return this.exec("get_target_list",[])}get_tlm(e,n){return this.exec("get_tlm",[e,n])}get_telemetry(e,n){return this.exec("get_telemetry",[e,n])}get_all_tlm(e){return this.exec("get_all_tlm",[e])}get_all_telemetry(e){return this.exec("get_all_telemetry",[e])}get_all_tlm_names(e,n=!1){return this.exec("get_all_tlm_names",[e],{hidden:n})}get_all_telemetry_names(e){return this.exec("get_all_telemetry_names",[e])}async get_tlm_packet(e,n,t,l=30){const i=await this.exec("get_tlm_packet",[e,n],{type:t,stale_time:l});if(null!=i){let e=i.length,n=null;for(let t=0;t<e;t++)n=this.decode_openc3_type(i[t][1]),null!==n&&(i[t][1]=n)}return i}get_packet_derived_items(e,n){return this.exec("get_packet_derived_items",[e,n])}get_tlm_buffer(e,n){return this.exec("get_tlm_buffer",[e,n])}async get_tlm_values(e,n=30,t=null){let l={stale_time:n};null!==t&&(l["cache_timeout"]=t);const i=await this.exec("get_tlm_values",[e],l,{},1e4);let o=i[0].length,a=null;for(let s=0;s<o;s++)a=this.decode_openc3_type(i[0][s]),null!==a&&(i[0][s]=a);return i}get_limits(e,n,t){return this.exec("get_limits",[e,n,t])}async tlm(e,n,t,l="CONVERTED"){let i=null;if(void 0===n)i=await this.exec("tlm",[e]);else if(void 0===t){if(!["RAW","CONVERTED","FORMATTED","WITH_UNITS"].includes(n)){let e=new Error;throw e.name="TypeError",e.message=`Invalid data type ${n}. Valid options are RAW, CONVERTED, FORMATTED, and WITH_UNITS.`,e}i=await this.exec("tlm",[e],{type:n})}else i=await this.exec("tlm",[e,n,t],{type:l});let o=this.decode_openc3_type(i);return null!==o&&(i=o),i}async inject_tlm(e,n,t=null,l="CONVERTED"){data=await this.exec("inject_tlm",[e,n,t],{type:l})}set_tlm(e,n,t,l){return this.exec("set_tlm",[e,n,t],{type:l})}override_tlm(e,n,t,l){return this.exec("override_tlm",[e,n,t],{type:l})}get_overrides(){return this.exec("get_overrides")}normalize_tlm(e,n,t,l){return this.exec("normalize_tlm",[e,n,t],{type:l})}get_all_cmds(e){return this.exec("get_all_cmds",[e])}get_all_commands(e){return this.exec("get_all_commands",[e])}get_all_cmd_names(e,n=!1){return this.exec("get_all_cmd_names",[e],{hidden:n})}get_all_command_names(e){return this.exec("get_all_command_names",[e])}get_cmd(e,n){return this.exec("get_cmd",[e,n])}get_command(e,n){return this.exec("get_command",[e,n])}get_cmd_cnts(e){return this.exec("get_cmd_cnts",[e])}get_cmd_value(e,n,t,l="CONVERTED"){return this.exec("get_cmd_value",[e,n,t,l])}get_cmd_buffer(e,n){return this.exec("get_cmd_buffer",[e,n])}_cmd(e,n,t,l,i){let o=null;for(let a in l)Object.prototype.hasOwnProperty.call(l,a)&&(o=this.encode_openc3_type(l[a]),null!==o&&(l[a]=o));return this.exec(e,[n,t,l],{},i)}get_cmd_hazardous(e,n,t){return void 0===n?this.exec("get_cmd_hazardous",e):this._cmd("get_cmd_hazardous",e,n,t)}cmd(e,n,t,l={}){return void 0===n?this.exec("cmd",e,{},l):this._cmd("cmd",e,n,t,l)}cmd_no_range_check(e,n,t){return void 0===n?this.exec("cmd_no_range_check",e):this._cmd("cmd_no_range_check",e,n,t)}cmd_raw(e,n,t){return void 0===n?this.exec("cmd_raw",e):this._cmd("cmd_raw",e,n,t)}cmd_raw_no_range_check(e,n,t){return void 0===n?this.exec("cmd_raw_no_range_check",e):this._cmd("cmd_raw_no_range_check",e,n,t)}cmd_no_hazardous_check(e,n,t){return void 0===n?this.exec("cmd_no_hazardous_check",e):this._cmd("cmd_no_hazardous_check",e,n,t)}cmd_no_checks(e,n,t){return void 0===n?this.exec("cmd_no_checks",e):this._cmd("cmd_no_checks",e,n,t)}cmd_raw_no_hazardous_check(e,n,t){return void 0===n?this.exec("cmd_raw_no_hazardous_check",e):this._cmd("cmd_raw_no_hazardous_check",e,n,t)}cmd_raw_no_checks(e,n,t){return void 0===n?this.exec("cmd_raw_no_checks",e):this._cmd("cmd_raw_no_checks",e,n,t)}build_cmd(e,n,t){return void 0===n?this.exec("build_cmd",e):this._cmd("build_cmd",e,n,t)}build_command(e,n,t){return void 0===n?this.exec("build_command",e):this._cmd("build_command",e,n,t)}get_interface_names(){return this.exec("get_interface_names",[])}send_raw(e,n){return this.exec("send_raw",[e,n])}list_configs(e){return this.exec("list_configs",[e])}load_config(e,n){return this.exec("load_config",[e,n])}save_config(e,n,t){return this.exec("save_config",[e,n,t])}delete_config(e,n){return this.exec("delete_config",[e,n])}enable_limits(e,n,t){return this.exec("enable_limits",[e,n,t])}disable_limits(e,n,t){return this.exec("disable_limits",[e,n,t])}get_out_of_limits(){return this.exec("get_out_of_limits",[])}get_overall_limits_state(e){return this.exec("get_overall_limits_state",[e])}list_settings(){return this.exec("list_settings",[])}get_all_settings(){return this.exec("get_all_settings",[])}get_setting(e){return this.exec("get_setting",[e])}get_settings(e){return this.exec("get_settings",e)}set_setting(e,n){return this.exec("set_setting",[e,n])}save_setting(e,n){return this.exec("save_setting",[e,n])}get_metrics(){return this.exec("get_metrics",[])}async hashString(e){if(window.isSecureContext){const n=(new TextEncoder).encode(e),t=await crypto.subtle.digest("SHA-256",n),l=new Uint8Array(t);return Array.from(l).map((e=>e.toString(16).padStart(2,"0"))).join("")}}}const A=async function(e,n,{data:t,params:l={},headers:i,noAuth:o=!1,noScope:a=!1,onUploadProgress:s=!1}={}){if(!o){try{let e=await OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity);e&&OpenC3Auth.setTokens()}catch(c){OpenC3Auth.login()}i["Authorization"]=localStorage.openc3Token}return i["manual"]=!0,a||l["scope"]||(l["scope"]=window.openc3Scope),u({method:e,url:n,data:t,params:l,headers:i,onUploadProgress:s})},p={Accept:"application/json"},h={...p,"Content-Type":"application/json"},f={get:function(e,{params:n,headers:t=p,noScope:l,noAuth:i,onUploadProgress:o}={}){return A("get",e,{params:n,headers:t,noScope:l,noAuth:i,onUploadProgress:o})},put:function(e,{data:n,params:t,headers:l=h,noScope:i,noAuth:o,onUploadProgress:a}={}){return A("put",e,{data:n,params:t,headers:l,noScope:i,noAuth:o,onUploadProgress:a})},post:function(e,{data:n,params:t,headers:l=h,noScope:i,noAuth:o,onUploadProgress:a}={}){return A("post",e,{data:n,params:t,headers:l,noScope:i,noAuth:o,onUploadProgress:a})},delete:function(e,{params:n,headers:t=p,noScope:l,noAuth:i,onUploadProgress:o}={}){return A("delete",e,{params:n,headers:t,noScope:l,noAuth:i,onUploadProgress:o})}};t(4293);const v={data:{configKey:"",dontSaveDefaultConfig:!1},methods:{loadDefaultConfig:function(){return localStorage[`${this.configKey}__default`]?JSON.parse(localStorage[`${this.configKey}__default`]):{}},saveDefaultConfig:function(e){!0!==this.dontSaveDefaultConfig&&(localStorage[`${this.configKey}__default`]=JSON.stringify(e))},openConfigBase:function(e,n=!1,t=null){(new d).load_config(this.configKey,e).then((l=>{l?(this.$notify.normal({title:"Loading configuration",body:e}),t&&t(JSON.parse(l)),n||this.$router.currentRoute.fullPath.includes(e)||this.$router.push({query:{config:e}})):this.$notify.caution({title:"Unknown configuration",body:e})})).catch((n=>{n&&this.$notify.serious({title:`Error opening configuration: ${e}`,body:n})}))},saveConfigBase:function(e,n){(new d).save_config(this.configKey,e,JSON.stringify(n)).then((()=>{this.$notify.normal({title:"Saved configuration",body:e})})).catch((n=>{n&&this.$notify.serious({title:`Error saving configuration: ${e}`,body:n})}))},resetConfigBase:function(){localStorage.removeItem(`${this.configKey}__default`),"/"!==this.$router.currentRoute.fullPath&&(this.$router.replace(this.$router.currentRoute.path),this.$router.go())}}};var C=function(){var e=this,n=e._self._c;return n("v-dialog",{attrs:{width:"600"},on:{keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"esc",27,n.key,["Esc","Escape"])?null:e.cancel.apply(null,arguments)}},model:{value:e.show,callback:function(n){e.show=n},expression:"show"}},[n("v-card",[n("form",{on:{submit:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v("Open Configuration")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("v-card-text",[n("div",{staticClass:"pa-3"},[n("v-row",{attrs:{dense:""}},[n("v-text-field",{attrs:{label:"search",type:"text","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","clear-icon":"mdi-close-circle-outline",clearable:"",autofocus:"","single-line":"","hide-details":"","data-test":"search"},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}})],1),e._v(" "),n("v-data-table",{attrs:{"show-select":"","single-select":"","item-key":"configId",search:e.search,headers:e.headers,items:e.configs,"items-per-page":5,"footer-props":{"items-per-page-options":[5]}},on:{"item-selected":e.itemSelected,"click:row":(e,n)=>n.select(e)},scopedSlots:e._u([{key:"item.actions",fn:function({item:t}){return[n("v-btn",{staticClass:"mt-1",attrs:{"data-test":"item-delete",icon:""},on:{click:function(n){return e.deleteConfig(t)}}},[n("v-icon",[e._v("mdi-delete")])],1)]}}])}),e._v(" "),n("v-row",{attrs:{dense:""}},[n("span",{directives:[{name:"show",rawName:"v-show",value:e.error,expression:"error"}],staticClass:"ma-2 red--text",domProps:{textContent:e._s(e.error)}})])],1)]),e._v(" "),n("v-card-actions",[n("v-spacer"),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{outlined:"","data-test":"open-config-cancel-btn"},on:{click:e.cancel}},[e._v("\n Cancel\n ")]),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{type:"submit",color:"primary","data-test":"open-config-submit-btn",disabled:!!e.error},on:{click:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[e._v("\n Ok\n ")])],1)],1)])],1)},b=[];const g={props:{configKey:String,value:Boolean},data(){return{configs:[],headers:[{text:"Configuration",value:"config"},{text:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedItem:null}},computed:{error:function(){return""===this.selectedItem||null===this.selectedItem?"Must select a config":null},show:{get(){return this.value},set(e){this.$emit("input",e)}}},mounted(){let e=-1;(new d).list_configs(this.configKey).then((n=>{this.configs=n.map((n=>(e+=1,{configId:e,config:n})))})).catch((e=>{this.$emit("warning",`Failed to connect to OpenC3. ${e}`)}))},methods:{itemSelected:function(e){e.value?this.selectedItem=e.item:this.selectedItem=null},success:function(){this.$emit("success",this.selectedItem.config),this.show=!1,this.search=null,this.selectedItem=null},cancel:function(){this.show=!1,this.search=null,this.selectedItem=null},deleteConfig:function(e){this.$dialog.confirm(`Are you sure you want to delete: ${e.config}`,{okText:"Delete",cancelText:"Cancel"}).then((n=>{this.selectedItem.config===e.config&&(this.selectedItem=null),this.configs.splice(this.configs.indexOf(e),1),(new d).delete_config(this.configKey,e.config)})).catch((n=>{!0!==n&&this.$emit("warning",`Failed to delete config ${e.config} Error: ${n}`)}))}}},y=g;var k=t(2401),w=(0,k.A)(y,C,b,!1,null,null,null);const T=w.exports;var x=function(){var e=this,n=e._self._c;return n("v-dialog",{attrs:{width:"600"},on:{keydown:function(n){return!n.type.indexOf("key")&&e._k(n.keyCode,"esc",27,n.key,["Esc","Escape"])?null:e.cancel.apply(null,arguments)}},model:{value:e.show,callback:function(n){e.show=n},expression:"show"}},[n("v-card",[n("form",{on:{submit:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v("Save Configuration")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("v-card-text",[n("div",{staticClass:"pa-3"},[n("v-row",{attrs:{dense:""}},[n("v-text-field",{attrs:{label:"search",type:"text","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","clear-icon":"mdi-close-circle-outline",clearable:"","single-line":"","hide-details":"","data-test":"search"},model:{value:e.search,callback:function(n){e.search=n},expression:"search"}})],1),e._v(" "),n("v-data-table",{attrs:{"show-select":"","single-select":"","item-key":"configId",search:e.search,headers:e.headers,items:e.configs,"items-per-page":5,"footer-props":{"items-per-page-options":[5]}},on:{"item-selected":e.itemSelected,"click:row":(e,n)=>n.select(e)},scopedSlots:e._u([{key:"item.actions",fn:function({item:t}){return[n("v-btn",{staticClass:"mt-1",attrs:{icon:"","data-test":"item-delete"},on:{click:function(n){return e.deleteConfig(t)}}},[n("v-icon",[e._v("mdi-delete")])],1)]}}])}),e._v(" "),n("v-row",{attrs:{dense:""}},[n("v-text-field",{attrs:{"hide-details":"",autofocus:"",disabled:!!e.selectedItem,label:"Configuration Name","data-test":"name-input-save-config-dialog"},model:{value:e.configName,callback:function(n){e.configName=n},expression:"configName"}})],1),e._v(" "),n("v-row",{attrs:{dense:""}},[n("span",{directives:[{name:"show",rawName:"v-show",value:e.error,expression:"error"}],staticClass:"ma-2 red--text",domProps:{textContent:e._s(e.error)}})])],1)]),e._v(" "),n("v-card-actions",[n("v-spacer"),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{outlined:""},on:{click:e.cancel}},[e._v(" Cancel ")]),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{type:"submit",color:"primary","data-test":"save-config-submit-btn",disabled:!!e.error},on:{click:function(n){return n.preventDefault(),e.success.apply(null,arguments)}}},[e._v("\n Ok\n ")])],1)],1)])],1)},N=[];const D={props:{configKey:String,value:Boolean},data(){return{configName:"",configs:[],headers:[{text:"Configuration",value:"config"},{text:"Actions",value:"actions",align:"end",sortable:!1}],search:null,selectedItem:null}},computed:{error:function(){return""===this.configName?"Config must have a name":null},show:{get(){return this.value},set(e){this.$emit("input",e)}}},mounted(){let e=-1;(new d).list_configs(this.configKey).then((n=>{this.configs=n.map((n=>(e+=1,{configId:e,config:n})))})).catch((e=>{this.$emit("warning",`Failed to connect to OpenC3. ${e}`)}))},methods:{itemSelected:function(e){e.value?(this.selectedItem=e.item,this.configName=e.item.config):(this.selectedItem=null,this.configName="")},success:function(){this.$emit("success",this.configName),this.show=!1,this.search=null,this.selectedItem=null,this.configName=""},cancel:function(){this.show=!1,this.search=null,this.selectedItem=null,this.configName=""},deleteConfig:function(e){this.$dialog.confirm(`Are you sure you want to delete: ${e.config}`,{okText:"Delete",cancelText:"Cancel"}).then((n=>{this.configName===e.config&&(this.selectedItem=null,this.configName=""),this.configs.splice(this.configs.indexOf(e.config),1),(new d).delete_config(this.configKey,e.config)})).catch((n=>{!0!==n&&this.$emit("warning",`Failed to delete config ${e.config} Error: ${n}`)}))}}},S=D;var P=(0,k.A)(S,x,N,!1,null,null,null);const I=P.exports;var O=t(7752);O.D$.staleThreshold=10;class ${constructor(e="/openc3-api/cable"){this._cable=null,this._url=e}disconnect(){this._cable&&this._cable.disconnect()}createSubscription(e,n,t={},l={}){return OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then((n=>{if(n&&OpenC3Auth.setTokens(),null==this._cable){let e=this._url+"?scope="+encodeURIComponent(window.openc3Scope)+"&authorization="+encodeURIComponent(localStorage.openc3Token);this._cable=O.Be(e)}return this._cable.subscriptions.create({channel:e,...l},t)}))}recordPing(){this._cable.connection.monitor.recordPing()}}var M=function(){var e=this,n=e._self._c;return n("mounting-portal",{attrs:{"mount-to":"#openc3-menu",append:""}},[n("v-row",{attrs:{"no-gutters":""}},[n("v-col",{attrs:{"align-self":"end"}},[n("span",{staticClass:"app-title mr-2"},[e._v(e._s(e.title))])])],1),e._v(" "),n("v-row",{staticClass:"flex-nowrap",attrs:{dense:""}},e._l(e.menus,(function(t,l){return n("v-menu",{key:l,ref:"topmenu",refInFor:!0,attrs:{"offset-y":""},scopedSlots:e._u([{key:"activator",fn:function({on:l,attrs:i}){return[n("v-btn",e._g(e._b({staticClass:"mx-1 menu-button",attrs:{outlined:"","data-test":e.formatDT(`${e.title} ${t.label}`)}},"v-btn",i,!1),l),[n("span",{domProps:{textContent:e._s(t.label)}}),e._v(" "),n("v-icon",{staticClass:"myicon",attrs:{right:""}},[e._v(" mdi-menu-down ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",[n("v-radio-group",{staticClass:"ma-0 pa-0",attrs:{value:t.radioGroup,"hide-details":"",dense:""}},[e._l(t.items,(function(l,i){return[l.divider?n("v-divider",{key:i}):l.subMenu&&l.subMenu.length>0?n("div",{key:i},[n("v-menu",{key:e.k,attrs:{"open-on-hover":"","offset-x":"",bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:o}){return[n("v-list-item",e._g(e._b({key:i,attrs:{disabled:l.disabled}},"v-list-item",o,!1),t),[l.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:l.disabled}},[e._v(e._s(l.icon))])],1):e._e(),e._v(" "),l.radio||l.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(l.disabled?"opacity: 0.2":"")},[e._v(e._s(l.label)+"\n ")]),e._v(" "),n("v-icon",[e._v(" mdi-chevron-right ")])],1)]}}],null,!0)},[e._v(" "),n("v-list",e._l(l.subMenu,(function(t,l){return n("v-list-item",{key:l,on:{click:function(n){return e.subMenuClick(t)}}},[t.icon?n("v-list-item-icon",[n("v-icon",[e._v(e._s(t.icon))])],1):e._e(),e._v(" "),n("v-list-item-title",[e._v(e._s(t.label))])],1)})),1)],1)],1):n("v-list-item",{key:i,attrs:{disabled:l.disabled,"data-test":e.formatDT(`${e.title} ${t.label} ${l.label}`)},on:{click:function(e){return l.command(l)}}},[l.radio?n("v-list-item-action",{staticClass:"list-action"},[n("v-radio",{attrs:{color:"secondary",label:l.label,value:l.label}})],1):e._e(),e._v(" "),l.checkbox?n("v-list-item-action",{staticClass:"list-action"},[n("v-checkbox",{attrs:{color:"secondary",label:l.label},model:{value:l.checked,callback:function(n){e.$set(l,"checked",n)},expression:"option.checked"}})],1):e._e(),e._v(" "),l.icon?n("v-list-item-icon",[n("v-icon",{attrs:{disabled:l.disabled}},[e._v(e._s(l.icon))])],1):e._e(),e._v(" "),l.radio||l.checkbox?e._e():n("v-list-item-title",{style:"cursor: pointer;"+(l.disabled?"opacity: 0.2":"")},[e._v(e._s(l.label))])],1)]}))],2)],1)],1)})),1)],1)},E=[];t(8715);const R={props:{menus:{type:Array,default:function(){return[]}},title:{type:String,default:""}},methods:{formatDT:function(e){return e.replaceAll(" ","-").toLowerCase()},subMenuClick(e){e.command(e),this.$refs.topmenu[0].isActive=!1}},mounted(){document.title=this.title}},V=R;t(5699);var L=(0,k.A)(V,M,E,!1,null,"0af23388",null);const U=L.exports;var F=t(524),B=t(5475),K=t(5179),W=t(2378);const j="yyyy-MM-dd",z="HH:mm:ss.SSS",H="HH:mm:ss",G=`${j} ${z}`,q={methods:{formatUtcToLocal(e,n){return n&&"local"!==n?(0,F.GP)(e,G):(0,F.GP)((0,B.Y)(e,e.getTimezoneOffset()),G)},formatDateTime(e,n){return n&&"local"!==n?(0,W.qD)(e,n,G):(0,F.GP)(e,G)},formatDate:function(e,n){return n&&"local"!==n?(0,W.qD)(e,this.timeZone,j):(0,F.GP)(e,j)},formatTime:function(e,n,t=z){return n&&"local"!==n?(0,W.qD)(e,this.timeZone,t):(0,F.GP)(e,t)},formatTimeHMS:function(e,n){return this.formatTime(e,n,H)},formatTimestamp(e,n){return this.formatDateTime((0,K.H)(e),n)},formatSeconds(e,n){return this.formatDateTime(new Date(1e3*e),n)},formatNanoseconds(e,n){return this.formatDateTime(new Date(parseInt(e)/1e6),n)}}};function Y(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/AddComponentDialog.vue",n="7d237f8f8b6507f1b9e24a90a39b30ed9070d9e8",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/AddComponentDialog.vue",statementMap:{0:{start:{line:1,column:13},end:{line:9,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:8,column:1026}},4:{start:{line:1,column:164},end:{line:1,column:176}},5:{start:{line:1,column:729},end:{line:1,column:754}},6:{start:{line:1,column:1086},end:{line:1,column:1111}},7:{start:{line:1,column:1733},end:{line:1,column:1754}},8:{start:{line:1,column:2296},end:{line:1,column:2322}},9:{start:{line:8,column:113},end:{line:8,column:138}},10:{start:{line:8,column:202},end:{line:8,column:571}},11:{start:{line:8,column:310},end:{line:8,column:505}},12:{start:{line:8,column:374},end:{line:8,column:401}},13:{start:{line:10,column:22},end:{line:10,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:9,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:148},end:{line:1,column:149}},loc:{start:{line:1,column:163},end:{line:1,column:177}},line:1},2:{name:"(anonymous_2)",decl:{start:{line:1,column:713},end:{line:1,column:714}},loc:{start:{line:1,column:728},end:{line:1,column:755}},line:1},3:{name:"(anonymous_3)",decl:{start:{line:1,column:1070},end:{line:1,column:1071}},loc:{start:{line:1,column:1085},end:{line:1,column:1112}},line:1},4:{name:"(anonymous_4)",decl:{start:{line:1,column:1717},end:{line:1,column:1718}},loc:{start:{line:1,column:1732},end:{line:1,column:1755}},line:1},5:{name:"(anonymous_5)",decl:{start:{line:1,column:2280},end:{line:1,column:2281}},loc:{start:{line:1,column:2295},end:{line:1,column:2323}},line:1},6:{name:"(anonymous_6)",decl:{start:{line:8,column:96},end:{line:8,column:97}},loc:{start:{line:8,column:112},end:{line:8,column:139}},line:8},7:{name:"(anonymous_7)",decl:{start:{line:8,column:183},end:{line:8,column:184}},loc:{start:{line:8,column:201},end:{line:8,column:572}},line:8},8:{name:"(anonymous_8)",decl:{start:{line:8,column:286},end:{line:8,column:287}},loc:{start:{line:8,column:309},end:{line:8,column:506}},line:8},9:{name:"(anonymous_9)",decl:{start:{line:8,column:357},end:{line:8,column:358}},loc:{start:{line:8,column:373},end:{line:8,column:402}},line:8}},branchMap:{0:{loc:{start:{line:1,column:1447},end:{line:1,column:1489}},type:"cond-expr",locations:[{start:{line:1,column:1464},end:{line:1,column:1474}},{start:{line:1,column:1477},end:{line:1,column:1489}}],line:1},1:{loc:{start:{line:1,column:2080},end:{line:1,column:2367}},type:"cond-expr",locations:[{start:{line:1,column:2112},end:{line:1,column:2358}},{start:{line:1,column:2359},end:{line:1,column:2367}}],line:1}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},b:{0:[0,0],1:[0,0]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"7d237f8f8b6507f1b9e24a90a39b30ed9070d9e8"},o=t[l]||(t[l]={});o[e]&&o[e].hash===n||(o[e]=i);var a=o[e];return Y=function(){return a},a}Y(),Y().s[0]++;var Z=function(){Y().f[0]++;var e=(Y().s[1]++,this),n=(Y().s[2]++,e._self._c);return Y().s[3]++,n("div",[n("v-dialog",{attrs:{width:"1200"},model:{value:e.show,callback:function(n){Y().f[1]++,Y().s[4]++,e.show=n},expression:"show"}},[n("v-card",[n("v-system-bar",[n("v-spacer"),e._v(" "),n("span",[e._v(" Configure Component ")]),e._v(" "),n("v-spacer")],1),e._v(" "),n("v-card-text",[n("v-container",[n("v-row",{attrs:{align:"center"}},[n("v-col",[e._v("Select Component:")]),e._v(" "),n("v-col",[n("v-select",{attrs:{"hide-details":"",dense:"",outlined:"",items:e.components,"item-text":"label","item-value":"value","return-object":"","data-test":"select-component"},model:{value:e.selectedComponent,callback:function(n){Y().f[2]++,Y().s[5]++,e.selectedComponent=n},expression:"selectedComponent"}})],1)],1),e._v(" "),n("v-row",[n("v-col",[e._v("Add packets for this component to process.")])],1),e._v(" "),n("v-row",[n("v-col",{staticClass:"my-2"},[n("v-radio-group",{staticClass:"mt-0",attrs:{row:"","hide-details":""},model:{value:e.newPacketCmdOrTlm,callback:function(n){Y().f[3]++,Y().s[6]++,e.newPacketCmdOrTlm=n},expression:"newPacketCmdOrTlm"}},[n("v-radio",{attrs:{label:"Command",value:"cmd","data-test":"command-packet-radio"}}),e._v(" "),n("v-radio",{attrs:{label:"Telemetry",value:"tlm","data-test":"telemetry-packet-radio"}})],1)],1)],1),e._v(" "),n("v-row",[n("v-col",[n("target-packet-item-chooser",{attrs:{"button-text":e.chooseItem?(Y().b[0][0]++,"Add Item"):(Y().b[0][1]++,"Add Packet"),mode:e.newPacketCmdOrTlm,chooseItem:e.chooseItem},on:{click:e.addValue}})],1)],1),e._v(" "),n("v-row",[n("v-col",[n("v-radio-group",{attrs:{row:"","hide-details":""},model:{value:e.newPacketMode,callback:function(n){Y().f[4]++,Y().s[7]++,e.newPacketMode=n},expression:"newPacketMode"}},[n("v-radio",{attrs:{label:"Raw",value:"RAW",disabled:e.disableRadioOptions,"data-test":"new-packet-raw-radio"}}),e._v(" "),n("v-radio",{attrs:{label:"Decom",value:"DECOM",disabled:e.disableRadioOptions,"data-test":"new-packet-decom-radio"}})],1)],1),e._v(" "),n("v-col",["DECOM"===e.newPacketMode?(Y().b[1][0]++,n("v-select",{attrs:{"hide-details":"",label:"Value Type","data-test":"add-packet-value-type",items:e.valueTypes},model:{value:e.newPacketValueType,callback:function(n){Y().f[5]++,Y().s[8]++,e.newPacketValueType=n},expression:"newPacketValueType"}})):(Y().b[1][1]++,e._e())],1)],1),e._v(" "),n("v-row",[n("v-col",[n("v-data-table",{attrs:{headers:e.headers,items:e.packets,search:e.search,"items-per-page":e.itemsPerPage,"footer-props":{itemsPerPageOptions:[10,100],showFirstLastPage:!0,firstIcon:"mdi-page-first",lastIcon:"mdi-page-last",prevIcon:"mdi-chevron-left",nextIcon:"mdi-chevron-right"},"calculate-widths":"","multi-sort":"",dense:""},on:{"update:items-per-page":function(n){Y().f[6]++,Y().s[9]++,e.itemsPerPage=n}},scopedSlots:e._u([{key:"item.delete",fn:function({item:t}){return Y().f[7]++,Y().s[10]++,[n("v-tooltip",{attrs:{bottom:""},scopedSlots:e._u([{key:"activator",fn:function({on:l,attrs:i}){return Y().f[8]++,Y().s[11]++,[n("v-icon",e._g(e._b({on:{click:function(n){return Y().f[9]++,Y().s[12]++,e.deleteItem(t)}}},"v-icon",i,!1),l),[e._v("\n mdi-delete\n ")])]}}],null,!0)},[e._v(" "),n("span",[e._v("Delete Item")])])]}}])})],1)],1)],1)],1),e._v(" "),n("v-card-actions",[n("v-spacer"),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{outlined:"","data-test":"cancel-component"},on:{click:e.cancelAddComponent}},[e._v("\n Cancel\n ")]),e._v(" "),n("v-btn",{staticClass:"mx-2",attrs:{color:"primary","data-test":"add-component",disabled:e.notValid},on:{click:e.addComponent}},[e._v("\n Create\n ")])],1)],1)],1)],1)},X=(Y().s[13]++,[]),J=function(){var e=this,n=e._self._c;return n("div",{staticClass:"pt-4 tgt-pkt-item-chooser"},[n("v-row",[n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"select-target"}},[n("v-autocomplete",{attrs:{label:"Select Target","hide-details":"",dense:"",outlined:"",items:e.targetNames,"item-text":"label","item-value":"value"},on:{change:e.targetNameChanged},model:{value:e.selectedTargetName,callback:function(n){e.selectedTargetName=n},expression:"selectedTargetName"}})],1),e._v(" "),n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"select-packet"}},[n("v-autocomplete",{attrs:{label:"Select Packet","hide-details":"",dense:"",outlined:"",disabled:e.packetsDisabled||e.autocompleteDisabled,items:e.packetNames,"item-text":"label","item-value":"value"},on:{change:e.packetNameChanged},model:{value:e.selectedPacketName,callback:function(n){e.selectedPacketName=n},expression:"selectedPacketName"}})],1),e._v(" "),e.chooseItem?n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"select-item"}},[n("v-autocomplete",{attrs:{label:"Select Item","hide-details":"",dense:"",outlined:"",disabled:e.itemsDisabled||e.autocompleteDisabled,items:e.itemNames,"item-text":"label","item-value":"value"},on:{change:function(n){return e.itemNameChanged(n)}},model:{value:e.selectedItemName,callback:function(n){e.selectedItemName=n},expression:"selectedItemName"}})],1):e._e(),e._v(" "),e.itemIsArray()?n("v-col",{staticClass:"select",attrs:{cols:"1","data-test":"array-index"}},[n("v-combobox",{attrs:{label:"Index","hide-details":"",dense:"",outlined:"",disabled:e.itemsDisabled||e.autocompleteDisabled,items:e.arrayIndexes(),"item-text":"label","item-value":"value"},on:{change:function(n){return e.indexChanged(n)}},model:{value:e.selectedArrayIndex,callback:function(n){e.selectedArrayIndex=n},expression:"selectedArrayIndex"}})],1):e._e(),e._v(" "),e.buttonText?n("v-col",{staticStyle:{"max-width":"140px"},attrs:{cols:e.colSize}},[n("v-btn",{attrs:{disabled:e.buttonDisabled,block:"",color:"primary","data-test":"select-send"},on:{click:e.buttonPressed}},[e._v("\n "+e._s(e.actualButtonText)+"\n ")])],1):e._e()],1),e._v(" "),e.selectTypes?n("v-row",[n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"data-type"}},[n("v-autocomplete",{attrs:{label:"Value Type","hide-details":"",dense:"",outlined:"",items:e.valueTypes},model:{value:e.selectedValueType,callback:function(n){e.selectedValueType=n},expression:"selectedValueType"}})],1),e._v(" "),n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"reduced"}},[n("v-autocomplete",{attrs:{label:"Reduced","hide-details":"",dense:"",outlined:"",items:e.reductionModes},model:{value:e.selectedReduced,callback:function(n){e.selectedReduced=n},expression:"selectedReduced"}})],1),e._v(" "),n("v-col",{staticClass:"select",attrs:{cols:e.colSize,"data-test":"reduced-type"}},[n("v-autocomplete",{attrs:{label:"Reduced Type","hide-details":"",dense:"",outlined:"",disabled:"DECOM"===e.selectedReduced,items:e.reducedTypes},model:{value:e.selectedReducedType,callback:function(n){e.selectedReducedType=n},expression:"selectedReducedType"}})],1),e._v(" "),n("v-col",{staticStyle:{"max-width":"140px"},attrs:{cols:e.colSize}})],1):e._e(),e._v(" "),n("v-row",{staticClass:"pt-1",attrs:{"no-gutters":""}},[e.hazardous?n("v-col",{staticClass:"openc3-yellow",attrs:{cols:e.colSize}},[e._v("Description: "+e._s(e.description)+" (HAZARDOUS)")]):n("v-col",{attrs:{cols:e.colSize}},[e._v("Description: "+e._s(e.description)+" ")])],1)],1)},Q=[];t(7534);const ee={props:{allowAll:{type:Boolean,default:!1},allowAllTargets:{type:Boolean,default:!1},buttonText:{type:String,default:null},chooseItem:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},initialTargetName:{type:String,default:""},initialPacketName:{type:String,default:""},initialItemName:{type:String,default:""},selectTypes:{type:Boolean,default:!1},mode:{type:String,default:"tlm",validator:e=>["cmd","tlm"].includes(e)},unknown:{type:Boolean,default:!1},vertical:{type:Boolean,default:!1},hidden:{type:Boolean,default:!1}},data(){return{targetNames:[],selectedTargetName:this.initialTargetName?.toUpperCase(),packetNames:[],selectedPacketName:this.initialPacketName?.toUpperCase(),itemNames:[],selectedItemName:this.initialItemName?.toUpperCase(),valueTypes:["CONVERTED","RAW"],selectedValueType:"CONVERTED",reductionModes:[{text:"NONE",value:"DECOM"},{text:"REDUCED_MINUTE",value:"REDUCED_MINUTE"},{text:"REDUCED_HOUR",value:"REDUCED_HOUR"},{text:"REDUCED_DAY",value:"REDUCED_DAY"}],selectedArrayIndex:null,selectedReduced:"DECOM",reducedTypes:["MIN","MAX","AVG","STDDEV"],selectedReducedType:"AVG",description:"",hazardous:!1,internalDisabled:!1,packetsDisabled:!1,itemsDisabled:!1,api:null,ALL:{label:"[ ALL ]",value:"ALL",description:"ALL"},UNKNOWN:{label:"[ UNKNOWN ]",value:"UNKNOWN",description:"UNKNOWN"}}},created(){this.internalDisabled=!0,this.api=new d,this.api.get_target_names().then((e=>{this.targetNames=e.flatMap((e=>"UNKNOWN"==e?[]:{label:e,value:e})),this.allowAllTargets&&this.targetNames.unshift(this.ALL),this.selectedTargetName||(this.selectedTargetName=this.targetNames[0].value,this.targetNameChanged(this.selectedTargetName)),this.updatePackets(),this.unknown&&this.targetNames.push(this.UNKNOWN)}))},computed:{actualButtonText:function(){return"ALL"===this.selectedPacketName?"Add Target":"ALL"===this.selectedItemName?"Add Packet":this.buttonText},autocompleteDisabled:function(){return this.disabled||this.internalDisabled},buttonDisabled:function(){return this.disabled||this.internalDisabled||null===this.selectedTargetName||null===this.selectedPacketName||null===this.selectedItemNameWIndex},colSize:function(){return!!this.vertical&&12},selectedItemNameWIndex:function(){return null!==this.selectedArrayIndex&&this.selectedArrayIndex!==this.ALL.label?`${this.selectedItemName}[${this.selectedArrayIndex}]`:this.selectedItemName}},watch:{mode:function(e,n){this.selectedPacketName=null,this.selectedItemName=null,this.updatePackets()}},methods:{updatePackets:function(){if("UNKNOWN"===this.selectedTargetName)return this.packetNames=[this.UNKNOWN],this.selectedPacketName=this.packetNames[0].value,this.updatePacketDetails(this.UNKNOWN.value),void(this.description="UNKNOWN");if("ALL"===this.selectedTargetName)return this.packetNames=[this.ALL],this.selectedPacketName=this.packetNames[0].value,this.updatePacketDetails(this.ALL.value),void(this.description="ALL");this.internalDisabled=!0;const e="tlm"===this.mode?"get_all_tlm_names":"get_all_cmd_names";this.api[e](this.selectedTargetName,this.hidden).then((e=>{this.packetNames=e.map((e=>({label:e,value:e}))),this.allowAll&&this.packetNames.unshift(this.ALL),this.selectedPacketName||(this.selectedPacketName=this.packetNames[0].value),this.updatePacketDetails(this.selectedPacketName);const n=this.packetNames.find((e=>e.value===this.selectedPacketName));n&&this.chooseItem&&this.updateItems(),this.internalDisabled=!1}))},updateItems:function(){if("ALL"===this.selectedPacketName)return;this.internalDisabled=!0;const e="tlm"===this.mode?"get_tlm":"get_cmd";this.api[e](this.selectedTargetName,this.selectedPacketName).then((e=>{this.itemNames=e.items.map((e=>{let n=e.name;return"DERIVED"==e.data_type&&(n+=" *"),[{label:n,value:e.name,description:e.description,array:e.array_size/e.bit_size}]})).reduce(((e,n)=>e.concat(n)),[]),this.itemNames.sort(((e,n)=>e.label>n.label?1:-1)),this.allowAll&&this.itemNames.unshift(this.ALL),this.selectedItemName||(this.selectedItemName=this.itemNames[0].value),this.description=this.itemNames[0].description,this.itemIsArray(),this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType}),this.internalDisabled=!1}))},itemIsArray:function(){let e=this.itemNames.findIndex((e=>e.value===this.selectedItemName));return-1===e||isNaN(this.itemNames[e].array)?(this.selectedArrayIndex=null,!1):(null===this.selectedArrayIndex&&(this.selectedArrayIndex=0),!0)},arrayIndexes:function(){let e=this.itemNames.findIndex((e=>e.value===this.selectedItemName)),n=[...Array(this.itemNames[e].array).keys()];return this.allowAll&&n.unshift(this.ALL.label),n},targetNameChanged:function(e){this.selectedTargetName=e,this.selectedPacketName="",this.selectedItemName="",null!==e&&this.updatePackets()},packetNameChanged:function(e){this.selectedItemName="",null!==e&&this.updatePacketDetails(e)},updatePacketDetails:function(e){if("ALL"===e)this.itemsDisabled=!0,this.internalDisabled=!1;else{this.itemsDisabled=!1;const n=this.packetNames.find((n=>e===n.value));if(n){this.selectedPacketName=n.value;const e="tlm"===this.mode?"get_tlm":"get_cmd";this.api[e](this.selectedTargetName,this.selectedPacketName).then((e=>{this.description=e.description,this.hazardous=e.hazardous}))}}this.chooseItem?this.updateItems():this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})},itemNameChanged:function(e){const n=this.itemNames.find((n=>e===n.value));n&&(this.itemIsArray(),this.selectedItemName=n.value,this.description=n.description,this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType}))},indexChanged:function(e){this.$emit("on-set",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})},buttonPressed:function(){"ALL"===this.selectedPacketName?this.allTargetPacketItems():"ALL"===this.selectedItemName?this.allPacketItems():this.chooseItem?this.$emit("click",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:this.selectedItemNameWIndex,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType}):this.$emit("click",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})},allTargetPacketItems:function(){this.packetNames.forEach((e=>{if(e===this.ALL)return;const n="tlm"===this.mode?"get_tlm":"get_cmd";this.api[n](this.selectedTargetName,e.value).then((n=>{n.items.forEach((n=>{this.$emit("click",{targetName:this.selectedTargetName,packetName:e.value,itemName:n["name"],valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})}))}))}))},allPacketItems:function(){this.itemNames.forEach((e=>{e!==this.ALL&&this.$emit("click",{targetName:this.selectedTargetName,packetName:this.selectedPacketName,itemName:e.value,valueType:this.selectedValueType,reduced:this.selectedReduced,reducedType:this.selectedReducedType})}))}}},ne=ee;t(1335);var te=(0,k.A)(ne,J,Q,!1,null,"3e1063ee",null);const le=te.exports;function ie(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/AddComponentDialog.vue",n="a492605420e7385f153164ced48fbd08bce2fe6a",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/AddComponentDialog.vue",statementMap:{0:{start:{line:13,column:4},end:{line:33,column:5}},1:{start:{line:37,column:6},end:{line:41,column:7}},2:{start:{line:38,column:8},end:{line:38,column:19}},3:{start:{line:40,column:8},end:{line:40,column:20}},4:{start:{line:45,column:8},end:{line:45,column:25}},5:{start:{line:48,column:8},end:{line:48,column:34}},6:{start:{line:56,column:8},end:{line:56,column:29}},7:{start:{line:61,column:8},end:{line:69,column:9}},8:{start:{line:62,column:10},end:{line:62,column:32}},9:{start:{line:63,column:10},end:{line:63,column:38}},10:{start:{line:64,column:10},end:{line:64,column:41}},11:{start:{line:66,column:10},end:{line:66,column:33}},12:{start:{line:67,column:10},end:{line:67,column:36}},13:{start:{line:68,column:10},end:{line:68,column:42}},14:{start:{line:75,column:17},end:{line:75,column:40}},15:{start:{line:76,column:6},end:{line:78,column:7}},16:{start:{line:77,column:8},end:{line:77,column:20}},17:{start:{line:79,column:6},end:{line:86,column:8}},18:{start:{line:89,column:6},end:{line:94,column:8}},19:{start:{line:97,column:18},end:{line:97,column:44}},20:{start:{line:98,column:6},end:{line:98,column:35}},21:{start:{line:101,column:6},end:{line:101,column:30}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:12,column:2},end:{line:12,column:3}},loc:{start:{line:12,column:9},end:{line:34,column:3}},line:12},1:{name:"(anonymous_1)",decl:{start:{line:36,column:14},end:{line:36,column:15}},loc:{start:{line:36,column:26},end:{line:42,column:5}},line:36},2:{name:"(anonymous_2)",decl:{start:{line:44,column:6},end:{line:44,column:7}},loc:{start:{line:44,column:12},end:{line:46,column:7}},line:44},3:{name:"(anonymous_3)",decl:{start:{line:47,column:6},end:{line:47,column:7}},loc:{start:{line:47,column:17},end:{line:49,column:7}},line:47},4:{name:"(anonymous_4)",decl:{start:{line:55,column:15},end:{line:55,column:16}},loc:{start:{line:55,column:27},end:{line:57,column:7}},line:55},5:{name:"(anonymous_5)",decl:{start:{line:60,column:15},end:{line:60,column:16}},loc:{start:{line:60,column:27},end:{line:70,column:7}},line:60},6:{name:"(anonymous_6)",decl:{start:{line:74,column:14},end:{line:74,column:15}},loc:{start:{line:74,column:31},end:{line:87,column:5}},line:74},7:{name:"(anonymous_7)",decl:{start:{line:88,column:18},end:{line:88,column:19}},loc:{start:{line:88,column:35},end:{line:95,column:5}},line:88},8:{name:"(anonymous_8)",decl:{start:{line:96,column:16},end:{line:96,column:17}},loc:{start:{line:96,column:32},end:{line:99,column:5}},line:96},9:{name:"(anonymous_9)",decl:{start:{line:100,column:24},end:{line:100,column:25}},loc:{start:{line:100,column:36},end:{line:102,column:5}},line:100}},branchMap:{0:{loc:{start:{line:37,column:6},end:{line:41,column:7}},type:"if",locations:[{start:{line:37,column:6},end:{line:41,column:7}},{start:{line:39,column:13},end:{line:41,column:7}}],line:37},1:{loc:{start:{line:37,column:10},end:{line:37,column:70}},type:"binary-expr",locations:[{start:{line:37,column:10},end:{line:37,column:41}},{start:{line:37,column:45},end:{line:37,column:70}}],line:37},2:{loc:{start:{line:61,column:8},end:{line:69,column:9}},type:"if",locations:[{start:{line:61,column:8},end:{line:69,column:9}},{start:{line:65,column:15},end:{line:69,column:9}}],line:61},3:{loc:{start:{line:76,column:6},end:{line:78,column:7}},type:"if",locations:[{start:{line:76,column:6},end:{line:78,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:76}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,sources:["AddComponentDialog.vue"],names:[],mappings:";AAkLA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"AddComponentDialog.vue",sourceRoot:"src/tools/DataViewer",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n \x3c!-- Dialog for adding a new component to a tab --\x3e\n \x3c!-- width chosen to fit target-packet-item-chooser at full width --\x3e\n <v-dialog v-model="show" width="1200">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> Configure Component </span>\n <v-spacer />\n </v-system-bar>\n <v-card-text>\n <v-container>\n <v-row align="center">\n <v-col>Select Component:</v-col>\n <v-col>\n <v-select\n hide-details\n dense\n outlined\n :items="components"\n item-text="label"\n item-value="value"\n v-model="selectedComponent"\n return-object\n data-test="select-component"\n />\n </v-col>\n </v-row>\n <v-row\n ><v-col>Add packets for this component to process.</v-col></v-row\n >\n <v-row>\n <v-col class="my-2">\n <v-radio-group\n v-model="newPacketCmdOrTlm"\n row\n hide-details\n class="mt-0"\n >\n <v-radio\n label="Command"\n value="cmd"\n data-test="command-packet-radio"\n />\n <v-radio\n label="Telemetry"\n value="tlm"\n data-test="telemetry-packet-radio"\n />\n </v-radio-group>\n </v-col>\n </v-row>\n <v-row>\n <v-col>\n <target-packet-item-chooser\n @click="addValue"\n :button-text="chooseItem ? \'Add Item\' : \'Add Packet\'"\n :mode="newPacketCmdOrTlm"\n :chooseItem="chooseItem"\n />\n </v-col>\n </v-row>\n <v-row>\n <v-col>\n <v-radio-group v-model="newPacketMode" row hide-details>\n <v-radio\n label="Raw"\n value="RAW"\n :disabled="disableRadioOptions"\n data-test="new-packet-raw-radio"\n />\n <v-radio\n label="Decom"\n value="DECOM"\n :disabled="disableRadioOptions"\n data-test="new-packet-decom-radio"\n />\n </v-radio-group>\n </v-col>\n <v-col>\n <v-select\n v-if="newPacketMode === \'DECOM\'"\n v-model="newPacketValueType"\n hide-details\n label="Value Type"\n data-test="add-packet-value-type"\n :items="valueTypes"\n />\n </v-col>\n </v-row>\n <v-row\n ><v-col>\n <v-data-table\n :headers="headers"\n :items="packets"\n :search="search"\n :items-per-page="itemsPerPage"\n @update:items-per-page="itemsPerPage = $event"\n :footer-props="{\n itemsPerPageOptions: [10, 100],\n showFirstLastPage: true,\n firstIcon: \'mdi-page-first\',\n lastIcon: \'mdi-page-last\',\n prevIcon: \'mdi-chevron-left\',\n nextIcon: \'mdi-chevron-right\',\n }"\n calculate-widths\n multi-sort\n dense\n >\n <template v-slot:item.delete="{ item }">\n <v-tooltip bottom>\n <template v-slot:activator="{ on, attrs }">\n <v-icon\n @click="deleteItem(item)"\n v-bind="attrs"\n v-on="on"\n >\n mdi-delete\n </v-icon>\n </template>\n <span>Delete Item</span>\n </v-tooltip>\n </template>\n </v-data-table>\n </v-col></v-row\n >\n </v-container>\n </v-card-text>\n <v-card-actions>\n <v-spacer />\n <v-btn\n outlined\n class="mx-2"\n data-test="cancel-component"\n @click="cancelAddComponent"\n >\n Cancel\n </v-btn>\n <v-btn\n color="primary"\n class="mx-2"\n data-test="add-component"\n :disabled="notValid"\n @click="addComponent"\n >\n Create\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n </div>\n</template>\n\n<script>\nimport TargetPacketItemChooser from \'@openc3/tool-common/src/components/TargetPacketItemChooser\'\n\nexport default {\n components: {\n TargetPacketItemChooser,\n },\n props: {\n value: Boolean, // value is the default prop when using v-model\n components: Object,\n },\n data() {\n return {\n selectedComponent: this.components[0],\n newPacket: null,\n newPacketCmdOrTlm: \'tlm\',\n newPacketMode: \'RAW\',\n valueTypes: [\'CONVERTED\', \'RAW\', \'FORMATTED\', \'WITH_UNITS\'],\n newPacketValueType: \'WITH_UNITS\',\n chooseItem: false,\n disableRadioOptions: false,\n headers: [\n { text: \'Cmd/Tlm\', value: \'cmdOrTlm\' },\n { text: \'Target\', value: \'targetName\' },\n { text: \'Packet\', value: \'packetName\' },\n { text: \'Item\', value: \'itemName\' },\n { text: \'Mode\', value: \'mode\' },\n { text: \'ValueType\', value: \'valueType\' },\n { text: \'Delete\', value: \'delete\' },\n ],\n itemsPerPage: 20,\n packets: [],\n }\n },\n computed: {\n notValid: function () {\n if (this.selectedComponent === null || this.packets.length === 0) {\n return true\n } else {\n return false\n }\n },\n show: {\n get() {\n return this.value\n },\n set(value) {\n this.$emit(\'input\', value) // input is the default event when using v-model\n },\n },\n },\n watch: {\n newPacketCmdOrTlm: {\n immediate: true,\n handler: function () {\n this.newPacket = null\n },\n },\n selectedComponent: {\n handler: function () {\n if (this.selectedComponent.items) {\n this.chooseItem = true\n this.newPacketMode = \'DECOM\'\n this.disableRadioOptions = true\n } else {\n this.chooseItem = false\n this.newPacketMode = \'RAW\'\n this.disableRadioOptions = false\n }\n },\n },\n },\n methods: {\n addValue: function (event) {\n let type = this.newPacketValueType\n if (this.newPacketMode === \'RAW\') {\n type = \'N/A\'\n }\n this.packets.push({\n cmdOrTlm: this.newPacketCmdOrTlm.toUpperCase(),\n targetName: event.targetName,\n packetName: event.packetName,\n itemName: event.itemName,\n mode: this.newPacketMode,\n valueType: type,\n })\n },\n addComponent: function (event) {\n this.$emit(\'add\', {\n packets: this.packets,\n component: this.selectedComponent,\n mode: this.newPacketMode,\n valueType: this.newPacketValueType,\n })\n },\n deleteItem: function (item) {\n var index = this.packets.indexOf(item)\n this.packets.splice(index, 1)\n },\n cancelAddComponent: function () {\n this.$emit(\'cancel\', {})\n },\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"a492605420e7385f153164ced48fbd08bce2fe6a"},o=t[l]||(t[l]={});o[e]&&o[e].hash===n||(o[e]=i);var a=o[e];return ie=function(){return a},a}ie();const oe={components:{TargetPacketItemChooser:le},props:{value:Boolean,components:Object},data(){return ie().f[0]++,ie().s[0]++,{selectedComponent:this.components[0],newPacket:null,newPacketCmdOrTlm:"tlm",newPacketMode:"RAW",valueTypes:["CONVERTED","RAW","FORMATTED","WITH_UNITS"],newPacketValueType:"WITH_UNITS",chooseItem:!1,disableRadioOptions:!1,headers:[{text:"Cmd/Tlm",value:"cmdOrTlm"},{text:"Target",value:"targetName"},{text:"Packet",value:"packetName"},{text:"Item",value:"itemName"},{text:"Mode",value:"mode"},{text:"ValueType",value:"valueType"},{text:"Delete",value:"delete"}],itemsPerPage:20,packets:[]}},computed:{notValid:function(){return ie().f[1]++,ie().s[1]++,ie().b[1][0]++,null===this.selectedComponent||(ie().b[1][1]++,0===this.packets.length)?(ie().b[0][0]++,ie().s[2]++,!0):(ie().b[0][1]++,ie().s[3]++,!1)},show:{get(){return ie().f[2]++,ie().s[4]++,this.value},set(e){ie().f[3]++,ie().s[5]++,this.$emit("input",e)}}},watch:{newPacketCmdOrTlm:{immediate:!0,handler:function(){ie().f[4]++,ie().s[6]++,this.newPacket=null}},selectedComponent:{handler:function(){ie().f[5]++,ie().s[7]++,this.selectedComponent.items?(ie().b[2][0]++,ie().s[8]++,this.chooseItem=!0,ie().s[9]++,this.newPacketMode="DECOM",ie().s[10]++,this.disableRadioOptions=!0):(ie().b[2][1]++,ie().s[11]++,this.chooseItem=!1,ie().s[12]++,this.newPacketMode="RAW",ie().s[13]++,this.disableRadioOptions=!1)}}},methods:{addValue:function(e){ie().f[6]++;let n=(ie().s[14]++,this.newPacketValueType);ie().s[15]++,"RAW"===this.newPacketMode?(ie().b[3][0]++,ie().s[16]++,n="N/A"):ie().b[3][1]++,ie().s[17]++,this.packets.push({cmdOrTlm:this.newPacketCmdOrTlm.toUpperCase(),targetName:e.targetName,packetName:e.packetName,itemName:e.itemName,mode:this.newPacketMode,valueType:n})},addComponent:function(e){ie().f[7]++,ie().s[18]++,this.$emit("add",{packets:this.packets,component:this.selectedComponent,mode:this.newPacketMode,valueType:this.newPacketValueType})},deleteItem:function(e){ie().f[8]++;var n=(ie().s[19]++,this.packets.indexOf(e));ie().s[20]++,this.packets.splice(n,1)},cancelAddComponent:function(){ie().f[9]++,ie().s[21]++,this.$emit("cancel",{})}}},ae=oe;var se=(0,k.A)(ae,Z,X,!1,null,null,null);const ce=se.exports;function re(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DynamicComponent.vue",n="683d9f83ba62344b008ac49ba690564dd445d63e",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DynamicComponent.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:266}},4:{start:{line:1,column:184},end:{line:1,column:210}},5:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:171},end:{line:1,column:172}},loc:{start:{line:1,column:184},end:{line:1,column:210}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"683d9f83ba62344b008ac49ba690564dd445d63e"},o=t[l]||(t[l]={});o[e]&&o[e].hash===n||(o[e]=i);var a=o[e];return re=function(){return a},a}re(),re().s[0]++;var me=function(){re().f[0]++;var e=(re().s[1]++,this),n=(re().s[2]++,e._self._c);return re().s[3]++,n(e.widgetType,e._b({ref:"dynamic",tag:"component",attrs:{config:e.currentConfig},on:{config:n=>(re().f[1]++,re().s[4]++,e.currentConfig=n)}},"component",{...e.$props,...e.$attrs},!1))},ue=(re().s[5]++,[]);const de={props:{config:{type:Object},packets:{type:Array}},data:function(){return{currentConfig:{},currentPackets:[],latestData:null}},computed:{hasRaw:function(){for(let e=0;e<this.currentPackets.length;e++)if("RAW"===this.currentPackets[e].mode)return!0;return!1},hasDecom:function(){for(let e=0;e<this.currentPackets.length;e++)if("DECOM"===this.currentPackets[e].mode)return!0;return!1}},watch:{currentConfig:{deep:!0,handler:function(e){this.$emit("config",e)}}},created:function(){this.config&&(this.currentConfig={...this.config}),this.packets&&(this.currentPackets=[...this.packets])},methods:{receive:function(e){this.latestData=e}}};function Ae(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DynamicComponent.vue",n="bb923feddbd69c5fa223c7b28bb2331f8d7de1ca",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DynamicComponent.vue",statementMap:{0:{start:{line:7,column:4},end:{line:9,column:5}},1:{start:{line:16,column:6},end:{line:16,column:91}},2:{start:{line:21,column:6},end:{line:21,column:41}},3:{start:{line:25,column:4},end:{line:30,column:5}},4:{start:{line:27,column:6},end:{line:27,column:79}},5:{start:{line:29,column:6},end:{line:29,column:53}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:6,column:2},end:{line:6,column:3}},loc:{start:{line:6,column:9},end:{line:10,column:3}},line:6},1:{name:"(anonymous_1)",decl:{start:{line:15,column:9},end:{line:15,column:10}},loc:{start:{line:15,column:21},end:{line:17,column:5}},line:15},2:{name:"(anonymous_2)",decl:{start:{line:20,column:16},end:{line:20,column:17}},loc:{start:{line:20,column:32},end:{line:22,column:5}},line:20},3:{name:"(anonymous_3)",decl:{start:{line:24,column:2},end:{line:24,column:3}},loc:{start:{line:24,column:18},end:{line:31,column:3}},line:24}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0,2:0,3:0},b:{},inputSourceMap:{version:3,sources:["DynamicComponent.vue"],names:[],mappings:";AA6BA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"DynamicComponent.vue",sourceRoot:"src/tools/DataViewer",sourcesContent:['\x3c!--\n# Copyright 2022 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <component\n ref="dynamic"\n :is="widgetType"\n :config="currentConfig"\n @config="(config) => (currentConfig = config)"\n v-bind="{ ...$props, ...$attrs }"\n ></component>\n</template>\n\n<script>\nimport Component from \'@openc3/tool-common/src/components/dataviewer/Component\'\n\nexport default {\n mixins: [Component],\n data() {\n return {\n widgetType: null,\n }\n },\n props: {\n name: { default: null },\n },\n computed: {\n url: function () {\n return `${window.location.origin}/tools/widgets/${this.name}/${this.name}.umd.min.js`\n },\n },\n watch: {\n latestData: function (data) {\n this.$refs[\'dynamic\'].receive(data)\n },\n },\n async mounted() {\n try {\n /* eslint-disable-next-line */\n this.widgetType = await System.import(/* webpackIgnore: true */ this.url)\n } catch (e) {\n throw new Error(`Unknown widget: ${this.name}`)\n }\n },\n}\n<\/script>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"bb923feddbd69c5fa223c7b28bb2331f8d7de1ca"},o=t[l]||(t[l]={});o[e]&&o[e].hash===n||(o[e]=i);var a=o[e];return Ae=function(){return a},a}Ae();const pe={mixins:[de],data(){return Ae().f[0]++,Ae().s[0]++,{widgetType:null}},props:{name:{default:null}},computed:{url:function(){return Ae().f[1]++,Ae().s[1]++,`${window.location.origin}/tools/widgets/${this.name}/${this.name}.umd.min.js`}},watch:{latestData:function(e){Ae().f[2]++,Ae().s[2]++,this.$refs["dynamic"].receive(e)}},async mounted(){Ae().f[3]++,Ae().s[3]++;try{Ae().s[4]++,this.widgetType=await System.import(this.url)}catch(e){throw Ae().s[5]++,new Error(`Unknown widget: ${this.name}`)}}},he=pe;var fe=(0,k.A)(he,me,ue,!1,null,null,null);const ve=fe.exports;function Ce(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DumpComponent.vue",n="6e7aed508e299df55187c4d24d333fd30a1ae7fe",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DumpComponent.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:271}},4:{start:{line:1,column:241},end:{line:1,column:267}},5:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:228},end:{line:1,column:229}},loc:{start:{line:1,column:241},end:{line:1,column:267}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6e7aed508e299df55187c4d24d333fd30a1ae7fe"},o=t[l]||(t[l]={});o[e]&&o[e].hash===n||(o[e]=i);var a=o[e];return Ce=function(){return a},a}Ce(),Ce().s[0]++;var be=function(){Ce().f[0]++;var e=(Ce().s[1]++,this),n=(Ce().s[2]++,e._self._c);return Ce().s[3]++,n("history-component",{ref:"history",attrs:{config:e.currentConfig,packets:e.currentPackets,calculatePacketText:e.calculatePacketText},on:{config:n=>(Ce().f[1]++,Ce().s[4]++,e.currentConfig=n)}})},ge=(Ce().s[5]++,[]),_e=function(){var e=this,n=e._self._c;return n("div",{staticClass:"pa-2"},[n("v-row",{staticClass:"mb-2",attrs:{dense:""}},[n("v-col",{attrs:{cols:"4"}},[n("v-text-field",{staticClass:"search",attrs:{label:"Search","prepend-inner-icon":"mdi-magnify",clearable:"",outlined:"",dense:"","single-line":"","hide-details":"","data-test":"history-component-search"},model:{value:e.filterText,callback:function(n){e.filterText=n},expression:"filterText"}})],1),e._v(" "),n("v-col",{staticClass:"mt-1",attrs:{cols:"8"}},[n("v-slider",{attrs:{"prepend-icon":"mdi-step-backward","append-icon":"mdi-step-forward",min:1-e.currentConfig.history,max:0,"hide-details":""},on:{mousedown:e.pause,"click:prepend":e.stepBackward,"click:append":e.stepForward},model:{value:e.pauseOffset,callback:function(n){e.pauseOffset=n},expression:"pauseOffset"}})],1)],1),e._v(" "),n("v-row",{attrs:{dense:"","no-gutters":""}},[n("v-col",[n("div",{staticClass:"text-area-container"},[n("v-textarea",{attrs:{value:e.displayText,rows:e.rows,"no-resize":"",readonly:"",solo:"",flat:"","hide-details":"","data-test":"history-component-text-area"}}),e._v(" "),n("div",{staticClass:"floating-buttons"},[n("v-menu",{attrs:{"close-on-content-click":!1,"min-width":700,"nudge-left":710,"nudge-top":250},scopedSlots:e._u([{key:"activator",fn:function({on:t,attrs:l}){return[n("v-btn",e._g(e._b({staticClass:"ml-2",attrs:{color:"secondary",fab:"",small:"","data-test":"history-component-open-settings"}},"v-btn",l,!1),t),[n("v-icon",[e._v("$astro-settings")])],1)]}}])},[e._v(" "),n("v-card",[n("v-card-title",{attrs:{"data-test":"display-settings-card"}},[e._v("\n Display settings\n ")]),e._v(" "),n("v-card-text",[n("v-row",[n("v-col",[n("v-switch",{attrs:{label:"Show timestamp",dense:"","hide-details":"","data-test":"history-component-settings-show-timestamp"},model:{value:e.currentConfig.showTimestamp,callback:function(n){e.$set(e.currentConfig,"showTimestamp",n)},expression:"currentConfig.showTimestamp"}}),e._v(" "),e.hasRaw?n("v-switch",{attrs:{label:"Show ASCII",dense:"","hide-details":"","data-test":"history-component-settings-show-ascii"},model:{value:e.currentConfig.showAscii,callback:function(n){e.$set(e.currentConfig,"showAscii",n)},expression:"currentConfig.showAscii"}}):e._e(),e._v(" "),e.hasRaw?n("v-switch",{attrs:{label:"Show line address",dense:"","hide-details":"","data-test":"history-component-settings-show-address"},model:{value:e.currentConfig.showLineAddress,callback:function(n){e.$set(e.currentConfig,"showLineAddress",n)},expression:"currentConfig.showLineAddress"}}):e._e()],1),e._v(" "),n("v-col",[n("v-radio-group",{attrs:{label:"Print newest to the"},model:{value:e.currentConfig.newestAtTop,callback:function(n){e.$set(e.currentConfig,"newestAtTop",n)},expression:"currentConfig.newestAtTop"}},[n("v-radio",{attrs:{label:"Top",value:!0,"data-test":"history-component-settings-newest-top"}}),e._v(" "),n("v-radio",{attrs:{label:"Bottom",value:!1,"data-test":"history-component-settings-newest-bottom"}})],1)],1),e._v(" "),n("v-col",[n("v-text-field",{attrs:{label:"History Buffer",type:"number",min:"1","persistent-hint":"",rules:[e.rules.required,e.rules.min],"data-test":"history-component-settings-history"},model:{value:e.currentConfig.history,callback:function(n){e.$set(e.currentConfig,"history",n)},expression:"currentConfig.history"}}),e._v(" "),e.hasRaw?n("v-text-field",{attrs:{label:"Bytes per line",type:"number",min:"1",rules:[e.rules.required,e.rules.min],"data-test":"history-component-settings-num-bytes"},model:{value:e.currentConfig.bytesPerLine,callback:function(n){e.$set(e.currentConfig,"bytesPerLine",n)},expression:"currentConfig.bytesPerLine"}}):e._e(),e._v(" "),n("v-text-field",{attrs:{label:"Entries to show",type:"number",min:"1",hint:`Maximum: ${e.currentConfig.history}`,"persistent-hint":"",rules:[e.rules.required,e.rules.min,e.rules.max],"data-test":"history-component-settings-num-packets"},model:{value:e.currentConfig.packetsToShow,callback:function(n){e.$set(e.currentConfig,"packetsToShow",n)},expression:"currentConfig.packetsToShow"}})],1)],1)],1)],1)],1),e._v(" "),n("v-btn",{staticClass:"ml-2",attrs:{color:"secondary",fab:"",small:"","data-test":"history-component-download"},on:{click:e.download}},[n("v-icon",[e._v("mdi-file-download")])],1),e._v(" "),n("v-btn",{staticClass:"ml-2",class:{pulse:e.paused},attrs:{color:"primary",fab:"","data-test":"history-component-play-pause"},on:{click:e.togglePlayPause}},[e.paused?n("v-icon",{attrs:{large:""}},[e._v("mdi-play")]):n("v-icon",{attrs:{large:""}},[e._v("mdi-pause")])],1)],1)],1)])],1)],1)},ye=[],ke=(t(7182),t(3165),t(4541),t(4397),t(1412),t(1883),t(7905),t(5250)),we=t.n(ke);const Te={props:["calculatePacketText"],mixins:[de],data:function(){return{history:[],historyPointer:-1,filterText:null,paused:!1,pausedAt:0,pauseOffset:0,pausedHistory:[],rows:1,textarea:null,displayText:"",rules:{required:e=>!!e||"Required.",min:e=>e>=1||"Minimum: 1",max:e=>parseInt(e)<=this.currentConfig.history||`Maximum: ${this.currentConfig.history}`}}},computed:{allInstantSettings:function(){return`${this.currentConfig.showLineAddress}|${this.currentConfig.showTimestamp}|${this.currentConfig.showAscii}|${this.currentConfig.newestAtTop}|${this.pauseOffset}`},allDebouncedSettings:function(){return`${this.currentConfig.bytesPerLine}|${this.currentConfig.packetsToShow}|${this.filterText}`}},watch:{latestData:function(e){e.forEach((e=>{"buffer"in e&&(e.buffer=atob(e.buffer)),this.historyPointer=++this.historyPointer%this.currentConfig.history,isNaN(this.historyPointer)&&(this.historyPointer=0),this.history[this.historyPointer]=e,this.paused||this.rebuildDisplayText()}))},paused:function(e){e?(this.pausedAt=this.historyPointer,this.pausedHistory=this.history.slice()):(this.pauseOffset=0,this.rebuildDisplayText())},allInstantSettings:function(){this.rebuildDisplayText()},allDebouncedSettings:we().debounce((function(){this.rebuildDisplayText()}),300)},created:function(){const e={history:300,showTimestamp:!0,showAscii:!0,showLineAddress:!0,packetsToShow:1,bytesPerLine:16,newestAtTop:!0};this.currentConfig={...e,...this.currentConfig}},methods:{rebuildDisplayText:function(){let e=this.paused?this.pausedHistory:this.history;const n=this.paused?this.pausedAt:this.historyPointer;if(e=e.filter((e=>e)).slice(n+1,this.currentConfig.history).concat(e.slice(0,n+1)).map(this.calculatePacketText).map(this.matchesSearch),this.paused){const n=Math.max(e.length+this.pauseOffset,1);e=e.slice(0,n)}const t=Math.max(this.currentConfig.packetsToShow,1);e=e.slice(-t),this.currentConfig.newestAtTop&&(e=e.reverse());let l="\n";null!==this.filterText&&(l+="\n"),this.displayText=e.join(l),this.rows=this.displayText.split("\n").length},matchesSearch:function(e){return null===this.filterText?e:e.split("\n").filter((e=>e.toLowerCase().includes(this.filterText.toLowerCase()))).join("\n")},download:function(){const e=new Blob([this.displayText],{type:"text/plain"}),n=document.createElement("a");let t=URL.createObjectURL(e);n.href=t,n.setAttribute("download",`${(0,F.GP)(new Date,"yyyy_MM_dd_HH_mm_ss")}.txt`),n.click(),window.URL.revokeObjectURL(t)},pause:function(){this.paused=!0},togglePlayPause:function(){this.paused=!this.paused},stepBackward:function(){this.pause(),this.pauseOffset--},stepForward:function(){this.pause(),this.pauseOffset++}}},xe=Te;t(2003),t(4162);var Ne=(0,k.A)(xe,_e,ye,!1,null,"01803198",null);const De=Ne.exports;function Se(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DumpComponent.vue",n="c7d6c674fa23b8e86b3f3eebeeae52b012b0eb47",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DumpComponent.vue",statementMap:{0:{start:{line:13,column:6},end:{line:13,column:41}},1:{start:{line:18,column:17},end:{line:18,column:19}},2:{start:{line:19,column:6},end:{line:28,column:7}},3:{start:{line:20,column:29},end:{line:20,column:52}},4:{start:{line:21,column:32},end:{line:21,column:64}},5:{start:{line:22,column:29},end:{line:22,column:65}},6:{start:{line:23,column:24},end:{line:23,column:72}},7:{start:{line:24,column:8},end:{line:24,column:63}},8:{start:{line:25,column:8},end:{line:25,column:57}},9:{start:{line:26,column:8},end:{line:26,column:69}},10:{start:{line:27,column:8},end:{line:27,column:36}},11:{start:{line:29,column:6},end:{line:61,column:7}},12:{start:{line:31,column:8},end:{line:55,column:21}},13:{start:{line:34,column:30},end:{line:36,column:13}},14:{start:{line:35,column:14},end:{line:35,column:62}},15:{start:{line:37,column:29},end:{line:37,column:68}},16:{start:{line:38,column:23},end:{line:38,column:68}},17:{start:{line:39,column:12},end:{line:45,column:13}},18:{start:{line:40,column:14},end:{line:40,column:28}},19:{start:{line:41,column:14},end:{line:43,column:15}},20:{start:{line:42,column:16},end:{line:42,column:70}},21:{start:{line:44,column:14},end:{line:44,column:42}},22:{start:{line:47,column:12},end:{line:52,column:13}},23:{start:{line:48,column:30},end:{line:50,column:33}},24:{start:{line:51,column:14},end:{line:51,column:42}},25:{start:{line:53,column:12},end:{line:53,column:23}},26:{start:{line:57,column:8},end:{line:60,column:21}},27:{start:{line:58,column:28},end:{line:58,column:52}},28:{start:{line:59,column:25},end:{line:59,column:51}},29:{start:{line:62,column:6},end:{line:62,column:17}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:12,column:16},end:{line:12,column:17}},loc:{start:{line:12,column:32},end:{line:14,column:5}},line:12},1:{name:"(anonymous_1)",decl:{start:{line:17,column:25},end:{line:17,column:26}},loc:{start:{line:17,column:43},end:{line:63,column:5}},line:17},2:{name:"(anonymous_2)",decl:{start:{line:32,column:15},end:{line:32,column:16}},loc:{start:{line:32,column:37},end:{line:54,column:11}},line:32},3:{name:"(anonymous_3)",decl:{start:{line:34,column:44},end:{line:34,column:45}},loc:{start:{line:35,column:14},end:{line:35,column:62}},line:35},4:{name:"(anonymous_4)",decl:{start:{line:41,column:42},end:{line:41,column:43}},loc:{start:{line:42,column:16},end:{line:42,column:70}},line:42},5:{name:"(anonymous_5)",decl:{start:{line:58,column:18},end:{line:58,column:19}},loc:{start:{line:58,column:28},end:{line:58,column:52}},line:58},6:{name:"(anonymous_6)",decl:{start:{line:59,column:15},end:{line:59,column:16}},loc:{start:{line:59,column:25},end:{line:59,column:51}},line:59}},branchMap:{0:{loc:{start:{line:19,column:6},end:{line:28,column:7}},type:"if",locations:[{start:{line:19,column:6},end:{line:28,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:19},1:{loc:{start:{line:29,column:6},end:{line:61,column:7}},type:"if",locations:[{start:{line:29,column:6},end:{line:61,column:7}},{start:{line:56,column:13},end:{line:61,column:7}}],line:29},2:{loc:{start:{line:39,column:12},end:{line:45,column:13}},type:"if",locations:[{start:{line:39,column:12},end:{line:45,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:39},3:{loc:{start:{line:47,column:12},end:{line:52,column:13}},type:"if",locations:[{start:{line:47,column:12},end:{line:52,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:47}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0]},inputSourceMap:{version:3,sources:["DumpComponent.vue"],names:[],mappings:";AAiCA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"DumpComponent.vue",sourceRoot:"src/tools/DataViewer",sourcesContent:["\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2022, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <history-component\n ref=\"history\"\n :config=\"currentConfig\"\n :packets=\"currentPackets\"\n :calculatePacketText=\"calculatePacketText\"\n @config=\"(config) => (currentConfig = config)\"\n ></history-component>\n</template>\n\n<script>\nimport HistoryComponent from '@openc3/tool-common/src/components/dataviewer/HistoryComponent'\nimport Component from '@openc3/tool-common/src/components/dataviewer/Component'\n\nexport default {\n mixins: [Component],\n components: {\n HistoryComponent,\n },\n watch: {\n // Hook the HistoryComponent's receive method to our latestData being updated\n latestData: function (data) {\n this.$refs['history'].receive(data)\n },\n },\n methods: {\n calculatePacketText: function (packet) {\n let text = ''\n if (this.currentConfig.showTimestamp) {\n const milliseconds = packet.__time / 1000000\n const receivedSeconds = (milliseconds / 1000).toFixed(7)\n const receivedDate = new Date(milliseconds).toISOString()\n let timestamp = '********************************************\\n'\n timestamp += `* Received seconds: ${receivedSeconds}\\n`\n timestamp += `* Received time: ${receivedDate}\\n`\n timestamp += '********************************************\\n'\n text = `${timestamp}${text}`\n }\n if ('buffer' in packet) {\n // Split its buffer into lines of the selected length\n text += _.chunk([...packet.buffer], this.currentConfig.bytesPerLine)\n .map((lineBytes, index) => {\n // Map each line into ASCII or hex values\n let mappedBytes = lineBytes.map((byte) =>\n byte.charCodeAt(0).toString(16).padStart(2, '0'),\n )\n let lineLength = this.currentConfig.bytesPerLine * 3 - 1\n let line = mappedBytes.join(' ').padEnd(lineLength, ' ')\n if (this.currentConfig.showAscii) {\n line += ' '\n mappedBytes = lineBytes.map((byte) =>\n byte.replaceAll(/\\n/g, '\\\\n').replaceAll(/\\r/g, '\\\\r'),\n )\n line += mappedBytes.join('')\n }\n // Prepend the line address if needed\n if (this.currentConfig.showLineAddress) {\n const address = (index * this.currentConfig.bytesPerLine)\n .toString(16)\n .padStart(8, '0')\n line = `${address}: ${line}`\n }\n return line\n })\n .join('\\n') // end of one line\n } else {\n text += Object.keys(packet)\n .filter((item) => item.slice(0, 2) != '__')\n .map((item) => `${item}: ${packet[item]}`)\n .join('\\n')\n }\n return text\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"c7d6c674fa23b8e86b3f3eebeeae52b012b0eb47"},o=t[l]||(t[l]={});o[e]&&o[e].hash===n||(o[e]=i);var a=o[e];return Se=function(){return a},a}Se();const Pe={mixins:[de],components:{HistoryComponent:De},watch:{latestData:function(e){Se().f[0]++,Se().s[0]++,this.$refs["history"].receive(e)}},methods:{calculatePacketText:function(e){Se().f[1]++;let n=(Se().s[1]++,"");if(Se().s[2]++,this.currentConfig.showTimestamp){Se().b[0][0]++;const t=(Se().s[3]++,e.__time/1e6),l=(Se().s[4]++,(t/1e3).toFixed(7)),i=(Se().s[5]++,new Date(t).toISOString());let o=(Se().s[6]++,"********************************************\n");Se().s[7]++,o+=`* Received seconds: ${l}\n`,Se().s[8]++,o+=`* Received time: ${i}\n`,Se().s[9]++,o+="********************************************\n",Se().s[10]++,n=`${o}${n}`}else Se().b[0][1]++;return Se().s[11]++,"buffer"in e?(Se().b[1][0]++,Se().s[12]++,n+=_.chunk([...e.buffer],this.currentConfig.bytesPerLine).map(((e,n)=>{Se().f[2]++;let t=(Se().s[13]++,e.map((e=>(Se().f[3]++,Se().s[14]++,e.charCodeAt(0).toString(16).padStart(2,"0"))))),l=(Se().s[15]++,3*this.currentConfig.bytesPerLine-1),i=(Se().s[16]++,t.join(" ").padEnd(l," "));if(Se().s[17]++,this.currentConfig.showAscii?(Se().b[2][0]++,Se().s[18]++,i+=" ",Se().s[19]++,t=e.map((e=>(Se().f[4]++,Se().s[20]++,e.replaceAll(/\n/g,"\\n").replaceAll(/\r/g,"\\r")))),Se().s[21]++,i+=t.join("")):Se().b[2][1]++,Se().s[22]++,this.currentConfig.showLineAddress){Se().b[3][0]++;const e=(Se().s[23]++,(n*this.currentConfig.bytesPerLine).toString(16).padStart(8,"0"));Se().s[24]++,i=`${e}: ${i}`}else Se().b[3][1]++;return Se().s[25]++,i})).join("\n")):(Se().b[1][1]++,Se().s[26]++,n+=Object.keys(e).filter((e=>(Se().f[5]++,Se().s[27]++,"__"!=e.slice(0,2)))).map((n=>(Se().f[6]++,Se().s[28]++,`${n}: ${e[n]}`))).join("\n")),Se().s[29]++,n}}},Ie=Pe;var Oe=(0,k.A)(Ie,be,ge,!1,null,null,null);const $e=Oe.exports;function Me(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/ValueComponent.vue",n="9fe5121051cbdf4c6c25ebb9aa3ca6b40246bb77",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/ValueComponent.vue",statementMap:{0:{start:{line:1,column:13},end:{line:2,column:1}},1:{start:{line:1,column:39},end:{line:1,column:43}},2:{start:{line:1,column:47},end:{line:1,column:59}},3:{start:{line:1,column:60},end:{line:1,column:271}},4:{start:{line:1,column:241},end:{line:1,column:267}},5:{start:{line:3,column:22},end:{line:3,column:24}}},fnMap:{0:{name:"render",decl:{start:{line:1,column:22},end:{line:1,column:28}},loc:{start:{line:1,column:30},end:{line:2,column:1}},line:1},1:{name:"(anonymous_1)",decl:{start:{line:1,column:228},end:{line:1,column:229}},loc:{start:{line:1,column:241},end:{line:1,column:267}},line:1}},branchMap:{},s:{0:0,1:0,2:0,3:0,4:0,5:0},f:{0:0,1:0},b:{},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"9fe5121051cbdf4c6c25ebb9aa3ca6b40246bb77"},o=t[l]||(t[l]={});o[e]&&o[e].hash===n||(o[e]=i);var a=o[e];return Me=function(){return a},a}Me(),Me().s[0]++;var Ee=function(){Me().f[0]++;var e=(Me().s[1]++,this),n=(Me().s[2]++,e._self._c);return Me().s[3]++,n("history-component",{ref:"history",attrs:{config:e.currentConfig,packets:e.currentPackets,calculatePacketText:e.calculatePacketText},on:{config:n=>(Me().f[1]++,Me().s[4]++,e.currentConfig=n)}})},Re=(Me().s[5]++,[]);function Ve(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/ValueComponent.vue",n="6edad55154cd37551365968d81a9587b4da28f69",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/ValueComponent.vue",statementMap:{0:{start:{line:13,column:6},end:{line:13,column:41}},1:{start:{line:17,column:26},end:{line:22,column:5}},2:{start:{line:23,column:4},end:{line:26,column:5}},3:{start:{line:30,column:17},end:{line:30,column:19}},4:{start:{line:31,column:6},end:{line:35,column:7}},5:{start:{line:32,column:29},end:{line:32,column:52}},6:{start:{line:33,column:29},end:{line:33,column:65}},7:{start:{line:34,column:8},end:{line:34,column:40}},8:{start:{line:36,column:6},end:{line:46,column:19}},9:{start:{line:38,column:10},end:{line:43,column:11}},10:{start:{line:39,column:23},end:{line:39,column:42}},11:{start:{line:40,column:12},end:{line:40,column:45}},12:{start:{line:42,column:12},end:{line:42,column:28}},13:{start:{line:45,column:26},end:{line:45,column:44}},14:{start:{line:47,column:6},end:{line:47,column:17}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:12,column:16},end:{line:12,column:17}},loc:{start:{line:12,column:32},end:{line:14,column:5}},line:12},1:{name:"(anonymous_1)",decl:{start:{line:16,column:11},end:{line:16,column:12}},loc:{start:{line:16,column:23},end:{line:27,column:3}},line:16},2:{name:"(anonymous_2)",decl:{start:{line:29,column:25},end:{line:29,column:26}},loc:{start:{line:29,column:43},end:{line:48,column:5}},line:29},3:{name:"(anonymous_3)",decl:{start:{line:37,column:13},end:{line:37,column:14}},loc:{start:{line:37,column:23},end:{line:44,column:9}},line:37},4:{name:"(anonymous_4)",decl:{start:{line:45,column:16},end:{line:45,column:17}},loc:{start:{line:45,column:26},end:{line:45,column:44}},line:45}},branchMap:{0:{loc:{start:{line:31,column:6},end:{line:35,column:7}},type:"if",locations:[{start:{line:31,column:6},end:{line:35,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:31},1:{loc:{start:{line:38,column:10},end:{line:43,column:11}},type:"if",locations:[{start:{line:38,column:10},end:{line:43,column:11}},{start:{line:41,column:17},end:{line:43,column:11}}],line:38}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0},f:{0:0,1:0,2:0,3:0,4:0},b:{0:[0,0],1:[0,0]},inputSourceMap:{version:3,sources:["ValueComponent.vue"],names:[],mappings:";AA6BA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"ValueComponent.vue",sourceRoot:"src/tools/DataViewer",sourcesContent:["\x3c!--\n# Copyright 2024 OpenC3, Inc.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <history-component\n ref=\"history\"\n :config=\"currentConfig\"\n :packets=\"currentPackets\"\n :calculatePacketText=\"calculatePacketText\"\n @config=\"(config) => (currentConfig = config)\"\n ></history-component>\n</template>\n\n<script>\nimport HistoryComponent from '@openc3/tool-common/src/components/dataviewer/HistoryComponent'\nimport Component from '@openc3/tool-common/src/components/dataviewer/Component'\n\nexport default {\n mixins: [Component],\n components: {\n HistoryComponent,\n },\n watch: {\n // Hook the HistoryComponent's receive method to our latestData being updated\n latestData: function (data) {\n this.$refs['history'].receive(data)\n },\n },\n created: function () {\n const defaultConfig = {\n history: 300, // 5min at 1Hz\n showTimestamp: true,\n packetsToShow: 10, // override the default of 1\n newestAtTop: true,\n }\n this.currentConfig = {\n ...defaultConfig, // In case anything isn't defined in this.currentConfig\n ...this.currentConfig,\n }\n },\n methods: {\n calculatePacketText: function (packet) {\n let text = ''\n if (this.currentConfig.showTimestamp) {\n const milliseconds = packet.__time / 1000000\n const receivedDate = new Date(milliseconds).toISOString()\n text = `Time: ${receivedDate} `\n }\n text += Object.keys(packet)\n .map((item) => {\n if (item.includes('DECOM__TLM')) {\n let name = item.split('__')[4]\n return `${name}: ${packet[item]}`\n } else {\n return undefined\n }\n })\n .filter((item) => item !== undefined)\n .join(' ')\n return text\n },\n },\n}\n<\/script>\n"]},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"6edad55154cd37551365968d81a9587b4da28f69"},o=t[l]||(t[l]={});o[e]&&o[e].hash===n||(o[e]=i);var a=o[e];return Ve=function(){return a},a}Ve();const Le={mixins:[de],components:{HistoryComponent:De},watch:{latestData:function(e){Ve().f[0]++,Ve().s[0]++,this.$refs["history"].receive(e)}},created:function(){Ve().f[1]++;const e=(Ve().s[1]++,{history:300,showTimestamp:!0,packetsToShow:10,newestAtTop:!0});Ve().s[2]++,this.currentConfig={...e,...this.currentConfig}},methods:{calculatePacketText:function(e){Ve().f[2]++;let n=(Ve().s[3]++,"");if(Ve().s[4]++,this.currentConfig.showTimestamp){Ve().b[0][0]++;const t=(Ve().s[5]++,e.__time/1e6),l=(Ve().s[6]++,new Date(t).toISOString());Ve().s[7]++,n=`Time: ${l} `}else Ve().b[0][1]++;return Ve().s[8]++,n+=Object.keys(e).map((n=>{if(Ve().f[3]++,Ve().s[9]++,n.includes("DECOM__TLM")){Ve().b[1][0]++;let t=(Ve().s[10]++,n.split("__")[4]);return Ve().s[11]++,`${t}: ${e[n]}`}return Ve().b[1][1]++,void Ve().s[12]++})).filter((e=>(Ve().f[4]++,Ve().s[13]++,void 0!==e))).join(" "),Ve().s[14]++,n}}},Ue=Le;var Fe=(0,k.A)(Ue,Ee,Re,!1,null,null,null);const Be=Fe.exports;function Ke(){var e="/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DataViewer.vue",n="f209891d39c5cde48c083c979de53d3857e2d66f",t=new Function("return this")(),l="__coverage__",i={path:"/openc3/plugins/packages/openc3-cosmos-tool-dataviewer/src/tools/DataViewer/DataViewer.vue",statementMap:{0:{start:{line:30,column:4},end:{line:111,column:5}},1:{start:{line:61,column:29},end:{line:61,column:50}},2:{start:{line:76,column:16},end:{line:76,column:38}},3:{start:{line:83,column:16},end:{line:83,column:38}},4:{start:{line:90,column:16},end:{line:90,column:34}},5:{start:{line:91,column:16},end:{line:91,column:38}},6:{start:{line:115,column:22},end:{line:115,column:26}},7:{start:{line:116,column:20},end:{line:116,column:24}},8:{start:{line:117,column:6},end:{line:131,column:7}},9:{start:{line:118,column:8},end:{line:128,column:9}},10:{start:{line:119,column:10},end:{line:119,column:69}},11:{start:{line:120,column:10},end:{line:122,column:11}},12:{start:{line:121,column:12},end:{line:121,column:65}},13:{start:{line:124,column:10},end:{line:124,column:75}},14:{start:{line:125,column:10},end:{line:127,column:11}},15:{start:{line:126,column:12},end:{line:126,column:71}},16:{start:{line:130,column:8},end:{line:130,column:14}},17:{start:{line:132,column:6},end:{line:135,column:7}},18:{start:{line:138,column:6},end:{line:140,column:8}},19:{start:{line:139,column:8},end:{line:139,column:26}},20:{start:{line:145,column:6},end:{line:145,column:23}},21:{start:{line:151,column:6},end:{line:153,column:7}},22:{start:{line:152,column:8},end:{line:152,column:20}},23:{start:{line:157,column:8},end:{line:157,column:43}},24:{start:{line:163,column:4},end:{line:163,column:30}},25:{start:{line:164,column:4},end:{line:173,column:8}},26:{start:{line:167,column:8},end:{line:169,column:9}},27:{start:{line:168,column:10},end:{line:168,column:34}},28:{start:{line:174,column:14},end:{line:174,column:24}},29:{start:{line:175,column:4},end:{line:175,column:56}},30:{start:{line:176,column:4},end:{line:176,column:56}},31:{start:{line:179,column:4},end:{line:199,column:6}},32:{start:{line:180,column:6},end:{line:198,column:8}},33:{start:{line:182,column:22},end:{line:182,column:56}},34:{start:{line:183,column:8},end:{line:197,column:9}},35:{start:{line:184,column:10},end:{line:196,column:12}},36:{start:{line:185,column:24},end:{line:185,column:43}},37:{start:{line:186,column:24},end:{line:186,column:43}},38:{start:{line:187,column:12},end:{line:190,column:13}},39:{start:{line:188,column:14},end:{line:188,column:50}},40:{start:{line:189,column:14},end:{line:189,column:68}},41:{start:{line:191,column:12},end:{line:195,column:14}},42:{start:{line:200,column:4},end:{line:200,column:20}},43:{start:{line:204,column:4},end:{line:214,column:5}},44:{start:{line:205,column:6},end:{line:205,column:27}},45:{start:{line:206,column:6},end:{line:206,column:60}},46:{start:{line:208,column:19},end:{line:208,column:43}},47:{start:{line:210,column:6},end:{line:213,column:7}},48:{start:{line:211,column:8},end:{line:211,column:29}},49:{start:{line:212,column:8},end:{line:212,column:28}},50:{start:{line:217,column:4},end:{line:219,column:5}},51:{start:{line:218,column:6},end:{line:218,column:37}},52:{start:{line:220,column:4},end:{line:220,column:27}},53:{start:{line:224,column:6},end:{line:228,column:7}},54:{start:{line:225,column:8},end:{line:225,column:77}},55:{start:{line:227,column:8},end:{line:227,column:77}},56:{start:{line:231,column:6},end:{line:231,column:53}},57:{start:{line:231,column:27},end:{line:231,column:53}},58:{start:{line:234,column:6},end:{line:234,column:28}},59:{start:{line:236,column:6},end:{line:240,column:7}},60:{start:{line:237,column:8},end:{line:237,column:62}},61:{start:{line:238,column:8},end:{line:238,column:27}},62:{start:{line:239,column:8},end:{line:239,column:14}},63:{start:{line:242,column:6},end:{line:246,column:7}},64:{start:{line:243,column:8},end:{line:243,column:71}},65:{start:{line:244,column:8},end:{line:244,column:27}},66:{start:{line:245,column:8},end:{line:245,column:14}},67:{start:{line:248,column:6},end:{line:256,column:7}},68:{start:{line:249,column:8},end:{line:254,column:24}},69:{start:{line:255,column:8},end:{line:255,column:27}},70:{start:{line:257,column:6},end:{line:257,column:25}},71:{start:{line:258,column:6},end:{line:258,column:30}},72:{start:{line:261,column:6},end:{line:261,column:26}},73:{start:{line:262,column:6},end:{line:262,column:35}},74:{start:{line:265,column:6},end:{line:287,column:10}},75:{start:{line:267,column:30},end:{line:267,column:49}},76:{start:{line:269,column:12},end:{line:269,column:32}},77:{start:{line:270,column:12},end:{line:270,column:42}},78:{start:{line:273,column:12},end:{line:273,column:23}},79:{start:{line:274,column:12},end:{line:274,column:33}},80:{start:{line:275,column:12},end:{line:275,column:72}},81:{start:{line:276,column:12},end:{line:276,column:31}},82:{start:{line:277,column:12},end:{line:277,column:41}},83:{start:{line:280,column:12},end:{line:280,column:68}},84:{start:{line:281,column:12},end:{line:281,column:31}},85:{start:{line:285,column:10},end:{line:285,column:42}},86:{start:{line:286,column:10},end:{line:286,column:52}},87:{start:{line:286,column:28},end:{line:286,column:52}},88:{start:{line:290,column:6},end:{line:290,column:42}},89:{start:{line:292,column:22},end:{line:292,column:24}},90:{start:{line:293,column:24},end:{line:293,column:26}},91:{start:{line:294,column:6},end:{line:300,column:8}},92:{start:{line:295,column:8},end:{line:299,column:9}},93:{start:{line:296,column:10},end:{line:296,column:32}},94:{start:{line:298,column:10},end:{line:298,column:34}},95:{start:{line:302,column:6},end:{line:317,column:7}},96:{start:{line:304,column:8},end:{line:316,column:9}},97:{start:{line:306,column:12},end:{line:308,column:13}},98:{start:{line:307,column:14},end:{line:307,column:36}},99:{start:{line:309,column:12},end:{line:314,column:14}},100:{start:{line:319,column:6},end:{line:348,column:7}},101:{start:{line:321,column:27},end:{line:328,column:14}},102:{start:{line:322,column:10},end:{line:326,column:11}},103:{start:{line:323,column:12},end:{line:323,column:44}},104:{start:{line:325,column:12},end:{line:325,column:42}},105:{start:{line:327,column:10},end:{line:327,column:23}},106:{start:{line:329,column:8},end:{line:332,column:10}},107:{start:{line:331,column:10},end:{line:331,column:59}},108:{start:{line:333,column:8},end:{line:347,column:9}},109:{start:{line:335,column:12},end:{line:337,column:13}},110:{start:{line:336,column:14},end:{line:336,column:36}},111:{start:{line:338,column:12},end:{line:345,column:14}},112:{start:{line:339,column:14},end:{line:344,column:16}},113:{start:{line:351,column:6},end:{line:351,column:42}},114:{start:{line:353,column:22},end:{line:353,column:24}},115:{start:{line:354,column:24},end:{line:354,column:26}},116:{start:{line:355,column:6},end:{line:361,column:8}},117:{start:{line:356,column:8},end:{line:360,column:9}},118:{start:{line:357,column:10},end:{line:357,column:32}},119:{start:{line:359,column:10},end:{line:359,column:34}},120:{start:{line:363,column:6},end:{line:369,column:7}},121:{start:{line:364,column:8},end:{line:368,column:10}},122:{start:{line:370,column:6},end:{line:376,column:7}},123:{start:{line:371,column:8},end:{line:375,column:10}},124:{start:{line:379,column:6},end:{line:379,column:29}},125:{start:{line:380,column:6},end:{line:384,column:7}},126:{start:{line:381,column:8},end:{line:381,column:40}},127:{start:{line:382,column:8},end:{line:382,column:25}},128:{start:{line:383,column:8},end:{line:383,column:14}},129:{start:{line:385,column:6},end:{line:387,column:7}},130:{start:{line:386,column:8},end:{line:386,column:14}},131:{start:{line:394,column:6},end:{line:451,column:7}},132:{start:{line:395,column:8},end:{line:426,column:10}},133:{start:{line:397,column:10},end:{line:397,column:32}},134:{start:{line:397,column:26},end:{line:397,column:32}},135:{start:{line:399,column:21},end:{line:399,column:78}},136:{start:{line:399,column:53},end:{line:399,column:77}},137:{start:{line:400,column:25},end:{line:419,column:28}},138:{start:{line:402,column:28},end:{line:402,column:30}},139:{start:{line:404,column:14},end:{line:404,column:48}},140:{start:{line:405,column:14},end:{line:405,column:48}},141:{start:{line:406,column:26},end:{line:406,column:31}},142:{start:{line:407,column:14},end:{line:412,column:16}},143:{start:{line:408,column:16},end:{line:411,column:17}},144:{start:{line:409,column:18},end:{line:409,column:30}},145:{start:{line:410,column:18},end:{line:410,column:42}},146:{start:{line:413,column:14},end:{line:417,column:15}},147:{start:{line:414,column:16},end:{line:414,column:30}},148:{start:{line:416,column:16},end:{line:416,column:22}},149:{start:{line:420,column:10},end:{line:425,column:11}},150:{start:{line:424,column:12},end:{line:424,column:52}},151:{start:{line:428,column:31},end:{line:435,column:14}},152:{start:{line:429,column:10},end:{line:433,column:11}},153:{start:{line:430,column:12},end:{line:430,column:48}},154:{start:{line:432,column:12},end:{line:432,column:46}},155:{start:{line:434,column:10},end:{line:434,column:23}},156:{start:{line:436,column:8},end:{line:449,column:10}},157:{start:{line:438,column:10},end:{line:438,column:31}},158:{start:{line:438,column:25},end:{line:438,column:31}},159:{start:{line:439,column:10},end:{line:448,column:12}},160:{start:{line:440,column:29},end:{line:440,column:57}},161:{start:{line:441,column:12},end:{line:441,column:51}},162:{start:{line:442,column:12},end:{line:447,column:13}},163:{start:{line:446,column:14},end:{line:446,column:72}},164:{start:{line:450,column:8},end:{line:450,column:58}},165:{start:{line:454,column:16},end:{line:454,column:34}},166:{start:{line:455,column:6},end:{line:459,column:7}},167:{start:{line:456,column:8},end:{line:456,column:20}},168:{start:{line:458,column:8},end:{line:458,column:20}},169:{start:{line:460,column:6},end:{line:460,column:59}},170:{start:{line:461,column:6},end:{line:461,column:65}},171:{start:{line:461,column:35},end:{line:461,column:65}},172:{start:{line:462,column:6},end:{line:462,column:16}},173:{start:{line:465,column:16},end:{line:465,column:32}},174:{start:{line:466,column:6},end:{line:470,column:7}},175:{start:{line:467,column:8},end:{line:467,column:20}},176:{start:{line:469,column:8},end:{line:469,column:20}},177:{start:{line:471,column:6},end:{line:471,column:73}},178:{start:{line:472,column:6},end:{line:472,column:61}},179:{start:{line:472,column:33},end:{line:472,column:61}},180:{start:{line:473,column:6},end:{line:473,column:16}},181:{start:{line:477,column:23},end:{line:477,column:52}},182:{start:{line:478,column:16},end:{line:478,column:89}},183:{start:{line:479,column:6},end:{line:479,column:65}},184:{start:{line:479,column:35},end:{line:479,column:65}},185:{start:{line:480,column:6},end:{line:480,column:16}},186:{start:{line:483,column:16},end:{line:483,column:105}},187:{start:{line:484,column:6},end:{line:484,column:16}},188:{start:{line:487,column:6},end:{line:487,column:17}},189:{start:{line:488,column:6},end:{line:488,column:31}},190:{start:{line:489,column:6},end:{line:489,column:27}},191:{start:{line:492,column:6},end:{line:502,column:8}},192:{start:{line:493,column:8},end:{line:493,column:19}},193:{start:{line:494,column:8},end:{line:494,column:33}},194:{start:{line:495,column:8},end:{line:495,column:28}},195:{start:{line:499,column:8},end:{line:501,column:9}},196:{start:{line:500,column:10},end:{line:500,column:22}},197:{start:{line:505,column:6},end:{line:505,column:44}},198:{start:{line:508,column:6},end:{line:508,column:28}},199:{start:{line:509,column:6},end:{line:509,column:40}},200:{start:{line:512,column:6},end:{line:512,column:32}},201:{start:{line:513,column:6},end:{line:513,column:26}},202:{start:{line:516,column:6},end:{line:516,column:25}},203:{start:{line:517,column:6},end:{line:517,column:28}},204:{start:{line:518,column:6},end:{line:518,column:30}},205:{start:{line:519,column:6},end:{line:519,column:35}},206:{start:{line:520,column:6},end:{line:520,column:35}},207:{start:{line:521,column:6},end:{line:523,column:8}},208:{start:{line:522,column:8},end:{line:522,column:31}},209:{start:{line:526,column:6},end:{line:526,column:61}},210:{start:{line:527,column:6},end:{line:527,column:31}},211:{start:{line:530,column:6},end:{line:530,column:61}},212:{start:{line:531,column:6},end:{line:531,column:32}},213:{start:{line:534,column:6},end:{line:538,column:7}},214:{start:{line:542,column:17},end:{line:542,column:38}},215:{start:{line:543,column:22},end:{line:543,column:43}},216:{start:{line:544,column:6},end:{line:551,column:7}},217:{start:{line:546,column:8},end:{line:546,column:33}},218:{start:{line:548,column:10},end:{line:549,column:54}},219:{start:{line:550,column:8},end:{line:550,column:35}},220:{start:{line:552,column:6},end:{line:562,column:8}},221:{start:{line:563,column:6},end:{line:563,column:47}},222:{start:{line:565,column:6},end:{line:567,column:7}},223:{start:{line:566,column:8},end:{line:566,column:45}},224:{start:{line:568,column:6},end:{line:568,column:31}},225:{start:{line:571,column:6},end:{line:571,column:41}},226:{start:{line:575,column:6},end:{line:611,column:7}},227:{start:{line:577,column:25},end:{line:577,column:27}},228:{start:{line:578,column:8},end:{line:585,column:10}},229:{start:{line:580,column:10},end:{line:580,column:32}},230:{start:{line:580,column:26},end:{line:580,column:32}},231:{start:{line:582,column:10},end:{line:584,column:11}},232:{start:{line:583,column:12},end:{line:583,column:73}},233:{start:{line:587,column:23},end:{line:589,column:9}},234:{start:{line:588,column:22},end:{line:588,column:69}},235:{start:{line:590,column:8},end:{line:592,column:9}},236:{start:{line:591,column:10},end:{line:591,column:47}},237:{start:{line:595,column:27},end:{line:595,column:29}},238:{start:{line:596,column:8},end:{line:603,column:10}},239:{start:{line:598,column:10},end:{line:598,column:31}},240:{start:{line:598,column:25},end:{line:598,column:31}},241:{start:{line:600,column:10},end:{line:602,column:11}},242:{start:{line:601,column:12},end:{line:601,column:79}},243:{start:{line:605,column:23},end:{line:607,column:9}},244:{start:{line:606,column:22},end:{line:606,column:73}},245:{start:{line:608,column:8},end:{line:610,column:9}},246:{start:{line:609,column:10},end:{line:609,column:47}},247:{start:{line:612,column:6},end:{line:612,column:42}}},fnMap:{0:{name:"(anonymous_0)",decl:{start:{line:29,column:2},end:{line:29,column:3}},loc:{start:{line:29,column:9},end:{line:112,column:3}},line:29},1:{name:"(anonymous_1)",decl:{start:{line:61,column:18},end:{line:61,column:19}},loc:{start:{line:61,column:29},end:{line:61,column:50}},line:61},2:{name:"(anonymous_2)",decl:{start:{line:75,column:23},end:{line:75,column:24}},loc:{start:{line:75,column:29},end:{line:77,column:15}},line:75},3:{name:"(anonymous_3)",decl:{start:{line:82,column:23},end:{line:82,column:24}},loc:{start:{line:82,column:29},end:{line:84,column:15}},line:82},4:{name:"(anonymous_4)",decl:{start:{line:89,column:23},end:{line:89,column:24}},loc:{start:{line:89,column:29},end:{line:92,column:15}},line:89},5:{name:"(anonymous_5)",decl:{start:{line:114,column:18},end:{line:114,column:19}},loc:{start:{line:114,column:30},end:{line:136,column:5}},line:114},6:{name:"(anonymous_6)",decl:{start:{line:137,column:16},end:{line:137,column:17}},loc:{start:{line:137,column:28},end:{line:141,column:5}},line:137},7:{name:"(anonymous_7)",decl:{start:{line:138,column:38},end:{line:138,column:39}},loc:{start:{line:138,column:47},end:{line:140,column:7}},line:138},8:{name:"(anonymous_8)",decl:{start:{line:144,column:26},end:{line:144,column:27}},loc:{start:{line:144,column:38},end:{line:146,column:5}},line:144},9:{name:"(anonymous_9)",decl:{start:{line:150,column:14},end:{line:150,column:15}},loc:{start:{line:150,column:35},end:{line:154,column:5}},line:150},10:{name:"(anonymous_10)",decl:{start:{line:156,column:15},end:{line:156,column:16}},loc:{start:{line:156,column:27},end:{line:158,column:7}},line:156},11:{name:"(anonymous_11)",decl:{start:{line:162,column:2},end:{line:162,column:3}},loc:{start:{line:162,column:18},end:{line:201,column:3}},line:162},12:{name:"(anonymous_12)",decl:{start:{line:166,column:12},end:{line:166,column:13}},loc:{start:{line:166,column:26},end:{line:170,column:7}},line:166},13:{name:"(anonymous_13)",decl:{start:{line:171,column:13},end:{line:171,column:14}},loc:{start:{line:171,column:24},end:{line:173,column:7}},line:171},14:{name:"(anonymous_14)",decl:{start:{line:179,column:40},end:{line:179,column:41}},loc:{start:{line:179,column:54},end:{line:199,column:5}},line:179},15:{name:"(anonymous_15)",decl:{start:{line:180,column:28},end:{line:180,column:29}},loc:{start:{line:180,column:40},end:{line:198,column:7}},line:180},16:{name:"(anonymous_16)",decl:{start:{line:184,column:56},end:{line:184,column:57}},loc:{start:{line:184,column:70},end:{line:196,column:11}},line:184},17:{name:"(anonymous_17)",decl:{start:{line:202,column:11},end:{line:202,column:12}},loc:{start:{line:202,column:23},end:{line:215,column:3}},line:202},18:{name:"(anonymous_18)",decl:{start:{line:216,column:13},end:{line:216,column:14}},loc:{start:{line:216,column:25},end:{line:221,column:3}},line:216},19:{name:"(anonymous_19)",decl:{start:{line:223,column:17},end:{line:223,column:18}},loc:{start:{line:223,column:35},end:{line:229,column:5}},line:223},20:{name:"(anonymous_20)",decl:{start:{line:230,column:16},end:{line:230,column:17}},loc:{start:{line:230,column:28},end:{line:232,column:5}},line:230},21:{name:"(anonymous_21)",decl:{start:{line:233,column:11},end:{line:233,column:12}},loc:{start:{line:233,column:23},end:{line:259,column:5}},line:233},22:{name:"(anonymous_22)",decl:{start:{line:260,column:10},end:{line:260,column:11}},loc:{start:{line:260,column:22},end:{line:263,column:5}},line:260},23:{name:"(anonymous_23)",decl:{start:{line:264,column:15},end:{line:264,column:16}},loc:{start:{line:264,column:27},end:{line:288,column:5}},line:264},24:{name:"(anonymous_24)",decl:{start:{line:267,column:20},end:{line:267,column:21}},loc:{start:{line:267,column:30},end:{line:267,column:49}},line:267},25:{name:"(anonymous_25)",decl:{start:{line:268,column:21},end:{line:268,column:22}},loc:{start:{line:268,column:27},end:{line:271,column:11}},line:268},26:{name:"(anonymous_26)",decl:{start:{line:272,column:24},end:{line:272,column:25}},loc:{start:{line:272,column:30},end:{line:278,column:11}},line:272},27:{name:"(anonymous_27)",decl:{start:{line:279,column:20},end:{line:279,column:21}},loc:{start:{line:279,column:26},end:{line:282,column:11}},line:279},28:{name:"(anonymous_28)",decl:{start:{line:284,column:14},end:{line:284,column:15}},loc:{start:{line:284,column:32},end:{line:287,column:9}},line:284},29:{name:"(anonymous_29)",decl:{start:{line:289,column:23},end:{line:289,column:24}},loc:{start:{line:289,column:42},end:{line:349,column:5}},line:289},30:{name:"(anonymous_30)",decl:{start:{line:294,column:22},end:{line:294,column:23}},loc:{start:{line:294,column:34},end:{line:300,column:7}},line:294},31:{name:"(anonymous_31)",decl:{start:{line:305,column:10},end:{line:305,column:11}},loc:{start:{line:305,column:25},end:{line:315,column:11}},line:305},32:{name:"(anonymous_32)",decl:{start:{line:321,column:46},end:{line:321,column:47}},loc:{start:{line:321,column:66},end:{line:328,column:9}},line:321},33:{name:"(anonymous_33)",decl:{start:{line:329,column:40},end:{line:329,column:41}},loc:{start:{line:329,column:50},end:{line:332,column:9}},line:329},34:{name:"(anonymous_34)",decl:{start:{line:334,column:10},end:{line:334,column:11}},loc:{start:{line:334,column:25},end:{line:346,column:11}},line:334},35:{name:"(anonymous_35)",decl:{start:{line:338,column:44},end:{line:338,column:45}},loc:{start:{line:338,column:54},end:{line:345,column:13}},line:338},36:{name:"(anonymous_36)",decl:{start:{line:350,column:28},end:{line:350,column:29}},loc:{start:{line:350,column:47},end:{line:377,column:5}},line:350},37:{name:"(anonymous_37)",decl:{start:{line:355,column:22},end:{line:355,column:23}},loc:{start:{line:355,column:34},end:{line:361,column:7}},line:355},38:{name:"(anonymous_38)",decl:{start:{line:378,column:14},end:{line:378,column:15}},loc:{start:{line:378,column:32},end:{line:452,column:5}},line:378},39:{name:"(anonymous_39)",decl:{start:{line:395,column:33},end:{line:395,column:34}},loc:{start:{line:395,column:45},end:{line:426,column:9}},line:395},40:{name:"(anonymous_40)",decl:{start:{line:399,column:37},end:{line:399,column:38}},loc:{start:{line:399,column:53},end:{line:399,column:77}},line:399},41:{name:"(anonymous_41)",decl:{start:{line:401,column:17},end:{line:401,column:18}},loc:{start:{line:401,column:27},end:{line:418,column:13}},line:401},42:{name:"(anonymous_42)",decl:{start:{line:407,column:27},end:{line:407,column:28}},loc:{start:{line:407,column:36},end:{line:412,column:15}},line:407},43:{name:"(anonymous_43)",decl:{start:{line:428,column:45},end:{line:428,column:46}},loc:{start:{line:428,column:65},end:{line:435,column:9}},line:428},44:{name:"(anonymous_44)",decl:{start:{line:436,column:33},end:{line:436,column:34}},loc:{start:{line:436,column:45},end:{line:449,column:9}},line:436},45:{name:"(anonymous_45)",decl:{start:{line:439,column:30},end:{line:439,column:31}},loc:{start:{line:439,column:48},end:{line:448,column:11}},line:439},46:{name:"(anonymous_46)",decl:{start:{line:453,column:15},end:{line:453,column:16}},loc:{start:{line:453,column:33},end:{line:463,column:5}},line:453},47:{name:"(anonymous_47)",decl:{start:{line:464,column:13},end:{line:464,column:14}},loc:{start:{line:464,column:29},end:{line:474,column:5}},line:464},48:{name:"(anonymous_48)",decl:{start:{line:476,column:21},end:{line:476,column:22}},loc:{start:{line:476,column:39},end:{line:481,column:5}},line:476},49:{name:"(anonymous_49)",decl:{start:{line:482,column:25},end:{line:482,column:26}},loc:{start:{line:482,column:41},end:{line:485,column:5}},line:482},50:{name:"(anonymous_50)",decl:{start:{line:486,column:17},end:{line:486,column:18}},loc:{start:{line:486,column:29},end:{line:490,column:5}},line:486},51:{name:"(anonymous_51)",decl:{start:{line:491,column:23},end:{line:491,column:24}},loc:{start:{line:491,column:55},end:{line:503,column:5}},line:491},52:{name:"(anonymous_52)",decl:{start:{line:492,column:40},end:{line:492,column:41}},loc:{start:{line:492,column:52},end:{line:502,column:7}},line:492},53:{name:"(anonymous_53)",decl:{start:{line:504,column:23},end:{line:504,column:24}},loc:{start:{line:504,column:39},end:{line:506,column:5}},line:504},54:{name:"(anonymous_54)",decl:{start:{line:507,column:12},end:{line:507,column:13}},loc:{start:{line:507,column:24},end:{line:510,column:5}},line:507},55:{name:"(anonymous_55)",decl:{start:{line:511,column:21},end:{line:511,column:22}},loc:{start:{line:511,column:33},end:{line:514,column:5}},line:511},56:{name:"(anonymous_56)",decl:{start:{line:515,column:13},end:{line:515,column:14}},loc:{start:{line:515,column:37},end:{line:524,column:5}},line:515},57:{name:"(anonymous_57)",decl:{start:{line:521,column:21},end:{line:521,column:22}},loc:{start:{line:521,column:27},end:{line:523,column:7}},line:521},58:{name:"(anonymous_58)",decl:{start:{line:525,column:23},end:{line:525,column:24}},loc:{start:{line:525,column:35},end:{line:528,column:5}},line:525},59:{name:"(anonymous_59)",decl:{start:{line:529,column:15},end:{line:529,column:16}},loc:{start:{line:529,column:27},end:{line:532,column:5}},line:529},60:{name:"(anonymous_60)",decl:{start:{line:533,column:20},end:{line:533,column:21}},loc:{start:{line:533,column:37},end:{line:539,column:5}},line:533},61:{name:"(anonymous_61)",decl:{start:{line:540,column:18},end:{line:540,column:19}},loc:{start:{line:540,column:35},end:{line:569,column:5}},line:540},62:{name:"(anonymous_62)",decl:{start:{line:570,column:24},end:{line:570,column:25}},loc:{start:{line:570,column:36},end:{line:572,column:5}},line:570},63:{name:"(anonymous_63)",decl:{start:{line:573,column:21},end:{line:573,column:22}},loc:{start:{line:573,column:41},end:{line:613,column:5}},line:573},64:{name:"(anonymous_64)",decl:{start:{line:578,column:33},end:{line:578,column:34}},loc:{start:{line:578,column:45},end:{line:585,column:9}},line:578},65:{name:"(anonymous_65)",decl:{start:{line:588,column:10},end:{line:588,column:11}},loc:{start:{line:588,column:22},end:{line:588,column:69}},line:588},66:{name:"(anonymous_66)",decl:{start:{line:596,column:33},end:{line:596,column:34}},loc:{start:{line:596,column:45},end:{line:603,column:9}},line:596},67:{name:"(anonymous_67)",decl:{start:{line:606,column:10},end:{line:606,column:11}},loc:{start:{line:606,column:22},end:{line:606,column:73}},line:606}},branchMap:{0:{loc:{start:{line:61,column:29},end:{line:61,column:50}},type:"binary-expr",locations:[{start:{line:61,column:29},end:{line:61,column:36}},{start:{line:61,column:40},end:{line:61,column:50}}],line:61},1:{loc:{start:{line:118,column:8},end:{line:128,column:9}},type:"if",locations:[{start:{line:118,column:8},end:{line:128,column:9}},{start:{line:123,column:15},end:{line:128,column:9}}],line:118},2:{loc:{start:{line:120,column:10},end:{line:122,column:11}},type:"if",locations:[{start:{line:120,column:10},end:{line:122,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:120},3:{loc:{start:{line:120,column:14},end:{line:120,column:60}},type:"binary-expr",locations:[{start:{line:120,column:14},end:{line:120,column:35}},{start:{line:120,column:39},end:{line:120,column:60}}],line:120},4:{loc:{start:{line:125,column:10},end:{line:127,column:11}},type:"if",locations:[{start:{line:125,column:10},end:{line:127,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:125},5:{loc:{start:{line:125,column:14},end:{line:125,column:60}},type:"binary-expr",locations:[{start:{line:125,column:14},end:{line:125,column:35}},{start:{line:125,column:39},end:{line:125,column:60}}],line:125},6:{loc:{start:{line:134,column:18},end:{line:134,column:64}},type:"cond-expr",locations:[{start:{line:134,column:28},end:{line:134,column:57}},{start:{line:134,column:60},end:{line:134,column:64}}],line:134},7:{loc:{start:{line:151,column:6},end:{line:153,column:7}},type:"if",locations:[{start:{line:151,column:6},end:{line:153,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:151},8:{loc:{start:{line:151,column:10},end:{line:151,column:43}},type:"binary-expr",locations:[{start:{line:151,column:10},end:{line:151,column:25}},{start:{line:151,column:29},end:{line:151,column:43}}],line:151},9:{loc:{start:{line:167,column:8},end:{line:169,column:9}},type:"if",locations:[{start:{line:167,column:8},end:{line:169,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:167},10:{loc:{start:{line:183,column:8},end:{line:197,column:9}},type:"if",locations:[{start:{line:183,column:8},end:{line:197,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:183},11:{loc:{start:{line:187,column:12},end:{line:190,column:13}},type:"if",locations:[{start:{line:187,column:12},end:{line:190,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:187},12:{loc:{start:{line:204,column:4},end:{line:214,column:5}},type:"if",locations:[{start:{line:204,column:4},end:{line:214,column:5}},{start:{line:207,column:11},end:{line:214,column:5}}],line:204},13:{loc:{start:{line:204,column:8},end:{line:204,column:53}},type:"binary-expr",locations:[{start:{line:204,column:8},end:{line:204,column:25}},{start:{line:204,column:29},end:{line:204,column:53}}],line:204},14:{loc:{start:{line:210,column:6},end:{line:213,column:7}},type:"if",locations:[{start:{line:210,column:6},end:{line:213,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:210},15:{loc:{start:{line:217,column:4},end:{line:219,column:5}},type:"if",locations:[{start:{line:217,column:4},end:{line:219,column:5}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:217},16:{loc:{start:{line:224,column:6},end:{line:228,column:7}},type:"if",locations:[{start:{line:224,column:6},end:{line:228,column:7}},{start:{line:226,column:13},end:{line:228,column:7}}],line:224},17:{loc:{start:{line:231,column:6},end:{line:231,column:53}},type:"if",locations:[{start:{line:231,column:6},end:{line:231,column:53}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:231},18:{loc:{start:{line:236,column:6},end:{line:240,column:7}},type:"if",locations:[{start:{line:236,column:6},end:{line:240,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:236},19:{loc:{start:{line:242,column:6},end:{line:246,column:7}},type:"if",locations:[{start:{line:242,column:6},end:{line:246,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:242},20:{loc:{start:{line:248,column:6},end:{line:256,column:7}},type:"if",locations:[{start:{line:248,column:6},end:{line:256,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:248},21:{loc:{start:{line:286,column:10},end:{line:286,column:52}},type:"if",locations:[{start:{line:286,column:10},end:{line:286,column:52}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:286},22:{loc:{start:{line:290,column:16},end:{line:290,column:42}},type:"binary-expr",locations:[{start:{line:290,column:16},end:{line:290,column:23}},{start:{line:290,column:27},end:{line:290,column:42}}],line:290},23:{loc:{start:{line:295,column:8},end:{line:299,column:9}},type:"if",locations:[{start:{line:295,column:8},end:{line:299,column:9}},{start:{line:297,column:15},end:{line:299,column:9}}],line:295},24:{loc:{start:{line:302,column:6},end:{line:317,column:7}},type:"if",locations:[{start:{line:302,column:6},end:{line:317,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:302},25:{loc:{start:{line:306,column:12},end:{line:308,column:13}},type:"if",locations:[{start:{line:306,column:12},end:{line:308,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:306},26:{loc:{start:{line:319,column:6},end:{line:348,column:7}},type:"if",locations:[{start:{line:319,column:6},end:{line:348,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:319},27:{loc:{start:{line:322,column:10},end:{line:326,column:11}},type:"if",locations:[{start:{line:322,column:10},end:{line:326,column:11}},{start:{line:324,column:17},end:{line:326,column:11}}],line:322},28:{loc:{start:{line:335,column:12},end:{line:337,column:13}},type:"if",locations:[{start:{line:335,column:12},end:{line:337,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:335},29:{loc:{start:{line:351,column:16},end:{line:351,column:42}},type:"binary-expr",locations:[{start:{line:351,column:16},end:{line:351,column:23}},{start:{line:351,column:27},end:{line:351,column:42}}],line:351},30:{loc:{start:{line:356,column:8},end:{line:360,column:9}},type:"if",locations:[{start:{line:356,column:8},end:{line:360,column:9}},{start:{line:358,column:15},end:{line:360,column:9}}],line:356},31:{loc:{start:{line:363,column:6},end:{line:369,column:7}},type:"if",locations:[{start:{line:363,column:6},end:{line:369,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:363},32:{loc:{start:{line:370,column:6},end:{line:376,column:7}},type:"if",locations:[{start:{line:370,column:6},end:{line:376,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:370},33:{loc:{start:{line:380,column:6},end:{line:384,column:7}},type:"if",locations:[{start:{line:380,column:6},end:{line:384,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:380},34:{loc:{start:{line:385,column:6},end:{line:387,column:7}},type:"if",locations:[{start:{line:385,column:6},end:{line:387,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:385},35:{loc:{start:{line:394,column:6},end:{line:451,column:7}},type:"if",locations:[{start:{line:394,column:6},end:{line:451,column:7}},{start:{line:427,column:13},end:{line:451,column:7}}],line:394},36:{loc:{start:{line:397,column:10},end:{line:397,column:32}},type:"if",locations:[{start:{line:397,column:10},end:{line:397,column:32}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:397},37:{loc:{start:{line:408,column:16},end:{line:411,column:17}},type:"if",locations:[{start:{line:408,column:16},end:{line:411,column:17}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:408},38:{loc:{start:{line:413,column:14},end:{line:417,column:15}},type:"if",locations:[{start:{line:413,column:14},end:{line:417,column:15}},{start:{line:415,column:21},end:{line:417,column:15}}],line:413},39:{loc:{start:{line:420,column:10},end:{line:425,column:11}},type:"if",locations:[{start:{line:420,column:10},end:{line:425,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:420},40:{loc:{start:{line:421,column:12},end:{line:422,column:64}},type:"binary-expr",locations:[{start:{line:421,column:12},end:{line:421,column:20}},{start:{line:422,column:12},end:{line:422,column:64}}],line:421},41:{loc:{start:{line:429,column:10},end:{line:433,column:11}},type:"if",locations:[{start:{line:429,column:10},end:{line:433,column:11}},{start:{line:431,column:17},end:{line:433,column:11}}],line:429},42:{loc:{start:{line:438,column:10},end:{line:438,column:31}},type:"if",locations:[{start:{line:438,column:10},end:{line:438,column:31}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:438},43:{loc:{start:{line:442,column:12},end:{line:447,column:13}},type:"if",locations:[{start:{line:442,column:12},end:{line:447,column:13}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:442},44:{loc:{start:{line:443,column:14},end:{line:444,column:66}},type:"binary-expr",locations:[{start:{line:443,column:14},end:{line:443,column:40}},{start:{line:444,column:14},end:{line:444,column:66}}],line:443},45:{loc:{start:{line:455,column:6},end:{line:459,column:7}},type:"if",locations:[{start:{line:455,column:6},end:{line:459,column:7}},{start:{line:457,column:13},end:{line:459,column:7}}],line:455},46:{loc:{start:{line:461,column:6},end:{line:461,column:65}},type:"if",locations:[{start:{line:461,column:6},end:{line:461,column:65}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:461},47:{loc:{start:{line:466,column:6},end:{line:470,column:7}},type:"if",locations:[{start:{line:466,column:6},end:{line:470,column:7}},{start:{line:468,column:13},end:{line:470,column:7}}],line:466},48:{loc:{start:{line:472,column:6},end:{line:472,column:61}},type:"if",locations:[{start:{line:472,column:6},end:{line:472,column:61}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:472},49:{loc:{start:{line:479,column:6},end:{line:479,column:65}},type:"if",locations:[{start:{line:479,column:6},end:{line:479,column:65}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:479},50:{loc:{start:{line:491,column:39},end:{line:491,column:53}},type:"default-arg",locations:[{start:{line:491,column:48},end:{line:491,column:53}}],line:491},51:{loc:{start:{line:499,column:8},end:{line:501,column:9}},type:"if",locations:[{start:{line:499,column:8},end:{line:501,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:499},52:{loc:{start:{line:544,column:6},end:{line:551,column:7}},type:"if",locations:[{start:{line:544,column:6},end:{line:551,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:544},53:{loc:{start:{line:565,column:6},end:{line:567,column:7}},type:"if",locations:[{start:{line:565,column:6},end:{line:567,column:7}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:565},54:{loc:{start:{line:575,column:6},end:{line:611,column:7}},type:"if",locations:[{start:{line:575,column:6},end:{line:611,column:7}},{start:{line:593,column:13},end:{line:611,column:7}}],line:575},55:{loc:{start:{line:580,column:10},end:{line:580,column:32}},type:"if",locations:[{start:{line:580,column:10},end:{line:580,column:32}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:580},56:{loc:{start:{line:582,column:10},end:{line:584,column:11}},type:"if",locations:[{start:{line:582,column:10},end:{line:584,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:582},57:{loc:{start:{line:590,column:8},end:{line:592,column:9}},type:"if",locations:[{start:{line:590,column:8},end:{line:592,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:590},58:{loc:{start:{line:598,column:10},end:{line:598,column:31}},type:"if",locations:[{start:{line:598,column:10},end:{line:598,column:31}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:598},59:{loc:{start:{line:600,column:10},end:{line:602,column:11}},type:"if",locations:[{start:{line:600,column:10},end:{line:602,column:11}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:600},60:{loc:{start:{line:608,column:8},end:{line:610,column:9}},type:"if",locations:[{start:{line:608,column:8},end:{line:610,column:9}},{start:{line:void 0,column:void 0},end:{line:void 0,column:void 0}}],line:608}},s:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0,68:0,69:0,70:0,71:0,72:0,73:0,74:0,75:0,76:0,77:0,78:0,79:0,80:0,81:0,82:0,83:0,84:0,85:0,86:0,87:0,88:0,89:0,90:0,91:0,92:0,93:0,94:0,95:0,96:0,97:0,98:0,99:0,100:0,101:0,102:0,103:0,104:0,105:0,106:0,107:0,108:0,109:0,110:0,111:0,112:0,113:0,114:0,115:0,116:0,117:0,118:0,119:0,120:0,121:0,122:0,123:0,124:0,125:0,126:0,127:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:0,136:0,137:0,138:0,139:0,140:0,141:0,142:0,143:0,144:0,145:0,146:0,147:0,148:0,149:0,150:0,151:0,152:0,153:0,154:0,155:0,156:0,157:0,158:0,159:0,160:0,161:0,162:0,163:0,164:0,165:0,166:0,167:0,168:0,169:0,170:0,171:0,172:0,173:0,174:0,175:0,176:0,177:0,178:0,179:0,180:0,181:0,182:0,183:0,184:0,185:0,186:0,187:0,188:0,189:0,190:0,191:0,192:0,193:0,194:0,195:0,196:0,197:0,198:0,199:0,200:0,201:0,202:0,203:0,204:0,205:0,206:0,207:0,208:0,209:0,210:0,211:0,212:0,213:0,214:0,215:0,216:0,217:0,218:0,219:0,220:0,221:0,222:0,223:0,224:0,225:0,226:0,227:0,228:0,229:0,230:0,231:0,232:0,233:0,234:0,235:0,236:0,237:0,238:0,239:0,240:0,241:0,242:0,243:0,244:0,245:0,246:0,247:0},f:{0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:0,16:0,17:0,18:0,19:0,20:0,21:0,22:0,23:0,24:0,25:0,26:0,27:0,28:0,29:0,30:0,31:0,32:0,33:0,34:0,35:0,36:0,37:0,38:0,39:0,40:0,41:0,42:0,43:0,44:0,45:0,46:0,47:0,48:0,49:0,50:0,51:0,52:0,53:0,54:0,55:0,56:0,57:0,58:0,59:0,60:0,61:0,62:0,63:0,64:0,65:0,66:0,67:0},b:{0:[0,0],1:[0,0],2:[0,0],3:[0,0],4:[0,0],5:[0,0],6:[0,0],7:[0,0],8:[0,0],9:[0,0],10:[0,0],11:[0,0],12:[0,0],13:[0,0],14:[0,0],15:[0,0],16:[0,0],17:[0,0],18:[0,0],19:[0,0],20:[0,0],21:[0,0],22:[0,0],23:[0,0],24:[0,0],25:[0,0],26:[0,0],27:[0,0],28:[0,0],29:[0,0],30:[0,0],31:[0,0],32:[0,0],33:[0,0],34:[0,0],35:[0,0],36:[0,0],37:[0,0],38:[0,0],39:[0,0],40:[0,0],41:[0,0],42:[0,0],43:[0,0],44:[0,0],45:[0,0],46:[0,0],47:[0,0],48:[0,0],49:[0,0],50:[0],51:[0,0],52:[0,0],53:[0,0],54:[0,0],55:[0,0],56:[0,0],57:[0,0],58:[0,0],59:[0,0],60:[0,0]},inputSourceMap:{version:3,sources:["DataViewer.vue"],names:[],mappings:";AAgQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA",file:"DataViewer.vue",sourceRoot:"src/tools/DataViewer",sourcesContent:['\x3c!--\n# Copyright 2022 Ball Aerospace & Technologies Corp.\n# All Rights Reserved.\n#\n# This program is free software; you can modify and/or redistribute it\n# under the terms of the GNU Affero General Public License\n# as published by the Free Software Foundation; version 3 with\n# attribution addendums as found in the LICENSE.txt\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n# GNU Affero General Public License for more details.\n\n# Modified by OpenC3, Inc.\n# All changes Copyright 2024, OpenC3, Inc.\n# All Rights Reserved\n#\n# This file may also be used under the terms of a commercial license\n# if purchased from OpenC3, Inc.\n--\x3e\n\n<template>\n <div>\n <top-bar :menus="menus" :title="title" />\n <v-card>\n <v-expansion-panels v-model="panel" style="margin-bottom: 5px">\n <v-expansion-panel>\n <v-expansion-panel-header\n style="z-index: 1"\n ></v-expansion-panel-header>\n <v-expansion-panel-content>\n <v-row dense>\n <v-col>\n <v-text-field\n v-model="startDate"\n label="Start Date"\n type="date"\n :rules="[rules.required]"\n data-test="start-date"\n />\n </v-col>\n <v-col>\n <v-text-field\n v-model="startTime"\n label="Start Time"\n type="time"\n step="1"\n :rules="[rules.required]"\n data-test="start-time"\n />\n </v-col>\n <v-col>\n <v-text-field\n v-model="endDate"\n label="End Date"\n type="date"\n :rules="endTime ? [rules.required] : []"\n data-test="end-date"\n />\n </v-col>\n <v-col>\n <v-text-field\n v-model="endTime"\n label="End Time"\n type="time"\n step="1"\n :rules="endDate ? [rules.required] : []"\n data-test="end-time"\n />\n </v-col>\n <v-col cols="auto" class="pt-4">\n <v-btn\n v-if="running"\n color="primary"\n width="100"\n data-test="stop-button"\n @click="stop"\n >\n Stop\n </v-btn>\n <v-btn\n v-else\n :disabled="!canStart"\n color="primary"\n width="100"\n class="pulse-button"\n data-test="start-button"\n @click="start"\n >\n Start\n </v-btn>\n </v-col>\n </v-row>\n </v-expansion-panel-content>\n </v-expansion-panel>\n </v-expansion-panels>\n <div class="mb-3" v-show="warning || error || connectionFailure">\n <v-alert type="warning" v-model="warning" dismissible>\n {{ warningText }}\n </v-alert>\n <v-alert type="error" v-model="error" dismissible>\n {{ errorText }}\n </v-alert>\n <v-alert type="error" v-model="connectionFailure">\n OpenC3 backend connection failed.\n </v-alert>\n </div>\n <v-tabs ref="tabs" v-model="curTab">\n <v-tab\n v-for="(tab, index) in config.tabs"\n :key="index"\n @contextmenu="(event) => tabMenu(event, index)"\n data-test="tab"\n >\n {{ tab.tabName }}\n </v-tab>\n <v-tooltip bottom>\n <template v-slot:activator="{ on, attrs }">\n <v-btn\n icon\n class="mt-2 ml-2"\n @click="addTab"\n v-bind="attrs"\n v-on="on"\n :class="config.tabs.length === 0 ? \'pulse-button\' : \'\'"\n data-test="new-tab"\n >\n <v-icon>mdi-tab-plus</v-icon>\n </v-btn>\n </template>\n <span>Add Component</span>\n </v-tooltip>\n </v-tabs>\n <v-tabs-items v-model="curTab">\n <v-tab-item v-for="(tab, index) in config.tabs" :key="tab.ref" eager>\n <keep-alive>\n <v-card flat>\n <v-divider />\n <v-card-title class="pa-3">\n <span v-text="tab.name" />\n <v-spacer />\n <v-tooltip bottom>\n <template v-slot:activator="{ on, attrs }">\n <v-btn\n icon\n @click="() => deleteComponent(index)"\n v-bind="attrs"\n v-on="on"\n data-test="delete-component"\n >\n <v-icon>mdi-delete</v-icon>\n </v-btn>\n </template>\n <span>Remove Component</span>\n </v-tooltip>\n </v-card-title>\n <component\n v-on="$listeners"\n :is="tab.type"\n :name="tab.component"\n :ref="tab.ref"\n :config="tab.config"\n :packets="tab.packets"\n @config="(config) => (tab.config = config)"\n />\n <v-card-text v-if="receivedPackets.length === 0">\n No data! Make sure to hit the START button!\n </v-card-text>\n </v-card></keep-alive\n >\n </v-tab-item>\n </v-tabs-items>\n <v-card v-if="!config.tabs.length">\n <v-card-title>You\'re not viewing any packets</v-card-title>\n <v-card-text>Click the new tab icon to start.</v-card-text>\n </v-card>\n </v-card>\n \x3c!-- Dialogs for opening and saving configs --\x3e\n <open-config-dialog\n v-if="openConfig"\n v-model="openConfig"\n :configKey="configKey"\n @success="openConfiguration"\n />\n <save-config-dialog\n v-if="saveConfig"\n v-model="saveConfig"\n :configKey="configKey"\n @success="saveConfiguration"\n />\n \x3c!-- Dialog for renaming a new tab --\x3e\n <v-dialog v-model="tabNameDialog" width="600">\n <v-card>\n <v-system-bar>\n <v-spacer />\n <span> DataViewer: Rename Tab</span>\n <v-spacer />\n </v-system-bar>\n <v-card-text>\n <v-text-field\n v-model="newTabName"\n label="Tab name"\n data-test="rename-tab-input"\n />\n </v-card-text>\n <v-card-actions>\n <v-spacer />\n <v-btn\n outlined\n class="mx-2"\n data-test="cancel-rename"\n @click="cancelTabRename"\n >\n Cancel\n </v-btn>\n <v-btn\n color="primary"\n class="mx-2"\n data-test="rename"\n :disabled="!newTabName"\n @click="renameTab"\n >\n Rename\n </v-btn>\n </v-card-actions>\n </v-card>\n </v-dialog>\n \x3c!-- Menu for right clicking on a tab --\x3e\n <v-menu\n v-model="showTabMenu"\n :position-x="tabMenuX"\n :position-y="tabMenuY"\n absolute\n offset-y\n >\n <v-list>\n <v-list-item data-test="context-menu-rename">\n <v-list-item-title style="cursor: pointer" @click="openTabNameDialog">\n Rename\n </v-list-item-title>\n </v-list-item>\n </v-list>\n </v-menu>\n \x3c!-- Dialog for adding a new component to a tab --\x3e\n <add-component-dialog\n :components="components"\n v-if="showAddComponentDialog"\n v-model="showAddComponentDialog"\n @add="addComponent"\n @cancel="cancelAddComponent"\n />\n </div>\n</template>\n\n<script>\nimport { OpenC3Api } from \'@openc3/tool-common/src/services/openc3-api\'\nimport Api from \'@openc3/tool-common/src/services/api\'\nimport Config from \'@openc3/tool-common/src/components/config/Config\'\nimport OpenConfigDialog from \'@openc3/tool-common/src/components/config/OpenConfigDialog\'\nimport SaveConfigDialog from \'@openc3/tool-common/src/components/config/SaveConfigDialog\'\nimport Cable from \'@openc3/tool-common/src/services/cable.js\'\nimport TopBar from \'@openc3/tool-common/src/components/TopBar\'\nimport TimeFilters from \'@openc3/tool-common/src/tools/base/util/timeFilters.js\'\n\nimport AddComponentDialog from \'@/tools/DataViewer/AddComponentDialog\'\n// DynamicComponent is how we load custom user components\nimport DynamicComponent from \'@/tools/DataViewer/DynamicComponent\'\n// Import the built-in DataViewer components\nimport DumpComponent from \'@/tools/DataViewer/DumpComponent\'\nimport ValueComponent from \'@/tools/DataViewer/ValueComponent\'\n\nexport default {\n components: {\n AddComponentDialog,\n OpenConfigDialog,\n SaveConfigDialog,\n DynamicComponent,\n DumpComponent,\n ValueComponent,\n TopBar,\n },\n mixins: [Config, TimeFilters],\n data() {\n return {\n title: \'Data Viewer\',\n configKey: \'data_viewer\',\n api: null,\n timeZone: \'local\',\n // Initialize with all built-in components\n components: [\n {\n label: \'COSMOS Packet Raw/Decom\',\n value: \'DumpComponent\',\n items: false,\n },\n {\n label: \'COSMOS Item Value\',\n value: \'ValueComponent\',\n items: true,\n },\n ],\n counter: 0,\n panel: 0,\n componentType: null,\n componentName: null,\n openConfig: false,\n saveConfig: false,\n cable: new Cable(),\n subscription: null,\n startDate: null,\n startTime: null,\n endDate: null,\n endTime: null,\n rules: {\n required: (value) => !!value || \'Required\',\n },\n autoStart: false,\n canStart: false,\n running: false,\n curTab: null,\n receivedPackets: {},\n menus: [\n {\n label: \'File\',\n items: [\n {\n label: \'Open Configuration\',\n icon: \'mdi-folder-open\',\n command: () => {\n this.openConfig = true\n },\n },\n {\n label: \'Save Configuration\',\n icon: \'mdi-content-save\',\n command: () => {\n this.saveConfig = true\n },\n },\n {\n label: \'Reset Configuration\',\n icon: \'mdi-monitor-shimmer\',\n command: () => {\n this.resetConfig()\n this.resetConfigBase()\n },\n },\n ],\n },\n ],\n warning: false,\n warningText: \'\',\n error: false,\n errorText: \'\',\n connectionFailure: false,\n config: {\n tabs: [],\n },\n tabNameDialog: false,\n newTabName: \'\',\n showTabMenu: false,\n tabMenuX: 0,\n tabMenuY: 0,\n showAddComponentDialog: false,\n }\n },\n computed: {\n startEndTime: function () {\n let startTemp = null\n let endTemp = null\n try {\n if (this.timeZone === \'local\') {\n startTemp = new Date(this.startDate + \' \' + this.startTime)\n if (this.endDate !== null && this.endTime !== null) {\n endTemp = new Date(this.endDate + \' \' + this.endTime)\n }\n } else {\n startTemp = new Date(this.startDate + \' \' + this.startTime + \'Z\')\n if (this.endDate !== null && this.endTime !== null) {\n endTemp = new Date(this.endDate + \' \' + this.endTime + \'Z\')\n }\n }\n } catch (e) {\n return\n }\n return {\n start_time: startTemp.getTime() * 1_000_000,\n end_time: endTemp ? endTemp.getTime() * 1_000_000 : null,\n }\n },\n allPackets: function () {\n return this.config.tabs.flatMap((tab) => {\n return tab.packets\n })\n },\n },\n watch: {\n \'config.tabs.length\': function () {\n this.resizeTabs()\n },\n // canStart is set by the subscription when it connects.\n // We set autoStart to true during mounted() when loading from\n // a route or a previous saved configuration.\n canStart: function (newVal, _) {\n if (newVal === true && this.autoStart) {\n this.start()\n }\n },\n config: {\n handler: function () {\n this.saveDefaultConfig(this.config)\n },\n deep: true,\n },\n },\n async created() {\n this.api = new OpenC3Api()\n await this.api\n .get_setting(\'time_zone\')\n .then((response) => {\n if (response) {\n this.timeZone = response\n }\n })\n .catch((error) => {\n // Do nothing\n })\n let now = new Date()\n this.startDate = this.formatDate(now, this.timeZone)\n this.startTime = this.formatTime(now, this.timeZone)\n\n // Determine if there are any user added widgets\n Api.get(\'/openc3-api/widgets\').then((response) => {\n response.data.forEach((widget) => {\n // Only list the ones following the naming convention DataviewerxxxxxWidget\n const found = widget.match(/DATAVIEWER([A-Z]+)/)\n if (found) {\n Api.get(`/openc3-api/widgets/${widget}`).then((response) => {\n let label = response.data.label\n let items = response.data.items\n if (label === null) {\n label = response.data.name.slice(10)\n label = label.charAt(0) + label.slice(1).toLowerCase()\n }\n this.components.push({\n label: label,\n value: found[0],\n items: items,\n })\n })\n }\n })\n })\n this.subscribe()\n },\n mounted: function () {\n // Called like /tools/dataviewer?config=config\n if (this.$route.query && this.$route.query.config) {\n this.autoStart = true\n this.openConfiguration(this.$route.query.config, true) // routed\n } else {\n let config = this.loadDefaultConfig()\n // Only apply the config if it\'s not an empty object (config does not exist)\n if (JSON.stringify(config) !== \'{}\') {\n this.autoStart = true\n this.config = config\n }\n }\n },\n destroyed: function () {\n if (this.subscription) {\n this.subscription.unsubscribe()\n }\n this.cable.disconnect()\n },\n methods: {\n packetTitle: function (packet) {\n if (packet.itemName !== undefined) {\n return `${packet.targetName} ${packet.packetName} ${packet.itemName}`\n } else {\n return `${packet.targetName} ${packet.packetName} [ ${packet.mode} ]`\n }\n },\n resizeTabs: function () {\n if (this.$refs.tabs) this.$refs.tabs.onResize()\n },\n start: function () {\n this.autoStart = false\n // Check for a future start time\n if (this.startEndTime.start_time > new Date().getTime() * 1_000_000) {\n this.warningText = \'Start date/time is in the future!\'\n this.warning = true\n return\n }\n // Check for an empty time period\n if (this.startEndTime.start_time === this.startEndTime.end_time) {\n this.warningText = \'Start date/time is equal to end date/time!\'\n this.warning = true\n return\n }\n // Check for a future End Time\n if (this.startEndTime.end_time) {\n this.warningText =\n \'Note: End date/time is greater than current date/time. Data will continue to stream in real-time until \' +\n this.endDate +\n \' \' +\n this.endTime +\n \' is reached.\'\n this.warning = true\n }\n this.running = true\n this.addToSubscription()\n },\n stop: function () {\n this.running = false\n this.removeFromSubscription()\n },\n subscribe: function () {\n this.cable\n .createSubscription(\'StreamingChannel\', window.openc3Scope, {\n received: (data) => this.received(data),\n connected: () => {\n this.canStart = true\n this.connectionFailure = false\n },\n disconnected: () => {\n this.stop()\n this.canStart = false\n this.warningText = \'OpenC3 backend connection disconnected.\'\n this.warning = true\n this.connectionFailure = true\n },\n rejected: () => {\n this.warningText = \'OpenC3 backend connection rejected.\'\n this.warning = true\n },\n })\n .then((subscription) => {\n this.subscription = subscription\n if (this.running) this.addToSubscription()\n })\n },\n addToSubscription: function (packets) {\n packets = packets || this.allPackets\n\n let itemBased = []\n let packetBased = []\n packets.forEach((packet) => {\n if (packet.itemName !== undefined) {\n itemBased.push(packet)\n } else {\n packetBased.push(packet)\n }\n })\n\n if (itemBased.length > 0) {\n // Add the items to the subscription\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(\n (refreshed) => {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n this.subscription.perform(\'add\', {\n scope: window.openc3Scope,\n token: localStorage.openc3Token,\n items: itemBased.map(this.itemSubscriptionKey),\n ...this.startEndTime,\n })\n },\n )\n }\n\n if (packetBased.length > 0) {\n // Group by mode\n const modeGroups = packetBased.reduce((groups, packet) => {\n if (groups[packet.mode]) {\n groups[packet.mode].push(packet)\n } else {\n groups[packet.mode] = [packet]\n }\n return groups\n }, {})\n Object.keys(modeGroups).forEach((mode) => {\n // This eliminates duplicates by converted to Set and back to Array\n modeGroups[mode] = [...new Set(modeGroups[mode])]\n })\n OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then(\n (refreshed) => {\n if (refreshed) {\n OpenC3Auth.setTokens()\n }\n Object.keys(modeGroups).forEach((mode) => {\n this.subscription.perform(\'add\', {\n scope: window.openc3Scope,\n token: localStorage.openc3Token,\n packets: modeGroups[mode].map(this.subscriptionKey),\n ...this.startEndTime,\n })\n })\n },\n )\n }\n },\n removeFromSubscription: function (packets) {\n packets = packets || this.allPackets\n\n let itemBased = []\n let packetBased = []\n packets.forEach((packet) => {\n if (packet.itemName !== undefined) {\n itemBased.push(packet)\n } else {\n packetBased.push(packet)\n }\n })\n\n if (itemBased.length > 0) {\n this.subscription.perform(\'remove\', {\n scope: window.openc3Scope,\n token: localStorage.openc3Token,\n items: itemBased.map(this.itemSubscriptionKey),\n })\n }\n if (packetBased.length > 0) {\n this.subscription.perform(\'remove\', {\n scope: window.openc3Scope,\n token: localStorage.openc3Token,\n packets: packetBased.map(this.subscriptionKey),\n })\n }\n },\n received: function (parsed) {\n this.cable.recordPing()\n if (parsed[\'error\']) {\n this.errorText = parsed[\'error\']\n this.error = true\n return\n }\n if (!parsed.length) {\n return\n }\n\n // Iterate over the parsed data and send it to the appropriate component\n\n // If the parsed data has a __type of ITEMS, we\'re dealing with an array\n // of items with attributes named after the item. We need to filter\n // the items per tab and send them to the appropriate component.\n if (parsed[0].__type === \'ITEMS\') {\n this.config.tabs.forEach((tab, i) => {\n // Skip tabs without items\n if (!tab.items) return\n\n let keys = tab.packets.map((itemConfig) => this.itemKey(itemConfig))\n let filtered = parsed\n .map((item) => {\n let newItem = {}\n // These fields are always in the item subscription\n newItem[\'__type\'] = item[\'__type\']\n newItem[\'__time\'] = item[\'__time\']\n let found = false\n keys.forEach((key) => {\n if (item[key]) {\n found = true\n newItem[key] = item[key]\n }\n })\n if (found) {\n return newItem\n } else {\n return\n }\n })\n .filter(Boolean) // Remove undefined items\n if (\n filtered &&\n typeof this.$refs[tab.ref][0].receive === \'function\'\n ) {\n this.$refs[tab.ref][0].receive(filtered)\n }\n })\n } else {\n const groupedPackets = parsed.reduce((groups, packet) => {\n if (groups[packet.__packet]) {\n groups[packet.__packet].push(packet)\n } else {\n groups[packet.__packet] = [packet]\n }\n return groups\n }, {})\n this.config.tabs.forEach((tab, i) => {\n // Skip tabs with items\n if (tab.items) return\n tab.packets.forEach((packetConfig) => {\n let packetName = this.packetKey(packetConfig)\n this.receivedPackets[packetName] = true\n if (\n groupedPackets[packetName] &&\n typeof this.$refs[tab.ref][0].receive === \'function\'\n ) {\n this.$refs[tab.ref][0].receive(groupedPackets[packetName])\n }\n })\n })\n this.receivedPackets = { ...this.receivedPackets }\n }\n },\n packetKey: function (packet) {\n let key = packet.mode + \'__\'\n if (packet.cmdOrTlm === \'TLM\') {\n key += \'TLM\'\n } else {\n key += \'CMD\'\n }\n key += `__${packet.targetName}__${packet.packetName}`\n if (packet.mode === \'DECOM\') key += `__${packet.valueType}`\n return key\n },\n itemKey: function (item) {\n let key = item.mode + \'__\'\n if (item.cmdOrTlm === \'TLM\') {\n key += \'TLM\'\n } else {\n key += \'CMD\'\n }\n key += `__${item.targetName}__${item.packetName}__${item.itemName}`\n if (item.mode === \'DECOM\') key += `__${item.valueType}`\n return key\n },\n // Maybe combine subscriptionKey with itemSubscriptionKey\n subscriptionKey: function (packet) {\n const cmdOrTlm = packet.cmdOrTlm.toUpperCase()\n let key = `${packet.mode}__${cmdOrTlm}__${packet.targetName}__${packet.packetName}`\n if (packet.mode === \'DECOM\') key += `__${packet.valueType}`\n return key\n },\n itemSubscriptionKey: function (item) {\n let key = `DECOM__TLM__${item.targetName}__${item.packetName}__${item.itemName}__${item.valueType}`\n return key\n },\n resetConfig: function () {\n this.stop()\n this.receivedPackets = {}\n this.config.tabs = []\n },\n openConfiguration: function (name, routed = false) {\n this.openConfigBase(name, routed, (config) => {\n this.stop()\n this.receivedPackets = {}\n this.config = config\n // Only call start() if autoStart is false like during a reload.\n // Otherwise we might call start before the subscription is valid.\n // See watch on canStart for more info.\n if (this.autoStart === false) {\n this.start()\n }\n })\n },\n saveConfiguration: function (name) {\n this.saveConfigBase(name, this.config)\n },\n addTab: function () {\n this.cancelTabRename()\n this.showAddComponentDialog = true\n },\n cancelTabRename: function () {\n this.tabNameDialog = false\n this.newTabName = \'\'\n },\n tabMenu: function (event, index) {\n this.curTab = index\n event.preventDefault()\n this.showTabMenu = false\n this.tabMenuX = event.clientX\n this.tabMenuY = event.clientY\n this.$nextTick(() => {\n this.showTabMenu = true\n })\n },\n openTabNameDialog: function () {\n this.newTabName = this.config.tabs[this.curTab].tabName\n this.tabNameDialog = true\n },\n renameTab: function () {\n this.config.tabs[this.curTab].tabName = this.newTabName\n this.tabNameDialog = false\n },\n packetSelected: function (event) {\n this.newPacket = {\n target: event.targetName,\n packet: event.packetName,\n cmdOrTlm: this.newPacketCmdOrTlm,\n }\n },\n addComponent: function (event) {\n // Built-in components are just themselves\n let type = event.component.value\n let component = event.component.value\n if (event.component.value.includes(\'DATAVIEWER\')) {\n // Dynamic widgets use the DynamicComponent\n type = \'DynamicComponent\'\n let name =\n event.component.value.charAt(0).toUpperCase() +\n event.component.value.slice(1).toLowerCase()\n component = `${name}Widget`\n }\n this.config.tabs.push({\n name: event.component.label,\n // Most tabs only have 1 packet so it\'s a good way to name them\n tabName: this.packetTitle(event.packets[0]),\n packets: [...event.packets], // Make a copy\n type: type,\n component: component,\n items: event.component.items,\n config: { timeZone: this.timeZone },\n ref: Date.now(),\n })\n this.curTab = this.config.tabs.length - 1\n\n if (this.running) {\n this.addToSubscription(event.packets)\n }\n this.cancelAddComponent()\n },\n cancelAddComponent: function () {\n this.showAddComponentDialog = false\n },\n deleteComponent: function (tabIndex) {\n // Check for item based components first\n if (this.config.tabs[tabIndex].packets[0].itemName !== undefined) {\n // Get the list of items the other tabs are using\n let itemsInUse = []\n this.config.tabs.forEach((tab, i) => {\n // Skip tabs without items\n if (!tab.items) return\n\n if (i !== tabIndex) {\n itemsInUse = itemsInUse.concat(tab.packets.map(this.itemKey))\n }\n })\n // Filter out any items that are in use\n let filtered = this.config.tabs[tabIndex].packets.filter(\n (packet) => itemsInUse.indexOf(this.itemKey(packet)) === -1,\n )\n if (filtered.length > 0) {\n this.removeFromSubscription(filtered)\n }\n } else {\n // Get the list of packets the other tabs are using\n let packetsInUse = []\n this.config.tabs.forEach((tab, i) => {\n // Skip tabs with items\n if (tab.items) return\n\n if (i !== tabIndex) {\n packetsInUse = packetsInUse.concat(tab.packets.map(this.packetKey))\n }\n })\n // Filter out any packets that are in use\n let filtered = this.config.tabs[tabIndex].packets.filter(\n (packet) => packetsInUse.indexOf(this.packetKey(packet)) === -1,\n )\n if (filtered.length > 0) {\n this.removeFromSubscription(filtered)\n }\n }\n this.config.tabs.splice(tabIndex, 1)\n },\n },\n}\n<\/script>\n\n<style scoped>\n.v-expansion-panel-content {\n .container {\n margin: 0px;\n }\n}\n.v-expansion-panel-header {\n min-height: 10px;\n padding: 5px;\n}\n/* Add some juice to the START button to indicate it needs to be pressed */\n.pulse-button {\n animation: pulse 2s infinite;\n}\n@keyframes pulse {\n 0% {\n -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);\n }\n 70% {\n -webkit-box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);\n }\n 100% {\n -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);\n }\n}\n\n.text-component-missing-name {\n font-family: \'Courier New\', Courier, monospace;\n}\n\n.v-tabs-items {\n overflow: visible;\n}\n</style>\n']},_coverageSchema:"1a1c01bbd47fc00a2c39e90264f33305004495a9",hash:"f209891d39c5cde48c083c979de53d3857e2d66f"},o=t[l]||(t[l]={});o[e]&&o[e].hash===n||(o[e]=i);var a=o[e];return Ke=function(){return a},a}Ke();const We={components:{AddComponentDialog:ce,OpenConfigDialog:T,SaveConfigDialog:I,DynamicComponent:ve,DumpComponent:$e,ValueComponent:Be,TopBar:U},mixins:[v,q],data(){return Ke().f[0]++,Ke().s[0]++,{title:"Data Viewer",configKey:"data_viewer",api:null,timeZone:"local",components:[{label:"COSMOS Packet Raw/Decom",value:"DumpComponent",items:!1},{label:"COSMOS Item Value",value:"ValueComponent",items:!0}],counter:0,panel:0,componentType:null,componentName:null,openConfig:!1,saveConfig:!1,cable:new $,subscription:null,startDate:null,startTime:null,endDate:null,endTime:null,rules:{required:e=>(Ke().f[1]++,Ke().s[1]++,Ke().b[0][0]++,!!e||(Ke().b[0][1]++,"Required"))},autoStart:!1,canStart:!1,running:!1,curTab:null,receivedPackets:{},menus:[{label:"File",items:[{label:"Open Configuration",icon:"mdi-folder-open",command:()=>{Ke().f[2]++,Ke().s[2]++,this.openConfig=!0}},{label:"Save Configuration",icon:"mdi-content-save",command:()=>{Ke().f[3]++,Ke().s[3]++,this.saveConfig=!0}},{label:"Reset Configuration",icon:"mdi-monitor-shimmer",command:()=>{Ke().f[4]++,Ke().s[4]++,this.resetConfig(),Ke().s[5]++,this.resetConfigBase()}}]}],warning:!1,warningText:"",error:!1,errorText:"",connectionFailure:!1,config:{tabs:[]},tabNameDialog:!1,newTabName:"",showTabMenu:!1,tabMenuX:0,tabMenuY:0,showAddComponentDialog:!1}},computed:{startEndTime:function(){Ke().f[5]++;let e=(Ke().s[6]++,null),n=(Ke().s[7]++,null);Ke().s[8]++;try{Ke().s[9]++,"local"===this.timeZone?(Ke().b[1][0]++,Ke().s[10]++,e=new Date(this.startDate+" "+this.startTime),Ke().s[11]++,Ke().b[3][0]++,null!==this.endDate&&(Ke().b[3][1]++,null!==this.endTime)?(Ke().b[2][0]++,Ke().s[12]++,n=new Date(this.endDate+" "+this.endTime)):Ke().b[2][1]++):(Ke().b[1][1]++,Ke().s[13]++,e=new Date(this.startDate+" "+this.startTime+"Z"),Ke().s[14]++,Ke().b[5][0]++,null!==this.endDate&&(Ke().b[5][1]++,null!==this.endTime)?(Ke().b[4][0]++,Ke().s[15]++,n=new Date(this.endDate+" "+this.endTime+"Z")):Ke().b[4][1]++)}catch(t){return void Ke().s[16]++}return Ke().s[17]++,{start_time:1e6*e.getTime(),end_time:n?(Ke().b[6][0]++,1e6*n.getTime()):(Ke().b[6][1]++,null)}},allPackets:function(){return Ke().f[6]++,Ke().s[18]++,this.config.tabs.flatMap((e=>(Ke().f[7]++,Ke().s[19]++,e.packets)))}},watch:{"config.tabs.length":function(){Ke().f[8]++,Ke().s[20]++,this.resizeTabs()},canStart:function(e,n){Ke().f[9]++,Ke().s[21]++,Ke().b[8][0]++,!0===e&&(Ke().b[8][1]++,this.autoStart)?(Ke().b[7][0]++,Ke().s[22]++,this.start()):Ke().b[7][1]++},config:{handler:function(){Ke().f[10]++,Ke().s[23]++,this.saveDefaultConfig(this.config)},deep:!0}},async created(){Ke().f[11]++,Ke().s[24]++,this.api=new d,Ke().s[25]++,await this.api.get_setting("time_zone").then((e=>{Ke().f[12]++,Ke().s[26]++,e?(Ke().b[9][0]++,Ke().s[27]++,this.timeZone=e):Ke().b[9][1]++})).catch((e=>{Ke().f[13]++}));let e=(Ke().s[28]++,new Date);Ke().s[29]++,this.startDate=this.formatDate(e,this.timeZone),Ke().s[30]++,this.startTime=this.formatTime(e,this.timeZone),Ke().s[31]++,f.get("/openc3-api/widgets").then((e=>{Ke().f[14]++,Ke().s[32]++,e.data.forEach((e=>{Ke().f[15]++;const n=(Ke().s[33]++,e.match(/DATAVIEWER([A-Z]+)/));Ke().s[34]++,n?(Ke().b[10][0]++,Ke().s[35]++,f.get(`/openc3-api/widgets/${e}`).then((e=>{Ke().f[16]++;let t=(Ke().s[36]++,e.data.label),l=(Ke().s[37]++,e.data.items);Ke().s[38]++,null===t?(Ke().b[11][0]++,Ke().s[39]++,t=e.data.name.slice(10),Ke().s[40]++,t=t.charAt(0)+t.slice(1).toLowerCase()):Ke().b[11][1]++,Ke().s[41]++,this.components.push({label:t,value:n[0],items:l})}))):Ke().b[10][1]++}))})),Ke().s[42]++,this.subscribe()},mounted:function(){if(Ke().f[17]++,Ke().s[43]++,Ke().b[13][0]++,this.$route.query&&(Ke().b[13][1]++,this.$route.query.config))Ke().b[12][0]++,Ke().s[44]++,this.autoStart=!0,Ke().s[45]++,this.openConfiguration(this.$route.query.config,!0);else{Ke().b[12][1]++;let e=(Ke().s[46]++,this.loadDefaultConfig());Ke().s[47]++,"{}"!==JSON.stringify(e)?(Ke().b[14][0]++,Ke().s[48]++,this.autoStart=!0,Ke().s[49]++,this.config=e):Ke().b[14][1]++}},destroyed:function(){Ke().f[18]++,Ke().s[50]++,this.subscription?(Ke().b[15][0]++,Ke().s[51]++,this.subscription.unsubscribe()):Ke().b[15][1]++,Ke().s[52]++,this.cable.disconnect()},methods:{packetTitle:function(e){return Ke().f[19]++,Ke().s[53]++,void 0!==e.itemName?(Ke().b[16][0]++,Ke().s[54]++,`${e.targetName} ${e.packetName} ${e.itemName}`):(Ke().b[16][1]++,Ke().s[55]++,`${e.targetName} ${e.packetName} [ ${e.mode} ]`)},resizeTabs:function(){Ke().f[20]++,Ke().s[56]++,this.$refs.tabs?(Ke().b[17][0]++,Ke().s[57]++,this.$refs.tabs.onResize()):Ke().b[17][1]++},start:function(){return Ke().f[21]++,Ke().s[58]++,this.autoStart=!1,Ke().s[59]++,this.startEndTime.start_time>1e6*(new Date).getTime()?(Ke().b[18][0]++,Ke().s[60]++,this.warningText="Start date/time is in the future!",Ke().s[61]++,this.warning=!0,void Ke().s[62]++):(Ke().b[18][1]++,Ke().s[63]++,this.startEndTime.start_time===this.startEndTime.end_time?(Ke().b[19][0]++,Ke().s[64]++,this.warningText="Start date/time is equal to end date/time!",Ke().s[65]++,this.warning=!0,void Ke().s[66]++):(Ke().b[19][1]++,Ke().s[67]++,this.startEndTime.end_time?(Ke().b[20][0]++,Ke().s[68]++,this.warningText="Note: End date/time is greater than current date/time. Data will continue to stream in real-time until "+this.endDate+" "+this.endTime+" is reached.",Ke().s[69]++,this.warning=!0):Ke().b[20][1]++,Ke().s[70]++,this.running=!0,Ke().s[71]++,void this.addToSubscription()))},stop:function(){Ke().f[22]++,Ke().s[72]++,this.running=!1,Ke().s[73]++,this.removeFromSubscription()},subscribe:function(){Ke().f[23]++,Ke().s[74]++,this.cable.createSubscription("StreamingChannel",window.openc3Scope,{received:e=>(Ke().f[24]++,Ke().s[75]++,this.received(e)),connected:()=>{Ke().f[25]++,Ke().s[76]++,this.canStart=!0,Ke().s[77]++,this.connectionFailure=!1},disconnected:()=>{Ke().f[26]++,Ke().s[78]++,this.stop(),Ke().s[79]++,this.canStart=!1,Ke().s[80]++,this.warningText="OpenC3 backend connection disconnected.",Ke().s[81]++,this.warning=!0,Ke().s[82]++,this.connectionFailure=!0},rejected:()=>{Ke().f[27]++,Ke().s[83]++,this.warningText="OpenC3 backend connection rejected.",Ke().s[84]++,this.warning=!0}}).then((e=>{Ke().f[28]++,Ke().s[85]++,this.subscription=e,Ke().s[86]++,this.running?(Ke().b[21][0]++,Ke().s[87]++,this.addToSubscription()):Ke().b[21][1]++}))},addToSubscription:function(e){Ke().f[29]++,Ke().s[88]++,Ke().b[22][0]++,e=e||(Ke().b[22][1]++,this.allPackets);let n=(Ke().s[89]++,[]),t=(Ke().s[90]++,[]);if(Ke().s[91]++,e.forEach((e=>{Ke().f[30]++,Ke().s[92]++,void 0!==e.itemName?(Ke().b[23][0]++,Ke().s[93]++,n.push(e)):(Ke().b[23][1]++,Ke().s[94]++,t.push(e))})),Ke().s[95]++,n.length>0?(Ke().b[24][0]++,Ke().s[96]++,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then((e=>{Ke().f[31]++,Ke().s[97]++,e?(Ke().b[25][0]++,Ke().s[98]++,OpenC3Auth.setTokens()):Ke().b[25][1]++,Ke().s[99]++,this.subscription.perform("add",{scope:window.openc3Scope,token:localStorage.openc3Token,items:n.map(this.itemSubscriptionKey),...this.startEndTime})}))):Ke().b[24][1]++,Ke().s[100]++,t.length>0){Ke().b[26][0]++;const e=(Ke().s[101]++,t.reduce(((e,n)=>(Ke().f[32]++,Ke().s[102]++,e[n.mode]?(Ke().b[27][0]++,Ke().s[103]++,e[n.mode].push(n)):(Ke().b[27][1]++,Ke().s[104]++,e[n.mode]=[n]),Ke().s[105]++,e)),{}));Ke().s[106]++,Object.keys(e).forEach((n=>{Ke().f[33]++,Ke().s[107]++,e[n]=[...new Set(e[n])]})),Ke().s[108]++,OpenC3Auth.updateToken(OpenC3Auth.defaultMinValidity).then((n=>{Ke().f[34]++,Ke().s[109]++,n?(Ke().b[28][0]++,Ke().s[110]++,OpenC3Auth.setTokens()):Ke().b[28][1]++,Ke().s[111]++,Object.keys(e).forEach((n=>{Ke().f[35]++,Ke().s[112]++,this.subscription.perform("add",{scope:window.openc3Scope,token:localStorage.openc3Token,packets:e[n].map(this.subscriptionKey),...this.startEndTime})}))}))}else Ke().b[26][1]++},removeFromSubscription:function(e){Ke().f[36]++,Ke().s[113]++,Ke().b[29][0]++,e=e||(Ke().b[29][1]++,this.allPackets);let n=(Ke().s[114]++,[]),t=(Ke().s[115]++,[]);Ke().s[116]++,e.forEach((e=>{Ke().f[37]++,Ke().s[117]++,void 0!==e.itemName?(Ke().b[30][0]++,Ke().s[118]++,n.push(e)):(Ke().b[30][1]++,Ke().s[119]++,t.push(e))})),Ke().s[120]++,n.length>0?(Ke().b[31][0]++,Ke().s[121]++,this.subscription.perform("remove",{scope:window.openc3Scope,token:localStorage.openc3Token,items:n.map(this.itemSubscriptionKey)})):Ke().b[31][1]++,Ke().s[122]++,t.length>0?(Ke().b[32][0]++,Ke().s[123]++,this.subscription.perform("remove",{scope:window.openc3Scope,token:localStorage.openc3Token,packets:t.map(this.subscriptionKey)})):Ke().b[32][1]++},received:function(e){if(Ke().f[38]++,Ke().s[124]++,this.cable.recordPing(),Ke().s[125]++,e["error"])return Ke().b[33][0]++,Ke().s[126]++,this.errorText=e["error"],Ke().s[127]++,this.error=!0,void Ke().s[128]++;if(Ke().b[33][1]++,Ke().s[129]++,!e.length)return Ke().b[34][0]++,void Ke().s[130]++;if(Ke().b[34][1]++,Ke().s[131]++,"ITEMS"===e[0].__type)Ke().b[35][0]++,Ke().s[132]++,this.config.tabs.forEach(((n,t)=>{if(Ke().f[39]++,Ke().s[133]++,!n.items)return Ke().b[36][0]++,void Ke().s[134]++;Ke().b[36][1]++;let l=(Ke().s[135]++,n.packets.map((e=>(Ke().f[40]++,Ke().s[136]++,this.itemKey(e))))),i=(Ke().s[137]++,e.map((e=>{Ke().f[41]++;let n=(Ke().s[138]++,{});Ke().s[139]++,n["__type"]=e["__type"],Ke().s[140]++,n["__time"]=e["__time"];let t=(Ke().s[141]++,!1);return Ke().s[142]++,l.forEach((l=>{Ke().f[42]++,Ke().s[143]++,e[l]?(Ke().b[37][0]++,Ke().s[144]++,t=!0,Ke().s[145]++,n[l]=e[l]):Ke().b[37][1]++})),Ke().s[146]++,t?(Ke().b[38][0]++,Ke().s[147]++,n):(Ke().b[38][1]++,void Ke().s[148]++)})).filter(Boolean));Ke().s[149]++,Ke().b[40][0]++,i&&(Ke().b[40][1]++,"function"===typeof this.$refs[n.ref][0].receive)?(Ke().b[39][0]++,Ke().s[150]++,this.$refs[n.ref][0].receive(i)):Ke().b[39][1]++}));else{Ke().b[35][1]++;const n=(Ke().s[151]++,e.reduce(((e,n)=>(Ke().f[43]++,Ke().s[152]++,e[n.__packet]?(Ke().b[41][0]++,Ke().s[153]++,e[n.__packet].push(n)):(Ke().b[41][1]++,Ke().s[154]++,e[n.__packet]=[n]),Ke().s[155]++,e)),{}));Ke().s[156]++,this.config.tabs.forEach(((e,t)=>{if(Ke().f[44]++,Ke().s[157]++,e.items)return Ke().b[42][0]++,void Ke().s[158]++;Ke().b[42][1]++,Ke().s[159]++,e.packets.forEach((t=>{Ke().f[45]++;let l=(Ke().s[160]++,this.packetKey(t));Ke().s[161]++,this.receivedPackets[l]=!0,Ke().s[162]++,Ke().b[44][0]++,n[l]&&(Ke().b[44][1]++,"function"===typeof this.$refs[e.ref][0].receive)?(Ke().b[43][0]++,Ke().s[163]++,this.$refs[e.ref][0].receive(n[l])):Ke().b[43][1]++}))})),Ke().s[164]++,this.receivedPackets={...this.receivedPackets}}},packetKey:function(e){Ke().f[46]++;let n=(Ke().s[165]++,e.mode+"__");return Ke().s[166]++,"TLM"===e.cmdOrTlm?(Ke().b[45][0]++,Ke().s[167]++,n+="TLM"):(Ke().b[45][1]++,Ke().s[168]++,n+="CMD"),Ke().s[169]++,n+=`__${e.targetName}__${e.packetName}`,Ke().s[170]++,"DECOM"===e.mode?(Ke().b[46][0]++,Ke().s[171]++,n+=`__${e.valueType}`):Ke().b[46][1]++,Ke().s[172]++,n},itemKey:function(e){Ke().f[47]++;let n=(Ke().s[173]++,e.mode+"__");return Ke().s[174]++,"TLM"===e.cmdOrTlm?(Ke().b[47][0]++,Ke().s[175]++,n+="TLM"):(Ke().b[47][1]++,Ke().s[176]++,n+="CMD"),Ke().s[177]++,n+=`__${e.targetName}__${e.packetName}__${e.itemName}`,Ke().s[178]++,"DECOM"===e.mode?(Ke().b[48][0]++,Ke().s[179]++,n+=`__${e.valueType}`):Ke().b[48][1]++,Ke().s[180]++,n},subscriptionKey:function(e){Ke().f[48]++;const n=(Ke().s[181]++,e.cmdOrTlm.toUpperCase());let t=(Ke().s[182]++,`${e.mode}__${n}__${e.targetName}__${e.packetName}`);return Ke().s[183]++,"DECOM"===e.mode?(Ke().b[49][0]++,Ke().s[184]++,t+=`__${e.valueType}`):Ke().b[49][1]++,Ke().s[185]++,t},itemSubscriptionKey:function(e){Ke().f[49]++;let n=(Ke().s[186]++,`DECOM__TLM__${e.targetName}__${e.packetName}__${e.itemName}__${e.valueType}`);return Ke().s[187]++,n},resetConfig:function(){Ke().f[50]++,Ke().s[188]++,this.stop(),Ke().s[189]++,this.receivedPackets={},Ke().s[190]++,this.config.tabs=[]},openConfiguration:function(e,n=(Ke().b[50][0]++,!1)){Ke().f[51]++,Ke().s[191]++,this.openConfigBase(e,n,(e=>{Ke().f[52]++,Ke().s[192]++,this.stop(),Ke().s[193]++,this.receivedPackets={},Ke().s[194]++,this.config=e,Ke().s[195]++,!1===this.autoStart?(Ke().b[51][0]++,Ke().s[196]++,this.start()):Ke().b[51][1]++}))},saveConfiguration:function(e){Ke().f[53]++,Ke().s[197]++,this.saveConfigBase(e,this.config)},addTab:function(){Ke().f[54]++,Ke().s[198]++,this.cancelTabRename(),Ke().s[199]++,this.showAddComponentDialog=!0},cancelTabRename:function(){Ke().f[55]++,Ke().s[200]++,this.tabNameDialog=!1,Ke().s[201]++,this.newTabName=""},tabMenu:function(e,n){Ke().f[56]++,Ke().s[202]++,this.curTab=n,Ke().s[203]++,e.preventDefault(),Ke().s[204]++,this.showTabMenu=!1,Ke().s[205]++,this.tabMenuX=e.clientX,Ke().s[206]++,this.tabMenuY=e.clientY,Ke().s[207]++,this.$nextTick((()=>{Ke().f[57]++,Ke().s[208]++,this.showTabMenu=!0}))},openTabNameDialog:function(){Ke().f[58]++,Ke().s[209]++,this.newTabName=this.config.tabs[this.curTab].tabName,Ke().s[210]++,this.tabNameDialog=!0},renameTab:function(){Ke().f[59]++,Ke().s[211]++,this.config.tabs[this.curTab].tabName=this.newTabName,Ke().s[212]++,this.tabNameDialog=!1},packetSelected:function(e){Ke().f[60]++,Ke().s[213]++,this.newPacket={target:e.targetName,packet:e.packetName,cmdOrTlm:this.newPacketCmdOrTlm}},addComponent:function(e){Ke().f[61]++;let n=(Ke().s[214]++,e.component.value),t=(Ke().s[215]++,e.component.value);if(Ke().s[216]++,e.component.value.includes("DATAVIEWER")){Ke().b[52][0]++,Ke().s[217]++,n="DynamicComponent";let l=(Ke().s[218]++,e.component.value.charAt(0).toUpperCase()+e.component.value.slice(1).toLowerCase());Ke().s[219]++,t=`${l}Widget`}else Ke().b[52][1]++;Ke().s[220]++,this.config.tabs.push({name:e.component.label,tabName:this.packetTitle(e.packets[0]),packets:[...e.packets],type:n,component:t,items:e.component.items,config:{timeZone:this.timeZone},ref:Date.now()}),Ke().s[221]++,this.curTab=this.config.tabs.length-1,Ke().s[222]++,this.running?(Ke().b[53][0]++,Ke().s[223]++,this.addToSubscription(e.packets)):Ke().b[53][1]++,Ke().s[224]++,this.cancelAddComponent()},cancelAddComponent:function(){Ke().f[62]++,Ke().s[225]++,this.showAddComponentDialog=!1},deleteComponent:function(e){if(Ke().f[63]++,Ke().s[226]++,void 0!==this.config.tabs[e].packets[0].itemName){Ke().b[54][0]++;let n=(Ke().s[227]++,[]);Ke().s[228]++,this.config.tabs.forEach(((t,l)=>{if(Ke().f[64]++,Ke().s[229]++,!t.items)return Ke().b[55][0]++,void Ke().s[230]++;Ke().b[55][1]++,Ke().s[231]++,l!==e?(Ke().b[56][0]++,Ke().s[232]++,n=n.concat(t.packets.map(this.itemKey))):Ke().b[56][1]++}));let t=(Ke().s[233]++,this.config.tabs[e].packets.filter((e=>(Ke().f[65]++,Ke().s[234]++,-1===n.indexOf(this.itemKey(e))))));Ke().s[235]++,t.length>0?(Ke().b[57][0]++,Ke().s[236]++,this.removeFromSubscription(t)):Ke().b[57][1]++}else{Ke().b[54][1]++;let n=(Ke().s[237]++,[]);Ke().s[238]++,this.config.tabs.forEach(((t,l)=>{if(Ke().f[66]++,Ke().s[239]++,t.items)return Ke().b[58][0]++,void Ke().s[240]++;Ke().b[58][1]++,Ke().s[241]++,l!==e?(Ke().b[59][0]++,Ke().s[242]++,n=n.concat(t.packets.map(this.packetKey))):Ke().b[59][1]++}));let t=(Ke().s[243]++,this.config.tabs[e].packets.filter((e=>(Ke().f[67]++,Ke().s[244]++,-1===n.indexOf(this.packetKey(e))))));Ke().s[245]++,t.length>0?(Ke().b[60][0]++,Ke().s[246]++,this.removeFromSubscription(t)):Ke().b[60][1]++}Ke().s[247]++,this.config.tabs.splice(e,1)}}},je=We;t(4803);var ze=(0,k.A)(je,i,o,!1,null,"dc8a34f2",null);const He=ze.exports},8075:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var l=t(6758),i=t.n(l),o=t(935),a=t.n(o),s=a()(i());s.push([e.id,".v-expansion-panel-content[data-v-dc8a34f2]{.container[data-v-dc8a34f2]{margin:0}}.v-expansion-panel-header[data-v-dc8a34f2]{min-height:10px;padding:5px}.pulse-button[data-v-dc8a34f2]{animation:pulse-dc8a34f2 2s infinite}@keyframes pulse-dc8a34f2{0%{-webkit-box-shadow:0 0 0 0 hsla(0,0%,100%,.4)}70%{-webkit-box-shadow:0 0 0 10px hsla(0,0%,100%,0)}to{-webkit-box-shadow:0 0 0 0 hsla(0,0%,100%,0)}}.text-component-missing-name[data-v-dc8a34f2]{font-family:Courier New,Courier,monospace}.v-tabs-items[data-v-dc8a34f2]{overflow:visible}",""]);const c=s},6271:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var l=t(6758),i=t.n(l),o=t(935),a=t.n(o),s=a()(i());s.push([e.id,".button[data-v-3e1063ee]{padding:4px}.select[data-v-3e1063ee]{max-width:300px}.row+.row[data-v-3e1063ee]{margin-top:0}",""]);const c=s},4203:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var l=t(6758),i=t.n(l),o=t(935),a=t.n(o),s=a()(i());s.push([e.id,".app-title[data-v-0af23388]{font-size:2rem}.menu-button[data-v-0af23388]{border-color:var(--color-border-interactive-muted)!important;background-color:var(--color-background-base-default)!important;padding-right:3px!important}span.v-btn__content span[data-v-0af23388]{padding-right:5px}.list-action[data-v-0af23388] label{color:#fff;padding-left:10px}.myicon[data-v-0af23388]{background-color:var(--color-background-surface-selected);border:1px solid currentColor;border-radius:3px;height:36px!important;width:36px!important}.v-list[data-v-0af23388] .v-label{margin-left:5px}.v-list-item__icon[data-v-0af23388]{margin-right:15px!important}.v-list-item__title[data-v-0af23388]{color:#fff}",""]);const c=s},7211:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var l=t(6758),i=t.n(l),o=t(935),a=t.n(o),s=a()(i());s.push([e.id,"i.v-icon.mdi-chevron-down{animation:pulse 2s 3}@keyframes pulse{0%{-webkit-box-shadow:0 0 0 0 hsla(0,0%,100%,.4)}70%{-webkit-box-shadow:0 0 0 10px hsla(0,0%,100%,0)}to{-webkit-box-shadow:0 0 0 0 hsla(0,0%,100%,0)}}",""]);const c=s},8921:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>c});var l=t(6758),i=t.n(l),o=t(935),a=t.n(o),s=a()(i());s.push([e.id,".text-area-container[data-v-01803198]{position:relative}.text-area-container .v-textarea[data-v-01803198]{font-family:Courier New,Courier,monospace}.text-area-container .floating-buttons[data-v-01803198]{position:absolute;top:12px;right:24px}.pulse[data-v-01803198]{animation:pulse-01803198 2s infinite}@keyframes pulse-01803198{0%{opacity:1}50%{opacity:.5}}",""]);const c=s},4803:(e,n,t)=>{var l=t(8075);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[e.id,l,""]]),l.locals&&(e.exports=l.locals);var i=t(4825).A;i("3b521d0b",l,!0,{sourceMap:!1,shadowMode:!1})},1335:(e,n,t)=>{var l=t(6271);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[e.id,l,""]]),l.locals&&(e.exports=l.locals);var i=t(4825).A;i("7d1749d1",l,!0,{sourceMap:!1,shadowMode:!1})},5699:(e,n,t)=>{var l=t(4203);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[e.id,l,""]]),l.locals&&(e.exports=l.locals);var i=t(4825).A;i("7f447726",l,!0,{sourceMap:!1,shadowMode:!1})},2003:(e,n,t)=>{var l=t(7211);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[e.id,l,""]]),l.locals&&(e.exports=l.locals);var i=t(4825).A;i("ddc393e0",l,!0,{sourceMap:!1,shadowMode:!1})},4162:(e,n,t)=>{var l=t(8921);l.__esModule&&(l=l.default),"string"===typeof l&&(l=[[e.id,l,""]]),l.locals&&(e.exports=l.locals);var i=t(4825).A;i("6132c87d",l,!0,{sourceMap:!1,shadowMode:!1})}}]);
2
+ //# sourceMappingURL=60.js.map