@po-ui/ng-components 18.21.0 → 18.23.0

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 (76) hide show
  1. package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.mjs +1 -1
  2. package/esm2022/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.mjs +19 -19
  3. package/esm2022/lib/components/po-field/po-checkbox-group/po-checkbox-group-base.component.mjs +18 -2
  4. package/esm2022/lib/components/po-field/po-checkbox-group/po-checkbox-group.component.mjs +4 -4
  5. package/esm2022/lib/components/po-field/po-combo/po-combo-base.component.mjs +22 -2
  6. package/esm2022/lib/components/po-field/po-combo/po-combo.component.mjs +4 -4
  7. package/esm2022/lib/components/po-field/po-datepicker/po-datepicker-base.component.mjs +22 -2
  8. package/esm2022/lib/components/po-field/po-datepicker/po-datepicker.component.mjs +4 -4
  9. package/esm2022/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.mjs +18 -2
  10. package/esm2022/lib/components/po-field/po-datepicker-range/po-datepicker-range.component.mjs +4 -4
  11. package/esm2022/lib/components/po-field/po-decimal/po-decimal.component.mjs +4 -4
  12. package/esm2022/lib/components/po-field/po-email/po-email.component.mjs +4 -4
  13. package/esm2022/lib/components/po-field/po-field-container/po-field-container-bottom/po-field-container-bottom.component.mjs +27 -10
  14. package/esm2022/lib/components/po-field/po-field-container/po-field-container.module.mjs +5 -4
  15. package/esm2022/lib/components/po-field/po-field-validate.model.mjs +22 -2
  16. package/esm2022/lib/components/po-field/po-input/po-input-base.component.mjs +22 -2
  17. package/esm2022/lib/components/po-field/po-input/po-input.component.mjs +4 -4
  18. package/esm2022/lib/components/po-field/po-login/po-login.component.mjs +4 -4
  19. package/esm2022/lib/components/po-field/po-lookup/po-lookup-base.component.mjs +22 -2
  20. package/esm2022/lib/components/po-field/po-lookup/po-lookup.component.mjs +4 -4
  21. package/esm2022/lib/components/po-field/po-multiselect/po-multiselect-base.component.mjs +22 -2
  22. package/esm2022/lib/components/po-field/po-multiselect/po-multiselect.component.mjs +4 -4
  23. package/esm2022/lib/components/po-field/po-number/po-number.component.mjs +4 -4
  24. package/esm2022/lib/components/po-field/po-password/po-password.component.mjs +4 -4
  25. package/esm2022/lib/components/po-field/po-radio-group/po-radio-group-base.component.mjs +18 -2
  26. package/esm2022/lib/components/po-field/po-radio-group/po-radio-group.component.mjs +4 -4
  27. package/esm2022/lib/components/po-field/po-rich-text/po-rich-text-base.component.mjs +18 -2
  28. package/esm2022/lib/components/po-field/po-rich-text/po-rich-text.component.mjs +4 -4
  29. package/esm2022/lib/components/po-field/po-select/po-select.component.mjs +4 -4
  30. package/esm2022/lib/components/po-field/po-textarea/po-textarea-base.component.mjs +18 -2
  31. package/esm2022/lib/components/po-field/po-textarea/po-textarea.component.mjs +4 -4
  32. package/esm2022/lib/components/po-field/po-upload/po-upload-base.component.mjs +86 -2
  33. package/esm2022/lib/components/po-field/po-upload/po-upload.component.mjs +17 -7
  34. package/esm2022/lib/components/po-field/po-url/po-url.component.mjs +4 -4
  35. package/esm2022/lib/components/po-progress/index.mjs +2 -1
  36. package/esm2022/lib/components/po-progress/interfaces/index.mjs +2 -0
  37. package/esm2022/lib/components/po-progress/interfaces/po-progress-actions.interface.mjs +2 -0
  38. package/esm2022/lib/components/po-progress/po-progress-base.component.mjs +87 -2
  39. package/esm2022/lib/components/po-progress/po-progress.component.mjs +44 -15
  40. package/fesm2022/po-ui-ng-components.mjs +553 -132
  41. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  42. package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.d.ts +57 -1
  43. package/lib/components/po-field/po-checkbox-group/po-checkbox-group-base.component.d.ts +14 -1
  44. package/lib/components/po-field/po-combo/po-combo-base.component.d.ts +16 -1
  45. package/lib/components/po-field/po-datepicker/po-datepicker-base.component.d.ts +16 -1
  46. package/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.d.ts +14 -1
  47. package/lib/components/po-field/po-field-container/po-field-container-bottom/po-field-container-bottom.component.d.ts +7 -1
  48. package/lib/components/po-field/po-field-container/po-field-container.module.d.ts +2 -1
  49. package/lib/components/po-field/po-field-validate.model.d.ts +16 -1
  50. package/lib/components/po-field/po-input/po-input-base.component.d.ts +16 -1
  51. package/lib/components/po-field/po-lookup/po-lookup-base.component.d.ts +16 -1
  52. package/lib/components/po-field/po-multiselect/po-multiselect-base.component.d.ts +16 -1
  53. package/lib/components/po-field/po-radio-group/po-radio-group-base.component.d.ts +14 -1
  54. package/lib/components/po-field/po-rich-text/po-rich-text-base.component.d.ts +14 -1
  55. package/lib/components/po-field/po-textarea/po-textarea-base.component.d.ts +14 -1
  56. package/lib/components/po-field/po-upload/po-upload-base.component.d.ts +80 -1
  57. package/lib/components/po-field/po-upload/po-upload.component.d.ts +6 -0
  58. package/lib/components/po-progress/index.d.ts +1 -0
  59. package/lib/components/po-progress/interfaces/index.d.ts +1 -0
  60. package/lib/components/po-progress/interfaces/po-progress-actions.interface.d.ts +83 -0
  61. package/lib/components/po-progress/po-progress-base.component.d.ts +81 -1
  62. package/lib/components/po-progress/po-progress.component.d.ts +4 -0
  63. package/package.json +4 -4
  64. package/po-ui-ng-components-18.23.0.tgz +0 -0
  65. package/schematics/ng-add/index.js +1 -1
  66. package/schematics/ng-update/v14/index.js +1 -1
  67. package/schematics/ng-update/v15/index.js +1 -1
  68. package/schematics/ng-update/v16/index.js +1 -1
  69. package/schematics/ng-update/v17/index.js +1 -1
  70. package/schematics/ng-update/v18/index.js +2 -2
  71. package/schematics/ng-update/v2/index.js +1 -1
  72. package/schematics/ng-update/v3/index.js +1 -1
  73. package/schematics/ng-update/v4/index.js +1 -1
  74. package/schematics/ng-update/v5/index.js +1 -1
  75. package/schematics/ng-update/v6/index.js +1 -1
  76. package/po-ui-ng-components-18.21.0.tgz +0 -0
@@ -51,16 +51,16 @@ function PoUploadComponent_po_upload_file_restrictions_7_Template(rf, ctx) { if
51
51
  function PoUploadComponent_div_8_po_progress_3_Template(rf, ctx) { if (rf & 1) {
52
52
  const _r5 = i0.ɵɵgetCurrentView();
53
53
  i0.ɵɵelementStart(0, "po-progress", 19);
54
- i0.ɵɵlistener("p-cancel", function PoUploadComponent_div_8_po_progress_3_Template_po_progress_p_cancel_0_listener() { const file_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.cancel(file_r6)); })("p-retry", function PoUploadComponent_div_8_po_progress_3_Template_po_progress_p_retry_0_listener() { const file_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.uploadFiles([file_r6])); });
54
+ i0.ɵɵlistener("p-custom-action-click", function PoUploadComponent_div_8_po_progress_3_Template_po_progress_p_custom_action_click_0_listener() { const file_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.customClick(file_r6)); })("p-cancel", function PoUploadComponent_div_8_po_progress_3_Template_po_progress_p_cancel_0_listener() { const file_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.cancel(file_r6)); })("p-retry", function PoUploadComponent_div_8_po_progress_3_Template_po_progress_p_retry_0_listener() { const file_r6 = i0.ɵɵrestoreView(_r5).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.uploadFiles([file_r6])); });
55
55
  i0.ɵɵelementEnd();
56
56
  } if (rf & 2) {
57
57
  const file_r6 = ctx.$implicit;
58
58
  const ctx_r2 = i0.ɵɵnextContext(2);
59
- i0.ɵɵproperty("p-disabled-cancel", ctx_r2.disabledRemoveFile)("p-info", ctx_r2.infoByUploadStatus[file_r6.status] == null ? null : ctx_r2.infoByUploadStatus[file_r6.status].text(file_r6.percent))("p-info-icon", ctx_r2.infoByUploadStatus[file_r6.status] == null ? null : ctx_r2.infoByUploadStatus[file_r6.status].icon)("p-status", ctx_r2.progressStatusByFileStatus[file_r6.status])("p-text", file_r6.displayName)("p-value", file_r6.percent);
59
+ i0.ɵɵproperty("p-disabled-cancel", ctx_r2.disabledRemoveFile)("p-info", ctx_r2.infoByUploadStatus[file_r6.status] == null ? null : ctx_r2.infoByUploadStatus[file_r6.status].text(file_r6.percent))("p-info-icon", ctx_r2.infoByUploadStatus[file_r6.status] == null ? null : ctx_r2.infoByUploadStatus[file_r6.status].icon)("p-status", ctx_r2.progressStatusByFileStatus[file_r6.status])("p-text", file_r6.displayName)("p-value", file_r6.percent)("p-custom-action", ctx_r2.customAction);
60
60
  } }
61
61
  function PoUploadComponent_div_8_Template(rf, ctx) { if (rf & 1) {
62
62
  i0.ɵɵelementStart(0, "div", 15)(1, "po-container", 16)(2, "div", 17);
63
- i0.ɵɵtemplate(3, PoUploadComponent_div_8_po_progress_3_Template, 1, 6, "po-progress", 18);
63
+ i0.ɵɵtemplate(3, PoUploadComponent_div_8_po_progress_3_Template, 1, 7, "po-progress", 18);
64
64
  i0.ɵɵelementEnd()()();
65
65
  } if (rf & 2) {
66
66
  const ctx_r2 = i0.ɵɵnextContext();
@@ -105,6 +105,11 @@ function PoUploadComponent_po_button_9_Template(rf, ctx) { if (rf & 1) {
105
105
  * <file name="sample-po-upload-rs/sample-po-upload-rs.component.html"> </file>
106
106
  * <file name="sample-po-upload-rs/sample-po-upload-rs.component.ts"> </file>
107
107
  * </example>
108
+ *
109
+ * <example name="po-upload-download" title="PO Upload - with Download Button">
110
+ * <file name="sample-po-upload-download/sample-po-upload-download.component.html"> </file>
111
+ * <file name="sample-po-upload-download/sample-po-upload-download.component.ts"> </file>
112
+ * </example>
108
113
  */
109
114
  export class PoUploadComponent extends PoUploadBaseComponent {
110
115
  renderer;
@@ -331,6 +336,11 @@ export class PoUploadComponent extends PoUploadBaseComponent {
331
336
  this.onError.emit(eventError);
332
337
  });
333
338
  }
339
+ customClick(file) {
340
+ if (this.customAction) {
341
+ this.customActionClick.emit(file);
342
+ }
343
+ }
334
344
  cleanInputValue() {
335
345
  this.calledByCleanInputValue = true;
336
346
  this.inputFile.nativeElement.value = '';
@@ -402,7 +412,7 @@ export class PoUploadComponent extends PoUploadBaseComponent {
402
412
  useExisting: forwardRef(() => PoUploadComponent),
403
413
  multi: true
404
414
  }
405
- ]), i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 19, consts: [["inputFile", ""], ["uploadButton", ""], [3, "p-disabled", "p-id", "p-label", "p-optional", "p-required", "p-show-required"], [1, "po-field-container-content"], [1, "po-upload"], ["type", "file", 1, "po-upload-input", 3, "change", "accept", "id", "disabled", "multiple", "required"], [3, "p-directory-compatible", "p-disabled", "p-drag-drop-height", "p-literals", "p-file-change", "p-select-files", 4, "ngIf"], ["class", "po-upload-button", "for", "file", 3, "p-disabled", "p-label", "p-click", 4, "ngIf"], ["class", "po-upload-file-restrictions", 3, "ngClass", "p-allowed-extensions", "p-max-files", "p-max-file-size", "p-min-file-size", 4, "ngIf"], ["class", "po-upload-progress-container", 4, "ngIf"], ["class", "po-upload-send-button", "p-kind", "primary", 3, "po-mt-3", "p-disabled", "p-label", "p-click", 4, "ngIf"], [3, "p-help", "p-disabled"], [3, "p-file-change", "p-select-files", "p-directory-compatible", "p-disabled", "p-drag-drop-height", "p-literals"], ["for", "file", 1, "po-upload-button", 3, "p-click", "p-disabled", "p-label"], [1, "po-upload-file-restrictions", 3, "ngClass", "p-allowed-extensions", "p-max-files", "p-max-file-size", "p-min-file-size"], [1, "po-upload-progress-container"], [3, "p-height", "p-no-border", "p-no-padding"], [3, "ngClass"], [3, "p-disabled-cancel", "p-info", "p-info-icon", "p-status", "p-text", "p-value", "p-cancel", "p-retry", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "p-cancel", "p-retry", "p-disabled-cancel", "p-info", "p-info-icon", "p-status", "p-text", "p-value"], ["p-kind", "primary", 1, "po-upload-send-button", 3, "p-click", "p-disabled", "p-label"]], template: function PoUploadComponent_Template(rf, ctx) { if (rf & 1) {
415
+ ]), i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 19, consts: [["inputFile", ""], ["uploadButton", ""], [3, "p-disabled", "p-id", "p-label", "p-optional", "p-required", "p-show-required"], [1, "po-field-container-content"], [1, "po-upload"], ["type", "file", 1, "po-upload-input", 3, "change", "accept", "id", "disabled", "multiple", "required"], [3, "p-directory-compatible", "p-disabled", "p-drag-drop-height", "p-literals", "p-file-change", "p-select-files", 4, "ngIf"], ["class", "po-upload-button", "for", "file", 3, "p-disabled", "p-label", "p-click", 4, "ngIf"], ["class", "po-upload-file-restrictions", 3, "ngClass", "p-allowed-extensions", "p-max-files", "p-max-file-size", "p-min-file-size", 4, "ngIf"], ["class", "po-upload-progress-container", 4, "ngIf"], ["class", "po-upload-send-button", "p-kind", "primary", 3, "po-mt-3", "p-disabled", "p-label", "p-click", 4, "ngIf"], [3, "p-help", "p-disabled"], [3, "p-file-change", "p-select-files", "p-directory-compatible", "p-disabled", "p-drag-drop-height", "p-literals"], ["for", "file", 1, "po-upload-button", 3, "p-click", "p-disabled", "p-label"], [1, "po-upload-file-restrictions", 3, "ngClass", "p-allowed-extensions", "p-max-files", "p-max-file-size", "p-min-file-size"], [1, "po-upload-progress-container"], [3, "p-height", "p-no-border", "p-no-padding"], [3, "ngClass"], [3, "p-disabled-cancel", "p-info", "p-info-icon", "p-status", "p-text", "p-value", "p-custom-action", "p-custom-action-click", "p-cancel", "p-retry", 4, "ngFor", "ngForOf", "ngForTrackBy"], [3, "p-custom-action-click", "p-cancel", "p-retry", "p-disabled-cancel", "p-info", "p-info-icon", "p-status", "p-text", "p-value", "p-custom-action"], ["p-kind", "primary", 1, "po-upload-send-button", 3, "p-click", "p-disabled", "p-label"]], template: function PoUploadComponent_Template(rf, ctx) { if (rf & 1) {
406
416
  const _r1 = i0.ɵɵgetCurrentView();
407
417
  i0.ɵɵelementStart(0, "po-field-container", 2)(1, "div", 3)(2, "div", 4)(3, "input", 5, 0);
408
418
  i0.ɵɵlistener("change", function PoUploadComponent_Template_input_change_3_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onFileChange($event)); });
@@ -445,7 +455,7 @@ export class PoUploadComponent extends PoUploadBaseComponent {
445
455
  useExisting: forwardRef(() => PoUploadComponent),
446
456
  multi: true
447
457
  }
448
- ], template: "<po-field-container\n [p-disabled]=\"isDisabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n>\n <div class=\"po-field-container-content\">\n <div class=\"po-upload\">\n <input\n #inputFile\n class=\"po-upload-input\"\n type=\"file\"\n [accept]=\"allowedExtensions\"\n [attr.name]=\"name\"\n [id]=\"id\"\n [disabled]=\"isDisabled\"\n [multiple]=\"isMultiple\"\n [required]=\"required\"\n (change)=\"onFileChange($event)\"\n />\n\n <po-upload-drag-drop\n *ngIf=\"displayDragDrop\"\n [p-directory-compatible]=\"canHandleDirectory\"\n [p-disabled]=\"isDisabled\"\n [p-drag-drop-height]=\"dragDropHeight\"\n [p-literals]=\"literals\"\n (p-file-change)=\"onFileChangeDragDrop($event)\"\n (p-select-files)=\"selectFiles()\"\n >\n </po-upload-drag-drop>\n\n <po-button\n *ngIf=\"!hideSelectButton && !displayDragDrop\"\n #uploadButton\n class=\"po-upload-button\"\n for=\"file\"\n [p-disabled]=\"isDisabled\"\n [p-label]=\"selectFileButtonLabel\"\n (p-click)=\"selectFiles()\"\n >\n </po-button>\n\n <po-upload-file-restrictions\n *ngIf=\"fileRestrictions && !hideRestrictionsInfo\"\n class=\"po-upload-file-restrictions\"\n [ngClass]=\"{ 'po-upload-file-restrictions-drag-drop': displayDragDrop }\"\n [p-allowed-extensions]=\"fileRestrictions?.allowedExtensions\"\n [p-max-files]=\"maxFiles\"\n [p-max-file-size]=\"fileRestrictions?.maxFileSize\"\n [p-min-file-size]=\"fileRestrictions?.minFileSize\"\n >\n </po-upload-file-restrictions>\n\n <div *ngIf=\"currentFiles && currentFiles.length\" class=\"po-upload-progress-container\">\n <po-container\n [p-height]=\"hasMoreThanFourItems ? 280 : 'auto'\"\n [p-no-border]=\"!hasMoreThanFourItems\"\n [p-no-padding]=\"!hasMoreThanFourItems\"\n >\n <div [ngClass]=\"{ 'po-upload-progress-container-area po-pt-2 po-pl-1': hasMoreThanFourItems }\">\n <po-progress\n *ngFor=\"let file of currentFiles; trackBy: trackByFn\"\n [p-disabled-cancel]=\"disabledRemoveFile\"\n [p-info]=\"infoByUploadStatus[file.status]?.text(file.percent)\"\n [p-info-icon]=\"infoByUploadStatus[file.status]?.icon\"\n [p-status]=\"progressStatusByFileStatus[file.status]\"\n [p-text]=\"file.displayName\"\n [p-value]=\"file.percent\"\n (p-cancel)=\"cancel(file)\"\n (p-retry)=\"uploadFiles([file])\"\n >\n </po-progress>\n </div>\n </po-container>\n </div>\n\n <po-button\n *ngIf=\"displaySendButton\"\n class=\"po-upload-send-button\"\n [class.po-mt-3]=\"hasMoreThanFourItems\"\n p-kind=\"primary\"\n [p-disabled]=\"hasAnyFileUploading(currentFiles)\"\n [p-label]=\"literals.startSending\"\n (p-click)=\"uploadFiles(currentFiles)\"\n ></po-button>\n </div>\n </div>\n <po-field-container-bottom [p-help]=\"help\" [p-disabled]=\"disabled\"></po-field-container-bottom>\n</po-field-container>\n" }]
458
+ ], template: "<po-field-container\n [p-disabled]=\"isDisabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n>\n <div class=\"po-field-container-content\">\n <div class=\"po-upload\">\n <input\n #inputFile\n class=\"po-upload-input\"\n type=\"file\"\n [accept]=\"allowedExtensions\"\n [attr.name]=\"name\"\n [id]=\"id\"\n [disabled]=\"isDisabled\"\n [multiple]=\"isMultiple\"\n [required]=\"required\"\n (change)=\"onFileChange($event)\"\n />\n\n <po-upload-drag-drop\n *ngIf=\"displayDragDrop\"\n [p-directory-compatible]=\"canHandleDirectory\"\n [p-disabled]=\"isDisabled\"\n [p-drag-drop-height]=\"dragDropHeight\"\n [p-literals]=\"literals\"\n (p-file-change)=\"onFileChangeDragDrop($event)\"\n (p-select-files)=\"selectFiles()\"\n >\n </po-upload-drag-drop>\n\n <po-button\n *ngIf=\"!hideSelectButton && !displayDragDrop\"\n #uploadButton\n class=\"po-upload-button\"\n for=\"file\"\n [p-disabled]=\"isDisabled\"\n [p-label]=\"selectFileButtonLabel\"\n (p-click)=\"selectFiles()\"\n >\n </po-button>\n\n <po-upload-file-restrictions\n *ngIf=\"fileRestrictions && !hideRestrictionsInfo\"\n class=\"po-upload-file-restrictions\"\n [ngClass]=\"{ 'po-upload-file-restrictions-drag-drop': displayDragDrop }\"\n [p-allowed-extensions]=\"fileRestrictions?.allowedExtensions\"\n [p-max-files]=\"maxFiles\"\n [p-max-file-size]=\"fileRestrictions?.maxFileSize\"\n [p-min-file-size]=\"fileRestrictions?.minFileSize\"\n >\n </po-upload-file-restrictions>\n\n <div *ngIf=\"currentFiles && currentFiles.length\" class=\"po-upload-progress-container\">\n <po-container\n [p-height]=\"hasMoreThanFourItems ? 280 : 'auto'\"\n [p-no-border]=\"!hasMoreThanFourItems\"\n [p-no-padding]=\"!hasMoreThanFourItems\"\n >\n <div [ngClass]=\"{ 'po-upload-progress-container-area po-pt-2 po-pl-1': hasMoreThanFourItems }\">\n <po-progress\n *ngFor=\"let file of currentFiles; trackBy: trackByFn\"\n [p-disabled-cancel]=\"disabledRemoveFile\"\n [p-info]=\"infoByUploadStatus[file.status]?.text(file.percent)\"\n [p-info-icon]=\"infoByUploadStatus[file.status]?.icon\"\n [p-status]=\"progressStatusByFileStatus[file.status]\"\n [p-text]=\"file.displayName\"\n [p-value]=\"file.percent\"\n [p-custom-action]=\"customAction\"\n (p-custom-action-click)=\"customClick(file)\"\n (p-cancel)=\"cancel(file)\"\n (p-retry)=\"uploadFiles([file])\"\n >\n </po-progress>\n </div>\n </po-container>\n </div>\n\n <po-button\n *ngIf=\"displaySendButton\"\n class=\"po-upload-send-button\"\n [class.po-mt-3]=\"hasMoreThanFourItems\"\n p-kind=\"primary\"\n [p-disabled]=\"hasAnyFileUploading(currentFiles)\"\n [p-label]=\"literals.startSending\"\n (p-click)=\"uploadFiles(currentFiles)\"\n ></po-button>\n </div>\n </div>\n <po-field-container-bottom [p-help]=\"help\" [p-disabled]=\"disabled\"></po-field-container-bottom>\n</po-field-container>\n" }]
449
459
  }], () => [{ type: i1.PoUploadService }, { type: i0.Renderer2 }, { type: i2.PoI18nPipe }, { type: i3.PoNotificationService }, { type: i0.ChangeDetectorRef }, { type: i4.PoLanguageService }], { inputFile: [{
450
460
  type: ViewChild,
451
461
  args: ['inputFile', { read: ElementRef, static: true }]
@@ -456,5 +466,5 @@ export class PoUploadComponent extends PoUploadBaseComponent {
456
466
  type: ViewChild,
457
467
  args: ['uploadButton']
458
468
  }] }); })();
