@colijnit/sharedcomponents 256.2.2 → 256.2.4

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 (51) hide show
  1. package/bundles/colijnit-sharedcomponents.umd.js +1386 -1146
  2. package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
  3. package/colijnit-sharedcomponents.d.ts +113 -111
  4. package/colijnit-sharedcomponents.metadata.json +1 -1
  5. package/esm2015/colijnit-sharedcomponents.js +114 -112
  6. package/esm2015/lib/components/docsign/docsign.component.js +33 -12
  7. package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.js +37 -7
  8. package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.js +6 -3
  9. package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.js +23 -11
  10. package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.js +6 -3
  11. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.js +24 -11
  12. package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.js +4 -2
  13. package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.js +28 -15
  14. package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.js +4 -2
  15. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +37 -29
  16. package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.js +4 -2
  17. package/esm2015/lib/components/send-method-dialog/components/send-method-purchase/send-method-purchase.component.js +155 -0
  18. package/esm2015/lib/components/send-method-dialog/components/send-method-purchase/send-method-purchase.module.js +30 -0
  19. package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +101 -24
  20. package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +6 -2
  21. package/esm2015/lib/enum/icon.enum.js +2 -1
  22. package/esm2015/lib/model/icon-svg.js +3 -2
  23. package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
  24. package/fesm2015/colijnit-sharedcomponents.js +902 -540
  25. package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
  26. package/lib/components/docsign/docsign.component.d.ts +9 -4
  27. package/lib/components/send-method-dialog/components/additional-file-button/style/_layout.scss +6 -2
  28. package/lib/components/send-method-dialog/components/additional-file-button/style/_material-definition.scss +3 -3
  29. package/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.d.ts +4 -1
  30. package/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.d.ts +2 -2
  31. package/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.d.ts +6 -1
  32. package/lib/components/send-method-dialog/components/send-method-email/style/_layout.scss +6 -2
  33. package/lib/components/send-method-dialog/components/send-method-email/style/_material-definition.scss +2 -2
  34. package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.d.ts +5 -0
  35. package/lib/components/send-method-dialog/components/send-method-pdf/style/_layout.scss +1 -1
  36. package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +5 -3
  37. package/lib/components/send-method-dialog/components/send-method-printer/style/_layout.scss +24 -4
  38. package/lib/components/send-method-dialog/components/send-method-purchase/send-method-purchase.component.d.ts +34 -0
  39. package/lib/components/send-method-dialog/components/send-method-purchase/send-method-purchase.module.d.ts +2 -0
  40. package/lib/components/send-method-dialog/components/send-method-purchase/style/_layout.scss +60 -0
  41. package/lib/components/send-method-dialog/components/send-method-purchase/style/_material-definition.scss +5 -0
  42. package/lib/components/send-method-dialog/components/send-method-purchase/style/_theme.scss +5 -0
  43. package/lib/components/send-method-dialog/components/send-method-purchase/style/material.scss +4 -0
  44. package/lib/components/send-method-dialog/components/signature-button/style/_layout.scss +8 -0
  45. package/lib/components/send-method-dialog/components/signature-button/style/_material-definition.scss +3 -3
  46. package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +12 -15
  47. package/lib/components/send-method-dialog/style/_layout.scss +25 -21
  48. package/lib/components/send-method-dialog/style/material.scss +1 -0
  49. package/lib/enum/icon.enum.d.ts +1 -0
  50. package/lib/res/dictionary/dictionaries.d.ts +25 -0
  51. package/package.json +1 -1
@@ -1,11 +1,12 @@
1
1
  import { __awaiter } from "tslib";
2
- import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from "@angular/core";
2
+ import { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation } from '@angular/core';
3
3
  import { animate, state, style, transition, trigger } from "@angular/animations";
4
4
  import { PDFDocument } from "pdf-lib";
5
5
  import * as PDFJS from "pdfjs-dist/legacy/build/pdf";
6
6
  import pdfjsWorker from "pdfjs-dist/build/pdf.worker.entry";
7
7
  export class DocsignComponent {
8
- constructor() {
8
+ constructor(_changeDetector) {
9
+ this._changeDetector = _changeDetector;
9
10
  this.saveButtonLabel = 'SAVE';
10
11
  this.clearButtonLabel = 'CLEAR';
11
12
  this.signDocumentButtonLabel = 'SIGN_DOCUMENT';
@@ -71,13 +72,32 @@ export class DocsignComponent {
71
72
  */
72
73
  set pdf(value) {
73
74
  if (value) {
74
- this._handlePdfData(value);
75
+ if (typeof value === 'string') {
76
+ this._preparePDF(value);
77
+ }
78
+ else {
79
+ this._pdf = value;
80
+ }
75
81
  this._openPDF();
76
82
  }
77
83
  }
78
84
  get pdf() {
79
85
  return this._pdf;
80
86
  }
87
+ set firstSignatureField(value) {
88
+ this._firstSignatureField = value;
89
+ this._checkSignatures();
90
+ }
91
+ get firstSignatureField() {
92
+ return this._firstSignatureField;
93
+ }
94
+ set secondSignatureField(value) {
95
+ this._secondSignatureField = value;
96
+ this._checkSignatures();
97
+ }
98
+ get secondSignatureField() {
99
+ return this._secondSignatureField;
100
+ }
81
101
  showClass() {
82
102
  return true;
83
103
  }
@@ -100,6 +120,7 @@ export class DocsignComponent {
100
120
  });
101
121
  const pdfDataUri = yield this.pdfDoc.saveAsBase64({ dataUri: true });
102
122
  this.iframe.nativeElement.src = pdfDataUri;
123
+ this._changeDetector.detectChanges();
103
124
  });
104
125
  }
105
126
  _savePdf() {
@@ -113,6 +134,9 @@ export class DocsignComponent {
113
134
  }
114
135
  _checkSignatures() {
115
136
  return __awaiter(this, void 0, void 0, function* () {
137
+ if (!this._pdf) {
138
+ return;
139
+ }
116
140
  let pdfWorkerSrc;
117
141
  if (window.hasOwnProperty('pdfWorkerSrc') &&
118
142
  typeof window.pdfWorkerSrc === 'string' &&
@@ -134,6 +158,7 @@ export class DocsignComponent {
134
158
  if (this.sigBuyerPosition.width > 0 && this.sigBuyerPosition.height > 0) {
135
159
  this.sigBuyerPosition.page = i;
136
160
  this.showSigBuyer = true;
161
+ this._changeDetector.detectChanges();
137
162
  }
138
163
  }
139
164
  if (this.secondSignatureField) {
@@ -141,6 +166,7 @@ export class DocsignComponent {
141
166
  if (this.sigSellerPosition.width > 0 && this.sigSellerPosition.height > 0) {
142
167
  this.sigSellerPosition.page = i;
143
168
  this.showSigSeller = true;
169
+ this._changeDetector.detectChanges();
144
170
  }
145
171
  }
146
172
  }
@@ -172,14 +198,6 @@ export class DocsignComponent {
172
198
  });
173
199
  });
174
200
  }
175
- _handlePdfData(pdfData) {
176
- if (typeof pdfData === 'string') {
177
- this._preparePDF(pdfData);
178
- }
179
- else {
180
- this._pdf = pdfData;
181
- }
182
- }
183
201
  _preparePDF(base64) {
184
202
  var binary_string = window.atob(base64);
185
203
  var len = binary_string.length;
@@ -224,6 +242,9 @@ DocsignComponent.decorators = [
224
242
  encapsulation: ViewEncapsulation.None
225
243
  },] }
226
244
  ];
