@igo2/core 1.9.4 → 1.11.1

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.
Files changed (42) hide show
  1. package/__ivy_ngcc__/locale/en.core.json +6 -0
  2. package/__ivy_ngcc__/locale/en.geo.json +31 -9
  3. package/__ivy_ngcc__/locale/en.integration.json +3 -1
  4. package/__ivy_ngcc__/locale/en.json +38 -8
  5. package/__ivy_ngcc__/locale/fr.core.json +6 -0
  6. package/__ivy_ngcc__/locale/fr.geo.json +28 -6
  7. package/__ivy_ngcc__/locale/fr.integration.json +3 -1
  8. package/__ivy_ngcc__/locale/fr.json +35 -5
  9. package/bundles/igo2-core.umd.js +120 -138
  10. package/bundles/igo2-core.umd.js.map +1 -1
  11. package/esm2015/lib/config/version.js +3 -3
  12. package/esm2015/lib/message/index.js +1 -2
  13. package/esm2015/lib/message/message.module.js +38 -9
  14. package/esm2015/lib/message/shared/index.js +1 -1
  15. package/esm2015/lib/message/shared/message.enum.js +3 -2
  16. package/esm2015/lib/message/shared/message.interface.js +1 -1
  17. package/esm2015/lib/message/shared/message.service.js +55 -72
  18. package/esm2015/lib/network/network.service.js +11 -3
  19. package/fesm2015/igo2-core.js +107 -126
  20. package/fesm2015/igo2-core.js.map +1 -1
  21. package/lib/message/index.d.ts +0 -1
  22. package/lib/message/message.module.d.ts +3 -4
  23. package/lib/message/shared/index.d.ts +1 -1
  24. package/lib/message/shared/message.enum.d.ts +2 -1
  25. package/lib/message/shared/message.interface.d.ts +4 -4
  26. package/lib/message/shared/message.service.d.ts +14 -11
  27. package/lib/network/network.service.d.ts +1 -0
  28. package/locale/en.core.json +6 -0
  29. package/locale/en.geo.json +31 -9
  30. package/locale/en.integration.json +3 -1
  31. package/locale/en.json +38 -8
  32. package/locale/fr.core.json +6 -0
  33. package/locale/fr.geo.json +28 -6
  34. package/locale/fr.integration.json +3 -1
  35. package/locale/fr.json +35 -5
  36. package/package.json +4 -4
  37. package/style/core.theming.scss +3 -1
  38. package/style/index.theming.scss +228 -36
  39. package/esm2015/lib/message/message-center/index.js +0 -2
  40. package/esm2015/lib/message/message-center/message-center.component.js +0 -43
  41. package/lib/message/message-center/index.d.ts +0 -1
  42. package/lib/message/message-center/message-center.component.d.ts +0 -19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbWVzc2FnZS9zaGFyZWQvbWVzc2FnZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlVHlwZSB9IGZyb20gJy4vbWVzc2FnZS5lbnVtJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJ0BpZ28yL2FuZ3VsYXIyLW5vdGlmaWNhdGlvbnMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2Uge1xuICB0aXRsZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgaHRtbD86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIGljb24/OiBzdHJpbmc7XG4gIHR5cGU/OiBNZXNzYWdlVHlwZTtcbiAgb3B0aW9ucz86IE1lc3NhZ2VPcHRpb25zO1xuICBmb3JtYXQ/OiAndGV4dCcgfCAnaHRtbCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZU9wdGlvbnMgZXh0ZW5kcyBOb3RpZmljYXRpb24ge1xuICB0ZW1wbGF0ZT86IHN0cmluZztcbiAgZnJvbT86IERhdGUgfCBzdHJpbmc7XG4gIHRvPzogRGF0ZSB8IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9saWIvbWVzc2FnZS9zaGFyZWQvbWVzc2FnZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlVHlwZSB9IGZyb20gJy4vbWVzc2FnZS5lbnVtJztcbmltcG9ydCB7IEluZGl2aWR1YWxDb25maWcgfSBmcm9tICduZ3gtdG9hc3RyJztcblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHRleHQ/OiBzdHJpbmc7XG4gIGh0bWw/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+O1xuICB0eXBlPzogTWVzc2FnZVR5cGU7XG4gIG9wdGlvbnM/OiBNZXNzYWdlT3B0aW9ucztcbiAgZm9ybWF0PzogJ3RleHQnIHwgJ2h0bWwnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VPcHRpb25zIGV4dGVuZHMgSW5kaXZpZHVhbENvbmZpZyB7XG4gIHRlbXBsYXRlPzogc3RyaW5nO1xuICBmcm9tPzogRGF0ZSB8IHN0cmluZztcbiAgdG8/OiBEYXRlIHwgc3RyaW5nO1xuICBpZD86IG51bWJlcjtcbiAgc2hvd09uRWFjaExheWVyVmlzaWJpbGl0eT86IGJvb2xlYW47XG59XG4iXX0=
@@ -1,16 +1,21 @@
1
- import { Injectable } from '@angular/core';
1
+ import { Injectable, Inject, Injector } from '@angular/core';
2
2
  import { BehaviorSubject } from 'rxjs';
3
+ import { ToastrService } from 'ngx-toastr';
3
4
  import { MessageType } from './message.enum';
4
5
  import * as i0 from "@angular/core";