459
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoUploadComponent, { className: "PoUploadComponent", filePath: "lib/components/po-field/po-upload/po-upload.component.ts", lineNumber: 70 }); })();
460
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby11cGxvYWQvcG8tdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby11cGxvYWQvcG8tdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFFVixTQUFTLEVBQ1QsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFHbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFaEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNBaEQsK0NBUUM7SUFEQyxBQURBLGdPQUFpQixtQ0FBNEIsS0FBQywrTUFDNUIsb0JBQWEsS0FBQztJQUVsQyxpQkFBc0I7OztJQUpwQixBQURBLEFBREEsQUFEQSxrRUFBNkMsaUNBQ3BCLDZDQUNZLCtCQUNkOzs7O0lB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a0IsQ0FBQzt3QkFDaEQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7cU1BR21FLFNBQVM7a0JBQTVFLFNBQVM7bUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ1oseUJBQXlCO2tCQUF0RSxTQUFTO21CQUFDLHlCQUF5QjtZQUNELFlBQVk7a0JBQTlDLFNBQVM7bUJBQUMsY0FBYzs7a0ZBSGQsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkLFxuICBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFBvSTE4blBpcGUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wby1pMThuL3BvLWkxOG4ucGlwZSc7XG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgUG9Ob3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcG8tbm90aWZpY2F0aW9uL3BvLW5vdGlmaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGZvcm1hdEJ5dGVzLCBpc01vYmlsZSwgdXVpZCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9Qcm9ncmVzc1N0YXR1cyB9IGZyb20gJy4uLy4uL3BvLXByb2dyZXNzL2VudW1zL3BvLXByb2dyZXNzLXN0YXR1cy5lbnVtJztcbmltcG9ydCB7IFBvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi8uLi8uLi9wby1idXR0b24vcG8tYnV0dG9uLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFBvVXBsb2FkQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tdXBsb2FkLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBvVXBsb2FkRHJhZ0Ryb3BDb21wb25lbnQgfSBmcm9tICcuL3BvLXVwbG9hZC1kcmFnLWRyb3AvcG8tdXBsb2FkLWRyYWctZHJvcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9VcGxvYWRGaWxlIH0gZnJvbSAnLi9wby11cGxvYWQtZmlsZSc7XG5pbXBvcnQgeyBQb1VwbG9hZFN0YXR1cyB9IGZyb20gJy4vcG8tdXBsb2FkLXN0YXR1cy5lbnVtJztcbmltcG9ydCB7IFBvVXBsb2FkU2VydmljZSB9IGZyb20gJy4vcG8tdXBsb2FkLnNlcnZpY2UnO1xuXG4vKipcbiAqIEBkb2NzRXh0ZW5kcyBQb1VwbG9hZEJhc2VDb21wb25lbnRcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby11cGxvYWQtYmFzaWNcIiB0aXRsZT1cIlBPIFVwbG9hZCBCYXNpY1wiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXVwbG9hZC1iYXNpYy9zYW1wbGUtcG8tdXBsb2FkLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby11cGxvYWQtYmFzaWMvc2FtcGxlLXBvLXVwbG9hZC1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby11cGxvYWQtbGFic1wiIHRpdGxlPVwiUE8gVXBsb2FkIExhYnNcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby11cGxvYWQtbGFicy9zYW1wbGUtcG8tdXBsb2FkLWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXVwbG9hZC1sYWJzL3NhbXBsZS1wby11cGxvYWQtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby11cGxvYWQtcmVzdW1lXCIgdGl0bGU9XCJQTyBVcGxvYWQgLSBSZXN1bWVcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby11cGxvYWQtcmVzdW1lL3NhbXBsZS1wby11cGxvYWQtcmVzdW1lLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby11cGxvYWQtcmVzdW1lL3NhbXBsZS1wby11cGxvYWQtcmVzdW1lLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXVwbG9hZC1yc1wiIHRpdGxlPVwiUE8gVXBsb2FkIC0gUmVhbGl6ZSAmIFNob3dcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby11cGxvYWQtcnMvc2FtcGxlLXBvLXVwbG9hZC1ycy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdXBsb2FkLXJzL3NhbXBsZS1wby11cGxvYWQtcnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tdXBsb2FkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICBQb0kxOG5QaXBlLFxuICAgIFBvVXBsb2FkU2VydmljZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvVXBsb2FkQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9VcGxvYWRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUG9VcGxvYWRDb21wb25lbnQgZXh0ZW5kcyBQb1VwbG9hZEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQFZpZXdDaGlsZCgnaW5wdXRGaWxlJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgcHJpdmF0ZSBpbnB1dEZpbGU6IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoUG9VcGxvYWREcmFnRHJvcENvbXBvbmVudCkgcHJpdmF0ZSBwb1VwbG9hZERyYWdEcm9wQ29tcG9uZW50OiBQb1VwbG9hZERyYWdEcm9wQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCd1cGxvYWRCdXR0b24nKSBwcml2YXRlIHVwbG9hZEJ1dHRvbjogUG9CdXR0b25Db21wb25lbnQ7XG5cbiAgaWQgPSBgcG8tdXBsb2FkWyR7dXVpZCgpfV1gO1xuXG4gIGluZm9CeVVwbG9hZFN0YXR1czogeyBba2V5OiBzdHJpbmddOiB7IHRleHQ6IChwZXJjZW50PzogbnVtYmVyKSA9PiBzdHJpbmc7IGljb24/OiBzdHJpbmcgfSB9ID0ge1xuICAgIFtQb1VwbG9hZFN0YXR1cy5VcGxvYWRlZF06IHtcbiAgICAgIHRleHQ6ICgpID0+IHRoaXMubGl0ZXJhbHMuc2VudFdpdGhTdWNjZXNzLFxuICAgICAgaWNvbjogJ0lDT05fT0snXG4gICAgfSxcbiAgICBbUG9VcGxvYWRTdGF0dXMuRXJyb3JdOiB7XG4gICAgICB0ZXh0OiAoKSA9PiB0aGlzLmxpdGVyYWxzLmVycm9yT2NjdXJyZWRcbiAgICB9LFxuICAgIFtQb1VwbG9hZFN0YXR1cy5VcGxvYWRpbmddOiB7XG4gICAgICB0ZXh0OiBwZXJjZW50ID0+IHBlcmNlbnQgKyAnJSdcbiAgICB9XG4gIH07XG5cbiAgcHJvZ3Jlc3NTdGF0dXNCeUZpbGVTdGF0dXMgPSB7XG4gICAgW1BvVXBsb2FkU3RhdHVzLlVwbG9hZGVkXTogUG9Qcm9ncmVzc1N0YXR1cy5TdWNjZXNzLFxuICAgIFtQb1VwbG9hZFN0YXR1cy5FcnJvcl06IFBvUHJvZ3Jlc3NTdGF0dXMuRXJyb3JcbiAgfTtcblxuICBwcml2YXRlIGNhbGxlZEJ5Q2xlYW5JbnB1dFZhbHVlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdXBsb2FkU2VydmljZTogUG9VcGxvYWRTZXJ2aWNlLFxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgaTE4blBpcGU6IFBvSTE4blBpcGUsXG4gICAgcHJpdmF0ZSBub3RpZmljYXRpb246IFBvTm90aWZpY2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHVwbG9hZFNlcnZpY2UsIGxhbmd1YWdlU2VydmljZSk7XG4gIH1cblxuICBnZXQgZGlzcGxheURyYWdEcm9wKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRyYWdEcm9wICYmICFpc01vYmlsZSgpO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlTZW5kQnV0dG9uKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGN1cnJlbnRGaWxlcyA9IHRoaXMuY3VycmVudEZpbGVzIHx8IFtdO1xuICAgIHJldHVybiAoXG4gICAgICAhdGhpcy5oaWRlU2VuZEJ1dHRvbiAmJiAhdGhpcy5hdXRvVXBsb2FkICYmIGN1cnJlbnRGaWxlcy5sZW5ndGggPiAwICYmIHRoaXMuaGFzRmlsZU5vdFVwbG9hZGVkICYmIHRoaXMucmVxdWlyZWRVcmxcbiAgICApO1xuICB9XG5cbiAgZ2V0IHNlbGVjdEZpbGVCdXR0b25MYWJlbCgpIHtcbiAgICBpZiAodGhpcy5jYW5IYW5kbGVEaXJlY3RvcnkpIHtcbiAgICAgIHJldHVybiB0aGlzLmxpdGVyYWxzLnNlbGVjdEZvbGRlcjtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNNdWx0aXBsZSkge1xuICAgICAgcmV0dXJuIHRoaXMubGl0ZXJhbHMuc2VsZWN0RmlsZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmxpdGVyYWxzLnNlbGVjdEZpbGU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGhhc01vcmVUaGFuRm91ckl0ZW1zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRGaWxlcyAmJiB0aGlzLmN1cnJlbnRGaWxlcy5sZW5ndGggPiA0O1xuICB9XG5cbiAgZ2V0IGhhc011bHRpcGxlRmlsZXMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEZpbGVzICYmIHRoaXMuY3VycmVudEZpbGVzLmxlbmd0aCA+IDE7XG4gIH1cblxuICBnZXQgaGFzRmlsZU5vdFVwbG9hZGVkKCk6IGJvb2xlYW4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuY3VycmVudEZpbGVzKSkge1xuICAgICAgcmV0dXJuIHRoaXMuY3VycmVudEZpbGVzLnNvbWUoZmlsZSA9PiBmaWxlLnN0YXR1cyAhPT0gUG9VcGxvYWRTdGF0dXMuVXBsb2FkZWQpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGN1cnJlbnRGaWxlcyA9IHRoaXMuY3VycmVudEZpbGVzIHx8IFtdO1xuXG4gICAgcmV0dXJuIHRoaXMucmVxdWlyZWRVcmxcbiAgICAgID8gISEoXG4gICAgICAgICAgdGhpcy5oYXNBbnlGaWxlVXBsb2FkaW5nKGN1cnJlbnRGaWxlcykgfHxcbiAgICAgICAgICAhdGhpcy51cmwgfHxcbiAgICAgICAgICB0aGlzLmRpc2FibGVkIHx8XG4gICAgICAgICAgdGhpcy5pc0V4Y2VlZGVkRmlsZUxpbWl0KGN1cnJlbnRGaWxlcy5sZW5ndGgpXG4gICAgICAgIClcbiAgICAgIDogISEoXG4gICAgICAgICAgdGhpcy5oYXNBbnlGaWxlVXBsb2FkaW5nKGN1cnJlbnRGaWxlcykgfHxcbiAgICAgICAgICB0aGlzLmF1dG9VcGxvYWQgfHxcbiAgICAgICAgICB0aGlzLmRpc2FibGVkIHx8XG4gICAgICAgICAgdGhpcy5pc0V4Y2VlZGVkRmlsZUxpbWl0KGN1cnJlbnRGaWxlcy5sZW5ndGgpXG4gICAgICAgICk7XG4gIH1cblxuICBnZXQgbWF4RmlsZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pc011bHRpcGxlICYmIHRoaXMuZmlsZVJlc3RyaWN0aW9ucyAmJiB0aGlzLmZpbGVSZXN0cmljdGlvbnMubWF4RmlsZXM7XG4gIH1cblxuICBjYW5jZWwoZmlsZTogUG9VcGxvYWRGaWxlKSB7XG4gICAgaWYgKGZpbGUuc3RhdHVzID09PSBQb1VwbG9hZFN0YXR1cy5VcGxvYWRpbmcpIHtcbiAgICAgIHJldHVybiB0aGlzLnN0b3BVcGxvYWQoZmlsZSk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW1vdmVGaWxlKGZpbGUpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmF1dG9Gb2N1cykge1xuICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBNw6l0b2RvIHJlc3BvbnPDoXZlbCBwb3IgKipsaW1wYXIqKiBvKHMpIGFycXVpdm8ocykgc2VsZWNpb25hZG8ocykuICovXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuY3VycmVudEZpbGVzID0gdW5kZWZpbmVkO1xuICAgIHRoaXMudXBkYXRlTW9kZWwoW10pO1xuICAgIHRoaXMuY2xlYW5JbnB1dFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogRnVuw6fDo28gcXVlIGF0cmlidWkgZm9jbyBhbyBjb21wb25lbnRlLlxuICAgKlxuICAgKiBQYXJhIHV0aWxpesOhLWxhIMOpIG5lY2Vzc8OhcmlvIHRlciBhIGluc3TDom5jaWEgZG8gY29tcG9uZW50ZSBubyBET00sIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBvIFZpZXdDaGlsZCBkYSBzZWd1aW50ZSBmb3JtYTpcbiAgICpcbiAgICogYGBgXG4gICAqIGltcG9ydCB7IFBvVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuICAgKlxuICAgKiAuLi5cbiAgICpcbiAgICogQFZpZXdDaGlsZChQb1VwbG9hZENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgdXBsb2FkOiBQb1VwbG9hZENvbXBvbmVudDtcbiAgICpcbiAgICogZm9jdXNVcGxvYWQoKSB7XG4gICAqICAgdGhpcy51cGxvYWQuZm9jdXMoKTtcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGZvY3VzKCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKHRoaXMudXBsb2FkQnV0dG9uKSB7XG4gICAgICAgIHRoaXMudXBsb2FkQnV0dG9uLmZvY3VzKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuZGlzcGxheURyYWdEcm9wKSB7XG4gICAgICAgIHRoaXMucG9VcGxvYWREcmFnRHJvcENvbXBvbmVudC5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcmlmaWNhIHNlIGV4aXN0ZSBhbGd1bSBhcnF1aXZvIHNlbmRvIGVudmlhZG8gYW8gc2VydmnDp28uXG4gIGhhc0FueUZpbGVVcGxvYWRpbmcoZmlsZXM6IEFycmF5PFBvVXBsb2FkRmlsZT4pIHtcbiAgICBpZiAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gZmlsZXMuc29tZShmaWxlID0+IGZpbGUuc3RhdHVzID09PSBQb1VwbG9hZFN0YXR1cy5VcGxvYWRpbmcpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIHJldG9ybmEgc2UgbyBzdGF0dXMgZG8gYXJxdWl2byDDqSBkaWZlcmVudGUgZGUgZW52aWFkb1xuICBpc0FsbG93Q2FuY2VsRXZlbnQoc3RhdHVzOiBQb1VwbG9hZFN0YXR1cykge1xuICAgIHJldHVybiBzdGF0dXMgIT09IFBvVXBsb2FkU3RhdHVzLlVwbG9hZGVkO1xuICB9XG5cbiAgLy8gRnVuw6fDo28gZGlzcGFyYWRhIGFvIHNlbGVjaW9uYXIgYWxndW0gYXJxdWl2by5cbiAgb25GaWxlQ2hhbmdlKGV2ZW50KTogdm9pZCB7XG4gICAgLy8gbmVjZXNzw6FyaW8gZXN0ZSB0cmF0YW1lbnRvIHF1YW5kbyBwYXJhIElFLCBwb2lzIG5lbGUgbyBjaGFuZ2Ugw6kgZGlzcGFyYWRvIHF1YW5kbyBvIGNhbXBvIMOpIGxpbXBhZG8gdGFtYsOpbVxuICAgIGlmICh0aGlzLmNhbGxlZEJ5Q2xlYW5JbnB1dFZhbHVlKSB7XG4gICAgICB0aGlzLmNhbGxlZEJ5Q2xlYW5JbnB1dFZhbHVlID0gZmFsc2U7XG4gICAgICByZXR1cm4gZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWxlcyA9IGV2ZW50LnRhcmdldC5maWxlcztcbiAgICB0aGlzLnVwZGF0ZUZpbGVzKGZpbGVzKTtcblxuICAgIHRoaXMuY2xlYW5JbnB1dFZhbHVlKCk7XG4gIH1cblxuICBvbkZpbGVDaGFuZ2VEcmFnRHJvcChmaWxlcykge1xuICAgIHRoaXMudXBkYXRlRmlsZXMoZmlsZXMpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIG8gYXJxdWl2byBwYXNzYWRvIHBvciBwYXLDom1ldHJvIGRhIGxpc3RhIGRvcyBhcnF1aXZvcyBjb3JyZW50ZXMuXG4gIHJlbW92ZUZpbGUoZmlsZSk6IHZvaWQge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5jdXJyZW50RmlsZXMuaW5kZXhPZihmaWxlKTtcbiAgICB0aGlzLmN1cnJlbnRGaWxlcy5zcGxpY2UoaW5kZXgsIDEpO1xuXG4gICAgdGhpcy51cGRhdGVNb2RlbChbLi4udGhpcy5jdXJyZW50RmlsZXNdKTtcbiAgfVxuXG4gIC8qKiBNw6l0b2RvIHJlc3BvbnPDoXZlbCBwb3IgKiphYnJpcioqIGEgamFuZWxhIHBhcmEgc2VsZcOnw6NvIGRlIGFycXVpdm8ocykuICovXG4gIHNlbGVjdEZpbGVzKCkge1xuICAgIHRoaXMub25Nb2RlbFRvdWNoZWQ/LigpO1xuICAgIHRoaXMuY2FsbGVkQnlDbGVhbklucHV0VmFsdWUgPSBmYWxzZTtcbiAgICB0aGlzLmlucHV0RmlsZS5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gIH1cblxuICBzZW5kRmVlZGJhY2soKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2l6ZU5vdEFsbG93ZWQgPiAwKSB7XG4gICAgICBjb25zdCBtaW5GaWxlU2l6ZSA9IGZvcm1hdEJ5dGVzKHRoaXMuZmlsZVJlc3RyaWN0aW9ucy5taW5GaWxlU2l6ZSk7XG4gICAgICBjb25zdCBtYXhGaWxlU2l6ZSA9IGZvcm1hdEJ5dGVzKHRoaXMuZmlsZVJlc3RyaWN0aW9ucy5tYXhGaWxlU2l6ZSk7XG4gICAgICBjb25zdCBhcmdzID0gW3RoaXMuc2l6ZU5vdEFsbG93ZWQsIG1pbkZpbGVTaXplIHx8ICcwJywgbWF4RmlsZVNpemVdO1xuICAgICAgdGhpcy5zZXRQaXBlQXJndW1lbnRzKCdpbnZhbGlkU2l6ZScsIGFyZ3MpO1xuICAgICAgdGhpcy5zaXplTm90QWxsb3dlZCA9IDA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZXh0ZW5zaW9uTm90QWxsb3dlZCA+IDApIHtcbiAgICAgIGNvbnN0IGFsbG93ZWRFeHRlbnNpb25zRm9ybWF0dGVkID0gdGhpcy5maWxlUmVzdHJpY3Rpb25zLmFsbG93ZWRFeHRlbnNpb25zLmpvaW4oJywgJykudG9VcHBlckNhc2UoKTtcbiAgICAgIGNvbnN0IGFyZ3MgPSBbdGhpcy5leHRlbnNpb25Ob3RBbGxvd2VkLCBhbGxvd2VkRXh0ZW5zaW9uc0Zvcm1hdHRlZF07XG4gICAgICB0aGlzLnNldFBpcGVBcmd1bWVudHMoJ2ludmFsaWRGb3JtYXQnLCBhcmdzKTtcbiAgICAgIHRoaXMuZXh0ZW5zaW9uTm90QWxsb3dlZCA9IDA7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucXVhbnRpdHlOb3RBbGxvd2VkID4gMCkge1xuICAgICAgY29uc3QgYXJncyA9IFt0aGlzLnF1YW50aXR5Tm90QWxsb3dlZF07XG4gICAgICB0aGlzLnNldFBpcGVBcmd1bWVudHMoJ2ludmFsaWRBbW91bnQnLCBhcmdzKTtcbiAgICAgIHRoaXMucXVhbnRpdHlOb3RBbGxvd2VkID0gMDtcbiAgICB9XG4gIH1cblxuICAvKiogTcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yICoqZW52aWFyKiogbyhzKSBhcnF1aXZvKHMpIHNlbGVjaW9uYWRvKHMpLiAqL1xuICBzZW5kRmlsZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY3VycmVudEZpbGVzICYmIHRoaXMuY3VycmVudEZpbGVzLmxlbmd0aCkge1xuICAgICAgdGhpcy51cGxvYWRGaWxlcyh0aGlzLmN1cnJlbnRGaWxlcyk7XG4gICAgfVxuICB9XG5cbiAgc2V0RGlyZWN0b3J5QXR0cmlidXRlKGNhbkhhbmRsZURpcmVjdG9yeTogYm9vbGVhbikge1xuICAgIGlmIChjYW5IYW5kbGVEaXJlY3RvcnkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuaW5wdXRGaWxlLm5hdGl2ZUVsZW1lbnQsICd3ZWJraXRkaXJlY3RvcnknLCAndHJ1ZScpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZSh0aGlzLmlucHV0RmlsZS5uYXRpdmVFbGVtZW50LCAnd2Via2l0ZGlyZWN0b3J5Jyk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FzbyBvIGNvbXBvbmVudGUgZXN0aXZlciBubyBtb2RvIEF1dG9VcGxvYWQsIG8gYXJxdWl2byB0YW1iw6ltIHNlcsOhIHJlbW92aWRvIGRhIGxpc3RhLlxuICBzdG9wVXBsb2FkKGZpbGU6IFBvVXBsb2FkRmlsZSkge1xuICAgIHRoaXMudXBsb2FkU2VydmljZS5zdG9wUmVxdWVzdEJ5RmlsZShmaWxlLCAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5hdXRvVXBsb2FkKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlRmlsZShmaWxlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc3RvcFVwbG9hZEhhbmRsZXIoZmlsZSk7XG4gICAgICB9XG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH0pO1xuICB9XG5cbiAgdHJhY2tCeUZuKGluZGV4LCBmaWxlOiBQb1VwbG9hZEZpbGUpIHtcbiAgICByZXR1cm4gZmlsZS51aWQ7XG4gIH1cblxuICAvLyBFbnZpYSBvcyBhcnF1aXZvcyBwYXNzYWRvcyBwb3IgcGFyw6JtZXRybywgZXhjZXRvIG9zIHF1ZSBqw6EgZm9yYW0gZW52aWFkb3MgYW8gc2VydmnDp28uXG4gIHVwbG9hZEZpbGVzKGZpbGVzOiBBcnJheTxQb1VwbG9hZEZpbGU+KSB7XG4gICAgY29uc3QgZmlsZXNGaWx0ZXJlZCA9IGZpbGVzLmZpbHRlcihmaWxlID0+IGZpbGUuc3RhdHVzICE9PSBQb1VwbG9hZFN0YXR1cy5VcGxvYWRlZCk7XG4gICAgdGhpcy51cGxvYWRTZXJ2aWNlLnVwbG9hZChcbiAgICAgIHRoaXMudXJsLFxuICAgICAgZmlsZXNGaWx0ZXJlZCxcbiAgICAgIHRoaXMuaGVhZGVycyxcbiAgICAgIHRoaXMub25VcGxvYWQsXG4gICAgICAoZmlsZSwgcGVyY2VudCk6IGFueSA9PiB7XG4gICAgICAgIC8vIFVQTE9BRElOR1xuICAgICAgICB0aGlzLnVwbG9hZGluZ0hhbmRsZXIoZmlsZSwgcGVyY2VudCk7XG4gICAgICB9LFxuICAgICAgKGZpbGUsIGV2ZW50UmVzcG9uc2UpOiBhbnkgPT4ge1xuICAgICAgICAvLyBTVUNDRVNTXG4gICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyKGZpbGUsIFBvVXBsb2FkU3RhdHVzLlVwbG9hZGVkKTtcbiAgICAgICAgdGhpcy5vblN1Y2Nlc3MuZW1pdChldmVudFJlc3BvbnNlKTtcbiAgICAgIH0sXG4gICAgICAoZmlsZSwgZXZlbnRFcnJvcik6IGFueSA9PiB7XG4gICAgICAgIC8vIEVycm9yXG4gICAgICAgIHRoaXMucmVzcG9uc2VIYW5kbGVyKGZpbGUsIFBvVXBsb2FkU3RhdHVzLkVycm9yKTtcbiAgICAgICAgdGhpcy5vbkVycm9yLmVtaXQoZXZlbnRFcnJvcik7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYW5JbnB1dFZhbHVlKCkge1xuICAgIHRoaXMuY2FsbGVkQnlDbGVhbklucHV0VmFsdWUgPSB0cnVlO1xuICAgIHRoaXMuaW5wdXRGaWxlLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8vIGZ1bsOnw6NvIGRpc3BhcmFkYSBuYSByZXNwb3N0YSBkbyBzdWNlc3NvIG91IGVycm9yXG4gIHByaXZhdGUgcmVzcG9uc2VIYW5kbGVyKGZpbGU6IFBvVXBsb2FkRmlsZSwgc3RhdHVzOiBQb1VwbG9hZFN0YXR1cykge1xuICAgIGZpbGUuc3RhdHVzID0gc3RhdHVzO1xuICAgIGZpbGUucGVyY2VudCA9IDEwMDtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8gbcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yIHNldGFyIG9zIGFyZ3VtZW50b3MgZG8gaTE4blBpcGUgZGUgYWNvcmRvIGNvbSBhIHJlc3RyacOnw6NvLlxuICBwcml2YXRlIHNldFBpcGVBcmd1bWVudHMobGl0ZXJhbEF0dHJpYnV0ZXM6IHN0cmluZywgbGl0ZXJhbEFyZ3VtZW50cz8pIHtcbiAgICBjb25zdCBwaXBlQXJndW1lbnRzID0gdGhpcy5pMThuUGlwZS50cmFuc2Zvcm0odGhpcy5saXRlcmFsc1tsaXRlcmFsQXR0cmlidXRlc10sIGxpdGVyYWxBcmd1bWVudHMpO1xuICAgIHRoaXMubm90aWZpY2F0aW9uLmluZm9ybWF0aW9uKHBpcGVBcmd1bWVudHMpO1xuICB9XG5cbiAgLy8gRnVuw6fDo28gZGlzcGFyYWRhIGFvIHBhcmFyIHVtIGVudmlvIGRlIGFycXVpdm8uXG4gIHByaXZhdGUgc3RvcFVwbG9hZEhhbmRsZXIoZmlsZTogUG9VcGxvYWRGaWxlKSB7XG4gICAgZmlsZS5zdGF0dXMgPSBQb1VwbG9hZFN0YXR1cy5Ob25lO1xuICAgIGZpbGUucGVyY2VudCA9IDA7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRmlsZXMoZmlsZXMpIHtcbiAgICB0aGlzLmN1cnJlbnRGaWxlcyA9IHRoaXMucGFyc2VGaWxlcyhmaWxlcyk7XG5cbiAgICB0aGlzLnVwZGF0ZU1vZGVsKFsuLi50aGlzLmN1cnJlbnRGaWxlc10pO1xuXG4gICAgaWYgKHRoaXMuYXV0b1VwbG9hZCkge1xuICAgICAgdGhpcy51cGxvYWRGaWxlcyh0aGlzLmN1cnJlbnRGaWxlcyk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXR1YWxpemEgbyBuZ01vZGVsIHBhcmEgb3MgYXJxdWl2b3MgcGFzc2Fkb3MgcG9yIHBhcsOibWV0cm8uXG4gIHByaXZhdGUgdXBkYXRlTW9kZWwoZmlsZXM6IEFycmF5PFBvVXBsb2FkRmlsZT4pIHtcbiAgICBjb25zdCBtb2RlbEZpbGVzOiBBcnJheTxQb1VwbG9hZEZpbGU+ID0gdGhpcy5tYXBDbGVhblVwbG9hZEZpbGVzKGZpbGVzKTtcbiAgICB0aGlzLm9uTW9kZWxDaGFuZ2UgPyB0aGlzLm9uTW9kZWxDaGFuZ2UobW9kZWxGaWxlcykgOiB0aGlzLm5nTW9kZWxDaGFuZ2UuZW1pdChtb2RlbEZpbGVzKTtcbiAgfVxuXG4gIC8vIEZ1bsOnw6NvIGRpc3BhcmFkYSBlbnF1YW50byBvIGFycXVpdm8gZXN0w6Egc2VuZG8gZW52aWFkbyBhbyBzZXJ2acOnby5cbiAgcHJpdmF0ZSB1cGxvYWRpbmdIYW5kbGVyKGZpbGU6IGFueSwgcGVyY2VudDogbnVtYmVyKSB7XG4gICAgZmlsZS5zdGF0dXMgPSBQb1VwbG9hZFN0YXR1cy5VcGxvYWRpbmc7XG4gICAgZmlsZS5wZXJjZW50ID0gcGVyY2VudDtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8gcmV0b3JuYSBvcyBvYmpldG9zIGRvIGFycmF5IHNlbSBhcyBwcm9wcmllZGFkZXM6IHBlcmNlbnQgZSBkaXNwbGF5TmFtZVxuICBwcml2YXRlIG1hcENsZWFuVXBsb2FkRmlsZXMoZmlsZXM6IEFycmF5PFBvVXBsb2FkRmlsZT4pOiBBcnJheTxQb1VwbG9hZEZpbGU+IHtcbiAgICBjb25zdCBtYXBlZEJ5VXBsb2FkRmlsZSA9IHByb2dyZXNzRmlsZSA9PiB7XG4gICAgICBjb25zdCB7IHBlcmNlbnQsIGRpc3BsYXlOYW1lLCAuLi51cGxvYWRGaWxlIH0gPSBwcm9ncmVzc0ZpbGU7XG5cbiAgICAgIHJldHVybiB1cGxvYWRGaWxlO1xuICAgIH07XG5cbiAgICByZXR1cm4gZmlsZXMubWFwKG1hcGVkQnlVcGxvYWRGaWxlKTtcbiAgfVxufVxuIiwiPHBvLWZpZWxkLWNvbnRhaW5lclxuICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgW3AtaWRdPVwiaWRcIlxuICBbcC1sYWJlbF09XCJsYWJlbFwiXG4gIFtwLW9wdGlvbmFsXT1cIm9wdGlvbmFsXCJcbiAgW3AtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICBbcC1zaG93LXJlcXVpcmVkXT1cInNob3dSZXF1aXJlZFwiXG4+XG4gIDxkaXYgY2xhc3M9XCJwby1maWVsZC1jb250YWluZXItY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJwby11cGxvYWRcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICAjaW5wdXRGaWxlXG4gICAgICAgIGNsYXNzPVwicG8tdXBsb2FkLWlucHV0XCJcbiAgICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgICBbYWNjZXB0XT1cImFsbG93ZWRFeHRlbnNpb25zXCJcbiAgICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxuICAgICAgICBbbXVsdGlwbGVdPVwiaXNNdWx0aXBsZVwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIChjaGFuZ2UpPVwib25GaWxlQ2hhbmdlKCRldmVudClcIlxuICAgICAgLz5cblxuICAgICAgPHBvLXVwbG9hZC1kcmFnLWRyb3BcbiAgICAgICAgKm5nSWY9XCJkaXNwbGF5RHJhZ0Ryb3BcIlxuICAgICAgICBbcC1kaXJlY3RvcnktY29tcGF0aWJsZV09XCJjYW5IYW5kbGVEaXJlY3RvcnlcIlxuICAgICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgICAgW3AtZHJhZy1kcm9wLWhlaWdodF09XCJkcmFnRHJvcEhlaWdodFwiXG4gICAgICAgIFtwLWxpdGVyYWxzXT1cImxpdGVyYWxzXCJcbiAgICAgICAgKHAtZmlsZS1jaGFuZ2UpPVwib25GaWxlQ2hhbmdlRHJhZ0Ryb3AoJGV2ZW50KVwiXG4gICAgICAgIChwLXNlbGVjdC1maWxlcyk9XCJzZWxlY3RGaWxlcygpXCJcbiAgICAgID5cbiAgICAgIDwvcG8tdXBsb2FkLWRyYWctZHJvcD5cblxuICAgICAgPHBvLWJ1dHRvblxuICAgICAgICAqbmdJZj1cIiFoaWRlU2VsZWN0QnV0dG9uICYmICFkaXNwbGF5RHJhZ0Ryb3BcIlxuICAgICAgICAjdXBsb2FkQnV0dG9uXG4gICAgICAgIGNsYXNzPVwicG8tdXBsb2FkLWJ1dHRvblwiXG4gICAgICAgIGZvcj1cImZpbGVcIlxuICAgICAgICBbcC1kaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgICAgW3AtbGFiZWxdPVwic2VsZWN0RmlsZUJ1dHRvbkxhYmVsXCJcbiAgICAgICAgKHAtY2xpY2spPVwic2VsZWN0RmlsZXMoKVwiXG4gICAgICA+XG4gICAgICA8L3BvLWJ1dHRvbj5cblxuICAgICAgPHBvLXVwbG9hZC1maWxlLXJlc3RyaWN0aW9uc1xuICAgICAgICAqbmdJZj1cImZpbGVSZXN0cmljdGlvbnMgJiYgIWhpZGVSZXN0cmljdGlvbnNJbmZvXCJcbiAgICAgICAgY2xhc3M9XCJwby11cGxvYWQtZmlsZS1yZXN0cmljdGlvbnNcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdwby11cGxvYWQtZmlsZS1yZXN0cmljdGlvbnMtZHJhZy1kcm9wJzogZGlzcGxheURyYWdEcm9wIH1cIlxuICAgICAgICBbcC1hbGxvd2VkLWV4dGVuc2lvbnNdPVwiZmlsZVJlc3RyaWN0aW9ucz8uYWxsb3dlZEV4dGVuc2lvbnNcIlxuICAgICAgICBbcC1tYXgtZmlsZXNdPVwibWF4RmlsZXNcIlxuICAgICAgICBbcC1tYXgtZmlsZS1zaXplXT1cImZpbGVSZXN0cmljdGlvbnM/Lm1heEZpbGVTaXplXCJcbiAgICAgICAgW3AtbWluLWZpbGUtc2l6ZV09XCJmaWxlUmVzdHJpY3Rpb25zPy5taW5GaWxlU2l6ZVwiXG4gICAgICA+XG4gICAgICA8L3BvLXVwbG9hZC1maWxlLXJlc3RyaWN0aW9ucz5cblxuICAgICAgPGRpdiAqbmdJZj1cImN1cnJlbnRGaWxlcyAmJiBjdXJyZW50RmlsZXMubGVuZ3RoXCIgY2xhc3M9XCJwby11cGxvYWQtcHJvZ3Jlc3MtY29udGFpbmVyXCI+XG4gICAgICAgIDxwby1jb250YWluZXJcbiAgICAgICAgICBbcC1oZWlnaHRdPVwiaGFzTW9yZVRoYW5Gb3VySXRlbXMgPyAyODAgOiAnYXV0bydcIlxuICAgICAgICAgIFtwLW5vLWJvcmRlcl09XCIhaGFzTW9yZVRoYW5Gb3VySXRlbXNcIlxuICAgICAgICAgIFtwLW5vLXBhZGRpbmddPVwiIWhhc01vcmVUaGFuRm91ckl0ZW1zXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwieyAncG8tdXBsb2FkLXByb2dyZXNzLWNvbnRhaW5lci1hcmVhIHBvLXB0LTIgcG8tcGwtMSc6IGhhc01vcmVUaGFuRm91ckl0ZW1zIH1cIj5cbiAgICAgICAgICAgIDxwby1wcm9ncmVzc1xuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmlsZSBvZiBjdXJyZW50RmlsZXM7IHRyYWNrQnk6IHRyYWNrQnlGblwiXG4gICAgICAgICAgICAgIFtwLWRpc2FibGVkLWNhbmNlbF09XCJkaXNhYmxlZFJlbW92ZUZpbGVcIlxuICAgICAgICAgICAgICBbcC1pbmZvXT1cImluZm9CeVVwbG9hZFN0YXR1c1tmaWxlLnN0YXR1c10/LnRleHQoZmlsZS5wZXJjZW50KVwiXG4gICAgICAgICAgICAgIFtwLWluZm8taWNvbl09XCJpbmZvQnlVcGxvYWRTdGF0dXNbZmlsZS5zdGF0dXNdPy5pY29uXCJcbiAgICAgICAgICAgICAgW3Atc3RhdHVzXT1cInByb2dyZXNzU3RhdHVzQnlGaWxlU3RhdHVzW2ZpbGUuc3RhdHVzXVwiXG4gICAgICAgICAgICAgIFtwLXRleHRdPVwiZmlsZS5kaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICAgIFtwLXZhbHVlXT1cImZpbGUucGVyY2VudFwiXG4gICAgICAgICAgICAgIChwLWNhbmNlbCk9XCJjYW5jZWwoZmlsZSlcIlxuICAgICAgICAgICAgICAocC1yZXRyeSk9XCJ1cGxvYWRGaWxlcyhbZmlsZV0pXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvcG8tcHJvZ3Jlc3M+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvcG8tY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxwby1idXR0b25cbiAgICAgICAgKm5nSWY9XCJkaXNwbGF5U2VuZEJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwicG8tdXBsb2FkLXNlbmQtYnV0dG9uXCJcbiAgICAgICAgW2NsYXNzLnBvLW10LTNdPVwiaGFzTW9yZVRoYW5Gb3VySXRlbXNcIlxuICAgICAgICBwLWtpbmQ9XCJwcmltYXJ5XCJcbiAgICAgICAgW3AtZGlzYWJsZWRdPVwiaGFzQW55RmlsZVVwbG9hZGluZyhjdXJyZW50RmlsZXMpXCJcbiAgICAgICAgW3AtbGFiZWxdPVwibGl0ZXJhbHMuc3RhcnRTZW5kaW5nXCJcbiAgICAgICAgKHAtY2xpY2spPVwidXBsb2FkRmlsZXMoY3VycmVudEZpbGVzKVwiXG4gICAgICA+PC9wby1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8cG8tZmllbGQtY29udGFpbmVyLWJvdHRvbSBbcC1oZWxwXT1cImhlbHBcIiBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiPjwvcG8tZmllbGQtY29udGFpbmVyLWJvdHRvbT5cbjwvcG8tZmllbGQtY29udGFpbmVyPlxuIl19
469
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoUploadComponent, { className: "PoUploadComponent", filePath: "lib/components/po-field/po-upload/po-upload.component.ts", lineNumber: 75 }); })();
470
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby11cGxvYWQvcG8tdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby11cGxvYWQvcG8tdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFVBQVUsRUFFVixTQUFTLEVBQ1QsVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFHcEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFHbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFaEcsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNBaEQsK0NBUUM7SUFEQyxBQURBLGdPQUFpQixtQ0FBNEIsS0FBQywrTUFDNUIsb0JBQWEsS0FBQztJQUVsQyxpQkFBc0I7OztJQUpwQixBQURBLEFBREEsQUFEQSxrRUFBNkMsaUNBQ3BCLDZDQUNZLCtCQUNkOzs7O0lB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QkFDZjt3QkFDRSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzt3QkFDaEQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7b0JBQ0Q7d0JBQ0UsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDO3dCQUNoRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRjtxTUFHbUUsU0FBUztrQkFBNUUsU0FBUzttQkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7WUFDWix5QkFBeUI7a0JBQXRFLFNBQVM7bUJBQUMseUJBQXlCO1lBQ0QsWUFBWTtrQkFBOUMsU0FBUzttQkFBQyxjQUFjOztrRkFIZCxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGQsXG4gIGZvcndhcmRSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgUG9JMThuUGlwZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BvLWkxOG4vcG8taTE4bi5waXBlJztcbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQb05vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wby1ub3RpZmljYXRpb24vcG8tbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgZm9ybWF0Qnl0ZXMsIGlzTW9iaWxlLCB1dWlkIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5pbXBvcnQgeyBQb1Byb2dyZXNzU3RhdHVzIH0gZnJvbSAnLi4vLi4vcG8tcHJvZ3Jlc3MvZW51bXMvcG8tcHJvZ3Jlc3Mtc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgUG9CdXR0b25Db21wb25lbnQgfSBmcm9tICcuLy4uLy4uL3BvLWJ1dHRvbi9wby1idXR0b24uY29tcG9uZW50JztcblxuaW1wb3J0IHsgUG9VcGxvYWRCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby11cGxvYWQtYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9VcGxvYWREcmFnRHJvcENvbXBvbmVudCB9IGZyb20gJy4vcG8tdXBsb2FkLWRyYWctZHJvcC9wby11cGxvYWQtZHJhZy1kcm9wLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb1VwbG9hZEZpbGUgfSBmcm9tICcuL3BvLXVwbG9hZC1maWxlJztcbmltcG9ydCB7IFBvVXBsb2FkU3RhdHVzIH0gZnJvbSAnLi9wby11cGxvYWQtc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgUG9VcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi9wby11cGxvYWQuc2VydmljZSc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvVXBsb2FkQmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXVwbG9hZC1iYXNpY1wiIHRpdGxlPVwiUE8gVXBsb2FkIEJhc2ljXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdXBsb2FkLWJhc2ljL3NhbXBsZS1wby11cGxvYWQtYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXVwbG9hZC1iYXNpYy9zYW1wbGUtcG8tdXBsb2FkLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXVwbG9hZC1sYWJzXCIgdGl0bGU9XCJQTyBVcGxvYWQgTGFic1wiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXVwbG9hZC1sYWJzL3NhbXBsZS1wby11cGxvYWQtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdXBsb2FkLWxhYnMvc2FtcGxlLXBvLXVwbG9hZC1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXVwbG9hZC1yZXN1bWVcIiB0aXRsZT1cIlBPIFVwbG9hZCAtIFJlc3VtZVwiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXVwbG9hZC1yZXN1bWUvc2FtcGxlLXBvLXVwbG9hZC1yZXN1bWUuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXVwbG9hZC1yZXN1bWUvc2FtcGxlLXBvLXVwbG9hZC1yZXN1bWUuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tdXBsb2FkLXJzXCIgdGl0bGU9XCJQTyBVcGxvYWQgLSBSZWFsaXplICYgU2hvd1wiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXVwbG9hZC1ycy9zYW1wbGUtcG8tdXBsb2FkLXJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby11cGxvYWQtcnMvc2FtcGxlLXBvLXVwbG9hZC1ycy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby11cGxvYWQtZG93bmxvYWRcIiB0aXRsZT1cIlBPIFVwbG9hZCAtIHdpdGggRG93bmxvYWQgQnV0dG9uXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdXBsb2FkLWRvd25sb2FkL3NhbXBsZS1wby11cGxvYWQtZG93bmxvYWQuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXVwbG9hZC1kb3dubG9hZC9zYW1wbGUtcG8tdXBsb2FkLWRvd25sb2FkLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLXVwbG9hZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAgUG9JMThuUGlwZSxcbiAgICBQb1VwbG9hZFNlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb1VwbG9hZENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvVXBsb2FkQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBvVXBsb2FkQ29tcG9uZW50IGV4dGVuZHMgUG9VcGxvYWRCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0RmlsZScsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIHByaXZhdGUgaW5wdXRGaWxlOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKFBvVXBsb2FkRHJhZ0Ryb3BDb21wb25lbnQpIHByaXZhdGUgcG9VcGxvYWREcmFnRHJvcENvbXBvbmVudDogUG9VcGxvYWREcmFnRHJvcENvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgndXBsb2FkQnV0dG9uJykgcHJpdmF0ZSB1cGxvYWRCdXR0b246IFBvQnV0dG9uQ29tcG9uZW50O1xuXG4gIGlkID0gYHBvLXVwbG9hZFske3V1aWQoKX1dYDtcblxuICBpbmZvQnlVcGxvYWRTdGF0dXM6IHsgW2tleTogc3RyaW5nXTogeyB0ZXh0OiAocGVyY2VudD86IG51bWJlcikgPT4gc3RyaW5nOyBpY29uPzogc3RyaW5nIH0gfSA9IHtcbiAgICBbUG9VcGxvYWRTdGF0dXMuVXBsb2FkZWRdOiB7XG4gICAgICB0ZXh0OiAoKSA9PiB0aGlzLmxpdGVyYWxzLnNlbnRXaXRoU3VjY2VzcyxcbiAgICAgIGljb246ICdJQ09OX09LJ1xuICAgIH0sXG4gICAgW1BvVXBsb2FkU3RhdHVzLkVycm9yXToge1xuICAgICAgdGV4dDogKCkgPT4gdGhpcy5saXRlcmFscy5lcnJvck9jY3VycmVkXG4gICAgfSxcbiAgICBbUG9VcGxvYWRTdGF0dXMuVXBsb2FkaW5nXToge1xuICAgICAgdGV4dDogcGVyY2VudCA9PiBwZXJjZW50ICsgJyUnXG4gICAgfVxuICB9O1xuXG4gIHByb2dyZXNzU3RhdHVzQnlGaWxlU3RhdHVzID0ge1xuICAgIFtQb1VwbG9hZFN0YXR1cy5VcGxvYWRlZF06IFBvUHJvZ3Jlc3NTdGF0dXMuU3VjY2VzcyxcbiAgICBbUG9VcGxvYWRTdGF0dXMuRXJyb3JdOiBQb1Byb2dyZXNzU3RhdHVzLkVycm9yXG4gIH07XG5cbiAgcHJpdmF0ZSBjYWxsZWRCeUNsZWFuSW5wdXRWYWx1ZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHVwbG9hZFNlcnZpY2U6IFBvVXBsb2FkU2VydmljZSxcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGkxOG5QaXBlOiBQb0kxOG5QaXBlLFxuICAgIHByaXZhdGUgbm90aWZpY2F0aW9uOiBQb05vdGlmaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZVxuICApIHtcbiAgICBzdXBlcih1cGxvYWRTZXJ2aWNlLCBsYW5ndWFnZVNlcnZpY2UpO1xuICB9XG5cbiAgZ2V0IGRpc3BsYXlEcmFnRHJvcCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5kcmFnRHJvcCAmJiAhaXNNb2JpbGUoKTtcbiAgfVxuXG4gIGdldCBkaXNwbGF5U2VuZEJ1dHRvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCBjdXJyZW50RmlsZXMgPSB0aGlzLmN1cnJlbnRGaWxlcyB8fCBbXTtcbiAgICByZXR1cm4gKFxuICAgICAgIXRoaXMuaGlkZVNlbmRCdXR0b24gJiYgIXRoaXMuYXV0b1VwbG9hZCAmJiBjdXJyZW50RmlsZXMubGVuZ3RoID4gMCAmJiB0aGlzLmhhc0ZpbGVOb3RVcGxvYWRlZCAmJiB0aGlzLnJlcXVpcmVkVXJsXG4gICAgKTtcbiAgfVxuXG4gIGdldCBzZWxlY3RGaWxlQnV0dG9uTGFiZWwoKSB7XG4gICAgaWYgKHRoaXMuY2FuSGFuZGxlRGlyZWN0b3J5KSB7XG4gICAgICByZXR1cm4gdGhpcy5saXRlcmFscy5zZWxlY3RGb2xkZXI7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTXVsdGlwbGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmxpdGVyYWxzLnNlbGVjdEZpbGVzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5saXRlcmFscy5zZWxlY3RGaWxlO1xuICAgIH1cbiAgfVxuXG4gIGdldCBoYXNNb3JlVGhhbkZvdXJJdGVtcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50RmlsZXMgJiYgdGhpcy5jdXJyZW50RmlsZXMubGVuZ3RoID4gNDtcbiAgfVxuXG4gIGdldCBoYXNNdWx0aXBsZUZpbGVzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRGaWxlcyAmJiB0aGlzLmN1cnJlbnRGaWxlcy5sZW5ndGggPiAxO1xuICB9XG5cbiAgZ2V0IGhhc0ZpbGVOb3RVcGxvYWRlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmN1cnJlbnRGaWxlcykpIHtcbiAgICAgIHJldHVybiB0aGlzLmN1cnJlbnRGaWxlcy5zb21lKGZpbGUgPT4gZmlsZS5zdGF0dXMgIT09IFBvVXBsb2FkU3RhdHVzLlVwbG9hZGVkKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBnZXQgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBjdXJyZW50RmlsZXMgPSB0aGlzLmN1cnJlbnRGaWxlcyB8fCBbXTtcblxuICAgIHJldHVybiB0aGlzLnJlcXVpcmVkVXJsXG4gICAgICA/ICEhKFxuICAgICAgICAgIHRoaXMuaGFzQW55RmlsZVVwbG9hZGluZyhjdXJyZW50RmlsZXMpIHx8XG4gICAgICAgICAgIXRoaXMudXJsIHx8XG4gICAgICAgICAgdGhpcy5kaXNhYmxlZCB8fFxuICAgICAgICAgIHRoaXMuaXNFeGNlZWRlZEZpbGVMaW1pdChjdXJyZW50RmlsZXMubGVuZ3RoKVxuICAgICAgICApXG4gICAgICA6ICEhKFxuICAgICAgICAgIHRoaXMuaGFzQW55RmlsZVVwbG9hZGluZyhjdXJyZW50RmlsZXMpIHx8XG4gICAgICAgICAgdGhpcy5hdXRvVXBsb2FkIHx8XG4gICAgICAgICAgdGhpcy5kaXNhYmxlZCB8fFxuICAgICAgICAgIHRoaXMuaXNFeGNlZWRlZEZpbGVMaW1pdChjdXJyZW50RmlsZXMubGVuZ3RoKVxuICAgICAgICApO1xuICB9XG5cbiAgZ2V0IG1heEZpbGVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaXNNdWx0aXBsZSAmJiB0aGlzLmZpbGVSZXN0cmljdGlvbnMgJiYgdGhpcy5maWxlUmVzdHJpY3Rpb25zLm1heEZpbGVzO1xuICB9XG5cbiAgY2FuY2VsKGZpbGU6IFBvVXBsb2FkRmlsZSkge1xuICAgIGlmIChmaWxlLnN0YXR1cyA9PT0gUG9VcGxvYWRTdGF0dXMuVXBsb2FkaW5nKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdG9wVXBsb2FkKGZpbGUpO1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlRmlsZShmaWxlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5hdXRvRm9jdXMpIHtcbiAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAvKiogTcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yICoqbGltcGFyKiogbyhzKSBhcnF1aXZvKHMpIHNlbGVjaW9uYWRvKHMpLiAqL1xuICBjbGVhcigpIHtcbiAgICB0aGlzLmN1cnJlbnRGaWxlcyA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnVwZGF0ZU1vZGVsKFtdKTtcbiAgICB0aGlzLmNsZWFuSW5wdXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIHF1ZSBhdHJpYnVpIGZvY28gYW8gY29tcG9uZW50ZS5cbiAgICpcbiAgICogUGFyYSB1dGlsaXrDoS1sYSDDqSBuZWNlc3PDoXJpbyB0ZXIgYSBpbnN0w6JuY2lhIGRvIGNvbXBvbmVudGUgbm8gRE9NLCBwb2RlbmRvIHNlciB1dGlsaXphZG8gbyBWaWV3Q2hpbGQgZGEgc2VndWludGUgZm9ybWE6XG4gICAqXG4gICAqIGBgYFxuICAgKiBpbXBvcnQgeyBQb1VwbG9hZENvbXBvbmVudCB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcbiAgICpcbiAgICogLi4uXG4gICAqXG4gICAqIEBWaWV3Q2hpbGQoUG9VcGxvYWRDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHVwbG9hZDogUG9VcGxvYWRDb21wb25lbnQ7XG4gICAqXG4gICAqIGZvY3VzVXBsb2FkKCkge1xuICAgKiAgIHRoaXMudXBsb2FkLmZvY3VzKCk7XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBmb2N1cygpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGlmICh0aGlzLnVwbG9hZEJ1dHRvbikge1xuICAgICAgICB0aGlzLnVwbG9hZEJ1dHRvbi5mb2N1cygpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmRpc3BsYXlEcmFnRHJvcCkge1xuICAgICAgICB0aGlzLnBvVXBsb2FkRHJhZ0Ryb3BDb21wb25lbnQuZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJpZmljYSBzZSBleGlzdGUgYWxndW0gYXJxdWl2byBzZW5kbyBlbnZpYWRvIGFvIHNlcnZpw6dvLlxuICBoYXNBbnlGaWxlVXBsb2FkaW5nKGZpbGVzOiBBcnJheTxQb1VwbG9hZEZpbGU+KSB7XG4gICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZpbGVzLnNvbWUoZmlsZSA9PiBmaWxlLnN0YXR1cyA9PT0gUG9VcGxvYWRTdGF0dXMuVXBsb2FkaW5nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyByZXRvcm5hIHNlIG8gc3RhdHVzIGRvIGFycXVpdm8gw6kgZGlmZXJlbnRlIGRlIGVudmlhZG9cbiAgaXNBbGxvd0NhbmNlbEV2ZW50KHN0YXR1czogUG9VcGxvYWRTdGF0dXMpIHtcbiAgICByZXR1cm4gc3RhdHVzICE9PSBQb1VwbG9hZFN0YXR1cy5VcGxvYWRlZDtcbiAgfVxuXG4gIC8vIEZ1bsOnw6NvIGRpc3BhcmFkYSBhbyBzZWxlY2lvbmFyIGFsZ3VtIGFycXVpdm8uXG4gIG9uRmlsZUNoYW5nZShldmVudCk6IHZvaWQge1xuICAgIC8vIG5lY2Vzc8OhcmlvIGVzdGUgdHJhdGFtZW50byBxdWFuZG8gcGFyYSBJRSwgcG9pcyBuZWxlIG8gY2hhbmdlIMOpIGRpc3BhcmFkbyBxdWFuZG8gbyBjYW1wbyDDqSBsaW1wYWRvIHRhbWLDqW1cbiAgICBpZiAodGhpcy5jYWxsZWRCeUNsZWFuSW5wdXRWYWx1ZSkge1xuICAgICAgdGhpcy5jYWxsZWRCeUNsZWFuSW5wdXRWYWx1ZSA9IGZhbHNlO1xuICAgICAgcmV0dXJuIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZXMgPSBldmVudC50YXJnZXQuZmlsZXM7XG4gICAgdGhpcy51cGRhdGVGaWxlcyhmaWxlcyk7XG5cbiAgICB0aGlzLmNsZWFuSW5wdXRWYWx1ZSgpO1xuICB9XG5cbiAgb25GaWxlQ2hhbmdlRHJhZ0Ryb3AoZmlsZXMpIHtcbiAgICB0aGlzLnVwZGF0ZUZpbGVzKGZpbGVzKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvIGFycXVpdm8gcGFzc2FkbyBwb3IgcGFyw6JtZXRybyBkYSBsaXN0YSBkb3MgYXJxdWl2b3MgY29ycmVudGVzLlxuICByZW1vdmVGaWxlKGZpbGUpOiB2b2lkIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuY3VycmVudEZpbGVzLmluZGV4T2YoZmlsZSk7XG4gICAgdGhpcy5jdXJyZW50RmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcblxuICAgIHRoaXMudXBkYXRlTW9kZWwoWy4uLnRoaXMuY3VycmVudEZpbGVzXSk7XG4gIH1cblxuICAvKiogTcOpdG9kbyByZXNwb25zw6F2ZWwgcG9yICoqYWJyaXIqKiBhIGphbmVsYSBwYXJhIHNlbGXDp8OjbyBkZSBhcnF1aXZvKHMpLiAqL1xuICBzZWxlY3RGaWxlcygpIHtcbiAgICB0aGlzLm9uTW9kZWxUb3VjaGVkPy4oKTtcbiAgICB0aGlzLmNhbGxlZEJ5Q2xlYW5JbnB1dFZhbHVlID0gZmFsc2U7XG4gICAgdGhpcy5pbnB1dEZpbGUubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICB9XG5cbiAgc2VuZEZlZWRiYWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNpemVOb3RBbGxvd2VkID4gMCkge1xuICAgICAgY29uc3QgbWluRmlsZVNpemUgPSBmb3JtYXRCeXRlcyh0aGlzLmZpbGVSZXN0cmljdGlvbnMubWluRmlsZVNpemUpO1xuICAgICAgY29uc3QgbWF4RmlsZVNpemUgPSBmb3JtYXRCeXRlcyh0aGlzLmZpbGVSZXN0cmljdGlvbnMubWF4RmlsZVNpemUpO1xuICAgICAgY29uc3QgYXJncyA9IFt0aGlzLnNpemVOb3RBbGxvd2VkLCBtaW5GaWxlU2l6ZSB8fCAnMCcsIG1heEZpbGVTaXplXTtcbiAgICAgIHRoaXMuc2V0UGlwZUFyZ3VtZW50cygnaW52YWxpZFNpemUnLCBhcmdzKTtcbiAgICAgIHRoaXMuc2l6ZU5vdEFsbG93ZWQgPSAwO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmV4dGVuc2lvbk5vdEFsbG93ZWQgPiAwKSB7XG4gICAgICBjb25zdCBhbGxvd2VkRXh0ZW5zaW9uc0Zvcm1hdHRlZCA9IHRoaXMuZmlsZVJlc3RyaWN0aW9ucy5hbGxvd2VkRXh0ZW5zaW9ucy5qb2luKCcsICcpLnRvVXBwZXJDYXNlKCk7XG4gICAgICBjb25zdCBhcmdzID0gW3RoaXMuZXh0ZW5zaW9uTm90QWxsb3dlZCwgYWxsb3dlZEV4dGVuc2lvbnNGb3JtYXR0ZWRdO1xuICAgICAgdGhpcy5zZXRQaXBlQXJndW1lbnRzKCdpbnZhbGlkRm9ybWF0JywgYXJncyk7XG4gICAgICB0aGlzLmV4dGVuc2lvbk5vdEFsbG93ZWQgPSAwO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnF1YW50aXR5Tm90QWxsb3dlZCA+IDApIHtcbiAgICAgIGNvbnN0IGFyZ3MgPSBbdGhpcy5xdWFudGl0eU5vdEFsbG93ZWRdO1xuICAgICAgdGhpcy5zZXRQaXBlQXJndW1lbnRzKCdpbnZhbGlkQW1vdW50JywgYXJncyk7XG4gICAgICB0aGlzLnF1YW50aXR5Tm90QWxsb3dlZCA9IDA7XG4gICAgfVxuICB9XG5cbiAgLyoqIE3DqXRvZG8gcmVzcG9uc8OhdmVsIHBvciAqKmVudmlhcioqIG8ocykgYXJxdWl2byhzKSBzZWxlY2lvbmFkbyhzKS4gKi9cbiAgc2VuZEZpbGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmN1cnJlbnRGaWxlcyAmJiB0aGlzLmN1cnJlbnRGaWxlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMudXBsb2FkRmlsZXModGhpcy5jdXJyZW50RmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIHNldERpcmVjdG9yeUF0dHJpYnV0ZShjYW5IYW5kbGVEaXJlY3Rvcnk6IGJvb2xlYW4pIHtcbiAgICBpZiAoY2FuSGFuZGxlRGlyZWN0b3J5KSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmlucHV0RmlsZS5uYXRpdmVFbGVtZW50LCAnd2Via2l0ZGlyZWN0b3J5JywgJ3RydWUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5pbnB1dEZpbGUubmF0aXZlRWxlbWVudCwgJ3dlYmtpdGRpcmVjdG9yeScpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhc28gbyBjb21wb25lbnRlIGVzdGl2ZXIgbm8gbW9kbyBBdXRvVXBsb2FkLCBvIGFycXVpdm8gdGFtYsOpbSBzZXLDoSByZW1vdmlkbyBkYSBsaXN0YS5cbiAgc3RvcFVwbG9hZChmaWxlOiBQb1VwbG9hZEZpbGUpIHtcbiAgICB0aGlzLnVwbG9hZFNlcnZpY2Uuc3RvcFJlcXVlc3RCeUZpbGUoZmlsZSwgKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuYXV0b1VwbG9hZCkge1xuICAgICAgICB0aGlzLnJlbW92ZUZpbGUoZmlsZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnN0b3BVcGxvYWRIYW5kbGVyKGZpbGUpO1xuICAgICAgfVxuICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIHRyYWNrQnlGbihpbmRleCwgZmlsZTogUG9VcGxvYWRGaWxlKSB7XG4gICAgcmV0dXJuIGZpbGUudWlkO1xuICB9XG5cbiAgLy8gRW52aWEgb3MgYXJxdWl2b3MgcGFzc2Fkb3MgcG9yIHBhcsOibWV0cm8sIGV4Y2V0byBvcyBxdWUgasOhIGZvcmFtIGVudmlhZG9zIGFvIHNlcnZpw6dvLlxuICB1cGxvYWRGaWxlcyhmaWxlczogQXJyYXk8UG9VcGxvYWRGaWxlPikge1xuICAgIGNvbnN0IGZpbGVzRmlsdGVyZWQgPSBmaWxlcy5maWx0ZXIoZmlsZSA9PiBmaWxlLnN0YXR1cyAhPT0gUG9VcGxvYWRTdGF0dXMuVXBsb2FkZWQpO1xuICAgIHRoaXMudXBsb2FkU2VydmljZS51cGxvYWQoXG4gICAgICB0aGlzLnVybCxcbiAgICAgIGZpbGVzRmlsdGVyZWQsXG4gICAgICB0aGlzLmhlYWRlcnMsXG4gICAgICB0aGlzLm9uVXBsb2FkLFxuICAgICAgKGZpbGUsIHBlcmNlbnQpOiBhbnkgPT4ge1xuICAgICAgICAvLyBVUExPQURJTkdcbiAgICAgICAgdGhpcy51cGxvYWRpbmdIYW5kbGVyKGZpbGUsIHBlcmNlbnQpO1xuICAgICAgfSxcbiAgICAgIChmaWxlLCBldmVudFJlc3BvbnNlKTogYW55ID0+IHtcbiAgICAgICAgLy8gU1VDQ0VTU1xuICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlcihmaWxlLCBQb1VwbG9hZFN0YXR1cy5VcGxvYWRlZCk7XG4gICAgICAgIHRoaXMub25TdWNjZXNzLmVtaXQoZXZlbnRSZXNwb25zZSk7XG4gICAgICB9LFxuICAgICAgKGZpbGUsIGV2ZW50RXJyb3IpOiBhbnkgPT4ge1xuICAgICAgICAvLyBFcnJvclxuICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlcihmaWxlLCBQb1VwbG9hZFN0YXR1cy5FcnJvcik7XG4gICAgICAgIHRoaXMub25FcnJvci5lbWl0KGV2ZW50RXJyb3IpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBjdXN0b21DbGljayhmaWxlOiBQb1VwbG9hZEZpbGUpIHtcbiAgICBpZiAodGhpcy5jdXN0b21BY3Rpb24pIHtcbiAgICAgIHRoaXMuY3VzdG9tQWN0aW9uQ2xpY2suZW1pdChmaWxlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNsZWFuSW5wdXRWYWx1ZSgpIHtcbiAgICB0aGlzLmNhbGxlZEJ5Q2xlYW5JbnB1dFZhbHVlID0gdHJ1ZTtcbiAgICB0aGlzLmlucHV0RmlsZS5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvLyBmdW7Dp8OjbyBkaXNwYXJhZGEgbmEgcmVzcG9zdGEgZG8gc3VjZXNzbyBvdSBlcnJvclxuICBwcml2YXRlIHJlc3BvbnNlSGFuZGxlcihmaWxlOiBQb1VwbG9hZEZpbGUsIHN0YXR1czogUG9VcGxvYWRTdGF0dXMpIHtcbiAgICBmaWxlLnN0YXR1cyA9IHN0YXR1cztcbiAgICBmaWxlLnBlcmNlbnQgPSAxMDA7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8vIG3DqXRvZG8gcmVzcG9uc8OhdmVsIHBvciBzZXRhciBvcyBhcmd1bWVudG9zIGRvIGkxOG5QaXBlIGRlIGFjb3JkbyBjb20gYSByZXN0cmnDp8Ojby5cbiAgcHJpdmF0ZSBzZXRQaXBlQXJndW1lbnRzKGxpdGVyYWxBdHRyaWJ1dGVzOiBzdHJpbmcsIGxpdGVyYWxBcmd1bWVudHM/KSB7XG4gICAgY29uc3QgcGlwZUFyZ3VtZW50cyA9IHRoaXMuaTE4blBpcGUudHJhbnNmb3JtKHRoaXMubGl0ZXJhbHNbbGl0ZXJhbEF0dHJpYnV0ZXNdLCBsaXRlcmFsQXJndW1lbnRzKTtcbiAgICB0aGlzLm5vdGlmaWNhdGlvbi5pbmZvcm1hdGlvbihwaXBlQXJndW1lbnRzKTtcbiAgfVxuXG4gIC8vIEZ1bsOnw6NvIGRpc3BhcmFkYSBhbyBwYXJhciB1bSBlbnZpbyBkZSBhcnF1aXZvLlxuICBwcml2YXRlIHN0b3BVcGxvYWRIYW5kbGVyKGZpbGU6IFBvVXBsb2FkRmlsZSkge1xuICAgIGZpbGUuc3RhdHVzID0gUG9VcGxvYWRTdGF0dXMuTm9uZTtcbiAgICBmaWxlLnBlcmNlbnQgPSAwO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUZpbGVzKGZpbGVzKSB7XG4gICAgdGhpcy5jdXJyZW50RmlsZXMgPSB0aGlzLnBhcnNlRmlsZXMoZmlsZXMpO1xuXG4gICAgdGhpcy51cGRhdGVNb2RlbChbLi4udGhpcy5jdXJyZW50RmlsZXNdKTtcblxuICAgIGlmICh0aGlzLmF1dG9VcGxvYWQpIHtcbiAgICAgIHRoaXMudXBsb2FkRmlsZXModGhpcy5jdXJyZW50RmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF0dWFsaXphIG8gbmdNb2RlbCBwYXJhIG9zIGFycXVpdm9zIHBhc3NhZG9zIHBvciBwYXLDom1ldHJvLlxuICBwcml2YXRlIHVwZGF0ZU1vZGVsKGZpbGVzOiBBcnJheTxQb1VwbG9hZEZpbGU+KSB7XG4gICAgY29uc3QgbW9kZWxGaWxlczogQXJyYXk8UG9VcGxvYWRGaWxlPiA9IHRoaXMubWFwQ2xlYW5VcGxvYWRGaWxlcyhmaWxlcyk7XG4gICAgdGhpcy5vbk1vZGVsQ2hhbmdlID8gdGhpcy5vbk1vZGVsQ2hhbmdlKG1vZGVsRmlsZXMpIDogdGhpcy5uZ01vZGVsQ2hhbmdlLmVtaXQobW9kZWxGaWxlcyk7XG4gIH1cblxuICAvLyBGdW7Dp8OjbyBkaXNwYXJhZGEgZW5xdWFudG8gbyBhcnF1aXZvIGVzdMOhIHNlbmRvIGVudmlhZG8gYW8gc2VydmnDp28uXG4gIHByaXZhdGUgdXBsb2FkaW5nSGFuZGxlcihmaWxlOiBhbnksIHBlcmNlbnQ6IG51bWJlcikge1xuICAgIGZpbGUuc3RhdHVzID0gUG9VcGxvYWRTdGF0dXMuVXBsb2FkaW5nO1xuICAgIGZpbGUucGVyY2VudCA9IHBlcmNlbnQ7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIC8vIHJldG9ybmEgb3Mgb2JqZXRvcyBkbyBhcnJheSBzZW0gYXMgcHJvcHJpZWRhZGVzOiBwZXJjZW50IGUgZGlzcGxheU5hbWVcbiAgcHJpdmF0ZSBtYXBDbGVhblVwbG9hZEZpbGVzKGZpbGVzOiBBcnJheTxQb1VwbG9hZEZpbGU+KTogQXJyYXk8UG9VcGxvYWRGaWxlPiB7XG4gICAgY29uc3QgbWFwZWRCeVVwbG9hZEZpbGUgPSBwcm9ncmVzc0ZpbGUgPT4ge1xuICAgICAgY29uc3QgeyBwZXJjZW50LCBkaXNwbGF5TmFtZSwgLi4udXBsb2FkRmlsZSB9ID0gcHJvZ3Jlc3NGaWxlO1xuXG4gICAgICByZXR1cm4gdXBsb2FkRmlsZTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGZpbGVzLm1hcChtYXBlZEJ5VXBsb2FkRmlsZSk7XG4gIH1cbn1cbiIsIjxwby1maWVsZC1jb250YWluZXJcbiAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gIFtwLWlkXT1cImlkXCJcbiAgW3AtbGFiZWxdPVwibGFiZWxcIlxuICBbcC1vcHRpb25hbF09XCJvcHRpb25hbFwiXG4gIFtwLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgW3Atc2hvdy1yZXF1aXJlZF09XCJzaG93UmVxdWlyZWRcIlxuPlxuICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwicG8tdXBsb2FkXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgI2lucHV0RmlsZVxuICAgICAgICBjbGFzcz1cInBvLXVwbG9hZC1pbnB1dFwiXG4gICAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgICAgW2FjY2VwdF09XCJhbGxvd2VkRXh0ZW5zaW9uc1wiXG4gICAgICAgIFthdHRyLm5hbWVdPVwibmFtZVwiXG4gICAgICAgIFtpZF09XCJpZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcbiAgICAgICAgW211bHRpcGxlXT1cImlzTXVsdGlwbGVcIlxuICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgICAoY2hhbmdlKT1cIm9uRmlsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIC8+XG5cbiAgICAgIDxwby11cGxvYWQtZHJhZy1kcm9wXG4gICAgICAgICpuZ0lmPVwiZGlzcGxheURyYWdEcm9wXCJcbiAgICAgICAgW3AtZGlyZWN0b3J5LWNvbXBhdGlibGVdPVwiY2FuSGFuZGxlRGlyZWN0b3J5XCJcbiAgICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgICAgIFtwLWRyYWctZHJvcC1oZWlnaHRdPVwiZHJhZ0Ryb3BIZWlnaHRcIlxuICAgICAgICBbcC1saXRlcmFsc109XCJsaXRlcmFsc1wiXG4gICAgICAgIChwLWZpbGUtY2hhbmdlKT1cIm9uRmlsZUNoYW5nZURyYWdEcm9wKCRldmVudClcIlxuICAgICAgICAocC1zZWxlY3QtZmlsZXMpPVwic2VsZWN0RmlsZXMoKVwiXG4gICAgICA+XG4gICAgICA8L3BvLXVwbG9hZC1kcmFnLWRyb3A+XG5cbiAgICAgIDxwby1idXR0b25cbiAgICAgICAgKm5nSWY9XCIhaGlkZVNlbGVjdEJ1dHRvbiAmJiAhZGlzcGxheURyYWdEcm9wXCJcbiAgICAgICAgI3VwbG9hZEJ1dHRvblxuICAgICAgICBjbGFzcz1cInBvLXVwbG9hZC1idXR0b25cIlxuICAgICAgICBmb3I9XCJmaWxlXCJcbiAgICAgICAgW3AtZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiXG4gICAgICAgIFtwLWxhYmVsXT1cInNlbGVjdEZpbGVCdXR0b25MYWJlbFwiXG4gICAgICAgIChwLWNsaWNrKT1cInNlbGVjdEZpbGVzKClcIlxuICAgICAgPlxuICAgICAgPC9wby1idXR0b24+XG5cbiAgICAgIDxwby11cGxvYWQtZmlsZS1yZXN0cmljdGlvbnNcbiAgICAgICAgKm5nSWY9XCJmaWxlUmVzdHJpY3Rpb25zICYmICFoaWRlUmVzdHJpY3Rpb25zSW5mb1wiXG4gICAgICAgIGNsYXNzPVwicG8tdXBsb2FkLWZpbGUtcmVzdHJpY3Rpb25zXCJcbiAgICAgICAgW25nQ2xhc3NdPVwieyAncG8tdXBsb2FkLWZpbGUtcmVzdHJpY3Rpb25zLWRyYWctZHJvcCc6IGRpc3BsYXlEcmFnRHJvcCB9XCJcbiAgICAgICAgW3AtYWxsb3dlZC1leHRlbnNpb25zXT1cImZpbGVSZXN0cmljdGlvbnM/LmFsbG93ZWRFeHRlbnNpb25zXCJcbiAgICAgICAgW3AtbWF4LWZpbGVzXT1cIm1heEZpbGVzXCJcbiAgICAgICAgW3AtbWF4LWZpbGUtc2l6ZV09XCJmaWxlUmVzdHJpY3Rpb25zPy5tYXhGaWxlU2l6ZVwiXG4gICAgICAgIFtwLW1pbi1maWxlLXNpemVdPVwiZmlsZVJlc3RyaWN0aW9ucz8ubWluRmlsZVNpemVcIlxuICAgICAgPlxuICAgICAgPC9wby11cGxvYWQtZmlsZS1yZXN0cmljdGlvbnM+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJjdXJyZW50RmlsZXMgJiYgY3VycmVudEZpbGVzLmxlbmd0aFwiIGNsYXNzPVwicG8tdXBsb2FkLXByb2dyZXNzLWNvbnRhaW5lclwiPlxuICAgICAgICA8cG8tY29udGFpbmVyXG4gICAgICAgICAgW3AtaGVpZ2h0XT1cImhhc01vcmVUaGFuRm91ckl0ZW1zID8gMjgwIDogJ2F1dG8nXCJcbiAgICAgICAgICBbcC1uby1ib3JkZXJdPVwiIWhhc01vcmVUaGFuRm91ckl0ZW1zXCJcbiAgICAgICAgICBbcC1uby1wYWRkaW5nXT1cIiFoYXNNb3JlVGhhbkZvdXJJdGVtc1wiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ3BvLXVwbG9hZC1wcm9ncmVzcy1jb250YWluZXItYXJlYSBwby1wdC0yIHBvLXBsLTEnOiBoYXNNb3JlVGhhbkZvdXJJdGVtcyB9XCI+XG4gICAgICAgICAgICA8cG8tcHJvZ3Jlc3NcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGZpbGUgb2YgY3VycmVudEZpbGVzOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxuICAgICAgICAgICAgICBbcC1kaXNhYmxlZC1jYW5jZWxdPVwiZGlzYWJsZWRSZW1vdmVGaWxlXCJcbiAgICAgICAgICAgICAgW3AtaW5mb109XCJpbmZvQnlVcGxvYWRTdGF0dXNbZmlsZS5zdGF0dXNdPy50ZXh0KGZpbGUucGVyY2VudClcIlxuICAgICAgICAgICAgICBbcC1pbmZvLWljb25dPVwiaW5mb0J5VXBsb2FkU3RhdHVzW2ZpbGUuc3RhdHVzXT8uaWNvblwiXG4gICAgICAgICAgICAgIFtwLXN0YXR1c109XCJwcm9ncmVzc1N0YXR1c0J5RmlsZVN0YXR1c1tmaWxlLnN0YXR1c11cIlxuICAgICAgICAgICAgICBbcC10ZXh0XT1cImZpbGUuZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICBbcC12YWx1ZV09XCJmaWxlLnBlcmNlbnRcIlxuICAgICAgICAgICAgICBbcC1jdXN0b20tYWN0aW9uXT1cImN1c3RvbUFjdGlvblwiXG4gICAgICAgICAgICAgIChwLWN1c3RvbS1hY3Rpb24tY2xpY2spPVwiY3VzdG9tQ2xpY2soZmlsZSlcIlxuICAgICAgICAgICAgICAocC1jYW5jZWwpPVwiY2FuY2VsKGZpbGUpXCJcbiAgICAgICAgICAgICAgKHAtcmV0cnkpPVwidXBsb2FkRmlsZXMoW2ZpbGVdKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8L3BvLXByb2dyZXNzPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3BvLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8cG8tYnV0dG9uXG4gICAgICAgICpuZ0lmPVwiZGlzcGxheVNlbmRCdXR0b25cIlxuICAgICAgICBjbGFzcz1cInBvLXVwbG9hZC1zZW5kLWJ1dHRvblwiXG4gICAgICAgIFtjbGFzcy5wby1tdC0zXT1cImhhc01vcmVUaGFuRm91ckl0ZW1zXCJcbiAgICAgICAgcC1raW5kPVwicHJpbWFyeVwiXG4gICAgICAgIFtwLWRpc2FibGVkXT1cImhhc0FueUZpbGVVcGxvYWRpbmcoY3VycmVudEZpbGVzKVwiXG4gICAgICAgIFtwLWxhYmVsXT1cImxpdGVyYWxzLnN0YXJ0U2VuZGluZ1wiXG4gICAgICAgIChwLWNsaWNrKT1cInVwbG9hZEZpbGVzKGN1cnJlbnRGaWxlcylcIlxuICAgICAgPjwvcG8tYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20gW3AtaGVscF09XCJoZWxwXCIgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj48L3BvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20+XG48L3BvLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==
@@ -100,7 +100,7 @@ export class PoUrlComponent extends PoInputGeneric {
100
100
  useExisting: forwardRef(() => PoUrlComponent),
101
101
  multi: true
102
102
  }
