@resolveio/client-lib-core 15.1.6 → 15.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -70,7 +70,7 @@ export class SocketService {
70
70
  this.onErrorHandler = (event) => {
71
71
  this.log(new Date(), 'WS', 'onerror', this, event);
72
72
  this.onerror(event);
73
- this.close();
73
+ this.reconnect();
74
74
  };
75
75
  document.addEventListener('visibilitychange', this.handleVisibilityChange.bind(this));
76
76
  }
@@ -125,7 +125,7 @@ export class SocketService {
125
125
  this.send('ping');
126
126
  this.pongTimeout = setTimeout(() => {
127
127
  this.log(new Date(), 'WS', 'pong not received, closing connection');
128
- this.close();
128
+ this.reconnect();
129
129
  }, this.pongTimeoutTime);
130
130
  }
131
131
  else {
@@ -179,10 +179,7 @@ export class SocketService {
179
179
  }
180
180
  reconnect() {
181
181
  this.log(new Date(), 'WS', 'reconnect', this.readyState);
182
- if (this.readyState === WebSocket.CLOSED) {
183
- this.connect();
184
- }
185
- else if (this.readyState !== WebSocket.CONNECTING) {
182
+ if (this.readyState !== WebSocket.CONNECTING) {
186
183
  this.close();
187
184
  }
188
185
  }
@@ -215,4 +212,4 @@ SocketService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", versio
215
212
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SocketService, decorators: [{
216
213
  type: Injectable
217
214
  }], ctorParameters: function () { return [{ type: i1.LocalStorageService }]; } });
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvc29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHdkMsTUFBTSxPQUFPLGFBQWE7SUFrQ3pCLFlBQW9CLFFBQTZCO1FBQTdCLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBakNqRCxzQ0FBc0M7UUFDL0IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVyQix3REFBd0Q7UUFDakQsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBRWhDLG1FQUFtRTtRQUM1RCxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN0QixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBSWhCLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFNUMsaUNBQWlDO1FBQ3pCLGNBQVMsR0FBYSxFQUFFLENBQUM7UUFNekIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIscUJBQWdCLEdBQUcsS0FBSyxDQUFDLENBQUMsNENBQTRDO1FBQ3RFLG9CQUFlLEdBQUcsS0FBSyxDQUFDLENBQUMscUVBQXFFO1FBRXpHLDBDQUEwQztRQUNuQyxXQUFNLEdBQXdCLFVBQVUsS0FBWSxJQUFHLENBQUMsQ0FBQztRQUN6RCxZQUFPLEdBQTZCLFVBQVUsS0FBaUIsSUFBRyxDQUFDLENBQUM7UUFDcEUsaUJBQVksR0FBZSxjQUFhLENBQUMsQ0FBQztRQUMxQyxjQUFTLEdBQStCLFVBQVUsS0FBbUIsSUFBRyxDQUFDLENBQUM7UUFDMUUsWUFBTyxHQUE2QixVQUFV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LENBQUM7YUFDakI7U0FDRDtJQUNGLENBQUM7SUFFTyxpQkFBaUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDekQsQ0FBQzs7MkdBdlBXLGFBQWE7K0dBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJ25neC1sb2NhbHN0b3JhZ2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTb2NrZXRTZXJ2aWNlIHtcblx0Ly9UaGVzZSBjYW4gYmUgYWx0ZXJlZCBieSBjYWxsaW5nIGNvZGVcblx0cHVibGljIGRlYnVnID0gZmFsc2U7XG5cblx0Ly9UaW1lIHRvIHdhaXQgYmVmb3JlIGF0dGVtcHRpbmcgcmVjb25uZWN0IChhZnRlciBjbG9zZSlcblx0cHVibGljIHJlY29ubmVjdEludGVydmFsID0gMTAwMDtcblx0XG5cdC8vVGltZSB0byB3YWl0IGZvciBXZWJTb2NrZXQgdG8gb3BlbiAoYmVmb3JlIGFib3J0aW5nIGFuZCByZXRyeWluZylcblx0cHVibGljIHRpbWVvdXRJbnRlcnZhbCA9IDUwMDA7XG5cdHByaXZhdGUgdGltZW91dCA9IG51bGw7XG5cblx0Ly9TaG91bGQgb25seSBiZSB1c2VkIHRvIHJlYWQgV2ViU29ja2V0IHJlYWR5U3RhdGVcblx0cHVibGljIHJlYWR5U3RhdGU6IG51bWJlcjtcblx0cHVibGljIHJlYWR5U3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcblxuXHQvL0xpc3Qgb2YgV2ViU29ja2V0IHN1Yi1wcm90b2NvbHNcblx0cHJpdmF0ZSBwcm90b2NvbHM6IHN0cmluZ1tdID0gW107XG5cblx0Ly9UaGUgdW5kZXJseWluZyBXZWJTb2NrZXRcblx0cHVibGljIHdzOiBXZWJTb2NrZXQ7XG5cdHByaXZhdGUgdXJsOiBzdHJpbmc7XG5cblx0cHJpdmF0ZSBwaW5nSW50ZXJ2YWwgPSBudWxsO1xuICAgIHByaXZhdGUgcG9uZ1RpbWVvdXQgPSBudWxsO1xuICAgIHByaXZhdGUgcGluZ0ludGVydmFsVGltZSA9IDE1MDAwOyAvLyBUaW1lIGJldHdlZW4gZWFjaCBwaW5nIChlLmcuLCAzMCBzZWNvbmRzKVxuICAgIHByaXZhdGUgcG9uZ1RpbWVvdXRUaW1lID0gMTIwMDA7IC8vIFRpbWUgdG8gd2FpdCBmb3IgcG9uZyBiZWZvcmUgY2xvc2luZyBjb25uZWN0aW9uIChlLmcuLCAxMCBzZWNvbmRzKVxuXG5cdC8vU2V0IHVwIHRoZSBkZWZhdWx0ICdub29wJyBldmVudCBoYW5kbGVyc1xuXHRwdWJsaWMgb25vcGVuOiAoZXY6IEV2ZW50KSA9PiB2b2lkID0gZnVuY3Rpb24gKGV2ZW50OiBFdmVudCkge307XG5cdHB1YmxpYyBvbmNsb3NlOiAoZXY6IENsb3NlRXZlbnQpID0+IHZvaWQgPSBmdW5jdGlvbiAoZXZlbnQ6IENsb3NlRXZlbnQpIHt9O1xuXHRwdWJsaWMgb25jb25uZWN0aW5nOiAoKSA9PiB2b2lkID0gZnVuY3Rpb24gKCkge307XG5cdHB1YmxpYyBvbm1lc3NhZ2U6IChldjogTWVzc2FnZUV2ZW50KSA9PiB2b2lkID0gZnVuY3Rpb24gKGV2ZW50OiBNZXNzYWdlRXZlbnQpIHt9O1xuXHRwdWJsaWMgb25lcnJvcjogKGV2OiBFcnJvckV2ZW50KSA9PiB2b2lkID0gZnVuY3Rpb24gKGV2ZW50OiBFcnJvckV2ZW50KSB7fTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIF9zdG9yYWdlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlKSB7XG5cdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsIHRoaXMuaGFuZGxlVmlzaWJpbGl0eUNoYW5nZS5iaW5kKHRoaXMpKTtcblx0fVxuXG5cdHB1YmxpYyBvcGVuU29ja2V0KGVudmlyb25tZW50LCBwcm90b2NvbHMpIHtcblx0XHR0aGlzLnVybCA9IGVudmlyb25tZW50LldTX1VSTDtcblx0XHR0aGlzLnByb3RvY29scyA9IHByb3RvY29scztcblx0XHR0aGlzLmNvbm5lY3QoKTtcblx0fVxuXG5cdHByaXZhdGUgb25PcGVuSGFuZGxlciA9IChldmVudDogRXZlbnQpID0+IHsgXG5cdFx0Y2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG5cdFx0dGhpcy50aW1lb3V0ID0gbnVsbDtcblx0XHR0aGlzLmxvZyhuZXcgRGF0ZSgpLCAnV1MnLCAnb25vcGVuJywgdGhpcy51cmwpO1xuXHRcdHRoaXMucmVhZHlTdGF0ZSA9IFdlYlNvY2tldC5PUEVOO1xuXHRcdHRoaXMucmVhZHlTdGF0ZSQubmV4dCh0aGlzLnJlYWR5U3RhdGUpO1xuXHRcdHRoaXMub25vcGVuKGV2ZW50KTtcblxuXHRcdHRoaXMuc3RhcnRQaW5naW5nKCk7XG5cdH07XG5cdHByaXZhdGUgb25DbG9zZUhhbmRsZXIgPSAoZXZlbnQ6IENsb3NlRXZlbnQpID0+IHtcblx0XHRpZiAodGhpcy53cyAmJiB0aGlzLnJlYWR5U3RhdGUgIT09IFdlYlNvY2tldC5DTE9TRUQpIHtcblx0XHRcdGlmICh0aGlzLnRpbWVvdXQpIHtcblx0XHRcdFx0Y2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdHRoaXMudGltZW91dCA9IG51bGw7XG5cblx0XHRcdHRoaXMud3MucmVtb3ZlRXZlbnRMaXN0ZW5lcignb3BlbicsIHRoaXMub25PcGVuSGFuZGxlcik7XG5cdFx0XHR0aGlzLndzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Nsb3NlJywgdGhpcy5vbkNsb3NlSGFuZGxlcik7XG5cdFx0XHR0aGlzLndzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0aGlzLm9uTWVzc2FnZUhhbmRsZXIpO1xuXHRcdFx0dGhpcy53cy5yZW1vdmVFdmVudExpc3RlbmVyKCdlcnJvcicsIHRoaXMub25FcnJvckhhbmRsZXIpO1xuXHRcdFx0dGhpcy53cyA9IG51bGw7XG5cblx0XHRcdHRoaXMucmVhZHlTdGF0ZSA9IFdlYlNvY2tldC5DTE9TRUQ7XG5cdFx0XHR0aGlzLnJlYWR5U3RhdGUkLm5leHQodGhpcy5yZWFkeVN0YXRlKTtcblx0XHRcdFxuXHRcdFx0dGhpcy5sb2cobmV3IERhdGUoKSwgJ1dTJywgJ29uY2xvc2UnLCB0aGlzLnVybCk7XG5cdFx0XHR0aGlzLm9uY2xvc2UoZXZlbnQpO1xuXG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0dGhpcy5jb25uZWN0KCk7XG5cdFx0XHR9LCB0aGlzLnJlY29ubmVjdEludGVydmFsKTtcblxuXHRcdFx0dGhpcy5zdG9wUGluZ2luZygpO1xuXHRcdH1cblx0fTtcblx0cHJpdmF0ZSBvbk1lc3NhZ2VIYW5kbGVyID0gKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHtcblx0XHRpZiAoZXZlbnQuZGF0YSA9PT0gJ3BvbmcnKSB7XG5cdFx0XHR0aGlzLmxvZyhuZXcgRGF0ZSgpLCAnV1MnLCAncG9uZyByZWNlaXZlZCcpO1xuXHRcdFx0Y2xlYXJUaW1lb3V0KHRoaXMucG9uZ1RpbWVvdXQpO1xuXHRcdH1cblx0XHRlbHNlIHtcblx0XHRcdGxldCBtZXNzYWdlRGF0YSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7XG5cdFx0XHRtZXNzYWdlRGF0YSA9IHRoaXMuY29udmVydFVUQ0RhdGVUb0xvY2FsRGF0ZShtZXNzYWdlRGF0YSk7XG5cdFx0XHR0aGlzLm9ubWVzc2FnZShtZXNzYWdlRGF0YSk7XG5cdFx0fVxuXHR9O1xuXHRwcml2YXRlIG9uRXJyb3JIYW5kbGVyID0gKGV2ZW50OiBFcnJvckV2ZW50KSA9PiB7XG5cdFx0dGhpcy5sb2cobmV3IERhdGUoKSwgJ1dTJywgJ29uZXJyb3InLCB0aGlzLCBldmVudCk7XG5cdFx0dGhpcy5vbmVycm9yKGV2ZW50KTtcblx0XHR0aGlzLmNsb3NlKCk7XG5cdH07XG5cblx0cHJpdmF0ZSBjb25uZWN0KCkge1xuXHRcdGlmICghdGhpcy53cyAmJiB0aGlzLnJlYWR5U3RhdGUgIT09IFdlYlNvY2tldC5DT05ORUNUSU5HICYmIHRoaXMuX3N0b3JhZ2UuZ2V0KCdhY2Nlc3NUb2tlbicpKSB7XG5cdFx0XHR0aGlzLnJlYWR5U3RhdGUgPSBXZWJTb2NrZXQuQ09OTkVDVElORztcblx0XHRcdHRoaXMucmVhZHlTdGF0ZSQubmV4dCh0aGlzLnJlYWR5U3RhdGUpO1xuXHRcdFx0XG5cdFx0XHRpZiAodGhpcy50aW1lb3V0KSB7XG5cdFx0XHRcdGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLndzID0gbmV3IFdlYlNvY2tldCh0aGlzLnVybCwgdGhpcy5wcm90b2NvbHMpO1xuXHRcdFx0XG5cdFx0XHR0aGlzLm9uY29ubmVjdGluZygpO1xuXHRcdFx0dGhpcy5sb2cobmV3IERhdGUoKSwgJ1dTJywgJ2F0dGVtcHQtY29ubmVjdCcsIHRoaXMudXJsKTtcblxuXHRcdFx0dGhpcy50aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdjb25uZWN0aW9uLXRpbWVvdXQnLCB0aGlzLnVybCk7XG5cdFx0XHRcdHRoaXMuY2xvc2UoKTtcblx0XHRcdH0sIHRoaXMudGltZW91dEludGVydmFsKTtcblxuXHRcdFx0dGhpcy53cy5vbm9wZW4gPSB0aGlzLm9uT3BlbkhhbmRsZXI7XG5cdFx0XHR0aGlzLndzLm9uY2xvc2UgPSB0aGlzLm9uQ2xvc2VIYW5kbGVyO1xuXHRcdFx0dGhpcy53cy5vbm1lc3NhZ2UgPSB0aGlzLm9uTWVzc2FnZUhhbmRsZXI7XG5cdFx0XHR0aGlzLndzLm9uZXJyb3IgPSB0aGlzLm9uRXJyb3JIYW5kbGVyO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgY29udmVydFVUQ0RhdGVUb0xvY2FsRGF0ZShkYXRhKSB7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkoZGF0YSkpIHtcblx0XHQgIFx0cmV0dXJuIGRhdGEubWFwKGl0ZW0gPT4gdGhpcy5jb252ZXJ0VVRDRGF0ZVRvTG9jYWxEYXRlKGl0ZW0pKTtcblx0XHR9IFxuXHRcdGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0JyAmJiBkYXRhICE9PSBudWxsKSB7XG5cdFx0XHRjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoZGF0YSk7XG5cdFx0XHRrZXlzLmZvckVhY2goKGtleSkgPT4ge1xuXHRcdFx0XHRkYXRhW2tleV0gPSB0aGlzLmNvbnZlcnRVVENEYXRlVG9Mb2NhbERhdGUoZGF0YVtrZXldKTtcblx0XHRcdH0pO1xuXHRcdCAgXHRyZXR1cm4gZGF0YTtcblx0XHR9IFxuXHRcdGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuXHRcdFx0Ly8gQ2hlY2sgaWYgdGhlIHN0cmluZyBpcyBhbiBJU08gZGF0ZSBmb3JtYXRcblx0XHRcdGNvbnN0IGRhdGVQYXR0ZXJuID0gL15cXGR7NH0tXFxkezJ9LVxcZHsyfVRcXGR7Mn06XFxkezJ9OlxcZHsyfSg/OlxcLlxcZCspP1okLztcblx0XHRcdGlmIChkYXRlUGF0dGVybi50ZXN0KGRhdGEpKSB7XG5cdFx0XHRcdHJldHVybiBuZXcgRGF0ZShkYXRhKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gZGF0YTtcblx0fVxuXG5cdHByaXZhdGUgc3RhcnRQaW5naW5nKCkge1xuXHRcdHRoaXMucGluZ0ludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuXHRcdFx0aWYgKHRoaXMuaXNXZWJTb2NrZXRBY3RpdmUoKSkge1xuXHRcdFx0XHR0aGlzLnNlbmQoJ3BpbmcnKTtcblxuXHRcdFx0XHR0aGlzLnBvbmdUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5sb2cobmV3IERhdGUoKSwgJ1dTJywgJ3Bvbmcgbm90IHJlY2VpdmVkLCBjbG9zaW5nIGNvbm5lY3Rpb24nKTtcblx0XHRcdFx0XHR0aGlzLmNsb3NlKCk7XG5cdFx0XHRcdH0sIHRoaXMucG9uZ1RpbWVvdXRUaW1lKTtcblx0XHRcdH1cblx0XHRcdGVsc2Uge1xuXHRcdFx0XHR0aGlzLnJlY29ubmVjdCgpO1xuXHRcdFx0fVxuXHRcdH0sIHRoaXMucGluZ0ludGVydmFsVGltZSk7XG5cdH1cblxuXHRwcml2YXRlIHN0b3BQaW5naW5nKCkge1xuXHRcdGlmICh0aGlzLnBpbmdJbnRlcnZhbCkge1xuXHRcdFx0Y2xlYXJJbnRlcnZhbCh0aGlzLnBpbmdJbnRlcnZhbCk7XG5cdFx0fVxuXHRcdFxuXHRcdGlmICh0aGlzLnBvbmdUaW1lb3V0KSB7XG5cdFx0XHRjbGVhclRpbWVvdXQodGhpcy5wb25nVGltZW91dCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBjb252ZXJ0RGF0ZXNUb1VUQyhvYmopIHtcblx0XHRmb3IgKGxldCBrZXkgaW4gb2JqKSB7XG5cdFx0XHRpZiAob2JqLmhhc093blByb3BlcnR5KGtleSkpIHtcblx0XHRcdFx0aWYgKG9ialtrZXldIGluc3RhbmNlb2YgRGF0ZSkge1xuXHRcdFx0XHRcdC8vIENvbnZlcnQgRGF0ZSB0byBVVEMgSVNPIFN0cmluZ1xuXHRcdFx0XHRcdG9ialtrZXldID0gb2JqW2tleV0udG9JU09TdHJpbmcoKTtcblx0XHRcdFx0fSBcblx0XHRcdFx0ZWxzZSBpZiAodHlwZW9mIG9ialtrZXldID09PSAnb2JqZWN0JyAmJiBvYmpba2V5XSAhPT0gbnVsbCkge1xuXHRcdFx0XHRcdC8vIFJlY3Vyc2l2ZWx5IGxvb2sgZm9yIERhdGUgb2JqZWN0cyB3aXRoaW4gYXJyYXlzIG9yIG5lc3RlZCBvYmplY3RzXG5cdFx0XHRcdFx0dGhpcy5jb252ZXJ0RGF0ZXNUb1VUQyhvYmpba2V5XSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRwdWJsaWMgc2VuZCguLi5kYXRhOiBhbnlbXSkge1xuXHRcdGlmICh0aGlzLmlzV2ViU29ja2V0QWN0aXZlKCkpIHtcblx0XHRcdGRhdGEuZm9yRWFjaChpdGVtID0+IHRoaXMuY29udmVydERhdGVzVG9VVEMoaXRlbSkpO1xuXHRcdFx0dGhpcy53cy5zZW5kKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH0gXG5cdFx0ZWxzZSB7XG5cdFx0XHR0aGlzLmxvZyhuZXcgRGF0ZSgpLCAnV1MnLCAnc2VuZCBlcnJvcicsIHRoaXMucmVhZHlTdGF0ZSk7XG5cdFx0XHR0aGlzLnJlY29ubmVjdCgpO1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBjbG9zZSgpOiBib29sZWFuIHtcblx0XHRpZiAodGhpcy53cykge1xuXHRcdFx0dGhpcy5sb2cobmV3IERhdGUoKSwgJ1dTJywgJ2Nsb3Npbmcgc29ja2V0Jyk7XG5cdFx0XHR0aGlzLnJlYWR5U3RhdGUgPSBXZWJTb2NrZXQuQ0xPU0lORztcblx0XHRcdHRoaXMucmVhZHlTdGF0ZSQubmV4dCh0aGlzLnJlYWR5U3RhdGUpO1xuXHRcdFx0dGhpcy53cy5jbG9zZSgpO1xuXHRcdFx0XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0cHVibGljIHJlY29ubmVjdCgpIHtcblx0XHR0aGlzLmxvZyhuZXcgRGF0ZSgpLCAnV1MnLCAncmVjb25uZWN0JywgdGhpcy5yZWFkeVN0YXRlKTtcblx0XHRpZiAodGhpcy5yZWFkeVN0YXRlID09PSBXZWJTb2NrZXQuQ0xPU0VEKSB7XG5cdFx0XHR0aGlzLmNvbm5lY3QoKTtcblx0XHR9XG5cdFx0ZWxzZSBpZiAodGhpcy5yZWFkeVN0YXRlICE9PSBXZWJTb2NrZXQuQ09OTkVDVElORykge1xuXHRcdFx0dGhpcy5jbG9zZSgpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBnZXRCdWZmZXJBbW91bnQoKSB7XG5cdFx0aWYgKHRoaXMud3MpIHtcblx0XHRcdHJldHVybiB0aGlzLndzLmJ1ZmZlcmVkQW1vdW50O1xuXHRcdH1cblx0XHRlbHNlIHtcblx0XHRcdHJldHVybiAyMDQ4MDtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGxvZyguLi5hcmdzOiBhbnlbXSkge1xuXHRcdGlmICh0aGlzLmRlYnVnKSB7XG5cdFx0XHRjb25zb2xlLmxvZyguLi5hcmdzKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGhhbmRsZVZpc2liaWxpdHlDaGFuZ2UoKTogdm9pZCB7XG5cdFx0aWYgKGRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSA9PT0gJ3Zpc2libGUnKSB7XG5cdFx0XHRpZiAoIXRoaXMuaXNXZWJTb2NrZXRBY3RpdmUoKSkge1xuXHRcdFx0XHR0aGlzLnJlY29ubmVjdCgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgaXNXZWJTb2NrZXRBY3RpdmUoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMud3MgJiYgdGhpcy53cy5yZWFkeVN0YXRlID09PSBXZWJTb2NrZXQuT1BFTjtcblx0fVxufVxuIl19
215
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvc29ja2V0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHdkMsTUFBTSxPQUFPLGFBQWE7SUFrQ3pCLFlBQW9CLFFBQTZCO1FBQTdCLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBakNqRCxzQ0FBc0M7UUFDL0IsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUVyQix3REFBd0Q7UUFDakQsc0JBQWlCLEdBQUcsSUFBSSxDQUFDO1FBRWhDLG1FQUFtRTtRQUM1RCxvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN0QixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBSWhCLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFNUMsaUNBQWlDO1FBQ3pCLGNBQVMsR0FBYSxFQUFFLENBQUM7UUFNekIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDakIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIscUJBQWdCLEdBQUcsS0FBSyxDQUFDLENBQUMsNENBQTRDO1FBQ3RFLG9CQUFlLEdBQUcsS0FBSyxDQUFDLENBQUMscUVBQXFFO1FBRXpHLDBDQUEwQztRQUNuQyxXQUFNLEdBQXdCLFVBQVUsS0FBWSxJQUFHLENBQUMsQ0FBQztRQUN6RCxZQUFPLEdBQTZCLFVBQVUsS0FBaUIsSUFBRyxDQUFDLENBQUM7UUFDcEUsaUJBQVksR0FBZSxjQUFhLENBQUMsQ0FBQztRQUMxQyxjQUFTLEdBQStCLFVBQVUsS0FBbUIsSUFBRyxDQUFDLENBQUM7UUFDMUUsWUFBTyxHQUE2QixVQUFV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LENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDekQsQ0FBQzs7MkdBcFBXLGFBQWE7K0dBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJ25neC1sb2NhbHN0b3JhZ2UnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTb2NrZXRTZXJ2aWNlIHtcblx0Ly9UaGVzZSBjYW4gYmUgYWx0ZXJlZCBieSBjYWxsaW5nIGNvZGVcblx0cHVibGljIGRlYnVnID0gZmFsc2U7XG5cblx0Ly9UaW1lIHRvIHdhaXQgYmVmb3JlIGF0dGVtcHRpbmcgcmVjb25uZWN0IChhZnRlciBjbG9zZSlcblx0cHVibGljIHJlY29ubmVjdEludGVydmFsID0gMTAwMDtcblx0XG5cdC8vVGltZSB0byB3YWl0IGZvciBXZWJTb2NrZXQgdG8gb3BlbiAoYmVmb3JlIGFib3J0aW5nIGFuZCByZXRyeWluZylcblx0cHVibGljIHRpbWVvdXRJbnRlcnZhbCA9IDUwMDA7XG5cdHByaXZhdGUgdGltZW91dCA9IG51bGw7XG5cblx0Ly9TaG91bGQgb25seSBiZSB1c2VkIHRvIHJlYWQgV2ViU29ja2V0IHJlYWR5U3RhdGVcblx0cHVibGljIHJlYWR5U3RhdGU6IG51bWJlcjtcblx0cHVibGljIHJlYWR5U3RhdGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdCgwKTtcblxuXHQvL0xpc3Qgb2YgV2ViU29ja2V0IHN1Yi1wcm90b2NvbHNcblx0cHJpdmF0ZSBwcm90b2NvbHM6IHN0cmluZ1tdID0gW107XG5cblx0Ly9UaGUgdW5kZXJseWluZyBXZWJTb2NrZXRcblx0cHVibGljIHdzOiBXZWJTb2NrZXQ7XG5cdHByaXZhdGUgdXJsOiBzdHJpbmc7XG5cblx0cHJpdmF0ZSBwaW5nSW50ZXJ2YWwgPSBudWxsO1xuICAgIHByaXZhdGUgcG9uZ1RpbWVvdXQgPSBudWxsO1xuICAgIHByaXZhdGUgcGluZ0ludGVydmFsVGltZSA9IDE1MDAwOyAvLyBUaW1lIGJldHdlZW4gZWFjaCBwaW5nIChlLmcuLCAzMCBzZWNvbmRzKVxuICAgIHByaXZhdGUgcG9uZ1RpbWVvdXRUaW1lID0gMTIwMDA7IC8vIFRpbWUgdG8gd2FpdCBmb3IgcG9uZyBiZWZvcmUgY2xvc2luZyBjb25uZWN0aW9uIChlLmcuLCAxMCBzZWNvbmRzKVxuXG5cdC8vU2V0IHVwIHRoZSBkZWZhdWx0ICdub29wJyBldmVudCBoYW5kbGVyc1xuXHRwdWJsaWMgb25vcGVuOiAoZXY6IEV2ZW50KSA9PiB2b2lkID0gZnVuY3Rpb24gKGV2ZW50OiBFdmVudCkge307XG5cdHB1YmxpYyBvbmNsb3NlOiAoZXY6IENsb3NlRXZlbnQpID0+IHZvaWQgPSBmdW5jdGlvbiAoZXZlbnQ6IENsb3NlRXZlbnQpIHt9O1xuXHRwdWJsaWMgb25jb25uZWN0aW5nOiAoKSA9PiB2b2lkID0gZnVuY3Rpb24gKCkge307XG5cdHB1YmxpYyBvbm1lc3NhZ2U6IChldjogTWVzc2FnZUV2ZW50KSA9PiB2b2lkID0gZnVuY3Rpb24gKGV2ZW50OiBNZXNzYWdlRXZlbnQpIHt9O1xuXHRwdWJsaWMgb25lcnJvcjogKGV2OiBFcnJvckV2ZW50KSA9PiB2b2lkID0gZnVuY3Rpb24gKGV2ZW50OiBFcnJvckV2ZW50KSB7fTtcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIF9zdG9yYWdlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlKSB7XG5cdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndmlzaWJpbGl0eWNoYW5nZScsIHRoaXMuaGFuZGxlVmlzaWJpbGl0eUNoYW5nZS5iaW5kKHRoaXMpKTtcblx0fVxuXG5cdHB1YmxpYyBvcGVuU29ja2V0KGVudmlyb25tZW50LCBwcm90b2NvbHMpIHtcblx0XHR0aGlzLnVybCA9IGVudmlyb25tZW50LldTX1VSTDtcblx0XHR0aGlzLnByb3RvY29scyA9IHByb3RvY29scztcblx0XHR0aGlzLmNvbm5lY3QoKTtcblx0fVxuXG5cdHByaXZhdGUgb25PcGVuSGFuZGxlciA9IChldmVudDogRXZlbnQpID0+IHsgXG5cdFx0Y2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG5cdFx0dGhpcy50aW1lb3V0ID0gbnVsbDtcblx0XHR0aGlzLmxvZyhuZXcgRGF0ZSgpLCAnV1MnLCAnb25vcGVuJywgdGhpcy51cmwpO1xuXHRcdHRoaXMucmVhZHlTdGF0ZSA9IFdlYlNvY2tldC5PUEVOO1xuXHRcdHRoaXMucmVhZHlTdGF0ZSQubmV4dCh0aGlzLnJlYWR5U3RhdGUpO1xuXHRcdHRoaXMub25vcGVuKGV2ZW50KTtcblxuXHRcdHRoaXMuc3RhcnRQaW5naW5nKCk7XG5cdH07XG5cdHByaXZhdGUgb25DbG9zZUhhbmRsZXIgPSAoZXZlbnQ6IENsb3NlRXZlbnQpID0+IHtcblx0XHRpZiAodGhpcy53cyAmJiB0aGlzLnJlYWR5U3RhdGUgIT09IFdlYlNvY2tldC5DTE9TRUQpIHtcblx0XHRcdGlmICh0aGlzLnRpbWVvdXQpIHtcblx0XHRcdFx0Y2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdHRoaXMudGltZW91dCA9IG51bGw7XG5cblx0XHRcdHRoaXMud3MucmVtb3ZlRXZlbnRMaXN0ZW5lcignb3BlbicsIHRoaXMub25PcGVuSGFuZGxlcik7XG5cdFx0XHR0aGlzLndzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Nsb3NlJywgdGhpcy5vbkNsb3NlSGFuZGxlcik7XG5cdFx0XHR0aGlzLndzLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCB0aGlzLm9uTWVzc2FnZUhhbmRsZXIpO1xuXHRcdFx0dGhpcy53cy5yZW1vdmVFdmVudExpc3RlbmVyKCdlcnJvcicsIHRoaXMub25FcnJvckhhbmRsZXIpO1xuXHRcdFx0dGhpcy53cyA9IG51bGw7XG5cblx0XHRcdHRoaXMucmVhZHlTdGF0ZSA9IFdlYlNvY2tldC5DTE9TRUQ7XG5cdFx0XHR0aGlzLnJlYWR5U3RhdGUkLm5leHQodGhpcy5yZWFkeVN0YXRlKTtcblx0XHRcdFxuXHRcdFx0dGhpcy5sb2cobmV3IERhdGUoKSwgJ1dTJywgJ29uY2xvc2UnLCB0aGlzLnVybCk7XG5cdFx0XHR0aGlzLm9uY2xvc2UoZXZlbnQpO1xuXG5cdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0dGhpcy5jb25uZWN0KCk7XG5cdFx0XHR9LCB0aGlzLnJlY29ubmVjdEludGVydmFsKTtcblxuXHRcdFx0dGhpcy5zdG9wUGluZ2luZygpO1xuXHRcdH1cblx0fTtcblx0cHJpdmF0ZSBvbk1lc3NhZ2VIYW5kbGVyID0gKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHtcblx0XHRpZiAoZXZlbnQuZGF0YSA9PT0gJ3BvbmcnKSB7XG5cdFx0XHR0aGlzLmxvZyhuZXcgRGF0ZSgpLCAnV1MnLCAncG9uZyByZWNlaXZlZCcpO1xuXHRcdFx0Y2xlYXJUaW1lb3V0KHRoaXMucG9uZ1RpbWVvdXQpO1xuXHRcdH1cblx0XHRlbHNlIHtcblx0XHRcdGxldCBtZXNzYWdlRGF0YSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7XG5cdFx0XHRtZXNzYWdlRGF0YSA9IHRoaXMuY29udmVydFVUQ0RhdGVUb0xvY2FsRGF0ZShtZXNzYWdlRGF0YSk7XG5cdFx0XHR0aGlzLm9ubWVzc2FnZShtZXNzYWdlRGF0YSk7XG5cdFx0fVxuXHR9O1xuXHRwcml2YXRlIG9uRXJyb3JIYW5kbGVyID0gKGV2ZW50OiBFcnJvckV2ZW50KSA9PiB7XG5cdFx0dGhpcy5sb2cobmV3IERhdGUoKSwgJ1dTJywgJ29uZXJyb3InLCB0aGlzLCBldmVudCk7XG5cdFx0dGhpcy5vbmVycm9yKGV2ZW50KTtcblx0XHR0aGlzLnJlY29ubmVjdCgpO1xuXHR9O1xuXG5cdHByaXZhdGUgY29ubmVjdCgpIHtcblx0XHRpZiAoIXRoaXMud3MgJiYgdGhpcy5yZWFkeVN0YXRlICE9PSBXZWJTb2NrZXQuQ09OTkVDVElORyAmJiB0aGlzLl9zdG9yYWdlLmdldCgnYWNjZXNzVG9rZW4nKSkge1xuXHRcdFx0dGhpcy5yZWFkeVN0YXRlID0gV2ViU29ja2V0LkNPTk5FQ1RJTkc7XG5cdFx0XHR0aGlzLnJlYWR5U3RhdGUkLm5leHQodGhpcy5yZWFkeVN0YXRlKTtcblx0XHRcdFxuXHRcdFx0aWYgKHRoaXMudGltZW91dCkge1xuXHRcdFx0XHRjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy53cyA9IG5ldyBXZWJTb2NrZXQodGhpcy51cmwsIHRoaXMucHJvdG9jb2xzKTtcblx0XHRcdFxuXHRcdFx0dGhpcy5vbmNvbm5lY3RpbmcoKTtcblx0XHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdhdHRlbXB0LWNvbm5lY3QnLCB0aGlzLnVybCk7XG5cblx0XHRcdHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmxvZyhuZXcgRGF0ZSgpLCAnV1MnLCAnY29ubmVjdGlvbi10aW1lb3V0JywgdGhpcy51cmwpO1xuXHRcdFx0XHR0aGlzLmNsb3NlKCk7XG5cdFx0XHR9LCB0aGlzLnRpbWVvdXRJbnRlcnZhbCk7XG5cblx0XHRcdHRoaXMud3Mub25vcGVuID0gdGhpcy5vbk9wZW5IYW5kbGVyO1xuXHRcdFx0dGhpcy53cy5vbmNsb3NlID0gdGhpcy5vbkNsb3NlSGFuZGxlcjtcblx0XHRcdHRoaXMud3Mub25tZXNzYWdlID0gdGhpcy5vbk1lc3NhZ2VIYW5kbGVyO1xuXHRcdFx0dGhpcy53cy5vbmVycm9yID0gdGhpcy5vbkVycm9ySGFuZGxlcjtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGNvbnZlcnRVVENEYXRlVG9Mb2NhbERhdGUoZGF0YSkge1xuXHRcdGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG5cdFx0ICBcdHJldHVybiBkYXRhLm1hcChpdGVtID0+IHRoaXMuY29udmVydFVUQ0RhdGVUb0xvY2FsRGF0ZShpdGVtKSk7XG5cdFx0fSBcblx0XHRlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgZGF0YSAhPT0gbnVsbCkge1xuXHRcdFx0Y29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGRhdGEpO1xuXHRcdFx0a2V5cy5mb3JFYWNoKChrZXkpID0+IHtcblx0XHRcdFx0ZGF0YVtrZXldID0gdGhpcy5jb252ZXJ0VVRDRGF0ZVRvTG9jYWxEYXRlKGRhdGFba2V5XSk7XG5cdFx0XHR9KTtcblx0XHQgIFx0cmV0dXJuIGRhdGE7XG5cdFx0fSBcblx0XHRlbHNlIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcblx0XHRcdC8vIENoZWNrIGlmIHRoZSBzdHJpbmcgaXMgYW4gSVNPIGRhdGUgZm9ybWF0XG5cdFx0XHRjb25zdCBkYXRlUGF0dGVybiA9IC9eXFxkezR9LVxcZHsyfS1cXGR7Mn1UXFxkezJ9OlxcZHsyfTpcXGR7Mn0oPzpcXC5cXGQrKT9aJC87XG5cdFx0XHRpZiAoZGF0ZVBhdHRlcm4udGVzdChkYXRhKSkge1xuXHRcdFx0XHRyZXR1cm4gbmV3IERhdGUoZGF0YSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGRhdGE7XG5cdH1cblxuXHRwcml2YXRlIHN0YXJ0UGluZ2luZygpIHtcblx0XHR0aGlzLnBpbmdJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcblx0XHRcdGlmICh0aGlzLmlzV2ViU29ja2V0QWN0aXZlKCkpIHtcblx0XHRcdFx0dGhpcy5zZW5kKCdwaW5nJyk7XG5cblx0XHRcdFx0dGhpcy5wb25nVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdwb25nIG5vdCByZWNlaXZlZCwgY2xvc2luZyBjb25uZWN0aW9uJyk7XG5cdFx0XHRcdFx0dGhpcy5yZWNvbm5lY3QoKTtcblx0XHRcdFx0fSwgdGhpcy5wb25nVGltZW91dFRpbWUpO1xuXHRcdFx0fVxuXHRcdFx0ZWxzZSB7XG5cdFx0XHRcdHRoaXMucmVjb25uZWN0KCk7XG5cdFx0XHR9XG5cdFx0fSwgdGhpcy5waW5nSW50ZXJ2YWxUaW1lKTtcblx0fVxuXG5cdHByaXZhdGUgc3RvcFBpbmdpbmcoKSB7XG5cdFx0aWYgKHRoaXMucGluZ0ludGVydmFsKSB7XG5cdFx0XHRjbGVhckludGVydmFsKHRoaXMucGluZ0ludGVydmFsKTtcblx0XHR9XG5cdFx0XG5cdFx0aWYgKHRoaXMucG9uZ1RpbWVvdXQpIHtcblx0XHRcdGNsZWFyVGltZW91dCh0aGlzLnBvbmdUaW1lb3V0KTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGNvbnZlcnREYXRlc1RvVVRDKG9iaikge1xuXHRcdGZvciAobGV0IGtleSBpbiBvYmopIHtcblx0XHRcdGlmIChvYmouaGFzT3duUHJvcGVydHkoa2V5KSkge1xuXHRcdFx0XHRpZiAob2JqW2tleV0gaW5zdGFuY2VvZiBEYXRlKSB7XG5cdFx0XHRcdFx0Ly8gQ29udmVydCBEYXRlIHRvIFVUQyBJU08gU3RyaW5nXG5cdFx0XHRcdFx0b2JqW2tleV0gPSBvYmpba2V5XS50b0lTT1N0cmluZygpO1xuXHRcdFx0XHR9IFxuXHRcdFx0XHRlbHNlIGlmICh0eXBlb2Ygb2JqW2tleV0gPT09ICdvYmplY3QnICYmIG9ialtrZXldICE9PSBudWxsKSB7XG5cdFx0XHRcdFx0Ly8gUmVjdXJzaXZlbHkgbG9vayBmb3IgRGF0ZSBvYmplY3RzIHdpdGhpbiBhcnJheXMgb3IgbmVzdGVkIG9iamVjdHNcblx0XHRcdFx0XHR0aGlzLmNvbnZlcnREYXRlc1RvVVRDKG9ialtrZXldKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBzZW5kKC4uLmRhdGE6IGFueVtdKSB7XG5cdFx0aWYgKHRoaXMuaXNXZWJTb2NrZXRBY3RpdmUoKSkge1xuXHRcdFx0ZGF0YS5mb3JFYWNoKGl0ZW0gPT4gdGhpcy5jb252ZXJ0RGF0ZXNUb1VUQyhpdGVtKSk7XG5cdFx0XHR0aGlzLndzLnNlbmQoSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fSBcblx0XHRlbHNlIHtcblx0XHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdzZW5kIGVycm9yJywgdGhpcy5yZWFkeVN0YXRlKTtcblx0XHRcdHRoaXMucmVjb25uZWN0KCk7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGNsb3NlKCk6IGJvb2xlYW4ge1xuXHRcdGlmICh0aGlzLndzKSB7XG5cdFx0XHR0aGlzLmxvZyhuZXcgRGF0ZSgpLCAnV1MnLCAnY2xvc2luZyBzb2NrZXQnKTtcblx0XHRcdHRoaXMucmVhZHlTdGF0ZSA9IFdlYlNvY2tldC5DTE9TSU5HO1xuXHRcdFx0dGhpcy5yZWFkeVN0YXRlJC5uZXh0KHRoaXMucmVhZHlTdGF0ZSk7XG5cdFx0XHR0aGlzLndzLmNsb3NlKCk7XG5cdFx0XHRcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRwdWJsaWMgcmVjb25uZWN0KCkge1xuXHRcdHRoaXMubG9nKG5ldyBEYXRlKCksICdXUycsICdyZWNvbm5lY3QnLCB0aGlzLnJlYWR5U3RhdGUpO1xuXHRcdGlmICh0aGlzLnJlYWR5U3RhdGUgIT09IFdlYlNvY2tldC5DT05ORUNUSU5HKSB7XG5cdFx0XHR0aGlzLmNsb3NlKCk7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIGdldEJ1ZmZlckFtb3VudCgpIHtcblx0XHRpZiAodGhpcy53cykge1xuXHRcdFx0cmV0dXJuIHRoaXMud3MuYnVmZmVyZWRBbW91bnQ7XG5cdFx0fVxuXHRcdGVsc2Uge1xuXHRcdFx0cmV0dXJuIDIwNDgwO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgbG9nKC4uLmFyZ3M6IGFueVtdKSB7XG5cdFx0aWYgKHRoaXMuZGVidWcpIHtcblx0XHRcdGNvbnNvbGUubG9nKC4uLmFyZ3MpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgaGFuZGxlVmlzaWJpbGl0eUNoYW5nZSgpOiB2b2lkIHtcblx0XHRpZiAoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlID09PSAndmlzaWJsZScpIHtcblx0XHRcdGlmICghdGhpcy5pc1dlYlNvY2tldEFjdGl2ZSgpKSB7XG5cdFx0XHRcdHRoaXMucmVjb25uZWN0KCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBpc1dlYlNvY2tldEFjdGl2ZSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy53cyAmJiB0aGlzLndzLnJlYWR5U3RhdGUgPT09IFdlYlNvY2tldC5PUEVOO1xuXHR9XG59XG4iXX0=
@@ -343,7 +343,7 @@ class SocketService {
343
343
  this.onErrorHandler = (event) => {
344
344
  this.log(new Date(), 'WS', 'onerror', this, event);
345
345
  this.onerror(event);
346
- this.close();
346
+ this.reconnect();
347
347
  };
348
348
  document.addEventListener('visibilitychange', this.handleVisibilityChange.bind(this));
349
349
  }
@@ -398,7 +398,7 @@ class SocketService {
398
398
  this.send('ping');
399
399
  this.pongTimeout = setTimeout(() => {
400
400
  this.log(new Date(), 'WS', 'pong not received, closing connection');
401
- this.close();
401
+ this.reconnect();
402
402
  }, this.pongTimeoutTime);
403
403
  }
404
404
  else {
@@ -452,10 +452,7 @@ class SocketService {
452
452
  }
453
453
  reconnect() {
454
454
  this.log(new Date(), 'WS', 'reconnect', this.readyState);
455
- if (this.readyState === WebSocket.CLOSED) {
456
- this.connect();
457
- }
458
- else if (this.readyState !== WebSocket.CONNECTING) {
455
+ if (this.readyState !== WebSocket.CONNECTING) {
459
456
  this.close();
460
457
  }
461
458
  }