5
- import * as i1 from "@igo2/angular2-notifications";
6
- import * as i2 from "../../config/config.service";
6
+ import * as i1 from "../../config/config.service";
7
+ import * as i2 from "../../language/shared/language.service";
7
8
  export class MessageService {
8
- constructor(notificationService, configService) {
9
- this.notificationService = notificationService;
9
+ constructor(injector, configService, languageService) {
10
+ this.injector = injector;
10
11
  this.configService = configService;
12
+ this.languageService = languageService;
11
13
  this.messages$ = new BehaviorSubject([]);
12
14
  this.options = this.configService.getConfig('message') || {};
13
15
  }
16
+ get toastr() {
17
+ return this.injector.get(ToastrService);
18
+ }
14
19
  showError(httpError) {
15
20
  httpError.error.caught = true;
16
21
  return this.error(httpError.error.message, httpError.error.title);
@@ -29,83 +34,60 @@ export class MessageService {
29
34
  }
30
35
  if (currentDate > message.options.from && currentDate < message.options.to) {
31
36
  message = this.handleTemplate(message);
32
- let notification;
33
37
  if (message.text) {
34
- notification = this.notificationService.create(message.title, message.text, message.type, message.options);
35
- }
36
- else if (message.html) {
37
- if (!message.icon) {
38
- message.options.theClass = message.options.theClass
39
- ? message.options.theClass + ' noIcon'
40
- : 'noIcon';
38
+ let messageShown;
39
+ switch (message.type) {
40
+ case MessageType.SUCCESS:
41
+ messageShown = this.success(message.text, message.title, message.options);
42
+ break;
43
+ case MessageType.ERROR:
44
+ messageShown = this.error(message.text, message.title, message.options);
45
+ break;
46
+ case MessageType.INFO:
47
+ messageShown = this.info(message.text, message.title, message.options);
48
+ break;
49
+ case MessageType.ALERT:
50
+ case MessageType.WARNING:
51
+ messageShown = this.alert(message.text, message.title, message.options);
52
+ break;
53
+ default:
54
+ messageShown = this.info(message.text, message.title, message.options);
55
+ break;
41
56
  }
42
- notification = this.notificationService.html(message.html, message.type, message.options);
43
- }
44
- else {
45
- return;
57
+ message.options.id = messageShown.toastId;
46
58
  }
47
- if (message.icon !== undefined) {
48
- this.addIcon(notification, message.icon);
49
- }
50
- message.options.id = notification.id;
51
- return notification;
52
59
  }
53
- return;
54
60
  }
55
- success(text, title, options = {}) {
56
- return this.message({
57
- text,
58
- title,
59
- icon: options.icon || 'check',
60
- options,
61
- type: MessageType.SUCCESS
62
- });
61
+ success(text, title = 'igo.core.message.success', options = {}) {
62
+ const message = this.languageService.translate.instant(text);
63
+ const translatedTitle = this.languageService.translate.instant(title);
64
+ return this.toastr.success(message, translatedTitle, options);
63
65
  }
64
- error(text, title, options = {}) {
65
- return this.message({
66
- text,
67
- title,
68
- icon: options.icon || 'error_outline',
69
- options,
70
- type: MessageType.ERROR
71
- });
66
+ error(text, title = 'igo.core.message.error', options = {}) {
67
+ const message = this.languageService.translate.instant(text);
68
+ const translatedTitle = this.languageService.translate.instant(title);
69
+ return this.toastr.error(message, translatedTitle, options);
72
70
  }
73
- info(text, title, options = {}) {
74
- return this.message({
75
- text,
76
- title,
77
- icon: options.icon || 'info_outline',
78
- options,
79
- type: MessageType.INFO
80
- });
71
+ info(text, title = 'igo.core.message.info', options = {}) {
72
+ const message = this.languageService.translate.instant(text);
73
+ const translatedTitle = this.languageService.translate.instant(title);
74
+ return this.toastr.info(message, translatedTitle, options);
81
75
  }
82
- alert(text, title, options = {}) {
83
- return this.message({
84
- text,
85
- title,
86
- icon: options.icon || 'access_alarm',
87
- options,
88
- type: MessageType.ALERT
89
- });
76
+ alert(text, title = 'igo.core.message.alert', options = {}) {
77
+ const message = this.languageService.translate.instant(text);
78
+ const translatedTitle = this.languageService.translate.instant(title);
79
+ return this.toastr.warning(message, translatedTitle, options);
90
80
  }
91
81
  remove(id) {
92
- this.notificationService.remove(id);
82
+ this.toastr.remove(id);
93
83
  }
94
84
  removeAllAreNotError() {
95
85
  for (const mess of this.messages$.value) {
96
- if (mess.type !== 'error') {
86
+ if (mess.type !== MessageType.ERROR) {
97
87
  this.remove(mess.options.id);
98
88
  }
99
89
  }
100
90
  }
101
- addIcon(notification, icon) {
102
- // There is no way to add an icon to a notification when reating
103
- // it so we simply set it on the notification directly.
104
- // See https://github.com/flauc/angular2-notifications/issues/165
105
- notification.icon = `
106
- <mat-icon class="material-icons mat-icon mat-list-avatar" svgIcon="${icon}">
107
- </mat-icon>`;
108
- }
109
91
  handleTemplate(message) {
110
92
  if (!this.options.template || message.html) {
111
93
  return message;
@@ -113,20 +95,21 @@ export class MessageService {
113
95
  let html = this.options.template;
114
96
  html = html.replace('${text}', message.text);
115
97
  html = html.replace('${title}', message.title);
116
- html = html.replace('${icon}', message.icon);
117
- message.html = html;
118
- message.text = undefined;
98
+ message.html = undefined;
99
+ message.text = html;
119
100
  message.title = undefined;
120
- message.icon = undefined;
121
101
  return message;
122
102
  }
123
103
  }
124
- MessageService.ɵfac = function MessageService_Factory(t) { return new (t || MessageService)(i0.ɵɵinject(i1.NotificationsService), i0.ɵɵinject(i2.ConfigService)); };
104
+ MessageService.ɵfac = function MessageService_Factory(t) { return new (t || MessageService)(i0.ɵɵinject(Injector), i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i2.LanguageService)); };
125
105
  MessageService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MessageService, factory: MessageService.ɵfac, providedIn: 'root' });
126
106
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MessageService, [{
127
107
  type: Injectable,
128
108
  args: [{
129
109
  providedIn: 'root'
130
110
  }]
131
- }], function () { return [{ type: i1.NotificationsService }, { type: i2.ConfigService }]; }, null); })();
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL21lc3NhZ2Uvc2hhcmVkL21lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFVdkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSzdDLE1BQU0sT0FBTyxjQUFjO0lBSXpCLFlBQ1UsbUJBQXlDLEVBQ3pDLGFBQTRCO1FBRDVCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBc0I7UUFDekMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFML0IsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFZLEVBQUUsQ0FBQyxDQUFDO1FBT3BELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9ELENBQUM7SUFFRCxTQUFTLENBQUMsU0FBNEI7UUFDcEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZ0I7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTVELE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFvQixDQUFD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LE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUM5QjtTQUNGO0lBQ0gsQ0FBQztJQUVPLE9BQU8sQ0FBQyxZQUEwQixFQUFFLElBQVk7UUFDdEQsZ0VBQWdFO1FBQ2hFLHVEQUF1RDtRQUN2RCxpRUFBaUU7UUFDakUsWUFBWSxDQUFDLElBQUksR0FBRzsyRUFDbUQsSUFBSTtrQkFDN0QsQ0FBQztJQUNqQixDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQWdCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQzFDLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFN0MsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDcEIsT0FBTyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7UUFDekIsT0FBTyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDMUIsT0FBTyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7UUFDekIsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQzs7NEVBaEpVLGNBQWM7b0VBQWQsY0FBYyxXQUFkLGNBQWMsbUJBRmIsTUFBTTt1RkFFUCxjQUFjO2NBSDFCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBOb3RpZmljYXRpb24sXG4gIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLFxuICBOb3RpZmljYXRpb25UeXBlXG59IGZyb20gJ0BpZ28yL2FuZ3VsYXIyLW5vdGlmaWNhdGlvbnMnO1xuXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uZmlnL2NvbmZpZy5zZXJ2aWNlJztcblxuaW1wb3J0IHsgTWVzc2FnZSwgTWVzc2FnZU9wdGlvbnMgfSBmcm9tICcuL21lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1lc3NhZ2VUeXBlIH0gZnJvbSAnLi9tZXNzYWdlLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNZXNzYWdlU2VydmljZSB7XG4gIHB1YmxpYyBtZXNzYWdlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1lc3NhZ2VbXT4oW10pO1xuICBwcml2YXRlIG9wdGlvbnM6IE1lc3NhZ2VPcHRpb25zO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uU2VydmljZTogTm90aWZpY2F0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ21lc3NhZ2UnKSB8fCB7fTtcbiAgfVxuXG4gIHNob3dFcnJvcihodHRwRXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSB7XG4gICAgaHR0cEVycm9yLmVycm9yLmNhdWdodCA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3IoaHR0cEVycm9yLmVycm9yLm1lc3NhZ2UsIGh0dHBFcnJvci5lcnJvci50aXRsZSk7XG4gIH1cblxuICBtZXNzYWdlKG1lc3NhZ2U6IE1lc3NhZ2UpIHtcbiAgICB0aGlzLm1lc3NhZ2VzJC5uZXh0KHRoaXMubWVzc2FnZXMkLnZhbHVlLmNvbmNhdChbbWVzc2FnZV0pKTtcblxuICAgIG1lc3NhZ2Uub3B0aW9ucyA9IG1lc3NhZ2Uub3B0aW9ucyB8fCB7fSBhcyBNZXNzYWdlT3B0aW9ucztcbiAgICBjb25zdCBjdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgICBtZXNzYWdlLm9wdGlvbnMuZnJvbSA9IG1lc3NhZ2Uub3B0aW9ucy5mcm9tID8gbWVzc2FnZS5vcHRpb25zLmZyb20gOiBuZXcgRGF0ZSgnMSBqYW4gMTkwMCcpO1xuICAgIG1lc3NhZ2Uub3B0aW9ucy50byA9IG1lc3NhZ2Uub3B0aW9ucy50byA/IG1lc3NhZ2Uub3B0aW9ucy50byA6IG5ldyBEYXRlKCcxIGphbiAzMDAwJyk7XG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlLm9wdGlvbnMuZnJvbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG1lc3NhZ2Uub3B0aW9ucy5mcm9tID0gbmV3IERhdGUoRGF0ZS5wYXJzZShtZXNzYWdlLm9wdGlvbnMuZnJvbS5yZXBsYWNlKC8tL2csICcgJykpKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlLm9wdGlvbnMudG8gPT09ICdzdHJpbmcnKSB7XG4gICAgICBtZXNzYWdlLm9wdGlvbnMudG8gPSBuZXcgRGF0ZShEYXRlLnBhcnNlKG1lc3NhZ2Uub3B0aW9ucy50by5yZXBsYWNlKC8tL2csICcgJykpKTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgY3VycmVudERhdGUgPiBtZXNzYWdlLm9wdGlvbnMuZnJvbSAmJiBjdXJyZW50RGF0ZSA8IG1lc3NhZ2Uub3B0aW9ucy50bykge1xuXG4gICAgICBtZXNzYWdlID0gdGhpcy5oYW5kbGVUZW1wbGF0ZShtZXNzYWdlKTtcblxuICAgICAgbGV0IG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uO1xuICAgICAgaWYgKG1lc3NhZ2UudGV4dCkge1xuICAgICAgICBub3RpZmljYXRpb24gPSB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuY3JlYXRlKFxuICAgICAgICAgIG1lc3NhZ2UudGl0bGUsXG4gICAgICAgICAgbWVzc2FnZS50ZXh0LFxuICAgICAgICAgIChtZXNzYWdlLnR5cGUgYXMgYW55KSBhcyBOb3RpZmljYXRpb25UeXBlLFxuICAgICAgICAgIG1lc3NhZ2Uub3B0aW9uc1xuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmIChtZXNzYWdlLmh0bWwpIHtcbiAgICAgICAgaWYgKCFtZXNzYWdlLmljb24pIHtcbiAgICAgICAgICBtZXNzYWdlLm9wdGlvbnMudGhlQ2xhc3MgPSBtZXNzYWdlLm9wdGlvbnMudGhlQ2xhc3NcbiAgICAgICAgICAgID8gbWVzc2FnZS5vcHRpb25zLnRoZUNsYXNzICsgJyBub0ljb24nXG4gICAgICAgICAgICA6ICdub0ljb24nO1xuICAgICAgICB9XG5cbiAgICAgICAgbm90aWZpY2F0aW9uID0gdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmh0bWwoXG4gICAgICAgICAgbWVzc2FnZS5odG1sLFxuICAgICAgICAgIChtZXNzYWdlLnR5cGUgYXMgYW55KSBhcyBOb3RpZmljYXRpb25UeXBlLFxuICAgICAgICAgIG1lc3NhZ2Uub3B0aW9uc1xuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAobWVzc2FnZS5pY29uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5hZGRJY29uKG5vdGlmaWNhdGlvbiwgbWVzc2FnZS5pY29uKTtcbiAgICAgIH1cbiAgICAgIG1lc3NhZ2Uub3B0aW9ucy5pZCA9IG5vdGlmaWNhdGlvbi5pZDtcbiAgICAgIHJldHVybiBub3RpZmljYXRpb247XG4gICAgfVxuICAgIHJldHVybjtcbiAgfVxuXG4gIHN1Y2Nlc3ModGV4dDogc3RyaW5nLCB0aXRsZT86IHN0cmluZywgb3B0aW9uczogYW55ID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlKHtcbiAgICAgIHRleHQsXG4gICAgICB0aXRsZSxcbiAgICAgIGljb246IG9wdGlvbnMuaWNvbiB8fCAnY2hlY2snLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlNVQ0NFU1NcbiAgICB9KTtcbiAgfVxuXG4gIGVycm9yKHRleHQ6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcsIG9wdGlvbnM6IGFueSA9IHt9KSB7XG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZSh7XG4gICAgICB0ZXh0LFxuICAgICAgdGl0bGUsXG4gICAgICBpY29uOiBvcHRpb25zLmljb24gfHwgJ2Vycm9yX291dGxpbmUnLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIHR5cGU6IE1lc3NhZ2VUeXBlLkVSUk9SXG4gICAgfSk7XG4gIH1cblxuICBpbmZvKHRleHQ6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcsIG9wdGlvbnM6IGFueSA9IHt9KSB7XG4gICAgcmV0dXJuIHRoaXMubWVzc2FnZSh7XG4gICAgICB0ZXh0LFxuICAgICAgdGl0bGUsXG4gICAgICBpY29uOiBvcHRpb25zLmljb24gfHwgJ2luZm9fb3V0bGluZScsXG4gICAgICBvcHRpb25zLFxuICAgICAgdHlwZTogTWVzc2FnZVR5cGUuSU5GT1xuICAgIH0pO1xuICB9XG5cbiAgYWxlcnQodGV4dDogc3RyaW5nLCB0aXRsZT86IHN0cmluZywgb3B0aW9uczogYW55ID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlKHtcbiAgICAgIHRleHQsXG4gICAgICB0aXRsZSxcbiAgICAgIGljb246IG9wdGlvbnMuaWNvbiB8fCAnYWNjZXNzX2FsYXJtJyxcbiAgICAgIG9wdGlvbnMsXG4gICAgICB0eXBlOiBNZXNzYWdlVHlwZS5BTEVSVFxuICAgIH0pO1xuICB9XG5cbiAgcmVtb3ZlKGlkPzogc3RyaW5nKSB7XG4gICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnJlbW92ZShpZCk7XG4gIH1cblxuICByZW1vdmVBbGxBcmVOb3RFcnJvcigpIHtcbiAgICBmb3IgKGNvbnN0IG1lc3Mgb2YgdGhpcy5tZXNzYWdlcyQudmFsdWUpIHtcbiAgICAgIGlmIChtZXNzLnR5cGUgIT09ICdlcnJvcicpIHtcbiAgICAgICAgdGhpcy5yZW1vdmUobWVzcy5vcHRpb25zLmlkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZEljb24obm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24sIGljb246IHN0cmluZykge1xuICAgIC8vIFRoZXJlIGlzIG5vIHdheSB0byBhZGQgYW4gaWNvbiB0byBhIG5vdGlmaWNhdGlvbiB3aGVuIHJlYXRpbmdcbiAgICAvLyBpdCBzbyB3ZSBzaW1wbHkgc2V0IGl0IG9uIHRoZSBub3RpZmljYXRpb24gZGlyZWN0bHkuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mbGF1Yy9hbmd1bGFyMi1ub3RpZmljYXRpb25zL2lzc3Vlcy8xNjVcbiAgICBub3RpZmljYXRpb24uaWNvbiA9IGBcbiAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdGVyaWFsLWljb25zIG1hdC1pY29uIG1hdC1saXN0LWF2YXRhclwiIHN2Z0ljb249XCIke2ljb259XCI+XG4gICAgICA8L21hdC1pY29uPmA7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVRlbXBsYXRlKG1lc3NhZ2U6IE1lc3NhZ2UpOiBNZXNzYWdlIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy50ZW1wbGF0ZSB8fCBtZXNzYWdlLmh0bWwpIHtcbiAgICAgIHJldHVybiBtZXNzYWdlO1xuICAgIH1cblxuICAgIGxldCBodG1sID0gdGhpcy5vcHRpb25zLnRlbXBsYXRlO1xuICAgIGh0bWwgPSBodG1sLnJlcGxhY2UoJyR7dGV4dH0nLCBtZXNzYWdlLnRleHQpO1xuICAgIGh0bWwgPSBodG1sLnJlcGxhY2UoJyR7dGl0bGV9JywgbWVzc2FnZS50aXRsZSk7XG4gICAgaHRtbCA9IGh0bWwucmVwbGFjZSgnJHtpY29ufScsIG1lc3NhZ2UuaWNvbik7XG5cbiAgICBtZXNzYWdlLmh0bWwgPSBodG1sO1xuICAgIG1lc3NhZ2UudGV4dCA9IHVuZGVmaW5lZDtcbiAgICBtZXNzYWdlLnRpdGxlID0gdW5kZWZpbmVkO1xuICAgIG1lc3NhZ2UuaWNvbiA9IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfVxufVxuIl19
111
+ }], function () { return [{ type: i0.Injector, decorators: [{
112
+ type: Inject,
113
+ args: [Injector]
114
+ }] }, { type: i1.ConfigService }, { type: i2.LanguageService }]; }, null); })();
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL21lc3NhZ2Uvc2hhcmVkL21lc3NhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt2QyxPQUFPLEVBQWlDLGFBQWEsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUMxRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFPN0MsTUFBTSxPQUFPLGNBQWM7SUFJekIsWUFDNEIsUUFBa0IsRUFDcEMsYUFBNEIsRUFDNUIsZUFBZ0M7UUFGZCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQU5uQyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQVksRUFBRSxDQUFDLENBQUM7UUFRcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQVksTUFBTTtRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxTQUFTLENBQUMsU0FBNEI7UUFDcEMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZ0I7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTVELE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFvQixDQUFDO1FBQzFELE1BQU0sV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFFL0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM1RixPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RGLElBQUksT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7WUFDNUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0RjtRQUNELElBQUksT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxRQUFRLEVBQUU7WUFDMUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcs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QUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUvQyxPQUFPLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUN6QixPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNwQixPQUFPLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUMxQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzs0RUFsSFUsY0FBYyxjQUtmLFFBQVE7b0VBTFAsY0FBYyxXQUFkLGNBQWMsbUJBRmIsTUFBTTt1RkFFUCxjQUFjO2NBSDFCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7c0JBTUksTUFBTTt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbmZpZy9jb25maWcuc2VydmljZSc7XG5cbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VPcHRpb25zIH0gZnJvbSAnLi9tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBY3RpdmVUb2FzdCwgSW5kaXZpZHVhbENvbmZpZywgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xuaW1wb3J0IHsgTWVzc2FnZVR5cGUgfSBmcm9tICcuL21lc3NhZ2UuZW51bSc7XG5pbXBvcnQgeyBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9sYW5ndWFnZS9zaGFyZWQvbGFuZ3VhZ2Uuc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTWVzc2FnZVNlcnZpY2Uge1xuICBwdWJsaWMgbWVzc2FnZXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZXNzYWdlW10+KFtdKTtcbiAgcHJpdmF0ZSBvcHRpb25zOiBNZXNzYWdlT3B0aW9ucztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEluamVjdG9yKSBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZVxuICApIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKCdtZXNzYWdlJykgfHwge307XG4gIH1cblxuICBwcml2YXRlIGdldCB0b2FzdHIoKTogVG9hc3RyU2VydmljZSB7XG4gICAgcmV0dXJuIHRoaXMuaW5qZWN0b3IuZ2V0KFRvYXN0clNlcnZpY2UpO1xuICB9XG5cbiAgc2hvd0Vycm9yKGh0dHBFcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICBodHRwRXJyb3IuZXJyb3IuY2F1Z2h0ID0gdHJ1ZTtcbiAgICByZXR1cm4gdGhpcy5lcnJvcihodHRwRXJyb3IuZXJyb3IubWVzc2FnZSwgaHR0cEVycm9yLmVycm9yLnRpdGxlKTtcbiAgfVxuXG4gIG1lc3NhZ2UobWVzc2FnZTogTWVzc2FnZSkge1xuICAgIHRoaXMubWVzc2FnZXMkLm5leHQodGhpcy5tZXNzYWdlcyQudmFsdWUuY29uY2F0KFttZXNzYWdlXSkpO1xuXG4gICAgbWVzc2FnZS5vcHRpb25zID0gbWVzc2FnZS5vcHRpb25zIHx8IHt9IGFzIE1lc3NhZ2VPcHRpb25zO1xuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcblxuICAgIG1lc3NhZ2Uub3B0aW9ucy5mcm9tID0gbWVzc2FnZS5vcHRpb25zLmZyb20gPyBtZXNzYWdlLm9wdGlvbnMuZnJvbSA6IG5ldyBEYXRlKCcxIGphbiAxOTAwJyk7XG4gICAgbWVzc2FnZS5vcHRpb25zLnRvID0gbWVzc2FnZS5vcHRpb25zLnRvID8gbWVzc2FnZS5vcHRpb25zLnRvIDogbmV3IERhdGUoJzEgamFuIDMwMDAnKTtcbiAgICBpZiAodHlwZW9mIG1lc3NhZ2Uub3B0aW9ucy5mcm9tID09PSAnc3RyaW5nJykge1xuICAgICAgbWVzc2FnZS5vcHRpb25zLmZyb20gPSBuZXcgRGF0ZShEYXRlLnBhcnNlKG1lc3NhZ2Uub3B0aW9ucy5mcm9tLnJlcGxhY2UoLy0vZywgJyAnKSkpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIG1lc3NhZ2Uub3B0aW9ucy50byA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG1lc3NhZ2Uub3B0aW9ucy50byA9IG5ldyBEYXRlKERhdGUucGFyc2UobWVzc2FnZS5vcHRpb25zLnRvLnJlcGxhY2UoLy0vZywgJyAnKSkpO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBjdXJyZW50RGF0ZSA+IG1lc3NhZ2Uub3B0aW9ucy5mcm9tICYmIGN1cnJlbnREYXRlIDwgbWVzc2FnZS5vcHRpb25zLnRvKSB7XG5cbiAgICAgIG1lc3NhZ2UgPSB0aGlzLmhhbmRsZVRlbXBsYXRlKG1lc3NhZ2UpO1xuXG4gICAgICBpZiAobWVzc2FnZS50ZXh0KSB7XG4gICAgICAgIGxldCBtZXNzYWdlU2hvd246IEFjdGl2ZVRvYXN0PGFueT47XG4gICAgICAgIHN3aXRjaCAobWVzc2FnZS50eXBlKSB7XG4gICAgICAgICAgY2FzZSBNZXNzYWdlVHlwZS5TVUNDRVNTOlxuICAgICAgICAgICAgbWVzc2FnZVNob3duID0gdGhpcy5zdWNjZXNzKG1lc3NhZ2UudGV4dCwgbWVzc2FnZS50aXRsZSwgbWVzc2FnZS5vcHRpb25zKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgTWVzc2FnZVR5cGUuRVJST1I6XG4gICAgICAgICAgICBtZXNzYWdlU2hvd24gPSB0aGlzLmVycm9yKG1lc3NhZ2UudGV4dCwgbWVzc2FnZS50aXRsZSwgbWVzc2FnZS5vcHRpb25zKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgTWVzc2FnZVR5cGUuSU5GTzpcbiAgICAgICAgICAgIG1lc3NhZ2VTaG93biA9IHRoaXMuaW5mbyhtZXNzYWdlLnRleHQsIG1lc3NhZ2UudGl0bGUsIG1lc3NhZ2Uub3B0aW9ucyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIE1lc3NhZ2VUeXBlLkFMRVJUOlxuICAgICAgICAgIGNhc2UgTWVzc2FnZVR5cGUuV0FSTklORzpcbiAgICAgICAgICAgIG1lc3NhZ2VTaG93biA9IHRoaXMuYWxlcnQobWVzc2FnZS50ZXh0LCBtZXNzYWdlLnRpdGxlLCBtZXNzYWdlLm9wdGlvbnMpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIG1lc3NhZ2VTaG93biA9IHRoaXMuaW5mbyhtZXNzYWdlLnRleHQsIG1lc3NhZ2UudGl0bGUsIG1lc3NhZ2Uub3B0aW9ucyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBtZXNzYWdlLm9wdGlvbnMuaWQgPSBtZXNzYWdlU2hvd24udG9hc3RJZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdWNjZXNzKHRleHQ6IHN0cmluZywgdGl0bGU6IHN0cmluZyA9ICdpZ28uY29yZS5tZXNzYWdlLnN1Y2Nlc3MnLCBvcHRpb25zOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge30pOiBBY3RpdmVUb2FzdDxhbnk+IHtcbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQodGV4dCk7XG4gICAgY29uc3QgdHJhbnNsYXRlZFRpdGxlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQodGl0bGUpO1xuICAgIHJldHVybiB0aGlzLnRvYXN0ci5zdWNjZXNzKG1lc3NhZ2UsIHRyYW5zbGF0ZWRUaXRsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBlcnJvcih0ZXh0OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcgPSAnaWdvLmNvcmUubWVzc2FnZS5lcnJvcicsIG9wdGlvbnM6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7fSk6IEFjdGl2ZVRvYXN0PGFueT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCh0ZXh0KTtcbiAgICBjb25zdCB0cmFuc2xhdGVkVGl0bGUgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCh0aXRsZSk7XG4gICAgcmV0dXJuIHRoaXMudG9hc3RyLmVycm9yKG1lc3NhZ2UsIHRyYW5zbGF0ZWRUaXRsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBpbmZvKHRleHQ6IHN0cmluZywgdGl0bGU6IHN0cmluZyA9ICdpZ28uY29yZS5tZXNzYWdlLmluZm8nLCBvcHRpb25zOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge30pOiBBY3RpdmVUb2FzdDxhbnk+IHtcbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQodGV4dCk7XG4gICAgY29uc3QgdHJhbnNsYXRlZFRpdGxlID0gdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQodGl0bGUpO1xuICAgIHJldHVybiB0aGlzLnRvYXN0ci5pbmZvKG1lc3NhZ2UsIHRyYW5zbGF0ZWRUaXRsZSwgb3B0aW9ucyk7XG4gIH1cblxuICBhbGVydCh0ZXh0OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcgPSAnaWdvLmNvcmUubWVzc2FnZS5hbGVydCcsIG9wdGlvbnM6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7fSk6IEFjdGl2ZVRvYXN0PGFueT4ge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCh0ZXh0KTtcbiAgICBjb25zdCB0cmFuc2xhdGVkVGl0bGUgPSB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudCh0aXRsZSk7XG4gICAgcmV0dXJuIHRoaXMudG9hc3RyLndhcm5pbmcobWVzc2FnZSwgdHJhbnNsYXRlZFRpdGxlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHJlbW92ZShpZD86IG51bWJlcikge1xuICAgIHRoaXMudG9hc3RyLnJlbW92ZShpZCk7XG4gIH1cblxuICByZW1vdmVBbGxBcmVOb3RFcnJvcigpIHtcbiAgICBmb3IgKGNvbnN0IG1lc3Mgb2YgdGhpcy5tZXNzYWdlcyQudmFsdWUpIHtcbiAgICAgIGlmIChtZXNzLnR5cGUgIT09IE1lc3NhZ2VUeXBlLkVSUk9SKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlKG1lc3Mub3B0aW9ucy5pZCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVUZW1wbGF0ZShtZXNzYWdlOiBNZXNzYWdlKTogTWVzc2FnZSB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMudGVtcGxhdGUgfHwgbWVzc2FnZS5odG1sKSB7XG4gICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICB9XG5cbiAgICBsZXQgaHRtbCA9IHRoaXMub3B0aW9ucy50ZW1wbGF0ZTtcbiAgICBodG1sID0gaHRtbC5yZXBsYWNlKCcke3RleHR9JywgbWVzc2FnZS50ZXh0KTtcbiAgICBodG1sID0gaHRtbC5yZXBsYWNlKCcke3RpdGxlfScsIG1lc3NhZ2UudGl0bGUpO1xuXG4gICAgbWVzc2FnZS5odG1sID0gdW5kZWZpbmVkO1xuICAgIG1lc3NhZ2UudGV4dCA9IGh0bWw7XG4gICAgbWVzc2FnZS50aXRsZSA9IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfVxufVxuIl19
@@ -16,18 +16,26 @@ export class NetworkService {
16
16
  }