103
- ]), i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 23, consts: [["inp", ""], [3, "p-disabled", "p-id", "p-label", "p-optional", "p-required", "p-show-required"], [1, "po-field-container-content"], ["class", "po-field-icon-container-left", 4, "ngIf"], [1, "po-input", 3, "blur", "click", "focus", "input", "autocomplete", "disabled", "id", "placeholder", "readonly", "required", "type"], [1, "po-field-icon-container-right"], [3, "class", "p-element-ref", "p-change-event", 4, "ngIf"], [3, "p-help", "p-disabled", "p-error-pattern"], [1, "po-field-icon-container-left"], [3, "p-icon"], [3, "p-change-event", "p-element-ref"]], template: function PoUrlComponent_Template(rf, ctx) { if (rf & 1) {
103
+ ]), i0.ɵɵInheritDefinitionFeature], decls: 8, vars: 25, consts: [["inp", ""], [3, "p-disabled", "p-id", "p-label", "p-optional", "p-required", "p-show-required"], [1, "po-field-container-content"], ["class", "po-field-icon-container-left", 4, "ngIf"], [1, "po-input", 3, "blur", "click", "focus", "input", "autocomplete", "disabled", "id", "placeholder", "readonly", "required", "type"], [1, "po-field-icon-container-right"], [3, "class", "p-element-ref", "p-change-event", 4, "ngIf"], [3, "p-help", "p-disabled", "p-error-pattern", "p-error-limit", "p-append-in-body"], [1, "po-field-icon-container-left"], [3, "p-icon"], [3, "p-change-event", "p-element-ref"]], template: function PoUrlComponent_Template(rf, ctx) { if (rf & 1) {
104
104
  const _r1 = i0.ɵɵgetCurrentView();
105
105
  i0.ɵɵelementStart(0, "po-field-container", 1)(1, "div", 2);
106
106
  i0.ɵɵtemplate(2, PoUrlComponent_div_2_Template, 2, 6, "div", 3);
@@ -123,7 +123,7 @@ export class PoUrlComponent extends PoInputGeneric {
123
123
  i0.ɵɵadvance(3);
124
124
  i0.ɵɵproperty("ngIf", ctx.clean && !ctx.disabled && !ctx.readonly);
125
125
  i0.ɵɵadvance();
126
- i0.ɵɵproperty("p-help", ctx.help)("p-disabled", ctx.disabled)("p-error-pattern", ctx.getErrorPattern());
126
+ i0.ɵɵproperty("p-help", ctx.help)("p-disabled", ctx.disabled)("p-error-pattern", ctx.getErrorPattern())("p-error-limit", ctx.errorLimit)("p-append-in-body", ctx.errorAppendBox);
127
127
  } }, dependencies: [i1.NgIf, i2.PoCleanComponent, i3.PoFieldContainerBottomComponent, i4.PoFieldContainerComponent, i5.PoIconComponent], encapsulation: 2, changeDetection: 0 });
