@gloww/gloww 0.9.0-beta.2 → 0.9.0-beta.5

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.
@@ -295,7 +295,7 @@ export class DisplayObjectsComponent {
295
295
  dlg.componentInstance.callback = (data => {
296
296
  let datacopy = { ...data };
297
297
  const fileFields = this.Editor.fileFields;
298
- if (fileFields.length = 1) {
298
+ if (fileFields?.length == 1) {
299
299
  // Un seul champ, il peut être multiple
300
300
  const fileField = fileFields[0];
301
301
  const files = datacopy[fileField];
@@ -309,7 +309,7 @@ export class DisplayObjectsComponent {
309
309
  });
310
310
  return combineLatest(allobs).pipe(take(1));
311
311
  }
312
- else if (fileFields.length > 1) {
312
+ else if (fileFields?.length > 1) {
313
313
  // Plusieurs champs file, il ne peut y avoir qu'une seul fichier par champ.
314
314
  const fields = {};
315
315
  fileFields.forEach(ff => {
@@ -437,4 +437,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
437
437
  }], fileFields: [{
438
438
  type: Input
439
439
  }] } });
440
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1vYmplY3RzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dsb3d3L3NyYy9saWIvQ29tcG9uZW50cy9kaXNwbGF5LW9iamVjdHMvZGlzcGxheS1vYmplY3RzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dsb3d3L3NyYy9saWIvQ29tcG9uZW50cy9kaXNwbGF5LW9iamVjdHMvZGlzcGxheS1vYmplY3RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLFNBQVMsRUFBc0ssS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ25RLE9BQU8sRUFBRSxXQUFXLEVBQTBCLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQWdCLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUEwQixFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUU5RSxPQUFPLEVBQWdDLGFBQWEsRUFBRSxVQUFVLEVBQWdCLE1BQU0sc0JBQXNCLENBQUM7QUFHN0csT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSXRFLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFFB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QUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpc3BsYXlPYmplY3RzQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vLi4vZGlzcGxheS1vYmplY3RzLWNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBTZWFyY2hGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoLWZvcm0vc2VhcmNoLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVmZXJlbmNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL3JlbmRlcjMvcjNfYXN0JztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIE9uSW5pdCwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBEaXJlY3RpdmUsIENoYW5nZURldGVjdG9yUmVmLCBJbmplY3RvciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEFmdGVyQ29udGVudEluaXQsIFF1ZXJ5TGlzdCwgQ29udGVudENoaWxkcmVuLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNYXRDb2x1bW5EZWYsIE1hdFRhYmxlLCBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGZvcmtKb2luLCBvYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlc3VsdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVzdWx0LXRhYmxlL3Jlc3VsdC10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwRXZlbnRUeXBlLCBIdHRwUGFyYW1zLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIERhdGEsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgR2xvd3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vU2VydmljZXMvZ2xvd3cuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2dsb3d3LXNlY3VyaXR5L1NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBtYXAsIGNhdGNoRXJyb3IsIG1lcmdlTWFwLCB0YXAsIGZpbHRlciwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb24ge1xyXG4gIGljb246IGFueTtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHJvdXRlckxpbmtGY3Q/OiAob2JqKSA9PiBzdHJpbmdbXTtcclxuICBkaXNwbGF5PzogKG9iaikgPT4gYm9vbGVhbjtcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ2x3LWRpc3BsYXktb2JqZWN0cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Rpc3BsYXktb2JqZWN0cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGlzcGxheS1vYmplY3RzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERpc3BsYXlPYmplY3RzQ29tcG9uZW50PFRPYmo+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBAQ29udGVudENoaWxkKEhlYWRlckNvbXBvbmVudCkgaGVhZGVyOiBIZWFkZXJDb21wb25lbnQ7XHJcbiAgQENvbnRlbnRDaGlsZChTZWFyY2hGb3JtQ29tcG9uZW50KSBmb3JtTGF5b3V0OiBTZWFyY2hGb3JtQ29tcG9uZW50O1xyXG4gIEBDb250ZW50Q2hpbGQoUmVzdWx0VGFibGVDb21wb25lbnQpIHJlc3VsdExheW91dDogUmVzdWx0VGFibGVDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChNYXRUYWJsZSwgeyBzdGF0aWM6IGZhbHNlIH0pIHRhYmxlOiBNYXRUYWJsZTxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHN0YXRpYzogZmFsc2UgfSkgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogZmFsc2UgfSkgc29ydDogTWF0U29ydDtcclxuXHJcbiAgLy8gYWZ0ZXIgdGhlIDxuZy1jb250ZW50PiBoYXMgYmVlbiBpbml0aWFsaXplZCwgdGhlIGNvbHVtbiBkZWZpbml0aW9ucyBhcmUgYXZhaWxhYmxlLlxyXG4gIC8vIEFsbCB0aGF0J3MgbGVmdCBpcyB0byBhZGQgdGhlbSB0byB0aGUgdGFibGUgb3Vyc2VsdmVzOlxyXG4gIEBJbnB1dCgpIGNvbmZpZ3VyYXRpb246IERpc3BsYXlPYmplY3RzQ29uZmlndXJhdGlvbjxUT2JqPjtcclxuICBASW5wdXQoKSBkaXNwbGF5T2JqTGluazogKG9iajogVE9iaiwgYWN0aW9uPzogc3RyaW5nKSA9PiAoc3RyaW5nIHwgc3RyaW5nW10pO1xyXG4gIEBJbnB1dCgpIGNhbkRpc3BsYXlPYmo6ICgodXNlcjogYW55LCBvYmo6IFRPYmosIGFjdGlvbj86IHN0cmluZykgPT4gYm9vbGVhbikgfCBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2FuRWRpdDogKCh1c2VyOiBhbnksIG9iajogVE9iaikgPT4gYm9vbGVhbikgfCBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjYW5EZWxldGU6ICgodXNlcjogYW55LCBvYmo6IFRPYmopID0+IGJvb2xlYW4pIHwgYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgY2FuQWRkOiAoKHVzZXI6IGFueSkgPT4gYm9vbGVhbikgfCBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgRWRpdG9yOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIHNlYXJjaFJlcXVlc3Q6IChvYmo/OiBUT2JqIHwgYW55KSA9PiBPYnNlcnZhYmxlPFRPYmpbXT47XHJcbiAgQElucHV0KCkgcG9zdFJlcXVlc3Q6IChvYmo/OiBUT2JqIHwgYW55KSA9PiBPYnNlcnZhYmxlPFRPYmo+O1xyXG4gIEBJbnB1dCgpIGRlbGV0ZVJlcXVlc3Q6IChvYmo/OiBUT2JqIHwgYW55KSA9PiBPYnNlcnZhYmxlPFRPYmpbXT47XHJcbiAgQElucHV0KCkgcHV0UmVxdWVzdDogKG9iaj86IFRPYmogfCBhbnkpID0+IE9ic2VydmFibGU8VE9ialtdPjtcclxuICBASW5wdXQoKSBjb2x1bW5zOiAoKSA9PiBzdHJpbmdbXTtcclxuICBASW5wdXQoKSBnbG93d1NlcnZpY2U6IEdsb3d3U2VydmljZTtcclxuICBASW5wdXQoKSBvYmplY3ROYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHJpbWFyeUtleTogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgQElucHV0KCkgbWF4cm93czogc3RyaW5nW107XHJcbiAgQElucHV0KCkgbWFuZGF0b3J5UGFyYW1zOiBvYmplY3QgPSB7fTtcclxuICBASW5wdXQoKSBhY3Rpb25zID0gW107XHJcbiAgQElucHV0KCkgZGlhbG9nQ29uZmlnOiBvYmplY3QgPSB7fTtcclxuICBASW5wdXQoKSBmaWxlRmllbGRzOiBzdHJpbmdbXTtcclxuXHJcbiAgY29sdW1uc1RvRGlzcGxheSA9IFtdO1xyXG4gIGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxUT2JqPjtcclxuICBkaXNwbGF5Zm9ybSA9IHRydWU7XHJcbiAgZGlzcGxheXJlc3VsdCA9IGZhbHNlO1xyXG4gIHF1ZXJ5UGFyYW1zOiBhbnkgPSB7fTtcclxuICByZXN1bHRFeGNlcHRpb246IHN0cmluZztcclxuICBjdXJyZW50VXNlcjogYW55O1xyXG4gIGZvcm0yOiBGb3JtR3JvdXA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbiwgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzO1xyXG4gICAgdGhpcy5jdXJyZW50VXNlciA9ICh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlIGFzIGFueSkuVXNlckluZm87XHJcbiAgICB0aGlzLmZvcm0yID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIF9NYXhSb3dfOiBbbnVsbF1cclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnNlYXJjaFJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5zZWFyY2hSZXF1ZXN0ID0gdGhpcy5nbG93d1NlcnZpY2VbYHNlYXJjaCR7dGhpcy5vYmplY3ROYW1lfWBdO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnBvc3RSZXF1ZXN0KSB7XHJcbiAgICAgIHRoaXMucG9zdFJlcXVlc3QgPSB0aGlzLmdsb3d3U2VydmljZVtgcG9zdCR7dGhpcy5vYmplY3ROYW1lfWBdO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmRlbGV0ZVJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5kZWxldGVSZXF1ZXN0ID0gdGhpcy5nbG93d1NlcnZpY2VbYGRlbGV0ZSR7dGhpcy5vYmplY3ROYW1lfWBdO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnB1dFJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5wdXRSZXF1ZXN0ID0gdGhpcy5nbG93d1NlcnZpY2VbYHB1dCR7dGhpcy5vYmplY3ROYW1lfWBdO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubWF4cm93cz8ubGVuZ3RoID4gMCkgeyB0aGlzLmZvcm0uYWRkQ29udHJvbChcIl9NYXhSb3dfXCIsIG5ldyBGb3JtQ29udHJvbChudWxsKSk7IH1cclxuICB9XHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmZvcm1MYXlvdXQgJiYgdGhpcy5yZXN1bHRMYXlvdXQpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5Zm9ybSA9IGZhbHNlOyB0aGlzLmRpc3BsYXlyZXN1bHQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBTZWFyY2goZGF0YT86IERhdGEpIHtcclxuICAgIHRoaXMuZGlzcGxheXJlc3VsdCA9IHRydWU7XHJcbiAgICB0aGlzLmRpc3BsYXlmb3JtID0gZmFsc2U7XHJcbiAgICB0aGlzLnJlc3VsdEV4Y2VwdGlvbiA9IG51bGw7XHJcblxyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaChuYW1lID0+IHtcclxuICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zW25hbWVdID0gZGF0YVtuYW1lXTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgT2JqZWN0LmtleXModGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMpLmZvckVhY2gobmFtZSA9PiB7XHJcbiAgICAgIHRoaXMucXVlcnlQYXJhbXNbbmFtZV0gPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtc1tuYW1lXTtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLm1hbmRhdG9yeVBhcmFtcykge1xyXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLm1hbmRhdG9yeVBhcmFtcykuZm9yRWFjaChuYW1lID0+IHtcclxuICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zW25hbWVdID0gdGhpcy5xdWVyeVBhcmFtc1tuYW1lXTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWFyY2hSZXF1ZXN0LmNhbGwodGhpcy5nbG93d1NlcnZpY2UsIHRoaXMucXVlcnlQYXJhbXMpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxUT2JqPihyKTtcclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHRoaXMuVXBkYXRlVGFibGUoKTtcclxuICAgIH0sXHJcbiAgICAgIGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLmRpc3BsYXlyZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRpc3BsYXlmb3JtID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnJlc3VsdEV4Y2VwdGlvbiA9IGVycm9yO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNsZWFuKG9iaikge1xyXG4gICAgZm9yIChjb25zdCBwcm9wTmFtZSBpbiBvYmopIHtcclxuICAgICAgaWYgKG9ialtwcm9wTmFtZV0gPT09IG51bGwgfHwgb2JqW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgZGVsZXRlIG9ialtwcm9wTmFtZV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2VhcmNoKCkge1xyXG4gICAgdGhpcy5xdWVyeVBhcmFtcyA9IHt9O1xyXG4gICAgT2JqZWN0LmtleXModGhpcy5mb3JtLnZhbHVlKS5mb3JFYWNoKG5hbWUgPT4ge1xyXG4gICAgICBjb25zdCB2YWwgPSB0aGlzLmZvcm0udmFsdWVbbmFtZV07XHJcbiAgICAgIGlmICh2YWwpIHtcclxuICAgICAgICBpZiAodmFsLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdNb21lbnQnKSB7XHJcbiAgICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zW25hbWVdID0gKHZhbCBhcyBNb21lbnQpLnRvSVNPU3RyaW5nKClcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5xdWVyeVBhcmFtc1tuYW1lXSA9IHZhbDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuZm9ybTIudmFsdWUuX01heFJvd18pIHsgdGhpcy5xdWVyeVBhcmFtcy5fTWF4Um93XyA9IHRoaXMuZm9ybTIudmFsdWUuX01heFJvd187IH1cclxuICAgIHRoaXMuY2xlYW4odGhpcy5xdWVyeVBhcmFtcyk7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7IGZyb21PYmplY3Q6IHRoaXMucXVlcnlQYXJhbXMgfSk7XHJcbiAgICBjb25zdCBjdXJyZW50c3RhdGUgPSB0aGlzLmxvY2F0aW9uLmdldFN0YXRlKCk7XHJcbiAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZSh0aGlzLnJvdXRlci51cmwsIHBhcmFtcy50b1N0cmluZygpKTtcclxuICAgIHRoaXMuU2VhcmNoKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgVXBkYXRlRGF0YVNvdXJjZShyOiBUT2JqW10pIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2U8VE9iaj4ocik7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICB0aGlzLlVwZGF0ZVRhYmxlKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgVXBkYXRlVGFibGUoKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhU291cmNlKSB7XHJcbiAgICAgIGlmICghdGhpcy50YWJsZSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCchdGhpcy50YWJsZScpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlc3VsdExheW91dC5jb2x1bW5EZWZzLmZvckVhY2goY29sdW1uRGVmID0+IHRoaXMudGFibGUuYWRkQ29sdW1uRGVmKGNvbHVtbkRlZikpO1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gICAgICB0aGlzLmNvbHVtbnNUb0Rpc3BsYXkgPSB0aGlzLmNvbHVtbnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbkRpc3BsYXlPYmpUaGlzKG9iaiwgYWN0aW9uPykge1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKCF0aGlzLmRpc3BsYXlPYmpMaW5rKSB7IHJldHVybiBmYWxzZTsgfVxyXG4gICAgICBpZiAodHlwZW9mIHRoaXMuY2FuRGlzcGxheU9iaiA9PT0gJ2Jvb2xlYW4nKSB7IHJldHVybiB0aGlzLmNhbkRpc3BsYXlPYmo7IH1cclxuICAgICAgcmV0dXJuIHRoaXMuY2FuRGlzcGxheU9iaih0aGlzLmN1cnJlbnRVc2VyLCBvYmosIGFjdGlvbik7XHJcbiAgICB9IGNhdGNoIChleCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhleCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuICBjYW5BZGRUaGlzKCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKCF0aGlzLmNhbkFkZCkgeyByZXR1cm4gZmFsc2U7IH1cclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNhbkFkZCA9PT0gJ2Jvb2xlYW4nKSB7IHJldHVybiB0aGlzLmNhbkFkZDsgfVxyXG4gICAgICByZXR1cm4gdGhpcy5jYW5BZGQodGhpcy5jdXJyZW50VXNlcik7XHJcbiAgICB9IGNhdGNoIChleCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhleCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FuRWRpdFRoaXMob2JqKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoIXRoaXMuY2FuRWRpdCkgeyByZXR1cm4gZmFsc2U7IH1cclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNhbkVkaXQgPT09ICdib29sZWFuJykgeyByZXR1cm4gdGhpcy5jYW5FZGl0OyB9XHJcbiAgICAgIHJldHVybiB0aGlzLmNhbkVkaXQodGhpcy5jdXJyZW50VXNlciwgb2JqKTtcclxuICAgIH0gY2F0Y2ggKGV4KSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGV4KTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYW5EZWxldGVUaGlzKG9iaikge1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKCF0aGlzLmNhbkRlbGV0ZSkgeyByZXR1cm4gZmFsc2U7IH1cclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNhbkRlbGV0ZSA9PT0gJ2Jvb2xlYW4nKSB7IHJldHVybiB0aGlzLmNhbkRlbGV0ZTsgfVxyXG4gICAgICByZXR1cm4gdGhpcy5jYW5EZWxldGUodGhpcy5jdXJyZW50VXNlciwgb2JqKTtcclxuICAgIH0gY2F0Y2ggKGV4KSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGV4KTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGlzcGxheU9iakxpbmtUaGlzKG9iaiwgYWN0aW9uPykge1xyXG4gICAgaWYgKCF0aGlzLmRpc3BsYXlPYmpMaW5rKSB7IHJldHVybiBudWxsOyB9XHJcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5T2JqTGluayhvYmosIGFjdGlvbik7XHJcbiAgfVxyXG5cclxuXHJcbiAgaXNTdHJpbmcodmFsdWUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHZhbHVlIGluc3RhbmNlb2YgU3RyaW5nO1xyXG4gIH1cclxuICBnZXRQcmltYXJ5S2V5KG9iajogb2JqZWN0IHwgVE9iaik6IG9iamVjdFtdIHtcclxuICAgIGxldCByZXMgPSBbXTtcclxuICAgIGlmICh0aGlzLmlzU3RyaW5nKHRoaXMucHJpbWFyeUtleSkpIHtcclxuICAgICAgY29uc29sZS5sb2coXCJzdHJpbmdcIik7XHJcbiAgICAgIHJlcy5wdXNoKG9ialt0aGlzLnByaW1hcnlLZXkgYXMgc3RyaW5nXSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZyhcInN0cmluZ1tdXCIpO1xyXG4gICAgICAodGhpcy5wcmltYXJ5S2V5IGFzIHN0cmluZ1tdKS5mb3JFYWNoKGtleSA9PiByZXMucHVzaChvYmpba2V5XSkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcztcclxuICB9XHJcblxyXG4gIF9zYXZlT2JqKG9iajogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHZhciBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gICAgdGhpcy5wb3N0UmVxdWVzdC5jYWxsKHRoaXMuZ2xvd3dTZXJ2aWNlLCBvYmopLnN1YnNjcmliZShcclxuICAgICAgZGF0YSA9PiB7XHJcbiAgICAgICAgY29uc3QgdG1wID0gdGhpcy5kYXRhU291cmNlLmRhdGE7XHJcbiAgICAgICAgdG1wLnB1c2goZGF0YSk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0bXA7XHJcbiAgICAgICAgc3ViamVjdC5uZXh0KGRhdGEpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvciA9PiB7XHJcbiAgICAgICAgYWxlcnQoYFVuYWJsZSB0byBhZGQgT2JqZWN0ICR7ZXJyb3Iuc3RhdHVzfSAke2Vycm9yLnN0YXR1c1RleHR9XFxuJHtlcnJvci5NZXNzYWdlfVxcbiR7ZXJyb3IuZXJyb3J9YCk7XHJcbiAgICAgICAgc3ViamVjdC5lcnJvcihlcnJvcik7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICByZXR1cm4gc3ViamVjdDtcclxuICB9XHJcbiAgX3NhdmVGaWxlKGZpbGVGaWVsZDogc3RyaW5nLCBvYmo6IGFueSwgZmlsZTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlLmRhdGEpO1xyXG4gICAgcmV0dXJuIHRoaXMuZ2xvd3dTZXJ2aWNlW2Bwb3N0JHt0aGlzLm9iamVjdE5hbWV9JHtmaWxlRmllbGR9YF0uY2FsbCh0aGlzLmdsb3d3U2VydmljZSwgdGhpcy5nZXRQcmltYXJ5S2V5KG9iaiksIGZvcm1EYXRhKS5waXBlKFxyXG4gICAgICB0YXAoKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xyXG4gICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxyXG4gICAgICAgICAgICBmaWxlLnByb2dyZXNzID0gTWF0aC5yb3VuZChldmVudC5sb2FkZWQgKiAxMDAgLyAoZXZlbnQudG90YWwgPz8gMSkpO1xyXG4gICAgICAgICAgICBmaWxlLmluUHJvZ3Jlc3MgPSBmaWxlLnByb2dyZXNzICE9PSAxMDA7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxyXG4gICAgICAgICAgICBmaWxlLnByb2dyZXNzID0gMTAwO1xyXG4gICAgICAgICAgICBmaWxlLnN0YXR1cyA9IFwiRG9uZVwiO1xyXG4gICAgICAgICAgICBmaWxlLmluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgZmlsdGVyKChldmVudDogSHR0cEV2ZW50PGFueT4pID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhgZmlsdGVyICR7ZXZlbnQudHlwZX1gKTtcclxuICAgICAgICByZXR1cm4gZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5SZXNwb25zZVxyXG4gICAgICB9KSxcclxuICAgICAgbWFwKChldmVudDogSHR0cFJlc3BvbnNlPGFueT4pID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhgbWFwICR7ZXZlbnQudHlwZX1gKTtcclxuICAgICAgICByZXR1cm4gZXZlbnQuYm9keTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGZpbGUuaW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgIGZpbGUuc3RhdHVzID0gXCJFcnJvclwiO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGAke2ZpbGUuZGF0YS5uYW1lfSB1cGxvYWQgZmFpbGVkLmApO1xyXG4gICAgICAgIC8vc3ViamVjdC5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgcmV0dXJuIG9mKGAke2ZpbGUuZGF0YS5uYW1lfSB1cGxvYWQgZmFpbGVkLmApO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEFkZE9iaigpIHtcclxuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcclxuICAgIGRpYWxvZ0NvbmZpZy5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xyXG4gICAgZGlhbG9nQ29uZmlnLmF1dG9Gb2N1cyA9IHRydWU7XHJcbiAgICBkaWFsb2dDb25maWcuY2xvc2VPbk5hdmlnYXRpb24gPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLmRpYWxvZ0NvbmZpZykge1xyXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmRpYWxvZ0NvbmZpZykuZm9yRWFjaChcclxuICAgICAgICBuYW1lID0+IHtcclxuICAgICAgICAgIGRpYWxvZ0NvbmZpZ1tuYW1lXSA9IHRoaXMuZGlhbG9nQ29uZmlnW25hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGxldCBhcmdzID0ge307XHJcbiAgICBPYmplY3Qua2V5cyh0aGlzLnJvdXRlLnNuYXBzaG90Py5wYXJhbXMpLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgYXJnc1trZXldID0gdGhpcy5yb3V0ZS5zbmFwc2hvdD8ucGFyYW1zW2tleV07XHJcbiAgICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0gYXJncztcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICBjb25zdCBkbGcgPSB0aGlzLmRpYWxvZy5vcGVuKHRoaXMuRWRpdG9yLCBkaWFsb2dDb25maWcpO1xyXG4gICAgZGxnLmNvbXBvbmVudEluc3RhbmNlLmNhbGxiYWNrID0gKFxyXG4gICAgICBkYXRhID0+IHtcclxuICAgICAgICBsZXQgZGF0YWNvcHkgPSB7IC4uLmRhdGEgfTtcclxuICAgICAgICBjb25zdCBmaWxlRmllbGRzID0gKHRoaXMuRWRpdG9yIGFzIGFueSkuZmlsZUZpZWxkcztcclxuICAgICAgICBpZiAoZmlsZUZpZWxkcy5sZW5ndGggPSAxKSB7XHJcbiAgICAgICAgICAvLyBVbiBzZXVsIGNoYW1wLCBpbCBwZXV0IMOqdHJlIG11bHRpcGxlXHJcbiAgICAgICAgICBjb25zdCBmaWxlRmllbGQgPSBmaWxlRmllbGRzWzBdO1xyXG4gICAgICAgICAgY29uc3QgZmlsZXMgPSBkYXRhY29weVtmaWxlRmllbGRdO1xyXG4gICAgICAgICAgZGVsZXRlIGRhdGFjb3B5W2ZpbGVGaWVsZF07XHJcbiAgICAgICAgICBjb25zdCBhbGxvYnM6IHsgW2tleTogc3RyaW5nXTogT2JzZXJ2YWJsZTxhbnk+OyB9ID0ge31cclxuICAgICAgICAgIGZpbGVzLmZvckVhY2goZmlsZSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChmaWxlLnN0YXR1dCAhPT0gJ0RvbmUnICYmIGZpbGUuc3RhdHV0ICE9PSAnRXJyb3InKSB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgb2JzID0gdGhpcy5fc2F2ZU9iaihkYXRhY29weSkucGlwZShcclxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChuZXdkYXRhID0+IHRoaXMuX3NhdmVGaWxlKGZpbGVGaWVsZCwgbmV3ZGF0YSwgZmlsZSlcclxuICAgICAgICAgICAgICAgICkpO1xyXG4gICAgICAgICAgICAgIGFsbG9ic1tmaWxlLm5hbWVdID0gb2JzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KGFsbG9icykucGlwZSh0YWtlKDEpKTtcclxuXHJcbiAgICAgICAgfSBlbHNlIGlmIChmaWxlRmllbGRzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgIC8vIFBsdXNpZXVycyBjaGFtcHMgZmlsZSwgaWwgbmUgcGV1dCB5IGF2b2lyIHF1J3VuZSBzZXVsIGZpY2hpZXIgcGFyIGNoYW1wLlxyXG4gICAgICAgICAgY29uc3QgZmllbGRzID0ge307XHJcbiAgICAgICAgICBmaWxlRmllbGRzLmZvckVhY2goZmYgPT4ge1xyXG4gICAgICAgICAgICBmaWVsZHNbZmZdID0gZGF0YWNvcHlbZmZdO1xyXG4gICAgICAgICAgICBkZWxldGUgZGF0YWNvcHlbZmZdO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc2F2ZU9iaihkYXRhY29weSkucGlwZShcclxuICAgICAgICAgICAgICBtZXJnZU1hcChuZXdkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgIHZhciBhbGxvYnM6IE9ic2VydmFibGU8YW55PltdID0gW107XHJcbiAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhmaWVsZHMpLmZvckVhY2goKFtmaWxlRmllbGQsIGZpbGVzXTogW3N0cmluZywgYW55W11dKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChmaWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsb2JzLnB1c2godGhpcy5fc2F2ZUZpbGUoZmlsZUZpZWxkLCBuZXdkYXRhLCBmaWxlc1swXSkpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvcmtKb2luKGFsbG9icyk7IC8vIFRPRE8gOiBQQVMgVEVSTUlORS4uLiBKQU1BSVMgVVRJTElTRS4uLlxyXG4gICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIEZvcm0gc2FucyBmaWNoaWVyXHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5fc2F2ZU9iaihkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBEZWxldGVPYmoob2JqKSB7XHJcbiAgICBpZiAoY29uZmlybSgnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIG9iamV0ID8gJykpIHtcclxuICAgICAgdGhpcy5kZWxldGVSZXF1ZXN0LmFwcGx5KHRoaXMuZ2xvd3dTZXJ2aWNlLCB0aGlzLmdldFByaW1hcnlLZXkob2JqKSkuc3Vic2NyaWJlKFxyXG4gICAgICAgIHAgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmluZGV4T2Yob2JqKTtcclxuICAgICAgICAgIGNvbnN0IHRtcCA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhO1xyXG4gICAgICAgICAgdG1wLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdG1wO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgYWxlcnQoYFVuYWJsZSB0byBkZWxldGUgT2JqZWN0ICR7ZXJyb3Iuc3RhdHVzfSAke2Vycm9yLnN0YXR1c1RleHR9XFxuJHtlcnJvci5NZXNzYWdlfVxcbiR7ZXJyb3IuZXJyb3J9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgRWRpdE9iaihvYmo6IFRPYmopIHtcclxuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcclxuICAgIGRpYWxvZ0NvbmZpZy5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xyXG4gICAgZGlhbG9nQ29uZmlnLmF1dG9Gb2N1cyA9IHRydWU7XHJcbiAgICBkaWFsb2dDb25maWcuY2xvc2VPbk5hdmlnYXRpb24gPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLmRpYWxvZ0NvbmZpZykge1xyXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmRpYWxvZ0NvbmZpZykuZm9yRWFjaChcclxuICAgICAgICBuYW1lID0+IHtcclxuICAgICAgICAgIGRpYWxvZ0NvbmZpZ1tuYW1lXSA9IHRoaXMuZGlhbG9nQ29uZmlnW25hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0gb2JqO1xyXG4gICAgdGhpcy5kaWFsb2cub3Blbih0aGlzLkVkaXRvciwgZGlhbG9nQ29uZmlnKS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShcclxuICAgICAgZGF0YSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgIGxldCBhcmdzOiBvYmplY3RbXSA9IHRoaXMuZ2V0UHJpbWFyeUtleShvYmopOyBhcmdzLnB1c2goZGF0YSlcclxuICAgICAgICAgIHRoaXMucHV0UmVxdWVzdC5hcHBseSh0aGlzLmdsb3d3U2VydmljZSwgYXJncykuc3Vic2NyaWJlKHAgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5kYXRhU291cmNlLmRhdGEuaW5kZXhPZihvYmopO1xyXG4gICAgICAgICAgICBjb25zdCB0bXAgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YTtcclxuICAgICAgICAgICAgdG1wW2ldID0gcDtcclxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0bXA7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yID0+IHtcclxuICAgICAgICBhbGVydChgVW5hYmxlIHRvIHVwZGF0ZSBPYmplY3QgJHtlcnJvci5zdGF0dXN9ICR7ZXJyb3Iuc3RhdHVzVGV4dH1cXG4ke2Vycm9yLk1lc3NhZ2V9XFxuJHtlcnJvci5lcnJvcn1gKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXY+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJnbHctaGVhZGVyXCI+PC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJkaXNwbGF5Zm9ybVwiPlxyXG4gICAgPG1hdC1jYXJkPlxyXG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwicmVzdWx0RXhjZXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICBVbmFibGUgdG8gcXVlcnkgOiB7e3Jlc3VsdEV4Y2VwdGlvbn19XHJcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJnbHctc2VhcmNoLWZvcm1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXhyb3dzXCIgW2Zvcm1Hcm91cF09XCJmb3JtMlwiPlxyXG4gICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJNYXhSb3dcIiBmb3JtQ29udHJvbE5hbWU9XCJfTWF4Um93X1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgbWF4cm93IG9mIG1heHJvd3NcIiBbdmFsdWVdPVwibWF4cm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1heHJvd1wiPnt7bWF4cm93fX0gb2JqZWN0czwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIW1heHJvd1wiPiBEZWZhdWx0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJvblNlYXJjaCgpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XHJcbiAgICAgICAgU2VhcmNoXHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuICAgIDwvbWF0LWNhcmQ+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cImRpc3BsYXlyZXN1bHRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo4XCIgKm5nSWY9XCJkYXRhU291cmNlOyBlbHNlIFNwaW5uZXJcIj5cclxuICAgICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBtYXRTb3J0PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS1wbHVzXCIgKGNsaWNrKT1cIkFkZE9iaigpXCIgKm5nSWY9XCJjYW5BZGRUaGlzKClcIj5cclxuICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgb2JqXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtZXllXCIgW3JvdXRlckxpbmtdPVwiZGlzcGxheU9iakxpbmtUaGlzKG9iailcIiAqbmdJZj1cImNhbkRpc3BsYXlPYmpUaGlzKG9iailcIj5cclxuICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBbbmdDbGFzc109XCJhY3Rpb24uaWNvblwiIFtyb3V0ZXJMaW5rXT1cImFjdGlvbi5yb3V0ZXJMaW5rRmN0KG9iailcIiAqbmdJZj1cImFjdGlvbi5pY29uLmljb24gJiYgKCFhY3Rpb24uZGlzcGxheSB8fCBhY3Rpb24uZGlzcGxheShvYmosIGFjdGlvbi5uYW1lKSlcIj5cclxuICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBbbmdDbGFzc109XCJhY3Rpb24uaWNvblwiIFtyb3V0ZXJMaW5rXT1cImFjdGlvbi5yb3V0ZXJMaW5rRmN0KG9iailcIiAqbmdJZj1cIiFhY3Rpb24uaWNvbi5pY29uICYmICghYWN0aW9uLmRpc3BsYXkgfHwgYWN0aW9uLmRpc3BsYXkob2JqLCBhY3Rpb24ubmFtZSkpXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLXRyYXNoLWFsdFwiIChjbGljayk9XCJEZWxldGVPYmoob2JqKVwiICpuZ0lmPVwiY2FuRGVsZXRlVGhpcyhvYmopXCI+XHJcbiAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtcGVuY2lsXCIgKGNsaWNrKT1cIkVkaXRPYmoob2JqKVwiICpuZ0lmPVwiY2FuRWRpdFRoaXMob2JqKVwiPlxyXG4gICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImdsdy1yZXN1bHQtdGFibGVcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiY29sdW1uc1RvRGlzcGxheVwiPjwvdHI+XHJcbiAgICAgICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgbXlSb3dEYXRhOyBjb2x1bW5zOiBjb2x1bW5zVG9EaXNwbGF5XCI+PC90cj5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgIDxtYXQtcGFnaW5hdG9yIHBhZ2VTaXplPVwiMTBcIj48L21hdC1wYWdpbmF0b3I+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjU3Bpbm5lcj5cclxuICAgICAgICA8bWF0LXNwaW5uZXI+PC9tYXQtc3Bpbm5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG4iXX0=
440
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1vYmplY3RzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dsb3d3L3NyYy9saWIvQ29tcG9uZW50cy9kaXNwbGF5LW9iamVjdHMvZGlzcGxheS1vYmplY3RzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dsb3d3L3NyYy9saWIvQ29tcG9uZW50cy9kaXNwbGF5LW9iamVjdHMvZGlzcGxheS1vYmplY3RzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLFNBQVMsRUFBc0ssS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQ25RLE9BQU8sRUFBRSxXQUFXLEVBQTBCLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQWdCLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUEwQixFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUU5RSxPQUFPLEVBQWdDLGFBQWEsRUFBRSxVQUFVLEVBQWdCLE1BQU0sc0JBQXNCLENBQUM7QUFHN0csT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSXRFLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFFB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QUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpc3BsYXlPYmplY3RzQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vLi4vZGlzcGxheS1vYmplY3RzLWNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBTZWFyY2hGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vc2VhcmNoLWZvcm0vc2VhcmNoLWZvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmVmZXJlbmNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXIvc3JjL3JlbmRlcjMvcjNfYXN0JztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIE9uSW5pdCwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBEaXJlY3RpdmUsIENoYW5nZURldGVjdG9yUmVmLCBJbmplY3RvciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEFmdGVyQ29udGVudEluaXQsIFF1ZXJ5TGlzdCwgQ29udGVudENoaWxkcmVuLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBNYXRDb2x1bW5EZWYsIE1hdFRhYmxlLCBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIGZvcmtKb2luLCBvYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJlc3VsdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVzdWx0LXRhYmxlL3Jlc3VsdC10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwRXZlbnRUeXBlLCBIdHRwUGFyYW1zLCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIERhdGEsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgR2xvd3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vU2VydmljZXMvZ2xvd3cuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2dsb3d3LXNlY3VyaXR5L1NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBtYXAsIGNhdGNoRXJyb3IsIG1lcmdlTWFwLCB0YXAsIGZpbHRlciwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb24ge1xyXG4gIGljb246IGFueTtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHJvdXRlckxpbmtGY3Q/OiAob2JqKSA9PiBzdHJpbmdbXTtcclxuICBkaXNwbGF5PzogKG9iaikgPT4gYm9vbGVhbjtcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ2x3LWRpc3BsYXktb2JqZWN0cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Rpc3BsYXktb2JqZWN0cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGlzcGxheS1vYmplY3RzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIERpc3BsYXlPYmplY3RzQ29tcG9uZW50PFRPYmo+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICBAQ29udGVudENoaWxkKEhlYWRlckNvbXBvbmVudCkgaGVhZGVyOiBIZWFkZXJDb21wb25lbnQ7XHJcbiAgQENvbnRlbnRDaGlsZChTZWFyY2hGb3JtQ29tcG9uZW50KSBmb3JtTGF5b3V0OiBTZWFyY2hGb3JtQ29tcG9uZW50O1xyXG4gIEBDb250ZW50Q2hpbGQoUmVzdWx0VGFibGVDb21wb25lbnQpIHJlc3VsdExheW91dDogUmVzdWx0VGFibGVDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChNYXRUYWJsZSwgeyBzdGF0aWM6IGZhbHNlIH0pIHRhYmxlOiBNYXRUYWJsZTxhbnk+O1xyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHN0YXRpYzogZmFsc2UgfSkgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogZmFsc2UgfSkgc29ydDogTWF0U29ydDtcclxuXHJcbiAgLy8gYWZ0ZXIgdGhlIDxuZy1jb250ZW50PiBoYXMgYmVlbiBpbml0aWFsaXplZCwgdGhlIGNvbHVtbiBkZWZpbml0aW9ucyBhcmUgYXZhaWxhYmxlLlxyXG4gIC8vIEFsbCB0aGF0J3MgbGVmdCBpcyB0byBhZGQgdGhlbSB0byB0aGUgdGFibGUgb3Vyc2VsdmVzOlxyXG4gIEBJbnB1dCgpIGNvbmZpZ3VyYXRpb246IERpc3BsYXlPYmplY3RzQ29uZmlndXJhdGlvbjxUT2JqPjtcclxuICBASW5wdXQoKSBkaXNwbGF5T2JqTGluazogKG9iajogVE9iaiwgYWN0aW9uPzogc3RyaW5nKSA9PiAoc3RyaW5nIHwgc3RyaW5nW10pO1xyXG4gIEBJbnB1dCgpIGNhbkRpc3BsYXlPYmo6ICgodXNlcjogYW55LCBvYmo6IFRPYmosIGFjdGlvbj86IHN0cmluZykgPT4gYm9vbGVhbikgfCBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2FuRWRpdDogKCh1c2VyOiBhbnksIG9iajogVE9iaikgPT4gYm9vbGVhbikgfCBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjYW5EZWxldGU6ICgodXNlcjogYW55LCBvYmo6IFRPYmopID0+IGJvb2xlYW4pIHwgYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgY2FuQWRkOiAoKHVzZXI6IGFueSkgPT4gYm9vbGVhbikgfCBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgRWRpdG9yOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIHNlYXJjaFJlcXVlc3Q6IChvYmo/OiBUT2JqIHwgYW55KSA9PiBPYnNlcnZhYmxlPFRPYmpbXT47XHJcbiAgQElucHV0KCkgcG9zdFJlcXVlc3Q6IChvYmo/OiBUT2JqIHwgYW55KSA9PiBPYnNlcnZhYmxlPFRPYmo+O1xyXG4gIEBJbnB1dCgpIGRlbGV0ZVJlcXVlc3Q6IChvYmo/OiBUT2JqIHwgYW55KSA9PiBPYnNlcnZhYmxlPFRPYmpbXT47XHJcbiAgQElucHV0KCkgcHV0UmVxdWVzdDogKG9iaj86IFRPYmogfCBhbnkpID0+IE9ic2VydmFibGU8VE9ialtdPjtcclxuICBASW5wdXQoKSBjb2x1bW5zOiAoKSA9PiBzdHJpbmdbXTtcclxuICBASW5wdXQoKSBnbG93d1NlcnZpY2U6IEdsb3d3U2VydmljZTtcclxuICBASW5wdXQoKSBvYmplY3ROYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHJpbWFyeUtleTogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgQElucHV0KCkgbWF4cm93czogc3RyaW5nW107XHJcbiAgQElucHV0KCkgbWFuZGF0b3J5UGFyYW1zOiBvYmplY3QgPSB7fTtcclxuICBASW5wdXQoKSBhY3Rpb25zID0gW107XHJcbiAgQElucHV0KCkgZGlhbG9nQ29uZmlnOiBvYmplY3QgPSB7fTtcclxuICBASW5wdXQoKSBmaWxlRmllbGRzOiBzdHJpbmdbXTtcclxuXHJcbiAgY29sdW1uc1RvRGlzcGxheSA9IFtdO1xyXG4gIGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxUT2JqPjtcclxuICBkaXNwbGF5Zm9ybSA9IHRydWU7XHJcbiAgZGlzcGxheXJlc3VsdCA9IGZhbHNlO1xyXG4gIHF1ZXJ5UGFyYW1zOiBhbnkgPSB7fTtcclxuICByZXN1bHRFeGNlcHRpb246IHN0cmluZztcclxuICBjdXJyZW50VXNlcjogYW55O1xyXG4gIGZvcm0yOiBGb3JtR3JvdXA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvbiwgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgcHJpdmF0ZSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzO1xyXG4gICAgdGhpcy5jdXJyZW50VXNlciA9ICh0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jdXJyZW50VXNlclZhbHVlIGFzIGFueSkuVXNlckluZm87XHJcbiAgICB0aGlzLmZvcm0yID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIF9NYXhSb3dfOiBbbnVsbF1cclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnNlYXJjaFJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5zZWFyY2hSZXF1ZXN0ID0gdGhpcy5nbG93d1NlcnZpY2VbYHNlYXJjaCR7dGhpcy5vYmplY3ROYW1lfWBdO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnBvc3RSZXF1ZXN0KSB7XHJcbiAgICAgIHRoaXMucG9zdFJlcXVlc3QgPSB0aGlzLmdsb3d3U2VydmljZVtgcG9zdCR7dGhpcy5vYmplY3ROYW1lfWBdO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmRlbGV0ZVJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5kZWxldGVSZXF1ZXN0ID0gdGhpcy5nbG93d1NlcnZpY2VbYGRlbGV0ZSR7dGhpcy5vYmplY3ROYW1lfWBdO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnB1dFJlcXVlc3QpIHtcclxuICAgICAgdGhpcy5wdXRSZXF1ZXN0ID0gdGhpcy5nbG93d1NlcnZpY2VbYHB1dCR7dGhpcy5vYmplY3ROYW1lfWBdO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubWF4cm93cz8ubGVuZ3RoID4gMCkgeyB0aGlzLmZvcm0uYWRkQ29udHJvbChcIl9NYXhSb3dfXCIsIG5ldyBGb3JtQ29udHJvbChudWxsKSk7IH1cclxuICB9XHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmZvcm1MYXlvdXQgJiYgdGhpcy5yZXN1bHRMYXlvdXQpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5Zm9ybSA9IGZhbHNlOyB0aGlzLmRpc3BsYXlyZXN1bHQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBTZWFyY2goZGF0YT86IERhdGEpIHtcclxuICAgIHRoaXMuZGlzcGxheXJlc3VsdCA9IHRydWU7XHJcbiAgICB0aGlzLmRpc3BsYXlmb3JtID0gZmFsc2U7XHJcbiAgICB0aGlzLnJlc3VsdEV4Y2VwdGlvbiA9IG51bGw7XHJcblxyXG4gICAgaWYgKGRhdGEpIHtcclxuICAgICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaChuYW1lID0+IHtcclxuICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zW25hbWVdID0gZGF0YVtuYW1lXTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgT2JqZWN0LmtleXModGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMpLmZvckVhY2gobmFtZSA9PiB7XHJcbiAgICAgIHRoaXMucXVlcnlQYXJhbXNbbmFtZV0gPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtc1tuYW1lXTtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLm1hbmRhdG9yeVBhcmFtcykge1xyXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLm1hbmRhdG9yeVBhcmFtcykuZm9yRWFjaChuYW1lID0+IHtcclxuICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zW25hbWVdID0gdGhpcy5xdWVyeVBhcmFtc1tuYW1lXTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWFyY2hSZXF1ZXN0LmNhbGwodGhpcy5nbG93d1NlcnZpY2UsIHRoaXMucXVlcnlQYXJhbXMpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZTxUT2JqPihyKTtcclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHRoaXMuVXBkYXRlVGFibGUoKTtcclxuICAgIH0sXHJcbiAgICAgIGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLmRpc3BsYXlyZXN1bHQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRpc3BsYXlmb3JtID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnJlc3VsdEV4Y2VwdGlvbiA9IGVycm9yO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNsZWFuKG9iaikge1xyXG4gICAgZm9yIChjb25zdCBwcm9wTmFtZSBpbiBvYmopIHtcclxuICAgICAgaWYgKG9ialtwcm9wTmFtZV0gPT09IG51bGwgfHwgb2JqW3Byb3BOYW1lXSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgZGVsZXRlIG9ialtwcm9wTmFtZV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2VhcmNoKCkge1xyXG4gICAgdGhpcy5xdWVyeVBhcmFtcyA9IHt9O1xyXG4gICAgT2JqZWN0LmtleXModGhpcy5mb3JtLnZhbHVlKS5mb3JFYWNoKG5hbWUgPT4ge1xyXG4gICAgICBjb25zdCB2YWwgPSB0aGlzLmZvcm0udmFsdWVbbmFtZV07XHJcbiAgICAgIGlmICh2YWwpIHtcclxuICAgICAgICBpZiAodmFsLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdNb21lbnQnKSB7XHJcbiAgICAgICAgICB0aGlzLnF1ZXJ5UGFyYW1zW25hbWVdID0gKHZhbCBhcyBNb21lbnQpLnRvSVNPU3RyaW5nKClcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5xdWVyeVBhcmFtc1tuYW1lXSA9IHZhbDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuZm9ybTIudmFsdWUuX01heFJvd18pIHsgdGhpcy5xdWVyeVBhcmFtcy5fTWF4Um93XyA9IHRoaXMuZm9ybTIudmFsdWUuX01heFJvd187IH1cclxuICAgIHRoaXMuY2xlYW4odGhpcy5xdWVyeVBhcmFtcyk7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7IGZyb21PYmplY3Q6IHRoaXMucXVlcnlQYXJhbXMgfSk7XHJcbiAgICBjb25zdCBjdXJyZW50c3RhdGUgPSB0aGlzLmxvY2F0aW9uLmdldFN0YXRlKCk7XHJcbiAgICB0aGlzLmxvY2F0aW9uLnJlcGxhY2VTdGF0ZSh0aGlzLnJvdXRlci51cmwsIHBhcmFtcy50b1N0cmluZygpKTtcclxuICAgIHRoaXMuU2VhcmNoKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgVXBkYXRlRGF0YVNvdXJjZShyOiBUT2JqW10pIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2U8VE9iaj4ocik7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHJcbiAgICB0aGlzLlVwZGF0ZVRhYmxlKCk7XHJcblxyXG4gIH1cclxuXHJcbiAgVXBkYXRlVGFibGUoKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhU291cmNlKSB7XHJcbiAgICAgIGlmICghdGhpcy50YWJsZSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCchdGhpcy50YWJsZScpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlc3VsdExheW91dC5jb2x1bW5EZWZzLmZvckVhY2goY29sdW1uRGVmID0+IHRoaXMudGFibGUuYWRkQ29sdW1uRGVmKGNvbHVtbkRlZikpO1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gICAgICB0aGlzLmNvbHVtbnNUb0Rpc3BsYXkgPSB0aGlzLmNvbHVtbnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbkRpc3BsYXlPYmpUaGlzKG9iaiwgYWN0aW9uPykge1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKCF0aGlzLmRpc3BsYXlPYmpMaW5rKSB7IHJldHVybiBmYWxzZTsgfVxyXG4gICAgICBpZiAodHlwZW9mIHRoaXMuY2FuRGlzcGxheU9iaiA9PT0gJ2Jvb2xlYW4nKSB7IHJldHVybiB0aGlzLmNhbkRpc3BsYXlPYmo7IH1cclxuICAgICAgcmV0dXJuIHRoaXMuY2FuRGlzcGxheU9iaih0aGlzLmN1cnJlbnRVc2VyLCBvYmosIGFjdGlvbik7XHJcbiAgICB9IGNhdGNoIChleCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhleCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuICBjYW5BZGRUaGlzKCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKCF0aGlzLmNhbkFkZCkgeyByZXR1cm4gZmFsc2U7IH1cclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNhbkFkZCA9PT0gJ2Jvb2xlYW4nKSB7IHJldHVybiB0aGlzLmNhbkFkZDsgfVxyXG4gICAgICByZXR1cm4gdGhpcy5jYW5BZGQodGhpcy5jdXJyZW50VXNlcik7XHJcbiAgICB9IGNhdGNoIChleCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhleCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FuRWRpdFRoaXMob2JqKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoIXRoaXMuY2FuRWRpdCkgeyByZXR1cm4gZmFsc2U7IH1cclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNhbkVkaXQgPT09ICdib29sZWFuJykgeyByZXR1cm4gdGhpcy5jYW5FZGl0OyB9XHJcbiAgICAgIHJldHVybiB0aGlzLmNhbkVkaXQodGhpcy5jdXJyZW50VXNlciwgb2JqKTtcclxuICAgIH0gY2F0Y2ggKGV4KSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGV4KTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjYW5EZWxldGVUaGlzKG9iaikge1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKCF0aGlzLmNhbkRlbGV0ZSkgeyByZXR1cm4gZmFsc2U7IH1cclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmNhbkRlbGV0ZSA9PT0gJ2Jvb2xlYW4nKSB7IHJldHVybiB0aGlzLmNhbkRlbGV0ZTsgfVxyXG4gICAgICByZXR1cm4gdGhpcy5jYW5EZWxldGUodGhpcy5jdXJyZW50VXNlciwgb2JqKTtcclxuICAgIH0gY2F0Y2ggKGV4KSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGV4KTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGlzcGxheU9iakxpbmtUaGlzKG9iaiwgYWN0aW9uPykge1xyXG4gICAgaWYgKCF0aGlzLmRpc3BsYXlPYmpMaW5rKSB7IHJldHVybiBudWxsOyB9XHJcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5T2JqTGluayhvYmosIGFjdGlvbik7XHJcbiAgfVxyXG5cclxuXHJcbiAgaXNTdHJpbmcodmFsdWUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHZhbHVlIGluc3RhbmNlb2YgU3RyaW5nO1xyXG4gIH1cclxuICBnZXRQcmltYXJ5S2V5KG9iajogb2JqZWN0IHwgVE9iaik6IG9iamVjdFtdIHtcclxuICAgIGxldCByZXMgPSBbXTtcclxuICAgIGlmICh0aGlzLmlzU3RyaW5nKHRoaXMucHJpbWFyeUtleSkpIHtcclxuICAgICAgY29uc29sZS5sb2coXCJzdHJpbmdcIik7XHJcbiAgICAgIHJlcy5wdXNoKG9ialt0aGlzLnByaW1hcnlLZXkgYXMgc3RyaW5nXSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmxvZyhcInN0cmluZ1tdXCIpO1xyXG4gICAgICAodGhpcy5wcmltYXJ5S2V5IGFzIHN0cmluZ1tdKS5mb3JFYWNoKGtleSA9PiByZXMucHVzaChvYmpba2V5XSkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcztcclxuICB9XHJcblxyXG4gIF9zYXZlT2JqKG9iajogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHZhciBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gICAgdGhpcy5wb3N0UmVxdWVzdC5jYWxsKHRoaXMuZ2xvd3dTZXJ2aWNlLCBvYmopLnN1YnNjcmliZShcclxuICAgICAgZGF0YSA9PiB7XHJcbiAgICAgICAgY29uc3QgdG1wID0gdGhpcy5kYXRhU291cmNlLmRhdGE7XHJcbiAgICAgICAgdG1wLnB1c2goZGF0YSk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0bXA7XHJcbiAgICAgICAgc3ViamVjdC5uZXh0KGRhdGEpO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvciA9PiB7XHJcbiAgICAgICAgYWxlcnQoYFVuYWJsZSB0byBhZGQgT2JqZWN0ICR7ZXJyb3Iuc3RhdHVzfSAke2Vycm9yLnN0YXR1c1RleHR9XFxuJHtlcnJvci5NZXNzYWdlfVxcbiR7ZXJyb3IuZXJyb3J9YCk7XHJcbiAgICAgICAgc3ViamVjdC5lcnJvcihlcnJvcik7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICByZXR1cm4gc3ViamVjdDtcclxuICB9XHJcbiAgX3NhdmVGaWxlKGZpbGVGaWVsZDogc3RyaW5nLCBvYmo6IGFueSwgZmlsZTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBmaWxlLmRhdGEpO1xyXG4gICAgcmV0dXJuIHRoaXMuZ2xvd3dTZXJ2aWNlW2Bwb3N0JHt0aGlzLm9iamVjdE5hbWV9JHtmaWxlRmllbGR9YF0uY2FsbCh0aGlzLmdsb3d3U2VydmljZSwgdGhpcy5nZXRQcmltYXJ5S2V5KG9iaiksIGZvcm1EYXRhKS5waXBlKFxyXG4gICAgICB0YXAoKGV2ZW50OiBIdHRwRXZlbnQ8YW55PikgPT4ge1xyXG4gICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xyXG4gICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxyXG4gICAgICAgICAgICBmaWxlLnByb2dyZXNzID0gTWF0aC5yb3VuZChldmVudC5sb2FkZWQgKiAxMDAgLyAoZXZlbnQudG90YWwgPz8gMSkpO1xyXG4gICAgICAgICAgICBmaWxlLmluUHJvZ3Jlc3MgPSBmaWxlLnByb2dyZXNzICE9PSAxMDA7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxyXG4gICAgICAgICAgICBmaWxlLnByb2dyZXNzID0gMTAwO1xyXG4gICAgICAgICAgICBmaWxlLnN0YXR1cyA9IFwiRG9uZVwiO1xyXG4gICAgICAgICAgICBmaWxlLmluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgZmlsdGVyKChldmVudDogSHR0cEV2ZW50PGFueT4pID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhgZmlsdGVyICR7ZXZlbnQudHlwZX1gKTtcclxuICAgICAgICByZXR1cm4gZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5SZXNwb25zZVxyXG4gICAgICB9KSxcclxuICAgICAgbWFwKChldmVudDogSHR0cFJlc3BvbnNlPGFueT4pID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhgbWFwICR7ZXZlbnQudHlwZX1gKTtcclxuICAgICAgICByZXR1cm4gZXZlbnQuYm9keTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGZpbGUuaW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgIGZpbGUuc3RhdHVzID0gXCJFcnJvclwiO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGAke2ZpbGUuZGF0YS5uYW1lfSB1cGxvYWQgZmFpbGVkLmApO1xyXG4gICAgICAgIC8vc3ViamVjdC5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgcmV0dXJuIG9mKGAke2ZpbGUuZGF0YS5uYW1lfSB1cGxvYWQgZmFpbGVkLmApO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEFkZE9iaigpIHtcclxuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcclxuICAgIGRpYWxvZ0NvbmZpZy5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xyXG4gICAgZGlhbG9nQ29uZmlnLmF1dG9Gb2N1cyA9IHRydWU7XHJcbiAgICBkaWFsb2dDb25maWcuY2xvc2VPbk5hdmlnYXRpb24gPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLmRpYWxvZ0NvbmZpZykge1xyXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmRpYWxvZ0NvbmZpZykuZm9yRWFjaChcclxuICAgICAgICBuYW1lID0+IHtcclxuICAgICAgICAgIGRpYWxvZ0NvbmZpZ1tuYW1lXSA9IHRoaXMuZGlhbG9nQ29uZmlnW25hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGxldCBhcmdzID0ge307XHJcbiAgICBPYmplY3Qua2V5cyh0aGlzLnJvdXRlLnNuYXBzaG90Py5wYXJhbXMpLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgYXJnc1trZXldID0gdGhpcy5yb3V0ZS5zbmFwc2hvdD8ucGFyYW1zW2tleV07XHJcbiAgICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0gYXJncztcclxuICAgIH0pO1xyXG5cclxuXHJcbiAgICBjb25zdCBkbGcgPSB0aGlzLmRpYWxvZy5vcGVuKHRoaXMuRWRpdG9yLCBkaWFsb2dDb25maWcpO1xyXG4gICAgZGxnLmNvbXBvbmVudEluc3RhbmNlLmNhbGxiYWNrID0gKFxyXG4gICAgICBkYXRhID0+IHtcclxuICAgICAgICBsZXQgZGF0YWNvcHkgPSB7IC4uLmRhdGEgfTtcclxuICAgICAgICBjb25zdCBmaWxlRmllbGRzID0gKHRoaXMuRWRpdG9yIGFzIGFueSkuZmlsZUZpZWxkcztcclxuICAgICAgICBpZiAoZmlsZUZpZWxkcz8ubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAgIC8vIFVuIHNldWwgY2hhbXAsIGlsIHBldXQgw6p0cmUgbXVsdGlwbGVcclxuICAgICAgICAgIGNvbnN0IGZpbGVGaWVsZCA9IGZpbGVGaWVsZHNbMF07XHJcbiAgICAgICAgICBjb25zdCBmaWxlcyA9IGRhdGFjb3B5W2ZpbGVGaWVsZF07XHJcbiAgICAgICAgICBkZWxldGUgZGF0YWNvcHlbZmlsZUZpZWxkXTtcclxuICAgICAgICAgIGNvbnN0IGFsbG9iczogeyBba2V5OiBzdHJpbmddOiBPYnNlcnZhYmxlPGFueT47IH0gPSB7fVxyXG4gICAgICAgICAgZmlsZXMuZm9yRWFjaChmaWxlID0+IHtcclxuICAgICAgICAgICAgaWYgKGZpbGUuc3RhdHV0ICE9PSAnRG9uZScgJiYgZmlsZS5zdGF0dXQgIT09ICdFcnJvcicpIHtcclxuICAgICAgICAgICAgICBjb25zdCBvYnMgPSB0aGlzLl9zYXZlT2JqKGRhdGFjb3B5KS5waXBlKFxyXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKG5ld2RhdGEgPT4gdGhpcy5fc2F2ZUZpbGUoZmlsZUZpZWxkLCBuZXdkYXRhLCBmaWxlKVxyXG4gICAgICAgICAgICAgICAgKSk7XHJcbiAgICAgICAgICAgICAgYWxsb2JzW2ZpbGUubmFtZV0gPSBvYnM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoYWxsb2JzKS5waXBlKHRha2UoMSkpO1xyXG5cclxuICAgICAgICB9IGVsc2UgaWYgKGZpbGVGaWVsZHM/Lmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgIC8vIFBsdXNpZXVycyBjaGFtcHMgZmlsZSwgaWwgbmUgcGV1dCB5IGF2b2lyIHF1J3VuZSBzZXVsIGZpY2hpZXIgcGFyIGNoYW1wLlxyXG4gICAgICAgICAgY29uc3QgZmllbGRzID0ge307XHJcbiAgICAgICAgICBmaWxlRmllbGRzLmZvckVhY2goZmYgPT4ge1xyXG4gICAgICAgICAgICBmaWVsZHNbZmZdID0gZGF0YWNvcHlbZmZdO1xyXG4gICAgICAgICAgICBkZWxldGUgZGF0YWNvcHlbZmZdO1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fc2F2ZU9iaihkYXRhY29weSkucGlwZShcclxuICAgICAgICAgICAgICBtZXJnZU1hcChuZXdkYXRhID0+IHtcclxuICAgICAgICAgICAgICAgIHZhciBhbGxvYnM6IE9ic2VydmFibGU8YW55PltdID0gW107XHJcbiAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhmaWVsZHMpLmZvckVhY2goKFtmaWxlRmllbGQsIGZpbGVzXTogW3N0cmluZywgYW55W11dKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgIGlmIChmaWxlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxsb2JzLnB1c2godGhpcy5fc2F2ZUZpbGUoZmlsZUZpZWxkLCBuZXdkYXRhLCBmaWxlc1swXSkpO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZvcmtKb2luKGFsbG9icyk7IC8vIFRPRE8gOiBQQVMgVEVSTUlORS4uLiBKQU1BSVMgVVRJTElTRS4uLlxyXG4gICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIEZvcm0gc2FucyBmaWNoaWVyXHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5fc2F2ZU9iaihkYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBEZWxldGVPYmoob2JqKSB7XHJcbiAgICBpZiAoY29uZmlybSgnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIG9iamV0ID8gJykpIHtcclxuICAgICAgdGhpcy5kZWxldGVSZXF1ZXN0LmFwcGx5KHRoaXMuZ2xvd3dTZXJ2aWNlLCB0aGlzLmdldFByaW1hcnlLZXkob2JqKSkuc3Vic2NyaWJlKFxyXG4gICAgICAgIHAgPT4ge1xyXG4gICAgICAgICAgY29uc3QgaSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmluZGV4T2Yob2JqKTtcclxuICAgICAgICAgIGNvbnN0IHRtcCA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhO1xyXG4gICAgICAgICAgdG1wLnNwbGljZShpLCAxKTtcclxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhID0gdG1wO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgYWxlcnQoYFVuYWJsZSB0byBkZWxldGUgT2JqZWN0ICR7ZXJyb3Iuc3RhdHVzfSAke2Vycm9yLnN0YXR1c1RleHR9XFxuJHtlcnJvci5NZXNzYWdlfVxcbiR7ZXJyb3IuZXJyb3J9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgRWRpdE9iaihvYmo6IFRPYmopIHtcclxuICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcclxuICAgIGRpYWxvZ0NvbmZpZy5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xyXG4gICAgZGlhbG9nQ29uZmlnLmF1dG9Gb2N1cyA9IHRydWU7XHJcbiAgICBkaWFsb2dDb25maWcuY2xvc2VPbk5hdmlnYXRpb24gPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLmRpYWxvZ0NvbmZpZykge1xyXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmRpYWxvZ0NvbmZpZykuZm9yRWFjaChcclxuICAgICAgICBuYW1lID0+IHtcclxuICAgICAgICAgIGRpYWxvZ0NvbmZpZ1tuYW1lXSA9IHRoaXMuZGlhbG9nQ29uZmlnW25hbWVdO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0gb2JqO1xyXG4gICAgdGhpcy5kaWFsb2cub3Blbih0aGlzLkVkaXRvciwgZGlhbG9nQ29uZmlnKS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZShcclxuICAgICAgZGF0YSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgIGxldCBhcmdzOiBvYmplY3RbXSA9IHRoaXMuZ2V0UHJpbWFyeUtleShvYmopOyBhcmdzLnB1c2goZGF0YSlcclxuICAgICAgICAgIHRoaXMucHV0UmVxdWVzdC5hcHBseSh0aGlzLmdsb3d3U2VydmljZSwgYXJncykuc3Vic2NyaWJlKHAgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5kYXRhU291cmNlLmRhdGEuaW5kZXhPZihvYmopO1xyXG4gICAgICAgICAgICBjb25zdCB0bXAgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YTtcclxuICAgICAgICAgICAgdG1wW2ldID0gcDtcclxuICAgICAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0bXA7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yID0+IHtcclxuICAgICAgICBhbGVydChgVW5hYmxlIHRvIHVwZGF0ZSBPYmplY3QgJHtlcnJvci5zdGF0dXN9ICR7ZXJyb3Iuc3RhdHVzVGV4dH1cXG4ke2Vycm9yLk1lc3NhZ2V9XFxuJHtlcnJvci5lcnJvcn1gKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXY+XHJcbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJnbHctaGVhZGVyXCI+PC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCJkaXNwbGF5Zm9ybVwiPlxyXG4gICAgPG1hdC1jYXJkPlxyXG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwicmVzdWx0RXhjZXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICBVbmFibGUgdG8gcXVlcnkgOiB7e3Jlc3VsdEV4Y2VwdGlvbn19XHJcbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJnbHctc2VhcmNoLWZvcm1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJtYXhyb3dzXCIgW2Zvcm1Hcm91cF09XCJmb3JtMlwiPlxyXG4gICAgICAgICAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJNYXhSb3dcIiBmb3JtQ29udHJvbE5hbWU9XCJfTWF4Um93X1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgbWF4cm93IG9mIG1heHJvd3NcIiBbdmFsdWVdPVwibWF4cm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1heHJvd1wiPnt7bWF4cm93fX0gb2JqZWN0czwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIW1heHJvd1wiPiBEZWZhdWx0PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgIDxtYXQtY2FyZC1hY3Rpb25zPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJvblNlYXJjaCgpXCI+XHJcbiAgICAgICAgPG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+XHJcbiAgICAgICAgU2VhcmNoXHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuICAgIDwvbWF0LWNhcmQ+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cImRpc3BsYXlyZXN1bHRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo4XCIgKm5nSWY9XCJkYXRhU291cmNlOyBlbHNlIFNwaW5uZXJcIj5cclxuICAgICAgICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBtYXRTb3J0PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImFjdGlvblwiPlxyXG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhbCBmYS1wbHVzXCIgKGNsaWNrKT1cIkFkZE9iaigpXCIgKm5nSWY9XCJjYW5BZGRUaGlzKClcIj5cclxuICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgb2JqXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtZXllXCIgW3JvdXRlckxpbmtdPVwiZGlzcGxheU9iakxpbmtUaGlzKG9iailcIiAqbmdJZj1cImNhbkRpc3BsYXlPYmpUaGlzKG9iailcIj5cclxuICAgICAgICAgIDwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgYWN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBbbmdDbGFzc109XCJhY3Rpb24uaWNvblwiIFtyb3V0ZXJMaW5rXT1cImFjdGlvbi5yb3V0ZXJMaW5rRmN0KG9iailcIiAqbmdJZj1cImFjdGlvbi5pY29uLmljb24gJiYgKCFhY3Rpb24uZGlzcGxheSB8fCBhY3Rpb24uZGlzcGxheShvYmosIGFjdGlvbi5uYW1lKSlcIj5cclxuICAgICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBbbmdDbGFzc109XCJhY3Rpb24uaWNvblwiIFtyb3V0ZXJMaW5rXT1cImFjdGlvbi5yb3V0ZXJMaW5rRmN0KG9iailcIiAqbmdJZj1cIiFhY3Rpb24uaWNvbi5pY29uICYmICghYWN0aW9uLmRpc3BsYXkgfHwgYWN0aW9uLmRpc3BsYXkob2JqLCBhY3Rpb24ubmFtZSkpXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLXRyYXNoLWFsdFwiIChjbGljayk9XCJEZWxldGVPYmoob2JqKVwiICpuZ0lmPVwiY2FuRGVsZXRlVGhpcyhvYmopXCI+XHJcbiAgICAgICAgICA8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWwgZmEtcGVuY2lsXCIgKGNsaWNrKT1cIkVkaXRPYmoob2JqKVwiICpuZ0lmPVwiY2FuRWRpdFRoaXMob2JqKVwiPlxyXG4gICAgICAgICAgPC9pPlxyXG4gICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImdsdy1yZXN1bHQtdGFibGVcIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiY29sdW1uc1RvRGlzcGxheVwiPjwvdHI+XHJcbiAgICAgICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgbXlSb3dEYXRhOyBjb2x1bW5zOiBjb2x1bW5zVG9EaXNwbGF5XCI+PC90cj5cclxuICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgIDxtYXQtcGFnaW5hdG9yIHBhZ2VTaXplPVwiMTBcIj48L21hdC1wYWdpbmF0b3I+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjU3Bpbm5lcj5cclxuICAgICAgICA8bWF0LXNwaW5uZXI+PC9tYXQtc3Bpbm5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -75,6 +75,8 @@ export class UploadFileComponent {
75
75
  return;
76
76
  }
77
77
  }
78
+ if (!this.files)
79
+ this.files = [];
78
80
  for (const file of files) {
79
81
  this.files.push({ data: file, inProgress: false, progress: 0, fileName: file.name, size: file.size, altFileName: '', status: '' });
80
82
  }
@@ -133,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
133
135
  }], acceptMime: [{
134
136
  type: Input
135
137
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2xvd3cvc3JjL2xpYi9Db21wb25lbnRzL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dsb3d3L3NyYy9saWIvQ29tcG9uZW50cy91cGxvYWQtZmlsZS91cGxvYWQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBc0IsS0FBSyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQXFDLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBZ0I1RyxNQUFNLE9BQU8sbUJBQW1CO0lBVzlCO1FBVFMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsZUFBVSxHQUFXLEtBQUssQ0FBQztRQUNwQyxhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFHM0IsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUlYLENBQUM7SUFDRCxlQUFlO1FBQ2IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDakQsVUFBVSxDQUFDLFFBQVEsR0FBRyxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNoQix3REFBd0Q7YUFDekQ7WUFDRCxLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUs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S0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7O2dIQS9HVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw4SUFSbkI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsS0FBSyxFQUFFLElBQUk7WUFDWCxXQUFXLEVBQUUsbUJBQW1CO1NBQ2pDO0tBQ0Ysb0lDZkgsaW5EQTBCVzsyRkRURSxtQkFBbUI7a0JBWi9CLFNBQVM7K0JBQ0UsbUJBQW1CLGFBR2xCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcscUJBQXFCO3lCQUNqQztxQkFDRjswRUFHd0IsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNkLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIEZvcm1BcnJheSwgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ2xvd3ctdXBsb2FkLWZpbGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtZmlsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLWZpbGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogVXBsb2FkRmlsZUNvbXBvbmVudFxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFVwbG9hZEZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnZmlsZVVwbG9hZCcpIGZpbGVVcGxvYWQ6IEVsZW1lbnRSZWY7XHJcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBhbGxvd0FsdEZpbGVOYW1lOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYWNjZXB0TWltZTogc3RyaW5nID0gJyovKic7XHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIGZpbGVzID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZmlsZVVwbG9hZCA9IHRoaXMuZmlsZVVwbG9hZC5uYXRpdmVFbGVtZW50O1xyXG4gICAgZmlsZVVwbG9hZC5vbmNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgdGhpcy5maWxlcyA9IFtdO1xyXG4gICAgICAgIC8vaWYgKHRoaXMuYWxsb3dBbHRGaWxlTmFtZSkgeyB0aGlzLmZpbGVOYW1lcy5jbGVhcigpOyB9XHJcbiAgICAgIH1cclxuICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVVcGxvYWQuZmlsZXMpIHtcclxuICAgICAgICB0aGlzLmZpbGVzLnB1c2goeyBkYXRhOiBmaWxlLCBpblByb2dyZXNzOiBmYWxzZSwgcHJvZ3Jlc3M6IDAsIGZpbGVOYW1lOiBmaWxlLm5hbWUsIHNpemU6IGZpbGUuc2l6ZSwgYWx0RmlsZU5hbWU6ICcnLCBzdGF0dXM6ICcnIH0pO1xyXG4gICAgICAgIC8vaWYgKHRoaXMuYWxsb3dBbHRGaWxlTmFtZSkgeyB0aGlzLmZpbGVOYW1lcy5wdXNoKHRoaXMuRmlsZU5hbWUoZmlsZS5uYW1lKSk7IH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZmlsZXMpO1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZpbGVzO1xyXG4gICAgLy9yZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsKSB7XHJcbiAgICB0aGlzLmZpbGVzID0gdmFsO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG5cclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gb2JqO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy90aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgfVxyXG5cclxuICBTZWxlY3RGaWxlcygpIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBDaGFuZ2VBbHROYW1lKGksICRldmVudCkge1xyXG4gICAgdGhpcy5maWxlc1tpXS5hbHRGaWxlTmFtZSA9ICRldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZmlsZXMpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIG9uRmlsZURyb3BwZWQoJGV2ZW50KSB7XHJcbiAgICB0aGlzLnByZXBhcmVGaWxlc0xpc3QoJGV2ZW50KTtcclxuICB9XHJcbiAgcHJlcGFyZUZpbGVzTGlzdChmaWxlczogQXJyYXk8YW55Pikge1xyXG4gICAgaWYgKGZpbGVzLmxlbmd0aCA+IDEgJiYgIXRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgYWxlcnQoXCJZb3UgY2FuIG9ubHkgZHJvcCBhbiBvbmx5IGZpbGUgYXQgb25jZVwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmlsZXMgJiYgdGhpcy5maWxlcy5sZW5ndGggPiAwICYmICF0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIGlmIChjb25maXJtKFwiRG8geW91IHdhbnQgdG8gcmVwbGFjZSBjdXJyZW50IGZpbGUgP1wiKSkge1xyXG4gICAgICAgIHRoaXMuZmlsZXMgPSBbXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xyXG4gICAgICB0aGlzLmZpbGVzLnB1c2goeyBkYXRhOiBmaWxlLCBpblByb2dyZXNzOiBmYWxzZSwgcHJvZ3Jlc3M6IDAsIGZpbGVOYW1lOiBmaWxlLm5hbWUsIHNpemU6IGZpbGUuc2l6ZSwgYWx0RmlsZU5hbWU6ICcnLCBzdGF0dXM6ICcnIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmZpbGVzKTtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICogZm9ybWF0IGJ5dGVzXHJcbiAqIEBwYXJhbSBieXRlcyAoRmlsZSBzaXplIGluIGJ5dGVzKVxyXG4gKiBAcGFyYW0gZGVjaW1hbHMgKERlY2ltYWxzIHBvaW50KVxyXG4gKi9cclxuICBmb3JtYXRCeXRlcyhieXRlcywgZGVjaW1hbHMgPSAyKSB7XHJcbiAgICBpZiAoYnl0ZXMgPT09IDApIHtcclxuICAgICAgcmV0dXJuIFwiMCBCeXRlc1wiO1xyXG4gICAgfVxyXG4gICAgY29uc3QgayA9IDEwMjQ7XHJcbiAgICBjb25zdCBkbSA9IGRlY2ltYWxzIDw9IDAgPyAwIDogZGVjaW1hbHM7XHJcbiAgICBjb25zdCBzaXplcyA9IFtcIkJ5dGVzXCIsIFwiS0JcIiwgXCJNQlwiLCBcIkdCXCIsIFwiVEJcIiwgXCJQQlwiLCBcIkVCXCIsIFwiWkJcIiwgXCJZQlwiXTtcclxuICAgIGNvbnN0IGkgPSBNYXRoLmZsb29yKE1hdGgubG9nKGJ5dGVzKSAvIE1hdGgubG9nKGspKTtcclxuICAgIHJldHVybiBwYXJzZUZsb2F0KChieXRlcyAvIE1hdGgucG93KGssIGkpKS50b0ZpeGVkKGRtKSkgKyBcIiBcIiArIHNpemVzW2ldO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRmlsZShpbmRleDogbnVtYmVyKSB7XHJcbiAgICBpZiAodGhpcy5maWxlc1tpbmRleF0ucHJvZ3Jlc3MgJiYgdGhpcy5maWxlc1tpbmRleF0ucHJvZ3Jlc3MgPCAxMDApIHtcclxuICAgICAgY29uc29sZS5sb2coXCJVcGxvYWQgaW4gcHJvZ3Jlc3MuXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmZpbGVzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZmlsZXMpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcbn1cclxuXHJcbiIsIjxtYXQtY2FyZCBnbG93d0ZpbGVTaW5rIChmaWxlRHJvcHBlZCk9XCJvbkZpbGVEcm9wcGVkKCRldmVudClcIiBzdHlsZT1cImhlaWdodDpjYWxjKDEwMCUgLSA0MHB4KVwiPlxyXG4gICAgPG1hdC1jYXJkLWNvbnRlbnQgc3R5bGU9XCJtaW4taGVpZ2h0OjEwMHB4O2hlaWdodDpjYWxjKDEwMCUgLSA2MHB4KVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlcy1saXN0XCIgKm5nSWY9XCJmaWxlcyAmJiBmaWxlcy5sZW5ndGhcIiBzdHlsZT1cImhlaWdodDpjYWxjKDEwMCUgLSA2MHB4KVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLWZpbGVcIiAqbmdGb3I9XCJsZXQgZmlsZSBvZiBmaWxlczsgbGV0IGkgPSBpbmRleFwiIFtuZ0NsYXNzXT1cImZpbGUuc3RhdHVzXCI+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXRoaW4gZmEtZmlsZSBmYS1sZ1wiPjwvaT5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBmaWxlPy5maWxlTmFtZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJzaXplXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZvcm1hdEJ5dGVzKGZpbGU/LnNpemUpIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9wPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyIFt2YWx1ZV09XCJmaWxlLnByb2dyZXNzXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhLXRoaW4gZmEtdHJhc2ggZmEtbGdcIiAoY2xpY2spPVwiZGVsZXRlRmlsZShpKVwiPjwvaT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFmaWxlcyB8fCAhZmlsZXMubGVuZ3RoXCIgc3R5bGU9XCJoZWlnaHQ6Y2FsYygxMDAlIC0gNjBweClcIj5ObyBmaWxlKHMpIHNlbGVjdGVkPC9kaXY+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgI2ZpbGVVcGxvYWQgaWQ9XCJmaWxlVXBsb2FkXCIgbmFtZT1cImZpbGVVcGxvYWRcIiBbYWNjZXB0XT1cImFjY2VwdE1pbWVcIiBzdHlsZT1cImRpc3BsYXk6bm9uZTtcIiBbbXVsdGlwbGVdPVwibXVsdGlwbGVcIiAvPlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgPG1hdC1jYXJkLWFjdGlvbnMgc3R5bGU9XCJ0ZXh0LWFsaWduOmNlbnRlclwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJhY2NlbnRcIiAoY2xpY2spPVwiU2VsZWN0RmlsZXMoKVwiPlxyXG4gICAgICA8aSBjbGFzcz1cImZhbCBmYS1maWxlLXVwbG9hZFwiPjwvaT4gPHNwYW4gKm5nSWY9XCIhbXVsdGlwbGVcIj5TZWxlY3QgZmlsZSBvciBEcm9wIGEgZmlsZTwvc3Bhbj5cclxuICAgICAgPHNwYW4gKm5nSWY9XCJtdWx0aXBsZVwiPlNlbGVjdCBmaWxlKHMpIG9yIGRyb3AgZmlsZShzKTwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxyXG48L21hdC1jYXJkPiJdfQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWZpbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ2xvd3cvc3JjL2xpYi9Db21wb25lbnRzL3VwbG9hZC1maWxlL3VwbG9hZC1maWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dsb3d3L3NyYy9saWIvQ29tcG9uZW50cy91cGxvYWQtZmlsZS91cGxvYWQtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBc0IsS0FBSyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQXFDLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBZ0I1RyxNQUFNLE9BQU8sbUJBQW1CO0lBVzlCO1FBVFMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsZUFBVSxHQUFXLEtBQUssQ0FBQztRQUNwQyxhQUFRLEdBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLGNBQVMsR0FBUSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFHM0IsVUFBSyxHQUFHLEVBQUUsQ0FBQztJQUlYLENBQUM7SUFDRCxlQUFlO1FBQ2IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDakQsVUFBVSxDQUFDLFFBQVEsR0FBRyxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUNoQix3REFBd0Q7YUFDekQ7WUFDRCxLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUU7Z0JBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUs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Q0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7O2dIQWhIVSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw4SUFSbkI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsS0FBSyxFQUFFLElBQUk7WUFDWCxXQUFXLEVBQUUsbUJBQW1CO1NBQ2pDO0tBQ0Ysb0lDZkgsaW5EQTBCVzsyRkRURSxtQkFBbUI7a0JBWi9CLFNBQVM7K0JBQ0UsbUJBQW1CLGFBR2xCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLEtBQUssRUFBRSxJQUFJOzRCQUNYLFdBQVcscUJBQXFCO3lCQUNqQztxQkFDRjswRUFHd0IsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUNkLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0LCBBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIEZvcm1BcnJheSwgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZ2xvd3ctdXBsb2FkLWZpbGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWQtZmlsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdXBsb2FkLWZpbGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgICB1c2VFeGlzdGluZzogVXBsb2FkRmlsZUNvbXBvbmVudFxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFVwbG9hZEZpbGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnZmlsZVVwbG9hZCcpIGZpbGVVcGxvYWQ6IEVsZW1lbnRSZWY7XHJcbiAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBhbGxvd0FsdEZpbGVOYW1lOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYWNjZXB0TWltZTogc3RyaW5nID0gJyovKic7XHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIGZpbGVzID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG5cclxuICB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgZmlsZVVwbG9hZCA9IHRoaXMuZmlsZVVwbG9hZC5uYXRpdmVFbGVtZW50O1xyXG4gICAgZmlsZVVwbG9hZC5vbmNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgdGhpcy5maWxlcyA9IFtdO1xyXG4gICAgICAgIC8vaWYgKHRoaXMuYWxsb3dBbHRGaWxlTmFtZSkgeyB0aGlzLmZpbGVOYW1lcy5jbGVhcigpOyB9XHJcbiAgICAgIH1cclxuICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVVcGxvYWQuZmlsZXMpIHtcclxuICAgICAgICB0aGlzLmZpbGVzLnB1c2goeyBkYXRhOiBmaWxlLCBpblByb2dyZXNzOiBmYWxzZSwgcHJvZ3Jlc3M6IDAsIGZpbGVOYW1lOiBmaWxlLm5hbWUsIHNpemU6IGZpbGUuc2l6ZSwgYWx0RmlsZU5hbWU6ICcnLCBzdGF0dXM6ICcnIH0pO1xyXG4gICAgICAgIC8vaWYgKHRoaXMuYWxsb3dBbHRGaWxlTmFtZSkgeyB0aGlzLmZpbGVOYW1lcy5wdXNoKHRoaXMuRmlsZU5hbWUoZmlsZS5uYW1lKSk7IH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZmlsZXMpO1xyXG4gICAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZpbGVzO1xyXG4gICAgLy9yZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZXQgdmFsdWUodmFsKSB7XHJcbiAgICB0aGlzLmZpbGVzID0gdmFsO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh2YWwpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG5cclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gb2JqO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgLy90aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgfVxyXG5cclxuICBTZWxlY3RGaWxlcygpIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBDaGFuZ2VBbHROYW1lKGksICRldmVudCkge1xyXG4gICAgdGhpcy5maWxlc1tpXS5hbHRGaWxlTmFtZSA9ICRldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZmlsZXMpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIG9uRmlsZURyb3BwZWQoJGV2ZW50KSB7XHJcbiAgICB0aGlzLnByZXBhcmVGaWxlc0xpc3QoJGV2ZW50KTtcclxuICB9XHJcbiAgcHJlcGFyZUZpbGVzTGlzdChmaWxlczogQXJyYXk8YW55Pikge1xyXG4gICAgaWYgKGZpbGVzLmxlbmd0aCA+IDEgJiYgIXRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgYWxlcnQoXCJZb3UgY2FuIG9ubHkgZHJvcCBhbiBvbmx5IGZpbGUgYXQgb25jZVwiKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZmlsZXMgJiYgdGhpcy5maWxlcy5sZW5ndGggPiAwICYmICF0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIGlmIChjb25maXJtKFwiRG8geW91IHdhbnQgdG8gcmVwbGFjZSBjdXJyZW50IGZpbGUgP1wiKSkge1xyXG4gICAgICAgIHRoaXMuZmlsZXMgPSBbXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICghdGhpcy5maWxlcykgdGhpcy5maWxlcyA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XHJcbiAgICAgIHRoaXMuZmlsZXMucHVzaCh7IGRhdGE6IGZpbGUsIGluUHJvZ3Jlc3M6IGZhbHNlLCBwcm9ncmVzczogMCwgZmlsZU5hbWU6IGZpbGUubmFtZSwgc2l6ZTogZmlsZS5zaXplLCBhbHRGaWxlTmFtZTogJycsIHN0YXR1czogJycgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZmlsZXMpO1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gKiBmb3JtYXQgYnl0ZXNcclxuICogQHBhcmFtIGJ5dGVzIChGaWxlIHNpemUgaW4gYnl0ZXMpXHJcbiAqIEBwYXJhbSBkZWNpbWFscyAoRGVjaW1hbHMgcG9pbnQpXHJcbiAqL1xyXG4gIGZvcm1hdEJ5dGVzKGJ5dGVzLCBkZWNpbWFscyA9IDIpIHtcclxuICAgIGlmIChieXRlcyA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gXCIwIEJ5dGVzXCI7XHJcbiAgICB9XHJcbiAgICBjb25zdCBrID0gMTAyNDtcclxuICAgIGNvbnN0IGRtID0gZGVjaW1hbHMgPD0gMCA/IDAgOiBkZWNpbWFscztcclxuICAgIGNvbnN0IHNpemVzID0gW1wiQnl0ZXNcIiwgXCJLQlwiLCBcIk1CXCIsIFwiR0JcIiwgXCJUQlwiLCBcIlBCXCIsIFwiRUJcIiwgXCJaQlwiLCBcIllCXCJdO1xyXG4gICAgY29uc3QgaSA9IE1hdGguZmxvb3IoTWF0aC5sb2coYnl0ZXMpIC8gTWF0aC5sb2coaykpO1xyXG4gICAgcmV0dXJuIHBhcnNlRmxvYXQoKGJ5dGVzIC8gTWF0aC5wb3coaywgaSkpLnRvRml4ZWQoZG0pKSArIFwiIFwiICsgc2l6ZXNbaV07XHJcbiAgfVxyXG5cclxuICBkZWxldGVGaWxlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIGlmICh0aGlzLmZpbGVzW2luZGV4XS5wcm9ncmVzcyAmJiB0aGlzLmZpbGVzW2luZGV4XS5wcm9ncmVzcyA8IDEwMCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIlVwbG9hZCBpbiBwcm9ncmVzcy5cIik7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5maWxlcyk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gIH1cclxufVxyXG5cclxuIiwiPG1hdC1jYXJkIGdsb3d3RmlsZVNpbmsgKGZpbGVEcm9wcGVkKT1cIm9uRmlsZURyb3BwZWQoJGV2ZW50KVwiIHN0eWxlPVwiaGVpZ2h0OmNhbGMoMTAwJSAtIDQwcHgpXCI+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudCBzdHlsZT1cIm1pbi1oZWlnaHQ6MTAwcHg7aGVpZ2h0OmNhbGMoMTAwJSAtIDYwcHgpXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVzLWxpc3RcIiAqbmdJZj1cImZpbGVzICYmIGZpbGVzLmxlbmd0aFwiIHN0eWxlPVwiaGVpZ2h0OmNhbGMoMTAwJSAtIDYwcHgpXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtZmlsZVwiICpuZ0Zvcj1cImxldCBmaWxlIG9mIGZpbGVzOyBsZXQgaSA9IGluZGV4XCIgW25nQ2xhc3NdPVwiZmlsZS5zdGF0dXNcIj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtdGhpbiBmYS1maWxlIGZhLWxnXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImluZm9cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJuYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZpbGU/LmZpbGVOYW1lIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9oND5cclxuICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInNpemVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3sgZm9ybWF0Qnl0ZXMoZmlsZT8uc2l6ZSkgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgW3ZhbHVlXT1cImZpbGUucHJvZ3Jlc3NcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEtdGhpbiBmYS10cmFzaCBmYS1sZ1wiIChjbGljayk9XCJkZWxldGVGaWxlKGkpXCI+PC9pPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWZpbGVzIHx8ICFmaWxlcy5sZW5ndGhcIiBzdHlsZT1cImhlaWdodDpjYWxjKDEwMCUgLSA2MHB4KVwiPk5vIGZpbGUocykgc2VsZWN0ZWQ8L2Rpdj5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZVVwbG9hZCBpZD1cImZpbGVVcGxvYWRcIiBuYW1lPVwiZmlsZVVwbG9hZFwiIFthY2NlcHRdPVwiYWNjZXB0TWltZVwiIHN0eWxlPVwiZGlzcGxheTpub25lO1wiIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiIC8+XHJcbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICA8bWF0LWNhcmQtYWN0aW9ucyBzdHlsZT1cInRleHQtYWxpZ246Y2VudGVyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cImFjY2VudFwiIChjbGljayk9XCJTZWxlY3RGaWxlcygpXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiZmFsIGZhLWZpbGUtdXBsb2FkXCI+PC9pPiA8c3BhbiAqbmdJZj1cIiFtdWx0aXBsZVwiPlNlbGVjdCBmaWxlIG9yIERyb3AgYSBmaWxlPC9zcGFuPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIm11bHRpcGxlXCI+U2VsZWN0IGZpbGUocykgb3IgZHJvcCBmaWxlKHMpPC9zcGFuPlxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8L21hdC1jYXJkLWFjdGlvbnM+XHJcbjwvbWF0LWNhcmQ+Il19
@@ -488,6 +488,8 @@ class UploadFileComponent {
488
488
  return;
489
489
  }
490
490
  }
491
+ if (!this.files)
492
+ this.files = [];
491
493
  for (const file of files) {
492
494
  this.files.push({ data: file, inProgress: false, progress: 0, fileName: file.name, size: file.size, altFileName: '', status: '' });
493
495
  }
@@ -1180,7 +1182,7 @@ class DisplayObjectsComponent {
1180
1182
  dlg.componentInstance.callback = (data => {
1181
1183
  let datacopy = Object.assign({}, data);
1182
1184
  const fileFields = this.Editor.fileFields;
1183
- if (fileFields.length = 1) {
1185
+ if ((fileFields === null || fileFields === void 0 ? void 0 : fileFields.length) == 1) {
1184
1186
  // Un seul champ, il peut être multiple
1185
1187
  const fileField = fileFields[0];
1186
1188
  const files = datacopy[fileField];
@@ -1194,7 +1196,7 @@ class DisplayObjectsComponent {
1194
1196
  });
1195
1197
  return combineLatest(allobs).pipe(take(1));
1196
1198
  }
1197
- else if (fileFields.length > 1) {
1199
+ else if ((fileFields === null || fileFields === void 0 ? void 0 : fileFields.length) > 1) {
1198
1200
  // Plusieurs champs file, il ne peut y avoir qu'une seul fichier par champ.
1199
1201
  const fields = {};
1200
1202
  fileFields.forEach(ff => {