17
17
  checkNetworkState() {
18
18
  this.onlineSubscription = fromEvent(window, 'online').subscribe(() => {
19
+ if (this.previousMessageId) {
20
+ this.messageService.remove(this.previousMessageId);
21
+ }
19
22
  const translate = this.injector.get(LanguageService).translate;
20
23
  const message = translate.instant('igo.core.network.online.message');
21
24
  const title = translate.instant('igo.core.network.online.title');
22
- this.messageService.info(message, title);
25
+ const messageObj = this.messageService.info(message, title);
26
+ this.previousMessageId = messageObj.toastId;
23
27
  this.state.connection = true;
24
28
  this.emitEvent();
25
29
  });
26
30
  this.offlineSubscription = fromEvent(window, 'offline').subscribe(() => {
31
+ if (this.previousMessageId) {
32
+ this.messageService.remove(this.previousMessageId);
33
+ }
27
34
  const translate = this.injector.get(LanguageService).translate;
28
35
  const message = translate.instant('igo.core.network.offline.message');
29
36
  const title = translate.instant('igo.core.network.offline.title');
30
- this.messageService.info(message, title);
37
+ const messageObj = this.messageService.info(message, title);
38
+ this.previousMessageId = messageObj.toastId;
31
39
  this.state.connection = false;
32
40
  this.emitEvent();
33
41
  });
@@ -56,4 +64,4 @@ NetworkService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NetworkSe
56
64
  providedIn: 'root'
57
65
  }]