128
128
  }
129
129
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoUrlComponent, [{
@@ -139,7 +139,7 @@ export class PoUrlComponent extends PoInputGeneric {
139
139
  useExisting: forwardRef(() => PoUrlComponent),
140
140
  multi: true
141
141
  }
142
- ], template: "<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n>\n <div class=\"po-field-container-content\">\n <div *ngIf=\"icon\" class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-right]=\"clean\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n *ngIf=\"clean && !disabled && !readonly\"\n [p-element-ref]=\"inputEl\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n </div>\n </div>\n\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n ></po-field-container-bottom>\n</po-field-container>\n" }]
142
+ ], template: "<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n>\n <div class=\"po-field-container-content\">\n <div *ngIf=\"icon\" class=\"po-field-icon-container-left\">\n <po-icon\n class=\"po-field-icon {{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n [class.po-field-icon-disabled]=\"disabled\"\n [p-icon]=\"icon\"\n ></po-icon>\n </div>\n\n <input\n #inp\n class=\"po-input\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [class.po-input-icon-left]=\"icon\"\n [class.po-input-icon-right]=\"clean\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [placeholder]=\"disabled ? '' : placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n [type]=\"type\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n (focus)=\"eventOnFocus($event)\"\n (input)=\"eventOnInput($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n <po-clean\n class=\"{{ disabled ? 'po-icon-input-disabled' : 'po-icon-input' }}\"\n *ngIf=\"clean && !disabled && !readonly\"\n [p-element-ref]=\"inputEl\"\n (p-change-event)=\"clear($event)\"\n >\n </po-clean>\n </div>\n </div>\n\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n [p-error-limit]=\"errorLimit\"\n [p-append-in-body]=\"errorAppendBox\"\n ></po-field-container-bottom>\n</po-field-container>\n" }]
143
143
  }], () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], null); })();
