diff --git a/Step.Config/Config/ncSoftKeyConfig.xml b/Step.Config/Config/ncSoftKeyConfig.xml
index 050f9417..7942bc27 100644
--- a/Step.Config/Config/ncSoftKeyConfig.xml
+++ b/Step.Config/Config/ncSoftKeyConfig.xml
@@ -3,114 +3,141 @@
true
Auto
+ false
true
Edit
+ false
true
Mdi
+ false
true
Dnc
+ false
[
true
Ref
+ false
]
true
Jog
+ false
true
Jog Inc
+ false
true
Restart
+ false
true
Teach
+ false
true
Restract
+ false
true
Wcs Mcs
+ false
true
Handle
+ true
true
Reset
+ false
true
Blk/Blk
+ false
true
Blk Del
+ false
true
OpStop
+ false
true
DryRun
+ false
true
PrgTest
+ false
true
Manual Handle Interrupt
+ false
true
Teach In
+ false
true
- Inc Plane
+ Inc Planefalse
true
+
+ false
true
-
+ false
true
Rapid
+ false
true
x1
+ false
true
x10
+ false
true
x10
+ false
true
x10
+ false
\ No newline at end of file
diff --git a/Step.Config/Config/ncSoftKeyConfigValidator.xsd b/Step.Config/Config/ncSoftKeyConfigValidator.xsd
index 3217250c..7384a502 100644
--- a/Step.Config/Config/ncSoftKeyConfigValidator.xsd
+++ b/Step.Config/Config/ncSoftKeyConfigValidator.xsd
@@ -8,7 +8,8 @@
-
+
+
diff --git a/Step.Config/Config/serverConfig.xml b/Step.Config/Config/serverConfig.xml
index 37fb494c..95a9f468 100644
--- a/Step.Config/Config/serverConfig.xml
+++ b/Step.Config/Config/serverConfig.xml
@@ -3,7 +3,7 @@
DEMO
true
- 192.168.157.2
+ localhost
8080
Ares 37 OF
diff --git a/Step.Config/ServerConfigController.cs b/Step.Config/ServerConfigController.cs
index aea019a2..53386dc0 100644
--- a/Step.Config/ServerConfigController.cs
+++ b/Step.Config/ServerConfigController.cs
@@ -221,7 +221,8 @@ namespace Step.Config
Id = GetPlcIdFromNcSoftKey(x.Name.ToString()),
Name = x.Name.ToString(),
VisualizedName = x.Element("visualizedName").Value,
- IsActive = Convert.ToBoolean(x.Element("active").Value)
+ IsActive = Convert.ToBoolean(x.Element("active").Value),
+ IsReadOnly = Convert.ToBoolean(x.Element("readOnly").Value)
})
.ToList();
}
diff --git a/Step.Model/ConfigModels/NcSoftKeysModel.cs b/Step.Model/ConfigModels/NcSoftKeysModel.cs
index b9c19c02..d6b4065c 100644
--- a/Step.Model/ConfigModels/NcSoftKeysModel.cs
+++ b/Step.Model/ConfigModels/NcSoftKeysModel.cs
@@ -4,6 +4,7 @@
{
public int Id;
public bool IsActive;
+ public bool IsReadOnly;
public string Name;
public string VisualizedName;
}
diff --git a/Step/Controllers/WebApi/ConfigurationController.cs b/Step/Controllers/WebApi/ConfigurationController.cs
index 33d49873..03bdaec9 100644
--- a/Step/Controllers/WebApi/ConfigurationController.cs
+++ b/Step/Controllers/WebApi/ConfigurationController.cs
@@ -51,7 +51,7 @@ namespace Step.Controllers.WebApi
}
[Route("softKeys"), HttpGet]
- public IHttpActionResult GetSoftKeysConfig()
+ public IHttpActionResult GetUserSoftKeysConfig()
{
Dictionary> output = new Dictionary>();
foreach (var softKey in SoftKeysConfig)
diff --git a/Step/Listeners/SignalR/SignalRListener.cs b/Step/Listeners/SignalR/SignalRListener.cs
index 5dff0b5a..123047f7 100644
--- a/Step/Listeners/SignalR/SignalRListener.cs
+++ b/Step/Listeners/SignalR/SignalRListener.cs
@@ -213,7 +213,7 @@ namespace Step.Listeners.SignalR
// Send user softKeys
context.Clients.Group("ncData").userSoftKeys(LastUserSoftKeysData);
// Send heads data
- context.Clients.Group("ncData").heads(LastHeadsData);
+ context.Clients.Group("ncData").headsData(LastHeadsData);
// Send axesNames data
context.Clients.Group("ncData").axesNames(LastAxesNamesData);
diff --git a/Step/wwwroot/dist/1.build.js b/Step/wwwroot/dist/1.build.js
index b5204ec2..d2c2b56e 100644
--- a/Step/wwwroot/dist/1.build.js
+++ b/Step/wwwroot/dist/1.build.js
@@ -18,7 +18,11 @@ eval("// style-loader: Adds some css to the DOM by adding a \\n\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTkwLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvdGVzdC1lbXB0eS52dWU/OThmZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLnRlc3QtZW1wdHl7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJDOi9Xb3JrL1NDTS9DTVMvU3RlcC9TdGVwL3d3d3Jvb3Qvc3JjL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvdGVzdC1lbXB0eS52dWU/NjExMTQzYjhcIl0sXCJuYW1lc1wiOltdLFwibWFwcGluZ3NcIjpcIjtBQWFBO0VBQ0EsY0FBQTtFQUNBLG9CQUFBO0VBQ0Esd0JBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTtDQUNBXCIsXCJmaWxlXCI6XCJ0ZXN0LWVtcHR5LnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCI8dGVtcGxhdGU+XFxuICA8ZGl2IGNsYXNzPVxcXCJ0ZXN0LWVtcHR5XFxcIj5cXG4gICAgPGtleXBhZD48L2tleXBhZD5cXG4gIDwvZGl2PlxcbjwvdGVtcGxhdGU+XFxuPHNjcmlwdD5cXG5pbXBvcnQgeyBLZXlwYWQgfSBmcm9tIFxcXCJzcmMvbW9kdWxlcy9iYXNlLWNvbXBvbmVudHNcXFwiO1xcblxcbmV4cG9ydCBkZWZhdWx0IHtcXG4gIGNvbXBvbmVudHM6IHsga2V5cGFkOiBLZXlwYWQgfVxcbn07XFxuPC9zY3JpcHQ+XFxuPHN0eWxlPlxcbiAgLnRlc3QtZW1wdHl7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgfVxcbjwvc3R5bGU+XFxuXFxuXCJdLFwic291cmNlUm9vdFwiOlwiXCJ9XSk7XG5cbi8vIGV4cG9ydHNcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gV0VCUEFDSyBGT09URVJcbi8vIC4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXI/c291cmNlTWFwIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3N0eWxlLWNvbXBpbGVyP3tcInZ1ZVwiOnRydWUsXCJpZFwiOlwiZGF0YS12LTBhOGVjNzQyXCIsXCJzY29wZWRcIjpmYWxzZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wJmJ1c3RDYWNoZSEuL3NyYy9jb21wb25lbnRzL3Rlc3QtZW1wdHkudnVlXG4vLyBtb2R1bGUgaWQgPSA1OTBcbi8vIG1vZHVsZSBjaHVua3MgPSAxIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///590\n");
+=======
+eval("exports = module.exports = __webpack_require__(77)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\n.test-empty{\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n width: 100%;\\n height: 100%;\\n}\\n\", \"\", {\"version\":3,\"sources\":[\"C:/Workspace/CMS_STEP/Step/wwwroot/src/components/src/components/test-empty.vue?796c190c\"],\"names\":[],\"mappings\":\";AAaA;EACA,cAAA;EACA,oBAAA;EACA,wBAAA;EACA,YAAA;EACA,aAAA;CACA\",\"file\":\"test-empty.vue\",\"sourcesContent\":[\"\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTkwLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvdGVzdC1lbXB0eS52dWU/OThmZCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuLnRlc3QtZW1wdHl7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgd2lkdGg6IDEwMCU7XFxuICBoZWlnaHQ6IDEwMCU7XFxufVxcblwiLCBcIlwiLCB7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJDOi9Xb3Jrc3BhY2UvQ01TX1NURVAvU3RlcC93d3dyb290L3NyYy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL3Rlc3QtZW1wdHkudnVlPzc5NmMxOTBjXCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUFhQTtFQUNBLGNBQUE7RUFDQSxvQkFBQTtFQUNBLHdCQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7Q0FDQVwiLFwiZmlsZVwiOlwidGVzdC1lbXB0eS52dWVcIixcInNvdXJjZXNDb250ZW50XCI6W1wiPHRlbXBsYXRlPlxcclxcbiAgPGRpdiBjbGFzcz1cXFwidGVzdC1lbXB0eVxcXCI+XFxyXFxuICAgIDxrZXlwYWQ+PC9rZXlwYWQ+XFxyXFxuICA8L2Rpdj5cXHJcXG48L3RlbXBsYXRlPlxcclxcbjxzY3JpcHQ+XFxyXFxuaW1wb3J0IHsgS2V5cGFkIH0gZnJvbSBcXFwic3JjL21vZHVsZXMvYmFzZS1jb21wb25lbnRzXFxcIjtcXHJcXG5cXHJcXG5leHBvcnQgZGVmYXVsdCB7XFxyXFxuICBjb21wb25lbnRzOiB7IGtleXBhZDogS2V5cGFkIH1cXHJcXG59O1xcclxcbjwvc2NyaXB0PlxcclxcbjxzdHlsZT5cXHJcXG4gIC50ZXN0LWVtcHR5e1xcclxcbiAgICBkaXNwbGF5OiBmbGV4O1xcclxcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcclxcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXHJcXG4gICAgd2lkdGg6IDEwMCU7XFxyXFxuICAgIGhlaWdodDogMTAwJTtcXHJcXG4gIH1cXHJcXG48L3N0eWxlPlxcclxcblxcclxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi0wYThlYzc0MlwiLFwic2NvcGVkXCI6ZmFsc2UsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCZidXN0Q2FjaGUhLi9zcmMvY29tcG9uZW50cy90ZXN0LWVtcHR5LnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTkwXG4vLyBtb2R1bGUgY2h1bmtzID0gMSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///590\n");
+>>>>>>> 75aae82f85fbcd653f0586ca12d32f08ce441a7b
/***/ }),
@@ -26,7 +30,11 @@ eval("exports = module.exports = __webpack_require__(77)(true);\n// imports\n\n\
/***/ (function(module, exports, __webpack_require__) {
"use strict";
+<<<<<<< HEAD
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _baseComponents = __webpack_require__(50);\n\nexports.default = {\n components: { keypad: _baseComponents.Keypad }\n}; //\n//\n//\n//\n////# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTkxLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3Rlc3QtZW1wdHkudnVlP2M2ZjIiXSwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwidGVzdC1lbXB0eVwiPlxuICAgIDxrZXlwYWQ+PC9rZXlwYWQ+XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT5cbjxzY3JpcHQ+XG5pbXBvcnQgeyBLZXlwYWQgfSBmcm9tIFwic3JjL21vZHVsZXMvYmFzZS1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgY29tcG9uZW50czogeyBrZXlwYWQ6IEtleXBhZCB9XG59O1xuPC9zY3JpcHQ+XG48c3R5bGU+XG4gIC50ZXN0LWVtcHR5e1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbjwvc3R5bGU+XG5cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB0ZXN0LWVtcHR5LnZ1ZT82MTExNDNiOCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBTUE7QUFDQTs7QUFHQTtBQURBOzs7O0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///591\n");
+=======
+eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _baseComponents = __webpack_require__(50);\n\nexports.default = {\n components: { keypad: _baseComponents.Keypad }\n}; //\n//\n//\n//\n////# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTkxLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3Rlc3QtZW1wdHkudnVlP2FlNGQiXSwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gIDxkaXYgY2xhc3M9XCJ0ZXN0LWVtcHR5XCI+XHJcbiAgICA8a2V5cGFkPjwva2V5cGFkPlxyXG4gIDwvZGl2PlxyXG48L3RlbXBsYXRlPlxyXG48c2NyaXB0PlxyXG5pbXBvcnQgeyBLZXlwYWQgfSBmcm9tIFwic3JjL21vZHVsZXMvYmFzZS1jb21wb25lbnRzXCI7XHJcblxyXG5leHBvcnQgZGVmYXVsdCB7XHJcbiAgY29tcG9uZW50czogeyBrZXlwYWQ6IEtleXBhZCB9XHJcbn07XHJcbjwvc2NyaXB0PlxyXG48c3R5bGU+XHJcbiAgLnRlc3QtZW1wdHl7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG48L3N0eWxlPlxyXG5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHRlc3QtZW1wdHkudnVlPzc5NmMxOTBjIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFNQTtBQUNBOztBQUdBO0FBREE7Ozs7QSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///591\n");
+>>>>>>> 75aae82f85fbcd653f0586ca12d32f08ce441a7b
/***/ }),
diff --git a/Step/wwwroot/dist/2.build.js b/Step/wwwroot/dist/2.build.js
index 9eefbe11..29cb039c 100644
--- a/Step/wwwroot/dist/2.build.js
+++ b/Step/wwwroot/dist/2.build.js
@@ -18,7 +18,11 @@ eval("// style-loader: Adds some css to the DOM by adding a \\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTg0LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvSG9tZS52dWU/YTAzYyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuaDFbZGF0YS12LWZlZDM2OTIyXSxcXG5oMltkYXRhLXYtZmVkMzY5MjJdIHtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxufVxcbnVsW2RhdGEtdi1mZWQzNjkyMl0ge1xcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xcbiAgcGFkZGluZzogMDtcXG59XFxubGlbZGF0YS12LWZlZDM2OTIyXSB7XFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICBtYXJnaW46IDAgMTBweDtcXG59XFxuYVtkYXRhLXYtZmVkMzY5MjJdIHtcXG4gIGNvbG9yOiAjNDJiOTgzO1xcbn1cXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiQzovV29yay9TQ00vQ01TL1N0ZXAvU3RlcC93d3dyb290L3NyYy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0hvbWUudnVlPzI1YjFkN2U0XCJdLFwibmFtZXNcIjpbXSxcIm1hcHBpbmdzXCI6XCI7QUFzQkE7O0VBRUEsb0JBQUE7Q0FDQTtBQUNBO0VBQ0Esc0JBQUE7RUFDQSxXQUFBO0NBQ0E7QUFDQTtFQUNBLHNCQUFBO0VBQ0EsZUFBQTtDQUNBO0FBQ0E7RUFDQSxlQUFBO0NBQ0FcIixcImZpbGVcIjpcIkhvbWUudnVlXCIsXCJzb3VyY2VzQ29udGVudFwiOltcIjx0ZW1wbGF0ZT5cXG4gIDxkaXYgY2xhc3M9XFxcImhlbGxvXFxcIj5cXG5cXG4gIDwvZGl2PlxcbjwvdGVtcGxhdGU+XFxuXFxuPHNjcmlwdD5cXG5cXG5cXG5leHBvcnQgZGVmYXVsdCB7XFxuICBuYW1lOiBcXFwiSGVsbG9Xb3JsZFxcXCIsXFxuICBjb21wb25lbnRzOiB7ICB9LFxcbiAgZGF0YSgpIHtcXG4gICAgcmV0dXJuIHtcXG4gICAgICBtc2c6IFxcXCJXZWxjb21lIHRvIFlvdXIgVnVlLmpzIEFwcFxcXCJcXG4gICAgfTtcXG4gIH1cXG59O1xcbjwvc2NyaXB0PlxcblxcbjwhLS0gQWRkIFxcXCJzY29wZWRcXFwiIGF0dHJpYnV0ZSB0byBsaW1pdCBDU1MgdG8gdGhpcyBjb21wb25lbnQgb25seSAtLT5cXG48c3R5bGUgc2NvcGVkPlxcbmgxLFxcbmgyIHtcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxufVxcbnVsIHtcXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcXG4gIHBhZGRpbmc6IDA7XFxufVxcbmxpIHtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIG1hcmdpbjogMCAxMHB4O1xcbn1cXG5hIHtcXG4gIGNvbG9yOiAjNDJiOTgzO1xcbn1cXG48L3N0eWxlPlxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuXG4vLyBleHBvcnRzXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFdFQlBBQ0sgRk9PVEVSXG4vLyAuL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyP3NvdXJjZU1hcCEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zdHlsZS1jb21waWxlcj97XCJ2dWVcIjp0cnVlLFwiaWRcIjpcImRhdGEtdi1mZWQzNjkyMlwiLFwic2NvcGVkXCI6dHJ1ZSxcImhhc0lubGluZUNvbmZpZ1wiOmZhbHNlfSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9zZWxlY3Rvci5qcz90eXBlPXN0eWxlcyZpbmRleD0wJmJ1c3RDYWNoZSEuL3NyYy9jb21wb25lbnRzL0hvbWUudnVlXG4vLyBtb2R1bGUgaWQgPSA1ODRcbi8vIG1vZHVsZSBjaHVua3MgPSAyIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///584\n");
+=======
+eval("exports = module.exports = __webpack_require__(77)(true);\n// imports\n\n\n// module\nexports.push([module.i, \"\\nh1[data-v-fed36922],\\r\\nh2[data-v-fed36922] {\\r\\n font-weight: normal;\\n}\\nul[data-v-fed36922] {\\r\\n list-style-type: none;\\r\\n padding: 0;\\n}\\nli[data-v-fed36922] {\\r\\n display: inline-block;\\r\\n margin: 0 10px;\\n}\\na[data-v-fed36922] {\\r\\n color: #42b983;\\n}\\r\\n\", \"\", {\"version\":3,\"sources\":[\"C:/Workspace/CMS_STEP/Step/wwwroot/src/components/src/components/Home.vue?7ecdb9dc\"],\"names\":[],\"mappings\":\";AAsBA;;EAEA,oBAAA;CACA;AACA;EACA,sBAAA;EACA,WAAA;CACA;AACA;EACA,sBAAA;EACA,eAAA;CACA;AACA;EACA,eAAA;CACA\",\"file\":\"Home.vue\",\"sourcesContent\":[\"\\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"],\"sourceRoot\":\"\"}]);\n\n// exports\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTg0LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvSG9tZS52dWU/YTAzYyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKHRydWUpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiXFxuaDFbZGF0YS12LWZlZDM2OTIyXSxcXHJcXG5oMltkYXRhLXYtZmVkMzY5MjJdIHtcXHJcXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxufVxcbnVsW2RhdGEtdi1mZWQzNjkyMl0ge1xcclxcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xcclxcbiAgcGFkZGluZzogMDtcXG59XFxubGlbZGF0YS12LWZlZDM2OTIyXSB7XFxyXFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxyXFxuICBtYXJnaW46IDAgMTBweDtcXG59XFxuYVtkYXRhLXYtZmVkMzY5MjJdIHtcXHJcXG4gIGNvbG9yOiAjNDJiOTgzO1xcbn1cXHJcXG5cIiwgXCJcIiwge1widmVyc2lvblwiOjMsXCJzb3VyY2VzXCI6W1wiQzovV29ya3NwYWNlL0NNU19TVEVQL1N0ZXAvd3d3cm9vdC9zcmMvY29tcG9uZW50cy9zcmMvY29tcG9uZW50cy9Ib21lLnZ1ZT83ZWNkYjlkY1wiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiO0FBc0JBOztFQUVBLG9CQUFBO0NBQ0E7QUFDQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtDQUNBO0FBQ0E7RUFDQSxzQkFBQTtFQUNBLGVBQUE7Q0FDQTtBQUNBO0VBQ0EsZUFBQTtDQUNBXCIsXCJmaWxlXCI6XCJIb21lLnZ1ZVwiLFwic291cmNlc0NvbnRlbnRcIjpbXCI8dGVtcGxhdGU+XFxyXFxuICA8ZGl2IGNsYXNzPVxcXCJoZWxsb1xcXCI+XFxyXFxuXFxyXFxuICA8L2Rpdj5cXHJcXG48L3RlbXBsYXRlPlxcclxcblxcclxcbjxzY3JpcHQ+XFxyXFxuXFxyXFxuXFxyXFxuZXhwb3J0IGRlZmF1bHQge1xcclxcbiAgbmFtZTogXFxcIkhlbGxvV29ybGRcXFwiLFxcclxcbiAgY29tcG9uZW50czogeyAgfSxcXHJcXG4gIGRhdGEoKSB7XFxyXFxuICAgIHJldHVybiB7XFxyXFxuICAgICAgbXNnOiBcXFwiV2VsY29tZSB0byBZb3VyIFZ1ZS5qcyBBcHBcXFwiXFxyXFxuICAgIH07XFxyXFxuICB9XFxyXFxufTtcXHJcXG48L3NjcmlwdD5cXHJcXG5cXHJcXG48IS0tIEFkZCBcXFwic2NvcGVkXFxcIiBhdHRyaWJ1dGUgdG8gbGltaXQgQ1NTIHRvIHRoaXMgY29tcG9uZW50IG9ubHkgLS0+XFxyXFxuPHN0eWxlIHNjb3BlZD5cXHJcXG5oMSxcXHJcXG5oMiB7XFxyXFxuICBmb250LXdlaWdodDogbm9ybWFsO1xcclxcbn1cXHJcXG51bCB7XFxyXFxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XFxyXFxuICBwYWRkaW5nOiAwO1xcclxcbn1cXHJcXG5saSB7XFxyXFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxyXFxuICBtYXJnaW46IDAgMTBweDtcXHJcXG59XFxyXFxuYSB7XFxyXFxuICBjb2xvcjogIzQyYjk4MztcXHJcXG59XFxyXFxuPC9zdHlsZT5cXHJcXG5cIl0sXCJzb3VyY2VSb290XCI6XCJcIn1dKTtcblxuLy8gZXhwb3J0c1xuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBXRUJQQUNLIEZPT1RFUlxuLy8gLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlcj9zb3VyY2VNYXAhLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc3R5bGUtY29tcGlsZXI/e1widnVlXCI6dHJ1ZSxcImlkXCI6XCJkYXRhLXYtZmVkMzY5MjJcIixcInNjb3BlZFwiOnRydWUsXCJoYXNJbmxpbmVDb25maWdcIjpmYWxzZX0hLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvc2VsZWN0b3IuanM/dHlwZT1zdHlsZXMmaW5kZXg9MCZidXN0Q2FjaGUhLi9zcmMvY29tcG9uZW50cy9Ib21lLnZ1ZVxuLy8gbW9kdWxlIGlkID0gNTg0XG4vLyBtb2R1bGUgY2h1bmtzID0gMiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///584\n");
+>>>>>>> 75aae82f85fbcd653f0586ca12d32f08ce441a7b
/***/ }),
@@ -26,7 +30,11 @@ eval("exports = module.exports = __webpack_require__(77)(true);\n// imports\n\n\
/***/ (function(module, exports, __webpack_require__) {
"use strict";
+<<<<<<< HEAD
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n//\n//\n//\n//\n//\n//\n\n\nexports.default = {\n name: \"HelloWorld\",\n components: {},\n data: function data() {\n return {\n msg: \"Welcome to Your Vue.js App\"\n };\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTg1LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL0hvbWUudnVlP2YwZmMiXSwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwiaGVsbG9cIj5cblxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5cblxuZXhwb3J0IGRlZmF1bHQge1xuICBuYW1lOiBcIkhlbGxvV29ybGRcIixcbiAgY29tcG9uZW50czogeyAgfSxcbiAgZGF0YSgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbXNnOiBcIldlbGNvbWUgdG8gWW91ciBWdWUuanMgQXBwXCJcbiAgICB9O1xuICB9XG59O1xuPC9zY3JpcHQ+XG5cbjwhLS0gQWRkIFwic2NvcGVkXCIgYXR0cmlidXRlIHRvIGxpbWl0IENTUyB0byB0aGlzIGNvbXBvbmVudCBvbmx5IC0tPlxuPHN0eWxlIHNjb3BlZD5cbmgxLFxuaDIge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxudWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5saSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDEwcHg7XG59XG5hIHtcbiAgY29sb3I6ICM0MmI5ODM7XG59XG48L3N0eWxlPlxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIEhvbWUudnVlPzI1YjFkN2U0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBU0E7QUFDQTtBQUNBOztBQUFBO0FBQ0E7QUFDQTs7QUFFQTtBQURBO0FBR0E7QUFQQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///585\n");
+=======
+eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n//\n//\n//\n//\n//\n//\n\n\nexports.default = {\n name: \"HelloWorld\",\n components: {},\n data: function data() {\n return {\n msg: \"Welcome to Your Vue.js App\"\n };\n }\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTg1LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL0hvbWUudnVlPzQ0ZTQiXSwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gIDxkaXYgY2xhc3M9XCJoZWxsb1wiPlxyXG5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIG5hbWU6IFwiSGVsbG9Xb3JsZFwiLFxyXG4gIGNvbXBvbmVudHM6IHsgIH0sXHJcbiAgZGF0YSgpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG1zZzogXCJXZWxjb21lIHRvIFlvdXIgVnVlLmpzIEFwcFwiXHJcbiAgICB9O1xyXG4gIH1cclxufTtcclxuPC9zY3JpcHQ+XHJcblxyXG48IS0tIEFkZCBcInNjb3BlZFwiIGF0dHJpYnV0ZSB0byBsaW1pdCBDU1MgdG8gdGhpcyBjb21wb25lbnQgb25seSAtLT5cclxuPHN0eWxlIHNjb3BlZD5cclxuaDEsXHJcbmgyIHtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcbnVsIHtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5saSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1hcmdpbjogMCAxMHB4O1xyXG59XHJcbmEge1xyXG4gIGNvbG9yOiAjNDJiOTgzO1xyXG59XHJcbjwvc3R5bGU+XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyBIb21lLnZ1ZT83ZWNkYjlkYyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVNBO0FBQ0E7QUFDQTs7QUFBQTtBQUNBO0FBQ0E7O0FBRUE7QUFEQTtBQUdBO0FBUEEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///585\n");
+>>>>>>> 75aae82f85fbcd653f0586ca12d32f08ce441a7b
/***/ }),
diff --git a/Step/wwwroot/dist/3.build.js b/Step/wwwroot/dist/3.build.js
index c864a178..a98c974b 100644
--- a/Step/wwwroot/dist/3.build.js
+++ b/Step/wwwroot/dist/3.build.js
@@ -12,7 +12,11 @@ eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true }
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
+<<<<<<< HEAD
eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_class_component__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_class_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_class_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__store__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__store___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__store__);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\n\r\n\r\nvar TestStatus = /** @class */ (function (_super) {\r\n __extends(TestStatus, _super);\r\n function TestStatus() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n TestStatus.prototype.addProcess = function () {\r\n // processModelActions.addProcess(this.$store, {});\r\n };\r\n TestStatus.prototype.removeProcess = function () {\r\n __WEBPACK_IMPORTED_MODULE_2__store__[\"processModelActions\"].removeAllProcess(this.$store);\r\n };\r\n TestStatus.prototype.removeAlarms = function () {\r\n __WEBPACK_IMPORTED_MODULE_2__store__[\"alarmsModelActions\"].removeAllAlarms(this.$store);\r\n };\r\n TestStatus.prototype.addService = function () {\r\n __WEBPACK_IMPORTED_MODULE_2__store__[\"alarmsModelActions\"].addServiceAlarm(this.$store, { message: \"Lorem Ipsum dolor sit amen ... \", dateTime: new Date() });\r\n };\r\n TestStatus = __decorate([\r\n __WEBPACK_IMPORTED_MODULE_1_vue_class_component___default()({})\r\n ], TestStatus);\r\n return TestStatus;\r\n}(__WEBPACK_IMPORTED_MODULE_0_vue__[\"default\"]));\r\n/* harmony default export */ __webpack_exports__[\"a\"] = (TestStatus);\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTkzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvdGVzdC1zdGF0dXMudHM/YzBhNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gXCJ2dWVcIjtcbmltcG9ydCBDb21wb25lbnQgZnJvbSBcInZ1ZS1jbGFzcy1jb21wb25lbnRcIjtcblxuaW1wb3J0IHtcbiAgbWFjaGluZVN0YXR1c0FjdGlvbnMsXG4gIE1hY2hpbmVTdGF0dXNNb2RlbCxcbiAgYWxhcm1zTW9kZWxBY3Rpb25zLFxuICBwcm9jZXNzTW9kZWxBY3Rpb25zXG59IGZyb20gXCIuLi9zdG9yZVwiO1xuXG5AQ29tcG9uZW50KHt9KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVGVzdFN0YXR1cyBleHRlbmRzIFZ1ZSB7XG5cblxuICBhZGRQcm9jZXNzKCkge1xuICAgIC8vIHByb2Nlc3NNb2RlbEFjdGlvbnMuYWRkUHJvY2Vzcyh0aGlzLiRzdG9yZSwge30pO1xuICB9XG4gIHJlbW92ZVByb2Nlc3MoKSB7XG4gICAgcHJvY2Vzc01vZGVsQWN0aW9ucy5yZW1vdmVBbGxQcm9jZXNzKHRoaXMuJHN0b3JlKTtcbiAgfVxuXG4gIHJlbW92ZUFsYXJtcygpIHtcbiAgICBhbGFybXNNb2RlbEFjdGlvbnMucmVtb3ZlQWxsQWxhcm1zKHRoaXMuJHN0b3JlKTtcbiAgfVxuICBhZGRTZXJ2aWNlKCkge1xuICAgIGFsYXJtc01vZGVsQWN0aW9ucy5hZGRTZXJ2aWNlQWxhcm0odGhpcy4kc3RvcmUsIHsgIG1lc3NhZ2U6IFwiTG9yZW0gSXBzdW0gZG9sb3Igc2l0IGFtZW4gLi4uIFwiLCBkYXRlVGltZTogbmV3IERhdGUoKX0gYXMgYW55KTtcbiAgfVxufVxuXG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvY29tcG9uZW50cy90ZXN0LXN0YXR1cy50cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUVBO0FBUUE7QUFBQTtBQUFBOztBQWdCQTtBQWJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWZBO0FBREE7QUFDQTtBQWdCQTtBQUFBO0FBaEJBOyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///593\n");
+=======
+eval("/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_class_component__ = __webpack_require__(36);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_class_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_class_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__store__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__store___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__store__);\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\n\r\n\r\n\r\nvar TestStatus = /** @class */ (function (_super) {\r\n __extends(TestStatus, _super);\r\n function TestStatus() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n TestStatus.prototype.addProcess = function () {\r\n // processModelActions.addProcess(this.$store, {});\r\n };\r\n TestStatus.prototype.removeProcess = function () {\r\n __WEBPACK_IMPORTED_MODULE_2__store__[\"processModelActions\"].removeAllProcess(this.$store);\r\n };\r\n TestStatus.prototype.removeAlarms = function () {\r\n __WEBPACK_IMPORTED_MODULE_2__store__[\"alarmsModelActions\"].removeAllAlarms(this.$store);\r\n };\r\n TestStatus.prototype.addService = function () {\r\n __WEBPACK_IMPORTED_MODULE_2__store__[\"alarmsModelActions\"].addServiceAlarm(this.$store, { message: \"Lorem Ipsum dolor sit amen ... \", dateTime: new Date() });\r\n };\r\n TestStatus = __decorate([\r\n __WEBPACK_IMPORTED_MODULE_1_vue_class_component___default()({})\r\n ], TestStatus);\r\n return TestStatus;\r\n}(__WEBPACK_IMPORTED_MODULE_0_vue__[\"default\"]));\r\n/* harmony default export */ __webpack_exports__[\"a\"] = (TestStatus);\r\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTkzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvdGVzdC1zdGF0dXMudHM/YzBhNiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gXCJ2dWVcIjtcclxuaW1wb3J0IENvbXBvbmVudCBmcm9tIFwidnVlLWNsYXNzLWNvbXBvbmVudFwiO1xyXG5cclxuaW1wb3J0IHtcclxuICBtYWNoaW5lU3RhdHVzQWN0aW9ucyxcclxuICBNYWNoaW5lU3RhdHVzTW9kZWwsXHJcbiAgYWxhcm1zTW9kZWxBY3Rpb25zLFxyXG4gIHByb2Nlc3NNb2RlbEFjdGlvbnNcclxufSBmcm9tIFwiLi4vc3RvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe30pXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRlc3RTdGF0dXMgZXh0ZW5kcyBWdWUge1xyXG5cclxuXHJcbiAgYWRkUHJvY2VzcygpIHtcclxuICAgIC8vIHByb2Nlc3NNb2RlbEFjdGlvbnMuYWRkUHJvY2Vzcyh0aGlzLiRzdG9yZSwge30pO1xyXG4gIH1cclxuICByZW1vdmVQcm9jZXNzKCkge1xyXG4gICAgcHJvY2Vzc01vZGVsQWN0aW9ucy5yZW1vdmVBbGxQcm9jZXNzKHRoaXMuJHN0b3JlKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUFsYXJtcygpIHtcclxuICAgIGFsYXJtc01vZGVsQWN0aW9ucy5yZW1vdmVBbGxBbGFybXModGhpcy4kc3RvcmUpO1xyXG4gIH1cclxuICBhZGRTZXJ2aWNlKCkge1xyXG4gICAgYWxhcm1zTW9kZWxBY3Rpb25zLmFkZFNlcnZpY2VBbGFybSh0aGlzLiRzdG9yZSwgeyAgbWVzc2FnZTogXCJMb3JlbSBJcHN1bSBkb2xvciBzaXQgYW1lbiAuLi4gXCIsIGRhdGVUaW1lOiBuZXcgRGF0ZSgpfSBhcyBhbnkpO1xyXG4gIH1cclxufVxyXG5cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL2NvbXBvbmVudHMvdGVzdC1zdGF0dXMudHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFFQTtBQVFBO0FBQUE7QUFBQTs7QUFnQkE7QUFiQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFmQTtBQURBO0FBQ0E7QUFnQkE7QUFBQTtBQWhCQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///593\n");
+>>>>>>> 75aae82f85fbcd653f0586ca12d32f08ce441a7b
/***/ }),
diff --git a/Step/wwwroot/dist/4.build.js b/Step/wwwroot/dist/4.build.js
index ad759442..5c8a4cd0 100644
--- a/Step/wwwroot/dist/4.build.js
+++ b/Step/wwwroot/dist/4.build.js
@@ -12,7 +12,11 @@ eval("Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true }
/***/ (function(module, exports, __webpack_require__) {
"use strict";
+<<<<<<< HEAD
eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _baseComponents = __webpack_require__(50);\n\nexports.default = {\n components: { loader: _baseComponents.Loader }\n\n}; //\n//\n//\n//\n////# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTg3LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3Rlc3QtbG9hZGVyLnZ1ZT8yOGU1Il0sInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cbiAgPGRpdj5cbiAgICA8bG9hZGVyIHRpdGxlPVwiQXR0ZW5kZXJlIHByZWdvXCIgbWVzc2FnZT1cIkF6emVyYW1lbnRvIGFzc2kgLi4uLlwiIDpwZXJjZW50PVwiNTBcIiA6aXNWaXNpYmxlPVwidHJ1ZVwiPjwvbG9hZGVyPlxuICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG48c2NyaXB0PlxuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSBcIi4uL21vZHVsZXMvYmFzZS1jb21wb25lbnRzXCI7XG5leHBvcnQgZGVmYXVsdCB7XG4gIGNvbXBvbmVudHM6eyBsb2FkZXI6IExvYWRlcn1cblxufVxuPC9zY3JpcHQ+XG5cblxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIHRlc3QtbG9hZGVyLnZ1ZT82ZDdhNjYwNiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBTUE7QUFDQTs7QUFHQTtBQUNBO0FBSEE7Ozs7QSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///587\n");
+=======
+eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _baseComponents = __webpack_require__(50);\n\nexports.default = {\n components: { loader: _baseComponents.Loader }\n\n}; //\n//\n//\n//\n////# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNTg3LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3Rlc3QtbG9hZGVyLnZ1ZT8xY2RhIl0sInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2PlxyXG4gICAgPGxvYWRlciB0aXRsZT1cIkF0dGVuZGVyZSBwcmVnb1wiIG1lc3NhZ2U9XCJBenplcmFtZW50byBhc3NpIC4uLi5cIiA6cGVyY2VudD1cIjUwXCIgOmlzVmlzaWJsZT1cInRydWVcIj48L2xvYWRlcj5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuPHNjcmlwdD5cclxuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSBcIi4uL21vZHVsZXMvYmFzZS1jb21wb25lbnRzXCI7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBjb21wb25lbnRzOnsgbG9hZGVyOiBMb2FkZXJ9XHJcblxyXG59XHJcbjwvc2NyaXB0PlxyXG5cclxuXHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyB0ZXN0LWxvYWRlci52dWU/MjQ1ZGQ1MjMiXSwibWFwcGluZ3MiOiI7Ozs7OztBQU1BO0FBQ0E7O0FBR0E7QUFDQTtBQUhBOzs7O0EiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///587\n");
+>>>>>>> 75aae82f85fbcd653f0586ca12d32f08ce441a7b
/***/ }),
diff --git a/Step/wwwroot/dist/build.js b/Step/wwwroot/dist/build.js
index 04e77e65..c611faab 100644
--- a/Step/wwwroot/dist/build.js
+++ b/Step/wwwroot/dist/build.js
@@ -624,7 +624,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Hub = undefined;\n\nvar _store = __webpack_require__(19);\n\nvar _izitoast = __webpack_require__(111);\n\nvar _izitoast2 = _interopRequireDefault(_izitoast);\n\nvar _base = __webpack_require__(14);\n\nvar _runningProcess = __webpack_require__(108);\n\nvar _machineService = __webpack_require__(80);\n\nvar _baseComponents = __webpack_require__(50);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction recalcArrayId(prefix, alarms, processid) {\n if (processid === void 0) {\n processid = 0;\n }\n for (var key in alarms) {\n if (alarms.hasOwnProperty(key)) {\n var element = alarms[key];\n element.guid = prefix + \"__\" + (element.id || element.Id).toString();\n element.source = prefix.toUpperCase();\n }\n }\n}\nvar Hub = /** @class */function () {\n function Hub() {\n this._axesVisible = false;\n Hub._current = this;\n this._hub = $.connection.ncHub;\n // Registro le callback;\n this._hub.client.alarms = this.manageAlarmsCallbacks;\n this._hub.client.powerOn = this.managePowerCallbacks;\n this._hub.client.ncNetworkStatus = Hub.manageNcStatus;\n this._hub.client.processesData = Hub.manageProcesses;\n this._hub.client.functionalityData = Hub.functionalityData;\n this._hub.client.expiredMaintenances = Hub.expiredMaintenances;\n this._hub.client.ncSoftKeys = Hub.ncSoftKeyChanged;\n this._hub.client.ncSoftKeys = Hub.userSoftKeyChanged;\n this._hub.client.heads = Hub.headsDataChanged;\n this._hub.client.logout = this.logout;\n // Token per signalr agganciato in modo esplicito\n var authData = JSON.parse(window.sessionStorage.getItem(\"authorizationData\") || window.localStorage.getItem(\"authorizationData\"));\n $.connection.hub.qs = {};\n if (authData) $.connection.hub.qs.Authorization = authData.access_token;\n if (typeof cmsClient != \"undefined\") $.connection.hub.qs.CmsClientId = cmsClient.getClientID;\n $.connection.hub.start();\n this.checkShowAxes();\n }\n Object.defineProperty(Hub, \"Current\", {\n get: function get() {\n if (!Hub._current) new Hub();\n return Hub._current;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Hub.prototype, \"InternalSignalRChannel\", {\n get: function get() {\n return this._hub;\n },\n enumerable: true,\n configurable: true\n });\n Hub.prototype.logout = function (e) {\n if (e) _store.appModelActions.CheckLogoff(_store.store, e.id);\n };\n Hub.ncSoftKeyChanged = function (status) {\n console.log(status);\n };\n Hub.userSoftKeyChanged = function (status) {\n for (var k in status) {\n if (status.hasOwnProperty(k)) {\n _store.machineStatusActions.setSoftKeyStatus(_store.store, status[k]);\n }\n }\n };\n Hub.headsDataChanged = function (status) {\n console.log(\"heads\", status);\n };\n Hub.functionalityData = function (status) {\n _store.machineStatusActions.setSecurityFunction(_store.store, status);\n };\n Hub.expiredMaintenances = function (status) {\n for (var key in status) {\n if (status.hasOwnProperty(key)) {\n var element = status[key];\n _store.alarmsModelActions.addServiceAlarm(_store.store, { guid: \"maint_\" + element.Id, id: element.Id, dateTime: new Date(element.ExpirationDate) });\n }\n }\n _store.alarmsModelActions.checkRemoveServiceAlarm(_store.store, status.map(function (i) {\n return \"maint_\" + i.Id;\n }));\n };\n Hub.manageProcesses = function (status) {\n console.debug(status);\n if (status) {\n _runningProcess.processModelActions.isRunning(_store.store, status.isRunning);\n for (var key in status.processes) {\n if (status.processes.hasOwnProperty(key)) {\n var element = status.processes[key];\n _runningProcess.processModelActions.addProcess(_store.store, element);\n }\n }\n _runningProcess.processModelActions.checkRemove(_store.store, status.processes.map(function (i) {\n return i.Id;\n }));\n }\n };\n Hub.manageNcStatus = function (status) {\n if (Hub._ncConnectionNotificationVisible && status.connected) {\n _store.machineStatusActions.setNcConnectionStatus(_store.store, status.connected);\n var toast = document.querySelector('#ncConnection');\n _izitoast2.default.hide(toast);\n new _machineService.machineService().getMachineCNInfo();\n Hub._ncConnectionNotificationVisible = false;\n _base.Factory.Get(_base.MessageService).publishToChannel(\"force-ui-update\", null);\n return;\n }\n if (!Hub._ncConnectionNotificationVisible && !status.connected) {\n _store.machineStatusActions.setNcConnectionStatus(_store.store, status.connected);\n _izitoast2.default.warning({\n id: \"ncConnection\", timeout: false, toastOnce: true, theme: \"dark\", title: \"nc offline\", close: false, closeOnEscape: false, drag: false\n });\n Hub._ncConnectionNotificationVisible = true;\n _store.alarmsModelActions.removeAllAlarms(_store.store);\n _runningProcess.processModelActions.isRunning(_store.store, false);\n _base.Factory.Get(_base.MessageService).publishToChannel(\"force-ui-update\", null);\n return;\n }\n if (_store.store.state.machineStatus.ncReady != status.connected) {\n _store.machineStatusActions.setNcConnectionStatus(_store.store, status.connected);\n _base.Factory.Get(_base.MessageService).publishToChannel(\"force-ui-update\", null);\n }\n };\n Hub.prototype.manageAlarmsCallbacks = function (alarms) {\n recalcArrayId(\"cn\", alarms.NcAlarms);\n recalcArrayId(\"plc\", alarms.PlcAlarms);\n recalcArrayId(\"cn\", alarms.ProcessAlarms);\n var tempList = alarms.NcAlarms.concat(alarms.PlcAlarms).concat(alarms.ProcessAlarms);\n for (var key in tempList) {\n if (tempList.hasOwnProperty(key)) {\n var element = tempList[key];\n if (element.isWarning) _store.alarmsModelActions.addWarning(_store.store, element);else _store.alarmsModelActions.addAlarm(_store.store, element);\n }\n }\n _store.alarmsModelActions.checkRemove(_store.store, tempList.map(function (i) {\n return i.guid;\n }));\n };\n Hub.prototype.managePowerCallbacks = function (power) {\n _store.machineStatusActions.setResetAxes(_store.store, { reset: power.AxisReset.IsActive, progress: power.AxisReset.Percentage });\n // Pre-power on\n _store.machineStatusActions.setAirPressureAlarm(_store.store, power.PrePowerOn.AirPressure);\n _store.machineStatusActions.setPowerAlarm(_store.store, power.PrePowerOn.PowerOn);\n _store.machineStatusActions.setEmergencyAlarm(_store.store, power.PrePowerOn.EmergencyButtons);\n _store.machineStatusActions.setProtectionsAlarm(_store.store, power.PrePowerOn.ProtectionStatus);\n _store.machineStatusActions.setSettingsModeAlarm(_store.store, power.PrePowerOn.SettingMode);\n _store.machineStatusActions.setKeyReadyAlarm(_store.store, power.PrePowerOn.StartingKey);\n // Post-power on\n _store.machineStatusActions.setResetAxesAlarm(_store.store, power.PostPowerOn.AxisReset);\n _store.machineStatusActions.setWaterJet1Alarm(_store.store, power.PostPowerOn.WaterjetPump);\n };\n Hub.prototype.checkShowAxes = function () {\n var me = this;\n function check(resettingAxes) {\n window.setTimeout(function () {\n if (resettingAxes && !me._axesVisible) {\n _base.Factory.Get(_base.MessageService).publishToChannel(\"show-axes-calibration\");\n me._axesVisible = true;\n } else if (!resettingAxes && me._axesVisible) {\n _baseComponents.ModalHelper.HideModal();\n me._axesVisible = false;\n }\n }, 500);\n }\n _store.store.watch(function (s) {\n return s.machineStatus.resetAxes;\n }, function (n, o) {\n if (!_store.store.state.currentUser) return;\n check(n);\n });\n _store.store.watch(function (s) {\n return s.currentUser;\n }, function (n, o) {\n if (n && _store.store.state.machineStatus.resetAxes) check(_store.store.state.machineStatus.resetAxes);\n });\n };\n Hub.prototype.sendPowerCommand = function (id) {\n this._hub.server.putPowerOnData(id);\n };\n Hub.prototype.RefreshAlarm = function (id) {\n this._hub.server.refreshAlarm(id);\n };\n Hub.prototype.RefreshAllAlarms = function () {\n this._hub.server.refreshAllAlarms();\n };\n Hub.prototype.RecoveryProcedure = function (id) {\n this._hub.server.recoveryProcedure(id);\n };\n Hub.prototype.sendUserSoftKey = function (id) {\n this._hub.server.userSoftKeyClick(id);\n };\n Hub.prototype.ncSoftKeyClick = function (id) {\n this._hub.server.ncSoftKeyClick(id);\n };\n Hub.prototype.Hello = function () {\n this._hub.server.hello();\n };\n Hub._ncConnectionNotificationVisible = false;\n return Hub;\n}();\nexports.Hub = Hub;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvc2VydmljZXMvaHViLnRzP2M4YjAiXSwic291cmNlc0NvbnRlbnQiOlsiXG5pbXBvcnQgeyBBbGFybXNNb2RlbEFjdGlvbnNJbnRlcmZhY2UgfSBmcm9tIFwiLi4vc3RvcmUvYWxhcm1zLnN0b3JlXCJcblxuaW1wb3J0IHsgc3RvcmUsIGFsYXJtc01vZGVsQWN0aW9ucywgbWFjaGluZVN0YXR1c0FjdGlvbnMsIG1hY2hpbmVJbmZvQWN0aW9ucywgQXBwTW9kZWwsIGFwcE1vZGVsQWN0aW9ucyB9IGZyb20gXCJzcmMvc3RvcmVcIjtcbmltcG9ydCB7IGFsYXJtRGV0YWlsIH0gZnJvbSBcInNyYy9tb2R1bGVzL2FsYXJtc1wiO1xuaW1wb3J0IGl6aVRvYXN0LCB7IEl6aVRvYXN0U2V0dGluZ3MgfSBmcm9tIFwiaXppdG9hc3RcIjtcbmltcG9ydCB7IEZhY3RvcnksIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInNyYy9fYmFzZVwiO1xuaW1wb3J0IHsgc2lnbmFscl9hbGFybXMgfSBmcm9tIFwic3JjL0B0eXBlcy9zaWduYWxyLmFsYXJtc1wiO1xuaW1wb3J0IHsgcHJvY2Vzc01vZGVsQWN0aW9ucyB9IGZyb20gXCJzcmMvc3RvcmUvcnVubmluZ1Byb2Nlc3Muc3RvcmVcIjtcbmltcG9ydCB7IG1hY2hpbmVTZXJ2aWNlIH0gZnJvbSBcInNyYy9zZXJ2aWNlcy9tYWNoaW5lU2VydmljZVwiO1xuaW1wb3J0IHsgTW9kYWxIZWxwZXIgfSBmcm9tIFwiLi4vbW9kdWxlcy9iYXNlLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IEF1dGhUb2tlbiB9IGZyb20gXCJzcmMvX2Jhc2UvYmFzZVJlc3RTZXJ2aWNlXCI7XG5pbXBvcnQgeyBTb2Z0S2V5TW9kZWwgfSBmcm9tIFwiLi4vc3RvcmUvbWFjaGluZVN0YXR1cy5zdG9yZVwiO1xuXG5kZWNsYXJlIGxldCAkOiBhbnk7XG5kZWNsYXJlIGxldCBjbXNDbGllbnQ6IGFueTtcblxuZnVuY3Rpb24gcmVjYWxjQXJyYXlJZChwcmVmaXg6IHN0cmluZywgYWxhcm1zOiBBcnJheTxzaWduYWxyX2FsYXJtcy5nZW5lcmljQWxhcm0+LCBwcm9jZXNzaWQ6IG51bWJlciA9IDApIHtcbiAgZm9yIChjb25zdCBrZXkgaW4gYWxhcm1zKSB7XG4gICAgaWYgKGFsYXJtcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gYWxhcm1zW2tleV07XG4gICAgICBlbGVtZW50Lmd1aWQgPSBwcmVmaXggKyBcIl9fXCIgKyAoZWxlbWVudC5pZCB8fCBlbGVtZW50LklkKS50b1N0cmluZygpO1xuICAgICAgZWxlbWVudC5zb3VyY2UgPSBwcmVmaXgudG9VcHBlckNhc2UoKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEh1YiB7XG5cbiAgc3RhdGljIF9uY0Nvbm5lY3Rpb25Ob3RpZmljYXRpb25WaXNpYmxlPzogYm9vbGVhbiA9IGZhbHNlO1xuXG5cbiAgLy8gc2luZ2xldG9uIGh1YiBpbXBsZW1lbnRhdGlvblxuXG4gIHByaXZhdGUgc3RhdGljIF9jdXJyZW50OiBIdWI7XG4gIHN0YXRpYyBnZXQgQ3VycmVudCgpOiBIdWIge1xuXG4gICAgaWYgKCFIdWIuX2N1cnJlbnQpIG5ldyBIdWIoKTtcblxuICAgIHJldHVybiBIdWIuX2N1cnJlbnQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IEludGVybmFsU2lnbmFsUkNoYW5uZWwoKTogYW55IHsgcmV0dXJuIHRoaXMuX2h1YjsgfVxuICBwcml2YXRlIF9odWI6IGFueTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBIdWIuX2N1cnJlbnQgPSB0aGlzO1xuXG4gICAgdGhpcy5faHViID0gJC5jb25uZWN0aW9uLm5jSHViO1xuXG4gICAgLy8gUmVnaXN0cm8gbGUgY2FsbGJhY2s7XG4gICAgdGhpcy5faHViLmNsaWVudC5hbGFybXMgPSB0aGlzLm1hbmFnZUFsYXJtc0NhbGxiYWNrcztcbiAgICB0aGlzLl9odWIuY2xpZW50LnBvd2VyT24gPSB0aGlzLm1hbmFnZVBvd2VyQ2FsbGJhY2tzO1xuICAgIHRoaXMuX2h1Yi5jbGllbnQubmNOZXR3b3JrU3RhdHVzID0gSHViLm1hbmFnZU5jU3RhdHVzO1xuICAgIHRoaXMuX2h1Yi5jbGllbnQucHJvY2Vzc2VzRGF0YSA9IEh1Yi5tYW5hZ2VQcm9jZXNzZXM7XG4gICAgdGhpcy5faHViLmNsaWVudC5mdW5jdGlvbmFsaXR5RGF0YSA9IEh1Yi5mdW5jdGlvbmFsaXR5RGF0YTtcbiAgICB0aGlzLl9odWIuY2xpZW50LmV4cGlyZWRNYWludGVuYW5jZXMgPSBIdWIuZXhwaXJlZE1haW50ZW5hbmNlcztcblxuICAgIHRoaXMuX2h1Yi5jbGllbnQubmNTb2Z0S2V5cyA9IEh1Yi5uY1NvZnRLZXlDaGFuZ2VkO1xuICAgIHRoaXMuX2h1Yi5jbGllbnQubmNTb2Z0S2V5cyA9IEh1Yi51c2VyU29mdEtleUNoYW5nZWQ7XG4gICAgdGhpcy5faHViLmNsaWVudC5oZWFkcyA9IEh1Yi5oZWFkc0RhdGFDaGFuZ2VkO1xuXG4gICAgdGhpcy5faHViLmNsaWVudC5sb2dvdXQgPSB0aGlzLmxvZ291dDtcblxuICAgIC8vIFRva2VuIHBlciBzaWduYWxyIGFnZ2FuY2lhdG8gaW4gbW9kbyBlc3BsaWNpdG9cbiAgICBsZXQgYXV0aERhdGEgPSBKU09OLnBhcnNlKHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwiYXV0aG9yaXphdGlvbkRhdGFcIikgfHwgd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYXV0aG9yaXphdGlvbkRhdGFcIikpIGFzIEF1dGhUb2tlbjtcblxuXG4gICAgJC5jb25uZWN0aW9uLmh1Yi5xcyA9IHt9O1xuXG4gICAgaWYgKGF1dGhEYXRhKVxuICAgICAgJC5jb25uZWN0aW9uLmh1Yi5xcy5BdXRob3JpemF0aW9uID0gYXV0aERhdGEuYWNjZXNzX3Rva2VuO1xuXG4gICAgaWYgKHR5cGVvZiBjbXNDbGllbnQgIT0gXCJ1bmRlZmluZWRcIilcbiAgICAgICQuY29ubmVjdGlvbi5odWIucXMuQ21zQ2xpZW50SWQgPSBjbXNDbGllbnQuZ2V0Q2xpZW50SUQ7XG5cbiAgICAkLmNvbm5lY3Rpb24uaHViLnN0YXJ0KCk7XG5cbiAgICB0aGlzLmNoZWNrU2hvd0F4ZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9nb3V0KGUpIHtcbiAgICBpZiAoZSlcbiAgICAgIGFwcE1vZGVsQWN0aW9ucy5DaGVja0xvZ29mZihzdG9yZSwgZS5pZCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBuY1NvZnRLZXlDaGFuZ2VkKHN0YXR1cykge1xuICAgIGNvbnNvbGUubG9nKHN0YXR1cyk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyB1c2VyU29mdEtleUNoYW5nZWQoc3RhdHVzKSB7XG4gICAgZm9yIChjb25zdCBrIGluIHN0YXR1cykge1xuICAgICAgaWYgKHN0YXR1cy5oYXNPd25Qcm9wZXJ0eShrKSkge1xuICAgICAgICBtYWNoaW5lU3RhdHVzQWN0aW9ucy5zZXRTb2Z0S2V5U3RhdHVzKHN0b3JlLCBzdGF0dXNba10gYXMgU29mdEtleU1vZGVsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIHByaXZhdGUgc3RhdGljIGhlYWRzRGF0YUNoYW5nZWQoc3RhdHVzKSB7XG4gICAgY29uc29sZS5sb2coXCJoZWFkc1wiLCBzdGF0dXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb25hbGl0eURhdGEoc3RhdHVzKSB7XG4gICAgbWFjaGluZVN0YXR1c0FjdGlvbnMuc2V0U2VjdXJpdHlGdW5jdGlvbihzdG9yZSwgc3RhdHVzKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGV4cGlyZWRNYWludGVuYW5jZXMoc3RhdHVzKSB7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBzdGF0dXMpIHtcbiAgICAgIGlmIChzdGF0dXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gc3RhdHVzW2tleV07XG4gICAgICAgIGFsYXJtc01vZGVsQWN0aW9ucy5hZGRTZXJ2aWNlQWxhcm0oc3RvcmUsIHsgZ3VpZDogXCJtYWludF9cIiArIGVsZW1lbnQuSWQsIGlkOiBlbGVtZW50LklkLCBkYXRlVGltZTogbmV3IERhdGUoZWxlbWVudC5FeHBpcmF0aW9uRGF0ZSkgfSBhcyBhbnkpXG4gICAgICB9XG4gICAgfVxuICAgIGFsYXJtc01vZGVsQWN0aW9ucy5jaGVja1JlbW92ZVNlcnZpY2VBbGFybShzdG9yZSwgc3RhdHVzLm1hcChpID0+IFwibWFpbnRfXCIgKyBpLklkKSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBtYW5hZ2VQcm9jZXNzZXMoc3RhdHVzOiBzaWduYWxyX3Byb2Nlc3MuRFRPUHJvY2Vzc0RhdGFNb2RlbCkge1xuICAgIGNvbnNvbGUuZGVidWcoc3RhdHVzKTtcbiAgICBpZiAoc3RhdHVzKSB7XG4gICAgICBwcm9jZXNzTW9kZWxBY3Rpb25zLmlzUnVubmluZyhzdG9yZSwgc3RhdHVzLmlzUnVubmluZyk7XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IGluIHN0YXR1cy5wcm9jZXNzZXMpIHtcbiAgICAgICAgaWYgKHN0YXR1cy5wcm9jZXNzZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBzdGF0dXMucHJvY2Vzc2VzW2tleV07XG4gICAgICAgICAgcHJvY2Vzc01vZGVsQWN0aW9ucy5hZGRQcm9jZXNzKHN0b3JlLCBlbGVtZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwcm9jZXNzTW9kZWxBY3Rpb25zLmNoZWNrUmVtb3ZlKHN0b3JlLCBzdGF0dXMucHJvY2Vzc2VzLm1hcChpID0+IGkuSWQpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBtYW5hZ2VOY1N0YXR1cyhzdGF0dXMpIHtcblxuICAgIGlmIChIdWIuX25jQ29ubmVjdGlvbk5vdGlmaWNhdGlvblZpc2libGUgJiYgc3RhdHVzLmNvbm5lY3RlZCkge1xuICAgICAgbWFjaGluZVN0YXR1c0FjdGlvbnMuc2V0TmNDb25uZWN0aW9uU3RhdHVzKHN0b3JlLCBzdGF0dXMuY29ubmVjdGVkKTtcbiAgICAgIHZhciB0b2FzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNuY0Nvbm5lY3Rpb24nKSBhcyBhbnk7XG4gICAgICAoaXppVG9hc3QgYXMgYW55KS5oaWRlKHRvYXN0KTtcbiAgICAgIG5ldyBtYWNoaW5lU2VydmljZSgpLmdldE1hY2hpbmVDTkluZm8oKTtcbiAgICAgIEh1Yi5fbmNDb25uZWN0aW9uTm90aWZpY2F0aW9uVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgRmFjdG9yeS5HZXQoTWVzc2FnZVNlcnZpY2UpLnB1Ymxpc2hUb0NoYW5uZWwoXCJmb3JjZS11aS11cGRhdGVcIiwgbnVsbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFIdWIuX25jQ29ubmVjdGlvbk5vdGlmaWNhdGlvblZpc2libGUgJiYgIXN0YXR1cy5jb25uZWN0ZWQpIHtcbiAgICAgIG1hY2hpbmVTdGF0dXNBY3Rpb25zLnNldE5jQ29ubmVjdGlvblN0YXR1cyhzdG9yZSwgc3RhdHVzLmNvbm5lY3RlZCk7XG4gICAgICBpemlUb2FzdC53YXJuaW5nKHtcbiAgICAgICAgaWQ6IFwibmNDb25uZWN0aW9uXCIsIHRpbWVvdXQ6IGZhbHNlLCB0b2FzdE9uY2U6IHRydWUsIHRoZW1lOiBcImRhcmtcIiwgdGl0bGU6IFwibmMgb2ZmbGluZVwiLCBjbG9zZTogZmFsc2UsIGNsb3NlT25Fc2NhcGU6IGZhbHNlLCBkcmFnOiBmYWxzZVxuICAgICAgfSBhcyBJemlUb2FzdFNldHRpbmdzKTtcbiAgICAgIEh1Yi5fbmNDb25uZWN0aW9uTm90aWZpY2F0aW9uVmlzaWJsZSA9IHRydWU7XG5cbiAgICAgIGFsYXJtc01vZGVsQWN0aW9ucy5yZW1vdmVBbGxBbGFybXMoc3RvcmUpO1xuICAgICAgcHJvY2Vzc01vZGVsQWN0aW9ucy5pc1J1bm5pbmcoc3RvcmUsIGZhbHNlKTtcbiAgICAgIEZhY3RvcnkuR2V0KE1lc3NhZ2VTZXJ2aWNlKS5wdWJsaXNoVG9DaGFubmVsKFwiZm9yY2UtdWktdXBkYXRlXCIsIG51bGwpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICgoc3RvcmUuc3RhdGUgYXMgQXBwTW9kZWwpLm1hY2hpbmVTdGF0dXMubmNSZWFkeSAhPSBzdGF0dXMuY29ubmVjdGVkKSB7XG4gICAgICBtYWNoaW5lU3RhdHVzQWN0aW9ucy5zZXROY0Nvbm5lY3Rpb25TdGF0dXMoc3RvcmUsIHN0YXR1cy5jb25uZWN0ZWQpO1xuICAgICAgRmFjdG9yeS5HZXQoTWVzc2FnZVNlcnZpY2UpLnB1Ymxpc2hUb0NoYW5uZWwoXCJmb3JjZS11aS11cGRhdGVcIiwgbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtYW5hZ2VBbGFybXNDYWxsYmFja3MoYWxhcm1zOiBzaWduYWxyX2FsYXJtcy5hbGFybU1lc3NhZ2UpIHtcblxuICAgIHJlY2FsY0FycmF5SWQoXCJjblwiLCBhbGFybXMuTmNBbGFybXMpO1xuICAgIHJlY2FsY0FycmF5SWQoXCJwbGNcIiwgYWxhcm1zLlBsY0FsYXJtcyk7XG4gICAgcmVjYWxjQXJyYXlJZChcImNuXCIsIGFsYXJtcy5Qcm9jZXNzQWxhcm1zKTtcblxuICAgIGxldCB0ZW1wTGlzdCA9IGFsYXJtcy5OY0FsYXJtcy5jb25jYXQoYWxhcm1zLlBsY0FsYXJtcykuY29uY2F0KGFsYXJtcy5Qcm9jZXNzQWxhcm1zKTtcblxuICAgIGZvciAoY29uc3Qga2V5IGluIHRlbXBMaXN0KSB7XG4gICAgICBpZiAodGVtcExpc3QuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGVtcExpc3Rba2V5XTtcblxuICAgICAgICBpZiAoZWxlbWVudC5pc1dhcm5pbmcpXG4gICAgICAgICAgYWxhcm1zTW9kZWxBY3Rpb25zLmFkZFdhcm5pbmcoc3RvcmUsIGVsZW1lbnQpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgYWxhcm1zTW9kZWxBY3Rpb25zLmFkZEFsYXJtKHN0b3JlLCBlbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhbGFybXNNb2RlbEFjdGlvbnMuY2hlY2tSZW1vdmUoc3RvcmUsIHRlbXBMaXN0Lm1hcChpID0+IGkuZ3VpZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBtYW5hZ2VQb3dlckNhbGxiYWNrcyhwb3dlcjogc2lnbmFscl9hbGFybXMucG93ZXJNZXNzYWdlKSB7XG5cblxuXG4gICAgbWFjaGluZVN0YXR1c0FjdGlvbnMuc2V0UmVzZXRBeGVzKHN0b3JlLCB7IHJlc2V0OiBwb3dlci5BeGlzUmVzZXQuSXNBY3RpdmUsIHByb2dyZXNzOiBwb3dlci5BeGlzUmVzZXQuUGVyY2VudGFnZSB9KTtcblxuICAgIC8vIFByZS1wb3dlciBvblxuICAgIG1hY2hpbmVTdGF0dXNBY3Rpb25zLnNldEFpclByZXNzdXJlQWxhcm0oc3RvcmUsIHBvd2VyLlByZVBvd2VyT24uQWlyUHJlc3N1cmUpO1xuICAgIG1hY2hpbmVTdGF0dXNBY3Rpb25zLnNldFBvd2VyQWxhcm0oc3RvcmUsIHBvd2VyLlByZVBvd2VyT24uUG93ZXJPbik7XG4gICAgbWFjaGluZVN0YXR1c0FjdGlvbnMuc2V0RW1lcmdlbmN5QWxhcm0oc3RvcmUsIHBvd2VyLlByZVBvd2VyT24uRW1lcmdlbmN5QnV0dG9ucyk7XG4gICAgbWFjaGluZVN0YXR1c0FjdGlvbnMuc2V0UHJvdGVjdGlvbnNBbGFybShzdG9yZSwgcG93ZXIuUHJlUG93ZXJPbi5Qcm90ZWN0aW9uU3RhdHVzKTtcbiAgICBtYWNoaW5lU3RhdHVzQWN0aW9ucy5zZXRTZXR0aW5nc01vZGVBbGFybShzdG9yZSwgcG93ZXIuUHJlUG93ZXJPbi5TZXR0aW5nTW9kZSk7XG4gICAgbWFjaGluZVN0YXR1c0FjdGlvbnMuc2V0S2V5UmVhZHlBbGFybShzdG9yZSwgcG93ZXIuUHJlUG93ZXJPbi5TdGFydGluZ0tleSk7XG5cbiAgICAvLyBQb3N0LXBvd2VyIG9uXG4gICAgbWFjaGluZVN0YXR1c0FjdGlvbnMuc2V0UmVzZXRBeGVzQWxhcm0oc3RvcmUsIHBvd2VyLlBvc3RQb3dlck9uLkF4aXNSZXNldCk7XG4gICAgbWFjaGluZVN0YXR1c0FjdGlvbnMuc2V0V2F0ZXJKZXQxQWxhcm0oc3RvcmUsIHBvd2VyLlBvc3RQb3dlck9uLldhdGVyamV0UHVtcCk7XG4gIH1cblxuICBfYXhlc1Zpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBjaGVja1Nob3dBeGVzKCkge1xuICAgIGxldCBtZSA9IHRoaXM7XG5cbiAgICBmdW5jdGlvbiBjaGVjayhyZXNldHRpbmdBeGVzKSB7XG4gICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmIChyZXNldHRpbmdBeGVzICYmICFtZS5fYXhlc1Zpc2libGUpIHtcbiAgICAgICAgICBGYWN0b3J5LkdldChNZXNzYWdlU2VydmljZSkucHVibGlzaFRvQ2hhbm5lbChcInNob3ctYXhlcy1jYWxpYnJhdGlvblwiKTtcbiAgICAgICAgICBtZS5fYXhlc1Zpc2libGUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCFyZXNldHRpbmdBeGVzICYmIG1lLl9heGVzVmlzaWJsZSkge1xuICAgICAgICAgIE1vZGFsSGVscGVyLkhpZGVNb2RhbCgpO1xuICAgICAgICAgIG1lLl9heGVzVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9LCA1MDApO1xuICAgIH1cblxuICAgIHN0b3JlLndhdGNoKHMgPT4gKHMgYXMgQXBwTW9kZWwpLm1hY2hpbmVTdGF0dXMucmVzZXRBeGVzLCAobiwgbykgPT4ge1xuICAgICAgaWYgKCEoc3RvcmUuc3RhdGUgYXMgQXBwTW9kZWwpLmN1cnJlbnRVc2VyKSByZXR1cm47XG4gICAgICBjaGVjayhuKVxuICAgIH0pO1xuXG4gICAgc3RvcmUud2F0Y2gocyA9PiAocyBhcyBBcHBNb2RlbCkuY3VycmVudFVzZXIsIChuLCBvKSA9PiB7XG4gICAgICBpZiAobiAmJiAoc3RvcmUuc3RhdGUgYXMgQXBwTW9kZWwpLm1hY2hpbmVTdGF0dXMucmVzZXRBeGVzKSBjaGVjaygoc3RvcmUuc3RhdGUgYXMgQXBwTW9kZWwpLm1hY2hpbmVTdGF0dXMucmVzZXRBeGVzKTtcbiAgICB9KVxuICB9XG5cbiAgcHVibGljIHNlbmRQb3dlckNvbW1hbmQoaWQ6IG51bWJlcikge1xuICAgIHRoaXMuX2h1Yi5zZXJ2ZXIucHV0UG93ZXJPbkRhdGEoaWQpO1xuICB9XG5cbiAgcHVibGljIFJlZnJlc2hBbGFybShpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5faHViLnNlcnZlci5yZWZyZXNoQWxhcm0oaWQpO1xuICB9XG5cbiAgcHVibGljIFJlZnJlc2hBbGxBbGFybXMoKSB7XG4gICAgdGhpcy5faHViLnNlcnZlci5yZWZyZXNoQWxsQWxhcm1zKCk7XG4gIH1cblxuICBwdWJsaWMgUmVjb3ZlcnlQcm9jZWR1cmUoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuX2h1Yi5zZXJ2ZXIucmVjb3ZlcnlQcm9jZWR1cmUoaWQpO1xuICB9XG5cbiAgcHVibGljIHNlbmRVc2VyU29mdEtleShpZDogbnVtYmVyKSB7XG4gICAgdGhpcy5faHViLnNlcnZlci51c2VyU29mdEtleUNsaWNrKGlkKTtcbiAgfVxuXG4gIHB1YmxpYyBuY1NvZnRLZXlDbGljayhpZDogbnVtYmVyKSB7XG4gICAgdGhpcy5faHViLnNlcnZlci5uY1NvZnRLZXlDbGljayhpZCk7XG4gIH1cblxuICBwdWJsaWMgSGVsbG8oKSB7XG4gICAgdGhpcy5faHViLnNlcnZlci5oZWxsbygpO1xuICB9XG59XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9zcmMvc2VydmljZXMvaHViLnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQ0E7OztBQU1BO0FBQUE7QUFBQTs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFrQkE7QUFpS0E7QUFoS0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBR0E7QUFFQTtBQUdBO0FBR0E7QUFFQTtBQUNBO0FBNUNBO0FBQUE7QUFFQTtBQUVBO0FBQ0E7O0FBQUE7O0FBRUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBdUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFEQTtBQUdBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFJQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUlBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBdE9BO0FBdU9BO0FBek9BO0FBQUEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///76\n");
+eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Hub = undefined;\n\nvar _store = __webpack_require__(19);\n\nvar _izitoast = __webpack_require__(111);\n\nvar _izitoast2 = _interopRequireDefault(_izitoast);\n\nvar _base = __webpack_require__(14);\n\nvar _runningProcess = __webpack_require__(108);\n\nvar _machineService = __webpack_require__(80);\n\nvar _baseComponents = __webpack_require__(50);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction recalcArrayId(prefix, alarms, processid) {\n if (processid === void 0) {\n processid = 0;\n }\n for (var key in alarms) {\n if (alarms.hasOwnProperty(key)) {\n var element = alarms[key];\n element.guid = prefix + \"__\" + (element.id || element.Id).toString();\n element.source = prefix.toUpperCase();\n }\n }\n}\nvar Hub = /** @class */function () {\n function Hub() {\n this._axesVisible = false;\n Hub._current = this;\n this._hub = $.connection.ncHub;\n // Registro le callback;\n this._hub.client.alarms = this.manageAlarmsCallbacks;\n this._hub.client.powerOn = this.managePowerCallbacks;\n this._hub.client.ncNetworkStatus = Hub.manageNcStatus;\n this._hub.client.processesData = Hub.manageProcesses;\n this._hub.client.functionalityData = Hub.functionalityData;\n this._hub.client.expiredMaintenances = Hub.expiredMaintenances;\n this._hub.client.ncSoftKeys = Hub.ncSoftKeyChanged;\n this._hub.client.ncSoftKeys = Hub.userSoftKeyChanged;\n this._hub.client.headsData = Hub.headsDataChanged;\n this._hub.client.logout = this.logout;\n // Token per signalr agganciato in modo esplicito\n var authData = JSON.parse(window.sessionStorage.getItem(\"authorizationData\") || window.localStorage.getItem(\"authorizationData\"));\n $.connection.hub.qs = {};\n if (authData) $.connection.hub.qs.Authorization = authData.access_token;\n if (typeof cmsClient != \"undefined\") $.connection.hub.qs.CmsClientId = cmsClient.getClientID;\n $.connection.hub.start();\n this.checkShowAxes();\n }\n Object.defineProperty(Hub, \"Current\", {\n get: function get() {\n if (!Hub._current) new Hub();\n return Hub._current;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Hub.prototype, \"InternalSignalRChannel\", {\n get: function get() {\n return this._hub;\n },\n enumerable: true,\n configurable: true\n });\n Hub.prototype.logout = function (e) {\n if (e) _store.appModelActions.CheckLogoff(_store.store, e.id);\n };\n Hub.ncSoftKeyChanged = function (status) {\n console.log(status);\n };\n Hub.userSoftKeyChanged = function (status) {\n for (var k in status) {\n if (status.hasOwnProperty(k)) {\n _store.machineStatusActions.setSoftKeyStatus(_store.store, status[k]);\n }\n }\n };\n Hub.headsDataChanged = function (status) {\n console.log(\"heads\", status);\n };\n Hub.functionalityData = function (status) {\n _store.machineStatusActions.setSecurityFunction(_store.store, status);\n };\n Hub.expiredMaintenances = function (status) {\n for (var key in status) {\n if (status.hasOwnProperty(key)) {\n var element = status[key];\n _store.alarmsModelActions.addServiceAlarm(_store.store, { guid: \"maint_\" + element.Id, id: element.Id, dateTime: new Date(element.ExpirationDate) });\n }\n }\n _store.alarmsModelActions.checkRemoveServiceAlarm(_store.store, status.map(function (i) {\n return \"maint_\" + i.Id;\n }));\n };\n Hub.manageProcesses = function (status) {\n console.debug(status);\n if (status) {\n _runningProcess.processModelActions.isRunning(_store.store, status.isRunning);\n for (var key in status.processes) {\n if (status.processes.hasOwnProperty(key)) {\n var element = status.processes[key];\n _runningProcess.processModelActions.addProcess(_store.store, element);\n }\n }\n _runningProcess.processModelActions.checkRemove(_store.store, status.processes.map(function (i) {\n return i.Id;\n }));\n }\n };\n Hub.manageNcStatus = function (status) {\n if (Hub._ncConnectionNotificationVisible && status.connected) {\n _store.machineStatusActions.setNcConnectionStatus(_store.store, status.connected);\n var toast = document.querySelector('#ncConnection');\n _izitoast2.default.hide(toast);\n new _machineService.machineService().getMachineCNInfo();\n Hub._ncConnectionNotificationVisible = false;\n _base.Factory.Get(_base.MessageService).publishToChannel(\"force-ui-update\", null);\n return;\n }\n if (!Hub._ncConnectionNotificationVisible && !status.connected) {\n _store.machineStatusActions.setNcConnectionStatus(_store.store, status.connected);\n _izitoast2.default.warning({\n id: \"ncConnection\", timeout: false, toastOnce: true, theme: \"dark\", title: \"nc offline\", close: false, closeOnEscape: false, drag: false\n });\n Hub._ncConnectionNotificationVisible = true;\n _store.alarmsModelActions.removeAllAlarms(_store.store);\n _runningProcess.processModelActions.isRunning(_store.store, false);\n _base.Factory.Get(_base.MessageService).publishToChannel(\"force-ui-update\", null);\n return;\n }\n if (_store.store.state.machineStatus.ncReady != status.connected) {\n _store.machineStatusActions.setNcConnectionStatus(_store.store, status.connected);\n _base.Factory.Get(_base.MessageService).publishToChannel(\"force-ui-update\", null);\n }\n };\n Hub.prototype.manageAlarmsCallbacks = function (alarms) {\n recalcArrayId(\"cn\", alarms.NcAlarms);\n recalcArrayId(\"plc\", alarms.PlcAlarms);\n recalcArrayId(\"cn\", alarms.ProcessAlarms);\n var tempList = alarms.NcAlarms.concat(alarms.PlcAlarms).concat(alarms.ProcessAlarms);\n for (var key in tempList) {\n if (tempList.hasOwnProperty(key)) {\n var element = tempList[key];\n if (element.isWarning) _store.alarmsModelActions.addWarning(_store.store, element);else _store.alarmsModelActions.addAlarm(_store.store, element);\n }\n }\n _store.alarmsModelActions.checkRemove(_store.store, tempList.map(function (i) {\n return i.guid;\n }));\n };\n Hub.prototype.managePowerCallbacks = function (power) {\n _store.machineStatusActions.setResetAxes(_store.store, { reset: power.AxisReset.IsActive, progress: power.AxisReset.Percentage });\n // Pre-power on\n _store.machineStatusActions.setAirPressureAlarm(_store.store, power.PrePowerOn.AirPressure);\n _store.machineStatusActions.setPowerAlarm(_store.store, power.PrePowerOn.PowerOn);\n _store.machineStatusActions.setEmergencyAlarm(_store.store, power.PrePowerOn.EmergencyButtons);\n _store.machineStatusActions.setProtectionsAlarm(_store.store, power.PrePowerOn.ProtectionStatus);\n _store.machineStatusActions.setSettingsModeAlarm(_store.store, power.PrePowerOn.SettingMode);\n _store.machineStatusActions.setKeyReadyAlarm(_store.store, power.PrePowerOn.StartingKey);\n // Post-power on\n _store.machineStatusActions.setResetAxesAlarm(_store.store, power.PostPowerOn.AxisReset);\n _store.machineStatusActions.setWaterJet1Alarm(_store.store, power.PostPowerOn.WaterjetPump);\n };\n Hub.prototype.checkShowAxes = function () {\n var me = this;\n function check(resettingAxes) {\n window.setTimeout(function () {\n if (resettingAxes && !me._axesVisible) {\n _base.Factory.Get(_base.MessageService).publishToChannel(\"show-axes-calibration\");\n me._axesVisible = true;\n } else if (!resettingAxes && me._axesVisible) {\n _baseComponents.ModalHelper.HideModal();\n me._axesVisible = false;\n }\n }, 500);\n }\n _store.store.watch(function (s) {\n return s.machineStatus.resetAxes;\n }, function (n, o) {\n if (!_store.store.state.currentUser) return;\n check(n);\n });\n _store.store.watch(function (s) {\n return s.currentUser;\n }, function (n, o) {\n if (n && _store.store.state.machineStatus.resetAxes) check(_store.store.state.machineStatus.resetAxes);\n });\n };\n Hub.prototype.sendPowerCommand = function (id) {\n this._hub.server.putPowerOnData(id);\n };\n Hub.prototype.RefreshAlarm = function (id) {\n this._hub.server.refreshAlarm(id);\n };\n Hub.prototype.RefreshAllAlarms = function () {\n this._hub.server.refreshAllAlarms();\n };\n Hub.prototype.RecoveryProcedure = function (id) {\n this._hub.server.recoveryProcedure(id);\n };\n Hub.prototype.sendUserSoftKey = function (id) {\n this._hub.server.userSoftKeyClick(id);\n };\n Hub.prototype.ncSoftKeyClick = function (id) {\n this._hub.server.ncSoftKeyClick(id);\n };\n Hub.prototype.Hello = function () {\n this._hub.server.hello();\n };\n Hub._ncConnectionNotificationVisible = false;\n return Hub;\n}();\nexports.Hub = Hub;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiNzYuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvc2VydmljZXMvaHViLnRzP2M4YjAiXSwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IEFsYXJtc01vZGVsQWN0aW9uc0ludGVyZmFjZSB9IGZyb20gXCIuLi9zdG9yZS9hbGFybXMuc3RvcmVcIlxyXG5cclxuaW1wb3J0IHsgc3RvcmUsIGFsYXJtc01vZGVsQWN0aW9ucywgbWFjaGluZVN0YXR1c0FjdGlvbnMsIG1hY2hpbmVJbmZvQWN0aW9ucywgQXBwTW9kZWwsIGFwcE1vZGVsQWN0aW9ucyB9IGZyb20gXCJzcmMvc3RvcmVcIjtcclxuaW1wb3J0IHsgYWxhcm1EZXRhaWwgfSBmcm9tIFwic3JjL21vZHVsZXMvYWxhcm1zXCI7XHJcbmltcG9ydCBpemlUb2FzdCwgeyBJemlUb2FzdFNldHRpbmdzIH0gZnJvbSBcIml6aXRvYXN0XCI7XHJcbmltcG9ydCB7IEZhY3RvcnksIE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInNyYy9fYmFzZVwiO1xyXG5pbXBvcnQgeyBzaWduYWxyX2FsYXJtcyB9IGZyb20gXCJzcmMvQHR5cGVzL3NpZ25hbHIuYWxhcm1zXCI7XHJcbmltcG9ydCB7IHByb2Nlc3NNb2RlbEFjdGlvbnMgfSBmcm9tIFwic3JjL3N0b3JlL3J1bm5pbmdQcm9jZXNzLnN0b3JlXCI7XHJcbmltcG9ydCB7IG1hY2hpbmVTZXJ2aWNlIH0gZnJvbSBcInNyYy9zZXJ2aWNlcy9tYWNoaW5lU2VydmljZVwiO1xyXG5pbXBvcnQgeyBNb2RhbEhlbHBlciB9IGZyb20gXCIuLi9tb2R1bGVzL2Jhc2UtY29tcG9uZW50c1wiO1xyXG5pbXBvcnQgeyBBdXRoVG9rZW4gfSBmcm9tIFwic3JjL19iYXNlL2Jhc2VSZXN0U2VydmljZVwiO1xyXG5pbXBvcnQgeyBTb2Z0S2V5TW9kZWwgfSBmcm9tIFwiLi4vc3RvcmUvbWFjaGluZVN0YXR1cy5zdG9yZVwiO1xyXG5cclxuZGVjbGFyZSBsZXQgJDogYW55O1xyXG5kZWNsYXJlIGxldCBjbXNDbGllbnQ6IGFueTtcclxuXHJcbmZ1bmN0aW9uIHJlY2FsY0FycmF5SWQocHJlZml4OiBzdHJpbmcsIGFsYXJtczogQXJyYXk8c2lnbmFscl9hbGFybXMuZ2VuZXJpY0FsYXJtPiwgcHJvY2Vzc2lkOiBudW1iZXIgPSAwKSB7XHJcbiAgZm9yIChjb25zdCBrZXkgaW4gYWxhcm1zKSB7XHJcbiAgICBpZiAoYWxhcm1zLmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgY29uc3QgZWxlbWVudCA9IGFsYXJtc1trZXldO1xyXG4gICAgICBlbGVtZW50Lmd1aWQgPSBwcmVmaXggKyBcIl9fXCIgKyAoZWxlbWVudC5pZCB8fCBlbGVtZW50LklkKS50b1N0cmluZygpO1xyXG4gICAgICBlbGVtZW50LnNvdXJjZSA9IHByZWZpeC50b1VwcGVyQ2FzZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEh1YiB7XHJcblxyXG4gIHN0YXRpYyBfbmNDb25uZWN0aW9uTm90aWZpY2F0aW9uVmlzaWJsZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gIC8vIHNpbmdsZXRvbiBodWIgaW1wbGVtZW50YXRpb25cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2N1cnJlbnQ6IEh1YjtcclxuICBzdGF0aWMgZ2V0IEN1cnJlbnQoKTogSHViIHtcclxuXHJcbiAgICBpZiAoIUh1Yi5fY3VycmVudCkgbmV3IEh1YigpO1xyXG5cclxuICAgIHJldHVybiBIdWIuX2N1cnJlbnQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IEludGVybmFsU2lnbmFsUkNoYW5uZWwoKTogYW55IHsgcmV0dXJuIHRoaXMuX2h1YjsgfVxyXG4gIHByaXZhdGUgX2h1YjogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIEh1Yi5fY3VycmVudCA9IHRoaXM7XHJcblxyXG4gICAgdGhpcy5faHViID0gJC5jb25uZWN0aW9uLm5jSHViO1xyXG5cclxuICAgIC8vIFJlZ2lzdHJvIGxlIGNhbGxiYWNrO1xyXG4gICAgdGhpcy5faHViLmNsaWVudC5hbGFybXMgPSB0aGlzLm1hbmFnZUFsYXJtc0NhbGxiYWNrcztcclxuICAgIHRoaXMuX2h1Yi5jbGllbnQucG93ZXJPbiA9IHRoaXMubWFuYWdlUG93ZXJDYWxsYmFja3M7XHJcbiAgICB0aGlzLl9odWIuY2xpZW50Lm5jTmV0d29ya1N0YXR1cyA9IEh1Yi5tYW5hZ2VOY1N0YXR1cztcclxuICAgIHRoaXMuX2h1Yi5jbGllbnQucHJvY2Vzc2VzRGF0YSA9IEh1Yi5tYW5hZ2VQcm9jZXNzZXM7XHJcbiAgICB0aGlzLl9odWIuY2xpZW50LmZ1bmN0aW9uYWxpdHlEYXRhID0gSHViLmZ1bmN0aW9uYWxpdHlEYXRhO1xyXG4gICAgdGhpcy5faHViLmNsaWVudC5leHBpcmVkTWFpbnRlbmFuY2VzID0gSHViLmV4cGlyZWRNYWludGVuYW5jZXM7XHJcblxyXG4gICAgdGhpcy5faHViLmNsaWVudC5uY1NvZnRLZXlzID0gSHViLm5jU29mdEtleUNoYW5nZWQ7XHJcbiAgICB0aGlzLl9odWIuY2xpZW50Lm5jU29mdEtleXMgPSBIdWIudXNlclNvZnRLZXlDaGFuZ2VkO1xyXG4gICAgdGhpcy5faHViLmNsaWVudC5oZWFkc0RhdGEgPSBIdWIuaGVhZHNEYXRhQ2hhbmdlZDtcclxuXHJcbiAgICB0aGlzLl9odWIuY2xpZW50LmxvZ291dCA9IHRoaXMubG9nb3V0O1xyXG5cclxuICAgIC8vIFRva2VuIHBlciBzaWduYWxyIGFnZ2FuY2lhdG8gaW4gbW9kbyBlc3BsaWNpdG9cclxuICAgIGxldCBhdXRoRGF0YSA9IEpTT04ucGFyc2Uod2luZG93LnNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJhdXRob3JpemF0aW9uRGF0YVwiKSB8fCB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJhdXRob3JpemF0aW9uRGF0YVwiKSkgYXMgQXV0aFRva2VuO1xyXG5cclxuXHJcbiAgICAkLmNvbm5lY3Rpb24uaHViLnFzID0ge307XHJcblxyXG4gICAgaWYgKGF1dGhEYXRhKVxyXG4gICAgICAkLmNvbm5lY3Rpb24uaHViLnFzLkF1dGhvcml6YXRpb24gPSBhdXRoRGF0YS5hY2Nlc3NfdG9rZW47XHJcblxyXG4gICAgaWYgKHR5cGVvZiBjbXNDbGllbnQgIT0gXCJ1bmRlZmluZWRcIilcclxuICAgICAgJC5jb25uZWN0aW9uLmh1Yi5xcy5DbXNDbGllbnRJZCA9IGNtc0NsaWVudC5nZXRDbGllbnRJRDtcclxuXHJcbiAgICAkLmNvbm5lY3Rpb24uaHViLnN0YXJ0KCk7XHJcblxyXG4gICAgdGhpcy5jaGVja1Nob3dBeGVzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvZ291dChlKSB7XHJcbiAgICBpZiAoZSlcclxuICAgICAgYXBwTW9kZWxBY3Rpb25zLkNoZWNrTG9nb2ZmKHN0b3JlLCBlLmlkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIG5jU29mdEtleUNoYW5nZWQoc3RhdHVzKSB7XHJcbiAgICBjb25zb2xlLmxvZyhzdGF0dXMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgdXNlclNvZnRLZXlDaGFuZ2VkKHN0YXR1cykge1xyXG4gICAgZm9yIChjb25zdCBrIGluIHN0YXR1cykge1xyXG4gICAgICBpZiAoc3RhdHVzLmhhc093blByb3BlcnR5KGspKSB7XHJcbiAgICAgICAgbWFjaGluZVN0YXR1c0FjdGlvbnMuc2V0U29mdEtleVN0YXR1cyhzdG9yZSwgc3RhdHVzW2tdIGFzIFNvZnRLZXlNb2RlbCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBoZWFkc0RhdGFDaGFuZ2VkKHN0YXR1cykge1xyXG4gICAgY29uc29sZS5sb2coXCJoZWFkc1wiLCBzdGF0dXMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb25hbGl0eURhdGEoc3RhdHVzKSB7XHJcbiAgICBtYWNoaW5lU3RhdHVzQWN0aW9ucy5zZXRTZWN1cml0eUZ1bmN0aW9uKHN0b3JlLCBzdGF0dXMpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgZXhwaXJlZE1haW50ZW5hbmNlcyhzdGF0dXMpIHtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBzdGF0dXMpIHtcclxuICAgICAgaWYgKHN0YXR1cy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHN0YXR1c1trZXldO1xyXG4gICAgICAgIGFsYXJtc01vZGVsQWN0aW9ucy5hZGRTZXJ2aWNlQWxhcm0oc3RvcmUsIHsgZ3VpZDogXCJtYWludF9cIiArIGVsZW1lbnQuSWQsIGlkOiBlbGVtZW50LklkLCBkYXRlVGltZTogbmV3IERhdGUoZWxlbWVudC5FeHBpcmF0aW9uRGF0ZSkgfSBhcyBhbnkpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGFsYXJtc01vZGVsQWN0aW9ucy5jaGVja1JlbW92ZVNlcnZpY2VBbGFybShzdG9yZSwgc3RhdHVzLm1hcChpID0+IFwibWFpbnRfXCIgKyBpLklkKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBtYW5hZ2VQcm9jZXNzZXMoc3RhdHVzOiBzaWduYWxyX3Byb2Nlc3MuRFRPUHJvY2Vzc0RhdGFNb2RlbCkge1xyXG4gICAgY29uc29sZS5kZWJ1ZyhzdGF0dXMpO1xyXG4gICAgaWYgKHN0YXR1cykge1xyXG4gICAgICBwcm9jZXNzTW9kZWxBY3Rpb25zLmlzUnVubmluZyhzdG9yZSwgc3RhdHVzLmlzUnVubmluZyk7XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiBzdGF0dXMucHJvY2Vzc2VzKSB7XHJcbiAgICAgICAgaWYgKHN0YXR1cy5wcm9jZXNzZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgY29uc3QgZWxlbWVudCA9IHN0YXR1cy5wcm9jZXNzZXNba2V5XTtcclxuICAgICAgICAgIHByb2Nlc3NNb2RlbEFjdGlvbnMuYWRkUHJvY2VzcyhzdG9yZSwgZWxlbWVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBwcm9jZXNzTW9kZWxBY3Rpb25zLmNoZWNrUmVtb3ZlKHN0b3JlLCBzdGF0dXMucHJvY2Vzc2VzLm1hcChpID0+IGkuSWQpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIG1hbmFnZU5jU3RhdHVzKHN0YXR1cykge1xyXG5cclxuICAgIGlmIChIdWIuX25jQ29ubmVjdGlvbk5vdGlmaWNhdGlvblZpc2libGUgJiYgc3RhdHVzLmNvbm5lY3RlZCkge1xyXG4gICAgICBtYWNoaW5lU3RhdHVzQWN0aW9ucy5zZXROY0Nvbm5lY3Rpb25TdGF0dXMoc3RvcmUsIHN0YXR1cy5jb25uZWN0ZWQpO1xyXG4gICAgICB2YXIgdG9hc3QgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjbmNDb25uZWN0aW9uJykgYXMgYW55O1xyXG4gICAgICAoaXppVG9hc3QgYXMgYW55KS5oaWRlKHRvYXN0KTtcclxuICAgICAgbmV3IG1hY2hpbmVTZXJ2aWNlKCkuZ2V0TWFjaGluZUNOSW5mbygpO1xyXG4gICAgICBIdWIuX25jQ29ubmVjdGlvbk5vdGlmaWNhdGlvblZpc2libGUgPSBmYWxzZTtcclxuICAgICAgRmFjdG9yeS5HZXQoTWVzc2FnZVNlcnZpY2UpLnB1Ymxpc2hUb0NoYW5uZWwoXCJmb3JjZS11aS11cGRhdGVcIiwgbnVsbCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIUh1Yi5fbmNDb25uZWN0aW9uTm90aWZpY2F0aW9uVmlzaWJsZSAmJiAhc3RhdHVzLmNvbm5lY3RlZCkge1xyXG4gICAgICBtYWNoaW5lU3RhdHVzQWN0aW9ucy5zZXROY0Nvbm5lY3Rpb25TdGF0dXMoc3RvcmUsIHN0YXR1cy5jb25uZWN0ZWQpO1xyXG4gICAgICBpemlUb2FzdC53YXJuaW5nKHtcclxuICAgICAgICBpZDogXCJuY0Nvbm5lY3Rpb25cIiwgdGltZW91dDogZmFsc2UsIHRvYXN0T25jZTogdHJ1ZSwgdGhlbWU6IFwiZGFya1wiLCB0aXRsZTogXCJuYyBvZmZsaW5lXCIsIGNsb3NlOiBmYWxzZSwgY2xvc2VPbkVzY2FwZTogZmFsc2UsIGRyYWc6IGZhbHNlXHJcbiAgICAgIH0gYXMgSXppVG9hc3RTZXR0aW5ncyk7XHJcbiAgICAgIEh1Yi5fbmNDb25uZWN0aW9uTm90aWZpY2F0aW9uVmlzaWJsZSA9IHRydWU7XHJcblxyXG4gICAgICBhbGFybXNNb2RlbEFjdGlvbnMucmVtb3ZlQWxsQWxhcm1zKHN0b3JlKTtcclxuICAgICAgcHJvY2Vzc01vZGVsQWN0aW9ucy5pc1J1bm5pbmcoc3RvcmUsIGZhbHNlKTtcclxuICAgICAgRmFjdG9yeS5HZXQoTWVzc2FnZVNlcnZpY2UpLnB1Ymxpc2hUb0NoYW5uZWwoXCJmb3JjZS11aS11cGRhdGVcIiwgbnVsbCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoKHN0b3JlLnN0YXRlIGFzIEFwcE1vZGVsKS5tYWNoaW5lU3RhdHVzLm5jUmVhZHkgIT0gc3RhdHVzLmNvbm5lY3RlZCkge1xyXG4gICAgICBtYWNoaW5lU3RhdHVzQWN0aW9ucy5zZXROY0Nvbm5lY3Rpb25TdGF0dXMoc3RvcmUsIHN0YXR1cy5jb25uZWN0ZWQpO1xyXG4gICAgICBGYWN0b3J5LkdldChNZXNzYWdlU2VydmljZSkucHVibGlzaFRvQ2hhbm5lbChcImZvcmNlLXVpLXVwZGF0ZVwiLCBudWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbWFuYWdlQWxhcm1zQ2FsbGJhY2tzKGFsYXJtczogc2lnbmFscl9hbGFybXMuYWxhcm1NZXNzYWdlKSB7XHJcblxyXG4gICAgcmVjYWxjQXJyYXlJZChcImNuXCIsIGFsYXJtcy5OY0FsYXJtcyk7XHJcbiAgICByZWNhbGNBcnJheUlkKFwicGxjXCIsIGFsYXJtcy5QbGNBbGFybXMpO1xyXG4gICAgcmVjYWxjQXJyYXlJZChcImNuXCIsIGFsYXJtcy5Qcm9jZXNzQWxhcm1zKTtcclxuXHJcbiAgICBsZXQgdGVtcExpc3QgPSBhbGFybXMuTmNBbGFybXMuY29uY2F0KGFsYXJtcy5QbGNBbGFybXMpLmNvbmNhdChhbGFybXMuUHJvY2Vzc0FsYXJtcyk7XHJcblxyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGVtcExpc3QpIHtcclxuICAgICAgaWYgKHRlbXBMaXN0Lmhhc093blByb3BlcnR5KGtleSkpIHtcclxuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGVtcExpc3Rba2V5XTtcclxuXHJcbiAgICAgICAgaWYgKGVsZW1lbnQuaXNXYXJuaW5nKVxyXG4gICAgICAgICAgYWxhcm1zTW9kZWxBY3Rpb25zLmFkZFdhcm5pbmcoc3RvcmUsIGVsZW1lbnQpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIGFsYXJtc01vZGVsQWN0aW9ucy5hZGRBbGFybShzdG9yZSwgZWxlbWVudCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhbGFybXNNb2RlbEFjdGlvbnMuY2hlY2tSZW1vdmUoc3RvcmUsIHRlbXBMaXN0Lm1hcChpID0+IGkuZ3VpZCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBtYW5hZ2VQb3dlckNhbGxiYWNrcyhwb3dlcjogc2lnbmFscl9hbGFybXMucG93ZXJNZXNzYWdlKSB7XHJcblxyXG5cclxuXHJcbiAgICBtYWNoaW5lU3RhdHVzQWN0aW9ucy5zZXRSZXNldEF4ZXMoc3RvcmUsIHsgcmVzZXQ6IHBvd2VyLkF4aXNSZXNldC5Jc0FjdGl2ZSwgcHJvZ3Jlc3M6IHBvd2VyLkF4aXNSZXNldC5QZXJjZW50YWdlIH0pO1xyXG5cclxuICAgIC8vIFByZS1wb3dlciBvblxyXG4gICAgbWFjaGluZVN0YXR1c0FjdGlvbnMuc2V0QWlyUHJlc3N1cmVBbGFybShzdG9yZSwgcG93ZXIuUHJlUG93ZXJPbi5BaXJQcmVzc3VyZSk7XHJcbiAgICBtYWNoaW5lU3RhdHVzQWN0aW9ucy5zZXRQb3dlckFsYXJtKHN0b3JlLCBwb3dlci5QcmVQb3dlck9uLlBvd2VyT24pO1xyXG4gICAgbWFjaGluZVN0YXR1c0FjdGlvbnMuc2V0RW1lcmdlbmN5QWxhcm0oc3RvcmUsIHBvd2VyLlByZVBvd2VyT24uRW1lcmdlbmN5QnV0dG9ucyk7XHJcbiAgICBtYWNoaW5lU3RhdHVzQWN0aW9ucy5zZXRQcm90ZWN0aW9uc0FsYXJtKHN0b3JlLCBwb3dlci5QcmVQb3dlck9uLlByb3RlY3Rpb25TdGF0dXMpO1xyXG4gICAgbWFjaGluZVN0YXR1c0FjdGlvbnMuc2V0U2V0dGluZ3NNb2RlQWxhcm0oc3RvcmUsIHBvd2VyLlByZVBvd2VyT24uU2V0dGluZ01vZGUpO1xyXG4gICAgbWFjaGluZVN0YXR1c0FjdGlvbnMuc2V0S2V5UmVhZHlBbGFybShzdG9yZSwgcG93ZXIuUHJlUG93ZXJPbi5TdGFydGluZ0tleSk7XHJcblxyXG4gICAgLy8gUG9zdC1wb3dlciBvblxyXG4gICAgbWFjaGluZVN0YXR1c0FjdGlvbnMuc2V0UmVzZXRBeGVzQWxhcm0oc3RvcmUsIHBvd2VyLlBvc3RQb3dlck9uLkF4aXNSZXNldCk7XHJcbiAgICBtYWNoaW5lU3RhdHVzQWN0aW9ucy5zZXRXYXRlckpldDFBbGFybShzdG9yZSwgcG93ZXIuUG9zdFBvd2VyT24uV2F0ZXJqZXRQdW1wKTtcclxuICB9XHJcblxyXG4gIF9heGVzVmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgY2hlY2tTaG93QXhlcygpIHtcclxuICAgIGxldCBtZSA9IHRoaXM7XHJcblxyXG4gICAgZnVuY3Rpb24gY2hlY2socmVzZXR0aW5nQXhlcykge1xyXG4gICAgICB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc2V0dGluZ0F4ZXMgJiYgIW1lLl9heGVzVmlzaWJsZSkge1xyXG4gICAgICAgICAgRmFjdG9yeS5HZXQoTWVzc2FnZVNlcnZpY2UpLnB1Ymxpc2hUb0NoYW5uZWwoXCJzaG93LWF4ZXMtY2FsaWJyYXRpb25cIik7XHJcbiAgICAgICAgICBtZS5fYXhlc1Zpc2libGUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICghcmVzZXR0aW5nQXhlcyAmJiBtZS5fYXhlc1Zpc2libGUpIHtcclxuICAgICAgICAgIE1vZGFsSGVscGVyLkhpZGVNb2RhbCgpO1xyXG4gICAgICAgICAgbWUuX2F4ZXNWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LCA1MDApO1xyXG4gICAgfVxyXG5cclxuICAgIHN0b3JlLndhdGNoKHMgPT4gKHMgYXMgQXBwTW9kZWwpLm1hY2hpbmVTdGF0dXMucmVzZXRBeGVzLCAobiwgbykgPT4ge1xyXG4gICAgICBpZiAoIShzdG9yZS5zdGF0ZSBhcyBBcHBNb2RlbCkuY3VycmVudFVzZXIpIHJldHVybjtcclxuICAgICAgY2hlY2sobilcclxuICAgIH0pO1xyXG5cclxuICAgIHN0b3JlLndhdGNoKHMgPT4gKHMgYXMgQXBwTW9kZWwpLmN1cnJlbnRVc2VyLCAobiwgbykgPT4ge1xyXG4gICAgICBpZiAobiAmJiAoc3RvcmUuc3RhdGUgYXMgQXBwTW9kZWwpLm1hY2hpbmVTdGF0dXMucmVzZXRBeGVzKSBjaGVjaygoc3RvcmUuc3RhdGUgYXMgQXBwTW9kZWwpLm1hY2hpbmVTdGF0dXMucmVzZXRBeGVzKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VuZFBvd2VyQ29tbWFuZChpZDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9odWIuc2VydmVyLnB1dFBvd2VyT25EYXRhKGlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZWZyZXNoQWxhcm0oaWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5faHViLnNlcnZlci5yZWZyZXNoQWxhcm0oaWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlZnJlc2hBbGxBbGFybXMoKSB7XHJcbiAgICB0aGlzLl9odWIuc2VydmVyLnJlZnJlc2hBbGxBbGFybXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBSZWNvdmVyeVByb2NlZHVyZShpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9odWIuc2VydmVyLnJlY292ZXJ5UHJvY2VkdXJlKGlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZW5kVXNlclNvZnRLZXkoaWQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5faHViLnNlcnZlci51c2VyU29mdEtleUNsaWNrKGlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuY1NvZnRLZXlDbGljayhpZDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9odWIuc2VydmVyLm5jU29mdEtleUNsaWNrKGlkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBIZWxsbygpIHtcclxuICAgIHRoaXMuX2h1Yi5zZXJ2ZXIuaGVsbG8oKTtcclxuICB9XHJcbn1cclxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vc3JjL3NlcnZpY2VzL2h1Yi50cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOzs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFBQTtBQUNBOzs7QUFNQTtBQUFBO0FBQUE7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBa0JBO0FBaUtBO0FBaEtBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUdBO0FBRUE7QUFHQTtBQUdBO0FBRUE7QUFDQTtBQTVDQTtBQUFBO0FBRUE7QUFFQTtBQUNBOztBQUFBOztBQUVBO0FBQUE7QUFBQTtBQUFBOztBQUFBOztBQXVDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBREE7QUFHQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBSUE7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBRUE7QUFJQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQXRPQTtBQXVPQTtBQXpPQTtBQUFBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///76\n");
/***/ }),
/* 77 */
diff --git a/Step/wwwroot/src/services/hub.ts b/Step/wwwroot/src/services/hub.ts
index aa7b7026..dc661b1e 100644
--- a/Step/wwwroot/src/services/hub.ts
+++ b/Step/wwwroot/src/services/hub.ts
@@ -58,7 +58,7 @@ export class Hub {
this._hub.client.ncSoftKeys = Hub.ncSoftKeyChanged;
this._hub.client.ncSoftKeys = Hub.userSoftKeyChanged;
- this._hub.client.heads = Hub.headsDataChanged;
+ this._hub.client.headsData = Hub.headsDataChanged;
this._hub.client.logout = this.logout;