58
66
  }], function () { return [{ type: i1.MessageService }, { type: i0.Injector }]; }, null); })();
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL25ldHdvcmsvbmV0d29yay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQTRCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBTXRFLE1BQU0sT0FBTyxjQUFjO0lBU3pCLFlBQ1UsY0FBOEIsRUFDOUIsUUFBa0I7UUFEbEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFWcEIsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFJOUQsVUFBSyxHQUFvQjtZQUMvQixVQUFVLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNO1NBQ3BDLENBQUM7UUFNRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbkUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQy9ELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FBQztZQUNyRSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMvRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7WUFDdEUsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUk7WUFDRixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3ZDO1FBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtJQUNoQixDQUFDO0lBRUQsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJO1FBQzdCLE9BQU8sV0FBVztZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FDL0IsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUN0QjtZQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7OzRFQXREVSxjQUFjO29FQUFkLGNBQWMsV0FBZCxjQUFjLG1CQUZiLE1BQU07dUZBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi9tZXNzYWdlL3NoYXJlZC9tZXNzYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vbGFuZ3VhZ2Uvc2hhcmVkL2xhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29ubmVjdGlvblN0YXRlIH0gZnJvbSAnLi9uZXR3b3JrLmludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOZXR3b3JrU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3RhdGVDaGFuZ2VFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPENvbm5lY3Rpb25TdGF0ZT4oKTtcbiAgcHJpdmF0ZSBvbmxpbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBvZmZsaW5lU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBzdGF0ZTogQ29ubmVjdGlvblN0YXRlID0ge1xuICAgIGNvbm5lY3Rpb246IHdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgICB0aGlzLmNoZWNrTmV0d29ya1N0YXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrTmV0d29ya1N0YXRlKCkge1xuICAgIHRoaXMub25saW5lU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHdpbmRvdywgJ29ubGluZScpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCB0cmFuc2xhdGUgPSB0aGlzLmluamVjdG9yLmdldChMYW5ndWFnZVNlcnZpY2UpLnRyYW5zbGF0ZTtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmNvcmUubmV0d29yay5vbmxpbmUubWVzc2FnZScpO1xuICAgICAgY29uc3QgdGl0bGUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmNvcmUubmV0d29yay5vbmxpbmUudGl0bGUnKTtcbiAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuaW5mbyhtZXNzYWdlLCB0aXRsZSk7XG4gICAgICB0aGlzLnN0YXRlLmNvbm5lY3Rpb24gPSB0cnVlO1xuICAgICAgdGhpcy5lbWl0RXZlbnQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMub2ZmbGluZVN1YnNjcmlwdGlvbiA9IGZyb21FdmVudCh3aW5kb3csICdvZmZsaW5lJykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KExhbmd1YWdlU2VydmljZSkudHJhbnNsYXRlO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uY29yZS5uZXR3b3JrLm9mZmxpbmUubWVzc2FnZScpO1xuICAgICAgY29uc3QgdGl0bGUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmNvcmUubmV0d29yay5vZmZsaW5lLnRpdGxlJyk7XG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmluZm8obWVzc2FnZSwgdGl0bGUpO1xuICAgICAgdGhpcy5zdGF0ZS5jb25uZWN0aW9uID0gZmFsc2U7XG4gICAgICB0aGlzLmVtaXRFdmVudCgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RXZlbnQoKSB7XG4gICAgdGhpcy5zdGF0ZUNoYW5nZUV2ZW50RW1pdHRlci5lbWl0KHRoaXMuc3RhdGUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMub2ZmbGluZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5vbmxpbmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9IGNhdGNoIChlKSB7fVxuICB9XG5cbiAgY3VycmVudFN0YXRlKHJlcG9ydFN0YXRlID0gdHJ1ZSk6IE9ic2VydmFibGU8Q29ubmVjdGlvblN0YXRlPiB7XG4gICAgcmV0dXJuIHJlcG9ydFN0YXRlXG4gICAgICA/IHRoaXMuc3RhdGVDaGFuZ2VFdmVudEVtaXR0ZXIucGlwZShcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgICAgICBzdGFydFdpdGgodGhpcy5zdGF0ZSlcbiAgICAgICAgKVxuICAgICAgOiB0aGlzLnN0YXRlQ2hhbmdlRXZlbnRFbWl0dGVyLnBpcGUoZGVib3VuY2VUaW1lKDMwMCkpO1xuICB9XG59XG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvbGliL25ldHdvcmsvbmV0d29yay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUF1QixNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQTRCLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7O0FBTXRFLE1BQU0sT0FBTyxjQUFjO0lBVXpCLFlBQ1UsY0FBOEIsRUFDOUIsUUFBa0I7UUFEbEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFYcEIsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFLOUQsVUFBSyxHQUFvQjtZQUMvQixVQUFVLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNO1NBQ3BDLENBQUM7UUFNRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbkUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQ3BEO1lBQ0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQy9ELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQWlDLENBQUMsQ0FBQztZQUNyRSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUM7WUFDakUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JFLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO2dCQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQzthQUNwRDtZQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMvRCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7WUFDdEUsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQ2xFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUk7WUFDRixJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3ZDO1FBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRTtJQUNoQixDQUFDO0lBRUQsWUFBWSxDQUFDLFdBQVcsR0FBRyxJQUFJO1FBQzdCLE9BQU8sV0FBVztZQUNoQixDQUFDLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FDL0IsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUN0QjtZQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7OzRFQS9EVSxjQUFjO29FQUFkLGNBQWMsV0FBZCxjQUFjLG1CQUZiLE1BQU07dUZBRVAsY0FBYztjQUgxQixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi9tZXNzYWdlL3NoYXJlZC9tZXNzYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vbGFuZ3VhZ2Uvc2hhcmVkL2xhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29ubmVjdGlvblN0YXRlIH0gZnJvbSAnLi9uZXR3b3JrLmludGVyZmFjZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOZXR3b3JrU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgc3RhdGVDaGFuZ2VFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPENvbm5lY3Rpb25TdGF0ZT4oKTtcbiAgcHJpdmF0ZSBvbmxpbmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBvZmZsaW5lU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgcHJldmlvdXNNZXNzYWdlSWQ7XG5cbiAgcHJpdmF0ZSBzdGF0ZTogQ29ubmVjdGlvblN0YXRlID0ge1xuICAgIGNvbm5lY3Rpb246IHdpbmRvdy5uYXZpZ2F0b3Iub25MaW5lXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgICB0aGlzLmNoZWNrTmV0d29ya1N0YXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrTmV0d29ya1N0YXRlKCkge1xuICAgIHRoaXMub25saW5lU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHdpbmRvdywgJ29ubGluZScpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c01lc3NhZ2VJZCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnJlbW92ZSh0aGlzLnByZXZpb3VzTWVzc2FnZUlkKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KExhbmd1YWdlU2VydmljZSkudHJhbnNsYXRlO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uY29yZS5uZXR3b3JrLm9ubGluZS5tZXNzYWdlJyk7XG4gICAgICBjb25zdCB0aXRsZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uY29yZS5uZXR3b3JrLm9ubGluZS50aXRsZScpO1xuICAgICAgY29uc3QgbWVzc2FnZU9iaiA9IHRoaXMubWVzc2FnZVNlcnZpY2UuaW5mbyhtZXNzYWdlLCB0aXRsZSk7XG4gICAgICB0aGlzLnByZXZpb3VzTWVzc2FnZUlkID0gbWVzc2FnZU9iai50b2FzdElkO1xuICAgICAgdGhpcy5zdGF0ZS5jb25uZWN0aW9uID0gdHJ1ZTtcbiAgICAgIHRoaXMuZW1pdEV2ZW50KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm9mZmxpbmVTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQod2luZG93LCAnb2ZmbGluZScpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcmV2aW91c01lc3NhZ2VJZCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnJlbW92ZSh0aGlzLnByZXZpb3VzTWVzc2FnZUlkKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHRyYW5zbGF0ZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KExhbmd1YWdlU2VydmljZSkudHJhbnNsYXRlO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHRyYW5zbGF0ZS5pbnN0YW50KCdpZ28uY29yZS5uZXR3b3JrLm9mZmxpbmUubWVzc2FnZScpO1xuICAgICAgY29uc3QgdGl0bGUgPSB0cmFuc2xhdGUuaW5zdGFudCgnaWdvLmNvcmUubmV0d29yay5vZmZsaW5lLnRpdGxlJyk7XG4gICAgICBjb25zdCBtZXNzYWdlT2JqID0gdGhpcy5tZXNzYWdlU2VydmljZS5pbmZvKG1lc3NhZ2UsIHRpdGxlKTtcbiAgICAgIHRoaXMucHJldmlvdXNNZXNzYWdlSWQgPSBtZXNzYWdlT2JqLnRvYXN0SWQ7XG4gICAgICB0aGlzLnN0YXRlLmNvbm5lY3Rpb24gPSBmYWxzZTtcbiAgICAgIHRoaXMuZW1pdEV2ZW50KCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRFdmVudCgpIHtcbiAgICB0aGlzLnN0YXRlQ2hhbmdlRXZlbnRFbWl0dGVyLmVtaXQodGhpcy5zdGF0ZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5vZmZsaW5lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLm9ubGluZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG4gIH1cblxuICBjdXJyZW50U3RhdGUocmVwb3J0U3RhdGUgPSB0cnVlKTogT2JzZXJ2YWJsZTxDb25uZWN0aW9uU3RhdGU+IHtcbiAgICByZXR1cm4gcmVwb3J0U3RhdGVcbiAgICAgID8gdGhpcy5zdGF0ZUNoYW5nZUV2ZW50RW1pdHRlci5waXBlKFxuICAgICAgICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgICAgICAgIHN0YXJ0V2l0aCh0aGlzLnN0YXRlKVxuICAgICAgICApXG4gICAgICA6IHRoaXMuc3RhdGVDaGFuZ2VFdmVudEVtaXR0ZXIucGlwZShkZWJvdW5jZVRpbWUoMzAwKSk7XG4gIH1cbn1cbiJdfQ==