144
144
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoUrlComponent, { className: "PoUrlComponent", filePath: "lib/components/po-field/po-url/po-url.component.ts", lineNumber: 57 }); })();
145
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdXJsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby11cmwvcG8tdXJsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1pbnB1dC9wby1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxVQUFVLEVBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7OztJQ0hsRSw4QkFBdUQ7SUFDckQsNkJBSVc7SUFDYixpQkFBTTs7O0lBSkYsY0FBaUY7SUFBakYsNkdBQWlGO0lBQ2pGLHlEQUF5QztJQUN6QyxvQ0FBZTs7OztJQXdCakIsb0NBS0M7SUFEQyx5TUFBa0Isb0JBQWEsS0FBQztJQUVsQyxpQkFBVzs7O0lBTFQsMkVBQW1FO0lBRW5FLDhDQUF5Qjs7QUQxQmpDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFrQkgsTUFBTSxPQUFPLGNBQWUsU0FBUSxjQUFjO0lBQ2hELEVBQUUsR0FBRyxVQUFVLElBQUksRUFBRSxHQUFHLENBQUM7SUFDekIsSUFBSSxHQUFHLFlBQVksQ0FBQztJQUVwQixJQUFJLEdBQUcsS0FBSyxDQUFDO0lBRWIsT0FBTyxHQUNMLHlCQUF5QixHQUFHLFdBQVc7UUFDdkMsa0RBQWtELEdBQUcsY0FBYztRQUNuRSw2QkFBNkIsR0FBRyxxQkFBcUI7UUFD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b3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMVUVfQUNDRVNTT1IsIE5HX1ZBTElEQVRPUlMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IFBvSW5wdXRHZW5lcmljIH0gZnJvbSAnLi4vcG8taW5wdXQtZ2VuZXJpYy9wby1pbnB1dC1nZW5lcmljJztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9JbnB1dEJhc2VDb21wb25lbnRcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBPIGBwby11cmxgIMOpIHVtIGlucHV0IGVzcGVjw61maWNvIHBhcmEgcmVjZWJlciBVUkwsIGNvbSBvIHBhdHRlcm4gasOhIGNvbmZpZ3VyYWRvLlxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXVybC1iYXNpY1wiIHRpdGxlPVwiUE8gVXJsIEJhc2ljXCI+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdXJsLWJhc2ljL3NhbXBsZS1wby11cmwtYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXVybC1iYXNpYy9zYW1wbGUtcG8tdXJsLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXVybC1sYWJzXCIgdGl0bGU9XCJQTyBVcmwgTGFic1wiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXVybC1sYWJzL3NhbXBsZS1wby11cmwtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tdXJsLWxhYnMvc2FtcGxlLXBvLXVybC1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLXVybC1zaG9ydGVuZXJcIiB0aXRsZT1cIlBPIFVybCAtIFNob3J0ZW5lclwiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXVybC1zaG9ydGVuZXIvc2FtcGxlLXBvLXVybC1zaG9ydGVuZXIuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXVybC1zaG9ydGVuZXIvc2FtcGxlLXBvLXVybC1zaG9ydGVuZXIuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLXVybCcsXG4gIHRlbXBsYXRlVXJsOiAnLi4vcG8taW5wdXQvcG8taW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb1VybENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvVXJsQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFBvVXJsQ29tcG9uZW50IGV4dGVuZHMgUG9JbnB1dEdlbmVyaWMgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBpZCA9IGBwby11cmxbJHt1dWlkKCl9XWA7XG4gIGljb24gPSAnSUNPTl9XT1JMRCc7XG5cbiAgdHlwZSA9ICd1cmwnO1xuXG4gIHBhdHRlcm4gPVxuICAgICdeKChodHRwc3xodHRwKTpcXFxcL1xcXFwvKT8nICsgLy8gcHJvdG9jb2xcbiAgICAnKCgoW2EtelxcXFxkXShbYS16XFxcXGQtXSpbYS16XFxcXGRdKSopXFxcXC4pK1thLXpdezIsfXwnICsgLy8gZG9tYWluIG5hbWVcbiAgICAnKChcXFxcZHsxLDN9XFxcXC4pezN9XFxcXGR7MSwzfSkpJyArIC8vIE9SIGlwICh2NCkgYWRkcmVzc1xuICAgICcoXFxcXDpcXFxcZCspPyhcXFxcL1stQS1aYS16XFxcXGQlXy5+K10qKSonICsgLy8gcG9ydCBhbmQgcGF0aFxuICAgICcoXFxcXD9bOyZBLVphLXpcXFxcZCVfLn4rPS1dKik/JyArIC8vIHF1ZXJ5IHN0cmluZ1xuICAgICcoXFxcXCNbLUEtWmEtelxcXFxkX10qKT8kJztcblxuICBtYXNrID0gJyc7XG5cbiAgcHJpdmF0ZSBsaXN0ZW5lciA9IHRoaXMudmFsaWRhdGVDbGFzc2VzRm9yUGF0dGVybi5iaW5kKHRoaXMpO1xuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGNvbnN0cnVjdG9yKGVsOiBFbGVtZW50UmVmLCBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihlbCwgY2QpO1xuICAgIHRoaXMubWF4bGVuZ3RoID0gMjU0O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIC8vIFNlIG7Do28gdGVtIG5nTW9kZWwgb3UgcmVhY3RpdmUgZm9ybSBhZGljaW9uYSB2YWxpZGHDp8OjbyBjb20gY2xhc3NlcyBjc3NcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5vbkNoYW5nZVByb3BhZ2F0ZSkge1xuICAgICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMubGlzdGVuZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKCF0aGlzLm9uQ2hhbmdlUHJvcGFnYXRlKSB7XG4gICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMubGlzdGVuZXIpO1xuICAgIH1cbiAgfVxuXG4gIGV4dHJhVmFsaWRhdGlvbihjOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIiwiPHBvLWZpZWxkLWNvbnRhaW5lclxuICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtwLWlkXT1cImlkXCJcbiAgW3AtbGFiZWxdPVwibGFiZWxcIlxuICBbcC1vcHRpb25hbF09XCJvcHRpb25hbFwiXG4gIFtwLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgW3Atc2hvdy1yZXF1aXJlZF09XCJzaG93UmVxdWlyZWRcIlxuPlxuICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtY29udGFpbmVyLWNvbnRlbnRcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiaWNvblwiIGNsYXNzPVwicG8tZmllbGQtaWNvbi1jb250YWluZXItbGVmdFwiPlxuICAgICAgPHBvLWljb25cbiAgICAgICAgY2xhc3M9XCJwby1maWVsZC1pY29uIHt7IGRpc2FibGVkID8gJ3BvLWljb24taW5wdXQtZGlzYWJsZWQnIDogJ3BvLWljb24taW5wdXQnIH19XCJcbiAgICAgICAgW2NsYXNzLnBvLWZpZWxkLWljb24tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbcC1pY29uXT1cImljb25cIlxuICAgICAgPjwvcG8taWNvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxpbnB1dFxuICAgICAgI2lucFxuICAgICAgY2xhc3M9XCJwby1pbnB1dFwiXG4gICAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgW2NsYXNzLnBvLWlucHV0LWljb24tbGVmdF09XCJpY29uXCJcbiAgICAgIFtjbGFzcy5wby1pbnB1dC1pY29uLXJpZ2h0XT1cImNsZWFuXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbaWRdPVwiaWRcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cImRpc2FibGVkID8gJycgOiBwbGFjZWhvbGRlclwiXG4gICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgKGJsdXIpPVwiZXZlbnRPbkJsdXIoJGV2ZW50KVwiXG4gICAgICAoY2xpY2spPVwiZXZlbnRPbkNsaWNrKCRldmVudClcIlxuICAgICAgKGZvY3VzKT1cImV2ZW50T25Gb2N1cygkZXZlbnQpXCJcbiAgICAgIChpbnB1dCk9XCJldmVudE9uSW5wdXQoJGV2ZW50KVwiXG4gICAgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJwby1maWVsZC1pY29uLWNvbnRhaW5lci1yaWdodFwiPlxuICAgICAgPHBvLWNsZWFuXG4gICAgICAgIGNsYXNzPVwie3sgZGlzYWJsZWQgPyAncG8taWNvbi1pbnB1dC1kaXNhYmxlZCcgOiAncG8taWNvbi1pbnB1dCcgfX1cIlxuICAgICAgICAqbmdJZj1cImNsZWFuICYmICFkaXNhYmxlZCAmJiAhcmVhZG9ubHlcIlxuICAgICAgICBbcC1lbGVtZW50LXJlZl09XCJpbnB1dEVsXCJcbiAgICAgICAgKHAtY2hhbmdlLWV2ZW50KT1cImNsZWFyKCRldmVudClcIlxuICAgICAgPlxuICAgICAgPC9wby1jbGVhbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPHBvLWZpZWxkLWNvbnRhaW5lci1ib3R0b21cbiAgICBbcC1oZWxwXT1cImhlbHBcIlxuICAgIFtwLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbcC1lcnJvci1wYXR0ZXJuXT1cImdldEVycm9yUGF0dGVybigpXCJcbiAgPjwvcG8tZmllbGQtY29udGFpbmVyLWJvdHRvbT5cbjwvcG8tZmllbGQtY29udGFpbmVyPlxuIl19
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdXJsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby11cmwvcG8tdXJsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1pbnB1dC9wby1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxVQUFVLEVBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFtQixpQkFBaUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7OztJQ0hsRSw4QkFBdUQ7SUFDckQsNkJBSVc7SUFDYixpQkFBTTs7O0lBSkYsY0FBaUY7SUFBakYsNkdBQWlGO0lBQ2pGLHlEQUF5QztJQUN6QyxvQ0FBZTs7OztJQXdCakIsb0NBS0M7SUFEQyx5TUFBa0Isb0JBQWEsS0FBQztJQUVsQyxpQkFBVzs7O0lBTFQsMkVBQW1FO0lBRW5FLDhDQUF5Qjs7QUQxQmpDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7QUFrQkgsTUFBTSxPQUFPLGNBQWUsU0FBUSxjQUFjO0lBQ2hELEVBQUUsR0FBRyxVQUFVLElBQUksRUFBRSxHQUFHLENBQUM7SUFDekIsSUFBSSxHQUFHLFlBQVksQ0FBQztJQUVwQixJQUFJLEdBQUcsS0FBSyxDQUFDO0lBRWIsT0FBTyxHQUNMLHlCQUF5QixHQUFHLFdBQVc7UUFDdkMsa0RBQWtELEdBQUcsY0FBYztRQUNuRSw2QkFBNkIsR0FBRyxxQkFBcUI7UUFDckQsb0NBQW9DLEdBQUcsZ0JBQWdCO1FBQ3ZELDZCQUE2QixHQUFHLGVBQWU7UUFDL0MsdUJBQXVCLENBQUM7SUFFMUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVGLFFBQVEsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTdELDBCQUEwQjtJQUMxQixZQUFZLEVBQWMsRUFBRSxFQUFxQjtRQUMvQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7SUFDdkIsQ0FBQztJQUVELGVBQWU7UUFDYix5RUFBeUU7UUFDekUsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0RSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxDQUFrQjtRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7d0VBMUNVLGNBQWM7NkRBQWQsY0FBYyw0REFiZDtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztvQkFDN0MsS0FBSyxFQUFFLElBQUk7aUJBQ1o7Z0JBQ0Q7b0JBQ0UsT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUM3QyxLQUFLLEVBQUUsSUFBSTtpQkFDWjthQUNGOztZQzlDRCxBQVJGLDZDQU9DLGFBQ3lDO1lBQ3RDLCtEQUF1RDtZQVF2RCxtQ0FpQkU7WUFEQSxBQURBLEFBREEsQUFEQSxvSUFBUSx1QkFBbUIsS0FBQyx5SEFDbkIsd0JBQW9CLEtBQUMseUhBQ3JCLHdCQUFvQixLQUFDLHlIQUNyQix3QkFBb0IsS0FBQztZQWhCaEMsaUJBaUJFO1lBRUYsOEJBQTJDO1lBQ3pDLHlFQUtDO1lBR0wsQUFERSxpQkFBTSxFQUNGO1lBRU4sK0NBTTZCO1lBQy9CLGlCQUFxQjs7WUFoRG5CLEFBREEsQUFEQSxBQURBLEFBREEsQUFEQSx5Q0FBdUIsZ0JBQ1osc0JBQ00sNEJBQ00sNEJBQ0EscUNBQ1M7WUFHeEIsZUFBVTtZQUFWLCtCQUFVO1lBYWQsY0FBaUM7WUFDakMsQUFEQSw4Q0FBaUMsa0NBQ0U7WUFNbkMsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLEFBSEEsK0NBQTZCLDBCQUdSLGNBQ1osb0RBQ2tDLDBCQUN0QiwwQkFDQSxrQkFDUjs7WUFVVixlQUFxQztZQUFyQyxrRUFBcUM7WUFTMUMsY0FBZTtZQUlmLEFBREEsQUFEQSxBQURBLEFBREEsaUNBQWUsNEJBQ1EsMENBQ2MsaUNBQ1Qsd0NBQ087OztpRkRJMUIsY0FBYztjQWpCMUIsU0FBUzsyQkFDRSxRQUFRLG1CQUVELHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7b0JBQ1Q7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDO3dCQUM3QyxLQUFLLEVBQUUsSUFBSTtxQkFDWjtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDO3dCQUM3QyxLQUFLLEVBQUUsSUFBSTtxQkFDWjtpQkFDRjs7a0ZBRVUsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBPbkRlc3Ryb3lcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOR19WQUxJREFUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdXVpZCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb0lucHV0R2VuZXJpYyB9IGZyb20gJy4uL3BvLWlucHV0LWdlbmVyaWMvcG8taW5wdXQtZ2VuZXJpYyc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvSW5wdXRCYXNlQ29tcG9uZW50XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogTyBgcG8tdXJsYCDDqSB1bSBpbnB1dCBlc3BlY8OtZmljbyBwYXJhIHJlY2ViZXIgVVJMLCBjb20gbyBwYXR0ZXJuIGrDoSBjb25maWd1cmFkby5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby11cmwtYmFzaWNcIiB0aXRsZT1cIlBPIFVybCBCYXNpY1wiPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXVybC1iYXNpYy9zYW1wbGUtcG8tdXJsLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby11cmwtYmFzaWMvc2FtcGxlLXBvLXVybC1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby11cmwtbGFic1wiIHRpdGxlPVwiUE8gVXJsIExhYnNcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby11cmwtbGFicy9zYW1wbGUtcG8tdXJsLWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLXVybC1sYWJzL3NhbXBsZS1wby11cmwtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby11cmwtc2hvcnRlbmVyXCIgdGl0bGU9XCJQTyBVcmwgLSBTaG9ydGVuZXJcIj5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby11cmwtc2hvcnRlbmVyL3NhbXBsZS1wby11cmwtc2hvcnRlbmVyLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby11cmwtc2hvcnRlbmVyL3NhbXBsZS1wby11cmwtc2hvcnRlbmVyLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby11cmwnLFxuICB0ZW1wbGF0ZVVybDogJy4uL3BvLWlucHV0L3BvLWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9VcmxDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb1VybENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBQb1VybENvbXBvbmVudCBleHRlbmRzIFBvSW5wdXRHZW5lcmljIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgaWQgPSBgcG8tdXJsWyR7dXVpZCgpfV1gO1xuICBpY29uID0gJ0lDT05fV09STEQnO1xuXG4gIHR5cGUgPSAndXJsJztcblxuICBwYXR0ZXJuID1cbiAgICAnXigoaHR0cHN8aHR0cCk6XFxcXC9cXFxcLyk/JyArIC8vIHByb3RvY29sXG4gICAgJygoKFthLXpcXFxcZF0oW2EtelxcXFxkLV0qW2EtelxcXFxkXSkqKVxcXFwuKStbYS16XXsyLH18JyArIC8vIGRvbWFpbiBuYW1lXG4gICAgJygoXFxcXGR7MSwzfVxcXFwuKXszfVxcXFxkezEsM30pKScgKyAvLyBPUiBpcCAodjQpIGFkZHJlc3NcbiAgICAnKFxcXFw6XFxcXGQrKT8oXFxcXC9bLUEtWmEtelxcXFxkJV8ufitdKikqJyArIC8vIHBvcnQgYW5kIHBhdGhcbiAgICAnKFxcXFw/WzsmQS1aYS16XFxcXGQlXy5+Kz0tXSopPycgKyAvLyBxdWVyeSBzdHJpbmdcbiAgICAnKFxcXFwjWy1BLVphLXpcXFxcZF9dKik/JCc7XG5cbiAgbWFzayA9ICcnO1xuXG4gIHByaXZhdGUgbGlzdGVuZXIgPSB0aGlzLnZhbGlkYXRlQ2xhc3Nlc0ZvclBhdHRlcm4uYmluZCh0aGlzKTtcblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBjb25zdHJ1Y3RvcihlbDogRWxlbWVudFJlZiwgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgc3VwZXIoZWwsIGNkKTtcbiAgICB0aGlzLm1heGxlbmd0aCA9IDI1NDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBTZSBuw6NvIHRlbSBuZ01vZGVsIG91IHJlYWN0aXZlIGZvcm0gYWRpY2lvbmEgdmFsaWRhw6fDo28gY29tIGNsYXNzZXMgY3NzXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMub25DaGFuZ2VQcm9wYWdhdGUpIHtcbiAgICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCB0aGlzLmxpc3RlbmVyKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICghdGhpcy5vbkNoYW5nZVByb3BhZ2F0ZSkge1xuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigna2V5dXAnLCB0aGlzLmxpc3RlbmVyKTtcbiAgICB9XG4gIH1cblxuICBleHRyYVZhbGlkYXRpb24oYzogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiIsIjxwby1maWVsZC1jb250YWluZXJcbiAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbcC1pZF09XCJpZFwiXG4gIFtwLWxhYmVsXT1cImxhYmVsXCJcbiAgW3Atb3B0aW9uYWxdPVwib3B0aW9uYWxcIlxuICBbcC1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gIFtwLXNob3ctcmVxdWlyZWRdPVwic2hvd1JlcXVpcmVkXCJcbj5cbiAgPGRpdiBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1jb250ZW50XCI+XG4gICAgPGRpdiAqbmdJZj1cImljb25cIiBjbGFzcz1cInBvLWZpZWxkLWljb24tY29udGFpbmVyLWxlZnRcIj5cbiAgICAgIDxwby1pY29uXG4gICAgICAgIGNsYXNzPVwicG8tZmllbGQtaWNvbiB7eyBkaXNhYmxlZCA/ICdwby1pY29uLWlucHV0LWRpc2FibGVkJyA6ICdwby1pY29uLWlucHV0JyB9fVwiXG4gICAgICAgIFtjbGFzcy5wby1maWVsZC1pY29uLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgW3AtaWNvbl09XCJpY29uXCJcbiAgICAgID48L3BvLWljb24+XG4gICAgPC9kaXY+XG5cbiAgICA8aW5wdXRcbiAgICAgICNpbnBcbiAgICAgIGNsYXNzPVwicG8taW5wdXRcIlxuICAgICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICAgIFthdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlXCJcbiAgICAgIFtjbGFzcy5wby1pbnB1dC1pY29uLWxlZnRdPVwiaWNvblwiXG4gICAgICBbY2xhc3MucG8taW5wdXQtaWNvbi1yaWdodF09XCJjbGVhblwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW2lkXT1cImlkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJkaXNhYmxlZCA/ICcnIDogcGxhY2Vob2xkZXJcIlxuICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgIChibHVyKT1cImV2ZW50T25CbHVyKCRldmVudClcIlxuICAgICAgKGNsaWNrKT1cImV2ZW50T25DbGljaygkZXZlbnQpXCJcbiAgICAgIChmb2N1cyk9XCJldmVudE9uRm9jdXMoJGV2ZW50KVwiXG4gICAgICAoaW5wdXQpPVwiZXZlbnRPbklucHV0KCRldmVudClcIlxuICAgIC8+XG5cbiAgICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtaWNvbi1jb250YWluZXItcmlnaHRcIj5cbiAgICAgIDxwby1jbGVhblxuICAgICAgICBjbGFzcz1cInt7IGRpc2FibGVkID8gJ3BvLWljb24taW5wdXQtZGlzYWJsZWQnIDogJ3BvLWljb24taW5wdXQnIH19XCJcbiAgICAgICAgKm5nSWY9XCJjbGVhbiAmJiAhZGlzYWJsZWQgJiYgIXJlYWRvbmx5XCJcbiAgICAgICAgW3AtZWxlbWVudC1yZWZdPVwiaW5wdXRFbFwiXG4gICAgICAgIChwLWNoYW5nZS1ldmVudCk9XCJjbGVhcigkZXZlbnQpXCJcbiAgICAgID5cbiAgICAgIDwvcG8tY2xlYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxwby1maWVsZC1jb250YWluZXItYm90dG9tXG4gICAgW3AtaGVscF09XCJoZWxwXCJcbiAgICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3AtZXJyb3ItcGF0dGVybl09XCJnZXRFcnJvclBhdHRlcm4oKVwiXG4gICAgW3AtZXJyb3ItbGltaXRdPVwiZXJyb3JMaW1pdFwiXG4gICAgW3AtYXBwZW5kLWluLWJvZHldPVwiZXJyb3JBcHBlbmRCb3hcIlxuICA+PC9wby1maWVsZC1jb250YWluZXItYm90dG9tPlxuPC9wby1maWVsZC1jb250YWluZXI+XG4iXX0=
@@ -1,5 +1,6 @@
1
1
  export * from './enums/po-progress-status.enum';