245
+ DocsignComponent.ctorParameters = () => [
246
+ { type: ChangeDetectorRef }
247
+ ];
227
248
  DocsignComponent.propDecorators = {
228
249
  iframe: [{ type: ViewChild, args: ["iframe", { read: ElementRef },] }],
229
250
  pdf: [{ type: Input }],
@@ -239,4 +260,4 @@ DocsignComponent.propDecorators = {
239
260
  cancelClick: [{ type: Output }],
240
261
  showClass: [{ type: HostBinding, args: ['class.co-docsign',] }]
241
262
  };
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jc2lnbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kb2NzaWduL2RvY3NpZ24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEtBQUssS0FBSyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sV0FBVyxNQUFNLG1DQUFtQyxDQUFDO0FBMkM1RCxNQUFNLE9BQU8sZ0JBQWdCO0lBaEM3QjtRQWlIUyxvQkFBZSxHQUFXLE1BQU0sQ0FBQztRQUdqQyxxQkFBZ0IsR0FBVyxPQUFPLENBQUM7UUFHbkMsNEJBQXVCLEdBQVcsZUFBZSxDQUFDO1FBR2xELHNCQUFpQixHQUFXLFFBQVEsQ0FBQztRQUdyQyxhQUFRLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHNUQsZ0JBQVcsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQU92RSx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFOUIsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFL0IsbUJBQWMsR0FBWSxLQUFLLENBQUM7SUFrSHpDLENBQUM7SUExTkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW1ERztJQUNI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Q0FZTCxLQUFLO2tDQUdMLEtBQUs7bUNBR0wsS0FBSzttQ0FHTCxLQUFLOzhCQUdMLEtBQUs7K0JBR0wsS0FBSztzQ0FHTCxLQUFLO2dDQUdMLEtBQUs7dUJBR0wsTUFBTTswQkFHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7UERGRG9jdW1lbnR9IGZyb20gXCJwZGYtbGliXCI7XHJcbmltcG9ydCAqIGFzIFBERkpTIGZyb20gXCJwZGZqcy1kaXN0L2xlZ2FjeS9idWlsZC9wZGZcIjtcclxuaW1wb3J0IHBkZmpzV29ya2VyIGZyb20gXCJwZGZqcy1kaXN0L2J1aWxkL3BkZi53b3JrZXIuZW50cnlcIjtcclxuaW1wb3J0IHtUZXh0SXRlbX0gZnJvbSBcInBkZmpzLWRpc3QvdHlwZXMvc3JjL2Rpc3BsYXkvYXBpXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRleHREaW1lbnNpb24ge1xyXG4gIHg6IG51bWJlcixcclxuICB5OiBudW1iZXIsXHJcbiAgd2lkdGg6IG51bWJlcixcclxuICBoZWlnaHQ6IG51bWJlcixcclxuICBwYWdlOiBudW1iZXJcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tZG9jc2lnblwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8aWZyYW1lICNpZnJhbWU+PC9pZnJhbWU+XHJcbiAgICA8Y28tc2lnbmF0dXJlcyAqbmdJZj1cInNob3dTaWduYXR1cmVzXCIgQHNob3dIaWRlU2lnbmF0dXJlXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzaG93Rmlyc3RTaWduYXR1cmVdPVwic2hvd1NpZ0J1eWVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ZpcnN0U2lnbmF0dXJlVGl0bGVdPVwiZmlyc3RTaWduYXR1cmVMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzaG93U2Vjb25kU2lnbmF0dXJlXT1cInNob3dTaWdTZWxsZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbc2Vjb25kU2lnbmF0dXJlVGl0bGVdPVwic2Vjb25kU2lnbmF0dXJlTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbc2F2ZUJ1dHRvbkxhYmVsXT1cInNhdmVCdXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtjbGVhckJ1dHRvbkxhYmVsXT1cImNsZWFyQnV0dG9uTGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoc2F2ZUZpcnN0U2lnbmF0dXJlKT1cInNhdmVGaXJzdFNpZ25hdHVyZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKHNhdmVTZWNvbmRTaWduYXR1cmUpPVwic2F2ZVNlY29uZFNpZ25hdHVyZSgkZXZlbnQpXCJcclxuICAgID48L2NvLXNpZ25hdHVyZXM+XHJcbiAgICA8aW5wdXQgdHlwZT1cImJ1dHRvblwiICpuZ0lmPVwiKHNob3dTaWdCdXllciB8fCBzaG93U2lnU2VsbGVyKSAmJiAhc2hvd1NpZ25hdHVyZXNcIiBjbGFzcz1cImJ1dHRvbiBidXR0b24tc2lnbi1kb2N1bWVudFwiXHJcbiAgICAgICAgICAgW3ZhbHVlXT1cInNpZ25Eb2N1bWVudEJ1dHRvbkxhYmVsXCJcclxuICAgICAgICAgICAoY2xpY2spPVwic2hvd1NpZ25hdHVyZXMgPSB0cnVlXCJcclxuICAgIC8+XHJcbiAgICA8aW5wdXQgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1jYW5jZWxcIlxyXG4gICAgICAgICAgIFt2YWx1ZV09XCJjYW5jZWxCdXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbENsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAvPlxyXG4gIGAsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcihcInNob3dIaWRlU2lnbmF0dXJlXCIsIFtcclxuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApXCJ9KSksXHJcbiAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKVwifSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKFwidm9pZCA8PT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxyXG4gICAgXSlcclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIERvY3NpZ25Db21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoXCJpZnJhbWVcIiwgeyByZWFkOiBFbGVtZW50UmVmIH0pXHJcbiAgcHVibGljIGlmcmFtZTogRWxlbWVudFJlZjtcclxuXHJcbiAgLyoqXHJcbiAgICogTG9hZCBhbiBleGlzdGluZyBbW1BERkRvY3VtZW50XV0uIFRoZSBpbnB1dCBkYXRhIGNhbiBiZSBwcm92aWRlZCBpblxyXG4gICAqIG11bHRpcGxlIGZvcm1hdHM6XHJcbiAgICpcclxuICAgKiB8IFR5cGUgICAgICAgICAgfCBDb250ZW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4gICAqIHwgLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8XHJcbiAgICogfCBgc3RyaW5nYCAgICAgIHwgQSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgKG9yIGRhdGEgVVJJKSBjb250YWluaW5nIGEgUERGIHxcclxuICAgKiB8IGBVaW50OEFycmF5YCAgfCBUaGUgcmF3IGJ5dGVzIG9mIGEgUERGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4gICAqIHwgYEFycmF5QnVmZmVyYCB8IFRoZSByYXcgYnl0ZXMgb2YgYSBQREYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbiAgICpcclxuICAgKiBGb3IgZXhhbXBsZTpcclxuICAgKiBgYGBqc1xyXG4gICAqIGltcG9ydCB7IFBERkRvY3VtZW50IH0gZnJvbSAncGRmLWxpYidcclxuICAgKlxyXG4gICAqIC8vIHBkZj1zdHJpbmdcclxuICAgKiBjb25zdCBiYXNlNjQgPVxyXG4gICAqICAnSlZCRVJpMHhMamNLSllHQmdZRUtDalVnTUNCdlltb0tQRHdLTDBacGJIUmxjaUF2Um14aGRHVkVaV052WkdVS0wweGxibScgK1xyXG4gICAqICAnZDBhQ0F4TURRS1BqNEtjM1J5WldGdENuaWNjd3JoTWxBQXdhSjBMbjJQMUp5eTFKTE01RVJkYzBNakN3VWpFNFdRTkM0UScgK1xyXG4gICAqICAnNmNObENGWmtxR0NxWUdTcUVKTExaV051WUdaaVptYmtZdVpzWm1sbVpHUmdabWx1RENRTnpjM05UTTJOemR6TVhNeE1qUScgK1xyXG4gICAqICAnenRGRUt5dUVLMHVGeER1QUFPRVJkVkNtVnVaSE4wY21WaGJRcGxibVJ2WW1vS0NqWWdNQ0J2WW1vS1BEd0tMMFpwYkhSbCcgK1xyXG4gICAqICAnY2lBdlJteGhkR1ZFWldOdlpHVUtMMVI1Y0dVZ0wwOWlhbE4wYlFvdlRpQTBDaTlHYVhKemRDQXlNQW92VEdWdVozUm9JRCcgK1xyXG4gICAqICAnSXhOUW8rUGdwemRISmxZVzBLZUp4Vmo5R3F3akFNaHUvekZIa0J6VG8zbkNDQ2lpS0lIUEVJQ3VKRjNjS29TQ3UyRTgvYicgK1xyXG4gICAqICAnMjB3UElyMXA4djkvOGtWaGdpbG1HZmF3WDJDR2FWcmdjQWkwL2JzeTBsclg3SUdXcHZKNGlKWUVOM2dFbXJyR0JsUXdHcycgK1xyXG4gICAqICAnSEhPOVZCWDF3TnJ4QXFNWDg3UkJENXhwSnVkZHF3ZDgydGpBSHh6VjFVNUxQZ3k1MkRLWFducjFMaGVnK2ovYy9wekdWcicgK1xyXG4gICAqICAnaXFWMFZsd1pQWEdQQ0pqRWx3L3lia3dVbWVvV2d4ZXNEWEdoSEpDL0QvaWlrcDFBdjgwcHRLVTBGZEJFZTI1cFBpaEFNMScgK1xyXG4gICAqICAndTZ5dGdhYVdmczJIcnozNUNKVDErRVdtQUtaVzVrYzNSeVpXRnRDbVZ1Wkc5aWFnb0tOeUF3SUc5aWFnbzhQQW92VTJsNicgK1xyXG4gICAqICAnWlNBNENpOVNiMjkwSURJZ01DQlNDaTlHYVd4MFpYSWdMMFpzWVhSbFJHVmpiMlJsQ2k5VWVYQmxJQzlZVW1WbUNpOU1aVycgK1xyXG4gICAqICAnNW5kR2dnTXpnS0wxY2dXeUF4SURJZ01pQmRDaTlKYm1SbGVDQmJJREFnT0NCZENqNCtDbk4wY21WaGJRcDRuQlhFd1JFQScgK1xyXG4gICAqICAnRUJBRXNDd3ozdnJ2Um1PT3l5T29HaFpkdXRITjJNVDU1ZklBVm9jRCtBcGxibVJ6ZEhKbFlXMEtaVzVrYjJKcUNncHpkRycgK1xyXG4gICAqICAnRnlkSGh5WldZS05URXdDaVVsUlU5RydcclxuICAgKlxyXG4gICAqIGNvbnN0IGRhdGFVcmkgPSAnZGF0YTphcHBsaWNhdGlvbi9wZGY7YmFzZTY0LCcgKyBiYXNlNjRcclxuICAgKlxyXG4gICAqIGNvbnN0IHBkZkRvYzEgPSBhd2FpdCBQREZEb2N1bWVudC5sb2FkKGJhc2U2NClcclxuICAgKiBjb25zdCBwZGZEb2MyID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZChkYXRhVXJpKVxyXG4gICAqXHJcbiAgICogLy8gcGRmPVVpbnQ4QXJyYXlcclxuICAgKiBpbXBvcnQgZnMgZnJvbSAnZnMnXHJcbiAgICogY29uc3QgdWludDhBcnJheSA9IGZzLnJlYWRGaWxlU3luYygnd2l0aF91cGRhdGVfc2VjdGlvbnMucGRmJylcclxuICAgKiBjb25zdCBwZGZEb2MzID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZCh1aW50OEFycmF5KVxyXG4gICAqXHJcbiAgICogLy8gcGRmPUFycmF5QnVmZmVyXHJcbiAgICogY29uc3QgdXJsID0gJ2h0dHBzOi8vcGRmLWxpYi5qcy5vcmcvYXNzZXRzL3dpdGhfdXBkYXRlX3NlY3Rpb25zLnBkZidcclxuICAgKiBjb25zdCBhcnJheUJ1ZmZlciA9IGF3YWl0IGZldGNoKHVybCkudGhlbihyZXMgPT4gcmVzLmFycmF5QnVmZmVyKCkpXHJcbiAgICogY29uc3QgcGRmRG9jNCA9IGF3YWl0IFBERkRvY3VtZW50LmxvYWQoYXJyYXlCdWZmZXIpXHJcbiAgICpcclxuICAgKiBgYGBcclxuICAgKlxyXG4gICAqIEBwYXJhbSBwZGYgVGhlIGlucHV0IGRhdGEgY29udGFpbmluZyBhIFBERiBkb2N1bWVudC5cclxuICAgKiBAcGFyYW0gb3B0aW9ucyBUaGUgb3B0aW9ucyB0byBiZSB1c2VkIHdoZW4gbG9hZGluZyB0aGUgZG9jdW1lbnQuXHJcbiAgICogQHJldHVybnMgUmVzb2x2ZXMgd2l0aCBhIGRvY3VtZW50IGxvYWRlZCBmcm9tIHRoZSBpbnB1dC5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgcGRmKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLl9oYW5kbGVQZGZEYXRhKHZhbHVlKTtcclxuICAgICAgdGhpcy5fb3BlblBERigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwZGYoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9wZGY7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmaXJzdFNpZ25hdHVyZUxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGZpcnN0U2lnbmF0dXJlRmllbGQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2Vjb25kU2lnbmF0dXJlTGFiZWw6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2Vjb25kU2lnbmF0dXJlRmllbGQ6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2F2ZUJ1dHRvbkxhYmVsOiBzdHJpbmcgPSAnU0FWRSc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNsZWFyQnV0dG9uTGFiZWw6IHN0cmluZyA9ICdDTEVBUic7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNpZ25Eb2N1bWVudEJ1dHRvbkxhYmVsOiBzdHJpbmcgPSAnU0lHTl9ET0NVTUVOVCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNhbmNlbEJ1dHRvbkxhYmVsOiBzdHJpbmcgPSAnQ0FOQ0VMJztcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHBkZlNhdmVkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2FuY2VsQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1kb2NzaWduJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1NpZ25hdHVyZVBvcHVwOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNob3dTaWdCdXllcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaWdCdXllclBvc2l0aW9uOiBUZXh0RGltZW5zaW9uO1xyXG4gIHB1YmxpYyBzaG93U2lnU2VsbGVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNpZ1NlbGxlclBvc2l0aW9uOiBUZXh0RGltZW5zaW9uO1xyXG4gIHB1YmxpYyBzaG93U2lnbmF0dXJlczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgcGRmRG9jOiBQREZEb2N1bWVudDtcclxuXHJcbiAgcHJpdmF0ZSBfcGRmOiBhbnk7XHJcblxyXG4gIHB1YmxpYyBzYXZlRmlyc3RTaWduYXR1cmUoc2lnOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NhdmVTaWduYXR1cmUoc2lnLCB0aGlzLnNpZ0J1eWVyUG9zaXRpb24pO1xyXG4gICAgdGhpcy5zaG93U2lnQnV5ZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuX3NhdmVQZGYoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlU2Vjb25kU2lnbmF0dXJlKHNpZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zYXZlU2lnbmF0dXJlKHNpZywgdGhpcy5zaWdTZWxsZXJQb3NpdGlvbik7XHJcbiAgICB0aGlzLnNob3dTaWdTZWxsZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuX3NhdmVQZGYoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX29wZW5QREYoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBmaXJzdCBjcmVhdGUgcmVhZGVyIHRvIGNoZWNrIHNpZ25hdHVyZXNcclxuICAgIHRoaXMuX2NoZWNrU2lnbmF0dXJlcygpO1xyXG5cclxuICAgIHRoaXMucGRmRG9jID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZCh0aGlzLl9wZGYsIHtcclxuICAgICAgdXBkYXRlTWV0YWRhdGE6IGZhbHNlXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHBkZkRhdGFVcmkgPSBhd2FpdCB0aGlzLnBkZkRvYy5zYXZlQXNCYXNlNjQoeyBkYXRhVXJpOiB0cnVlIH0pO1xyXG4gICAgdGhpcy5pZnJhbWUubmF0aXZlRWxlbWVudC5zcmMgPSBwZGZEYXRhVXJpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2F2ZVBkZigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5zaG93U2lnQnV5ZXIgJiYgIXRoaXMuc2hvd1NpZ1NlbGxlcikge1xyXG4gICAgICAvLyByZWFkeSwgc2F2ZSB0aGUgcGRmIGFuZCBlbWl0IHJlc3VsdFxyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBkZkRvYy5zYXZlQXNCYXNlNjQoKTtcclxuICAgICAgdGhpcy5wZGZTYXZlZC5uZXh0KHJlc3VsdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9jaGVja1NpZ25hdHVyZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBsZXQgcGRmV29ya2VyU3JjO1xyXG4gICAgaWYgKHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgncGRmV29ya2VyU3JjJykgJiZcclxuICAgICAgdHlwZW9mICh3aW5kb3cgYXMgYW55KS5wZGZXb3JrZXJTcmMgPT09ICdzdHJpbmcnICYmXHJcbiAgICAgICh3aW5kb3cgYXMgYW55KS5wZGZXb3JrZXJTcmMpIHtcclxuICAgICAgcGRmV29ya2VyU3JjID0gKHdpbmRvdyBhcyBhbnkpLnBkZldvcmtlclNyYztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBwZGZXb3JrZXJTcmMgPSBwZGZqc1dvcmtlcjtcclxuICAgIH1cclxuICAgIFBERkpTLkdsb2JhbFdvcmtlck9wdGlvbnMud29ya2VyU3JjID0gcGRmV29ya2VyU3JjO1xyXG4gICAgY29uc3QgcGRmUmVhZGVyID0gYXdhaXQgUERGSlMuZ2V0RG9jdW1lbnQodGhpcy5fcGRmKS5wcm9taXNlO1xyXG4gICAgY29uc3QgbnVtUGFnZXMgPSBwZGZSZWFkZXIubnVtUGFnZXM7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVBhZ2VzOyBpKyspIHtcclxuICAgICAgY29uc3QgcGFnZSA9IGF3YWl0IHBkZlJlYWRlci5nZXRQYWdlKGkgKyAxKTtcclxuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHBhZ2UuZ2V0VGV4dENvbnRlbnQoKTtcclxuICAgICAgcGFnZS5jbGVhbnVwKCk7XHJcbiAgICAgIGlmICh0aGlzLmZpcnN0U2lnbmF0dXJlRmllbGQpIHtcclxuICAgICAgICB0aGlzLnNpZ0J1eWVyUG9zaXRpb24gPSB0aGlzLl9nZXRQb3NpdGlvblNpZ25hdHVyZSh0ZXh0LCB0aGlzLmZpcnN0U2lnbmF0dXJlRmllbGQpO1xyXG4gICAgICAgIGlmICh0aGlzLnNpZ0J1eWVyUG9zaXRpb24ud2lkdGggPiAwICYmIHRoaXMuc2lnQnV5ZXJQb3NpdGlvbi5oZWlnaHQgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNpZ0J1eWVyUG9zaXRpb24ucGFnZSA9IGk7XHJcbiAgICAgICAgICB0aGlzLnNob3dTaWdCdXllciA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlY29uZFNpZ25hdHVyZUZpZWxkKSB7XHJcbiAgICAgICAgdGhpcy5zaWdTZWxsZXJQb3NpdGlvbiA9IHRoaXMuX2dldFBvc2l0aW9uU2lnbmF0dXJlKHRleHQsIHRoaXMuc2Vjb25kU2lnbmF0dXJlRmllbGQpO1xyXG4gICAgICAgIGlmICh0aGlzLnNpZ1NlbGxlclBvc2l0aW9uLndpZHRoID4gMCAmJiB0aGlzLnNpZ1NlbGxlclBvc2l0aW9uLmhlaWdodCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuc2lnU2VsbGVyUG9zaXRpb24ucGFnZSA9IGk7XHJcbiAgICAgICAgICB0aGlzLnNob3dTaWdTZWxsZXIgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UG9zaXRpb25TaWduYXR1cmUodGV4dEl0ZW06IGFueSwgc2lnbmF0dXJlRmllbGQ6IHN0cmluZyk6IFRleHREaW1lbnNpb24ge1xyXG4gICAgY29uc3Qgc2lnSXRlbTogVGV4dEl0ZW0gPSA8VGV4dEl0ZW0+dGV4dEl0ZW0uaXRlbXMuZmluZCgoaTogYW55KSA9PiBpLnN0ci50b0xvd2VyQ2FzZSgpID09PSBzaWduYXR1cmVGaWVsZC50b0xvd2VyQ2FzZSgpKTtcclxuICAgIGlmIChzaWdJdGVtKSB7XHJcbiAgICAgIHRleHRJdGVtLml0ZW1zLnNsaWNlKHRleHRJdGVtLml0ZW1zLmluZGV4T2Yoc2lnSXRlbSksIDEpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHg6IHNpZ0l0ZW0udHJhbnNmb3JtWzRdLFxyXG4gICAgICAgIHk6IHNpZ0l0ZW0udHJhbnNmb3JtWzVdLFxyXG4gICAgICAgIHdpZHRoOiBzaWdJdGVtLndpZHRoLFxyXG4gICAgICAgIGhlaWdodDogc2lnSXRlbS5oZWlnaHQsXHJcbiAgICAgICAgcGFnZTogMFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHt4OiAwLCB5OiAwLCB3aWR0aDogMCwgaGVpZ2h0OiAwLCBwYWdlOiAwfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2F2ZVNpZ25hdHVyZShzaWc6IHN0cmluZywgZGltZW5zaW9uczogVGV4dERpbWVuc2lvbik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QganBnSW1hZ2UgPSBhd2FpdCB0aGlzLnBkZkRvYy5lbWJlZFBuZyhzaWcpO1xyXG4gICAgY29uc3QgcGFnZSA9IGF3YWl0IHRoaXMucGRmRG9jLmdldFBhZ2UoZGltZW5zaW9ucy5wYWdlKTtcclxuICAgIHBhZ2UuZHJhd0ltYWdlKGpwZ0ltYWdlLCB7XHJcbiAgICAgIHg6ICgoZGltZW5zaW9ucy54ICsgKGRpbWVuc2lvbnMud2lkdGggLyAyKSkgLSAoMjAwIC8gMikpLFxyXG4gICAgICB5OiAoKGRpbWVuc2lvbnMueSArIChkaW1lbnNpb25zLmhlaWdodCAvIDIpKSAtICgxMDAgLyAyKSksXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICAgIGhlaWdodDogMTAwXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhbmRsZVBkZkRhdGEocGRmRGF0YTogYW55KSB7XHJcbiAgICBpZiAodHlwZW9mIHBkZkRhdGEgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVQREYocGRmRGF0YSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9wZGYgPSBwZGZEYXRhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZVBERihiYXNlNjQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdmFyIGJpbmFyeV9zdHJpbmcgPSB3aW5kb3cuYXRvYihiYXNlNjQpO1xyXG4gICAgdmFyIGxlbiA9IGJpbmFyeV9zdHJpbmcubGVuZ3RoO1xyXG4gICAgdmFyIGJ5dGVzID0gbmV3IFVpbnQ4QXJyYXkobGVuKTtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgYnl0ZXNbaV0gPSBiaW5hcnlfc3RyaW5nLmNoYXJDb2RlQXQoaSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9wZGYgPSBieXRlcztcclxuICB9XHJcbn1cclxuIl19
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jc2lnbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9kb2NzaWduL2RvY3NpZ24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZKLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUNwQyxPQUFPLEtBQUssS0FBSyxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sV0FBVyxNQUFNLG1DQUFtQyxDQUFDO0FBMkM1RCxNQUFNLE9BQU8sZ0JBQWdCO0lBc0kzQixZQUNVLGVBQWtDO1FBQWxDLG9CQUFlLEdBQWYsZUFBZSxDQUFtQjtRQXBDckMsb0JBQWUsR0FBVyxNQUFNLENBQUM7UUFHakMscUJBQWdCLEdBQVcsT0FBTyxDQUFDO1FBR25DLDRCQUF1QixHQUFXLGVBQWUsQ0FBQztRQUdsRCxzQkFBaUIsR0FBVyxRQUFRLENBQUM7UUFHckMsYUFBUSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRzVELGdCQUFXLEdBQTZCLElBQUksWUFBWSxFQUFjLENBQUM7UUFPdkUsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBQ3BDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTlCLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBRS9CLG1CQUFjLEdBQVksS0FBSyxDQUFDO0lBV3ZDLENBQUM7SUFySUQ7Ozs7Ozs7Ozs7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QztRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7OztZQXBSRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQlQ7Z0JBQ0QsVUFBVSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTt3QkFDM0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsZ0NBQWdDLEVBQUMsQ0FBQyxDQUFDO3dCQUNuRSxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxnQ0FBZ0MsRUFBQyxDQUFDLENBQUM7d0JBQ2hFLFVBQVUsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7cUJBQ3ZELENBQUM7aUJBQ0g7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTlDTyxpQkFBaUI7OztxQkFnRHRCLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2tCQXVEeEMsS0FBSztrQ0FnQkwsS0FBSztrQ0FHTCxLQUFLO21DQVVMLEtBQUs7bUNBR0wsS0FBSzs4QkFVTCxLQUFLOytCQUdMLEtBQUs7c0NBR0wsS0FBSztnQ0FHTCxLQUFLO3VCQUdMLE1BQU07MEJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL2FuaW1hdGlvbnNcIjtcclxuaW1wb3J0IHtQREZEb2N1bWVudH0gZnJvbSBcInBkZi1saWJcIjtcclxuaW1wb3J0ICogYXMgUERGSlMgZnJvbSBcInBkZmpzLWRpc3QvbGVnYWN5L2J1aWxkL3BkZlwiO1xyXG5pbXBvcnQgcGRmanNXb3JrZXIgZnJvbSBcInBkZmpzLWRpc3QvYnVpbGQvcGRmLndvcmtlci5lbnRyeVwiO1xyXG5pbXBvcnQge1RleHRJdGVtfSBmcm9tIFwicGRmanMtZGlzdC90eXBlcy9zcmMvZGlzcGxheS9hcGlcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGV4dERpbWVuc2lvbiB7XHJcbiAgeDogbnVtYmVyLFxyXG4gIHk6IG51bWJlcixcclxuICB3aWR0aDogbnVtYmVyLFxyXG4gIGhlaWdodDogbnVtYmVyLFxyXG4gIHBhZ2U6IG51bWJlclxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1kb2NzaWduXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxpZnJhbWUgI2lmcmFtZT48L2lmcmFtZT5cclxuICAgIDxjby1zaWduYXR1cmVzICpuZ0lmPVwic2hvd1NpZ25hdHVyZXNcIiBAc2hvd0hpZGVTaWduYXR1cmVcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dGaXJzdFNpZ25hdHVyZV09XCJzaG93U2lnQnV5ZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbZmlyc3RTaWduYXR1cmVUaXRsZV09XCJmaXJzdFNpZ25hdHVyZUxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgW3Nob3dTZWNvbmRTaWduYXR1cmVdPVwic2hvd1NpZ1NlbGxlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzZWNvbmRTaWduYXR1cmVUaXRsZV09XCJzZWNvbmRTaWduYXR1cmVMYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzYXZlQnV0dG9uTGFiZWxdPVwic2F2ZUJ1dHRvbkxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2NsZWFyQnV0dG9uTGFiZWxdPVwiY2xlYXJCdXR0b25MYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChzYXZlRmlyc3RTaWduYXR1cmUpPVwic2F2ZUZpcnN0U2lnbmF0dXJlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoc2F2ZVNlY29uZFNpZ25hdHVyZSk9XCJzYXZlU2Vjb25kU2lnbmF0dXJlKCRldmVudClcIlxyXG4gICAgPjwvY28tc2lnbmF0dXJlcz5cclxuICAgIDxpbnB1dCB0eXBlPVwiYnV0dG9uXCIgKm5nSWY9XCIoc2hvd1NpZ0J1eWVyIHx8IHNob3dTaWdTZWxsZXIpICYmICFzaG93U2lnbmF0dXJlc1wiIGNsYXNzPVwiYnV0dG9uIGJ1dHRvbi1zaWduLWRvY3VtZW50XCJcclxuICAgICAgICAgICBbdmFsdWVdPVwic2lnbkRvY3VtZW50QnV0dG9uTGFiZWxcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJzaG93U2lnbmF0dXJlcyA9IHRydWVcIlxyXG4gICAgLz5cclxuICAgIDxpbnB1dCB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gYnV0dG9uLWNhbmNlbFwiXHJcbiAgICAgICAgICAgW3ZhbHVlXT1cImNhbmNlbEJ1dHRvbkxhYmVsXCJcclxuICAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsQ2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgIC8+XHJcbiAgYCxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVTaWduYXR1cmVcIiwgW1xyXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMClcIn0pKSxcclxuICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwidHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpXCJ9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oXCJ2b2lkIDw9PiAqXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSksXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jc2lnbkNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChcImlmcmFtZVwiLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcclxuICBwdWJsaWMgaWZyYW1lOiBFbGVtZW50UmVmO1xyXG5cclxuICAvKipcclxuICAgKiBMb2FkIGFuIGV4aXN0aW5nIFtbUERGRG9jdW1lbnRdXS4gVGhlIGlucHV0IGRhdGEgY2FuIGJlIHByb3ZpZGVkIGluXHJcbiAgICogbXVsdGlwbGUgZm9ybWF0czpcclxuICAgKlxyXG4gICAqIHwgVHlwZSAgICAgICAgICB8IENvbnRlbnRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbiAgICogfCAtLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHxcclxuICAgKiB8IGBzdHJpbmdgICAgICAgfCBBIGJhc2U2NCBlbmNvZGVkIHN0cmluZyAob3IgZGF0YSBVUkkpIGNvbnRhaW5pbmcgYSBQREYgfFxyXG4gICAqIHwgYFVpbnQ4QXJyYXlgICB8IFRoZSByYXcgYnl0ZXMgb2YgYSBQREYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbiAgICogfCBgQXJyYXlCdWZmZXJgIHwgVGhlIHJhdyBieXRlcyBvZiBhIFBERiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuICAgKlxyXG4gICAqIEZvciBleGFtcGxlOlxyXG4gICAqIGBgYGpzXHJcbiAgICogaW1wb3J0IHsgUERGRG9jdW1lbnQgfSBmcm9tICdwZGYtbGliJ1xyXG4gICAqXHJcbiAgICogLy8gcGRmPXN0cmluZ1xyXG4gICAqIGNvbnN0IGJhc2U2NCA9XHJcbiAgICogICdKVkJFUmkweExqY0tKWUdCZ1lFS0NqVWdNQ0J2WW1vS1BEd0tMMFpwYkhSbGNpQXZSbXhoZEdWRVpXTnZaR1VLTDB4bGJtJyArXHJcbiAgICogICdkMGFDQXhNRFFLUGo0S2MzUnlaV0Z0Q25pY2N3cmhNbEFBd2FKMExuMlAxSnl5MUpMTTVFUmRjME1qQ3dVakU0V1FOQzRRJyArXHJcbiAgICogICc2Y05sQ0Zaa3FHQ3FZR1NxRUpMTFpXTnVZR1ppWm1ia1l1WnNabWxtWkdSZ1ptbHVEQ1FOemMzTlRNMk56ZHpNWE14TWpRJyArXHJcbiAgICogICd6dEZFS3l1RUswdUZ4RHVBQU9FUmRWQ21WdVpITjBjbVZoYlFwbGJtUnZZbW9LQ2pZZ01DQnZZbW9LUER3S0wwWnBiSFJsJyArXHJcbiAgICogICdjaUF2Um14aGRHVkVaV052WkdVS0wxUjVjR1VnTDA5aWFsTjBiUW92VGlBMENpOUdhWEp6ZENBeU1Bb3ZUR1Z1WjNSb0lEJyArXHJcbiAgICogICdJeE5RbytQZ3B6ZEhKbFlXMEtlSnhWajlHcXdqQU1odS96RkhrQnpUbzNuQ0NDaWlLSUhQRUlDdUpGM2NLb1NDdTJFOC9iJyArXHJcbiAgICogICcyMHdQSXIxcDh2OS84a1ZoZ2lsbUdmYXdYMkNHYVZyZ2NBaTAvYnN5MGxyWDdJR1dwdko0aUpZRU4zZ0VtcnJHQmxRd0dzJyArXHJcbiAgICogICdISE85VkJYMXdOcnhBcU1YODdSQkQ1eHBKdWRkcXdkODJ0akFIeHpWMVU1TFBneTUyREtYV25yMUxoZWcrai9jL3B6R1ZyJyArXHJcbiAgICogICdpcVYwVmx3WlBYR1BDSmpFbHcveWJrd1VtZW9XZ3hlc0RYR2hISkMvRC9paWtwMUF2ODBwdEtVMEZkQkVlMjVwUGloQU0xJyArXHJcbiAgICogICd1Nnl0Z2FhV2ZzMkhyejM1Q0pUMStFV21BS1pXNWtjM1J5WldGdENtVnVaRzlpYWdvS055QXdJRzlpYWdvOFBBb3ZVMmw2JyArXHJcbiAgICogICdaU0E0Q2k5U2IyOTBJRElnTUNCU0NpOUdhV3gwWlhJZ0wwWnNZWFJsUkdWamIyUmxDaTlVZVhCbElDOVlVbVZtQ2k5TVpXJyArXHJcbiAgICogICc1bmRHZ2dNemdLTDFjZ1d5QXhJRElnTWlCZENpOUpibVJsZUNCYklEQWdPQ0JkQ2o0K0NuTjBjbVZoYlFwNG5CWEV3UkVBJyArXHJcbiAgICogICdFQkFFc0N3ejN2cnZSbU9PeXlPb0doWmR1dEhOMk1UNTVmSUFWb2NEK0FwbGJtUnpkSEpsWVcwS1pXNWtiMkpxQ2dwemRHJyArXHJcbiAgICogICdGeWRIaHlaV1lLTlRFd0NpVWxSVTlHJ1xyXG4gICAqXHJcbiAgICogY29uc3QgZGF0YVVyaSA9ICdkYXRhOmFwcGxpY2F0aW9uL3BkZjtiYXNlNjQsJyArIGJhc2U2NFxyXG4gICAqXHJcbiAgICogY29uc3QgcGRmRG9jMSA9IGF3YWl0IFBERkRvY3VtZW50LmxvYWQoYmFzZTY0KVxyXG4gICAqIGNvbnN0IHBkZkRvYzIgPSBhd2FpdCBQREZEb2N1bWVudC5sb2FkKGRhdGFVcmkpXHJcbiAgICpcclxuICAgKiAvLyBwZGY9VWludDhBcnJheVxyXG4gICAqIGltcG9ydCBmcyBmcm9tICdmcydcclxuICAgKiBjb25zdCB1aW50OEFycmF5ID0gZnMucmVhZEZpbGVTeW5jKCd3aXRoX3VwZGF0ZV9zZWN0aW9ucy5wZGYnKVxyXG4gICAqIGNvbnN0IHBkZkRvYzMgPSBhd2FpdCBQREZEb2N1bWVudC5sb2FkKHVpbnQ4QXJyYXkpXHJcbiAgICpcclxuICAgKiAvLyBwZGY9QXJyYXlCdWZmZXJcclxuICAgKiBjb25zdCB1cmwgPSAnaHR0cHM6Ly9wZGYtbGliLmpzLm9yZy9hc3NldHMvd2l0aF91cGRhdGVfc2VjdGlvbnMucGRmJ1xyXG4gICAqIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgZmV0Y2godXJsKS50aGVuKHJlcyA9PiByZXMuYXJyYXlCdWZmZXIoKSlcclxuICAgKiBjb25zdCBwZGZEb2M0ID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZChhcnJheUJ1ZmZlcilcclxuICAgKlxyXG4gICAqIGBgYFxyXG4gICAqXHJcbiAgICogQHBhcmFtIHBkZiBUaGUgaW5wdXQgZGF0YSBjb250YWluaW5nIGEgUERGIGRvY3VtZW50LlxyXG4gICAqIEBwYXJhbSBvcHRpb25zIFRoZSBvcHRpb25zIHRvIGJlIHVzZWQgd2hlbiBsb2FkaW5nIHRoZSBkb2N1bWVudC5cclxuICAgKiBAcmV0dXJucyBSZXNvbHZlcyB3aXRoIGEgZG9jdW1lbnQgbG9hZGVkIGZyb20gdGhlIGlucHV0LlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBwZGYodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgdGhpcy5fcHJlcGFyZVBERih2YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5fcGRmID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5fb3BlblBERigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwZGYoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9wZGY7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBmaXJzdFNpZ25hdHVyZUxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBmaXJzdFNpZ25hdHVyZUZpZWxkKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2ZpcnN0U2lnbmF0dXJlRmllbGQgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2NoZWNrU2lnbmF0dXJlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBmaXJzdFNpZ25hdHVyZUZpZWxkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlyc3RTaWduYXR1cmVGaWVsZDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlY29uZFNpZ25hdHVyZUxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBzZWNvbmRTaWduYXR1cmVGaWVsZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9zZWNvbmRTaWduYXR1cmVGaWVsZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5fY2hlY2tTaWduYXR1cmVzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNlY29uZFNpZ25hdHVyZUZpZWxkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2Vjb25kU2lnbmF0dXJlRmllbGQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzYXZlQnV0dG9uTGFiZWw6IHN0cmluZyA9ICdTQVZFJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2xlYXJCdXR0b25MYWJlbDogc3RyaW5nID0gJ0NMRUFSJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2lnbkRvY3VtZW50QnV0dG9uTGFiZWw6IHN0cmluZyA9ICdTSUdOX0RPQ1VNRU5UJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgY2FuY2VsQnV0dG9uTGFiZWw6IHN0cmluZyA9ICdDQU5DRUwnO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcGRmU2F2ZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjYW5jZWxDbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWRvY3NpZ24nKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93U2lnbmF0dXJlUG9wdXA6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1NpZ0J1eWVyOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNpZ0J1eWVyUG9zaXRpb246IFRleHREaW1lbnNpb247XHJcbiAgcHVibGljIHNob3dTaWdTZWxsZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2lnU2VsbGVyUG9zaXRpb246IFRleHREaW1lbnNpb247XHJcbiAgcHVibGljIHNob3dTaWduYXR1cmVzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBwZGZEb2M6IFBERkRvY3VtZW50O1xyXG5cclxuICBwcml2YXRlIF9wZGY6IGFueTtcclxuICBwcml2YXRlIF9maXJzdFNpZ25hdHVyZUZpZWxkOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfc2Vjb25kU2lnbmF0dXJlRmllbGQ6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlRmlyc3RTaWduYXR1cmUoc2lnOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NhdmVTaWduYXR1cmUoc2lnLCB0aGlzLnNpZ0J1eWVyUG9zaXRpb24pO1xyXG4gICAgdGhpcy5zaG93U2lnQnV5ZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuX3NhdmVQZGYoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlU2Vjb25kU2lnbmF0dXJlKHNpZzogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zYXZlU2lnbmF0dXJlKHNpZywgdGhpcy5zaWdTZWxsZXJQb3NpdGlvbik7XHJcbiAgICB0aGlzLnNob3dTaWdTZWxsZXIgPSBmYWxzZTtcclxuICAgIHRoaXMuX3NhdmVQZGYoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX29wZW5QREYoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBmaXJzdCBjcmVhdGUgcmVhZGVyIHRvIGNoZWNrIHNpZ25hdHVyZXNcclxuICAgIHRoaXMuX2NoZWNrU2lnbmF0dXJlcygpO1xyXG5cclxuICAgIHRoaXMucGRmRG9jID0gYXdhaXQgUERGRG9jdW1lbnQubG9hZCh0aGlzLl9wZGYsIHtcclxuICAgICAgdXBkYXRlTWV0YWRhdGE6IGZhbHNlXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHBkZkRhdGFVcmkgPSBhd2FpdCB0aGlzLnBkZkRvYy5zYXZlQXNCYXNlNjQoeyBkYXRhVXJpOiB0cnVlIH0pO1xyXG4gICAgdGhpcy5pZnJhbWUubmF0aXZlRWxlbWVudC5zcmMgPSBwZGZEYXRhVXJpO1xyXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2F2ZVBkZigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5zaG93U2lnQnV5ZXIgJiYgIXRoaXMuc2hvd1NpZ1NlbGxlcikge1xyXG4gICAgICAvLyByZWFkeSwgc2F2ZSB0aGUgcGRmIGFuZCBlbWl0IHJlc3VsdFxyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnBkZkRvYy5zYXZlQXNCYXNlNjQoKTtcclxuICAgICAgdGhpcy5wZGZTYXZlZC5uZXh0KHJlc3VsdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9jaGVja1NpZ25hdHVyZXMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMuX3BkZikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgcGRmV29ya2VyU3JjO1xyXG4gICAgaWYgKHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgncGRmV29ya2VyU3JjJykgJiZcclxuICAgICAgdHlwZW9mICh3aW5kb3cgYXMgYW55KS5wZGZXb3JrZXJTcmMgPT09ICdzdHJpbmcnICYmXHJcbiAgICAgICh3aW5kb3cgYXMgYW55KS5wZGZXb3JrZXJTcmMpIHtcclxuICAgICAgcGRmV29ya2VyU3JjID0gKHdpbmRvdyBhcyBhbnkpLnBkZldvcmtlclNyYztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBwZGZXb3JrZXJTcmMgPSBwZGZqc1dvcmtlcjtcclxuICAgIH1cclxuICAgIFBERkpTLkdsb2JhbFdvcmtlck9wdGlvbnMud29ya2VyU3JjID0gcGRmV29ya2VyU3JjO1xyXG4gICAgY29uc3QgcGRmUmVhZGVyID0gYXdhaXQgUERGSlMuZ2V0RG9jdW1lbnQodGhpcy5fcGRmKS5wcm9taXNlO1xyXG4gICAgY29uc3QgbnVtUGFnZXMgPSBwZGZSZWFkZXIubnVtUGFnZXM7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVBhZ2VzOyBpKyspIHtcclxuICAgICAgY29uc3QgcGFnZSA9IGF3YWl0IHBkZlJlYWRlci5nZXRQYWdlKGkgKyAxKTtcclxuICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHBhZ2UuZ2V0VGV4dENvbnRlbnQoKTtcclxuICAgICAgcGFnZS5jbGVhbnVwKCk7XHJcbiAgICAgIGlmICh0aGlzLmZpcnN0U2lnbmF0dXJlRmllbGQpIHtcclxuICAgICAgICB0aGlzLnNpZ0J1eWVyUG9zaXRpb24gPSB0aGlzLl9nZXRQb3NpdGlvblNpZ25hdHVyZSh0ZXh0LCB0aGlzLmZpcnN0U2lnbmF0dXJlRmllbGQpO1xyXG4gICAgICAgIGlmICh0aGlzLnNpZ0J1eWVyUG9zaXRpb24ud2lkdGggPiAwICYmIHRoaXMuc2lnQnV5ZXJQb3NpdGlvbi5oZWlnaHQgPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLnNpZ0J1eWVyUG9zaXRpb24ucGFnZSA9IGk7XHJcbiAgICAgICAgICB0aGlzLnNob3dTaWdCdXllciA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlY29uZFNpZ25hdHVyZUZpZWxkKSB7XHJcbiAgICAgICAgdGhpcy5zaWdTZWxsZXJQb3NpdGlvbiA9IHRoaXMuX2dldFBvc2l0aW9uU2lnbmF0dXJlKHRleHQsIHRoaXMuc2Vjb25kU2lnbmF0dXJlRmllbGQpO1xyXG4gICAgICAgIGlmICh0aGlzLnNpZ1NlbGxlclBvc2l0aW9uLndpZHRoID4gMCAmJiB0aGlzLnNpZ1NlbGxlclBvc2l0aW9uLmhlaWdodCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuc2lnU2VsbGVyUG9zaXRpb24ucGFnZSA9IGk7XHJcbiAgICAgICAgICB0aGlzLnNob3dTaWdTZWxsZXIgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UG9zaXRpb25TaWduYXR1cmUodGV4dEl0ZW06IGFueSwgc2lnbmF0dXJlRmllbGQ6IHN0cmluZyk6IFRleHREaW1lbnNpb24ge1xyXG4gICAgY29uc3Qgc2lnSXRlbTogVGV4dEl0ZW0gPSA8VGV4dEl0ZW0+dGV4dEl0ZW0uaXRlbXMuZmluZCgoaTogYW55KSA9PiBpLnN0ci50b0xvd2VyQ2FzZSgpID09PSBzaWduYXR1cmVGaWVsZC50b0xvd2VyQ2FzZSgpKTtcclxuICAgIGlmIChzaWdJdGVtKSB7XHJcbiAgICAgIHRleHRJdGVtLml0ZW1zLnNsaWNlKHRleHRJdGVtLml0ZW1zLmluZGV4T2Yoc2lnSXRlbSksIDEpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHg6IHNpZ0l0ZW0udHJhbnNmb3JtWzRdLFxyXG4gICAgICAgIHk6IHNpZ0l0ZW0udHJhbnNmb3JtWzVdLFxyXG4gICAgICAgIHdpZHRoOiBzaWdJdGVtLndpZHRoLFxyXG4gICAgICAgIGhlaWdodDogc2lnSXRlbS5oZWlnaHQsXHJcbiAgICAgICAgcGFnZTogMFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHt4OiAwLCB5OiAwLCB3aWR0aDogMCwgaGVpZ2h0OiAwLCBwYWdlOiAwfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfc2F2ZVNpZ25hdHVyZShzaWc6IHN0cmluZywgZGltZW5zaW9uczogVGV4dERpbWVuc2lvbik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QganBnSW1hZ2UgPSBhd2FpdCB0aGlzLnBkZkRvYy5lbWJlZFBuZyhzaWcpO1xyXG4gICAgY29uc3QgcGFnZSA9IGF3YWl0IHRoaXMucGRmRG9jLmdldFBhZ2UoZGltZW5zaW9ucy5wYWdlKTtcclxuICAgIHBhZ2UuZHJhd0ltYWdlKGpwZ0ltYWdlLCB7XHJcbiAgICAgIHg6ICgoZGltZW5zaW9ucy54ICsgKGRpbWVuc2lvbnMud2lkdGggLyAyKSkgLSAoMjAwIC8gMikpLFxyXG4gICAgICB5OiAoKGRpbWVuc2lvbnMueSArIChkaW1lbnNpb25zLmhlaWdodCAvIDIpKSAtICgxMDAgLyAyKSksXHJcbiAgICAgIHdpZHRoOiAyMDAsXHJcbiAgICAgIGhlaWdodDogMTAwXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVQREYoYmFzZTY0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHZhciBiaW5hcnlfc3RyaW5nID0gd2luZG93LmF0b2IoYmFzZTY0KTtcclxuICAgIHZhciBsZW4gPSBiaW5hcnlfc3RyaW5nLmxlbmd0aDtcclxuICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGxlbik7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgIGJ5dGVzW2ldID0gYmluYXJ5X3N0cmluZy5jaGFyQ29kZUF0KGkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fcGRmID0gYnl0ZXM7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -6,18 +6,34 @@ export class LayoutSelectionComponent {
6
6
  constructor(iconCacheService) {
7
7
  this.iconCacheService = iconCacheService;
8
8
  this.icons = Icon;
9
+ this.useDefault = true;
10
+ this.label = 'LAYOUT';
9
11
  this.layouts = [];
10
12
  this.requestChange = new EventEmitter();
11
13
  this.loadDefaultPrinterName = new EventEmitter();
12
14
  this.showLayoutList = false;
13
15
  }
16
+ set request(value) {
17
+ this._request = value;
18
+ if (!this._request.reportId && this.currentLayout) {
19
+ this._request.reportId = this.currentLayout.reportId;
20
+ this.requestChange.emit(this._request);
21
+ }
22
+ }
14
23
  showClass() {
15
24
  return true;
16
25
  }
17
26
  ngOnInit() {
18
27
  if (this.layouts && this.layouts.length > 0) {
19
- this.currentLayout = this.layouts.find(l => l.reportId === this.request.reportId);
20
- if (!this.currentLayout) {
28
+ if (this._request) {
29
+ this.currentLayout = this.layouts.find(l => l.reportId === this._request.reportId);
30
+ if (!this.currentLayout) {
31
+ this.currentLayout = this.layouts[0];
32
+ this._request.reportId = this.currentLayout.reportId;
33
+ this.requestChange.emit(this._request);
34
+ }
35
+ }
36
+ else {
21
37
  this.currentLayout = this.layouts[0];
22
38
  }
23
39
  this.loadDefaultPrinterName.emit(this.currentLayout.reportId);
@@ -25,10 +41,10 @@ export class LayoutSelectionComponent {
25
41
  }
26
42
  handleSelectLayout(reportLayout) {
27
43
  this.currentLayout = reportLayout;
28
- this.request.reportId = this.currentLayout.reportId;
29
- this.requestChange.emit(this.request);
30
- this.showLayoutList = false;
31
- this.loadDefaultPrinterName.emit(reportLayout.reportId);
44
+ this._request.reportId = this.currentLayout.reportId;
45
+ this.requestChange.emit(this._request);
46
+ // this.showLayoutList = false;
47
+ this.loadDefaultPrinterName.emit();
32
48
  }
33
49
  closeSelectLayout() {
34
50
  this.showLayoutList = false;
@@ -38,6 +54,7 @@ LayoutSelectionComponent.decorators = [
38
54
  { type: Component, args: [{
39
55
  selector: 'co-layout-selection',
40
56
  template: `
57
+ <!--
41
58
  <div class="layout-selection-wrapper" (click)="showLayoutList = !showLayoutList">
42
59
  <div class="title" [textContent]="'Lay-out'"></div>
43
60
  <div class="layout-description" [textContent]="currentLayout?.description || 'Layout kiezen'"></div>
@@ -58,6 +75,17 @@ LayoutSelectionComponent.decorators = [
58
75
  <div class="layout-description" [textContent]="reportLayout.description"></div>
59
76
  </div>
60
77
  </div>
78
+ -->
79
+ <co-list-of-values
80
+ [displayField]="'description'"
81
+ [(model)]="currentLayout"
82
+ [label]="label | sharedLocalize"
83
+ [collection]="layouts"
84
+ (modelChange)="handleSelectLayout($event)"
85
+ [disabled]="useDefault"
86
+ [readonly]="useDefault"
87
+ [required]="!useDefault">
88
+ </co-list-of-values>
61
89
  `,
62
90
  animations: [
63
91
  trigger("showHideLayouts", [
@@ -75,9 +103,11 @@ LayoutSelectionComponent.ctorParameters = () => [
75
103
  ];
76
104
  LayoutSelectionComponent.propDecorators = {
77
105
  request: [{ type: Input }],
106
+ useDefault: [{ type: Input }],
107
+ label: [{ type: Input }],
78
108
  layouts: [{ type: Input }],
79
109
  requestChange: [{ type: Output }],
80
110
  loadDefaultPrinterName: [{ type: Output }],
81
111
  showClass: [{ type: HostBinding, args: ['class.co-layout-selection',] }]
82
112
  };
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXNlbGVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9sYXlvdXQtc2VsZWN0aW9uL2xheW91dC1zZWxlY3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFHL0UsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBb0N4RSxNQUFNLE9BQU8sd0JBQXdCO0lBdUJuQyxZQUNTLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBdkIzQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUtuQyxZQUFPLEdBQWdDLEVBQUUsQ0FBQztRQUcxQyxrQkFBYSxHQUErQyxJQUFJLFlBQVksRUFBZ0MsQ0FBQztRQUc3RywyQkFBc0IsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQVUxRSxtQkFBYyxHQUFZLEtBQUssQ0FBQztJQUl2QyxDQUFDO0lBVE0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVFELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbEYsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN0QztZQUVELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtTQUM5RDtJQUNILENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxZQUF1QztRQUMvRCxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztRQUNwRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFFNUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDOzs7WUFsRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJUO2dCQUNELFVBQVUsRUFBRTtvQkFDVixPQUFPLENBQUMsaUJBQWlCLEVBQUU7d0JBQ3pCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ2pDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7d0JBQ25DLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7d0JBQ3JELFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQ25ELENBQUM7aUJBQ0g7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQW5DTyxnQkFBZ0I7OztzQkFzQ3JCLEtBQUs7c0JBR0wsS0FBSzs0QkFHTCxNQUFNO3FDQUdOLE1BQU07d0JBS04sV0FBVyxTQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1JlcG9ydExheW91dFNlbGVjdGlvbkJhc2V9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWJhc2UuYm8nO1xyXG5pbXBvcnQge1JlcG9ydGluZ0RvY3VtZW50QmFzZVJlcXVlc3R9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydGluZy1kb2N1bWVudC1iYXNlLXJlcXVlc3QnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLWxheW91dC1zZWxlY3Rpb24nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXNlbGVjdGlvbi13cmFwcGVyXCIgKGNsaWNrKT1cInNob3dMYXlvdXRMaXN0ID0gIXNob3dMYXlvdXRMaXN0XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiIFt0ZXh0Q29udGVudF09XCInTGF5LW91dCdcIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCJjdXJyZW50TGF5b3V0Py5kZXNjcmlwdGlvbiB8fCAnTGF5b3V0IGtpZXplbidcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImxheW91dHMtd3JhcHBlciBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dMYXlvdXRMaXN0XCIgQHNob3dIaWRlTGF5b3V0cz5cclxuICAgICAgPGRpdiBjbGFzcz1cImxheW91dHMtd3JhcHBlci1oZWFkZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ0xheS1vdXQnXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNsb3NlLWxheW91dHNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctY2xvc2UtYnV0dG9uXCIgKGNsaWNrKT1cImNsb3NlU2VsZWN0TGF5b3V0KClcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5YU29saWQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1zZWxlY3Rpb24td3JhcHBlclwiICpuZ0Zvcj1cImxldCByZXBvcnRMYXlvdXQgb2YgbGF5b3V0c1wiXHJcbiAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cInJlcG9ydExheW91dC5yZXBvcnRJZCA9PT0gY3VycmVudExheW91dD8ucmVwb3J0SWRcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJoYW5kbGVTZWxlY3RMYXlvdXQocmVwb3J0TGF5b3V0KVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwicmVwb3J0TGF5b3V0LmRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVMYXlvdXRzXCIsIFtcclxuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtoZWlnaHQ6IDB9KSksXHJcbiAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7aGVpZ2h0OiBcIjEwMCVcIn0pKSxcclxuICAgICAgdHJhbnNpdGlvbihcInZvaWQgPT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxyXG4gICAgICB0cmFuc2l0aW9uKFwiKiA9PiB2b2lkXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSlcclxuICAgIF0pXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRTZWxlY3Rpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50QmFzZVJlcXVlc3Q7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkJhc2VbXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50QmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudEJhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbG9hZERlZmF1bHRQcmludGVyTmFtZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcblxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWxheW91dC1zZWxlY3Rpb24nKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjdXJyZW50TGF5b3V0OiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25CYXNlO1xyXG4gIHB1YmxpYyBzaG93TGF5b3V0TGlzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2VcclxuICApIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5sYXlvdXRzICYmIHRoaXMubGF5b3V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudExheW91dCA9IHRoaXMubGF5b3V0cy5maW5kKGwgPT4gbC5yZXBvcnRJZCA9PT0gdGhpcy5yZXF1ZXN0LnJlcG9ydElkKTtcclxuICAgICAgaWYgKCF0aGlzLmN1cnJlbnRMYXlvdXQpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRMYXlvdXQgPSB0aGlzLmxheW91dHNbMF07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMubG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KHRoaXMuY3VycmVudExheW91dC5yZXBvcnRJZClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZWxlY3RMYXlvdXQocmVwb3J0TGF5b3V0OiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25CYXNlKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRMYXlvdXQgPSByZXBvcnRMYXlvdXQ7XHJcbiAgICB0aGlzLnJlcXVlc3QucmVwb3J0SWQgPSB0aGlzLmN1cnJlbnRMYXlvdXQucmVwb3J0SWQ7XHJcbiAgICB0aGlzLnJlcXVlc3RDaGFuZ2UuZW1pdCh0aGlzLnJlcXVlc3QpO1xyXG4gICAgdGhpcy5zaG93TGF5b3V0TGlzdCA9IGZhbHNlO1xyXG5cclxuICAgIHRoaXMubG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KHJlcG9ydExheW91dC5yZXBvcnRJZCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBjbG9zZVNlbGVjdExheW91dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0xheW91dExpc3QgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXNlbGVjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9sYXlvdXQtc2VsZWN0aW9uL2xheW91dC1zZWxlY3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFHL0UsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2hELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBZ0R4RSxNQUFNLE9BQU8sd0JBQXdCO0lBb0NuQyxZQUNTLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBcEMzQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQVduQyxlQUFVLEdBQVksSUFBSSxDQUFDO1FBRzNCLFVBQUssR0FBVyxRQUFRLENBQUM7UUFHekIsWUFBTyxHQUFnQyxFQUFFLENBQUM7UUFHMUMsa0JBQWEsR0FBK0MsSUFBSSxZQUFZLEVBQWdDLENBQUM7UUFHN0csMkJBQXNCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFVMUUsbUJBQWMsR0FBWSxLQUFLLENBQUM7SUFLdkMsQ0FBQztJQXJDRCxJQUNXLE9BQU8sQ0FBQyxLQUFtQztRQUNwRCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFD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bmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uQmFzZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0LWxheW91dC1zZWxlY3Rpb24tYmFzZS5ibyc7XHJcbmltcG9ydCB7UmVwb3J0aW5nRG9jdW1lbnRCYXNlUmVxdWVzdH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcmVwb3J0aW5nLWRvY3VtZW50LWJhc2UtcmVxdWVzdCc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tbGF5b3V0LXNlbGVjdGlvbicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDwhLS1cclxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtc2VsZWN0aW9uLXdyYXBwZXJcIiAoY2xpY2spPVwic2hvd0xheW91dExpc3QgPSAhc2hvd0xheW91dExpc3RcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCIgW3RleHRDb250ZW50XT1cIidMYXktb3V0J1wiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cImN1cnJlbnRMYXlvdXQ/LmRlc2NyaXB0aW9uIHx8ICdMYXlvdXQga2llemVuJ1wiPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0cy13cmFwcGVyIGNvLXNtYWxsLXNjcm9sbGJhclwiICpuZ0lmPVwic2hvd0xheW91dExpc3RcIiBAc2hvd0hpZGVMYXlvdXRzPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0cy13cmFwcGVyLWhlYWRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiIFt0ZXh0Q29udGVudF09XCInTGF5LW91dCdcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2xvc2UtbGF5b3V0c1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jbG9zZS1idXR0b25cIiAoY2xpY2spPVwiY2xvc2VTZWxlY3RMYXlvdXQoKVwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlhTb2xpZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXNlbGVjdGlvbi13cmFwcGVyXCIgKm5nRm9yPVwibGV0IHJlcG9ydExheW91dCBvZiBsYXlvdXRzXCJcclxuICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwicmVwb3J0TGF5b3V0LnJlcG9ydElkID09PSBjdXJyZW50TGF5b3V0Py5yZXBvcnRJZFwiXHJcbiAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNlbGVjdExheW91dChyZXBvcnRMYXlvdXQpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxheW91dC1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCJyZXBvcnRMYXlvdXQuZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIC0tPlxyXG4gICAgPGNvLWxpc3Qtb2YtdmFsdWVzXHJcbiAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ2Rlc2NyaXB0aW9uJ1wiXHJcbiAgICAgIFsobW9kZWwpXT1cImN1cnJlbnRMYXlvdXRcIlxyXG4gICAgICBbbGFiZWxdPVwibGFiZWwgfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgIFtjb2xsZWN0aW9uXT1cImxheW91dHNcIlxyXG4gICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlU2VsZWN0TGF5b3V0KCRldmVudClcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwidXNlRGVmYXVsdFwiXHJcbiAgICAgIFtyZWFkb25seV09XCJ1c2VEZWZhdWx0XCJcclxuICAgICAgW3JlcXVpcmVkXT1cIiF1c2VEZWZhdWx0XCI+XHJcbiAgICA8L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gIGAsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcihcInNob3dIaWRlTGF5b3V0c1wiLCBbXHJcbiAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7aGVpZ2h0OiAwfSkpLFxyXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe2hlaWdodDogXCIxMDAlXCJ9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oXCJ2b2lkID0+ICpcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKSxcclxuICAgICAgdHJhbnNpdGlvbihcIiogPT4gdm9pZFwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1vdXRcIikpXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5b3V0U2VsZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgcmVxdWVzdCh2YWx1ZTogUmVwb3J0aW5nRG9jdW1lbnRCYXNlUmVxdWVzdCkge1xyXG4gICAgdGhpcy5fcmVxdWVzdCA9IHZhbHVlO1xyXG4gICAgaWYgKCF0aGlzLl9yZXF1ZXN0LnJlcG9ydElkICYmIHRoaXMuY3VycmVudExheW91dCkge1xyXG4gICAgICB0aGlzLl9yZXF1ZXN0LnJlcG9ydElkID0gdGhpcy5jdXJyZW50TGF5b3V0LnJlcG9ydElkO1xyXG4gICAgICB0aGlzLnJlcXVlc3RDaGFuZ2UuZW1pdCh0aGlzLl9yZXF1ZXN0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHVzZURlZmF1bHQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nID0gJ0xBWU9VVCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkJhc2VbXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVxdWVzdENoYW5nZTogRXZlbnRFbWl0dGVyPFJlcG9ydGluZ0RvY3VtZW50QmFzZVJlcXVlc3Q+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZXBvcnRpbmdEb2N1bWVudEJhc2VSZXF1ZXN0PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbG9hZERlZmF1bHRQcmludGVyTmFtZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcblxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWxheW91dC1zZWxlY3Rpb24nKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjdXJyZW50TGF5b3V0OiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25CYXNlO1xyXG4gIHB1YmxpYyBzaG93TGF5b3V0TGlzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3JlcXVlc3Q6IFJlcG9ydGluZ0RvY3VtZW50QmFzZVJlcXVlc3Q7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmxheW91dHMgJiYgdGhpcy5sYXlvdXRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKHRoaXMuX3JlcXVlc3QpIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRMYXlvdXQgPSB0aGlzLmxheW91dHMuZmluZChsID0+IGwucmVwb3J0SWQgPT09IHRoaXMuX3JlcXVlc3QucmVwb3J0SWQpO1xyXG4gICAgICAgIGlmICghdGhpcy5jdXJyZW50TGF5b3V0KSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnRMYXlvdXQgPSB0aGlzLmxheW91dHNbMF07XHJcbiAgICAgICAgICB0aGlzLl9yZXF1ZXN0LnJlcG9ydElkID0gIHRoaXMuY3VycmVudExheW91dC5yZXBvcnRJZDtcclxuICAgICAgICAgIHRoaXMucmVxdWVzdENoYW5nZS5lbWl0KHRoaXMuX3JlcXVlc3QpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmN1cnJlbnRMYXlvdXQgPSB0aGlzLmxheW91dHNbMF07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMubG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KHRoaXMuY3VycmVudExheW91dC5yZXBvcnRJZClcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZWxlY3RMYXlvdXQocmVwb3J0TGF5b3V0OiBSZXBvcnRMYXlvdXRTZWxlY3Rpb25CYXNlKTogdm9pZCB7XHJcbiAgICB0aGlzLmN1cnJlbnRMYXlvdXQgPSByZXBvcnRMYXlvdXQ7XHJcbiAgICB0aGlzLl9yZXF1ZXN0LnJlcG9ydElkID0gdGhpcy5jdXJyZW50TGF5b3V0LnJlcG9ydElkO1xyXG4gICAgdGhpcy5yZXF1ZXN0Q2hhbmdlLmVtaXQodGhpcy5fcmVxdWVzdCk7XHJcbiAgICAvLyB0aGlzLnNob3dMYXlvdXRMaXN0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmxvYWREZWZhdWx0UHJpbnRlck5hbWUuZW1pdCgpO1xyXG4gIH1cclxuICBwdWJsaWMgY2xvc2VTZWxlY3RMYXlvdXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dMYXlvdXRMaXN0ID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,14 +1,17 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { LayoutSelectionComponent } from './layout-selection.component';
4
- import { IconModule } from "@colijnit/corecomponents_v12";
4
+ import { IconModule, ListOfValuesModule } from "@colijnit/corecomponents_v12";
5
+ import { SharedComponentsTranslationModule } from "../../../../translation/shared-components-translation.module";
5
6
  export class LayoutSelectionModule {
6
7
  }
7
8
  LayoutSelectionModule.decorators = [
8
9
  { type: NgModule, args: [{
9
10
  imports: [
10
11
  CommonModule,
11
- IconModule
12
+ IconModule,
13
+ ListOfValuesModule,
14
+ SharedComponentsTranslationModule
12
15
  ],
13
16
  declarations: [
14
17
  LayoutSelectionComponent
@@ -18,4 +21,4 @@ LayoutSelectionModule.decorators = [
18
21
  ]
19
22
  },] }
20
23
  ];
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXNlbGVjdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9sYXlvdXQtc2VsZWN0aW9uL2xheW91dC1zZWxlY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQWN4RCxNQUFNLE9BQU8scUJBQXFCOzs7WUFaakMsUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxZQUFZO29CQUNaLFVBQVU7aUJBQ2I7Z0JBQ0gsWUFBWSxFQUFFO29CQUNaLHdCQUF3QjtpQkFDekI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHdCQUF3QjtpQkFDekI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtMYXlvdXRTZWxlY3Rpb25Db21wb25lbnR9IGZyb20gJy4vbGF5b3V0LXNlbGVjdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQge0ljb25Nb2R1bGV9IGZyb20gXCJAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBJY29uTW9kdWxlXHJcbiAgICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTGF5b3V0U2VsZWN0aW9uQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBMYXlvdXRTZWxlY3Rpb25Db21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYXlvdXRTZWxlY3Rpb25Nb2R1bGUge1xyXG59XHJcbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LXNlbGVjdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaGFyZWRjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9zZW5kLW1ldGhvZC1kaWFsb2cvY29tcG9uZW50cy9sYXlvdXQtc2VsZWN0aW9uL2xheW91dC1zZWxlY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxVQUFVLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RSxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQWdCL0csTUFBTSxPQUFPLHFCQUFxQjs7O1lBZGpDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixVQUFVO29CQUNWLGtCQUFrQjtvQkFDbEIsaUNBQWlDO2lCQUNsQztnQkFDRCxZQUFZLEVBQUU7b0JBQ1osd0JBQXdCO2lCQUN6QjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1Asd0JBQXdCO2lCQUN6QjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0xheW91dFNlbGVjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi9sYXlvdXQtc2VsZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7SWNvbk1vZHVsZSwgTGlzdE9mVmFsdWVzTW9kdWxlfSBmcm9tIFwiQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMlwiO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNUcmFuc2xhdGlvbk1vZHVsZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLXRyYW5zbGF0aW9uLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBJY29uTW9kdWxlLFxyXG4gICAgTGlzdE9mVmFsdWVzTW9kdWxlLFxyXG4gICAgU2hhcmVkQ29tcG9uZW50c1RyYW5zbGF0aW9uTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIExheW91dFNlbGVjdGlvbkNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTGF5b3V0U2VsZWN0aW9uQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGF5b3V0U2VsZWN0aW9uTW9kdWxlIHtcclxufVxyXG4iXX0=
@@ -13,28 +13,31 @@ export class PrinterSelectionComponent {
13
13
  this.printers = [];
14
14
  this.showPrinterList = false;
15
15
  }
16
- set defaultPrinterName(printerName) {
17
- this._defaultPrinterName = printerName;
18
- this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName = printerName;
19
- this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);
20
- }
21
- ;
22
16
  showClass() {
23
17
  return true;
24
18
  }
25
19
  ngOnInit() {
26
20
  if (!this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName && this.printers && this.printers.length > 0) {
27
- const defaultPrinter = this.printers.find(p => p.isDefault);
28
- if (defaultPrinter) {
29
- this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName = defaultPrinter.name;
21
+ if (this.defaultPrinterName) {
22
+ this.printerModel = this.printers.find(p => p.name === this.defaultPrinterName);
23
+ }
24
+ else {
25
+ this.printerModel = this.printers.find(p => p.isDefault);
26
+ }
27
+ if (this.printerModel) {
28
+ this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName = this.printerModel.name;
30
29
  this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);
31
30
  }
32
31
  }
32
+ else {
33
+ this.printerModel = this.printers.find(p => p.name === this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName);
34
+ }
33
35
  }
34
36
  handlePrinterClicked(printer) {
37
+ this.printerModel = printer;
35
38
  this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName = printer.name;
36
39
  this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);
37
- this.showPrinterList = false;
40
+ //this.showPrinterList = false;
38
41
  }
39
42
  closePrinterClicked() {
40
43
  this.showPrinterList = false;
@@ -44,6 +47,7 @@ PrinterSelectionComponent.decorators = [
44
47
  { type: Component, args: [{
45
48
  selector: 'co-printer-selection',
46
49
  template: `
50
+ <!--
47
51
  <div class="printer-selection-wrapper" (click)="showPrinterList = !showPrinterList">
48
52
  <div class="title" [textContent]="'Printer'"></div>
49
53
  <div class="printer-name" [textContent]="sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName || 'Printer kiezen'"></div>
@@ -67,6 +71,14 @@ PrinterSelectionComponent.decorators = [
67
71
  </div>
68
72
  </div>
69
73
  </div>
74
+ -->
75
+ <co-list-of-values class="printers-list"
76
+ [displayField]="'name'"
77
+ [model]="printerModel"
78
+ [label]="'PRINTER'| sharedLocalize"
79
+ [collection]="printers"
80
+ (modelChange)="handlePrinterClicked($event)">
81
+ </co-list-of-values>
70
82
  `,
71
83
  animations: [
72
84
  trigger('showHideLayouts', [
@@ -89,4 +101,4 @@ PrinterSelectionComponent.propDecorators = {
89
101
  defaultPrinterName: [{ type: Input }],
90
102
  showClass: [{ type: HostBinding, args: ['class.co-printer-selection',] }]
91
103
  };
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnRlci1zZWxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvcHJpbnRlci1zZWxlY3Rpb24vcHJpbnRlci1zZWxlY3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWdCLFdBQVcsRUFBRSxLQUFLLEVBQWtCLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFL0UsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQXVDcEUsTUFBTSxPQUFPLHlCQUF5QjtJQXFCcEMsWUFDUyxpQkFBb0MsRUFDcEMsV0FBNkIsRUFDNUIsUUFBdUI7UUFGeEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDNUIsYUFBUSxHQUFSLFFBQVEsQ0FBZTtRQXZCakIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFHbkMsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQWN6QixvQkFBZSxHQUFZLEtBQUssQ0FBQztJQVF4QyxDQUFDO0lBcEJELElBQ1csa0JBQWtCLENBQUMsV0FBbUI7UUFDL0MsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFdBQVcsQ0FBQztRQUN2QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsd0NBQXdDLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMxRixJQUFJLENBQUMsaUJBQWlCLENBQUMsK0NBQStDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO0lBQy9JLENBQUM7SUFBQSxDQUFDO0lBR0ssU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQVlELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM3SCxNQUFNLGNBQWMsR0FBWSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyRSxJQUFJLGNBQWMsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUNsRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsK0NBQStDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO2FBQzlJO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sb0JBQW9CLENBQUMsT0FBZ0I7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQywrQ0FBK0MsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLENBQUM7UUFDN0ksSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUNNLG1CQUFtQjtRQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDOzs7WUFsRkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JUO2dCQUNELFVBQVUsRUFBRTtvQkFDVixPQUFPLENBQUMsaUJBQWlCLEVBQUU7d0JBQ3pCLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQ2pDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7d0JBQ25DLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7d0JBQ3JELFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQ25ELENBQUM7aUJBQ0g7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXRDTyxpQkFBaUI7WUFGakIsZ0JBQWdCO1lBRGhCLGFBQWE7Ozt1QkE2Q2xCLEtBQUs7aUNBR0wsS0FBSzt3QkFPTCxXQUFXLFNBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7UHJpbnRlcn0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvcHJpbnRlci5ibyc7XHJcbmltcG9ydCB7U2hhcmVkU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9zaGFyZWQuc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtTZW5kTWV0aG9kU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9zZW5kLW1ldGhvZC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tcHJpbnRlci1zZWxlY3Rpb24nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1zZWxlY3Rpb24td3JhcHBlclwiIChjbGljayk9XCJzaG93UHJpbnRlckxpc3QgPSAhc2hvd1ByaW50ZXJMaXN0XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiIFt0ZXh0Q29udGVudF09XCInUHJpbnRlcidcIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItbmFtZVwiIFt0ZXh0Q29udGVudF09XCJzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnByaW50ZXJOYW1lIHx8ICdQcmludGVyIGtpZXplbidcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImxheW91dHMtd3JhcHBlciBjby1zbWFsbC1zY3JvbGxiYXJcIiAqbmdJZj1cInNob3dQcmludGVyTGlzdFwiIEBzaG93SGlkZUxheW91dHM+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXRzLXdyYXBwZXItaGVhZGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCIgW3RleHRDb250ZW50XT1cIidQcmludGVyJ1wiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjbG9zZS1sYXlvdXRzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWNsb3NlLWJ1dHRvblwiIChjbGljayk9XCJjbG9zZVByaW50ZXJDbGlja2VkKClcIj5cclxuICAgICAgICAgICAgPGNvLWljb24gW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuWFNvbGlkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItbGlzdC1pdGVtXCIgKm5nRm9yPVwibGV0IHByaW50ZXIgb2YgcHJpbnRlcnNcIlxyXG4gICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnByaW50ZXJOYW1lID09PSBwcmludGVyLm5hbWVcIlxyXG4gICAgICAgICAgIChjbGljayk9XCJoYW5kbGVQcmludGVyQ2xpY2tlZChwcmludGVyKVwiPlxyXG4gICAgICAgIDxjby1pY29uIGNsYXNzPVwicHJpbnRlci1pY29uXCIgW2ljb25EYXRhXT1cImljb25TZXJ2aWNlLmdldEljb24oaWNvbnMuUHJpbnRSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJpbnRlci1kZXRhaWxzXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItbmFtZVwiIFt0ZXh0Q29udGVudF09XCJwcmludGVyLm5hbWVcIj48L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInByaW50ZXItc3RhdHVzXCIgW3RleHRDb250ZW50XT1cInByaW50ZXIuYWNjZXB0aW5nSm9ic1wiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ3Nob3dIaWRlTGF5b3V0cycsIFtcclxuICAgICAgc3RhdGUoJ3ZvaWQnLCBzdHlsZSh7aGVpZ2h0OiAwfSkpLFxyXG4gICAgICBzdGF0ZSgnKicsIHN0eWxlKHtoZWlnaHQ6ICcxMDAlJ30pKSxcclxuICAgICAgdHJhbnNpdGlvbigndm9pZCA9PiAqJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1pbi1vdXQnKSksXHJcbiAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIGFuaW1hdGUoJzIwMG1zIGVhc2Utb3V0JykpXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJpbnRlclNlbGVjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHByaW50ZXJzOiBQcmludGVyW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGRlZmF1bHRQcmludGVyTmFtZShwcmludGVyTmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9kZWZhdWx0UHJpbnRlck5hbWUgPSBwcmludGVyTmFtZTtcclxuICAgIHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5wcmludGVyTmFtZSA9IHByaW50ZXJOYW1lO1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5uZXh0KHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCk7XHJcbiAgfTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1wcmludGVyLXNlbGVjdGlvbicpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dQcmludGVyTGlzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2RlZmF1bHRQcmludGVyTmFtZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZW5kTWV0aG9kU2VydmljZTogU2VuZE1ldGhvZFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvblNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnByaW50ZXJOYW1lICYmIHRoaXMucHJpbnRlcnMgJiYgdGhpcy5wcmludGVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IGRlZmF1bHRQcmludGVyOiBQcmludGVyID0gdGhpcy5wcmludGVycy5maW5kKHAgPT4gcC5pc0RlZmF1bHQpO1xyXG4gICAgICBpZiAoZGVmYXVsdFByaW50ZXIpIHtcclxuICAgICAgICB0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QucHJpbnRlck5hbWUgPSBkZWZhdWx0UHJpbnRlci5uYW1lO1xyXG4gICAgICAgIHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdENoYW5nZWQubmV4dCh0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3QpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUHJpbnRlckNsaWNrZWQocHJpbnRlcjogUHJpbnRlcik6IHZvaWQge1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnByaW50ZXJOYW1lID0gcHJpbnRlci5uYW1lO1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5uZXh0KHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCk7XHJcbiAgICB0aGlzLnNob3dQcmludGVyTGlzdCA9IGZhbHNlO1xyXG4gIH1cclxuICBwdWJsaWMgY2xvc2VQcmludGVyQ2xpY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd1ByaW50ZXJMaXN0ID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnRlci1zZWxlY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvcHJpbnRlci1zZWxlY3Rpb24vcHJpbnRlci1zZWxlY3Rpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWdCLFdBQVcsRUFBRSxLQUFLLEVBQWtCLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFL0UsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQWdEcEUsTUFBTSxPQUFPLHlCQUF5QjtJQWtCcEMsWUFDUyxpQkFBb0MsRUFDcEMsV0FBNkIsRUFDNUIsUUFBdUI7UUFGeEIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDNUIsYUFBUSxHQUFSLFFBQVEsQ0FBZTtRQXBCakIsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFHbkMsYUFBUSxHQUFjLEVBQUUsQ0FBQztRQVd6QixvQkFBZSxHQUFZLEtBQUssQ0FBQztJQVF4QyxDQUFDO0lBYk0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQWFELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUM3SCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7YUFDakY7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMxRDtZQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDckIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDckcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLCtDQUErQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsd0NBQXdDLENBQUMsQ0FBQzthQUM5STtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsaUJBQWlCLENBQUMsd0NBQXdDLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDckk7SUFDSCxDQUFDO0lBRU0sb0JBQW9CLENBQUMsT0FBZ0I7UUFDMUMsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQzNGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQywrQ0FBK0MsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdDQUF3QyxDQUFDLENBQUM7UUFDN0ksK0JBQStCO0lBQ2pDLENBQUM7SUFDTSxtQkFBbUI7UUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQzs7O1lBL0ZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWlDVDtnQkFDRCxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLGlCQUFpQixFQUFFO3dCQUN6QixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO3dCQUNqQyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDO3dCQUNuQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO3dCQUNyRCxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO3FCQUNuRCxDQUFDO2lCQUNIO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUEvQ08saUJBQWlCO1lBRmpCLGdCQUFnQjtZQURoQixhQUFhOzs7dUJBc0RsQixLQUFLO2lDQUdMLEtBQUs7d0JBR0wsV0FBVyxTQUFDLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQge1ByaW50ZXJ9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3ByaW50ZXIuYm8nO1xyXG5pbXBvcnQge1NoYXJlZFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2Uvc2hhcmVkLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2VuZC1tZXRob2Quc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLXByaW50ZXItc2VsZWN0aW9uJyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPCEtLVxyXG4gICAgPGRpdiBjbGFzcz1cInByaW50ZXItc2VsZWN0aW9uLXdyYXBwZXJcIiAoY2xpY2spPVwic2hvd1ByaW50ZXJMaXN0ID0gIXNob3dQcmludGVyTGlzdFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIiBbdGV4dENvbnRlbnRdPVwiJ1ByaW50ZXInXCI+PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLW5hbWVcIiBbdGV4dENvbnRlbnRdPVwic2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5wcmludGVyTmFtZSB8fCAnUHJpbnRlciBraWV6ZW4nXCI+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXRzLXdyYXBwZXIgY28tc21hbGwtc2Nyb2xsYmFyXCIgKm5nSWY9XCJzaG93UHJpbnRlckxpc3RcIiBAc2hvd0hpZGVMYXlvdXRzPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGF5b3V0cy13cmFwcGVyLWhlYWRlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiIFt0ZXh0Q29udGVudF09XCInUHJpbnRlcidcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2xvc2UtbGF5b3V0c1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jbG9zZS1idXR0b25cIiAoY2xpY2spPVwiY2xvc2VQcmludGVyQ2xpY2tlZCgpXCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlhTb2xpZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcmludGVyLWxpc3QtaXRlbVwiICpuZ0Zvcj1cImxldCBwcmludGVyIG9mIHByaW50ZXJzXCJcclxuICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwic2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5wcmludGVyTmFtZSA9PT0gcHJpbnRlci5uYW1lXCJcclxuICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlUHJpbnRlckNsaWNrZWQocHJpbnRlcilcIj5cclxuICAgICAgICA8Y28taWNvbiBjbGFzcz1cInByaW50ZXItaWNvblwiIFtpY29uRGF0YV09XCJpY29uU2VydmljZS5nZXRJY29uKGljb25zLlByaW50UmVndWxhcilcIj48L2NvLWljb24+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByaW50ZXItZGV0YWlsc1wiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmludGVyLW5hbWVcIiBbdGV4dENvbnRlbnRdPVwicHJpbnRlci5uYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcmludGVyLXN0YXR1c1wiIFt0ZXh0Q29udGVudF09XCJwcmludGVyLmFjY2VwdGluZ0pvYnNcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICAtLT5cclxuICAgIDxjby1saXN0LW9mLXZhbHVlcyBjbGFzcz1cInByaW50ZXJzLWxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ25hbWUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwicHJpbnRlck1vZGVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1BSSU5URVInfCBzaGFyZWRMb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwicHJpbnRlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVQcmludGVyQ2xpY2tlZCgkZXZlbnQpXCI+XHJcbiAgICA8L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gIGAsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcignc2hvd0hpZGVMYXlvdXRzJywgW1xyXG4gICAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHtoZWlnaHQ6IDB9KSksXHJcbiAgICAgIHN0YXRlKCcqJywgc3R5bGUoe2hlaWdodDogJzEwMCUnfSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBhbmltYXRlKCcyMDBtcyBlYXNlLWluLW91dCcpKSxcclxuICAgICAgdHJhbnNpdGlvbignKiA9PiB2b2lkJywgYW5pbWF0ZSgnMjAwbXMgZWFzZS1vdXQnKSlcclxuICAgIF0pXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcmludGVyU2VsZWN0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJpbnRlcnM6IFByaW50ZXJbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZWZhdWx0UHJpbnRlck5hbWU6IHN0cmluZztcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1wcmludGVyLXNlbGVjdGlvbicpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBzaG93UHJpbnRlckxpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgcHJpbnRlck1vZGVsOiBQcmludGVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZW5kTWV0aG9kU2VydmljZTogU2VuZE1ldGhvZFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvblNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnByaW50ZXJOYW1lICYmIHRoaXMucHJpbnRlcnMgJiYgdGhpcy5wcmludGVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGlmICh0aGlzLmRlZmF1bHRQcmludGVyTmFtZSkge1xyXG4gICAgICAgIHRoaXMucHJpbnRlck1vZGVsID0gdGhpcy5wcmludGVycy5maW5kKHAgPT4gcC5uYW1lID09PSB0aGlzLmRlZmF1bHRQcmludGVyTmFtZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wcmludGVyTW9kZWwgPSB0aGlzLnByaW50ZXJzLmZpbmQocCA9PiBwLmlzRGVmYXVsdCk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMucHJpbnRlck1vZGVsKSB7XHJcbiAgICAgICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnByaW50ZXJOYW1lID0gdGhpcy5wcmludGVyTW9kZWwubmFtZTtcclxuICAgICAgICB0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnJlcG9ydGluZ0RvY3VtZW50UHJpbnRTaWduRG9jQmFzZVJlcXVlc3RDaGFuZ2VkLm5leHQodGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wcmludGVyTW9kZWwgPSB0aGlzLnByaW50ZXJzLmZpbmQocCA9PiBwLm5hbWUgPT09IHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdC5wcmludGVyTmFtZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUHJpbnRlckNsaWNrZWQocHJpbnRlcjogUHJpbnRlcik6IHZvaWQge1xyXG4gICAgdGhpcy5wcmludGVyTW9kZWwgPSBwcmludGVyO1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0LnByaW50ZXJOYW1lID0gcHJpbnRlci5uYW1lO1xyXG4gICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudFByaW50U2lnbkRvY0Jhc2VSZXF1ZXN0Q2hhbmdlZC5uZXh0KHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVwb3J0aW5nRG9jdW1lbnRQcmludFNpZ25Eb2NCYXNlUmVxdWVzdCk7XHJcbiAgICAvL3RoaXMuc2hvd1ByaW50ZXJMaXN0ID0gZmFsc2U7XHJcbiAgfVxyXG4gIHB1YmxpYyBjbG9zZVByaW50ZXJDbGlja2VkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93UHJpbnRlckxpc3QgPSBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,14 +1,17 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { PrinterSelectionComponent } from './printer-selection.component';
4
- import { IconModule } from '@colijnit/corecomponents_v12';
4
+ import { IconModule, ListOfValuesModule } from '@colijnit/corecomponents_v12';
5
+ import { SharedComponentsTranslationModule } from "../../../../translation/shared-components-translation.module";
5
6
  export class PrinterSelectionModule {
6
7
  }
7
8
  PrinterSelectionModule.decorators = [
8
9
  { type: NgModule, args: [{
9
10
  imports: [
10
11
  CommonModule,
11
- IconModule
12
+ IconModule,
13
+ ListOfValuesModule,
14
+ SharedComponentsTranslationModule
12
15
  ],
13
16
  declarations: [
14
17
  PrinterSelectionComponent
@@ -18,4 +21,4 @@ PrinterSelectionModule.decorators = [
18
21
  ]
19
22
  },] }
20
23
  ];
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnRlci1zZWxlY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvcHJpbnRlci1zZWxlY3Rpb24vcHJpbnRlci1zZWxlY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQWN4RCxNQUFNLE9BQU8sc0JBQXNCOzs7WUFabEMsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLFVBQVU7aUJBQ1g7Z0JBQ0QsWUFBWSxFQUFFO29CQUNaLHlCQUF5QjtpQkFDMUI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHlCQUF5QjtpQkFDMUI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtQcmludGVyU2VsZWN0aW9uQ29tcG9uZW50fSBmcm9tICcuL3ByaW50ZXItc2VsZWN0aW9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7SWNvbk1vZHVsZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEljb25Nb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUHJpbnRlclNlbGVjdGlvbkNvbXBvbmVudFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgUHJpbnRlclNlbGVjdGlvbkNvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFByaW50ZXJTZWxlY3Rpb25Nb2R1bGUge1xyXG59XHJcbiJdfQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpbnRlci1zZWxlY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvcHJpbnRlci1zZWxlY3Rpb24vcHJpbnRlci1zZWxlY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyxVQUFVLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RSxPQUFPLEVBQUMsaUNBQWlDLEVBQUMsTUFBTSw4REFBOEQsQ0FBQztBQWdCL0csTUFBTSxPQUFPLHNCQUFzQjs7O1lBZGxDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixVQUFVO29CQUNWLGtCQUFrQjtvQkFDbEIsaUNBQWlDO2lCQUNsQztnQkFDRCxZQUFZLEVBQUU7b0JBQ1oseUJBQXlCO2lCQUMxQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AseUJBQXlCO2lCQUMxQjthQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge1ByaW50ZXJTZWxlY3Rpb25Db21wb25lbnR9IGZyb20gJy4vcHJpbnRlci1zZWxlY3Rpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHtJY29uTW9kdWxlLCBMaXN0T2ZWYWx1ZXNNb2R1bGV9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge1NoYXJlZENvbXBvbmVudHNUcmFuc2xhdGlvbk1vZHVsZX0gZnJvbSBcIi4uLy4uLy4uLy4uL3RyYW5zbGF0aW9uL3NoYXJlZC1jb21wb25lbnRzLXRyYW5zbGF0aW9uLm1vZHVsZVwiO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBJY29uTW9kdWxlLFxyXG4gICAgTGlzdE9mVmFsdWVzTW9kdWxlLFxyXG4gICAgU2hhcmVkQ29tcG9uZW50c1RyYW5zbGF0aW9uTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIFByaW50ZXJTZWxlY3Rpb25Db21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFByaW50ZXJTZWxlY3Rpb25Db21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcmludGVyU2VsZWN0aW9uTW9kdWxlIHtcclxufVxyXG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';
1
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
2
2
  import { SendMethodService } from '../../service/send-method.service';
3
3
  import { EmailAddressViewmodel } from '../../model/email-address-viewmodel';
4
4
  export class SendMethodEmailComponent {
@@ -6,6 +6,11 @@ export class SendMethodEmailComponent {
6
6
  this.sendMethodService = sendMethodService;
7
7
  this.emailAddresses = [];
8
8
  this.layouts = [];
9
+ this.pdfDoc = '';
10
+ this.disablePdfPreview = false;
11
+ this.emailUnsignedPossible = false;
12
+ this.showFilePreview = new EventEmitter();
13
+ this.loadDefaultPrinterName = new EventEmitter();
9
14
  this.emailAddressViewmodels = [];
10
15
  }
11
16
  showClass() {
@@ -34,21 +39,24 @@ SendMethodEmailComponent.decorators = [
34
39
  { type: Component, args: [{
35
40
  selector: 'co-send-method-email',
36
41
  template: `
42
+ <span class="send-methods-label" [textContent]="'SETTINGS' | sharedLocalize"></span>
43
+ <div class="layout-signature-wrapper">
44
+ <co-layout-selection
45
+ [(request)]="sendMethodService.reportingDocumentEmailSignDocBaseRequest"
46
+ (requestChange)="showFilePreview.emit(sendMethodService.reportingDocumentEmailSignDocBaseRequest.reportId)"
47
+ (loadDefaultPrinterName)="loadDefaultPrinterName.emit($event)"
48
+ [layouts]="layouts"
49
+ [useDefault]="false"
50
+ [label]="'EMAIL_LAYOUT'">
51
+ </co-layout-selection>
52
+ <co-signature-button [request]="sendMethodService.reportingDocumentEmailSignDocBaseRequest"></co-signature-button>
53
+ </div>
37
54
  <div class="email-addresses-wrapper co-small-scrollbar">
38
55
  <div class="email-address-wrapper" *ngFor="let emailAddressViewmodel of emailAddressViewmodels" (click)="handleCheckedEmail(emailAddressViewmodel)">
39
56
  <co-input-checkbox [model]="emailAddressViewmodel.checked" (modelChange)="handleCheckedEmail(emailAddressViewmodel)"></co-input-checkbox>
40
57
  <div class="email-address" [textContent]="emailAddressViewmodel.emailAddress"></div>
41
58
  </div>
42
59
  </div>
43
- <div class="layout-signature-wrapper">
44
- <co-layout-selection
45
- [(request)]="sendMethodService.reportingDocumentEmailSignDocBaseRequest"
46
- [layouts]="layouts"
47
- ></co-layout-selection>
48
- <co-signature-button
49
- [request]="sendMethodService.reportingDocumentEmailSignDocBaseRequest"
50
- ></co-signature-button>
51
- </div>
52
60
  `,
53
61
  encapsulation: ViewEncapsulation.None
54
62
  },] }
@@ -59,6 +67,11 @@ SendMethodEmailComponent.ctorParameters = () => [
59
67
  SendMethodEmailComponent.propDecorators = {
60
68
  emailAddresses: [{ type: Input }],
61
69
  layouts: [{ type: Input }],
70
+ pdfDoc: [{ type: Input }],
71
+ disablePdfPreview: [{ type: Input }],
72
+ emailUnsignedPossible: [{ type: Input }],
73
+ showFilePreview: [{ type: Output }],
74
+ loadDefaultPrinterName: [{ type: Output }],
62
75
  showClass: [{ type: HostBinding, args: ['class.co-send-method-email',] }]
63
76
  };
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZW1haWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZW1haWwvc2VuZC1tZXRob2QtZW1haWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQXdCMUUsTUFBTSxPQUFPLHdCQUF3QjtJQWVuQyxZQUFtQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVpoRCxtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUc5QixZQUFPLEdBQWlDLEVBQUUsQ0FBQztRQU8zQywyQkFBc0IsR0FBNEIsRUFBRSxDQUFDO0lBRzVELENBQUM7SUFQTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBT0QsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQVUsRUFBRSxFQUFFO2dCQUN6QyxNQUFNLHFCQUFxQixHQUEwQixJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ25KLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUMxRCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVNLGtCQUFrQixDQUFDLHFCQUE0QztRQUNwRSxNQUFNLFdBQVcsR0FBWSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQztRQUM1RCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMvRTthQUFNO1lBQ0wsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUM1RTtRQUNELHFCQUFxQixDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUM7SUFDOUMsQ0FBQzs7O1lBeERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXhCTyxpQkFBaUI7Ozs2QkEyQnRCLEtBQUs7c0JBR0wsS0FBSzt3QkFHTCxXQUFXLFNBQUMsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2VuZC1tZXRob2Quc2VydmljZSc7XHJcbmltcG9ydCB7RW1haWxBZGRyZXNzVmlld21vZGVsfSBmcm9tICcuLi8uLi9tb2RlbC9lbWFpbC1hZGRyZXNzLXZpZXdtb2RlbCc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tc2VuZC1tZXRob2QtZW1haWwnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiZW1haWwtYWRkcmVzc2VzLXdyYXBwZXIgY28tc21hbGwtc2Nyb2xsYmFyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlbWFpbC1hZGRyZXNzLXdyYXBwZXJcIiAqbmdGb3I9XCJsZXQgZW1haWxBZGRyZXNzVmlld21vZGVsIG9mIGVtYWlsQWRkcmVzc1ZpZXdtb2RlbHNcIiAoY2xpY2spPVwiaGFuZGxlQ2hlY2tlZEVtYWlsKGVtYWlsQWRkcmVzc1ZpZXdtb2RlbClcIj5cclxuICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW21vZGVsXT1cImVtYWlsQWRkcmVzc1ZpZXdtb2RlbC5jaGVja2VkXCIgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZUNoZWNrZWRFbWFpbChlbWFpbEFkZHJlc3NWaWV3bW9kZWwpXCI+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWwtYWRkcmVzc1wiIFt0ZXh0Q29udGVudF09XCJlbWFpbEFkZHJlc3NWaWV3bW9kZWwuZW1haWxBZGRyZXNzXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXNpZ25hdHVyZS13cmFwcGVyXCI+XHJcbiAgICAgIDxjby1sYXlvdXQtc2VsZWN0aW9uXHJcbiAgICAgICAgWyhyZXF1ZXN0KV09XCJzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0XCJcclxuICAgICAgICBbbGF5b3V0c109XCJsYXlvdXRzXCJcclxuICAgICAgPjwvY28tbGF5b3V0LXNlbGVjdGlvbj5cclxuICAgICAgPGNvLXNpZ25hdHVyZS1idXR0b25cclxuICAgICAgICBbcmVxdWVzdF09XCJzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0XCJcclxuICAgICAgPjwvY28tc2lnbmF0dXJlLWJ1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VuZE1ldGhvZEVtYWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW1haWxBZGRyZXNzZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGxheW91dHM6IFJlcG9ydExheW91dFNlbGVjdGlvbkVtYWlsW10gPSBbXTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1zZW5kLW1ldGhvZC1lbWFpbCcpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVtYWlsQWRkcmVzc1ZpZXdtb2RlbHM6IEVtYWlsQWRkcmVzc1ZpZXdtb2RlbFtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzZW5kTWV0aG9kU2VydmljZTogU2VuZE1ldGhvZFNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZW1haWxBZGRyZXNzZXMpIHtcclxuICAgICAgdGhpcy5lbWFpbEFkZHJlc3Nlcy5mb3JFYWNoKChlYTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZW1haWxBZGRyZXNzVmlld21vZGVsOiBFbWFpbEFkZHJlc3NWaWV3bW9kZWwgPSBuZXcgRW1haWxBZGRyZXNzVmlld21vZGVsKHRoaXMuc2VuZE1ldGhvZFNlcnZpY2Uuc2VsZWN0ZWRFbWFpbEFkZHJlc3Nlcy5pbmRleE9mKGVhKSA+IC0xLCBlYSk7XHJcbiAgICAgICAgdGhpcy5lbWFpbEFkZHJlc3NWaWV3bW9kZWxzLnB1c2goZW1haWxBZGRyZXNzVmlld21vZGVsKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2hlY2tlZEVtYWlsKGVtYWlsQWRkcmVzc1ZpZXdtb2RlbDogRW1haWxBZGRyZXNzVmlld21vZGVsKTogdm9pZCB7XHJcbiAgICBjb25zdCB3YW50ZWRWYWx1ZTogYm9vbGVhbiA9ICFlbWFpbEFkZHJlc3NWaWV3bW9kZWwuY2hlY2tlZDtcclxuICAgIGlmICghd2FudGVkVmFsdWUpIHtcclxuICAgICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5yZW1vdmVFbWFpbEFkZHJlc3MoZW1haWxBZGRyZXNzVmlld21vZGVsLmVtYWlsQWRkcmVzcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLmFkZEVtYWlsQWRkcmVzcyhlbWFpbEFkZHJlc3NWaWV3bW9kZWwuZW1haWxBZGRyZXNzKTtcclxuICAgIH1cclxuICAgIGVtYWlsQWRkcmVzc1ZpZXdtb2RlbC5jaGVja2VkID0gd2FudGVkVmFsdWU7XHJcbiAgfVxyXG59XHJcbiJdfQ==
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuZC1tZXRob2QtZW1haWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2hhcmVkY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZGlhbG9nL2NvbXBvbmVudHMvc2VuZC1tZXRob2QtZW1haWwvc2VuZC1tZXRob2QtZW1haWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBMkIxRSxNQUFNLE9BQU8sd0JBQXdCO0lBOEJuQyxZQUFtQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQTNCaEQsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFHOUIsWUFBTyxHQUFpQyxFQUFFLENBQUM7UUFHM0MsV0FBTSxHQUFRLEVBQUUsQ0FBQztRQUdqQixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFHbkMsMEJBQXFCLEdBQVksS0FBSyxDQUFDO1FBR3ZDLG9CQUFlLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFHbkUsMkJBQXNCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFPMUUsMkJBQXNCLEdBQTRCLEVBQUUsQ0FBQztJQUc1RCxDQUFDO0lBUE0sU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQU9ELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFVLEVBQUUsRUFBRTtnQkFDekMsTUFBTSxxQkFBcUIsR0FBMEIsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNuSixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDMUQsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxxQkFBNEM7UUFDcEUsTUFBTSxXQUFXLEdBQVksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUM7UUFDNUQsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDL0U7YUFBTTtZQUNMLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDNUU7UUFDRCxxQkFBcUIsQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDO0lBQzlDLENBQUM7OztZQTFFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUEzQk8saUJBQWlCOzs7NkJBOEJ0QixLQUFLO3NCQUdMLEtBQUs7cUJBR0wsS0FBSztnQ0FHTCxLQUFLO29DQUdMLEtBQUs7OEJBR0wsTUFBTTtxQ0FHTixNQUFNO3dCQUdOLFdBQVcsU0FBQyw0QkFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U2VuZE1ldGhvZFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvc2VuZC1tZXRob2Quc2VydmljZSc7XHJcbmltcG9ydCB7RW1haWxBZGRyZXNzVmlld21vZGVsfSBmcm9tICcuLi8uLi9tb2RlbC9lbWFpbC1hZGRyZXNzLXZpZXdtb2RlbCc7XHJcbmltcG9ydCB7UmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWx9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL3JlcG9ydC1sYXlvdXQtc2VsZWN0aW9uLWVtYWlsLmJvJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tc2VuZC1tZXRob2QtZW1haWwnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8c3BhbiBjbGFzcz1cInNlbmQtbWV0aG9kcy1sYWJlbFwiIFt0ZXh0Q29udGVudF09XCInU0VUVElOR1MnIHwgc2hhcmVkTG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LXNpZ25hdHVyZS13cmFwcGVyXCI+XHJcbiAgICAgIDxjby1sYXlvdXQtc2VsZWN0aW9uXHJcbiAgICAgICAgWyhyZXF1ZXN0KV09XCJzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0XCJcclxuICAgICAgICAocmVxdWVzdENoYW5nZSk9XCJzaG93RmlsZVByZXZpZXcuZW1pdChzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0LnJlcG9ydElkKVwiXHJcbiAgICAgICAgKGxvYWREZWZhdWx0UHJpbnRlck5hbWUpPVwibG9hZERlZmF1bHRQcmludGVyTmFtZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIFtsYXlvdXRzXT1cImxheW91dHNcIlxyXG4gICAgICAgIFt1c2VEZWZhdWx0XT1cImZhbHNlXCJcclxuICAgICAgICBbbGFiZWxdPVwiJ0VNQUlMX0xBWU9VVCdcIj5cclxuICAgICAgPC9jby1sYXlvdXQtc2VsZWN0aW9uPlxyXG4gICAgICA8Y28tc2lnbmF0dXJlLWJ1dHRvbiBbcmVxdWVzdF09XCJzZW5kTWV0aG9kU2VydmljZS5yZXBvcnRpbmdEb2N1bWVudEVtYWlsU2lnbkRvY0Jhc2VSZXF1ZXN0XCI+PC9jby1zaWduYXR1cmUtYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZW1haWwtYWRkcmVzc2VzLXdyYXBwZXIgY28tc21hbGwtc2Nyb2xsYmFyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJlbWFpbC1hZGRyZXNzLXdyYXBwZXJcIiAqbmdGb3I9XCJsZXQgZW1haWxBZGRyZXNzVmlld21vZGVsIG9mIGVtYWlsQWRkcmVzc1ZpZXdtb2RlbHNcIiAoY2xpY2spPVwiaGFuZGxlQ2hlY2tlZEVtYWlsKGVtYWlsQWRkcmVzc1ZpZXdtb2RlbClcIj5cclxuICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW21vZGVsXT1cImVtYWlsQWRkcmVzc1ZpZXdtb2RlbC5jaGVja2VkXCIgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZUNoZWNrZWRFbWFpbChlbWFpbEFkZHJlc3NWaWV3bW9kZWwpXCI+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZW1haWwtYWRkcmVzc1wiIFt0ZXh0Q29udGVudF09XCJlbWFpbEFkZHJlc3NWaWV3bW9kZWwuZW1haWxBZGRyZXNzXCI+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZW5kTWV0aG9kRW1haWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbWFpbEFkZHJlc3Nlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGF5b3V0czogUmVwb3J0TGF5b3V0U2VsZWN0aW9uRW1haWxbXSA9IFtdO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwZGZEb2M6IGFueSA9ICcnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXNhYmxlUGRmUHJldmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBlbWFpbFVuc2lnbmVkUG9zc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHNob3dGaWxlUHJldmlldzogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGxvYWREZWZhdWx0UHJpbnRlck5hbWU6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28tc2VuZC1tZXRob2QtZW1haWwnKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbWFpbEFkZHJlc3NWaWV3bW9kZWxzOiBFbWFpbEFkZHJlc3NWaWV3bW9kZWxbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VuZE1ldGhvZFNlcnZpY2U6IFNlbmRNZXRob2RTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmVtYWlsQWRkcmVzc2VzKSB7XHJcbiAgICAgIHRoaXMuZW1haWxBZGRyZXNzZXMuZm9yRWFjaCgoZWE6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGNvbnN0IGVtYWlsQWRkcmVzc1ZpZXdtb2RlbDogRW1haWxBZGRyZXNzVmlld21vZGVsID0gbmV3IEVtYWlsQWRkcmVzc1ZpZXdtb2RlbCh0aGlzLnNlbmRNZXRob2RTZXJ2aWNlLnNlbGVjdGVkRW1haWxBZGRyZXNzZXMuaW5kZXhPZihlYSkgPiAtMSwgZWEpO1xyXG4gICAgICAgIHRoaXMuZW1haWxBZGRyZXNzVmlld21vZGVscy5wdXNoKGVtYWlsQWRkcmVzc1ZpZXdtb2RlbCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNoZWNrZWRFbWFpbChlbWFpbEFkZHJlc3NWaWV3bW9kZWw6IEVtYWlsQWRkcmVzc1ZpZXdtb2RlbCk6IHZvaWQge1xyXG4gICAgY29uc3Qgd2FudGVkVmFsdWU6IGJvb2xlYW4gPSAhZW1haWxBZGRyZXNzVmlld21vZGVsLmNoZWNrZWQ7XHJcbiAgICBpZiAoIXdhbnRlZFZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VuZE1ldGhvZFNlcnZpY2UucmVtb3ZlRW1haWxBZGRyZXNzKGVtYWlsQWRkcmVzc1ZpZXdtb2RlbC5lbWFpbEFkZHJlc3MpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZW5kTWV0aG9kU2VydmljZS5hZGRFbWFpbEFkZHJlc3MoZW1haWxBZGRyZXNzVmlld21vZGVsLmVtYWlsQWRkcmVzcyk7XHJcbiAgICB9XHJcbiAgICBlbWFpbEFkZHJlc3NWaWV3bW9kZWwuY2hlY2tlZCA9IHdhbnRlZFZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=