@ieeesa-npm/presentation 0.24.4 → 0.24.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/accordion/accordion.component.mjs +3 -3
- package/esm2022/lib/components/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/lib/components/card/card.component.mjs +3 -3
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/lib/components/chips/chips.component.mjs +3 -3
- package/esm2022/lib/components/data-table/data-table.component.mjs +3 -3
- package/esm2022/lib/components/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/lib/components/date-picker-header/date-picker-header.component.mjs +3 -3
- package/esm2022/lib/components/dynamic-form/dynamic-form.component.mjs +7 -16
- package/esm2022/lib/components/file-upload/file-upload.component.mjs +3 -3
- package/esm2022/lib/components/filter/filter.component.mjs +3 -3
- package/esm2022/lib/components/footer/footer.component.mjs +3 -3
- package/esm2022/lib/components/form-error/form-error.component.mjs +3 -3
- package/esm2022/lib/components/form-support-text/form-support-text.component.mjs +3 -3
- package/esm2022/lib/components/header/header.component.mjs +3 -3
- package/esm2022/lib/components/icon-button/icon-button.component.mjs +3 -3
- package/esm2022/lib/components/image-preview/image-preview.component.mjs +3 -3
- package/esm2022/lib/components/inactive-tenant/inactive-tenant.component.mjs +3 -3
- package/esm2022/lib/components/input/input.component.mjs +3 -3
- package/esm2022/lib/components/list/list.component.mjs +3 -3
- package/esm2022/lib/components/loader/loader.component.mjs +3 -3
- package/esm2022/lib/components/menu/menu.component.mjs +3 -3
- package/esm2022/lib/components/modal/modal.component.mjs +3 -3
- package/esm2022/lib/components/modal-confirmation/modal-confirmation.component.mjs +3 -3
- package/esm2022/lib/components/multi-select-autocomplete/multi-select-autocomplete.component.mjs +3 -3
- package/esm2022/lib/components/navigation-menu/navigation-menu.component.mjs +3 -3
- package/esm2022/lib/components/notification/notification.component.mjs +3 -3
- package/esm2022/lib/components/radio/radio.component.mjs +3 -3
- package/esm2022/lib/components/rich-text-editor/rich-text-editor.component.mjs +3 -3
- package/esm2022/lib/components/search/search.component.mjs +3 -3
- package/esm2022/lib/components/select/select.component.mjs +3 -3
- package/esm2022/lib/components/slide-toggle/slide-toggle.component.mjs +3 -3
- package/esm2022/lib/components/tabs/tabs.component.mjs +3 -3
- package/esm2022/lib/components/text-area/text-area.component.mjs +3 -3
- package/esm2022/lib/components/tile/tile.component.mjs +3 -3
- package/esm2022/lib/components/time-picker/time-picker.component.mjs +3 -3
- package/esm2022/lib/components/toggle-button/toggle-button.component.mjs +3 -3
- package/esm2022/lib/components/welcome/welcome.component.mjs +3 -3
- package/fesm2022/ieeesa-npm-presentation.mjs +82 -91
- package/fesm2022/ieeesa-npm-presentation.mjs.map +1 -1
- package/lib/components/dynamic-form/dynamic-form.component.d.ts +3 -9
- package/package.json +1 -1
|
@@ -242,7 +242,7 @@ export class FileUploadComponent {
|
|
|
242
242
|
return index;
|
|
243
243
|
}
|
|
244
244
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileUploadComponent, deps: [{ token: i1.FormUtilityService }, { token: i2.FileUploadService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
245
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileUploadComponent, isStandalone: true, selector: "ieeesa-file-upload", inputs: { formControlName: "formControlName", isFileSelected: "isFileSelected", supportMessage: "supportMessage", allowedFileTypes: "allowedFileTypes", isMultiFileUpload: "isMultiFileUpload", isUploadInProgress: "isUploadInProgress", fileUploadHeading: "fileUploadHeading", maxUploadFileSize: "maxUploadFileSize", uploadedSize: "uploadedSize" }, outputs: { uploadSelectedFiles: "uploadSelectedFiles", downloadSelectedFile: "downloadSelectedFile" }, ngImport: i0, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-file-upload\"\r\n [ngClass]=\"\r\n config.isLabelAlignedLeft\r\n ? 'ieeesa-file-upload__label-left'\r\n : 'ieeesa-file-upload__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-file-upload__label\">{{\r\n config.label\r\n }}</mat-label>\r\n <div class=\"ieeesa-file-upload__list\" *ngIf=\"!isFormField\">\r\n <div\r\n *ngFor=\"let file of uploadedFiles; let i = index; trackBy: trackByFn\"\r\n class=\"ieeesa-file-upload__list__item mb-1 w-50 d-flex justify-content-between align-items-center\"\r\n >\r\n <button\r\n class=\"mat-text-button border-0 ieeesa-file-upload__list__name ieeesa-body-sm-bold-14\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.fileDownload\"\r\n (click)=\"downloadFile()\"\r\n >\r\n {{ file.name }}\r\n </button>\r\n <button\r\n class=\"ieeesa-icon-button border-0 ieeesa-file-upload__list__delete-btn\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.deleteFileIcon\"\r\n (click)=\"onDeleteFile(file, i)\"\r\n >\r\n <svg class=\"ieeesa-file-upload__list__delete-btn__icon\">\r\n <use [attr.xlink:href]=\"fileUploadIconUrl.deleteIcon\"></use>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"ieeesa-file-upload__upload p-4\"\r\n ieeesaFileUpload\r\n (fileDropped)=\"getFile($event)\"\r\n >\r\n <p class=\"ieeesa-file-upload__upload__heading m-0 ieeesa-label-lg-bold-16\">\r\n {{ fileUploadHeading }}\r\n </p>\r\n <div class=\"ieeesa-file-upload__upload__browse-files\">\r\n <button\r\n mat-button\r\n (click)=\"fileField.click()\"\r\n class=\"ieeesa-file-upload__browse-btn mat-tertiary-button\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.browseFiles\"\r\n type=\"button\"\r\n >\r\n {{ fileUploadLabel.browseFiles }}\r\n </button>\r\n <input\r\n type=\"file\"\r\n #fileField\r\n (change)=\"getFile($any($event).target.files)\"\r\n hidden\r\n [accept]=\"allowedFileTypes\"\r\n multiple=\"isMultiFileUpload\"\r\n />\r\n <p\r\n class=\"ieeesa-file-upload__allowed-file-text m-0 ieeesa-label-md-14\"\r\n [attr.aria-label]=\"allowedFileTypesAndSizeText\"\r\n >\r\n {{ allowedFileTypesAndSizeText }}\r\n </p>\r\n </div>\r\n <div\r\n class=\"ieeesa-file-upload__upload-wrapper d-flex\"\r\n *ngIf=\"isFileSelected\"\r\n >\r\n <mat-form-field>\r\n <input\r\n class=\"ieeesa-file-upload__upload-wrapper__input-field ieeesa-body-lg-16\"\r\n type=\"text\"\r\n value=\"selectedFileNames\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [name]=\"config.controlName\"\r\n [attr.aria-label]=\"\r\n config.ariaLabel ?? fileUploadAriaLabel.fileUploadInput\r\n \"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n autocomplete=\"off\"\r\n (keydown)=\"onKeyDown($event)\"\r\n matInput\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-file-upload__upload-wrapper--clear-icon-btn\"\r\n matSuffix\r\n mat-icon-button\r\n [attr.aria-label]=\"fileUploadAriaLabel.removeFileIcon\"\r\n *ngIf=\"isFileSelected\"\r\n (click)=\"resetUpload()\"\r\n >\r\n <i\r\n class=\"fa-regular fa-circle-xmark ieeesa-input-field-upload__icon--clear\"\r\n ></i>\r\n </button>\r\n </mat-form-field>\r\n <ieeesa-icon-button\r\n class=\"ieeesa-file-upload__upload-wrapper--upload-btn d-flex align-items-center\"\r\n [iconButton]=\"fileUploadBtn\"\r\n [isLabelNeeded]=\"false\"\r\n (iconButtonClick)=\"onUpload()\"\r\n *ngIf=\"!isFormField\"\r\n >\r\n </ieeesa-icon-button>\r\n </div>\r\n <ng-container *ngIf=\"!isFormField\">\r\n <div class=\"ieeesa-file-upload__progress\" *ngIf=\"isUploadInProgress\">\r\n <p class=\"ieeesa-file-upload__progress__text\">\r\n {{ fileUploadLabel?.uploadProgress }}\r\n </p>\r\n <mat-progress-bar\r\n class=\"ieeesa-file-upload__progress--bar\"\r\n mode=\"determinate\"\r\n [value]=\"uploadedSize\"\r\n ></mat-progress-bar>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-file-upload__label-left{display:flex}.ieeesa-file-upload__label-top{display:block}.ieeesa-file-upload__list{margin-bottom:.75em}.ieeesa-file-upload__list__item{background-color:#b0d6ec;padding:0 .66em}.ieeesa-file-upload__list__name{background-color:#b0d6ec;font-family:Calibri Bold;margin-right:.625em;text-decoration:underline;color:#00629b!important}.ieeesa-file-upload__list__delete-btn{background-color:#b0d6ec}.ieeesa-file-upload__list__delete-btn__icon{height:18px;width:18px}.ieeesa-file-upload__upload{border:2px dashed #b0d6ec;background-color:#f8fcff;border-radius:6px}.ieeesa-file-upload__upload__heading{font-size:.875rem!important;color:#49454f!important;padding-bottom:.75em}.ieeesa-file-upload__upload__browse-files{display:flex;column-gap:.375em;padding-bottom:.75em;align-items:center}.ieeesa-file-upload__upload-wrapper{margin-bottom:.75em}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:60%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{background-color:#fff!important;border:1px solid #49454f;height:40px;border-radius:4px;padding-left:10px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-infix{min-height:40px;width:100%!important;padding-top:7px!important;padding-bottom:7px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field .mat-mdc-button-base{height:24px!important;width:24px!important;padding:0;margin-right:8px}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:after{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#1c1b1f!important}.ieeesa-file-upload__upload-wrapper__input-field.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1b1f;letter-spacing:0}.ieeesa-file-upload__upload-wrapper--clear-icon-btn{padding:0!important;height:2em!important;width:2em!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1{padding:0!important;border-radius:4px!important;background-color:#00629b!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;height:40px!important;width:40px!important;margin-left:2px}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1[disabled]{background-color:#d9d9d6!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__svg{height:1.5em;width:1.5em}.ieeesa-file-upload__progress{margin-bottom:.75em}.ieeesa-file-upload__progress__text{margin-bottom:6px}.ieeesa-file-upload__progress--bar{width:60%!important}.ieeesa-file-upload__progress--bar .mdc-linear-progress__bar-inner{border-color:#00629b!important}.ieeesa-file-upload__allowed-file-text{font-size:.75rem!important;font-style:italic!important;color:#63666a!important}.ieeesa-file-upload__browse-btn{height:2em!important;min-height:1.75em!important;min-width:4.25em!important;font-size:.875rem!important;padding:.625em .75!important}@media (max-width: 767px){.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:100%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{width:100%!important}.ieeesa-file-upload__upload__browse-files{display:flex;flex-direction:column;row-gap:.375em;padding-bottom:.75em;align-items:flex-start}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"], outputs: ["supportTextLinkClick"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i8.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: FileUploadDirective, selector: "[ieeesaFileUpload]", inputs: ["allowedFileTypes", "isMultiFileUpload"], outputs: ["fileDropped"] }, { kind: "component", type: IconButtonComponent, selector: "ieeesa-icon-button", inputs: ["iconButton", "isLabelNeeded"], outputs: ["iconButtonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
245
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileUploadComponent, isStandalone: true, selector: "ieeesa-file-upload", inputs: { formControlName: "formControlName", isFileSelected: "isFileSelected", supportMessage: "supportMessage", allowedFileTypes: "allowedFileTypes", isMultiFileUpload: "isMultiFileUpload", isUploadInProgress: "isUploadInProgress", fileUploadHeading: "fileUploadHeading", maxUploadFileSize: "maxUploadFileSize", uploadedSize: "uploadedSize" }, outputs: { uploadSelectedFiles: "uploadSelectedFiles", downloadSelectedFile: "downloadSelectedFile" }, ngImport: i0, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-file-upload\"\r\n [ngClass]=\"\r\n config.isLabelAlignedLeft\r\n ? 'ieeesa-file-upload__label-left'\r\n : 'ieeesa-file-upload__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-file-upload__label\">{{\r\n config.label\r\n }}</mat-label>\r\n <div class=\"ieeesa-file-upload__list\" *ngIf=\"!isFormField\">\r\n <div\r\n *ngFor=\"let file of uploadedFiles; let i = index; trackBy: trackByFn\"\r\n class=\"ieeesa-file-upload__list__item mb-1 w-50 d-flex justify-content-between align-items-center\"\r\n >\r\n <button\r\n class=\"mat-text-button border-0 ieeesa-file-upload__list__name ieeesa-body-sm-bold-14\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.fileDownload\"\r\n (click)=\"downloadFile()\"\r\n >\r\n {{ file.name }}\r\n </button>\r\n <button\r\n class=\"ieeesa-icon-button border-0 ieeesa-file-upload__list__delete-btn\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.deleteFileIcon\"\r\n (click)=\"onDeleteFile(file, i)\"\r\n >\r\n <svg class=\"ieeesa-file-upload__list__delete-btn__icon\">\r\n <use [attr.xlink:href]=\"fileUploadIconUrl.deleteIcon\"></use>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"ieeesa-file-upload__upload p-4\"\r\n ieeesaFileUpload\r\n (fileDropped)=\"getFile($event)\"\r\n >\r\n <p class=\"ieeesa-file-upload__upload__heading m-0 ieeesa-label-lg-bold-16\">\r\n {{ fileUploadHeading }}\r\n </p>\r\n <div class=\"ieeesa-file-upload__upload__browse-files\">\r\n <button\r\n mat-button\r\n (click)=\"fileField.click()\"\r\n class=\"ieeesa-file-upload__browse-btn mat-tertiary-button\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.browseFiles\"\r\n type=\"button\"\r\n >\r\n {{ fileUploadLabel.browseFiles }}\r\n </button>\r\n <input\r\n type=\"file\"\r\n #fileField\r\n (change)=\"getFile($any($event).target.files)\"\r\n hidden\r\n [accept]=\"allowedFileTypes\"\r\n multiple=\"isMultiFileUpload\"\r\n />\r\n <p\r\n class=\"ieeesa-file-upload__allowed-file-text m-0 ieeesa-label-md-14\"\r\n [attr.aria-label]=\"allowedFileTypesAndSizeText\"\r\n >\r\n {{ allowedFileTypesAndSizeText }}\r\n </p>\r\n </div>\r\n <div\r\n class=\"ieeesa-file-upload__upload-wrapper d-flex\"\r\n *ngIf=\"isFileSelected\"\r\n >\r\n <mat-form-field>\r\n <input\r\n class=\"ieeesa-file-upload__upload-wrapper__input-field ieeesa-body-lg-16\"\r\n type=\"text\"\r\n value=\"selectedFileNames\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [name]=\"config.controlName\"\r\n [attr.aria-label]=\"\r\n config.ariaLabel ?? fileUploadAriaLabel.fileUploadInput\r\n \"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n autocomplete=\"off\"\r\n (keydown)=\"onKeyDown($event)\"\r\n matInput\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-file-upload__upload-wrapper--clear-icon-btn\"\r\n matSuffix\r\n mat-icon-button\r\n [attr.aria-label]=\"fileUploadAriaLabel.removeFileIcon\"\r\n *ngIf=\"isFileSelected\"\r\n (click)=\"resetUpload()\"\r\n >\r\n <i\r\n class=\"fa-regular fa-circle-xmark ieeesa-input-field-upload__icon--clear\"\r\n ></i>\r\n </button>\r\n </mat-form-field>\r\n <ieeesa-icon-button\r\n class=\"ieeesa-file-upload__upload-wrapper--upload-btn d-flex align-items-center\"\r\n [iconButton]=\"fileUploadBtn\"\r\n [isLabelNeeded]=\"false\"\r\n (iconButtonClick)=\"onUpload()\"\r\n *ngIf=\"!isFormField\"\r\n >\r\n </ieeesa-icon-button>\r\n </div>\r\n <ng-container *ngIf=\"!isFormField\">\r\n <div class=\"ieeesa-file-upload__progress\" *ngIf=\"isUploadInProgress\">\r\n <p class=\"ieeesa-file-upload__progress__text\">\r\n {{ fileUploadLabel?.uploadProgress }}\r\n </p>\r\n <mat-progress-bar\r\n class=\"ieeesa-file-upload__progress--bar\"\r\n mode=\"determinate\"\r\n [value]=\"uploadedSize\"\r\n ></mat-progress-bar>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-file-upload__label-left{display:flex}.ieeesa-file-upload__label-top{display:block}.ieeesa-file-upload__list{margin-bottom:.75em}.ieeesa-file-upload__list__item{background-color:#b0d6ec;padding:0 .66em}.ieeesa-file-upload__list__name{background-color:#b0d6ec;font-family:Calibri Bold;margin-right:.625em;text-decoration:underline;color:#00629b!important}.ieeesa-file-upload__list__delete-btn{background-color:#b0d6ec}.ieeesa-file-upload__list__delete-btn__icon{height:18px;width:18px}.ieeesa-file-upload__upload{border:2px dashed #b0d6ec;background-color:#f8fcff;border-radius:6px}.ieeesa-file-upload__upload__heading{font-size:.875rem!important;color:#49454f!important;padding-bottom:.75em}.ieeesa-file-upload__upload__browse-files{display:flex;column-gap:.375em;padding-bottom:.75em;align-items:center}.ieeesa-file-upload__upload-wrapper{margin-bottom:.75em}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:60%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{background-color:#fff!important;border:1px solid #49454f;height:40px;border-radius:4px;padding-left:10px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-infix{min-height:40px;width:100%!important;padding-top:7px!important;padding-bottom:7px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field .mat-mdc-button-base{height:24px!important;width:24px!important;padding:0;margin-right:8px}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:after{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#1c1b1f!important}.ieeesa-file-upload__upload-wrapper__input-field.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1b1f;letter-spacing:0}.ieeesa-file-upload__upload-wrapper--clear-icon-btn{padding:0!important;height:2em!important;width:2em!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1{padding:0!important;border-radius:4px!important;background-color:#00629b!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;height:40px!important;width:40px!important;margin-left:2px}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1[disabled]{background-color:#d9d9d6!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__svg{height:1.5em;width:1.5em}.ieeesa-file-upload__progress{margin-bottom:.75em}.ieeesa-file-upload__progress__text{margin-bottom:6px}.ieeesa-file-upload__progress--bar{width:60%!important}.ieeesa-file-upload__progress--bar .mdc-linear-progress__bar-inner{border-color:#00629b!important}.ieeesa-file-upload__allowed-file-text{font-size:.75rem!important;font-style:italic!important;color:#63666a!important}.ieeesa-file-upload__browse-btn{height:2em!important;min-height:1.75em!important;min-width:4.25em!important;font-size:.875rem!important;padding:.625em .75!important}@media (max-width: 767px){.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:100%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{width:100%!important}.ieeesa-file-upload__upload__browse-files{display:flex;flex-direction:column;row-gap:.375em;padding-bottom:.75em;align-items:flex-start}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"], outputs: ["supportTextLinkClick"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i8.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: FileUploadDirective, selector: "[ieeesaFileUpload]", inputs: ["allowedFileTypes", "isMultiFileUpload"], outputs: ["fileDropped"] }, { kind: "component", type: IconButtonComponent, selector: "ieeesa-icon-button", inputs: ["iconButton", "isLabelNeeded"], outputs: ["iconButtonClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
246
246
|
}
|
|
247
247
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileUploadComponent, decorators: [{
|
|
248
248
|
type: Component,
|
|
@@ -257,7 +257,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
257
257
|
MatProgressBarModule,
|
|
258
258
|
FileUploadDirective,
|
|
259
259
|
IconButtonComponent,
|
|
260
|
-
], encapsulation: ViewEncapsulation.None, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-file-upload\"\r\n [ngClass]=\"\r\n config.isLabelAlignedLeft\r\n ? 'ieeesa-file-upload__label-left'\r\n : 'ieeesa-file-upload__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-file-upload__label\">{{\r\n config.label\r\n }}</mat-label>\r\n <div class=\"ieeesa-file-upload__list\" *ngIf=\"!isFormField\">\r\n <div\r\n *ngFor=\"let file of uploadedFiles; let i = index; trackBy: trackByFn\"\r\n class=\"ieeesa-file-upload__list__item mb-1 w-50 d-flex justify-content-between align-items-center\"\r\n >\r\n <button\r\n class=\"mat-text-button border-0 ieeesa-file-upload__list__name ieeesa-body-sm-bold-14\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.fileDownload\"\r\n (click)=\"downloadFile()\"\r\n >\r\n {{ file.name }}\r\n </button>\r\n <button\r\n class=\"ieeesa-icon-button border-0 ieeesa-file-upload__list__delete-btn\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.deleteFileIcon\"\r\n (click)=\"onDeleteFile(file, i)\"\r\n >\r\n <svg class=\"ieeesa-file-upload__list__delete-btn__icon\">\r\n <use [attr.xlink:href]=\"fileUploadIconUrl.deleteIcon\"></use>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"ieeesa-file-upload__upload p-4\"\r\n ieeesaFileUpload\r\n (fileDropped)=\"getFile($event)\"\r\n >\r\n <p class=\"ieeesa-file-upload__upload__heading m-0 ieeesa-label-lg-bold-16\">\r\n {{ fileUploadHeading }}\r\n </p>\r\n <div class=\"ieeesa-file-upload__upload__browse-files\">\r\n <button\r\n mat-button\r\n (click)=\"fileField.click()\"\r\n class=\"ieeesa-file-upload__browse-btn mat-tertiary-button\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.browseFiles\"\r\n type=\"button\"\r\n >\r\n {{ fileUploadLabel.browseFiles }}\r\n </button>\r\n <input\r\n type=\"file\"\r\n #fileField\r\n (change)=\"getFile($any($event).target.files)\"\r\n hidden\r\n [accept]=\"allowedFileTypes\"\r\n multiple=\"isMultiFileUpload\"\r\n />\r\n <p\r\n class=\"ieeesa-file-upload__allowed-file-text m-0 ieeesa-label-md-14\"\r\n [attr.aria-label]=\"allowedFileTypesAndSizeText\"\r\n >\r\n {{ allowedFileTypesAndSizeText }}\r\n </p>\r\n </div>\r\n <div\r\n class=\"ieeesa-file-upload__upload-wrapper d-flex\"\r\n *ngIf=\"isFileSelected\"\r\n >\r\n <mat-form-field>\r\n <input\r\n class=\"ieeesa-file-upload__upload-wrapper__input-field ieeesa-body-lg-16\"\r\n type=\"text\"\r\n value=\"selectedFileNames\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [name]=\"config.controlName\"\r\n [attr.aria-label]=\"\r\n config.ariaLabel ?? fileUploadAriaLabel.fileUploadInput\r\n \"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n autocomplete=\"off\"\r\n (keydown)=\"onKeyDown($event)\"\r\n matInput\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-file-upload__upload-wrapper--clear-icon-btn\"\r\n matSuffix\r\n mat-icon-button\r\n [attr.aria-label]=\"fileUploadAriaLabel.removeFileIcon\"\r\n *ngIf=\"isFileSelected\"\r\n (click)=\"resetUpload()\"\r\n >\r\n <i\r\n class=\"fa-regular fa-circle-xmark ieeesa-input-field-upload__icon--clear\"\r\n ></i>\r\n </button>\r\n </mat-form-field>\r\n <ieeesa-icon-button\r\n class=\"ieeesa-file-upload__upload-wrapper--upload-btn d-flex align-items-center\"\r\n [iconButton]=\"fileUploadBtn\"\r\n [isLabelNeeded]=\"false\"\r\n (iconButtonClick)=\"onUpload()\"\r\n *ngIf=\"!isFormField\"\r\n >\r\n </ieeesa-icon-button>\r\n </div>\r\n <ng-container *ngIf=\"!isFormField\">\r\n <div class=\"ieeesa-file-upload__progress\" *ngIf=\"isUploadInProgress\">\r\n <p class=\"ieeesa-file-upload__progress__text\">\r\n {{ fileUploadLabel?.uploadProgress }}\r\n </p>\r\n <mat-progress-bar\r\n class=\"ieeesa-file-upload__progress--bar\"\r\n mode=\"determinate\"\r\n [value]=\"uploadedSize\"\r\n ></mat-progress-bar>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-file-upload__label-left{display:flex}.ieeesa-file-upload__label-top{display:block}.ieeesa-file-upload__list{margin-bottom:.75em}.ieeesa-file-upload__list__item{background-color:#b0d6ec;padding:0 .66em}.ieeesa-file-upload__list__name{background-color:#b0d6ec;font-family:Calibri Bold;margin-right:.625em;text-decoration:underline;color:#00629b!important}.ieeesa-file-upload__list__delete-btn{background-color:#b0d6ec}.ieeesa-file-upload__list__delete-btn__icon{height:18px;width:18px}.ieeesa-file-upload__upload{border:2px dashed #b0d6ec;background-color:#f8fcff;border-radius:6px}.ieeesa-file-upload__upload__heading{font-size:.875rem!important;color:#49454f!important;padding-bottom:.75em}.ieeesa-file-upload__upload__browse-files{display:flex;column-gap:.375em;padding-bottom:.75em;align-items:center}.ieeesa-file-upload__upload-wrapper{margin-bottom:.75em}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:60%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{background-color:#fff!important;border:1px solid #49454f;height:40px;border-radius:4px;padding-left:10px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-infix{min-height:40px;width:100%!important;padding-top:7px!important;padding-bottom:7px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field .mat-mdc-button-base{height:24px!important;width:24px!important;padding:0;margin-right:8px}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:after{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#1c1b1f!important}.ieeesa-file-upload__upload-wrapper__input-field.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1b1f;letter-spacing:0}.ieeesa-file-upload__upload-wrapper--clear-icon-btn{padding:0!important;height:2em!important;width:2em!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1{padding:0!important;border-radius:4px!important;background-color:#00629b!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;height:40px!important;width:40px!important;margin-left:2px}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1[disabled]{background-color:#d9d9d6!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__svg{height:1.5em;width:1.5em}.ieeesa-file-upload__progress{margin-bottom:.75em}.ieeesa-file-upload__progress__text{margin-bottom:6px}.ieeesa-file-upload__progress--bar{width:60%!important}.ieeesa-file-upload__progress--bar .mdc-linear-progress__bar-inner{border-color:#00629b!important}.ieeesa-file-upload__allowed-file-text{font-size:.75rem!important;font-style:italic!important;color:#63666a!important}.ieeesa-file-upload__browse-btn{height:2em!important;min-height:1.75em!important;min-width:4.25em!important;font-size:.875rem!important;padding:.625em .75!important}@media (max-width: 767px){.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:100%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{width:100%!important}.ieeesa-file-upload__upload__browse-files{display:flex;flex-direction:column;row-gap:.375em;padding-bottom:.75em;align-items:flex-start}}\n"] }]
|
|
260
|
+
], encapsulation: ViewEncapsulation.None, template: "<div\r\n [formGroup]=\"group\"\r\n class=\"ieeesa-file-upload\"\r\n [ngClass]=\"\r\n config.isLabelAlignedLeft\r\n ? 'ieeesa-file-upload__label-left'\r\n : 'ieeesa-file-upload__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-file-upload__label\">{{\r\n config.label\r\n }}</mat-label>\r\n <div class=\"ieeesa-file-upload__list\" *ngIf=\"!isFormField\">\r\n <div\r\n *ngFor=\"let file of uploadedFiles; let i = index; trackBy: trackByFn\"\r\n class=\"ieeesa-file-upload__list__item mb-1 w-50 d-flex justify-content-between align-items-center\"\r\n >\r\n <button\r\n class=\"mat-text-button border-0 ieeesa-file-upload__list__name ieeesa-body-sm-bold-14\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.fileDownload\"\r\n (click)=\"downloadFile()\"\r\n >\r\n {{ file.name }}\r\n </button>\r\n <button\r\n class=\"ieeesa-icon-button border-0 ieeesa-file-upload__list__delete-btn\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.deleteFileIcon\"\r\n (click)=\"onDeleteFile(file, i)\"\r\n >\r\n <svg class=\"ieeesa-file-upload__list__delete-btn__icon\">\r\n <use [attr.xlink:href]=\"fileUploadIconUrl.deleteIcon\"></use>\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"ieeesa-file-upload__upload p-4\"\r\n ieeesaFileUpload\r\n (fileDropped)=\"getFile($event)\"\r\n >\r\n <p class=\"ieeesa-file-upload__upload__heading m-0 ieeesa-label-lg-bold-16\">\r\n {{ fileUploadHeading }}\r\n </p>\r\n <div class=\"ieeesa-file-upload__upload__browse-files\">\r\n <button\r\n mat-button\r\n (click)=\"fileField.click()\"\r\n class=\"ieeesa-file-upload__browse-btn mat-tertiary-button\"\r\n [attr.aria-label]=\"fileUploadAriaLabel.browseFiles\"\r\n type=\"button\"\r\n >\r\n {{ fileUploadLabel.browseFiles }}\r\n </button>\r\n <input\r\n type=\"file\"\r\n #fileField\r\n (change)=\"getFile($any($event).target.files)\"\r\n hidden\r\n [accept]=\"allowedFileTypes\"\r\n multiple=\"isMultiFileUpload\"\r\n />\r\n <p\r\n class=\"ieeesa-file-upload__allowed-file-text m-0 ieeesa-label-md-14\"\r\n [attr.aria-label]=\"allowedFileTypesAndSizeText\"\r\n >\r\n {{ allowedFileTypesAndSizeText }}\r\n </p>\r\n </div>\r\n <div\r\n class=\"ieeesa-file-upload__upload-wrapper d-flex\"\r\n *ngIf=\"isFileSelected\"\r\n >\r\n <mat-form-field>\r\n <input\r\n class=\"ieeesa-file-upload__upload-wrapper__input-field ieeesa-body-lg-16\"\r\n type=\"text\"\r\n value=\"selectedFileNames\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [name]=\"config.controlName\"\r\n [attr.aria-label]=\"\r\n config.ariaLabel ?? fileUploadAriaLabel.fileUploadInput\r\n \"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n autocomplete=\"off\"\r\n (keydown)=\"onKeyDown($event)\"\r\n matInput\r\n />\r\n <button\r\n type=\"button\"\r\n class=\"ieeesa-file-upload__upload-wrapper--clear-icon-btn\"\r\n matSuffix\r\n mat-icon-button\r\n [attr.aria-label]=\"fileUploadAriaLabel.removeFileIcon\"\r\n *ngIf=\"isFileSelected\"\r\n (click)=\"resetUpload()\"\r\n >\r\n <i\r\n class=\"fa-regular fa-circle-xmark ieeesa-input-field-upload__icon--clear\"\r\n ></i>\r\n </button>\r\n </mat-form-field>\r\n <ieeesa-icon-button\r\n class=\"ieeesa-file-upload__upload-wrapper--upload-btn d-flex align-items-center\"\r\n [iconButton]=\"fileUploadBtn\"\r\n [isLabelNeeded]=\"false\"\r\n (iconButtonClick)=\"onUpload()\"\r\n *ngIf=\"!isFormField\"\r\n >\r\n </ieeesa-icon-button>\r\n </div>\r\n <ng-container *ngIf=\"!isFormField\">\r\n <div class=\"ieeesa-file-upload__progress\" *ngIf=\"isUploadInProgress\">\r\n <p class=\"ieeesa-file-upload__progress__text\">\r\n {{ fileUploadLabel?.uploadProgress }}\r\n </p>\r\n <mat-progress-bar\r\n class=\"ieeesa-file-upload__progress--bar\"\r\n mode=\"determinate\"\r\n [value]=\"uploadedSize\"\r\n ></mat-progress-bar>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-file-upload__label-left{display:flex}.ieeesa-file-upload__label-top{display:block}.ieeesa-file-upload__list{margin-bottom:.75em}.ieeesa-file-upload__list__item{background-color:#b0d6ec;padding:0 .66em}.ieeesa-file-upload__list__name{background-color:#b0d6ec;font-family:Calibri Bold;margin-right:.625em;text-decoration:underline;color:#00629b!important}.ieeesa-file-upload__list__delete-btn{background-color:#b0d6ec}.ieeesa-file-upload__list__delete-btn__icon{height:18px;width:18px}.ieeesa-file-upload__upload{border:2px dashed #b0d6ec;background-color:#f8fcff;border-radius:6px}.ieeesa-file-upload__upload__heading{font-size:.875rem!important;color:#49454f!important;padding-bottom:.75em}.ieeesa-file-upload__upload__browse-files{display:flex;column-gap:.375em;padding-bottom:.75em;align-items:center}.ieeesa-file-upload__upload-wrapper{margin-bottom:.75em}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:60%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{background-color:#fff!important;border:1px solid #49454f;height:40px;border-radius:4px;padding-left:10px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field-infix{min-height:40px;width:100%!important;padding-top:7px!important;padding-bottom:7px!important}.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field .mat-mdc-button-base{height:24px!important;width:24px!important;padding:0;margin-right:8px}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:before{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-line-ripple:after{border:unset}.ieeesa-file-upload__upload-wrapper .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#1c1b1f!important}.ieeesa-file-upload__upload-wrapper__input-field.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#1c1b1f;letter-spacing:0}.ieeesa-file-upload__upload-wrapper--clear-icon-btn{padding:0!important;height:2em!important;width:2em!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1{padding:0!important;border-radius:4px!important;background-color:#00629b!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset;height:40px!important;width:40px!important;margin-left:2px}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__1[disabled]{background-color:#d9d9d6!important;box-shadow:0 1px 4px #00000040,0 4px #00b5e2 inset!important}.ieeesa-file-upload__upload-wrapper--upload-btn .ieeesa-icon-button__svg{height:1.5em;width:1.5em}.ieeesa-file-upload__progress{margin-bottom:.75em}.ieeesa-file-upload__progress__text{margin-bottom:6px}.ieeesa-file-upload__progress--bar{width:60%!important}.ieeesa-file-upload__progress--bar .mdc-linear-progress__bar-inner{border-color:#00629b!important}.ieeesa-file-upload__allowed-file-text{font-size:.75rem!important;font-style:italic!important;color:#63666a!important}.ieeesa-file-upload__browse-btn{height:2em!important;min-height:1.75em!important;min-width:4.25em!important;font-size:.875rem!important;padding:.625em .75!important}@media (max-width: 767px){.ieeesa-file-upload__upload-wrapper .mat-mdc-form-field{width:100%}.ieeesa-file-upload__upload-wrapper .mat-mdc-text-field-wrapper{width:100%!important}.ieeesa-file-upload__upload__browse-files{display:flex;flex-direction:column;row-gap:.375em;padding-bottom:.75em;align-items:flex-start}}\n"] }]
|
|
261
261
|
}], ctorParameters: function () { return [{ type: i1.FormUtilityService }, { type: i2.FileUploadService }]; }, propDecorators: { formControlName: [{
|
|
262
262
|
type: Input
|
|
263
263
|
}], isFileSelected: [{
|
|
@@ -281,4 +281,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
281
281
|
}], downloadSelectedFile: [{
|
|
282
282
|
type: Output
|
|
283
283
|
}] } });
|
|
284
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEtBQUssU0FBUyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBR3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxD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RSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLG1CQUFtQjtxQkFDcEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTt5SUF3QjVCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0YsWUFBWTtzQkFEZixLQUFLO2dCQU9JLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1zdXBwb3J0LXRleHQvZm9ybS1zdXBwb3J0LXRleHQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybVV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS11dGlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWNvbnRyb2wtdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBBbGxvd2VkRmlsZVR5cGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FsbG93ZWQtZmlsZS10eXBlcy5tb2RlbCc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7XHJcbmltcG9ydCB7IEljb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xyXG4vKipcclxuICogUHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgdXBsb2FkaW5nIGZpbGVzIHRvIGF3cyBzMyBidWNrZXQuXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWZpbGUtdXBsb2FkJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudCxcclxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgRmlsZVVwbG9hZERpcmVjdGl2ZSxcclxuICAgIEljb25CdXR0b25Db21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0YW50cyA9IGNvbnN0YW50cztcclxuICBmaWxlVXBsb2FkTGFiZWwgPSB0aGlzLmNvbnN0YW50cz8uZmlsZVVwbG9hZD8ubGFiZWw7XHJcbiAgZmlsZVVwbG9hZEFyaWFMYWJlbCA9IHRoaXMuY29uc3RhbnRzPy5maWxlVXBsb2FkPy5hcmlhTGFiZWw7XHJcbiAgZmlsZVVwbG9hZEljb25VcmwgPSB0aGlzLmNvbnN0YW50cz8uZmlsZVVwbG9hZD8uaWNvblVybDtcclxuICBmaWxlVXBsb2FkQnRuID0gdGhpcy5jb25zdGFudHM/LmZpbGVVcGxvYWQ/LmJ1dHRvbnNbMF07XHJcbiAgYWxsb3dlZEZpbGVUeXBlRXJyb3JNZXNzYWdlID1cclxuICAgIHRoaXMuY29uc3RhbnRzPy5maWxlVXBsb2FkPy5tZXNzYWdlPy5lcnJvcj8uaW52YWxpZEZpbGVGb3JtYXQ7XHJcbiAgbWF4RmlsZVNpemVFcnJvck1lc3NhZ2UgPVxyXG4gICAgdGhpcy5jb25zdGFudHM/LmZpbGVVcGxvYWQ/Lm1lc3NhZ2U/LmVycm9yPy5pbnZhbGlkRmlsZVNpemU7XHJcbiAgYWxsb3dlZEZpbGVUeXBlc0FuZFNpemVUZXh0ID0gJyc7XHJcbiAgY29uZmlnITogRmllbGRDb25maWc7XHJcbiAgZ3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgaXNWYWxpZEZpbGVUeXBlID0gZmFsc2U7XHJcbiAgaXNWYWxpZEZpbGVTaXplID0gZmFsc2U7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzZWxlY3RlZEZpbGVzOiBGaWxlTGlzdCB8IEZpbGUgfCBhbnkgPSBbXTtcclxuICBzZWxlY3RlZEZpbGVOYW1lcyA9ICcnO1xyXG4gIGlzRm9ybUZpZWxkID0gZmFsc2U7XHJcbiAgdG90YWxTaXplID0gMDtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHVwbG9hZGVkRmlsZXM6IEZpbGVMaXN0IHwgRmlsZSB8IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZSA9ICdmaWxlVXBsb2FkJztcclxuICBASW5wdXQoKSBpc0ZpbGVTZWxlY3RlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHN1cHBvcnRNZXNzYWdlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFsbG93ZWRGaWxlVHlwZXM6IEFsbG93ZWRGaWxlVHlwZXNbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGlzTXVsdGlGaWxlVXBsb2FkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNVcGxvYWRJblByb2dyZXNzID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZmlsZVVwbG9hZEhlYWRpbmchOiBzdHJpbmc7XHJcbiAgLy8gRGVmYXVsdCBtYXhpbXVtIGFsbG93ZWQgdXBsb2FkIGZpbGUgc2l6ZSBpcyAybWIuXHJcbiAgQElucHV0KCkgbWF4VXBsb2FkRmlsZVNpemUgPSAyO1xyXG4gIHByaXZhdGUgdXBsb2FkZWRTaXplVmFsdWUgPSAwO1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHVwbG9hZGVkU2l6ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMudXBsb2FkZWRTaXplVmFsdWU7XHJcbiAgfVxyXG4gIHNldCB1cGxvYWRlZFNpemUodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy51cGxvYWRlZFNpemVWYWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuICBAT3V0cHV0KCkgdXBsb2FkU2VsZWN0ZWRGaWxlcyA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZSB8IEZpbGVMaXN0PigpO1xyXG4gIEBPdXRwdXQoKSBkb3dubG9hZFNlbGVjdGVkRmlsZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZSB8IEZpbGVMaXN0PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGZvcm1VdGlsaXR5U2VydmljZTogRm9ybVV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eS1mdW5jdGlvblxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZXMgY29tcG9uZW50IHByb3BlcnRpZXMgYW5kIHJldHJpZXZlcyBjb25maWd1cmF0aW9uLlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRm9ybUZpZWxkID0gISF0aGlzLmNvbmZpZztcclxuICAgIHRoaXMuY29uZmlnID1cclxuICAgICAgdGhpcy5jb25maWcgPz9cclxuICAgICAgdGhpcy5mb3JtVXRpbGl0eVNlcnZpY2UuZ2V0Rm9ybUZpZWxkQ29uZmlnKFxyXG4gICAgICAgICdmaWxlVXBsb2FkJyxcclxuICAgICAgICBGb3JtQ29udHJvbFR5cGUuRklMRV9VUExPQURcclxuICAgICAgKTtcclxuICAgIHRoaXMuZ3JvdXAgPVxyXG4gICAgICB0aGlzLmdyb3VwID8/IHRoaXMuZm9ybVV0aWxpdHlTZXJ2aWNlLmdldEZvcm1Hcm91cCgnZmlsZVVwbG9hZCcpO1xyXG4gICAgdGhpcy5jb25maWcuc3VwcG9ydE1lc3NhZ2UgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8uc3VwcG9ydE1lc3NhZ2UgPz8gdGhpcy5zdXBwb3J0TWVzc2FnZTtcclxuICAgIHRoaXMuaXNNdWx0aUZpbGVVcGxvYWQgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8uaXNNdWx0aUZpbGVVcGxvYWQgPz8gdGhpcy5pc011bHRpRmlsZVVwbG9hZDtcclxuICAgIHRoaXMubWF4VXBsb2FkRmlsZVNpemUgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8ubWF4VXBsb2FkRmlsZVNpemUgPz8gdGhpcy5tYXhVcGxvYWRGaWxlU2l6ZTtcclxuICAgIHRoaXMuYWxsb3dlZEZpbGVUeXBlcyA9XHJcbiAgICAgIHRoaXMuY29uZmlnPy5hbGxvd2VkRmlsZVR5cGVzID8/IHRoaXMuYWxsb3dlZEZpbGVUeXBlcztcclxuICAgIHRoaXMuZ2V0QWxsb3dlZEZpbGVGb3JtYXRTaXplTWVzc2FnZSgpO1xyXG4gICAgdGhpcy5maWxlVXBsb2FkSGVhZGluZyA9XHJcbiAgICAgIHRoaXMuY29uZmlnPy5maWxlVXBsb2FkSGVhZGluZyA/P1xyXG4gICAgICB0aGlzLmZpbGVVcGxvYWRIZWFkaW5nID8/XHJcbiAgICAgIHRoaXMuZmlsZVVwbG9hZExhYmVsLmZpbGVVcGxvYWQ7XHJcbiAgICB0aGlzLmNvbmZpZy5hbGxvd2VkRmlsZVR5cGVFcnJvck1lc3NhZ2UgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8uYWxsb3dlZEZpbGVUeXBlRXJyb3JNZXNzYWdlID8/XHJcbiAgICAgIHRoaXMuYWxsb3dlZEZpbGVUeXBlRXJyb3JNZXNzYWdlO1xyXG4gICAgdGhpcy5jb25maWcubWF4RmlsZVNpemVFcnJvck1lc3NhZ2UgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8ubWF4RmlsZVNpemVFcnJvck1lc3NhZ2UgPz8gdGhpcy5tYXhGaWxlU2l6ZUVycm9yTWVzc2FnZTtcclxuICAgIHRoaXMuaXNGaWxlU2VsZWN0ZWQgPSB0aGlzLmNvbmZpZz8uaXNGaWxlU2VsZWN0ZWQgPz8gdGhpcy5pc0ZpbGVTZWxlY3RlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvcm1hdHMgYWxsb3dlZCBmaWxlIGZvcm1hdCBhbmQgc2l6ZSBtZXNzYWdlIGluIHJlcXVpcmVkIGZvcm1hdC5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldEFsbG93ZWRGaWxlRm9ybWF0U2l6ZU1lc3NhZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdXBwb3J0ZWRGaWxlRm9ybWF0VGV4dCA9IHRoaXMuYWxsb3dlZEZpbGVUeXBlcy5qb2luKCcsICcpO1xyXG4gICAgdGhpcy5hbGxvd2VkRmlsZVR5cGVzQW5kU2l6ZVRleHQgPSBgJHt0aGlzLmZpbGVVcGxvYWRMYWJlbD8uYWxsb3dlZEZpbGVTaXplMX1cclxuICAgICR7dGhpcy5tYXhVcGxvYWRGaWxlU2l6ZX0gICR7dGhpcy5maWxlVXBsb2FkTGFiZWw/LmFsbG93ZWRGaWxlU2l6ZTJ9ICR7dGhpcy5maWxlVXBsb2FkTGFiZWw/LmFsbG93ZWRGaWxlRm9ybWF0fSAke3N1cHBvcnRlZEZpbGVGb3JtYXRUZXh0fS5gO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyB0aGUgc2VsZWN0ZWQgb2YgZmlsZShzKSBhbmQgZW1pdHMgRmlsZVVwbG9hZCBldmVudCBlbWl0dGVyIGZvciB1cGxvYWRpbmcgdGhlIGZpbGUocykuXHJcbiAgICogQHBhcmFtIHsoRmlsZSB8IEZpbGVMaXN0KX0gZmlsZVxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0RmlsZShmaWxlOiBGaWxlIHwgRmlsZUxpc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlcyA9IFtdO1xyXG4gICAgY29uc3QgZmlsZVVwbG9hZEZvcm1Db250cm9sID0gdGhpcy5ncm91cD8uZ2V0KFxyXG4gICAgICB0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUgPz8gJ2ZpbGVVcGxvYWQnXHJcbiAgICApO1xyXG4gICAgaWYgKGZpbGVVcGxvYWRGb3JtQ29udHJvbCkge1xyXG4gICAgICBmaWxlVXBsb2FkRm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmlzTXVsdGlGaWxlVXBsb2FkKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGVGaWxlKGZpbGUpO1xyXG4gICAgICBpZiAodGhpcy5pc1ZhbGlkRmlsZVR5cGUgJiYgdGhpcy5pc1ZhbGlkRmlsZVNpemUpIHtcclxuICAgICAgICBpZiAoZmlsZSkge1xyXG4gICAgICAgICAgT2JqZWN0LnZhbHVlcyhmaWxlKS5mb3JFYWNoKChmaWxlSXRlbTogRmlsZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZXM/LnB1c2goZmlsZUl0ZW0pO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsU2l6ZSArPSBmaWxlSXRlbS5zaXplO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkRmlsZXM/Lmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuaXNGaWxlU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRmlsZXNOYW1lczogc3RyaW5nW10gPSBbXTtcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlcz8uZm9yRWFjaCgoZmlsZTogRmlsZSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgc2VsZWN0ZWRGaWxlc05hbWVzLnB1c2goZmlsZS5uYW1lKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZU5hbWVzID0gc2VsZWN0ZWRGaWxlc05hbWVzPy5qb2luKCcsICcpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5ncm91cFxyXG4gICAgICAgICAgLmdldCh0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUpXHJcbiAgICAgICAgICA/LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRGaWxlTmFtZXMpO1xyXG4gICAgICAgIHRoaXMuZmlsZVVwbG9hZEJ0bi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLmlzRm9ybUZpZWxkKVxyXG4gICAgICAgICAgdGhpcy51cGxvYWRTZWxlY3RlZEZpbGVzPy5lbWl0KHRoaXMuc2VsZWN0ZWRGaWxlcyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGZpbGVJdGVtID0gT2JqZWN0LnZhbHVlcyhmaWxlKVswXTtcclxuICAgICAgdGhpcy52YWxpZGF0ZUZpbGUoZmlsZUl0ZW0pO1xyXG4gICAgICBpZiAodGhpcy5pc1ZhbGlkRmlsZVR5cGUgJiYgdGhpcy5pc1ZhbGlkRmlsZVNpemUpIHtcclxuICAgICAgICB0aGlzLmlzRmlsZVNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZU5hbWVzID0gZmlsZUl0ZW0ubmFtZTtcclxuICAgICAgICB0aGlzLnRvdGFsU2l6ZSA9IGZpbGVJdGVtLnNpemU7XHJcbiAgICAgICAgdGhpcy5maWxlVXBsb2FkU2VydmljZT8uY29udmVydEZpbGVUb0J5dGVBcnJheShmaWxlSXRlbSk7XHJcbiAgICAgICAgdGhpcy5ncm91cFxyXG4gICAgICAgICAgLmdldCh0aGlzLmNvbmZpZy5jb250cm9sTmFtZSlcclxuICAgICAgICAgID8uc2V0VmFsdWUodGhpcy5zZWxlY3RlZEZpbGVOYW1lcyk7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNGb3JtRmllbGQpIHRoaXMudXBsb2FkU2VsZWN0ZWRGaWxlcy5lbWl0KGZpbGVJdGVtKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBmaWxlO1xyXG4gICAgICAgIHRoaXMuZmlsZVVwbG9hZEJ0bi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZXMgdGhlIHNlbGVjdGVkIGZpbGUocykgZm9ybWF0IGFuZCBzaXplLlxyXG4gICAqIEBwYXJhbSB7KEZpbGUgfCBGaWxlTGlzdCl9IGZpbGVcclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHZhbGlkYXRlRmlsZShmaWxlOiBGaWxlIHwgRmlsZUxpc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNWYWxpZEZpbGVUeXBlID0gdGhpcy5maWxlVXBsb2FkU2VydmljZS52YWxpZGF0ZUZpbGVUeXBlcyhcclxuICAgICAgZmlsZSxcclxuICAgICAgdGhpcy5hbGxvd2VkRmlsZVR5cGVzLFxyXG4gICAgICB0aGlzLmlzTXVsdGlGaWxlVXBsb2FkXHJcbiAgICApO1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWRGaWxlVHlwZSkge1xyXG4gICAgICB0aGlzLmdyb3VwPy5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8uc2V0RXJyb3JzKHtcclxuICAgICAgICBpbnZhbGlkRmlsZVR5cGU6IHRydWUsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc1ZhbGlkRmlsZVNpemUgPSB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLnZhbGlkYXRlRmlsZVNpemUoXHJcbiAgICAgIGZpbGUsXHJcbiAgICAgIHRoaXMubWF4VXBsb2FkRmlsZVNpemUsXHJcbiAgICAgIHRoaXMuaXNNdWx0aUZpbGVVcGxvYWRcclxuICAgICk7XHJcbiAgICBpZiAoIXRoaXMuaXNWYWxpZEZpbGVTaXplKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXA/LmdldCh0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUpPy5zZXRFcnJvcnMoe1xyXG4gICAgICAgIG1heEZpbGVTaXplOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYXRlcyB0aGUgZmlsZSB1cGxvYWQgcHJvY2VzcyBmb3IgaW5kZXBlbmRlbnQgZmlsZSB1cGxvYWQgY29tcG9uZW50LlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25VcGxvYWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwbG9hZFNlbGVjdGVkRmlsZXMuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZXMpO1xyXG4gICAgaWYgKHRoaXMuZmlsZVVwbG9hZFNlcnZpY2U/LmdldEZpbGVVcGxvYWRTdGF0dXMoKSkge1xyXG4gICAgICB0aGlzLnVwbG9hZGVkRmlsZXMgPSB0aGlzLnNlbGVjdGVkRmlsZXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhcnMgdGhlIGZvcm0gZ3JvdXAgY29udHJvbCB2YWx1ZSBvZiB0eXBlIGlucHV0IGFuZCByZXNldHMgb3RoZXIgZmlsZSB1cGxvYWQgcHJvcGVydGllcy5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHJlc2V0VXBsb2FkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlVXBsb2FkU2VydmljZS5jbGVhckZpbGVCeXRlQXJyYXkoKTtcclxuICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IFtdO1xyXG4gICAgdGhpcy5pc1VwbG9hZEluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlTmFtZXMgPSAnJztcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlcyA9IFtdO1xyXG4gICAgdGhpcy5pc0ZpbGVTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5ncm91cC5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8uc2V0VmFsdWUoJycpO1xyXG4gICAgdGhpcy5maWxlVXBsb2FkQnRuLmRpc2FibGVkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZXMgdGhlIHNlbGVjdGVkIGZpbGUgZnJvbSB0aGUgdXBsb2FkZWQgZmlsZXMgbGlzdC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRGVsZXRlRmlsZShmaWxlOiBGaWxlLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvdGFsU2l6ZSA9IDA7XHJcbiAgICB0aGlzLnVwbG9hZGVkRmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvciB0YWIga2V5IGtleWRvd24gZXZlbnQgaXQgcGFzc2VzIGV2ZW50IGFuZCByZXN0cmljdHMgb3RoZXIga2V5cyBmcm9tIGtleWJvYXJkLlxyXG4gICAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgLUtleWRvd24gZXZlbnQgb2JqZWN0LlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnVGFiJykgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGZpbGUgZG93bmxvYWQgZXZlbnQgZW1pdHRlci5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGRvd25sb2FkRmlsZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZG93bmxvYWRTZWxlY3RlZEZpbGUuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGZpbGUgbGlzdC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAcmV0dXJuIHsobnVtYmVyIHwgc3RyaW5nKX1cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyKTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkXCJcclxuICBbbmdDbGFzc109XCJcclxuICAgIGNvbmZpZy5pc0xhYmVsQWxpZ25lZExlZnRcclxuICAgICAgPyAnaWVlZXNhLWZpbGUtdXBsb2FkX19sYWJlbC1sZWZ0J1xyXG4gICAgICA6ICdpZWVlc2EtZmlsZS11cGxvYWRfX2xhYmVsLXRvcCdcclxuICBcIlxyXG4+XHJcbiAgPG1hdC1sYWJlbCBjbGFzcz1cImllZWVzYS1ib2R5LXNtLTE0IGllZWVzYS1maWxlLXVwbG9hZF9fbGFiZWxcIj57e1xyXG4gICAgY29uZmlnLmxhYmVsXHJcbiAgfX08L21hdC1sYWJlbD5cclxuICA8ZGl2IGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX19saXN0XCIgKm5nSWY9XCIhaXNGb3JtRmllbGRcIj5cclxuICAgIDxkaXZcclxuICAgICAgKm5nRm9yPVwibGV0IGZpbGUgb2YgdXBsb2FkZWRGaWxlczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX2xpc3RfX2l0ZW0gbWItMSB3LTUwIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJtYXQtdGV4dC1idXR0b24gYm9yZGVyLTAgaWVlZXNhLWZpbGUtdXBsb2FkX19saXN0X19uYW1lIGllZWVzYS1ib2R5LXNtLWJvbGQtMTRcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsZVVwbG9hZEFyaWFMYWJlbC5maWxlRG93bmxvYWRcIlxyXG4gICAgICAgIChjbGljayk9XCJkb3dubG9hZEZpbGUoKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBmaWxlLm5hbWUgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBjbGFzcz1cImllZWVzYS1pY29uLWJ1dHRvbiBib3JkZXItMCBpZWVlc2EtZmlsZS11cGxvYWRfX2xpc3RfX2RlbGV0ZS1idG5cIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsZVVwbG9hZEFyaWFMYWJlbC5kZWxldGVGaWxlSWNvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlRmlsZShmaWxlLCBpKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8c3ZnIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX19saXN0X19kZWxldGUtYnRuX19pY29uXCI+XHJcbiAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwiZmlsZVVwbG9hZEljb25VcmwuZGVsZXRlSWNvblwiPjwvdXNlPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX191cGxvYWQgcC00XCJcclxuICAgIGllZWVzYUZpbGVVcGxvYWRcclxuICAgIChmaWxlRHJvcHBlZCk9XCJnZXRGaWxlKCRldmVudClcIlxyXG4gID5cclxuICAgIDxwIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX191cGxvYWRfX2hlYWRpbmcgbS0wIGllZWVzYS1sYWJlbC1sZy1ib2xkLTE2XCI+XHJcbiAgICAgIHt7IGZpbGVVcGxvYWRIZWFkaW5nIH19XHJcbiAgICA8L3A+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX191cGxvYWRfX2Jyb3dzZS1maWxlc1wiPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgIChjbGljayk9XCJmaWxlRmllbGQuY2xpY2soKVwiXHJcbiAgICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX2Jyb3dzZS1idG4gbWF0LXRlcnRpYXJ5LWJ1dHRvblwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJmaWxlVXBsb2FkQXJpYUxhYmVsLmJyb3dzZUZpbGVzXCJcclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGZpbGVVcGxvYWRMYWJlbC5icm93c2VGaWxlcyB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cImZpbGVcIlxyXG4gICAgICAgICNmaWxlRmllbGRcclxuICAgICAgICAoY2hhbmdlKT1cImdldEZpbGUoJGFueSgkZXZlbnQpLnRhcmdldC5maWxlcylcIlxyXG4gICAgICAgIGhpZGRlblxyXG4gICAgICAgIFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlc1wiXHJcbiAgICAgICAgbXVsdGlwbGU9XCJpc011bHRpRmlsZVVwbG9hZFwiXHJcbiAgICAgIC8+XHJcbiAgICAgIDxwXHJcbiAgICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX2FsbG93ZWQtZmlsZS10ZXh0IG0tMCBpZWVlc2EtbGFiZWwtbWQtMTRcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYWxsb3dlZEZpbGVUeXBlc0FuZFNpemVUZXh0XCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGFsbG93ZWRGaWxlVHlwZXNBbmRTaXplVGV4dCB9fVxyXG4gICAgICA8L3A+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX3VwbG9hZC13cmFwcGVyIGQtZmxleFwiXHJcbiAgICAgICpuZ0lmPVwiaXNGaWxlU2VsZWN0ZWRcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBjbGFzcz1cImllZWVzYS1maWxlLXVwbG9hZF9fdXBsb2FkLXdyYXBwZXJfX2lucHV0LWZpZWxkIGllZWVzYS1ib2R5LWxnLTE2XCJcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHZhbHVlPVwic2VsZWN0ZWRGaWxlTmFtZXNcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbmZpZy5wbGFjZWhvbGRlciA/PyAnJ1wiXHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgICAgICBbbmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcclxuICAgICAgICAgICAgY29uZmlnLmFyaWFMYWJlbCA/PyBmaWxlVXBsb2FkQXJpYUxhYmVsLmZpbGVVcGxvYWRJbnB1dFxyXG4gICAgICAgICAgXCJcclxuICAgICAgICAgIFthcmlhLWRlc2NyaWJlZGJ5XT1cImNvbmZpZy5hcmlhRGVzY3JpYmVkQnlJZCA/PyAnJ1wiXHJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX3VwbG9hZC13cmFwcGVyLS1jbGVhci1pY29uLWJ0blwiXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJmaWxlVXBsb2FkQXJpYUxhYmVsLnJlbW92ZUZpbGVJY29uXCJcclxuICAgICAgICAgICpuZ0lmPVwiaXNGaWxlU2VsZWN0ZWRcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInJlc2V0VXBsb2FkKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmEtcmVndWxhciBmYS1jaXJjbGUteG1hcmsgaWVlZXNhLWlucHV0LWZpZWxkLXVwbG9hZF9faWNvbi0tY2xlYXJcIlxyXG4gICAgICAgICAgPjwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPGllZWVzYS1pY29uLWJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX191cGxvYWQtd3JhcHBlci0tdXBsb2FkLWJ0biBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgICAgICBbaWNvbkJ1dHRvbl09XCJmaWxlVXBsb2FkQnRuXCJcclxuICAgICAgICBbaXNMYWJlbE5lZWRlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgKGljb25CdXR0b25DbGljayk9XCJvblVwbG9hZCgpXCJcclxuICAgICAgICAqbmdJZj1cIiFpc0Zvcm1GaWVsZFwiXHJcbiAgICAgID5cclxuICAgICAgPC9pZWVlc2EtaWNvbi1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNGb3JtRmllbGRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImllZWVzYS1maWxlLXVwbG9hZF9fcHJvZ3Jlc3NcIiAqbmdJZj1cImlzVXBsb2FkSW5Qcm9ncmVzc1wiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX19wcm9ncmVzc19fdGV4dFwiPlxyXG4gICAgICAgICAge3sgZmlsZVVwbG9hZExhYmVsPy51cGxvYWRQcm9ncmVzcyB9fVxyXG4gICAgICAgIDwvcD5cclxuICAgICAgICA8bWF0LXByb2dyZXNzLWJhclxyXG4gICAgICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX3Byb2dyZXNzLS1iYXJcIlxyXG4gICAgICAgICAgbW9kZT1cImRldGVybWluYXRlXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJ1cGxvYWRlZFNpemVcIlxyXG4gICAgICAgID48L21hdC1wcm9ncmVzcy1iYXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGllZWVzYS1mb3JtLWVycm9yIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbY29uZmlnXT1cImNvbmZpZ1wiPiA8L2llZWVzYS1mb3JtLWVycm9yPlxyXG4gIDxpZWVlc2EtZm9ybS1zdXBwb3J0LXRleHRcclxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gID48L2llZWVzYS1mb3JtLXN1cHBvcnQtdGV4dD5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
284
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc2VudGF0aW9uL3NyYy9saWIvY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEtBQUssU0FBUyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUU1RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFFekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBR3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxD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RSxvQkFBb0IsY0FDbEIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLG1CQUFtQjtxQkFDcEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTt5SUF3QjVCLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBR0YsWUFBWTtzQkFEZixLQUFLO2dCQU9JLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1zdXBwb3J0LXRleHQvZm9ybS1zdXBwb3J0LXRleHQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybVV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9ybS11dGlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sVHlwZSB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWNvbnRyb2wtdHlwZXMubW9kZWwnO1xyXG5pbXBvcnQgeyBBbGxvd2VkRmlsZVR5cGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FsbG93ZWQtZmlsZS10eXBlcy5tb2RlbCc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmlsZS11cGxvYWQuc2VydmljZSc7XHJcbmltcG9ydCB7IEljb25CdXR0b25Db21wb25lbnQgfSBmcm9tICcuLi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQnO1xyXG4vKipcclxuICogUHJvdmlkZXMgZnVuY3Rpb25hbGl0eSBmb3IgdXBsb2FkaW5nIGZpbGVzIHRvIGF3cyBzMyBidWNrZXQuXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnRcclxuICogQGltcGxlbWVudHMge09uSW5pdH1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWZpbGUtdXBsb2FkJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBGb3JtRXJyb3JDb21wb25lbnQsXHJcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudCxcclxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgRmlsZVVwbG9hZERpcmVjdGl2ZSxcclxuICAgIEljb25CdXR0b25Db21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0YW50cyA9IGNvbnN0YW50cztcclxuICBmaWxlVXBsb2FkTGFiZWwgPSB0aGlzLmNvbnN0YW50cz8uZmlsZVVwbG9hZD8ubGFiZWw7XHJcbiAgZmlsZVVwbG9hZEFyaWFMYWJlbCA9IHRoaXMuY29uc3RhbnRzPy5maWxlVXBsb2FkPy5hcmlhTGFiZWw7XHJcbiAgZmlsZVVwbG9hZEljb25VcmwgPSB0aGlzLmNvbnN0YW50cz8uZmlsZVVwbG9hZD8uaWNvblVybDtcclxuICBmaWxlVXBsb2FkQnRuID0gdGhpcy5jb25zdGFudHM/LmZpbGVVcGxvYWQ/LmJ1dHRvbnNbMF07XHJcbiAgYWxsb3dlZEZpbGVUeXBlRXJyb3JNZXNzYWdlID1cclxuICAgIHRoaXMuY29uc3RhbnRzPy5maWxlVXBsb2FkPy5tZXNzYWdlPy5lcnJvcj8uaW52YWxpZEZpbGVGb3JtYXQ7XHJcbiAgbWF4RmlsZVNpemVFcnJvck1lc3NhZ2UgPVxyXG4gICAgdGhpcy5jb25zdGFudHM/LmZpbGVVcGxvYWQ/Lm1lc3NhZ2U/LmVycm9yPy5pbnZhbGlkRmlsZVNpemU7XHJcbiAgYWxsb3dlZEZpbGVUeXBlc0FuZFNpemVUZXh0ID0gJyc7XHJcbiAgY29uZmlnITogRmllbGRDb25maWc7XHJcbiAgZ3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgaXNWYWxpZEZpbGVUeXBlID0gZmFsc2U7XHJcbiAgaXNWYWxpZEZpbGVTaXplID0gZmFsc2U7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzZWxlY3RlZEZpbGVzOiBGaWxlTGlzdCB8IEZpbGUgfCBhbnkgPSBbXTtcclxuICBzZWxlY3RlZEZpbGVOYW1lcyA9ICcnO1xyXG4gIGlzRm9ybUZpZWxkID0gZmFsc2U7XHJcbiAgdG90YWxTaXplID0gMDtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHVwbG9hZGVkRmlsZXM6IEZpbGVMaXN0IHwgRmlsZSB8IGFueSA9IFtdO1xyXG4gIEBJbnB1dCgpIGZvcm1Db250cm9sTmFtZSA9ICdmaWxlVXBsb2FkJztcclxuICBASW5wdXQoKSBpc0ZpbGVTZWxlY3RlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHN1cHBvcnRNZXNzYWdlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFsbG93ZWRGaWxlVHlwZXM6IEFsbG93ZWRGaWxlVHlwZXNbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGlzTXVsdGlGaWxlVXBsb2FkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNVcGxvYWRJblByb2dyZXNzID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZmlsZVVwbG9hZEhlYWRpbmchOiBzdHJpbmc7XHJcbiAgLy8gRGVmYXVsdCBtYXhpbXVtIGFsbG93ZWQgdXBsb2FkIGZpbGUgc2l6ZSBpcyAybWIuXHJcbiAgQElucHV0KCkgbWF4VXBsb2FkRmlsZVNpemUgPSAyO1xyXG4gIHByaXZhdGUgdXBsb2FkZWRTaXplVmFsdWUgPSAwO1xyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHVwbG9hZGVkU2l6ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMudXBsb2FkZWRTaXplVmFsdWU7XHJcbiAgfVxyXG4gIHNldCB1cGxvYWRlZFNpemUodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy51cGxvYWRlZFNpemVWYWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuICBAT3V0cHV0KCkgdXBsb2FkU2VsZWN0ZWRGaWxlcyA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZSB8IEZpbGVMaXN0PigpO1xyXG4gIEBPdXRwdXQoKSBkb3dubG9hZFNlbGVjdGVkRmlsZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsZSB8IEZpbGVMaXN0PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGZvcm1VdGlsaXR5U2VydmljZTogRm9ybVV0aWxpdHlTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eS1mdW5jdGlvblxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZXMgY29tcG9uZW50IHByb3BlcnRpZXMgYW5kIHJldHJpZXZlcyBjb25maWd1cmF0aW9uLlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRm9ybUZpZWxkID0gISF0aGlzLmNvbmZpZztcclxuICAgIHRoaXMuY29uZmlnID1cclxuICAgICAgdGhpcy5jb25maWcgPz9cclxuICAgICAgdGhpcy5mb3JtVXRpbGl0eVNlcnZpY2UuZ2V0Rm9ybUZpZWxkQ29uZmlnKFxyXG4gICAgICAgICdmaWxlVXBsb2FkJyxcclxuICAgICAgICBGb3JtQ29udHJvbFR5cGUuRklMRV9VUExPQURcclxuICAgICAgKTtcclxuICAgIHRoaXMuZ3JvdXAgPVxyXG4gICAgICB0aGlzLmdyb3VwID8/IHRoaXMuZm9ybVV0aWxpdHlTZXJ2aWNlLmdldEZvcm1Hcm91cCgnZmlsZVVwbG9hZCcpO1xyXG4gICAgdGhpcy5jb25maWcuc3VwcG9ydE1lc3NhZ2UgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8uc3VwcG9ydE1lc3NhZ2UgPz8gdGhpcy5zdXBwb3J0TWVzc2FnZTtcclxuICAgIHRoaXMuaXNNdWx0aUZpbGVVcGxvYWQgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8uaXNNdWx0aUZpbGVVcGxvYWQgPz8gdGhpcy5pc011bHRpRmlsZVVwbG9hZDtcclxuICAgIHRoaXMubWF4VXBsb2FkRmlsZVNpemUgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8ubWF4VXBsb2FkRmlsZVNpemUgPz8gdGhpcy5tYXhVcGxvYWRGaWxlU2l6ZTtcclxuICAgIHRoaXMuYWxsb3dlZEZpbGVUeXBlcyA9XHJcbiAgICAgIHRoaXMuY29uZmlnPy5hbGxvd2VkRmlsZVR5cGVzID8/IHRoaXMuYWxsb3dlZEZpbGVUeXBlcztcclxuICAgIHRoaXMuZ2V0QWxsb3dlZEZpbGVGb3JtYXRTaXplTWVzc2FnZSgpO1xyXG4gICAgdGhpcy5maWxlVXBsb2FkSGVhZGluZyA9XHJcbiAgICAgIHRoaXMuY29uZmlnPy5maWxlVXBsb2FkSGVhZGluZyA/P1xyXG4gICAgICB0aGlzLmZpbGVVcGxvYWRIZWFkaW5nID8/XHJcbiAgICAgIHRoaXMuZmlsZVVwbG9hZExhYmVsLmZpbGVVcGxvYWQ7XHJcbiAgICB0aGlzLmNvbmZpZy5hbGxvd2VkRmlsZVR5cGVFcnJvck1lc3NhZ2UgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8uYWxsb3dlZEZpbGVUeXBlRXJyb3JNZXNzYWdlID8/XHJcbiAgICAgIHRoaXMuYWxsb3dlZEZpbGVUeXBlRXJyb3JNZXNzYWdlO1xyXG4gICAgdGhpcy5jb25maWcubWF4RmlsZVNpemVFcnJvck1lc3NhZ2UgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8ubWF4RmlsZVNpemVFcnJvck1lc3NhZ2UgPz8gdGhpcy5tYXhGaWxlU2l6ZUVycm9yTWVzc2FnZTtcclxuICAgIHRoaXMuaXNGaWxlU2VsZWN0ZWQgPSB0aGlzLmNvbmZpZz8uaXNGaWxlU2VsZWN0ZWQgPz8gdGhpcy5pc0ZpbGVTZWxlY3RlZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvcm1hdHMgYWxsb3dlZCBmaWxlIGZvcm1hdCBhbmQgc2l6ZSBtZXNzYWdlIGluIHJlcXVpcmVkIGZvcm1hdC5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldEFsbG93ZWRGaWxlRm9ybWF0U2l6ZU1lc3NhZ2UoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzdXBwb3J0ZWRGaWxlRm9ybWF0VGV4dCA9IHRoaXMuYWxsb3dlZEZpbGVUeXBlcy5qb2luKCcsICcpO1xyXG4gICAgdGhpcy5hbGxvd2VkRmlsZVR5cGVzQW5kU2l6ZVRleHQgPSBgJHt0aGlzLmZpbGVVcGxvYWRMYWJlbD8uYWxsb3dlZEZpbGVTaXplMX1cclxuICAgICR7dGhpcy5tYXhVcGxvYWRGaWxlU2l6ZX0gICR7dGhpcy5maWxlVXBsb2FkTGFiZWw/LmFsbG93ZWRGaWxlU2l6ZTJ9ICR7dGhpcy5maWxlVXBsb2FkTGFiZWw/LmFsbG93ZWRGaWxlRm9ybWF0fSAke3N1cHBvcnRlZEZpbGVGb3JtYXRUZXh0fS5gO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyB0aGUgc2VsZWN0ZWQgb2YgZmlsZShzKSBhbmQgZW1pdHMgRmlsZVVwbG9hZCBldmVudCBlbWl0dGVyIGZvciB1cGxvYWRpbmcgdGhlIGZpbGUocykuXHJcbiAgICogQHBhcmFtIHsoRmlsZSB8IEZpbGVMaXN0KX0gZmlsZVxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0RmlsZShmaWxlOiBGaWxlIHwgRmlsZUxpc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlcyA9IFtdO1xyXG4gICAgY29uc3QgZmlsZVVwbG9hZEZvcm1Db250cm9sID0gdGhpcy5ncm91cD8uZ2V0KFxyXG4gICAgICB0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUgPz8gJ2ZpbGVVcGxvYWQnXHJcbiAgICApO1xyXG4gICAgaWYgKGZpbGVVcGxvYWRGb3JtQ29udHJvbCkge1xyXG4gICAgICBmaWxlVXBsb2FkRm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmlzTXVsdGlGaWxlVXBsb2FkKSB7XHJcbiAgICAgIHRoaXMudmFsaWRhdGVGaWxlKGZpbGUpO1xyXG4gICAgICBpZiAodGhpcy5pc1ZhbGlkRmlsZVR5cGUgJiYgdGhpcy5pc1ZhbGlkRmlsZVNpemUpIHtcclxuICAgICAgICBpZiAoZmlsZSkge1xyXG4gICAgICAgICAgT2JqZWN0LnZhbHVlcyhmaWxlKS5mb3JFYWNoKChmaWxlSXRlbTogRmlsZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZXM/LnB1c2goZmlsZUl0ZW0pO1xyXG4gICAgICAgICAgICB0aGlzLnRvdGFsU2l6ZSArPSBmaWxlSXRlbS5zaXplO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkRmlsZXM/Lmxlbmd0aCkge1xyXG4gICAgICAgIHRoaXMuaXNGaWxlU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRmlsZXNOYW1lczogc3RyaW5nW10gPSBbXTtcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlcz8uZm9yRWFjaCgoZmlsZTogRmlsZSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgICAgc2VsZWN0ZWRGaWxlc05hbWVzLnB1c2goZmlsZS5uYW1lKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZU5hbWVzID0gc2VsZWN0ZWRGaWxlc05hbWVzPy5qb2luKCcsICcpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdGhpcy5ncm91cFxyXG4gICAgICAgICAgLmdldCh0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUpXHJcbiAgICAgICAgICA/LnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRGaWxlTmFtZXMpO1xyXG4gICAgICAgIHRoaXMuZmlsZVVwbG9hZEJ0bi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLmlzRm9ybUZpZWxkKVxyXG4gICAgICAgICAgdGhpcy51cGxvYWRTZWxlY3RlZEZpbGVzPy5lbWl0KHRoaXMuc2VsZWN0ZWRGaWxlcyk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGZpbGVJdGVtID0gT2JqZWN0LnZhbHVlcyhmaWxlKVswXTtcclxuICAgICAgdGhpcy52YWxpZGF0ZUZpbGUoZmlsZUl0ZW0pO1xyXG4gICAgICBpZiAodGhpcy5pc1ZhbGlkRmlsZVR5cGUgJiYgdGhpcy5pc1ZhbGlkRmlsZVNpemUpIHtcclxuICAgICAgICB0aGlzLmlzRmlsZVNlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZU5hbWVzID0gZmlsZUl0ZW0ubmFtZTtcclxuICAgICAgICB0aGlzLnRvdGFsU2l6ZSA9IGZpbGVJdGVtLnNpemU7XHJcbiAgICAgICAgdGhpcy5maWxlVXBsb2FkU2VydmljZT8uY29udmVydEZpbGVUb0J5dGVBcnJheShmaWxlSXRlbSk7XHJcbiAgICAgICAgdGhpcy5ncm91cFxyXG4gICAgICAgICAgLmdldCh0aGlzLmNvbmZpZy5jb250cm9sTmFtZSlcclxuICAgICAgICAgID8uc2V0VmFsdWUodGhpcy5zZWxlY3RlZEZpbGVOYW1lcyk7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNGb3JtRmllbGQpIHRoaXMudXBsb2FkU2VsZWN0ZWRGaWxlcy5lbWl0KGZpbGVJdGVtKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBmaWxlO1xyXG4gICAgICAgIHRoaXMuZmlsZVVwbG9hZEJ0bi5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBWYWxpZGF0ZXMgdGhlIHNlbGVjdGVkIGZpbGUocykgZm9ybWF0IGFuZCBzaXplLlxyXG4gICAqIEBwYXJhbSB7KEZpbGUgfCBGaWxlTGlzdCl9IGZpbGVcclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHZhbGlkYXRlRmlsZShmaWxlOiBGaWxlIHwgRmlsZUxpc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNWYWxpZEZpbGVUeXBlID0gdGhpcy5maWxlVXBsb2FkU2VydmljZS52YWxpZGF0ZUZpbGVUeXBlcyhcclxuICAgICAgZmlsZSxcclxuICAgICAgdGhpcy5hbGxvd2VkRmlsZVR5cGVzLFxyXG4gICAgICB0aGlzLmlzTXVsdGlGaWxlVXBsb2FkXHJcbiAgICApO1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWRGaWxlVHlwZSkge1xyXG4gICAgICB0aGlzLmdyb3VwPy5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8uc2V0RXJyb3JzKHtcclxuICAgICAgICBpbnZhbGlkRmlsZVR5cGU6IHRydWUsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc1ZhbGlkRmlsZVNpemUgPSB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLnZhbGlkYXRlRmlsZVNpemUoXHJcbiAgICAgIGZpbGUsXHJcbiAgICAgIHRoaXMubWF4VXBsb2FkRmlsZVNpemUsXHJcbiAgICAgIHRoaXMuaXNNdWx0aUZpbGVVcGxvYWRcclxuICAgICk7XHJcbiAgICBpZiAoIXRoaXMuaXNWYWxpZEZpbGVTaXplKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXA/LmdldCh0aGlzLmNvbmZpZz8uY29udHJvbE5hbWUpPy5zZXRFcnJvcnMoe1xyXG4gICAgICAgIG1heEZpbGVTaXplOiB0cnVlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluaXRpYXRlcyB0aGUgZmlsZSB1cGxvYWQgcHJvY2VzcyBmb3IgaW5kZXBlbmRlbnQgZmlsZSB1cGxvYWQgY29tcG9uZW50LlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25VcGxvYWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnVwbG9hZFNlbGVjdGVkRmlsZXMuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZXMpO1xyXG4gICAgaWYgKHRoaXMuZmlsZVVwbG9hZFNlcnZpY2U/LmdldEZpbGVVcGxvYWRTdGF0dXMoKSkge1xyXG4gICAgICB0aGlzLnVwbG9hZGVkRmlsZXMgPSB0aGlzLnNlbGVjdGVkRmlsZXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhcnMgdGhlIGZvcm0gZ3JvdXAgY29udHJvbCB2YWx1ZSBvZiB0eXBlIGlucHV0IGFuZCByZXNldHMgb3RoZXIgZmlsZSB1cGxvYWQgcHJvcGVydGllcy5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHJlc2V0VXBsb2FkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlVXBsb2FkU2VydmljZS5jbGVhckZpbGVCeXRlQXJyYXkoKTtcclxuICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IFtdO1xyXG4gICAgdGhpcy5pc1VwbG9hZEluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlTmFtZXMgPSAnJztcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWxlcyA9IFtdO1xyXG4gICAgdGhpcy5pc0ZpbGVTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5ncm91cC5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8uc2V0VmFsdWUoJycpO1xyXG4gICAgdGhpcy5maWxlVXBsb2FkQnRuLmRpc2FibGVkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZXMgdGhlIHNlbGVjdGVkIGZpbGUgZnJvbSB0aGUgdXBsb2FkZWQgZmlsZXMgbGlzdC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRGVsZXRlRmlsZShmaWxlOiBGaWxlLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvdGFsU2l6ZSA9IDA7XHJcbiAgICB0aGlzLnVwbG9hZGVkRmlsZXMuc3BsaWNlKGluZGV4LCAxKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEZvciB0YWIga2V5IGtleWRvd24gZXZlbnQgaXQgcGFzc2VzIGV2ZW50IGFuZCByZXN0cmljdHMgb3RoZXIga2V5cyBmcm9tIGtleWJvYXJkLlxyXG4gICAqIEBwYXJhbSB7S2V5Ym9hcmRFdmVudH0gZXZlbnQgLUtleWRvd24gZXZlbnQgb2JqZWN0LlxyXG4gICAqIEBtZW1iZXJvZiBGaWxlVXBsb2FkQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnVGFiJykgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGZpbGUgZG93bmxvYWQgZXZlbnQgZW1pdHRlci5cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIGRvd25sb2FkRmlsZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZG93bmxvYWRTZWxlY3RlZEZpbGUuZW1pdCh0aGlzLnNlbGVjdGVkRmlsZXMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGZpbGUgbGlzdC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAcmV0dXJuIHsobnVtYmVyIHwgc3RyaW5nKX1cclxuICAgKiBAbWVtYmVyb2YgRmlsZVVwbG9hZENvbXBvbmVudFxyXG4gICAqL1xyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyKTogbnVtYmVyIHwgc3RyaW5nIHtcclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkXCJcclxuICBbbmdDbGFzc109XCJcclxuICAgIGNvbmZpZy5pc0xhYmVsQWxpZ25lZExlZnRcclxuICAgICAgPyAnaWVlZXNhLWZpbGUtdXBsb2FkX19sYWJlbC1sZWZ0J1xyXG4gICAgICA6ICdpZWVlc2EtZmlsZS11cGxvYWRfX2xhYmVsLXRvcCdcclxuICBcIlxyXG4+XHJcbiAgPG1hdC1sYWJlbCBjbGFzcz1cImllZWVzYS1ib2R5LXNtLTE0IGllZWVzYS1maWxlLXVwbG9hZF9fbGFiZWxcIj57e1xyXG4gICAgY29uZmlnLmxhYmVsXHJcbiAgfX08L21hdC1sYWJlbD5cclxuICA8ZGl2IGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX19saXN0XCIgKm5nSWY9XCIhaXNGb3JtRmllbGRcIj5cclxuICAgIDxkaXZcclxuICAgICAgKm5nRm9yPVwibGV0IGZpbGUgb2YgdXBsb2FkZWRGaWxlczsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX2xpc3RfX2l0ZW0gbWItMSB3LTUwIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIlxyXG4gICAgPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJtYXQtdGV4dC1idXR0b24gYm9yZGVyLTAgaWVlZXNhLWZpbGUtdXBsb2FkX19saXN0X19uYW1lIGllZWVzYS1ib2R5LXNtLWJvbGQtMTRcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsZVVwbG9hZEFyaWFMYWJlbC5maWxlRG93bmxvYWRcIlxyXG4gICAgICAgIChjbGljayk9XCJkb3dubG9hZEZpbGUoKVwiXHJcbiAgICAgID5cclxuICAgICAgICB7eyBmaWxlLm5hbWUgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICBjbGFzcz1cImllZWVzYS1pY29uLWJ1dHRvbiBib3JkZXItMCBpZWVlc2EtZmlsZS11cGxvYWRfX2xpc3RfX2RlbGV0ZS1idG5cIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiZmlsZVVwbG9hZEFyaWFMYWJlbC5kZWxldGVGaWxlSWNvblwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uRGVsZXRlRmlsZShmaWxlLCBpKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8c3ZnIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX19saXN0X19kZWxldGUtYnRuX19pY29uXCI+XHJcbiAgICAgICAgICA8dXNlIFthdHRyLnhsaW5rOmhyZWZdPVwiZmlsZVVwbG9hZEljb25VcmwuZGVsZXRlSWNvblwiPjwvdXNlPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX191cGxvYWQgcC00XCJcclxuICAgIGllZWVzYUZpbGVVcGxvYWRcclxuICAgIChmaWxlRHJvcHBlZCk9XCJnZXRGaWxlKCRldmVudClcIlxyXG4gID5cclxuICAgIDxwIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX191cGxvYWRfX2hlYWRpbmcgbS0wIGllZWVzYS1sYWJlbC1sZy1ib2xkLTE2XCI+XHJcbiAgICAgIHt7IGZpbGVVcGxvYWRIZWFkaW5nIH19XHJcbiAgICA8L3A+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX191cGxvYWRfX2Jyb3dzZS1maWxlc1wiPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgIChjbGljayk9XCJmaWxlRmllbGQuY2xpY2soKVwiXHJcbiAgICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX2Jyb3dzZS1idG4gbWF0LXRlcnRpYXJ5LWJ1dHRvblwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJmaWxlVXBsb2FkQXJpYUxhYmVsLmJyb3dzZUZpbGVzXCJcclxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGZpbGVVcGxvYWRMYWJlbC5icm93c2VGaWxlcyB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgdHlwZT1cImZpbGVcIlxyXG4gICAgICAgICNmaWxlRmllbGRcclxuICAgICAgICAoY2hhbmdlKT1cImdldEZpbGUoJGFueSgkZXZlbnQpLnRhcmdldC5maWxlcylcIlxyXG4gICAgICAgIGhpZGRlblxyXG4gICAgICAgIFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlc1wiXHJcbiAgICAgICAgbXVsdGlwbGU9XCJpc011bHRpRmlsZVVwbG9hZFwiXHJcbiAgICAgIC8+XHJcbiAgICAgIDxwXHJcbiAgICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX2FsbG93ZWQtZmlsZS10ZXh0IG0tMCBpZWVlc2EtbGFiZWwtbWQtMTRcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYWxsb3dlZEZpbGVUeXBlc0FuZFNpemVUZXh0XCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGFsbG93ZWRGaWxlVHlwZXNBbmRTaXplVGV4dCB9fVxyXG4gICAgICA8L3A+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX3VwbG9hZC13cmFwcGVyIGQtZmxleFwiXHJcbiAgICAgICpuZ0lmPVwiaXNGaWxlU2VsZWN0ZWRcIlxyXG4gICAgPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICBjbGFzcz1cImllZWVzYS1maWxlLXVwbG9hZF9fdXBsb2FkLXdyYXBwZXJfX2lucHV0LWZpZWxkIGllZWVzYS1ib2R5LWxnLTE2XCJcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIHZhbHVlPVwic2VsZWN0ZWRGaWxlTmFtZXNcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbmZpZy5wbGFjZWhvbGRlciA/PyAnJ1wiXHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgICAgICBbbmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIlxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcclxuICAgICAgICAgICAgY29uZmlnLmFyaWFMYWJlbCA/PyBmaWxlVXBsb2FkQXJpYUxhYmVsLmZpbGVVcGxvYWRJbnB1dFxyXG4gICAgICAgICAgXCJcclxuICAgICAgICAgIFthcmlhLWRlc2NyaWJlZGJ5XT1cImNvbmZpZy5hcmlhRGVzY3JpYmVkQnlJZCA/PyAnJ1wiXHJcbiAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAvPlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX3VwbG9hZC13cmFwcGVyLS1jbGVhci1pY29uLWJ0blwiXHJcbiAgICAgICAgICBtYXRTdWZmaXhcclxuICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJmaWxlVXBsb2FkQXJpYUxhYmVsLnJlbW92ZUZpbGVJY29uXCJcclxuICAgICAgICAgICpuZ0lmPVwiaXNGaWxlU2VsZWN0ZWRcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInJlc2V0VXBsb2FkKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZmEtcmVndWxhciBmYS1jaXJjbGUteG1hcmsgaWVlZXNhLWlucHV0LWZpZWxkLXVwbG9hZF9faWNvbi0tY2xlYXJcIlxyXG4gICAgICAgICAgPjwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPGllZWVzYS1pY29uLWJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX191cGxvYWQtd3JhcHBlci0tdXBsb2FkLWJ0biBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcclxuICAgICAgICBbaWNvbkJ1dHRvbl09XCJmaWxlVXBsb2FkQnRuXCJcclxuICAgICAgICBbaXNMYWJlbE5lZWRlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgKGljb25CdXR0b25DbGljayk9XCJvblVwbG9hZCgpXCJcclxuICAgICAgICAqbmdJZj1cIiFpc0Zvcm1GaWVsZFwiXHJcbiAgICAgID5cclxuICAgICAgPC9pZWVlc2EtaWNvbi1idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNGb3JtRmllbGRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImllZWVzYS1maWxlLXVwbG9hZF9fcHJvZ3Jlc3NcIiAqbmdJZj1cImlzVXBsb2FkSW5Qcm9ncmVzc1wiPlxyXG4gICAgICAgIDxwIGNsYXNzPVwiaWVlZXNhLWZpbGUtdXBsb2FkX19wcm9ncmVzc19fdGV4dFwiPlxyXG4gICAgICAgICAge3sgZmlsZVVwbG9hZExhYmVsPy51cGxvYWRQcm9ncmVzcyB9fVxyXG4gICAgICAgIDwvcD5cclxuICAgICAgICA8bWF0LXByb2dyZXNzLWJhclxyXG4gICAgICAgICAgY2xhc3M9XCJpZWVlc2EtZmlsZS11cGxvYWRfX3Byb2dyZXNzLS1iYXJcIlxyXG4gICAgICAgICAgbW9kZT1cImRldGVybWluYXRlXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJ1cGxvYWRlZFNpemVcIlxyXG4gICAgICAgID48L21hdC1wcm9ncmVzcy1iYXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGllZWVzYS1mb3JtLWVycm9yIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbY29uZmlnXT1cImNvbmZpZ1wiPiA8L2llZWVzYS1mb3JtLWVycm9yPlxyXG4gIDxpZWVlc2EtZm9ybS1zdXBwb3J0LXRleHRcclxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gID48L2llZWVzYS1mb3JtLXN1cHBvcnQtdGV4dD5cclxuPC9kaXY+XHJcbiJdfQ==
|