2
2
  export * from './enums/po-progress-size.enum';
3
+ export * from './interfaces/';
3
4
  export * from './po-progress.component';
4
5
  export * from './po-progress.module';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tcHJvZ3Jlc3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW51bXMvcG8tcHJvZ3Jlc3Mtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9lbnVtcy9wby1wcm9ncmVzcy1zaXplLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL3BvLXByb2dyZXNzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3BvLXByb2dyZXNzLm1vZHVsZSc7XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tcHJvZ3Jlc3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBRTlDLGNBQWMsZUFBZSxDQUFDO0FBRTlCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZW51bXMvcG8tcHJvZ3Jlc3Mtc3RhdHVzLmVudW0nO1xuZXhwb3J0ICogZnJvbSAnLi9lbnVtcy9wby1wcm9ncmVzcy1zaXplLmVudW0nO1xuXG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMvJztcblxuZXhwb3J0ICogZnJvbSAnLi9wby1wcm9ncmVzcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wby1wcm9ncmVzcy5tb2R1bGUnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './po-progress-actions.interface';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tcHJvZ3Jlc3MvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wby1wcm9ncmVzcy1hY3Rpb25zLmludGVyZmFjZSc7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcHJvZ3Jlc3MtYWN0aW9ucy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tcHJvZ3Jlc3MvaW50ZXJmYWNlcy9wby1wcm9ncmVzcy1hY3Rpb25zLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAZGVzY3JpcHRpb25cbiAqIEludGVyZmFjZSBwYXJhIGFzIGHDp8O1ZXMgZG9zIGNvbXBvbmVudGVzIHBvLXByb2dyZXNzIGUgcG8tdXBsb2FkLlxuICpcbiAqIEB1c2VkQnkgUG9Qcm9ncmVzc0NvbXBvbmVudCwgUG9VcGxvYWRDb21wb25lbnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb1Byb2dyZXNzQWN0aW9uIHtcbiAgLyoqIFLDs3R1bG8gZGEgYcOnw6NvLiAqL1xuICBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluZSB1bSDDrWNvbmUgcXVlIHNlcsOhIGV4aWJpZG8gYW8gbGFkbyBlc3F1ZXJkbyBkbyByw7N0dWxvLlxuICAgKlxuICAgKiDDiSBwb3Nzw612ZWwgdXNhciBxdWFscXVlciB1bSBkb3Mgw61jb25lcyBkYSBbQmlibGlvdGVjYSBkZSDDrWNvbmVzXShodHRwczovL3BvLXVpLmlvL2ljb25zKS4gY29uZm9ybWUgZXhlbXBsbyBhYmFpeG86XG4gICAqIGBgYFxuICAgKiA8cG8tY29tcG9uZW50XG4gICAqICBbcC1wcm9wZXJ0eV09XCJbeyBsYWJlbDogJ1BIT1NQSE9SIElDT04nLCBpY29uOiAncGggcGgtbmV3c3BhcGVyJyB9XVwiPlxuICAgKiA8L3BvLWNvbXBvbmVudD5cbiAgICogYGBgXG4gICAqXG4gICAqIFRhbWLDqW0gw6kgcG9zc8OtdmVsIHV0aWxpemFyIG91dHJhcyBmb250ZXMgZGUgw61jb25lcywgcG9yIGV4ZW1wbG8gYSBiaWJsaW90ZWNhIEZvbnQgQXdlc29tZSwgZGEgc2VndWludGUgZm9ybWE6XG4gICAqIGBgYFxuICAgKiA8cG8tY29tcG9uZW50XG4gICAqICBbcC1wcm9wZXJ0eV09XCJbeyBsYWJlbDogJ0ZBIElDT04nLCBpY29uOiAnZmEgZmEtaWNvbi1wb2RjYXN0JyB9XVwiPlxuICAgKiA8L3BvLWNvbXBvbmVudD5cbiAgICogYGBgXG4gICAqXG4gICAqIE91dHJhIG9ww6fDo28gc2VyaWEgYSBjdXN0b21pemHDp8OjbyBkbyDDrWNvbmUgYXRyYXbDqXMgZG8gYFRlbXBsYXRlUmVmYCwgY29uZm9ybWUgZXhlbXBsbyBhYmFpeG86XG4gICAqIGNvbXBvbmVudC5odG1sOlxuICAgKiBgYGBcbiAgICogPG5nLXRlbXBsYXRlICNpY29uVGVtcGxhdGU+XG4gICAqICAgPGlvbi1pY29uIG5hbWU9XCJoZWFydFwiPjwvaW9uLWljb24+XG4gICAqIDwvbmctdGVtcGxhdGU+XG4gICAqXG4gICAqIDxwby1jb21wb25lbnQgW3AtcHJvcGVydHldPVwibXlQcm9wZXJ0eVwiPjwvcG8tY29tcG9uZW50PlxuICAgKiBgYGBcbiAgICogY29tcG9uZW50LnRzOlxuICAgKiBgYGBcbiAgICogQFZpZXdDaGlsZCgnaWNvblRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSApIGljb25UZW1wbGF0ZSA6IFRlbXBsYXRlUmVmPHZvaWQ+O1xuICAgKlxuICAgKiBteVByb3BlcnR5ID0gW1xuICAgKiAge1xuICAgKiAgICBsYWJlbDogJ0ZBIElDT04nLFxuICAgKiAgICBpY29uOiB0aGlzLmljb25UZW1wbGF0ZVxuICAgKiAgfVxuICAgKiBdO1xuICAgKiBgYGBcbiAgICovXG4gIGljb24/OiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICAvKipcbiAgICogRnVuw6fDo28gcXVlIGRldmUgcmV0b3JuYXIgdW0gYm9vbGVhbm8gcGFyYSBoYWJpbGl0YXIgb3UgZGVzYWJpbGl0YXIgYSBhw6fDo28gcGFyYSBvIHJlZ2lzdHJvIHNlbGVjaW9uYWRvLlxuICAgKlxuICAgKiBUYW1iw6ltIMOpIHBvc3PDrXZlbCBpbmZvcm1hciBkaXJldGFtZW50ZSB1bSB2YWxvciBib29sZWFubyBxdWUgdmFpIGhhYmlsaXRhciBvdSBkZXNhYmlsaXRhciBhIGHDp8OjbyBwYXJhIHRvZG9zIG9zIHJlZ2lzdHJvcy5cbiAgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbiB8IEZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVmaW5lIGEgY29yIGRvIGl0ZW0sIHNlbmRvIGBkZWZhdWx0YCBvIHBhZHLDo28uXG4gICAqXG4gICAqIFZhbG9yZXMgdsOhbGlkb3M6XG4gICAqICAtIGBkZWZhdWx0YFxuICAgKiAgLSBgZGFuZ2VyYCAtIGluZGljYWRvIHBhcmEgYcOnw7VlcyBleGNsdXNpdmFzIChleGNsdWlyLCBzYWlyKS5cbiAgICovXG4gIHR5cGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZWZpbmUgc2UgYSBhw6fDo28gc2Vyw6Egdmlzw612ZWwuXG4gICAqXG4gICAqID4gQ2FzbyBvIHZhbG9yIG7Do28gc2VqYSBlc3BlY2lmaWNhZG8gYSBhw6fDo28gc2Vyw6Egdmlzw612ZWwuXG4gICAqXG4gICAqIE9ww6fDtWVzIHBhcmEgdG9ybmFyIGEgYcOnw6NvIHZpc8OtdmVsIG91IG7Do286XG4gICAqXG4gICAqICAtIEZ1bsOnw6NvIHF1ZSBkZXZlIHJldG9ybmFyIHVtIGJvb2xlYW5vLlxuICAgKlxuICAgKiAgLSBJbmZvcm1hciBkaXJldGFtZW50ZSB1bSB2YWxvciBib29sZWFuby5cbiAgICpcbiAgICovXG4gIHZpc2libGU/OiBib29sZWFuIHwgRnVuY3Rpb247XG59XG4iXX0=
@@ -82,6 +82,85 @@ export class PoProgressBaseComponent {
82
82
  * Texto principal que aparecerá abaixo da barra de progresso no lado esquerdo.
83
83
  */
84
84
  text;
85
+ /**
86
+ * @optional
87
+ *
88
+ * @description
89
+ *
90
+ * Permite definir uma ação personalizada no componente `po-progress`, exibindo um botão no canto inferior direito
91
+ * da barra de progresso. A ação deve implementar a interface **PoProgressAction**, possibilitando configurar:
92
+ *
93
+ * - **`label`**: Texto exibido no botão (opcional).
94
+ * - **`icon`**: Ícone exibido no botão (opcional).
95
+ * - **`type`**: Tipo do botão (`default` ou `danger`) para indicar a intenção da ação (opcional).
96
+ * - **`disabled`**: Indica se o botão deve estar desabilitado (opcional).
97
+ * - **`visible`**: Determina se o botão será exibido. Pode ser um valor booleano ou uma função que retorna um booleano (opcional).
98
+ *
99
+ * @example
100
+ * **Exemplo de uso:**
101
+ * ```html
102
+ * <po-progress
103
+ * [p-value]="50"
104
+ * [p-custom-action]="customAction"
105
+ * (p-custom-action-click)="onCustomActionClick()"
106
+ * ></po-progress>
107
+ * ```
108
+ *
109
+ * ```typescript
110
+ * customAction: PoProgressAction = {
111
+ * label: 'Baixar',
112
+ * icon: 'ph ph-download',
113
+ * type: 'default',
114
+ * visible: () => true
115
+ * };
116
+ *
117
+ * onCustomActionClick() {
118
+ * console.log('Custom action triggered!');
119
+ * }
120
+ * ```
121
+ *
122
+ * **Cenários comuns:**
123
+ * 1. **Download de Arquivos**: Exibir um botão para realizar o download de um arquivo associado à barra de progresso.
124
+ * 2. **Cancelamento Personalizado**: Adicionar uma ação para interromper ou reverter uma operação em andamento.
125
+ */
126
+ customAction;
127
+ /**
128
+ * @optional
129
+ *
130
+ * @description
131
+ *
132
+ * Evento emitido quando o botão definido em `p-custom-action` é clicado. Este evento retorna informações
133
+ * relacionadas à barra de progresso ou ao arquivo/processo associado, permitindo executar ações específicas.
134
+ *
135
+ * @example
136
+ * **Exemplo de uso:**
137
+ *
138
+ * ```html
139
+ * <po-progress
140
+ * [p-value]="50"
141
+ * [p-custom-action]="customAction"
142
+ * (p-custom-action-click)="onCustomActionClick()"
143
+ * ></po-progress>
144
+ * ```
145
+ *
146
+ * ```typescript
147
+ * customAction: PoProgressAction = {
148
+ * label: 'Cancelar',
149
+ * icon: 'ph ph-x',
150
+ * type: 'danger',
151
+ * visible: true
152
+ * };
153
+ *
154
+ * onCustomActionClick() {
155
+ * console.log('Custom action triggered!');
156
+ * }
157
+ * ```
158
+ *
159
+ * **Cenários comuns:**
160
+ * 1. **Botão de Download**: Disparar o download do arquivo associado à barra de progresso.
161
+ * 2. **Ação Condicional**: Realizar uma validação ou chamada de API antes de prosseguir com a ação.
162
+ */
163
+ customActionClick = new EventEmitter();
85
164
  /**
86
165
  * @optional
87
166
  *
@@ -180,7 +259,7 @@ export class PoProgressBaseComponent {
180
259
  return value >= poProgressMinValue && value <= poProgressMaxValue;
181
260
  }
182
261
  static ɵfac = function PoProgressBaseComponent_Factory(t) { return new (t || PoProgressBaseComponent)(); };
183
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoProgressBaseComponent, inputs: { disabledCancel: [2, "p-disabled-cancel", "disabledCancel", convertToBoolean], info: [0, "p-info", "info"], infoIcon: [0, "p-info-icon", "infoIcon"], status: [0, "p-status", "status"], text: [0, "p-text", "text"], indeterminate: [0, "p-indeterminate", "indeterminate"], value: [0, "p-value", "value"], size: [0, "p-size", "size"], showPercentage: [2, "p-show-percentage", "showPercentage", convertToBoolean] }, outputs: { cancel: "p-cancel", retry: "p-retry" }, features: [i0.ɵɵInputTransformsFeature] });
262
+ static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoProgressBaseComponent, inputs: { disabledCancel: [2, "p-disabled-cancel", "disabledCancel", convertToBoolean], info: [0, "p-info", "info"], infoIcon: [0, "p-info-icon", "infoIcon"], status: [0, "p-status", "status"], text: [0, "p-text", "text"], customAction: [0, "p-custom-action", "customAction"], indeterminate: [0, "p-indeterminate", "indeterminate"], value: [0, "p-value", "value"], size: [0, "p-size", "size"], showPercentage: [2, "p-show-percentage", "showPercentage", convertToBoolean] }, outputs: { customActionClick: "p-custom-action-click", cancel: "p-cancel", retry: "p-retry" }, features: [i0.ɵɵInputTransformsFeature] });
184
263
  }
185
264
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoProgressBaseComponent, [{
186
265
  type: Directive
@@ -199,6 +278,12 @@ export class PoProgressBaseComponent {
199
278
  }], text: [{
200
279
  type: Input,
201
280
  args: ['p-text']
281
+ }], customAction: [{
282
+ type: Input,
283
+ args: ['p-custom-action']
284
+ }], customActionClick: [{
285
+ type: Output,
286
+ args: ['p-custom-action-click']
202
287
  }], cancel: [{
203
288
  type: Output,
204
289
  args: ['p-cancel']
@@ -218,4 +303,4 @@ export class PoProgressBaseComponent {
218
303
  type: Input,
219
304
  args: [{ alias: 'p-show-percentage', transform: convertToBoolean }]
220
305
  }] }); })();
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcHJvZ3Jlc3MtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tcHJvZ3Jlc3MvcG8tcHJvZ3Jlc3MtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUUvRCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztBQUMvQixNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztBQUU3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEM7Ozs7Ozs7Ozs7O09BV0c7SUFDaUUsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUVwRzs7Ozs7O09BTUc7SUFDYyxJQUFJLENBQVU7SUFFL0I7Ozs7Ozs7O09BUUc7SUFDbUIsUUFBUSxDQUE4QjtJQUU1RDs7Ozs7Ozs7O09BU0c7SUFDZ0IsTUFBTSxHQUFxQixnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7SUFFdkU7Ozs7OztPQU1HO0lBQ2MsSUFBSSxDQUFVO0lBRS9COzs7Ozs7Ozs7OztPQVdHO0lBQ2lCLE1BQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVuRTs7Ozs7Ozs7O09BU0c7SUFDZ0IsS0FBSyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXpELGNBQWMsQ0FBVztJQUN6QixNQUFNLEdBQVksQ0FBQyxDQUFDO0lBQ3BCLEtBQUssR0FBVyxPQUFPLENBQUM7SUFFaEM7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsSUFBOEIsYUFBYSxDQUFDLGFBQXNCO1FBQ2hFLElBQUksQ0FBQyxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILElBQXNCLEtBQUssQ0FBQyxLQUFhO1FBQ3ZDLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUM3RCxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVyRSxJQUFJLENBQUMsTUFBTSxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILElBQXFCLElBQUksQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7SUFDcEYsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDaUUsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUU1RixvQkFBb0IsQ0FBQyxLQUFhO1FBQ3hDLE9BQU8sS0FBSyxJQUFJLGtCQUFrQixJQUFJLEtBQUssSUFBSSxrQkFBa0IsQ0FBQztJQUNwRSxDQUFDO2lGQW5LVSx1QkFBdUI7NkRBQXZCLHVCQUF1Qix1RUFhYyxnQkFBZ0IsMFRBa0poQixnQkFBZ0I7O2lGQS9KckQsdUJBQXVCO2NBRG5DLFNBQVM7Z0JBYzRELGNBQWM7a0JBQWpGLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBU2pELElBQUk7a0JBQXBCLEtBQUs7bUJBQUMsUUFBUTtZQVdPLFFBQVE7a0JBQTdCLEtBQUs7bUJBQUMsYUFBYTtZQVlELE1BQU07a0JBQXhCLEtBQUs7bUJBQUMsVUFBVTtZQVNBLElBQUk7a0JBQXBCLEtBQUs7bUJBQUMsUUFBUTtZQWNLLE1BQU07a0JBQXpCLE1BQU07bUJBQUMsVUFBVTtZQVlDLEtBQUs7a0JBQXZCLE1BQU07bUJBQUMsU0FBUztZQW1CYSxhQUFhO2tCQUExQyxLQUFLO21CQUFDLGlCQUFpQjtZQW1CRixLQUFLO2tCQUExQixLQUFLO21CQUFDLFNBQVM7WUF3QkssSUFBSTtrQkFBeEIsS0FBSzttQkFBQyxRQUFRO1lBaUJxRCxjQUFjO2tCQUFqRixLQUFLO21CQUFDLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBjb252ZXJ0VG9Cb29sZWFuLCBjb252ZXJ0VG9JbnQgfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcblxuaW1wb3J0IHsgUG9Qcm9ncmVzc1N0YXR1cyB9IGZyb20gJy4vZW51bXMvcG8tcHJvZ3Jlc3Mtc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgUG9Qcm9ncmVzc1NpemUgfSBmcm9tICcuL2VudW1zL3BvLXByb2dyZXNzLXNpemUuZW51bSc7XG5cbmNvbnN0IHBvUHJvZ3Jlc3NNYXhWYWx1ZSA9IDEwMDtcbmNvbnN0IHBvUHJvZ3Jlc3NNaW5WYWx1ZSA9IDA7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogQ29tcG9uZW50ZSBkZSBiYXJyYSBkZSBwcm9ncmVzc28gcXVlIHBvc3NpYmlsaXRhIGV4aWJpciB2aXN1YWxtZW50ZSBvIHByb2dyZXNzby9jYXJyZWdhbWVudG8gZGUgdW1hIHRhcmVmYS5cbiAqXG4gKiBFc3RlIGNvbXBvbmVudGUgcG9kZSBzZXIgdXRpbGl6YWRvIG5vICp1cGxvYWQqIGRlIGFycXVpdm9zLCB1bWEgYXR1YWxpemHDp8OjbyBubyBzaXN0ZW1hIG91IG8gcHJvY2Vzc2FtZW50byBkZSB1bWEgaW1hZ2VtLlxuICpcbiAqICMjIyMgVG9rZW5zIGN1c3RvbWl6w6F2ZWlzXG4gKlxuICogw4kgcG9zc8OtdmVsIGFsdGVyYXIgbyBlc3RpbG8gZG8gY29tcG9uZW50ZSB1c2FuZG8gb3Mgc2VndWludGVzIHRva2VucyAoQ1NTKTpcbiAqXG4gKiA+IFBhcmEgbWFpb3JlcyBpbmZvcm1hw6fDtWVzLCBhY2Vzc2UgbyBndWlhIFtQZXJzb25hbGl6YW5kbyBvIFRlbWEgUGFkcsOjbyBjb20gVG9rZW5zIENTU10oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvdGhlbWUtY3VzdG9taXphdGlvbikuXG4gKlxuICogfCBQcm9wcmllZGFkZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IERlc2NyacOnw6NvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBWYWxvciBQYWRyw6NvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfFxuICogfCAqKkRlZmF1bHQgVmFsdWVzKiogICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1mb250LWZhbWlseWAgICAgICAgICAgICAgICAgICAgICAgICB8IEZhbcOtbGlhIHRpcG9ncsOhZmljYSB1c2FkYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tZm9udC1mYW1pbHktdGhlbWUpYCAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLXRleHQtY29sb3JgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIGRvIHRleHRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1kYXJrLTkwKWAgICAgICAgICAgICAgICAgICB8XG4gKiB8ICoqRXJyb3IqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLXRleHQtY29sb3ItZXJyb3JgICAgICAgICAgICAgICAgICAgIHwgQ29yIGRvIHRleHRvIG5vIGVzdGFkbyBlcnJvciAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItZmVlZGJhY2stbmVnYXRpdmUtZGFyaylgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLWljb24tZXJyb3JgICAgICAgICAgICAgICAgICAgIHwgQ29yIGRvIMOtY29uZSBubyBlc3RhZG8gZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWZlZWRiYWNrLW5lZ2F0aXZlLWRhcmspYCAgICAgICAgICAgfFxuICogfCAqKnBvLXByb2dyZXNzLWJhcioqICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1iYWNrZ3JvdW5kLWNvbG9yLXRyYXlgICAgICAgICAgICAgICB8IENvciBkbyBiYWNrZ3JvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWJyYW5kLTAxLWxpZ2h0ZXN0KWAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1iYWNrZ3JvdW5kLWNvbG9yLWluZGljYXRvcmAgICAgICAgICB8IENvciBkbyBiYWNrZ3JvdW5kIGRvIGluZGljYWRvciAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWFjdGlvbi1kZWZhdWx0KWAgICAgICAgICAgICAgICAgICAgfFxuICpcbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgUG9Qcm9ncmVzc0Jhc2VDb21wb25lbnQge1xuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBEZXNhYmlsaXRhIGJvdMOjbyBkZSBjYW5jZWxhbWVudG8gbmEgcGFydGUgaW5mZXJpb3IgZGEgYmFycmEgZGUgcHJvZ3Jlc3NvLlxuICAgKlxuICAgKiA+IFNlIG5lbmh1bWEgZnVuw6fDo28gZm9yIHBhc3NhZGEgcGFyYSBvIGV2ZW50byBgKHAtY2FuY2VsKWAgb3UgYSBiYXJyYSBkZSBwcm9ncmVzc28gZXN0aXZlciBjb20gbyBzdGF0dXMgYFBvUHJvZ3Jlc3NTdGF0dXMuU3VjY2Vzc2AsXG4gICAqIG8gw61jb25lIGRlIGNhbmNlbGFtZW50byBuw6NvIHNlcsOhIGV4aWJpZG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCh7IGFsaWFzOiAncC1kaXNhYmxlZC1jYW5jZWwnLCB0cmFuc2Zvcm06IGNvbnZlcnRUb0Jvb2xlYW4gfSkgZGlzYWJsZWRDYW5jZWw6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBJbmZvcm1hw6fDo28gYWRpY2lvbmFsIHF1ZSBhcGFyZWNlcsOhIGFiYWl4byBkYSBiYXJyYSBkZSBwcm9ncmVzc28gYW8gbGFkbyBkaXJlaXRvLlxuICAgKi9cbiAgQElucHV0KCdwLWluZm8nKSBpbmZvPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIMONY29uZSBxdWUgYXBhcmVjZXLDoSBhbyBsYWRvIGRvIHRleHRvIGRhIHByb3ByaWVkYWRlIGBwLWluZm9gLlxuICAgKlxuICAgKiBFeGVtcGxvOiBgcGggcGgtY2hlY2tgLlxuICAgKi9cbiAgQElucHV0KCdwLWluZm8taWNvbicpIGluZm9JY29uPzogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogU3RhdHVzIGRhIGJhcnJhIGRlIHByb2dyZXNzbyBxdWUgaW5kaWNhcsOhIHZpc3VhbG1lbnRlIGFvIHVzdcOhcmlvXG4gICAqIG8gYW5kYW1lbnRvLCBwb3IgZXhlbXBsbywgc2UgYSBtZXNtYSBmb2kgY29uY2x1w61kYSBjb20gc3VjZXNzby5cbiAgICpcbiAgICogQGRlZmF1bHQgYFBvUHJvZ3Jlc3NTdGF0dXMuRGVmYXVsdGBcbiAgICovXG4gIEBJbnB1dCgncC1zdGF0dXMnKSBzdGF0dXM6IFBvUHJvZ3Jlc3NTdGF0dXMgPSBQb1Byb2dyZXNzU3RhdHVzLkRlZmF1bHQ7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogVGV4dG8gcHJpbmNpcGFsIHF1ZSBhcGFyZWNlcsOhIGFiYWl4byBkYSBiYXJyYSBkZSBwcm9ncmVzc28gbm8gbGFkbyBlc3F1ZXJkby5cbiAgICovXG4gIEBJbnB1dCgncC10ZXh0JykgdGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBFdmVudG8gcXVlIHNlcsOhIGRpc3BhcmFkbyBhbyBjbGljYXIgbm8gw61jb25lIGRlIGNhbmNlbGFtZW50byAoXCJ4XCIpIG5hIHBhcnRlIGluZmVyaW9yIGRhIGJhcnJhIGRlIHByb2dyZXNzby5cbiAgICpcbiAgICogQW8gc2VyIGRpc3BhcmFkbywgYSBmdW7Dp8OjbyByZWNlYmVyw6EgY29tbyBwYXLDom1ldHJvIG8gc3RhdHVzIGF0dWFsIGRhIGJhcnJhIGRlIHByb2dyZXNzby5cbiAgICpcbiAgICogPiBTZSBuZW5odW1hIGZ1bsOnw6NvIGZvciBwYXNzYWRhIHBhcmEgbyBldmVudG8gb3UgYSBiYXJyYSBkZSBwcm9ncmVzc28gZXN0aXZlciBjb20gbyBzdGF0dXMgYFBvUHJvZ3Jlc3NTdGF0dXMuU3VjY2Vzc2AsXG4gICAqIG8gw61jb25lIGRlIGNhbmNlbGFtZW50byBuw6NvIHNlcsOhIGV4aWJpZG8uXG4gICAqL1xuICBAT3V0cHV0KCdwLWNhbmNlbCcpIGNhbmNlbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXZlbnRvIHF1ZSBzZXLDoSBkaXNwYXJhZG8gYW8gY2xpY2FyIG5vIMOtY29uZSBkZSB0ZW50YXIgbm92YW1lbnRlIG5hIHBhcnRlIGluZmVyaW9yIGRhIGJhcnJhIGRlIHByb2dyZXNzby5cbiAgICpcbiAgICogPiBvIMOtY29uZSBzZXLDoSBleGliaWRvIGFwZW5hcyBzZSBpbmZvcm1hciB1bWEgZnVuw6fDo28gbmVzdGUgZXZlbnRvIGUgbyBzdGF0dXMgZGEgYmFycmEgZGUgcHJvZ3Jlc3NvIGZvclxuICAgKiBgUG9Qcm9ncmVzc1N0YXR1cy5FcnJvcmAuXG4gICAqL1xuICBAT3V0cHV0KCdwLXJldHJ5JykgcmV0cnk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgX2luZGV0ZXJtaW5hdGU/OiBib29sZWFuO1xuICBwcml2YXRlIF92YWx1ZT86IG51bWJlciA9IDA7XG4gIHByaXZhdGUgX3NpemU6IHN0cmluZyA9ICdsYXJnZSc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSGFiaWxpdGEgbyBtb2RvIGluZGV0ZXJtaW5hZG8gbmEgYmFycmEgZGUgcHJvZ3Jlc3NvLCBxdWUgbW9zdHJhIHVtYSBhbmltYcOnw6NvIGZpeGEgc2VtIHVtIHZhbG9yIGVzdGFiZWxlY2lkby5cbiAgICpcbiAgICogRXN0YSBvcMOnw6NvIHBvZGUgc2VyIHV0aWxpemFkYSBxdWFuZG8gbsOjbyBzb3ViZXIgcXVhbnRvIHRlbXBvIGxldmFyw6EgcGFyYSBxdWUgdW0gcHJvY2Vzc28gc2VqYSBjb25jbHXDrWRvLlxuICAgKlxuICAgKiA+IENhc28gZXN0YSBwcm9wcmllZGFkZSBlIGEgYHAtdmFsdWVgIHNlamEgaGFiaWxpdGFkYSwgYSBwcm9wcmllZGFkZSBgcC12YWx1ZWAgc2Vyw6EgaWdub3JhZGEuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1pbmRldGVybWluYXRlJykgc2V0IGluZGV0ZXJtaW5hdGUoaW5kZXRlcm1pbmF0ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2luZGV0ZXJtaW5hdGUgPSBjb252ZXJ0VG9Cb29sZWFuKGluZGV0ZXJtaW5hdGUpO1xuICB9XG5cbiAgZ2V0IGluZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2luZGV0ZXJtaW5hdGU7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBWYWxvciBxdWUgcmVwcmVzZW50YXLDoSBvIHByb2dyZXNzby5cbiAgICpcbiAgICogPiBPcyB2YWxvcmVzIGFjZWl0b3Mgc8OjbyBuw7ptZXJvcyBpbnRlaXJvcyBkZSBgMGAgw6AgYDEwMGAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAwYFxuICAgKi9cbiAgQElucHV0KCdwLXZhbHVlJykgc2V0IHZhbHVlKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBpbnRlZ2VyVmFsdWUgPSBjb252ZXJ0VG9JbnQodmFsdWUsIHBvUHJvZ3Jlc3NNaW5WYWx1ZSk7XG4gICAgY29uc3QgaXNQcm9ncmVzc1JhbmdlVmFsdWUgPSB0aGlzLmlzUHJvZ3Jlc3NSYW5nZVZhbHVlKGludGVnZXJWYWx1ZSk7XG5cbiAgICB0aGlzLl92YWx1ZSA9IGlzUHJvZ3Jlc3NSYW5nZVZhbHVlID8gaW50ZWdlclZhbHVlIDogcG9Qcm9ncmVzc01pblZhbHVlO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluacOnw6NvIGRvIHRhbWFuaG8gZGEgYWx0dXJhIGRhIGJhcnJhIGRlIHByb2dyZXNzby5cbiAgICpcbiAgICogVmFsb3JlcyB2w6FsaWRvczpcbiAgICogIC0gYG1lZGl1bWA6IHRhbWFuaG8gbcOpZGlvXG4gICAqICAtIGBsYXJnZWA6IHRhbWFuaG8gZ3JhbmRlXG4gICAqXG4gICAqIEBkZWZhdWx0IGBsYXJnZWBcbiAgICovXG4gIEBJbnB1dCgncC1zaXplJykgc2V0IHNpemUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NpemUgPSBQb1Byb2dyZXNzU2l6ZVt2YWx1ZV0gPyBQb1Byb2dyZXNzU2l6ZVt2YWx1ZV0gOiBQb1Byb2dyZXNzU2l6ZS5sYXJnZTtcbiAgfVxuXG4gIGdldCBzaXplKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBBdGl2YSBhIGV4aWJpw6fDo28gZGEgcG9yY2VudGFnZW0gYXR1YWwgZGEgYmFycmEgZGUgcHJvZ3Jlc3NvLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3Atc2hvdy1wZXJjZW50YWdlJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIHNob3dQZXJjZW50YWdlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBpc1Byb2dyZXNzUmFuZ2VWYWx1ZSh2YWx1ZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID49IHBvUHJvZ3Jlc3NNaW5WYWx1ZSAmJiB2YWx1ZSA8PSBwb1Byb2dyZXNzTWF4VmFsdWU7XG4gIH1cbn1cbiJdfQ==
306
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tcHJvZ3Jlc3MtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tcHJvZ3Jlc3MvcG8tcHJvZ3Jlc3MtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBZSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDOztBQUcvRCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQztBQUMvQixNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQztBQUU3Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7SUFDbEM7Ozs7Ozs7Ozs7O09BV0c7SUFDaUUsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUVwRzs7Ozs7O09BTUc7SUFDYyxJQUFJLENBQVU7SUFFL0I7Ozs7Ozs7O09BUUc7SUFDbUIsUUFBUSxDQUE4QjtJQUU1RDs7Ozs7Ozs7O09BU0c7SUFDZ0IsTUFBTSxHQUFxQixnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7SUFFdkU7Ozs7OztPQU1HO0lBQ2MsSUFBSSxDQUFVO0lBRS9COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bd0NHO0lBQ3VCLFlBQVksQ0FBb0I7SUFFMUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUNHO0lBQzhCLGlCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRTNGOzs7Ozs7Ozs7OztPQVdHO0lBQ2lCLE1BQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVuRTs7Ozs7Ozs7O09BU0c7SUFDZ0IsS0FBSyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXpELGNBQWMsQ0FBVztJQUN6QixNQUFNLEdBQVksQ0FBQyxDQUFDO0lBQ3BCLEtBQUssR0FBVyxPQUFPLENBQUM7SUFFaEM7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsSUFBOEIsYUFBYSxDQUFDLGFBQXNCO1FBQ2hFLElBQUksQ0FBQyxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILElBQXNCLEtBQUssQ0FBQyxLQUFhO1FBQ3ZDLE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUM3RCxNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVyRSxJQUFJLENBQUMsTUFBTSxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDO0lBQ3pFLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILElBQXFCLElBQUksQ0FBQyxLQUFhO1FBQ3JDLElBQUksQ0FBQyxLQUFLLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUM7SUFDcEYsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDaUUsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUU1RixvQkFBb0IsQ0FBQyxLQUFhO1FBQ3hDLE9BQU8sS0FBSyxJQUFJLGtCQUFrQixJQUFJLEtBQUssSUFBSSxrQkFBa0IsQ0FBQztJQUNwRSxDQUFDO2lGQXBQVSx1QkFBdUI7NkRBQXZCLHVCQUF1Qix1RUFhYyxnQkFBZ0IsZ1hBbU9oQixnQkFBZ0I7O2lGQWhQckQsdUJBQXVCO2NBRG5DLFNBQVM7Z0JBYzRELGNBQWM7a0JBQWpGLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO1lBU2pELElBQUk7a0JBQXBCLEtBQUs7bUJBQUMsUUFBUTtZQVdPLFFBQVE7a0JBQTdCLEtBQUs7bUJBQUMsYUFBYTtZQVlELE1BQU07a0JBQXhCLEtBQUs7bUJBQUMsVUFBVTtZQVNBLElBQUk7a0JBQXBCLEtBQUs7bUJBQUMsUUFBUTtZQTJDVyxZQUFZO2tCQUFyQyxLQUFLO21CQUFDLGlCQUFpQjtZQXNDUyxpQkFBaUI7a0JBQWpELE1BQU07bUJBQUMsdUJBQXVCO1lBY1gsTUFBTTtrQkFBekIsTUFBTTttQkFBQyxVQUFVO1lBWUMsS0FBSztrQkFBdkIsTUFBTTttQkFBQyxTQUFTO1lBbUJhLGFBQWE7a0JBQTFDLEtBQUs7bUJBQUMsaUJBQWlCO1lBbUJGLEtBQUs7a0JBQTFCLEtBQUs7bUJBQUMsU0FBUztZQXdCSyxJQUFJO2tCQUF4QixLQUFLO21CQUFDLFFBQVE7WUFpQnFELGNBQWM7a0JBQWpGLEtBQUs7bUJBQUMsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGNvbnZlcnRUb0Jvb2xlYW4sIGNvbnZlcnRUb0ludCB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWwnO1xuXG5pbXBvcnQgeyBQb1Byb2dyZXNzU3RhdHVzIH0gZnJvbSAnLi9lbnVtcy9wby1wcm9ncmVzcy1zdGF0dXMuZW51bSc7XG5pbXBvcnQgeyBQb1Byb2dyZXNzU2l6ZSB9IGZyb20gJy4vZW51bXMvcG8tcHJvZ3Jlc3Mtc2l6ZS5lbnVtJztcbmltcG9ydCB7IFBvUHJvZ3Jlc3NBY3Rpb24gfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuXG5jb25zdCBwb1Byb2dyZXNzTWF4VmFsdWUgPSAxMDA7XG5jb25zdCBwb1Byb2dyZXNzTWluVmFsdWUgPSAwO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvblxuICpcbiAqIENvbXBvbmVudGUgZGUgYmFycmEgZGUgcHJvZ3Jlc3NvIHF1ZSBwb3NzaWJpbGl0YSBleGliaXIgdmlzdWFsbWVudGUgbyBwcm9ncmVzc28vY2FycmVnYW1lbnRvIGRlIHVtYSB0YXJlZmEuXG4gKlxuICogRXN0ZSBjb21wb25lbnRlIHBvZGUgc2VyIHV0aWxpemFkbyBubyAqdXBsb2FkKiBkZSBhcnF1aXZvcywgdW1hIGF0dWFsaXphw6fDo28gbm8gc2lzdGVtYSBvdSBvIHByb2Nlc3NhbWVudG8gZGUgdW1hIGltYWdlbS5cbiAqXG4gKiAjIyMjIFRva2VucyBjdXN0b21pesOhdmVpc1xuICpcbiAqIMOJIHBvc3PDrXZlbCBhbHRlcmFyIG8gZXN0aWxvIGRvIGNvbXBvbmVudGUgdXNhbmRvIG9zIHNlZ3VpbnRlcyB0b2tlbnMgKENTUyk6XG4gKlxuICogPiBQYXJhIG1haW9yZXMgaW5mb3JtYcOnw7VlcywgYWNlc3NlIG8gZ3VpYSBbUGVyc29uYWxpemFuZG8gbyBUZW1hIFBhZHLDo28gY29tIFRva2VucyBDU1NdKGh0dHBzOi8vcG8tdWkuaW8vZ3VpZGVzL3RoZW1lLWN1c3RvbWl6YXRpb24pLlxuICpcbiAqIHwgUHJvcHJpZWRhZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXNjcmnDp8OjbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgVmFsb3IgUGFkcsOjbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXxcbiAqIHwgKipEZWZhdWx0IFZhbHVlcyoqICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tZm9udC1mYW1pbHlgICAgICAgICAgICAgICAgICAgICAgICAgfCBGYW3DrWxpYSB0aXBvZ3LDoWZpY2EgdXNhZGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWZvbnQtZmFtaWx5LXRoZW1lKWAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS10ZXh0LWNvbG9yYCAgICAgICAgICAgICAgICAgICAgICAgICB8IENvciBkbyB0ZXh0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLW5ldXRyYWwtZGFyay05MClgICAgICAgICAgICAgICAgICAgfFxuICogfCAqKkVycm9yKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS10ZXh0LWNvbG9yLWVycm9yYCAgICAgICAgICAgICAgICAgICB8IENvciBkbyB0ZXh0byBubyBlc3RhZG8gZXJyb3IgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWZlZWRiYWNrLW5lZ2F0aXZlLWRhcmspYCAgICAgICAgICAgfFxuICogfCBgLS1jb2xvci1pY29uLWVycm9yYCAgICAgICAgICAgICAgICAgICB8IENvciBkbyDDrWNvbmUgbm8gZXN0YWRvIGVycm9yICAgICAgICAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1mZWVkYmFjay1uZWdhdGl2ZS1kYXJrKWAgICAgICAgICAgIHxcbiAqIHwgKipwby1wcm9ncmVzcy1iYXIqKiAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tYmFja2dyb3VuZC1jb2xvci10cmF5YCAgICAgICAgICAgICAgfCBDb3IgZG8gYmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1icmFuZC0wMS1saWdodGVzdClgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tYmFja2dyb3VuZC1jb2xvci1pbmRpY2F0b3JgICAgICAgICAgfCBDb3IgZG8gYmFja2dyb3VuZCBkbyBpbmRpY2Fkb3IgICAgICAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1hY3Rpb24tZGVmYXVsdClgICAgICAgICAgICAgICAgICAgIHxcbiAqXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFBvUHJvZ3Jlc3NCYXNlQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRGVzYWJpbGl0YSBib3TDo28gZGUgY2FuY2VsYW1lbnRvIG5hIHBhcnRlIGluZmVyaW9yIGRhIGJhcnJhIGRlIHByb2dyZXNzby5cbiAgICpcbiAgICogPiBTZSBuZW5odW1hIGZ1bsOnw6NvIGZvciBwYXNzYWRhIHBhcmEgbyBldmVudG8gYChwLWNhbmNlbClgIG91IGEgYmFycmEgZGUgcHJvZ3Jlc3NvIGVzdGl2ZXIgY29tIG8gc3RhdHVzIGBQb1Byb2dyZXNzU3RhdHVzLlN1Y2Nlc3NgLFxuICAgKiBvIMOtY29uZSBkZSBjYW5jZWxhbWVudG8gbsOjbyBzZXLDoSBleGliaWRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3AtZGlzYWJsZWQtY2FuY2VsJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIGRpc2FibGVkQ2FuY2VsOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSW5mb3JtYcOnw6NvIGFkaWNpb25hbCBxdWUgYXBhcmVjZXLDoSBhYmFpeG8gZGEgYmFycmEgZGUgcHJvZ3Jlc3NvIGFvIGxhZG8gZGlyZWl0by5cbiAgICovXG4gIEBJbnB1dCgncC1pbmZvJykgaW5mbz86IHN0cmluZztcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiDDjWNvbmUgcXVlIGFwYXJlY2Vyw6EgYW8gbGFkbyBkbyB0ZXh0byBkYSBwcm9wcmllZGFkZSBgcC1pbmZvYC5cbiAgICpcbiAgICogRXhlbXBsbzogYHBoIHBoLWNoZWNrYC5cbiAgICovXG4gIEBJbnB1dCgncC1pbmZvLWljb24nKSBpbmZvSWNvbj86IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFN0YXR1cyBkYSBiYXJyYSBkZSBwcm9ncmVzc28gcXVlIGluZGljYXLDoSB2aXN1YWxtZW50ZSBhbyB1c3XDoXJpb1xuICAgKiBvIGFuZGFtZW50bywgcG9yIGV4ZW1wbG8sIHNlIGEgbWVzbWEgZm9pIGNvbmNsdcOtZGEgY29tIHN1Y2Vzc28uXG4gICAqXG4gICAqIEBkZWZhdWx0IGBQb1Byb2dyZXNzU3RhdHVzLkRlZmF1bHRgXG4gICAqL1xuICBASW5wdXQoJ3Atc3RhdHVzJykgc3RhdHVzOiBQb1Byb2dyZXNzU3RhdHVzID0gUG9Qcm9ncmVzc1N0YXR1cy5EZWZhdWx0O1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIFRleHRvIHByaW5jaXBhbCBxdWUgYXBhcmVjZXLDoSBhYmFpeG8gZGEgYmFycmEgZGUgcHJvZ3Jlc3NvIG5vIGxhZG8gZXNxdWVyZG8uXG4gICAqL1xuICBASW5wdXQoJ3AtdGV4dCcpIHRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogUGVybWl0ZSBkZWZpbmlyIHVtYSBhw6fDo28gcGVyc29uYWxpemFkYSBubyBjb21wb25lbnRlIGBwby1wcm9ncmVzc2AsIGV4aWJpbmRvIHVtIGJvdMOjbyBubyBjYW50byBpbmZlcmlvciBkaXJlaXRvXG4gICAqIGRhIGJhcnJhIGRlIHByb2dyZXNzby4gQSBhw6fDo28gZGV2ZSBpbXBsZW1lbnRhciBhIGludGVyZmFjZSAqKlBvUHJvZ3Jlc3NBY3Rpb24qKiwgcG9zc2liaWxpdGFuZG8gY29uZmlndXJhcjpcbiAgICpcbiAgICogLSAqKmBsYWJlbGAqKjogVGV4dG8gZXhpYmlkbyBubyBib3TDo28gKG9wY2lvbmFsKS5cbiAgICogLSAqKmBpY29uYCoqOiDDjWNvbmUgZXhpYmlkbyBubyBib3TDo28gKG9wY2lvbmFsKS5cbiAgICogLSAqKmB0eXBlYCoqOiBUaXBvIGRvIGJvdMOjbyAoYGRlZmF1bHRgIG91IGBkYW5nZXJgKSBwYXJhIGluZGljYXIgYSBpbnRlbsOnw6NvIGRhIGHDp8OjbyAob3BjaW9uYWwpLlxuICAgKiAtICoqYGRpc2FibGVkYCoqOiBJbmRpY2Egc2UgbyBib3TDo28gZGV2ZSBlc3RhciBkZXNhYmlsaXRhZG8gKG9wY2lvbmFsKS5cbiAgICogLSAqKmB2aXNpYmxlYCoqOiBEZXRlcm1pbmEgc2UgbyBib3TDo28gc2Vyw6EgZXhpYmlkby4gUG9kZSBzZXIgdW0gdmFsb3IgYm9vbGVhbm8gb3UgdW1hIGZ1bsOnw6NvIHF1ZSByZXRvcm5hIHVtIGJvb2xlYW5vIChvcGNpb25hbCkuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqICoqRXhlbXBsbyBkZSB1c286KipcbiAgICogYGBgaHRtbFxuICAgKiA8cG8tcHJvZ3Jlc3NcbiAgICogIFtwLXZhbHVlXT1cIjUwXCJcbiAgICogIFtwLWN1c3RvbS1hY3Rpb25dPVwiY3VzdG9tQWN0aW9uXCJcbiAgICogIChwLWN1c3RvbS1hY3Rpb24tY2xpY2spPVwib25DdXN0b21BY3Rpb25DbGljaygpXCJcbiAgICogPjwvcG8tcHJvZ3Jlc3M+XG4gICAqIGBgYFxuICAgKlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGN1c3RvbUFjdGlvbjogUG9Qcm9ncmVzc0FjdGlvbiA9IHtcbiAgICogICBsYWJlbDogJ0JhaXhhcicsXG4gICAqICAgaWNvbjogJ3BoIHBoLWRvd25sb2FkJyxcbiAgICogICB0eXBlOiAnZGVmYXVsdCcsXG4gICAqICAgdmlzaWJsZTogKCkgPT4gdHJ1ZVxuICAgKiB9O1xuICAgKlxuICAgKiBvbkN1c3RvbUFjdGlvbkNsaWNrKCkge1xuICAgKiAgIGNvbnNvbGUubG9nKCdDdXN0b20gYWN0aW9uIHRyaWdnZXJlZCEnKTtcbiAgICogfVxuICAgKiBgYGBcbiAgICpcbiAgICogKipDZW7DoXJpb3MgY29tdW5zOioqXG4gICAqIDEuICoqRG93bmxvYWQgZGUgQXJxdWl2b3MqKjogRXhpYmlyIHVtIGJvdMOjbyBwYXJhIHJlYWxpemFyIG8gZG93bmxvYWQgZGUgdW0gYXJxdWl2byBhc3NvY2lhZG8gw6AgYmFycmEgZGUgcHJvZ3Jlc3NvLlxuICAgKiAyLiAqKkNhbmNlbGFtZW50byBQZXJzb25hbGl6YWRvKio6IEFkaWNpb25hciB1bWEgYcOnw6NvIHBhcmEgaW50ZXJyb21wZXIgb3UgcmV2ZXJ0ZXIgdW1hIG9wZXJhw6fDo28gZW0gYW5kYW1lbnRvLlxuICAgKi9cbiAgQElucHV0KCdwLWN1c3RvbS1hY3Rpb24nKSBjdXN0b21BY3Rpb24/OiBQb1Byb2dyZXNzQWN0aW9uO1xuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIEV2ZW50byBlbWl0aWRvIHF1YW5kbyBvIGJvdMOjbyBkZWZpbmlkbyBlbSBgcC1jdXN0b20tYWN0aW9uYCDDqSBjbGljYWRvLiBFc3RlIGV2ZW50byByZXRvcm5hIGluZm9ybWHDp8O1ZXNcbiAgICogcmVsYWNpb25hZGFzIMOgIGJhcnJhIGRlIHByb2dyZXNzbyBvdSBhbyBhcnF1aXZvL3Byb2Nlc3NvIGFzc29jaWFkbywgcGVybWl0aW5kbyBleGVjdXRhciBhw6fDtWVzIGVzcGVjw61maWNhcy5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogKipFeGVtcGxvIGRlIHVzbzoqKlxuICAgKlxuICAgKiBgYGBodG1sXG4gICAqIDxwby1wcm9ncmVzc1xuICAgKiAgW3AtdmFsdWVdPVwiNTBcIlxuICAgKiAgW3AtY3VzdG9tLWFjdGlvbl09XCJjdXN0b21BY3Rpb25cIlxuICAgKiAgKHAtY3VzdG9tLWFjdGlvbi1jbGljayk9XCJvbkN1c3RvbUFjdGlvbkNsaWNrKClcIlxuICAgKiA+PC9wby1wcm9ncmVzcz5cbiAgICogYGBgXG4gICAqXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY3VzdG9tQWN0aW9uOiBQb1Byb2dyZXNzQWN0aW9uID0ge1xuICAgKiAgIGxhYmVsOiAnQ2FuY2VsYXInLFxuICAgKiAgIGljb246ICdwaCBwaC14JyxcbiAgICogICB0eXBlOiAnZGFuZ2VyJyxcbiAgICogICB2aXNpYmxlOiB0cnVlXG4gICAqIH07XG4gICAqXG4gICAqIG9uQ3VzdG9tQWN0aW9uQ2xpY2soKSB7XG4gICAqICAgY29uc29sZS5sb2coJ0N1c3RvbSBhY3Rpb24gdHJpZ2dlcmVkIScpO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKlxuICAgKiAqKkNlbsOhcmlvcyBjb211bnM6KipcbiAgICogMS4gKipCb3TDo28gZGUgRG93bmxvYWQqKjogRGlzcGFyYXIgbyBkb3dubG9hZCBkbyBhcnF1aXZvIGFzc29jaWFkbyDDoCBiYXJyYSBkZSBwcm9ncmVzc28uXG4gICAqIDIuICoqQcOnw6NvIENvbmRpY2lvbmFsKio6IFJlYWxpemFyIHVtYSB2YWxpZGHDp8OjbyBvdSBjaGFtYWRhIGRlIEFQSSBhbnRlcyBkZSBwcm9zc2VndWlyIGNvbSBhIGHDp8Ojby5cbiAgICovXG4gIEBPdXRwdXQoJ3AtY3VzdG9tLWFjdGlvbi1jbGljaycpIGN1c3RvbUFjdGlvbkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBFdmVudG8gcXVlIHNlcsOhIGRpc3BhcmFkbyBhbyBjbGljYXIgbm8gw61jb25lIGRlIGNhbmNlbGFtZW50byAoXCJ4XCIpIG5hIHBhcnRlIGluZmVyaW9yIGRhIGJhcnJhIGRlIHByb2dyZXNzby5cbiAgICpcbiAgICogQW8gc2VyIGRpc3BhcmFkbywgYSBmdW7Dp8OjbyByZWNlYmVyw6EgY29tbyBwYXLDom1ldHJvIG8gc3RhdHVzIGF0dWFsIGRhIGJhcnJhIGRlIHByb2dyZXNzby5cbiAgICpcbiAgICogPiBTZSBuZW5odW1hIGZ1bsOnw6NvIGZvciBwYXNzYWRhIHBhcmEgbyBldmVudG8gb3UgYSBiYXJyYSBkZSBwcm9ncmVzc28gZXN0aXZlciBjb20gbyBzdGF0dXMgYFBvUHJvZ3Jlc3NTdGF0dXMuU3VjY2Vzc2AsXG4gICAqIG8gw61jb25lIGRlIGNhbmNlbGFtZW50byBuw6NvIHNlcsOhIGV4aWJpZG8uXG4gICAqL1xuICBAT3V0cHV0KCdwLWNhbmNlbCcpIGNhbmNlbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogRXZlbnRvIHF1ZSBzZXLDoSBkaXNwYXJhZG8gYW8gY2xpY2FyIG5vIMOtY29uZSBkZSB0ZW50YXIgbm92YW1lbnRlIG5hIHBhcnRlIGluZmVyaW9yIGRhIGJhcnJhIGRlIHByb2dyZXNzby5cbiAgICpcbiAgICogPiBvIMOtY29uZSBzZXLDoSBleGliaWRvIGFwZW5hcyBzZSBpbmZvcm1hciB1bWEgZnVuw6fDo28gbmVzdGUgZXZlbnRvIGUgbyBzdGF0dXMgZGEgYmFycmEgZGUgcHJvZ3Jlc3NvIGZvclxuICAgKiBgUG9Qcm9ncmVzc1N0YXR1cy5FcnJvcmAuXG4gICAqL1xuICBAT3V0cHV0KCdwLXJldHJ5JykgcmV0cnk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHByaXZhdGUgX2luZGV0ZXJtaW5hdGU/OiBib29sZWFuO1xuICBwcml2YXRlIF92YWx1ZT86IG51bWJlciA9IDA7XG4gIHByaXZhdGUgX3NpemU6IHN0cmluZyA9ICdsYXJnZSc7XG5cbiAgLyoqXG4gICAqIEBvcHRpb25hbFxuICAgKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICpcbiAgICogSGFiaWxpdGEgbyBtb2RvIGluZGV0ZXJtaW5hZG8gbmEgYmFycmEgZGUgcHJvZ3Jlc3NvLCBxdWUgbW9zdHJhIHVtYSBhbmltYcOnw6NvIGZpeGEgc2VtIHVtIHZhbG9yIGVzdGFiZWxlY2lkby5cbiAgICpcbiAgICogRXN0YSBvcMOnw6NvIHBvZGUgc2VyIHV0aWxpemFkYSBxdWFuZG8gbsOjbyBzb3ViZXIgcXVhbnRvIHRlbXBvIGxldmFyw6EgcGFyYSBxdWUgdW0gcHJvY2Vzc28gc2VqYSBjb25jbHXDrWRvLlxuICAgKlxuICAgKiA+IENhc28gZXN0YSBwcm9wcmllZGFkZSBlIGEgYHAtdmFsdWVgIHNlamEgaGFiaWxpdGFkYSwgYSBwcm9wcmllZGFkZSBgcC12YWx1ZWAgc2Vyw6EgaWdub3JhZGEuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIEBJbnB1dCgncC1pbmRldGVybWluYXRlJykgc2V0IGluZGV0ZXJtaW5hdGUoaW5kZXRlcm1pbmF0ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2luZGV0ZXJtaW5hdGUgPSBjb252ZXJ0VG9Cb29sZWFuKGluZGV0ZXJtaW5hdGUpO1xuICB9XG5cbiAgZ2V0IGluZGV0ZXJtaW5hdGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2luZGV0ZXJtaW5hdGU7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBWYWxvciBxdWUgcmVwcmVzZW50YXLDoSBvIHByb2dyZXNzby5cbiAgICpcbiAgICogPiBPcyB2YWxvcmVzIGFjZWl0b3Mgc8OjbyBuw7ptZXJvcyBpbnRlaXJvcyBkZSBgMGAgw6AgYDEwMGAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAwYFxuICAgKi9cbiAgQElucHV0KCdwLXZhbHVlJykgc2V0IHZhbHVlKHZhbHVlOiBudW1iZXIpIHtcbiAgICBjb25zdCBpbnRlZ2VyVmFsdWUgPSBjb252ZXJ0VG9JbnQodmFsdWUsIHBvUHJvZ3Jlc3NNaW5WYWx1ZSk7XG4gICAgY29uc3QgaXNQcm9ncmVzc1JhbmdlVmFsdWUgPSB0aGlzLmlzUHJvZ3Jlc3NSYW5nZVZhbHVlKGludGVnZXJWYWx1ZSk7XG5cbiAgICB0aGlzLl92YWx1ZSA9IGlzUHJvZ3Jlc3NSYW5nZVZhbHVlID8gaW50ZWdlclZhbHVlIDogcG9Qcm9ncmVzc01pblZhbHVlO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAb3B0aW9uYWxcbiAgICpcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqXG4gICAqIERlZmluacOnw6NvIGRvIHRhbWFuaG8gZGEgYWx0dXJhIGRhIGJhcnJhIGRlIHByb2dyZXNzby5cbiAgICpcbiAgICogVmFsb3JlcyB2w6FsaWRvczpcbiAgICogIC0gYG1lZGl1bWA6IHRhbWFuaG8gbcOpZGlvXG4gICAqICAtIGBsYXJnZWA6IHRhbWFuaG8gZ3JhbmRlXG4gICAqXG4gICAqIEBkZWZhdWx0IGBsYXJnZWBcbiAgICovXG4gIEBJbnB1dCgncC1zaXplJykgc2V0IHNpemUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NpemUgPSBQb1Byb2dyZXNzU2l6ZVt2YWx1ZV0gPyBQb1Byb2dyZXNzU2l6ZVt2YWx1ZV0gOiBQb1Byb2dyZXNzU2l6ZS5sYXJnZTtcbiAgfVxuXG4gIGdldCBzaXplKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gIH1cblxuICAvKipcbiAgICogQG9wdGlvbmFsXG4gICAqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKlxuICAgKiBBdGl2YSBhIGV4aWJpw6fDo28gZGEgcG9yY2VudGFnZW0gYXR1YWwgZGEgYmFycmEgZGUgcHJvZ3Jlc3NvLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICBASW5wdXQoeyBhbGlhczogJ3Atc2hvdy1wZXJjZW50YWdlJywgdHJhbnNmb3JtOiBjb252ZXJ0VG9Cb29sZWFuIH0pIHNob3dQZXJjZW50YWdlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBpc1Byb2dyZXNzUmFuZ2VWYWx1ZSh2YWx1ZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHZhbHVlID49IHBvUHJvZ3Jlc3NNaW5WYWx1ZSAmJiB2YWx1ZSA8PSBwb1Byb2dyZXNzTWF4VmFsdWU7XG4gIH1cbn1cbiJdfQ==