ngx-techlify-core 18.94.0 → 19.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +2 -2
- package/esm2022/lib/base-model/techlify-list/techlify-list.component.mjs +13 -6
- package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +2 -2
- package/esm2022/lib/material.module.mjs +2 -5
- package/esm2022/lib/tag/techlify-tagger-tag-list/techlify-tagger-tag-list.component.mjs +3 -3
- package/esm2022/lib/techlify-icon/techlify-icon.component.mjs +4 -3
- package/esm2022/lib/timeline-activity/timeline-activity-button/timeline-activity-button.component.mjs +2 -2
- package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +2 -2
- package/fesm2022/ngx-techlify-core.mjs +26 -21
- package/fesm2022/ngx-techlify-core.mjs.map +1 -1
- package/lib/base-model/techlify-list/techlify-list.component.d.ts +5 -0
- package/lib/material.module.d.ts +6 -6
- package/package.json +3 -3
- package/styles/html-elements.scss +0 -5
|
@@ -44,11 +44,11 @@ export class AuditLogForModelComponent {
|
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuditLogForModelComponent, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
47
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AuditLogForModelComponent, selector: "app-audit-log-for-model", inputs: { isIconView: "isIconView", modelType: "modelType", modelId: "modelId", logView: "logView" }, ngImport: i0, template: "<ng-container *ngIf=\"isIconView\">\n <app-techlify-icon *ngIf=\"logView==='recent'\" name=\"history\" matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\" class=\"clickable\"></app-techlify-icon>\n <app-techlify-icon *ngIf=\"logView==='all'\" name=\"history\" matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\" class=\"clickable\"></app-techlify-icon>\n</ng-container>\n\n\n<ng-container *ngIf=\"!isIconView\">\n <button type=\"button\" *ngIf=\"logView==='recent'\" mat-icon-button matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\">\n <mat-icon>history</mat-icon>\n </button>\n\n <button type=\"button\" *ngIf=\"logView==='all'\" mat-icon-button matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\">\n <mat-icon>history</mat-icon>\n </button>\n</ng-container>", styles: [".fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.wpx-50{width:50px!important}.wpx-100{width:100px!important}.wpx-120{width:120px!important}.wpx-125{width:125px!important}.wpx-150{width:150px!important}.wpx-200{width:200px!important}.wpx-250{width:250px!important}.min-wpx-200{min-width:200px!important}.max-width-px-115{max-width:115px}.w-description{width:300px!important}.side-panel{width:300px!important;min-width:300px!important;flex-shrink:0!important}.h-250px{height:250px!important}.scroll-y{overflow-y:auto}.flex-basis-0{flex-basis:0}.flex-basis-5{flex-basis:5%}.flex-basis-8{flex-basis:8%}.flex-basis-10{flex-basis:10%}.flex-basis-15{flex-basis:15%}.flex-basis-20{flex-basis:20%}.flex-basis-25{flex-basis:25%}.flex-basis-30{flex-basis:30%}.flex-basis-35{flex-basis:35%}.flex-basis-40{flex-basis:40%}.flex-basis-45{flex-basis:45%}.flex-basis-48{flex-basis:48%}.flex-basis-49{flex-basis:49%}.flex-basis-50{flex-basis:50%}.flex-basis-60{flex-basis:60%}.flex-basis-65{flex-basis:65%}.flex-basis-70{flex-basis:70%}.flex-basis-80{flex-basis:80%}.flex-basis-90{flex-basis:90%}.flex-basis-95{flex-basis:95%}.flex-basis-100{flex-basis:100%}.flex-basis-50-minus-1rem{flex-basis:calc(50% - 1rem)}.flex-basis-50-minus-0-2rem{flex-basis:calc(50% - .2rem)}.flex-basis-20-minus-1rem{flex-basis:calc(20% - 1rem)}.flex-basis-15-minus-1rem{flex-basis:calc(15% - 1rem)}.flex-basis-50-minus-4px{flex-basis:calc(50% - 4px)}@media (min-width: 992px){.flex-lg-basis-50{flex-basis:50%}}@media (min-width: 1200px){.flex-xl-basis-30{flex-basis:30%}.flex-xl-basis-30-minus-1rem{flex:0 1 calc(30% - 1rem)}}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}button,a,input{outline:none!important}::-webkit-scrollbar{width:.5em}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:gray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#4d4c4c}.icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.mat-icon-xl{height:40px!important;width:40px!important;font-size:40px!important}.mat-icon-20px{font-size:20px!important;height:20px!important;width:20px!important}.mat-small-icon{height:16px!important;width:16px!important;font-size:16px!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.mdc-button__label{letter-spacing:normal!important}.mat-mdc-button .mat-icon{height:24px!important;width:24px!important;font-size:24px!important}.mat-button-toggle-group{height:48px!important;align-items:center}.mat-button-toggle-button{height:48px!important}.mat-button-toggle-label-content{padding:0 8px!important;font-size:14px!important}.mat-mdc-slide-toggle label{margin:0!important}.small-slide-toggle{transform:scale(.8);transform-origin:left center}.fs-8{font-size:8px!important}.fs-12{font-size:12px!important}.fs-13{font-size:13px!important}.fs-16{font-size:16px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.mat-mdc-floating-label{pointer-events:none!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#555!important;-webkit-text-fill-color:#555555!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#555!important}.mat-mdc-card{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);padding:16px}.mat-mdc-card-content{padding:0!important}.mat-mdc-dialog-surface{padding:24px}.mat-mdc-dialog-title{padding:0!important}.mat-mdc-dialog-title .mat-mdc-dialog-title:before{height:0!important}.mat-mdc-dialog-title *{position:relative;top:-30px!important}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:6px!important}.mdc-data-table__cell,.mdc-data-table__header-cell{padding:0 8px!important}.
|
|
47
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: AuditLogForModelComponent, selector: "app-audit-log-for-model", inputs: { isIconView: "isIconView", modelType: "modelType", modelId: "modelId", logView: "logView" }, ngImport: i0, template: "<ng-container *ngIf=\"isIconView\">\n <app-techlify-icon *ngIf=\"logView==='recent'\" name=\"history\" matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\" class=\"clickable\"></app-techlify-icon>\n <app-techlify-icon *ngIf=\"logView==='all'\" name=\"history\" matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\" class=\"clickable\"></app-techlify-icon>\n</ng-container>\n\n\n<ng-container *ngIf=\"!isIconView\">\n <button type=\"button\" *ngIf=\"logView==='recent'\" mat-icon-button matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\">\n <mat-icon>history</mat-icon>\n </button>\n\n <button type=\"button\" *ngIf=\"logView==='all'\" mat-icon-button matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\">\n <mat-icon>history</mat-icon>\n </button>\n</ng-container>", styles: [".fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.wpx-50{width:50px!important}.wpx-100{width:100px!important}.wpx-120{width:120px!important}.wpx-125{width:125px!important}.wpx-150{width:150px!important}.wpx-200{width:200px!important}.wpx-250{width:250px!important}.min-wpx-200{min-width:200px!important}.max-width-px-115{max-width:115px}.w-description{width:300px!important}.side-panel{width:300px!important;min-width:300px!important;flex-shrink:0!important}.h-250px{height:250px!important}.scroll-y{overflow-y:auto}.flex-basis-0{flex-basis:0}.flex-basis-5{flex-basis:5%}.flex-basis-8{flex-basis:8%}.flex-basis-10{flex-basis:10%}.flex-basis-15{flex-basis:15%}.flex-basis-20{flex-basis:20%}.flex-basis-25{flex-basis:25%}.flex-basis-30{flex-basis:30%}.flex-basis-35{flex-basis:35%}.flex-basis-40{flex-basis:40%}.flex-basis-45{flex-basis:45%}.flex-basis-48{flex-basis:48%}.flex-basis-49{flex-basis:49%}.flex-basis-50{flex-basis:50%}.flex-basis-60{flex-basis:60%}.flex-basis-65{flex-basis:65%}.flex-basis-70{flex-basis:70%}.flex-basis-80{flex-basis:80%}.flex-basis-90{flex-basis:90%}.flex-basis-95{flex-basis:95%}.flex-basis-100{flex-basis:100%}.flex-basis-50-minus-1rem{flex-basis:calc(50% - 1rem)}.flex-basis-50-minus-0-2rem{flex-basis:calc(50% - .2rem)}.flex-basis-20-minus-1rem{flex-basis:calc(20% - 1rem)}.flex-basis-15-minus-1rem{flex-basis:calc(15% - 1rem)}.flex-basis-50-minus-4px{flex-basis:calc(50% - 4px)}@media (min-width: 992px){.flex-lg-basis-50{flex-basis:50%}}@media (min-width: 1200px){.flex-xl-basis-30{flex-basis:30%}.flex-xl-basis-30-minus-1rem{flex:0 1 calc(30% - 1rem)}}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}button,a,input{outline:none!important}::-webkit-scrollbar{width:.5em}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:gray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#4d4c4c}.icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.mat-icon-xl{height:40px!important;width:40px!important;font-size:40px!important}.mat-icon-20px{font-size:20px!important;height:20px!important;width:20px!important}.mat-small-icon{height:16px!important;width:16px!important;font-size:16px!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.mdc-button__label{letter-spacing:normal!important}.mat-mdc-button .mat-icon{height:24px!important;width:24px!important;font-size:24px!important}.mat-button-toggle-group{height:48px!important;align-items:center}.mat-button-toggle-button{height:48px!important}.mat-button-toggle-label-content{padding:0 8px!important;font-size:14px!important}.mat-mdc-slide-toggle label{margin:0!important}.small-slide-toggle{transform:scale(.8);transform-origin:left center}.fs-8{font-size:8px!important}.fs-12{font-size:12px!important}.fs-13{font-size:13px!important}.fs-16{font-size:16px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.mat-mdc-floating-label{pointer-events:none!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#555!important;-webkit-text-fill-color:#555555!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#555!important}.mat-mdc-card{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);padding:16px}.mat-mdc-card-content{padding:0!important}.mat-mdc-dialog-surface{padding:24px}.mat-mdc-dialog-title{padding:0!important}.mat-mdc-dialog-title .mat-mdc-dialog-title:before{height:0!important}.mat-mdc-dialog-title *{position:relative;top:-30px!important}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:6px!important}.mdc-data-table__cell,.mdc-data-table__header-cell{padding:0 8px!important}.mat-column-actions .mat-mdc-icon-button{width:30px!important;height:30px!important;top:6px!important}.mat-column-actions .mat-mdc-icon-button .mat-icon{bottom:9px!important;right:9px!important}.mat-mdc-progress-bar{border-radius:2px}.chip-mini-grey{background-color:#d9d9d9!important;border-radius:3px;display:inline-block;padding:0 6px;font-size:13px}.chip-mini-outline{background-color:#fff!important;border-radius:3px;display:inline-block;padding:0 6px;outline:1px solid #bbb;font-size:13px}.techlify-badge-grey-outlined{background-color:#f2f3f5!important;font-weight:400!important;font-size:12px!important;color:#000!important}.techlify-badge-white-outlined{font-weight:400!important;font-size:12px!important;border-style:solid!important;border-width:thin!important;color:#000!important;border-color:#000!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i6.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }] }); }
|
|
48
48
|
}
|
|
49
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AuditLogForModelComponent, decorators: [{
|
|
50
50
|
type: Component,
|
|
51
|
-
args: [{ selector: 'app-audit-log-for-model', template: "<ng-container *ngIf=\"isIconView\">\n <app-techlify-icon *ngIf=\"logView==='recent'\" name=\"history\" matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\" class=\"clickable\"></app-techlify-icon>\n <app-techlify-icon *ngIf=\"logView==='all'\" name=\"history\" matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\" class=\"clickable\"></app-techlify-icon>\n</ng-container>\n\n\n<ng-container *ngIf=\"!isIconView\">\n <button type=\"button\" *ngIf=\"logView==='recent'\" mat-icon-button matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\">\n <mat-icon>history</mat-icon>\n </button>\n\n <button type=\"button\" *ngIf=\"logView==='all'\" mat-icon-button matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\">\n <mat-icon>history</mat-icon>\n </button>\n</ng-container>", styles: [".fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.wpx-50{width:50px!important}.wpx-100{width:100px!important}.wpx-120{width:120px!important}.wpx-125{width:125px!important}.wpx-150{width:150px!important}.wpx-200{width:200px!important}.wpx-250{width:250px!important}.min-wpx-200{min-width:200px!important}.max-width-px-115{max-width:115px}.w-description{width:300px!important}.side-panel{width:300px!important;min-width:300px!important;flex-shrink:0!important}.h-250px{height:250px!important}.scroll-y{overflow-y:auto}.flex-basis-0{flex-basis:0}.flex-basis-5{flex-basis:5%}.flex-basis-8{flex-basis:8%}.flex-basis-10{flex-basis:10%}.flex-basis-15{flex-basis:15%}.flex-basis-20{flex-basis:20%}.flex-basis-25{flex-basis:25%}.flex-basis-30{flex-basis:30%}.flex-basis-35{flex-basis:35%}.flex-basis-40{flex-basis:40%}.flex-basis-45{flex-basis:45%}.flex-basis-48{flex-basis:48%}.flex-basis-49{flex-basis:49%}.flex-basis-50{flex-basis:50%}.flex-basis-60{flex-basis:60%}.flex-basis-65{flex-basis:65%}.flex-basis-70{flex-basis:70%}.flex-basis-80{flex-basis:80%}.flex-basis-90{flex-basis:90%}.flex-basis-95{flex-basis:95%}.flex-basis-100{flex-basis:100%}.flex-basis-50-minus-1rem{flex-basis:calc(50% - 1rem)}.flex-basis-50-minus-0-2rem{flex-basis:calc(50% - .2rem)}.flex-basis-20-minus-1rem{flex-basis:calc(20% - 1rem)}.flex-basis-15-minus-1rem{flex-basis:calc(15% - 1rem)}.flex-basis-50-minus-4px{flex-basis:calc(50% - 4px)}@media (min-width: 992px){.flex-lg-basis-50{flex-basis:50%}}@media (min-width: 1200px){.flex-xl-basis-30{flex-basis:30%}.flex-xl-basis-30-minus-1rem{flex:0 1 calc(30% - 1rem)}}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}button,a,input{outline:none!important}::-webkit-scrollbar{width:.5em}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:gray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#4d4c4c}.icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.mat-icon-xl{height:40px!important;width:40px!important;font-size:40px!important}.mat-icon-20px{font-size:20px!important;height:20px!important;width:20px!important}.mat-small-icon{height:16px!important;width:16px!important;font-size:16px!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.mdc-button__label{letter-spacing:normal!important}.mat-mdc-button .mat-icon{height:24px!important;width:24px!important;font-size:24px!important}.mat-button-toggle-group{height:48px!important;align-items:center}.mat-button-toggle-button{height:48px!important}.mat-button-toggle-label-content{padding:0 8px!important;font-size:14px!important}.mat-mdc-slide-toggle label{margin:0!important}.small-slide-toggle{transform:scale(.8);transform-origin:left center}.fs-8{font-size:8px!important}.fs-12{font-size:12px!important}.fs-13{font-size:13px!important}.fs-16{font-size:16px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.mat-mdc-floating-label{pointer-events:none!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#555!important;-webkit-text-fill-color:#555555!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#555!important}.mat-mdc-card{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);padding:16px}.mat-mdc-card-content{padding:0!important}.mat-mdc-dialog-surface{padding:24px}.mat-mdc-dialog-title{padding:0!important}.mat-mdc-dialog-title .mat-mdc-dialog-title:before{height:0!important}.mat-mdc-dialog-title *{position:relative;top:-30px!important}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:6px!important}.mdc-data-table__cell,.mdc-data-table__header-cell{padding:0 8px!important}.
|
|
51
|
+
args: [{ selector: 'app-audit-log-for-model', template: "<ng-container *ngIf=\"isIconView\">\n <app-techlify-icon *ngIf=\"logView==='recent'\" name=\"history\" matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\" class=\"clickable\"></app-techlify-icon>\n <app-techlify-icon *ngIf=\"logView==='all'\" name=\"history\" matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\" class=\"clickable\"></app-techlify-icon>\n</ng-container>\n\n\n<ng-container *ngIf=\"!isIconView\">\n <button type=\"button\" *ngIf=\"logView==='recent'\" mat-icon-button matTooltip=\"Recent Audit Log\"\n (click)=\"$event.stopPropagation();getLogView()\">\n <mat-icon>history</mat-icon>\n </button>\n\n <button type=\"button\" *ngIf=\"logView==='all'\" mat-icon-button matTooltip=\"All Audit Logs\"\n (click)=\"$event.stopPropagation();getLogsView()\">\n <mat-icon>history</mat-icon>\n </button>\n</ng-container>", styles: [".fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.wpx-50{width:50px!important}.wpx-100{width:100px!important}.wpx-120{width:120px!important}.wpx-125{width:125px!important}.wpx-150{width:150px!important}.wpx-200{width:200px!important}.wpx-250{width:250px!important}.min-wpx-200{min-width:200px!important}.max-width-px-115{max-width:115px}.w-description{width:300px!important}.side-panel{width:300px!important;min-width:300px!important;flex-shrink:0!important}.h-250px{height:250px!important}.scroll-y{overflow-y:auto}.flex-basis-0{flex-basis:0}.flex-basis-5{flex-basis:5%}.flex-basis-8{flex-basis:8%}.flex-basis-10{flex-basis:10%}.flex-basis-15{flex-basis:15%}.flex-basis-20{flex-basis:20%}.flex-basis-25{flex-basis:25%}.flex-basis-30{flex-basis:30%}.flex-basis-35{flex-basis:35%}.flex-basis-40{flex-basis:40%}.flex-basis-45{flex-basis:45%}.flex-basis-48{flex-basis:48%}.flex-basis-49{flex-basis:49%}.flex-basis-50{flex-basis:50%}.flex-basis-60{flex-basis:60%}.flex-basis-65{flex-basis:65%}.flex-basis-70{flex-basis:70%}.flex-basis-80{flex-basis:80%}.flex-basis-90{flex-basis:90%}.flex-basis-95{flex-basis:95%}.flex-basis-100{flex-basis:100%}.flex-basis-50-minus-1rem{flex-basis:calc(50% - 1rem)}.flex-basis-50-minus-0-2rem{flex-basis:calc(50% - .2rem)}.flex-basis-20-minus-1rem{flex-basis:calc(20% - 1rem)}.flex-basis-15-minus-1rem{flex-basis:calc(15% - 1rem)}.flex-basis-50-minus-4px{flex-basis:calc(50% - 4px)}@media (min-width: 992px){.flex-lg-basis-50{flex-basis:50%}}@media (min-width: 1200px){.flex-xl-basis-30{flex-basis:30%}.flex-xl-basis-30-minus-1rem{flex:0 1 calc(30% - 1rem)}}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}button,a,input{outline:none!important}::-webkit-scrollbar{width:.5em}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:gray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#4d4c4c}.icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.mat-icon-xl{height:40px!important;width:40px!important;font-size:40px!important}.mat-icon-20px{font-size:20px!important;height:20px!important;width:20px!important}.mat-small-icon{height:16px!important;width:16px!important;font-size:16px!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.mdc-button__label{letter-spacing:normal!important}.mat-mdc-button .mat-icon{height:24px!important;width:24px!important;font-size:24px!important}.mat-button-toggle-group{height:48px!important;align-items:center}.mat-button-toggle-button{height:48px!important}.mat-button-toggle-label-content{padding:0 8px!important;font-size:14px!important}.mat-mdc-slide-toggle label{margin:0!important}.small-slide-toggle{transform:scale(.8);transform-origin:left center}.fs-8{font-size:8px!important}.fs-12{font-size:12px!important}.fs-13{font-size:13px!important}.fs-16{font-size:16px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.mat-mdc-floating-label{pointer-events:none!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#555!important;-webkit-text-fill-color:#555555!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#555!important}.mat-mdc-card{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);padding:16px}.mat-mdc-card-content{padding:0!important}.mat-mdc-dialog-surface{padding:24px}.mat-mdc-dialog-title{padding:0!important}.mat-mdc-dialog-title .mat-mdc-dialog-title:before{height:0!important}.mat-mdc-dialog-title *{position:relative;top:-30px!important}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:6px!important}.mdc-data-table__cell,.mdc-data-table__header-cell{padding:0 8px!important}.mat-column-actions .mat-mdc-icon-button{width:30px!important;height:30px!important;top:6px!important}.mat-column-actions .mat-mdc-icon-button .mat-icon{bottom:9px!important;right:9px!important}.mat-mdc-progress-bar{border-radius:2px}.chip-mini-grey{background-color:#d9d9d9!important;border-radius:3px;display:inline-block;padding:0 6px;font-size:13px}.chip-mini-outline{background-color:#fff!important;border-radius:3px;display:inline-block;padding:0 6px;outline:1px solid #bbb;font-size:13px}.techlify-badge-grey-outlined{background-color:#f2f3f5!important;font-weight:400!important;font-size:12px!important;color:#000!important}.techlify-badge-white-outlined{font-weight:400!important;font-size:12px!important;border-style:solid!important;border-width:thin!important;color:#000!important;border-color:#000!important}\n"] }]
|
|
52
52
|
}], ctorParameters: () => [{ type: i1.MatDialog }], propDecorators: { isIconView: [{
|
|
53
53
|
type: Input
|
|
54
54
|
}], modelType: [{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { fromEvent, merge } from 'rxjs';
|
|
2
2
|
import { debounceTime, distinctUntilChanged, filter, finalize, map, skip, startWith } from 'rxjs/operators';
|
|
3
3
|
import { Title } from '@angular/platform-browser';
|
|
4
|
-
import { Directive, ElementRef, inject, Optional } from '@angular/core';
|
|
4
|
+
import { Directive, ElementRef, HostAttributeToken, inject, Optional } from '@angular/core';
|
|
5
5
|
import { EnvironmentService } from '../../core/environment.service';
|
|
6
6
|
import { RequestHelperService } from '../../request-helper/request-helper.service';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
@@ -83,12 +83,19 @@ export class TechlifyListComponent {
|
|
|
83
83
|
this.titleService = inject(Title, { optional: true });
|
|
84
84
|
this.environmentService = inject(EnvironmentService, { optional: true });
|
|
85
85
|
this.hostElement = inject(ElementRef, { optional: true });
|
|
86
|
+
/**
|
|
87
|
+
* Set isSetPageTitle="false" on a listing embedded in a page that sets its own title, so the
|
|
88
|
+
* listing leaves the browser tab title alone.
|
|
89
|
+
*/
|
|
90
|
+
this.isSetPageTitle = inject(new HostAttributeToken('isSetPageTitle'), { optional: true }) !== 'false';
|
|
86
91
|
//Request helper service to inherited and overriden if needed
|
|
87
92
|
this.requestHelperService = inject(RequestHelperService, { optional: true });
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
93
|
+
if (this.isSetPageTitle) {
|
|
94
|
+
const resolvedTitle = this.pageTitle && this.pageTitle.trim().length > 0
|
|
95
|
+
? this.pageTitle
|
|
96
|
+
: this.environmentService?.get().appTitle;
|
|
97
|
+
this.titleService?.setTitle(resolvedTitle);
|
|
98
|
+
}
|
|
92
99
|
}
|
|
93
100
|
/**
|
|
94
101
|
* Function that listens for any changes in the filter form group
|
|
@@ -321,4 +328,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
321
328
|
}], ctorParameters: () => [{ type: i1.TechlifyService, decorators: [{
|
|
322
329
|
type: Optional
|
|
323
330
|
}] }] });
|
|
324
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2Jhc2UtbW9kZWwvdGVjaGxpZnktbGlzdC90ZWNobGlmeS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7O0FBSW5GOzs7Ozs7Ozs7O0dBVUc7QUFFSCxNQUFNLE9BQWdCLHFCQUFxQjtJQWN6QyxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLGtEQUFrRDtZQUNsRCxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7YUFBTSxDQUFDO1lBQ04sdURBQXVEO1lBQ3ZELElBQUksQ0FBQyxVQUFVLEVBQUUsTUFB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QUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFDOUcsb0JBQW9CO2dCQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDbEMsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFvQixDQUFBLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEYsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDM0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQzsrR0FsV21CLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUQxQyxTQUFTOzswQkFtR0ssUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgZmluYWxpemUsIG1hcCwgc2tpcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9lbnZpcm9ubWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcXVlc3RIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVxdWVzdC1oZWxwZXIvcmVxdWVzdC1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUZWNobGlmeVNlcnZpY2UgfSBmcm9tICcuLi90ZWNobGlmeS1zZXJ2aWNlJztcbmltcG9ydCB7IENvbHVtbkNvbmZpZyB9IGZyb20gJy4uLy4uL2NvbHVtbi1zZWxlY3Rvcic7XG5cbi8qKlxuICogSW50ZXJmYWNlIHVzZWQgdG8gZW5zdXJlIHdlIGhhdmUgYSBjb25zaXN0ZW50IHN0cnVjdHVyZSBhY3Jvc3Mgb3VyIGxpc3RpbmcgcGFnZXNcbiAqXG4gKiBAdG9kbyBUaGlzIHNob3VsZCBiZSBtb3ZlZCB0byBuZ3gtdGVjaGxpZnktY29yZVxuICpcbiAqIEFkdmFudGFnZXMgb2YgdGhpcyBhYnN0cmFjdCBjbGFzc1xuICogLSBMZXNzIGNvZGUsIGxlc3MgbWFpbnRlbmFuY2UsIGxlc3MgYnVnc1xuICogLSBtb3JlIGNvbnNpc3RlbnQgY29kZVxuICogLSBjb21tZW50cyBvbiBtb3JlIGNvZGVcbiAqIC0gc2F2ZSB0aW1lLCBzYXZlIGVuZXJneVxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUZWNobGlmeUxpc3RDb21wb25lbnQge1xuXG4gIG1vZGVsczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRNb2RlbElkczogYW55W10gPSBbXTtcbiAgaXNBbGxTZWxlY3RlZCA9IGZhbHNlO1xuICBwYWdlID0gMTtcbiAgcGVyUGFnZSA9IDUwO1xuICBsYXN0UGFnZSA9IDA7XG4gIGZpbHRlckZvcm06IGFueTtcbiAgaXNWaWV3TG9hZGVkID0gZmFsc2U7XG4gIGNvbHVtbkNvbmZpZ3M6IENvbHVtbkNvbmZpZ1tdID0gW107XG5cbiAgLy9Cb29sZWFuIHRvIGRlbm90ZSB0aGUgZm9ybSBpcyBpbiBBUEkgcHJvZ3Jlc3NcbiAgX2lzV29ya2luZzogYm9vbGVhbiA9IGZhbHNlO1xuICBnZXQgaXNXb3JraW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9pc1dvcmtpbmc7XG4gIH1cbiAgc2V0IGlzV29ya2luZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzV29ya2luZyA9IHZhbHVlO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgLy9JZiBpdCBpcyB3b3JraW5nLCBzZXQgdGhlIGZpbHRlckZvcm0gdG8gZGlzYWJsZWRcbiAgICAgIHRoaXMuZmlsdGVyRm9ybT8uZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vV2hlbiB3b3JraW5nIGNvbXBsZXRlcywgc2V0IHRoZSBmaWx0ZXJGb3JtIHRvIGVuYWJsZWRcbiAgICAgIHRoaXMuZmlsdGVyRm9ybT8uZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gIH1cblxuICAvL0ZpbHRlcnMgdG8gYmUgZXhwb3J0ZWQgZm9yIHZpZXcgaW50ZWdyYXRpb25cbiAgZmlsdGVyczogYW55O1xuXG4gIC8qKlxuICAgKiBCb29sZWFuIHRvIHR1cm4gb2ZmLCBpZiB3ZSBkb24ndCB3YW50IHRvIHBhdGNoIGZpbHRlcnMgZnJvbSByb3V0ZS5cbiAgICogVGhpcyBjYW4gYmUgb3ZlcnJpZGVuIGluIGNoaWxkIGNsYXNzZXMgaWYgbmVlZCBcbiAgICovXG4gIHByb3RlY3RlZCBfaXNGaWx0ZXJQYXRjaEZyb21Sb3V0ZSA9IHRydWU7XG4gIGdldCBpc0ZpbHRlclBhdGNoRnJvbVJvdXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9pc0ZpbHRlclBhdGNoRnJvbVJvdXRlO1xuICB9XG4gIHNldCBpc0ZpbHRlclBhdGNoRnJvbVJvdXRlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNGaWx0ZXJQYXRjaEZyb21Sb3V0ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlciBmb3JtIGNvbmZpZ3VyYXRpb24gdXNlZCB0byBkZWNvZGUgdGhlIHJvdXRlIHBhcmFtcy5cbiAgICogRWc6IE92ZXJyaWRlIGluIGNoaWxkIGNsYXNzXG4gICAqICBgYGAgXG4gICAqIGZpbHRlckZvcm1Db25maWd1cmF0aW9uOiBhbnkgPSB7XG4gICAgc3RhdHVzX2lkOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgYnJhbmNoX2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgIGRlcGFydG1lbnRfaWRzOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgZW1wbG95ZWVfaWRzOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgY291cnNlX2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgIGRhdGVfZnJvbTogeyBkYXRlOiB0cnVlIH0sXG4gICAgZGF0ZV90bzogeyBkYXRlOiB0cnVlIH0sXG4gICAgZHVlX2RhdGVfZnJvbTogeyBkYXRlOiB0cnVlIH0sXG4gICAgZHVlX2RhdGVfdG86IHsgZGF0ZTogdHJ1ZSB9LFxuICAgfSBcbiAgICpgYGBcbiAgICovXG4gIGZpbHRlckZvcm1Db25maWd1cmF0aW9uOiBhbnk7XG5cbiAgLyoqXG4gICAgKiBDaGlsZCBjbGFzc2VzIGNhbiBvdmVycmlkZSB0aGlzLlxuICAgICogSWYgbGVmdCB1bmRlZmluZWQvZW1wdHksIGZhbGxzIGJhY2sgdG8gZW52aXJvbm1lbnQuYXBwVGl0bGVcbiAgICAqL1xuICBwcm90ZWN0ZWQgZ2V0IHBhZ2VUaXRsZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7IC8vIGRlZmF1bHRcbiAgfVxuXG5cbiAgLyoqXG4gICAqIERlYm91bmNlIChtcykgYXBwbGllZCB0byBmaWx0ZXIgY2hhbmdlcyBiZWZvcmUgcmVsb2FkaW5nLlxuICAgKiBVc2VzIGVudmlyb25tZW50LmZpbHRlclRpbWUgd2hlbiBzZXQsIG90aGVyd2lzZSA1MDAuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGZpbHRlckRlYm91bmNlVGltZSgpOiBudW1iZXIge1xuICAgIGNvbnN0IGZpbHRlclRpbWUgPSBOdW1iZXIodGhpcy5lbnZpcm9ubWVudFNlcnZpY2U/LmdldCgpPy5maWx0ZXJUaW1lKTtcbiAgICByZXR1cm4gZmlsdGVyVGltZSA+PSAwID8gZmlsdGVyVGltZSA6IDUwMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIGZpbHRlciBjaGFuZ2VzIGFyZSBhcHBsaWVkOlxuICAgKiAtICdrZXl1cCc6IG9uY2UgdGhlIHVzZXIgc3RvcHMgdHlwaW5nIChhZnRlciBmaWx0ZXJEZWJvdW5jZVRpbWUpXG4gICAqIC0gJ2ZvY3Vzb3V0Jzogb25jZSBmb2N1cyBsZWF2ZXMgdGhlIGZpbHRlciBpbnB1dFxuICAgKiBVc2VzIGVudmlyb25tZW50LmZpbHRlckFjdGlvbiB3aGVuIHNldCwgb3RoZXJ3aXNlICdrZXl1cCcuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGZpbHRlclRyaWdnZXJBY3Rpb24oKTogJ2tleXVwJyB8ICdmb2N1c291dCcge1xuICAgIGNvbnN0IGZpbHRlckFjdGlvbiA9IFN0cmluZyh0aGlzLmVudmlyb25tZW50U2VydmljZT8uZ2V0KCk/LmZpbHRlckFjdGlvbiA/PyAnJyk7XG4gICAgcmV0dXJuIGZpbHRlckFjdGlvbiA9PT0gJ2ZvY3Vzb3V0JyA/ICdmb2N1c291dCcgOiAna2V5dXAnO1xuICB9XG5cbiAgcHJpdmF0ZSB0aXRsZVNlcnZpY2UgPSBpbmplY3QoVGl0bGUsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgZW52aXJvbm1lbnRTZXJ2aWNlID0gaW5qZWN0KEVudmlyb25tZW50U2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBob3N0RWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIC8vUmVxdWVzdCBoZWxwZXIgc2VydmljZSB0byBpbmhlcml0ZWQgYW5kIG92ZXJyaWRlbiBpZiBuZWVkZWRcbiAgcHJvdGVjdGVkIHJlcXVlc3RIZWxwZXJTZXJ2aWNlID0gaW5qZWN0KFJlcXVlc3RIZWxwZXJTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByb3RlY3RlZCBzZXJ2aWNlPzogVGVjaGxpZnlTZXJ2aWNlKSB7XG4gICAgY29uc3QgcmVzb2x2ZWRUaXRsZSA9XG4gICAgICB0aGlzLnBhZ2VUaXRsZSAmJiB0aGlzLnBhZ2VUaXRsZS50cmltKCkubGVuZ3RoID4gMFxuICAgICAgICA/IHRoaXMucGFnZVRpdGxlXG4gICAgICAgIDogdGhpcy5lbnZpcm9ubWVudFNlcnZpY2U/LmdldCgpLmFwcFRpdGxlO1xuICAgIHRoaXMudGl0bGVTZXJ2aWNlPy5zZXRUaXRsZShyZXNvbHZlZFRpdGxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0aGF0IGxpc3RlbnMgZm9yIGFueSBjaGFuZ2VzIGluIHRoZSBmaWx0ZXIgZm9ybSBncm91cFxuICAgKiBJdCB1cGRhdGVzIHRoZSByb3V0ZSBhdXRvbWF0aWNhbGx5XG4gICAqIEFsc28gcmVsb2FkIHRoZSBwYWdlIG9uIGNoYW5nZVxuICAgKlxuICAgKiBJbiAnZm9jdXNvdXQnIG1vZGUsIHR5cGluZyBpbiBhIHRleHQgZmlsdGVyIGlzIGhlbGQgdW50aWwgZm9jdXMgbGVhdmVzIGl0O1xuICAgKiBzZWxlY3RzLCBkYXRlcywgc29ydGluZyBldGMuIHN0aWxsIGFwcGx5IGFmdGVyIHRoZSBkZWJvdW5jZS5cbiAgICovXG4gIGxpc3RlbkZpbHRlckNoYW5nZXMoKTogdm9pZCB7XG4gICAgbGV0IGZpbHRlckNoYW5nZXMkID0gdGhpcy5maWx0ZXJGb3JtLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSh0aGlzLmZpbHRlckRlYm91bmNlVGltZSkpO1xuICAgIGlmICh0aGlzLmZpbHRlclRyaWdnZXJBY3Rpb24gPT09ICdmb2N1c291dCcpIHtcbiAgICAgIGZpbHRlckNoYW5nZXMkID0gbWVyZ2UoXG4gICAgICAgIHRoaXMuZmlsdGVyRm9ybS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKCkgPT4gIXRoaXMuaXNUeXBpbmdJbkZpbHRlcigpKSxcbiAgICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5maWx0ZXJEZWJvdW5jZVRpbWUpXG4gICAgICAgICksXG4gICAgICAgIGZyb21FdmVudCh0aGlzLmhvc3RFbGVtZW50Py5uYXRpdmVFbGVtZW50ID8/IGRvY3VtZW50LCAnZm9jdXNvdXQnKVxuICAgICAgKS5waXBlKFxuICAgICAgICAvLyBmb2N1c291dCBmaXJlcyBvbiBldmVyeSBibHVyIChpbmNsdWRpbmcgdGhlIGZpbHRlckZvcm0gZGlzYWJsaW5nIHdoaWxlIGxvYWRpbmcpLCBzbyBvbmx5IHJlbG9hZCBvbiBhIHJlYWwgY2hhbmdlXG4gICAgICAgIG1hcCgoKSA9PiBKU09OLnN0cmluZ2lmeSh0aGlzLmZpbHRlckZvcm0uZ2V0UmF3VmFsdWUoKSkpLFxuICAgICAgICBzdGFydFdpdGgoSlNPTi5zdHJpbmdpZnkodGhpcy5maWx0ZXJGb3JtLmdldFJhd1ZhbHVlKCkpKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgc2tpcCgxKSxcbiAgICAgICk7XG4gICAgfVxuICAgIGZpbHRlckNoYW5nZXMkXG4gICAgICAuc3Vic2NyaWJlKChfOiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNGaWx0ZXJQYXRjaEZyb21Sb3V0ZSkge1xuICAgICAgICAgIGNvbnN0IHVuZm9ybWF0ZWRGaWx0ZXJzID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmZpbHRlckZvcm0udmFsdWUpKTtcbiAgICAgICAgICB0aGlzLmZpbHRlcnMgPSB0aGlzLnJlcXVlc3RIZWxwZXJTZXJ2aWNlPy5jb252ZXJ0VG9Gb3JtRGF0YSh1bmZvcm1hdGVkRmlsdGVycyk7XG4gICAgICAgICAgdGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZT8udXBkYXRlUXVlcnlQYXJhbXModGhpcy5maWx0ZXJzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgdXNlciBpcyBjdXJyZW50bHkgdHlwaW5nIGluIGEgdGV4dCBmaWx0ZXIgaW5zaWRlIHRoaXMgbGlzdGluZ1xuICAgKi9cbiAgcHJpdmF0ZSBpc1R5cGluZ0luRmlsdGVyKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICAgIGNvbnN0IGlzVGV4dEZpZWxkID0gZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxUZXh0QXJlYUVsZW1lbnRcbiAgICAgIHx8IChlbGVtZW50IGluc3RhbmNlb2YgSFRNTElucHV0RWxlbWVudCAmJiAhWydjaGVja2JveCcsICdyYWRpbyddLmluY2x1ZGVzKGVsZW1lbnQudHlwZSkpO1xuICAgIHJldHVybiBpc1RleHRGaWVsZCAmJiAhIXRoaXMuaG9zdEVsZW1lbnQ/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZWxlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gZGVjb2RlcyB0aGUgcm91dGUgcGFyYW1zIGFuZCBwYXRjaGVzIHRoZSBmaWx0ZXJcbiAgICogU2V0dXAgdGhlIGZpbHRlckZvcm1Db25maWd1cnRpb24gdG8gb3ZlcnJpZGUgZm9yIG11bHRpcGxlIGFuZCBkYXRlIGF0dHJpYnV0ZXMuXG4gICAqL1xuICBwYXRjaEZpbHRlcnNGcm9tUm91dGUoKSB7XG4gICAgdGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZT8udXBkYXRlRm9ybVdpdGhRdWVyeVBhcmFtcyh0aGlzLmZpbHRlckZvcm0sIHRoaXMuZmlsdGVyRm9ybUNvbmZpZ3VyYXRpb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRoYXQgbG9hZHMgdGhlIG1haW4gbW9kZWxzIG9mIHRoZSBhcHBsaWNhdGlvblxuICAgKi9cbiAgbG9hZERhdGEoZmlsdGVycz86IGFueSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zZXJ2aWNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGAke3RoaXMuY29uc3RydWN0b3IubmFtZX06IFNlcnZpY2UgaXMgcmVxdWlyZWQgdG8gbG9hZCB0aGUgZGF0YWBcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuaXNXb3JraW5nID0gdHJ1ZTtcbiAgICBpZiAoIWZpbHRlcnMpIHtcbiAgICAgIC8qKlxuICAgICAgICogQ29udmVydCB0byBmb3JtIGRhdGEgZ2l2ZXMgZmxleGliaWxpdHkgdG8gY29udmVydCB0aGUgZm9ybSBhcnJheSB2YWx1ZXMgdG8gc3RyaW5nXG4gICAgICAgKiBObyBuZWVkIHRvIG92ZXJyaWRlIHRoZSBsb2FkRGF0YSBtZXRob2QgaW4gY2hpbGQgY2xhc3MgdG8gY29udmVydCBhcnJheSB2YWx1ZXMgdG8gc3RyaW5nLlxuICAgICAgICogKi9cbiAgICAgIGZpbHRlcnMgPSB0aGlzLnJlcXVlc3RIZWxwZXJTZXJ2aWNlPy5jb252ZXJ0VG9Gb3JtRGF0YShKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZmlsdGVyRm9ybS52YWx1ZSkpKTtcbiAgICAgIGZpbHRlcnMucGFnZSA9IHRoaXMucGFnZTtcbiAgICAgIGZpbHRlcnMucGVyX3BhZ2UgPSB0aGlzLnBlclBhZ2U7XG4gICAgfVxuICAgIHRoaXMuc2VydmljZS5pbmRleChmaWx0ZXJzKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gdGhpcy5pc1dvcmtpbmcgPSBmYWxzZSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLmxhc3RQYWdlID0gcmVzdWx0Py5sYXN0X3BhZ2UgfHwgdGhpcy5wYWdlO1xuICAgICAgICBpZiAocmVzdWx0Py5kYXRhPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5tb2RlbHMgPSB0aGlzLm1vZGVscy5jb25jYXQocmVzdWx0LmRhdGEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogUmVsb2FkIGFsbCBkYXRhIGZyb20gcGFnZSAxXG4gICAqL1xuICByZWxvYWQoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RlbHMgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGVkTW9kZWxJZHMgPSBbXTtcbiAgICB0aGlzLnBhZ2UgPSAxO1xuICAgIGlmICghdGhpcy5pc1dvcmtpbmcpIHtcbiAgICAgIHRoaXMubG9hZERhdGEoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2FuIGJlIGNhbGxlZCB3aGVuIHRoZSB1c2VyIGlzIHNjcm9sbGluZyxcbiAgICogdG8gdHJpZ2dlciBsb2FkaW5nIGEgbmV3IHBhZ2Ugb2YgZGF0YVxuICAgKi9cbiAgb25TY3JvbGwoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzV29ya2luZyAmJiB0aGlzLnBhZ2UgPCB0aGlzLmxhc3RQYWdlKSB7XG4gICAgICB0aGlzLnBhZ2UgKz0gMTtcbiAgICAgIHRoaXMubG9hZERhdGEoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVzZXQgdGhlIEZpbHRlci5cbiAgICpcbiAgICogQHBhcmFtIGZpZWxkIEZpZWxkIG5hbWUuXG4gICAqL1xuICByZXNldEZpbHRlcihmaWVsZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJGb3JtLmdldChmaWVsZCkucmVzZXQoJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZXMgb25lIG9yIG1vcmUgbW9kZWxzIGluIHRoZSBsaXN0IGJ5IG1hdGNoaW5nIG9uIHRoZWlyIGBpZGAuXG4gICAqIEFjY2VwdHMgYSBzaW5nbGUgbW9kZWwgb3IgYW4gYXJyYXkgb2YgbW9kZWxzLlxuICAgKiBAcGFyYW0gbW9kZWxzIFRoZSB1cGRhdGVkIG1vZGVsIG9yIGFycmF5IG9mIG1vZGVscy5cbiAgICovXG4gIG1vZGVsc1VwZGF0ZWRCeUlkKG1vZGVsczogYW55IHwgYW55W10pOiB2b2lkIHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobW9kZWxzKSkge1xuICAgICAgbW9kZWxzID0gW21vZGVsc107XG4gICAgfVxuICAgIG1vZGVscy5mb3JFYWNoKCh1cGRhdGVkTW9kZWw6IGFueSkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLm1vZGVscy5maW5kSW5kZXgoKG06IGFueSkgPT4gbS5pZCA9PT0gdXBkYXRlZE1vZGVsLmlkKTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgdGhpcy5tb2RlbHNbaW5kZXhdID0gdXBkYXRlZE1vZGVsO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubW9kZWxzID0gWy4uLnRoaXMubW9kZWxzXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIG9uZSBvciBtb3JlIG1vZGVscyBpbiB0aGUgbGlzdCBieSBtYXRjaGluZyBvbiB0aGVpciBgaWRgLlxuICAgKiBBY2NlcHRzIGEgc2luZ2xlIG1vZGVsIG9yIGFuIGFycmF5IG9mIG1vZGVscy5cbiAgICogQHBhcmFtIG1vZGVscyBUaGUgdXBkYXRlZCBtb2RlbCBvciBhcnJheSBvZiBtb2RlbHMuXG4gICAqL1xuICBtb2RlbHNEZWxldGVkQnlJZChtb2RlbHM6IGFueSB8IGFueVtdKTogdm9pZCB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KG1vZGVscykpIHtcbiAgICAgIG1vZGVscyA9IFttb2RlbHNdO1xuICAgIH1cbiAgICB0aGlzLm1vZGVscyA9IHRoaXMubW9kZWxzLmZpbHRlcigobTogYW55KSA9PiAhKG1vZGVscy5zb21lKChpdGVtOiBhbnkpID0+IGl0ZW0uaWQgPT09IG0uaWQpKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRoZSBsaXN0IG9mIHNlbGVjdGVkIG1vZGVscywgdGhpcyB3aWxsIGFsc29cbiAgICogY2xvc2UgdGhlIGJ1bGsgdXBkYXRlIGZvcm0gdGhhdCBjaGVja3MgXG4gICAqIGZvciBzZWxlY3RlZCBtb2RlbHMgbGVuZ3RoXG4gICAqL1xuICBjbGVhclNlbGVjdGVkTW9kZWxzKCkge1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbElkcyA9IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBuZXcgbW9kZWwgYXQgdGhlIGZpcnN0IHBvc2l0aW9uIGluIHRoZSB0YWJsZS5cbiAgICogQHBhcmFtIG1vZGVsIFRoZSBuZXcgbW9kZWwgdG8gYmUgYWRkZWQuXG4gICAqL1xuICBtb2RlbENyZWF0ZWQobW9kZWw6IGFueSk6IHZvaWQge1xuICAgIGlmIChBcnJheS5pc0FycmF5KG1vZGVsKSkge1xuICAgICAgLy9XaGVuIGNyZWF0ZSBhbm90aGVyIGZlYXR1cmUgaXMgdXNlZCwgd2UgZ2V0IGFycmF5IG9mIG1vZGVsc1xuICAgICAgdGhpcy5tb2RlbHMudW5zaGlmdCguLi5tb2RlbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kZWxzLnVuc2hpZnQobW9kZWwpO1xuICAgIH1cbiAgICB0aGlzLm1vZGVscyA9IFsuLi50aGlzLm1vZGVsc107XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBmb3IgbXVsdGkgc2VsZWN0XG4gICAqIFRyaWdlcnJlZCB3aGVuIHNlbGVjdCBhbGwgaXMgdG9nZ2xlZFxuICAgKi9cbiAgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbElkcyA9IFtdO1xuICAgIHRoaXMubW9kZWxzLm1hcCgobW9kZWw6IGFueSkgPT4ge1xuICAgICAgbW9kZWwuaXNfc2VsZWN0ZWQgPSB0aGlzLmlzQWxsU2VsZWN0ZWQ7XG4gICAgICBpZiAodGhpcy5pc0FsbFNlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbElkcy5wdXNoKG1vZGVsLmlkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLm1vZGVscyA9IFsuLi50aGlzLm1vZGVsc107XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBmb3IgbXVsdGkgc2VsZWN0XG4gICAqIFRyaWdlcnJlZCBpZiBhbnkgZW50cnkgc2VjdGlvbiBpcyBtb2RpZmllZFxuICAgKi9cbiAgaXNTZWxlY3Rpb25Nb2RpZmllZChldmVudDogYW55LCBtb2RlbDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5pc0FsbFNlbGVjdGVkID0gZmFsc2U7XG4gICAgaWYgKGV2ZW50LmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbElkcy5wdXNoKG1vZGVsPy5pZCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsSWRzID0gdGhpcy5zZWxlY3RlZE1vZGVsSWRzLmZpbHRlcigobW9kZWxJZDogYW55KSA9PiBtb2RlbElkICE9IG1vZGVsPy5pZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlZnVhbHQgbWV0aG9kIHRvIGxpc3RlbiB0byBzb3J0IGNvbHVtbiB1cGRhdGVzXG4gICAqIEBwYXJhbSBldmVudCBcbiAgICovXG4gIHNvcnRDb2x1bW4oZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGRpcmVjdGlvbiA9IGV2ZW50LmRpcmVjdGlvbi50b1N0cmluZygpLnRvVXBwZXJDYXNlKCk7XG4gICAgdGhpcy5tb2RlbHMgPSBbXTtcbiAgICB0aGlzLmZpbHRlckZvcm0uZ2V0KCdzb3J0X2J5Jykuc2V0VmFsdWUoYCR7ZXZlbnQ/LmFjdGl2ZX18JHtkaXJlY3Rpb259YCk7XG4gIH1cblxuICAvKipcbiAgICogSXQgc2hvdWxkIGJlIG92ZXJyaWRlZCBpbiBjaGlsZCBjbGFzcyB0byByZXNldCBhIGZpbHRlciBmb3JtIGluc3RhbmNlLlxuICAgKiBVc2VkIGJ5IHNldFZpZXcgbWV0aG9kLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlc2V0RmlsdGVyRm9ybSgpOiB2b2lkIHtcbiAgICAvL0lmIGZpbHRlckZvcm0gZXhpc3RzLCB0aGVuIHJlc2V0XG4gICAgaWYgKHRoaXMuZmlsdGVyRm9ybSkge1xuICAgICAgdGhpcy5maWx0ZXJGb3JtLnJlc2V0KCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBvdmVycmlkZWQgaW4gY2hpbGQgY2xhc3MgdG8gcmVzZXQgY29sdW1uIGNvbmZpZ3MuXG4gICAqIFVzZWQgYnkgc2V0VmlldyBtZXRob2QuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzZXRDb2x1bW5Db25maWdzKCk6IHZvaWQge1xuICAgIHRoaXMuY29sdW1uQ29uZmlncyA9IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIEhvb2sgbWV0aG9kIHVzZWQgdG8gc2V0IHRoZSBzZWxlY3RlZCB2aWV3XG4gICAqIEBwYXJhbSB2aWV3IG9wdGlvbmFsIHVzZWQgYnkgbXktdmlldy1saXN0XG4gICAqL1xuICBzZXRWaWV3KHZpZXc/OiBhbnkpIHtcbiAgICAvL1Jlc2V0IHRoZSBxdWVyeSBwYXJhbXNcbiAgICB0aGlzLnJlcXVlc3RIZWxwZXJTZXJ2aWNlPy51cGRhdGVRdWVyeVBhcmFtcyh7fSk7XG4gICAgdGhpcy5pc1ZpZXdMb2FkZWQgPSBmYWxzZTtcbiAgICB0aGlzLnJlc2V0Q29sdW1uQ29uZmlncygpO1xuICAgIHRoaXMucmVzZXRGaWx0ZXJGb3JtKCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodmlldykge1xuICAgICAgICAvL0lmIHRoZXJlIGlzIGEgdmlldywgdGhlbiBzZXQgaXQuXG4gICAgICAgIC8vU2V0dXAgdmlldyBmaWx0ZXJzLCB1c2UgdGhlIG5ldyBmb3JtIGNvbmZpZ3VyYXRpb24gdG8gbWFwIHRoZSBtdWx0aSBmaWVsZHNcbiAgICAgICAgdGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZT8udXBkYXRlRm9ybVdpdGhQYXJhbXModGhpcy5maWx0ZXJGb3JtLCB2aWV3Py5maWx0ZXJzLCB0aGlzLmZpbHRlckZvcm1Db25maWd1cmF0aW9uKTtcbiAgICAgICAgLy9TZXR1cCB2aWV3IGNvbHVtbnNcbiAgICAgICAgdGhpcy5jb2x1bW5Db25maWdzLmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgICAgICBjb2x1bW4uaXNTZWxlY3RlZCA9ICh2aWV3Py5jb2x1bW5zIGFzIHN0cmluZ1tdKS5zb21lKGNvbCA9PiBjb2wgPT09IGNvbHVtbi5kZWYpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaXNWaWV3TG9hZGVkID0gdHJ1ZTtcbiAgICB9LCA1MDApO1xuICB9XG59Il19
|
|
331
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2Jhc2UtbW9kZWwvdGVjaGxpZnktbGlzdC90ZWNobGlmeS1saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7O0FBSW5GOzs7Ozs7Ozs7O0dBVUc7QUFFSCxNQUFNLE9BQWdCLHFCQUFxQjtJQWN6QyxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLGtEQUFrRDtZQUNsRCxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7YUFBTSxDQUFDO1lBQ04sdURBQXVEO1lBQ3ZELElBQUksQ0FBQyxV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LEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdkIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ1Qsa0NBQWtDO2dCQUNsQyw0RUFBNEU7Z0JBQzVFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBQzlHLG9CQUFvQjtnQkFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7b0JBQ2xDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBb0IsQ0FBQSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xGLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQzNCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7K0dBeldtQixxQkFBcUI7bUdBQXJCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFEMUMsU0FBUzs7MEJBd0dLLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIGZpbmFsaXplLCBtYXAsIHNraXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RBdHRyaWJ1dGVUb2tlbiwgaW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9lbnZpcm9ubWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFJlcXVlc3RIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVxdWVzdC1oZWxwZXIvcmVxdWVzdC1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUZWNobGlmeVNlcnZpY2UgfSBmcm9tICcuLi90ZWNobGlmeS1zZXJ2aWNlJztcbmltcG9ydCB7IENvbHVtbkNvbmZpZyB9IGZyb20gJy4uLy4uL2NvbHVtbi1zZWxlY3Rvcic7XG5cbi8qKlxuICogSW50ZXJmYWNlIHVzZWQgdG8gZW5zdXJlIHdlIGhhdmUgYSBjb25zaXN0ZW50IHN0cnVjdHVyZSBhY3Jvc3Mgb3VyIGxpc3RpbmcgcGFnZXNcbiAqXG4gKiBAdG9kbyBUaGlzIHNob3VsZCBiZSBtb3ZlZCB0byBuZ3gtdGVjaGxpZnktY29yZVxuICpcbiAqIEFkdmFudGFnZXMgb2YgdGhpcyBhYnN0cmFjdCBjbGFzc1xuICogLSBMZXNzIGNvZGUsIGxlc3MgbWFpbnRlbmFuY2UsIGxlc3MgYnVnc1xuICogLSBtb3JlIGNvbnNpc3RlbnQgY29kZVxuICogLSBjb21tZW50cyBvbiBtb3JlIGNvZGVcbiAqIC0gc2F2ZSB0aW1lLCBzYXZlIGVuZXJneVxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUZWNobGlmeUxpc3RDb21wb25lbnQge1xuXG4gIG1vZGVsczogYW55W10gPSBbXTtcbiAgc2VsZWN0ZWRNb2RlbElkczogYW55W10gPSBbXTtcbiAgaXNBbGxTZWxlY3RlZCA9IGZhbHNlO1xuICBwYWdlID0gMTtcbiAgcGVyUGFnZSA9IDUwO1xuICBsYXN0UGFnZSA9IDA7XG4gIGZpbHRlckZvcm06IGFueTtcbiAgaXNWaWV3TG9hZGVkID0gZmFsc2U7XG4gIGNvbHVtbkNvbmZpZ3M6IENvbHVtbkNvbmZpZ1tdID0gW107XG5cbiAgLy9Cb29sZWFuIHRvIGRlbm90ZSB0aGUgZm9ybSBpcyBpbiBBUEkgcHJvZ3Jlc3NcbiAgX2lzV29ya2luZzogYm9vbGVhbiA9IGZhbHNlO1xuICBnZXQgaXNXb3JraW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9pc1dvcmtpbmc7XG4gIH1cbiAgc2V0IGlzV29ya2luZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2lzV29ya2luZyA9IHZhbHVlO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgLy9JZiBpdCBpcyB3b3JraW5nLCBzZXQgdGhlIGZpbHRlckZvcm0gdG8gZGlzYWJsZWRcbiAgICAgIHRoaXMuZmlsdGVyRm9ybT8uZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vV2hlbiB3b3JraW5nIGNvbXBsZXRlcywgc2V0IHRoZSBmaWx0ZXJGb3JtIHRvIGVuYWJsZWRcbiAgICAgIHRoaXMuZmlsdGVyRm9ybT8uZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gIH1cblxuICAvL0ZpbHRlcnMgdG8gYmUgZXhwb3J0ZWQgZm9yIHZpZXcgaW50ZWdyYXRpb25cbiAgZmlsdGVyczogYW55O1xuXG4gIC8qKlxuICAgKiBCb29sZWFuIHRvIHR1cm4gb2ZmLCBpZiB3ZSBkb24ndCB3YW50IHRvIHBhdGNoIGZpbHRlcnMgZnJvbSByb3V0ZS5cbiAgICogVGhpcyBjYW4gYmUgb3ZlcnJpZGVuIGluIGNoaWxkIGNsYXNzZXMgaWYgbmVlZCBcbiAgICovXG4gIHByb3RlY3RlZCBfaXNGaWx0ZXJQYXRjaEZyb21Sb3V0ZSA9IHRydWU7XG4gIGdldCBpc0ZpbHRlclBhdGNoRnJvbVJvdXRlKCkge1xuICAgIHJldHVybiB0aGlzLl9pc0ZpbHRlclBhdGNoRnJvbVJvdXRlO1xuICB9XG4gIHNldCBpc0ZpbHRlclBhdGNoRnJvbVJvdXRlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNGaWx0ZXJQYXRjaEZyb21Sb3V0ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlciBmb3JtIGNvbmZpZ3VyYXRpb24gdXNlZCB0byBkZWNvZGUgdGhlIHJvdXRlIHBhcmFtcy5cbiAgICogRWc6IE92ZXJyaWRlIGluIGNoaWxkIGNsYXNzXG4gICAqICBgYGAgXG4gICAqIGZpbHRlckZvcm1Db25maWd1cmF0aW9uOiBhbnkgPSB7XG4gICAgc3RhdHVzX2lkOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgYnJhbmNoX2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgIGRlcGFydG1lbnRfaWRzOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgZW1wbG95ZWVfaWRzOiB7IG11bHRpcGxlOiB0cnVlIH0sXG4gICAgY291cnNlX2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9LFxuICAgIGRhdGVfZnJvbTogeyBkYXRlOiB0cnVlIH0sXG4gICAgZGF0ZV90bzogeyBkYXRlOiB0cnVlIH0sXG4gICAgZHVlX2RhdGVfZnJvbTogeyBkYXRlOiB0cnVlIH0sXG4gICAgZHVlX2RhdGVfdG86IHsgZGF0ZTogdHJ1ZSB9LFxuICAgfSBcbiAgICpgYGBcbiAgICovXG4gIGZpbHRlckZvcm1Db25maWd1cmF0aW9uOiBhbnk7XG5cbiAgLyoqXG4gICAgKiBDaGlsZCBjbGFzc2VzIGNhbiBvdmVycmlkZSB0aGlzLlxuICAgICogSWYgbGVmdCB1bmRlZmluZWQvZW1wdHksIGZhbGxzIGJhY2sgdG8gZW52aXJvbm1lbnQuYXBwVGl0bGVcbiAgICAqL1xuICBwcm90ZWN0ZWQgZ2V0IHBhZ2VUaXRsZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7IC8vIGRlZmF1bHRcbiAgfVxuXG5cbiAgLyoqXG4gICAqIERlYm91bmNlIChtcykgYXBwbGllZCB0byBmaWx0ZXIgY2hhbmdlcyBiZWZvcmUgcmVsb2FkaW5nLlxuICAgKiBVc2VzIGVudmlyb25tZW50LmZpbHRlclRpbWUgd2hlbiBzZXQsIG90aGVyd2lzZSA1MDAuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGZpbHRlckRlYm91bmNlVGltZSgpOiBudW1iZXIge1xuICAgIGNvbnN0IGZpbHRlclRpbWUgPSBOdW1iZXIodGhpcy5lbnZpcm9ubWVudFNlcnZpY2U/LmdldCgpPy5maWx0ZXJUaW1lKTtcbiAgICByZXR1cm4gZmlsdGVyVGltZSA+PSAwID8gZmlsdGVyVGltZSA6IDUwMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIGZpbHRlciBjaGFuZ2VzIGFyZSBhcHBsaWVkOlxuICAgKiAtICdrZXl1cCc6IG9uY2UgdGhlIHVzZXIgc3RvcHMgdHlwaW5nIChhZnRlciBmaWx0ZXJEZWJvdW5jZVRpbWUpXG4gICAqIC0gJ2ZvY3Vzb3V0Jzogb25jZSBmb2N1cyBsZWF2ZXMgdGhlIGZpbHRlciBpbnB1dFxuICAgKiBVc2VzIGVudmlyb25tZW50LmZpbHRlckFjdGlvbiB3aGVuIHNldCwgb3RoZXJ3aXNlICdrZXl1cCcuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGZpbHRlclRyaWdnZXJBY3Rpb24oKTogJ2tleXVwJyB8ICdmb2N1c291dCcge1xuICAgIGNvbnN0IGZpbHRlckFjdGlvbiA9IFN0cmluZyh0aGlzLmVudmlyb25tZW50U2VydmljZT8uZ2V0KCk/LmZpbHRlckFjdGlvbiA/PyAnJyk7XG4gICAgcmV0dXJuIGZpbHRlckFjdGlvbiA9PT0gJ2ZvY3Vzb3V0JyA/ICdmb2N1c291dCcgOiAna2V5dXAnO1xuICB9XG5cbiAgcHJpdmF0ZSB0aXRsZVNlcnZpY2UgPSBpbmplY3QoVGl0bGUsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gIHByaXZhdGUgZW52aXJvbm1lbnRTZXJ2aWNlID0gaW5qZWN0KEVudmlyb25tZW50U2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBob3N0RWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAvKipcbiAgICogU2V0IGlzU2V0UGFnZVRpdGxlPVwiZmFsc2VcIiBvbiBhIGxpc3RpbmcgZW1iZWRkZWQgaW4gYSBwYWdlIHRoYXQgc2V0cyBpdHMgb3duIHRpdGxlLCBzbyB0aGVcbiAgICogbGlzdGluZyBsZWF2ZXMgdGhlIGJyb3dzZXIgdGFiIHRpdGxlIGFsb25lLlxuICAgKi9cbiAgcHJpdmF0ZSBpc1NldFBhZ2VUaXRsZSA9IGluamVjdChuZXcgSG9zdEF0dHJpYnV0ZVRva2VuKCdpc1NldFBhZ2VUaXRsZScpLCB7IG9wdGlvbmFsOiB0cnVlIH0pICE9PSAnZmFsc2UnO1xuXG4gIC8vUmVxdWVzdCBoZWxwZXIgc2VydmljZSB0byBpbmhlcml0ZWQgYW5kIG92ZXJyaWRlbiBpZiBuZWVkZWRcbiAgcHJvdGVjdGVkIHJlcXVlc3RIZWxwZXJTZXJ2aWNlID0gaW5qZWN0KFJlcXVlc3RIZWxwZXJTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHByb3RlY3RlZCBzZXJ2aWNlPzogVGVjaGxpZnlTZXJ2aWNlKSB7XG4gICAgaWYgKHRoaXMuaXNTZXRQYWdlVGl0bGUpIHtcbiAgICAgIGNvbnN0IHJlc29sdmVkVGl0bGUgPVxuICAgICAgICB0aGlzLnBhZ2VUaXRsZSAmJiB0aGlzLnBhZ2VUaXRsZS50cmltKCkubGVuZ3RoID4gMFxuICAgICAgICAgID8gdGhpcy5wYWdlVGl0bGVcbiAgICAgICAgICA6IHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlPy5nZXQoKS5hcHBUaXRsZTtcbiAgICAgIHRoaXMudGl0bGVTZXJ2aWNlPy5zZXRUaXRsZShyZXNvbHZlZFRpdGxlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdGhhdCBsaXN0ZW5zIGZvciBhbnkgY2hhbmdlcyBpbiB0aGUgZmlsdGVyIGZvcm0gZ3JvdXBcbiAgICogSXQgdXBkYXRlcyB0aGUgcm91dGUgYXV0b21hdGljYWxseVxuICAgKiBBbHNvIHJlbG9hZCB0aGUgcGFnZSBvbiBjaGFuZ2VcbiAgICpcbiAgICogSW4gJ2ZvY3Vzb3V0JyBtb2RlLCB0eXBpbmcgaW4gYSB0ZXh0IGZpbHRlciBpcyBoZWxkIHVudGlsIGZvY3VzIGxlYXZlcyBpdDtcbiAgICogc2VsZWN0cywgZGF0ZXMsIHNvcnRpbmcgZXRjLiBzdGlsbCBhcHBseSBhZnRlciB0aGUgZGVib3VuY2UuXG4gICAqL1xuICBsaXN0ZW5GaWx0ZXJDaGFuZ2VzKCk6IHZvaWQge1xuICAgIGxldCBmaWx0ZXJDaGFuZ2VzJCA9IHRoaXMuZmlsdGVyRm9ybS52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUodGhpcy5maWx0ZXJEZWJvdW5jZVRpbWUpKTtcbiAgICBpZiAodGhpcy5maWx0ZXJUcmlnZ2VyQWN0aW9uID09PSAnZm9jdXNvdXQnKSB7XG4gICAgICBmaWx0ZXJDaGFuZ2VzJCA9IG1lcmdlKFxuICAgICAgICB0aGlzLmZpbHRlckZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKCgpID0+ICF0aGlzLmlzVHlwaW5nSW5GaWx0ZXIoKSksXG4gICAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZmlsdGVyRGVib3VuY2VUaW1lKVxuICAgICAgICApLFxuICAgICAgICBmcm9tRXZlbnQodGhpcy5ob3N0RWxlbWVudD8ubmF0aXZlRWxlbWVudCA/PyBkb2N1bWVudCwgJ2ZvY3Vzb3V0JylcbiAgICAgICkucGlwZShcbiAgICAgICAgLy8gZm9jdXNvdXQgZmlyZXMgb24gZXZlcnkgYmx1ciAoaW5jbHVkaW5nIHRoZSBmaWx0ZXJGb3JtIGRpc2FibGluZyB3aGlsZSBsb2FkaW5nKSwgc28gb25seSByZWxvYWQgb24gYSByZWFsIGNoYW5nZVxuICAgICAgICBtYXAoKCkgPT4gSlNPTi5zdHJpbmdpZnkodGhpcy5maWx0ZXJGb3JtLmdldFJhd1ZhbHVlKCkpKSxcbiAgICAgICAgc3RhcnRXaXRoKEpTT04uc3RyaW5naWZ5KHRoaXMuZmlsdGVyRm9ybS5nZXRSYXdWYWx1ZSgpKSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHNraXAoMSksXG4gICAgICApO1xuICAgIH1cbiAgICBmaWx0ZXJDaGFuZ2VzJFxuICAgICAgLnN1YnNjcmliZSgoXzogYW55KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzRmlsdGVyUGF0Y2hGcm9tUm91dGUpIHtcbiAgICAgICAgICBjb25zdCB1bmZvcm1hdGVkRmlsdGVycyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5maWx0ZXJGb3JtLnZhbHVlKSk7XG4gICAgICAgICAgdGhpcy5maWx0ZXJzID0gdGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZT8uY29udmVydFRvRm9ybURhdGEodW5mb3JtYXRlZEZpbHRlcnMpO1xuICAgICAgICAgIHRoaXMucmVxdWVzdEhlbHBlclNlcnZpY2U/LnVwZGF0ZVF1ZXJ5UGFyYW1zKHRoaXMuZmlsdGVycyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZWxvYWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHVzZXIgaXMgY3VycmVudGx5IHR5cGluZyBpbiBhIHRleHQgZmlsdGVyIGluc2lkZSB0aGlzIGxpc3RpbmdcbiAgICovXG4gIHByaXZhdGUgaXNUeXBpbmdJbkZpbHRlcigpOiBib29sZWFuIHtcbiAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtcbiAgICBjb25zdCBpc1RleHRGaWVsZCA9IGVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MVGV4dEFyZWFFbGVtZW50XG4gICAgICB8fCAoZWxlbWVudCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQgJiYgIVsnY2hlY2tib3gnLCAncmFkaW8nXS5pbmNsdWRlcyhlbGVtZW50LnR5cGUpKTtcbiAgICByZXR1cm4gaXNUZXh0RmllbGQgJiYgISF0aGlzLmhvc3RFbGVtZW50Py5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIGRlY29kZXMgdGhlIHJvdXRlIHBhcmFtcyBhbmQgcGF0Y2hlcyB0aGUgZmlsdGVyXG4gICAqIFNldHVwIHRoZSBmaWx0ZXJGb3JtQ29uZmlndXJ0aW9uIHRvIG92ZXJyaWRlIGZvciBtdWx0aXBsZSBhbmQgZGF0ZSBhdHRyaWJ1dGVzLlxuICAgKi9cbiAgcGF0Y2hGaWx0ZXJzRnJvbVJvdXRlKCkge1xuICAgIHRoaXMucmVxdWVzdEhlbHBlclNlcnZpY2U/LnVwZGF0ZUZvcm1XaXRoUXVlcnlQYXJhbXModGhpcy5maWx0ZXJGb3JtLCB0aGlzLmZpbHRlckZvcm1Db25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0aGF0IGxvYWRzIHRoZSBtYWluIG1vZGVscyBvZiB0aGUgYXBwbGljYXRpb25cbiAgICovXG4gIGxvYWREYXRhKGZpbHRlcnM/OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2VydmljZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9OiBTZXJ2aWNlIGlzIHJlcXVpcmVkIHRvIGxvYWQgdGhlIGRhdGFgXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgaWYgKCFmaWx0ZXJzKSB7XG4gICAgICAvKipcbiAgICAgICAqIENvbnZlcnQgdG8gZm9ybSBkYXRhIGdpdmVzIGZsZXhpYmlsaXR5IHRvIGNvbnZlcnQgdGhlIGZvcm0gYXJyYXkgdmFsdWVzIHRvIHN0cmluZ1xuICAgICAgICogTm8gbmVlZCB0byBvdmVycmlkZSB0aGUgbG9hZERhdGEgbWV0aG9kIGluIGNoaWxkIGNsYXNzIHRvIGNvbnZlcnQgYXJyYXkgdmFsdWVzIHRvIHN0cmluZy5cbiAgICAgICAqICovXG4gICAgICBmaWx0ZXJzID0gdGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZT8uY29udmVydFRvRm9ybURhdGEoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmZpbHRlckZvcm0udmFsdWUpKSk7XG4gICAgICBmaWx0ZXJzLnBhZ2UgPSB0aGlzLnBhZ2U7XG4gICAgICBmaWx0ZXJzLnBlcl9wYWdlID0gdGhpcy5wZXJQYWdlO1xuICAgIH1cbiAgICB0aGlzLnNlcnZpY2UuaW5kZXgoZmlsdGVycylcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuaXNXb3JraW5nID0gZmFsc2UpKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5sYXN0UGFnZSA9IHJlc3VsdD8ubGFzdF9wYWdlIHx8IHRoaXMucGFnZTtcbiAgICAgICAgaWYgKHJlc3VsdD8uZGF0YT8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMubW9kZWxzID0gdGhpcy5tb2RlbHMuY29uY2F0KHJlc3VsdC5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFJlbG9hZCBhbGwgZGF0YSBmcm9tIHBhZ2UgMVxuICAgKi9cbiAgcmVsb2FkKCk6IHZvaWQge1xuICAgIHRoaXMubW9kZWxzID0gW107XG4gICAgdGhpcy5zZWxlY3RlZE1vZGVsSWRzID0gW107XG4gICAgdGhpcy5wYWdlID0gMTtcbiAgICBpZiAoIXRoaXMuaXNXb3JraW5nKSB7XG4gICAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENhbiBiZSBjYWxsZWQgd2hlbiB0aGUgdXNlciBpcyBzY3JvbGxpbmcsXG4gICAqIHRvIHRyaWdnZXIgbG9hZGluZyBhIG5ldyBwYWdlIG9mIGRhdGFcbiAgICovXG4gIG9uU2Nyb2xsKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1dvcmtpbmcgJiYgdGhpcy5wYWdlIDwgdGhpcy5sYXN0UGFnZSkge1xuICAgICAgdGhpcy5wYWdlICs9IDE7XG4gICAgICB0aGlzLmxvYWREYXRhKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRoZSBGaWx0ZXIuXG4gICAqXG4gICAqIEBwYXJhbSBmaWVsZCBGaWVsZCBuYW1lLlxuICAgKi9cbiAgcmVzZXRGaWx0ZXIoZmllbGQ6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyRm9ybS5nZXQoZmllbGQpLnJlc2V0KCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIG9uZSBvciBtb3JlIG1vZGVscyBpbiB0aGUgbGlzdCBieSBtYXRjaGluZyBvbiB0aGVpciBgaWRgLlxuICAgKiBBY2NlcHRzIGEgc2luZ2xlIG1vZGVsIG9yIGFuIGFycmF5IG9mIG1vZGVscy5cbiAgICogQHBhcmFtIG1vZGVscyBUaGUgdXBkYXRlZCBtb2RlbCBvciBhcnJheSBvZiBtb2RlbHMuXG4gICAqL1xuICBtb2RlbHNVcGRhdGVkQnlJZChtb2RlbHM6IGFueSB8IGFueVtdKTogdm9pZCB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KG1vZGVscykpIHtcbiAgICAgIG1vZGVscyA9IFttb2RlbHNdO1xuICAgIH1cbiAgICBtb2RlbHMuZm9yRWFjaCgodXBkYXRlZE1vZGVsOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5tb2RlbHMuZmluZEluZGV4KChtOiBhbnkpID0+IG0uaWQgPT09IHVwZGF0ZWRNb2RlbC5pZCk7XG4gICAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICAgIHRoaXMubW9kZWxzW2luZGV4XSA9IHVwZGF0ZWRNb2RlbDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLm1vZGVscyA9IFsuLi50aGlzLm1vZGVsc107XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlcyBvbmUgb3IgbW9yZSBtb2RlbHMgaW4gdGhlIGxpc3QgYnkgbWF0Y2hpbmcgb24gdGhlaXIgYGlkYC5cbiAgICogQWNjZXB0cyBhIHNpbmdsZSBtb2RlbCBvciBhbiBhcnJheSBvZiBtb2RlbHMuXG4gICAqIEBwYXJhbSBtb2RlbHMgVGhlIHVwZGF0ZWQgbW9kZWwgb3IgYXJyYXkgb2YgbW9kZWxzLlxuICAgKi9cbiAgbW9kZWxzRGVsZXRlZEJ5SWQobW9kZWxzOiBhbnkgfCBhbnlbXSk6IHZvaWQge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShtb2RlbHMpKSB7XG4gICAgICBtb2RlbHMgPSBbbW9kZWxzXTtcbiAgICB9XG4gICAgdGhpcy5tb2RlbHMgPSB0aGlzLm1vZGVscy5maWx0ZXIoKG06IGFueSkgPT4gIShtb2RlbHMuc29tZSgoaXRlbTogYW55KSA9PiBpdGVtLmlkID09PSBtLmlkKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgbGlzdCBvZiBzZWxlY3RlZCBtb2RlbHMsIHRoaXMgd2lsbCBhbHNvXG4gICAqIGNsb3NlIHRoZSBidWxrIHVwZGF0ZSBmb3JtIHRoYXQgY2hlY2tzIFxuICAgKiBmb3Igc2VsZWN0ZWQgbW9kZWxzIGxlbmd0aFxuICAgKi9cbiAgY2xlYXJTZWxlY3RlZE1vZGVscygpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kZWxJZHMgPSBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgbmV3IG1vZGVsIGF0IHRoZSBmaXJzdCBwb3NpdGlvbiBpbiB0aGUgdGFibGUuXG4gICAqIEBwYXJhbSBtb2RlbCBUaGUgbmV3IG1vZGVsIHRvIGJlIGFkZGVkLlxuICAgKi9cbiAgbW9kZWxDcmVhdGVkKG1vZGVsOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShtb2RlbCkpIHtcbiAgICAgIC8vV2hlbiBjcmVhdGUgYW5vdGhlciBmZWF0dXJlIGlzIHVzZWQsIHdlIGdldCBhcnJheSBvZiBtb2RlbHNcbiAgICAgIHRoaXMubW9kZWxzLnVuc2hpZnQoLi4ubW9kZWwpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1vZGVscy51bnNoaWZ0KG1vZGVsKTtcbiAgICB9XG4gICAgdGhpcy5tb2RlbHMgPSBbLi4udGhpcy5tb2RlbHNdO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgZm9yIG11bHRpIHNlbGVjdFxuICAgKiBUcmlnZXJyZWQgd2hlbiBzZWxlY3QgYWxsIGlzIHRvZ2dsZWRcbiAgICovXG4gIHNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kZWxJZHMgPSBbXTtcbiAgICB0aGlzLm1vZGVscy5tYXAoKG1vZGVsOiBhbnkpID0+IHtcbiAgICAgIG1vZGVsLmlzX3NlbGVjdGVkID0gdGhpcy5pc0FsbFNlbGVjdGVkO1xuICAgICAgaWYgKHRoaXMuaXNBbGxTZWxlY3RlZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWxJZHMucHVzaChtb2RlbC5pZCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5tb2RlbHMgPSBbLi4udGhpcy5tb2RlbHNdO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgZm9yIG11bHRpIHNlbGVjdFxuICAgKiBUcmlnZXJyZWQgaWYgYW55IGVudHJ5IHNlY3Rpb24gaXMgbW9kaWZpZWRcbiAgICovXG4gIGlzU2VsZWN0aW9uTW9kaWZpZWQoZXZlbnQ6IGFueSwgbW9kZWw6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuaXNBbGxTZWxlY3RlZCA9IGZhbHNlO1xuICAgIGlmIChldmVudC5jaGVja2VkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTW9kZWxJZHMucHVzaChtb2RlbD8uaWQpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbElkcyA9IHRoaXMuc2VsZWN0ZWRNb2RlbElkcy5maWx0ZXIoKG1vZGVsSWQ6IGFueSkgPT4gbW9kZWxJZCAhPSBtb2RlbD8uaWQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZ1YWx0IG1ldGhvZCB0byBsaXN0ZW4gdG8gc29ydCBjb2x1bW4gdXBkYXRlc1xuICAgKiBAcGFyYW0gZXZlbnQgXG4gICAqL1xuICBzb3J0Q29sdW1uKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBkaXJlY3Rpb24gPSBldmVudC5kaXJlY3Rpb24udG9TdHJpbmcoKS50b1VwcGVyQ2FzZSgpO1xuICAgIHRoaXMubW9kZWxzID0gW107XG4gICAgdGhpcy5maWx0ZXJGb3JtLmdldCgnc29ydF9ieScpLnNldFZhbHVlKGAke2V2ZW50Py5hY3RpdmV9fCR7ZGlyZWN0aW9ufWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEl0IHNob3VsZCBiZSBvdmVycmlkZWQgaW4gY2hpbGQgY2xhc3MgdG8gcmVzZXQgYSBmaWx0ZXIgZm9ybSBpbnN0YW5jZS5cbiAgICogVXNlZCBieSBzZXRWaWV3IG1ldGhvZC5cbiAgICovXG4gIHByb3RlY3RlZCByZXNldEZpbHRlckZvcm0oKTogdm9pZCB7XG4gICAgLy9JZiBmaWx0ZXJGb3JtIGV4aXN0cywgdGhlbiByZXNldFxuICAgIGlmICh0aGlzLmZpbHRlckZvcm0pIHtcbiAgICAgIHRoaXMuZmlsdGVyRm9ybS5yZXNldCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJdCBzaG91bGQgYmUgb3ZlcnJpZGVkIGluIGNoaWxkIGNsYXNzIHRvIHJlc2V0IGNvbHVtbiBjb25maWdzLlxuICAgKiBVc2VkIGJ5IHNldFZpZXcgbWV0aG9kLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlc2V0Q29sdW1uQ29uZmlncygpOiB2b2lkIHtcbiAgICB0aGlzLmNvbHVtbkNvbmZpZ3MgPSBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIb29rIG1ldGhvZCB1c2VkIHRvIHNldCB0aGUgc2VsZWN0ZWQgdmlld1xuICAgKiBAcGFyYW0gdmlldyBvcHRpb25hbCB1c2VkIGJ5IG15LXZpZXctbGlzdFxuICAgKi9cbiAgc2V0Vmlldyh2aWV3PzogYW55KSB7XG4gICAgLy9SZXNldCB0aGUgcXVlcnkgcGFyYW1zXG4gICAgdGhpcy5yZXF1ZXN0SGVscGVyU2VydmljZT8udXBkYXRlUXVlcnlQYXJhbXMoe30pO1xuICAgIHRoaXMuaXNWaWV3TG9hZGVkID0gZmFsc2U7XG4gICAgdGhpcy5yZXNldENvbHVtbkNvbmZpZ3MoKTtcbiAgICB0aGlzLnJlc2V0RmlsdGVyRm9ybSgpO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHZpZXcpIHtcbiAgICAgICAgLy9JZiB0aGVyZSBpcyBhIHZpZXcsIHRoZW4gc2V0IGl0LlxuICAgICAgICAvL1NldHVwIHZpZXcgZmlsdGVycywgdXNlIHRoZSBuZXcgZm9ybSBjb25maWd1cmF0aW9uIHRvIG1hcCB0aGUgbXVsdGkgZmllbGRzXG4gICAgICAgIHRoaXMucmVxdWVzdEhlbHBlclNlcnZpY2U/LnVwZGF0ZUZvcm1XaXRoUGFyYW1zKHRoaXMuZmlsdGVyRm9ybSwgdmlldz8uZmlsdGVycywgdGhpcy5maWx0ZXJGb3JtQ29uZmlndXJhdGlvbik7XG4gICAgICAgIC8vU2V0dXAgdmlldyBjb2x1bW5zXG4gICAgICAgIHRoaXMuY29sdW1uQ29uZmlncy5mb3JFYWNoKGNvbHVtbiA9PiB7XG4gICAgICAgICAgY29sdW1uLmlzU2VsZWN0ZWQgPSAodmlldz8uY29sdW1ucyBhcyBzdHJpbmdbXSkuc29tZShjb2wgPT4gY29sID09PSBjb2x1bW4uZGVmKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmlzVmlld0xvYWRlZCA9IHRydWU7XG4gICAgfSwgNTAwKTtcbiAgfVxufSJdfQ==
|
|
@@ -89,11 +89,11 @@ export class ExportExcelButtonComponent {
|
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
91
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExportExcelButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
92
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExportExcelButtonComponent, selector: "app-export-excel-button", inputs: { isCSV: "isCSV", iconName: "iconName", fileName: "fileName", data: "data", tableId: "tableId", isParseNumeric: "isParseNumeric" }, outputs: { isExportingToExcel: "isExportingToExcel" }, ngImport: i0, template: "<app-techlify-icon class=\"clickable d-print-none\" *ngIf=\"!isWorking\" [name]=\"iconName\" (click)=\"exportToExcel()\"\n matTooltip=\"Excel Export\">\n</app-techlify-icon>", styles: [".fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.wpx-50{width:50px!important}.wpx-100{width:100px!important}.wpx-120{width:120px!important}.wpx-125{width:125px!important}.wpx-150{width:150px!important}.wpx-200{width:200px!important}.wpx-250{width:250px!important}.min-wpx-200{min-width:200px!important}.max-width-px-115{max-width:115px}.w-description{width:300px!important}.side-panel{width:300px!important;min-width:300px!important;flex-shrink:0!important}.h-250px{height:250px!important}.scroll-y{overflow-y:auto}.flex-basis-0{flex-basis:0}.flex-basis-5{flex-basis:5%}.flex-basis-8{flex-basis:8%}.flex-basis-10{flex-basis:10%}.flex-basis-15{flex-basis:15%}.flex-basis-20{flex-basis:20%}.flex-basis-25{flex-basis:25%}.flex-basis-30{flex-basis:30%}.flex-basis-35{flex-basis:35%}.flex-basis-40{flex-basis:40%}.flex-basis-45{flex-basis:45%}.flex-basis-48{flex-basis:48%}.flex-basis-49{flex-basis:49%}.flex-basis-50{flex-basis:50%}.flex-basis-60{flex-basis:60%}.flex-basis-65{flex-basis:65%}.flex-basis-70{flex-basis:70%}.flex-basis-80{flex-basis:80%}.flex-basis-90{flex-basis:90%}.flex-basis-95{flex-basis:95%}.flex-basis-100{flex-basis:100%}.flex-basis-50-minus-1rem{flex-basis:calc(50% - 1rem)}.flex-basis-50-minus-0-2rem{flex-basis:calc(50% - .2rem)}.flex-basis-20-minus-1rem{flex-basis:calc(20% - 1rem)}.flex-basis-15-minus-1rem{flex-basis:calc(15% - 1rem)}.flex-basis-50-minus-4px{flex-basis:calc(50% - 4px)}@media (min-width: 992px){.flex-lg-basis-50{flex-basis:50%}}@media (min-width: 1200px){.flex-xl-basis-30{flex-basis:30%}.flex-xl-basis-30-minus-1rem{flex:0 1 calc(30% - 1rem)}}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}button,a,input{outline:none!important}::-webkit-scrollbar{width:.5em}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:gray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#4d4c4c}.icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.mat-icon-xl{height:40px!important;width:40px!important;font-size:40px!important}.mat-icon-20px{font-size:20px!important;height:20px!important;width:20px!important}.mat-small-icon{height:16px!important;width:16px!important;font-size:16px!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.mdc-button__label{letter-spacing:normal!important}.mat-mdc-button .mat-icon{height:24px!important;width:24px!important;font-size:24px!important}.mat-button-toggle-group{height:48px!important;align-items:center}.mat-button-toggle-button{height:48px!important}.mat-button-toggle-label-content{padding:0 8px!important;font-size:14px!important}.mat-mdc-slide-toggle label{margin:0!important}.small-slide-toggle{transform:scale(.8);transform-origin:left center}.fs-8{font-size:8px!important}.fs-12{font-size:12px!important}.fs-13{font-size:13px!important}.fs-16{font-size:16px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.mat-mdc-floating-label{pointer-events:none!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#555!important;-webkit-text-fill-color:#555555!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#555!important}.mat-mdc-card{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);padding:16px}.mat-mdc-card-content{padding:0!important}.mat-mdc-dialog-surface{padding:24px}.mat-mdc-dialog-title{padding:0!important}.mat-mdc-dialog-title .mat-mdc-dialog-title:before{height:0!important}.mat-mdc-dialog-title *{position:relative;top:-30px!important}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:6px!important}.mdc-data-table__cell,.mdc-data-table__header-cell{padding:0 8px!important}.
|
|
92
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExportExcelButtonComponent, selector: "app-export-excel-button", inputs: { isCSV: "isCSV", iconName: "iconName", fileName: "fileName", data: "data", tableId: "tableId", isParseNumeric: "isParseNumeric" }, outputs: { isExportingToExcel: "isExportingToExcel" }, ngImport: i0, template: "<app-techlify-icon class=\"clickable d-print-none\" *ngIf=\"!isWorking\" [name]=\"iconName\" (click)=\"exportToExcel()\"\n matTooltip=\"Excel Export\">\n</app-techlify-icon>", styles: [".fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.wpx-50{width:50px!important}.wpx-100{width:100px!important}.wpx-120{width:120px!important}.wpx-125{width:125px!important}.wpx-150{width:150px!important}.wpx-200{width:200px!important}.wpx-250{width:250px!important}.min-wpx-200{min-width:200px!important}.max-width-px-115{max-width:115px}.w-description{width:300px!important}.side-panel{width:300px!important;min-width:300px!important;flex-shrink:0!important}.h-250px{height:250px!important}.scroll-y{overflow-y:auto}.flex-basis-0{flex-basis:0}.flex-basis-5{flex-basis:5%}.flex-basis-8{flex-basis:8%}.flex-basis-10{flex-basis:10%}.flex-basis-15{flex-basis:15%}.flex-basis-20{flex-basis:20%}.flex-basis-25{flex-basis:25%}.flex-basis-30{flex-basis:30%}.flex-basis-35{flex-basis:35%}.flex-basis-40{flex-basis:40%}.flex-basis-45{flex-basis:45%}.flex-basis-48{flex-basis:48%}.flex-basis-49{flex-basis:49%}.flex-basis-50{flex-basis:50%}.flex-basis-60{flex-basis:60%}.flex-basis-65{flex-basis:65%}.flex-basis-70{flex-basis:70%}.flex-basis-80{flex-basis:80%}.flex-basis-90{flex-basis:90%}.flex-basis-95{flex-basis:95%}.flex-basis-100{flex-basis:100%}.flex-basis-50-minus-1rem{flex-basis:calc(50% - 1rem)}.flex-basis-50-minus-0-2rem{flex-basis:calc(50% - .2rem)}.flex-basis-20-minus-1rem{flex-basis:calc(20% - 1rem)}.flex-basis-15-minus-1rem{flex-basis:calc(15% - 1rem)}.flex-basis-50-minus-4px{flex-basis:calc(50% - 4px)}@media (min-width: 992px){.flex-lg-basis-50{flex-basis:50%}}@media (min-width: 1200px){.flex-xl-basis-30{flex-basis:30%}.flex-xl-basis-30-minus-1rem{flex:0 1 calc(30% - 1rem)}}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}button,a,input{outline:none!important}::-webkit-scrollbar{width:.5em}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:gray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#4d4c4c}.icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.mat-icon-xl{height:40px!important;width:40px!important;font-size:40px!important}.mat-icon-20px{font-size:20px!important;height:20px!important;width:20px!important}.mat-small-icon{height:16px!important;width:16px!important;font-size:16px!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.mdc-button__label{letter-spacing:normal!important}.mat-mdc-button .mat-icon{height:24px!important;width:24px!important;font-size:24px!important}.mat-button-toggle-group{height:48px!important;align-items:center}.mat-button-toggle-button{height:48px!important}.mat-button-toggle-label-content{padding:0 8px!important;font-size:14px!important}.mat-mdc-slide-toggle label{margin:0!important}.small-slide-toggle{transform:scale(.8);transform-origin:left center}.fs-8{font-size:8px!important}.fs-12{font-size:12px!important}.fs-13{font-size:13px!important}.fs-16{font-size:16px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.mat-mdc-floating-label{pointer-events:none!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#555!important;-webkit-text-fill-color:#555555!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#555!important}.mat-mdc-card{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);padding:16px}.mat-mdc-card-content{padding:0!important}.mat-mdc-dialog-surface{padding:24px}.mat-mdc-dialog-title{padding:0!important}.mat-mdc-dialog-title .mat-mdc-dialog-title:before{height:0!important}.mat-mdc-dialog-title *{position:relative;top:-30px!important}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:6px!important}.mdc-data-table__cell,.mdc-data-table__header-cell{padding:0 8px!important}.mat-column-actions .mat-mdc-icon-button{width:30px!important;height:30px!important;top:6px!important}.mat-column-actions .mat-mdc-icon-button .mat-icon{bottom:9px!important;right:9px!important}.mat-mdc-progress-bar{border-radius:2px}.chip-mini-grey{background-color:#d9d9d9!important;border-radius:3px;display:inline-block;padding:0 6px;font-size:13px}.chip-mini-outline{background-color:#fff!important;border-radius:3px;display:inline-block;padding:0 6px;outline:1px solid #bbb;font-size:13px}.techlify-badge-grey-outlined{background-color:#f2f3f5!important;font-weight:400!important;font-size:12px!important;color:#000!important}.techlify-badge-white-outlined{font-weight:400!important;font-size:12px!important;border-style:solid!important;border-width:thin!important;color:#000!important;border-color:#000!important}:host{display:flex;align-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i3.TechlifyIconComponent, selector: "app-techlify-icon", inputs: ["name", "size"] }] }); }
|
|
93
93
|
}
|
|
94
94
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExportExcelButtonComponent, decorators: [{
|
|
95
95
|
type: Component,
|
|
96
|
-
args: [{ selector: 'app-export-excel-button', template: "<app-techlify-icon class=\"clickable d-print-none\" *ngIf=\"!isWorking\" [name]=\"iconName\" (click)=\"exportToExcel()\"\n matTooltip=\"Excel Export\">\n</app-techlify-icon>", styles: [".fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.wpx-50{width:50px!important}.wpx-100{width:100px!important}.wpx-120{width:120px!important}.wpx-125{width:125px!important}.wpx-150{width:150px!important}.wpx-200{width:200px!important}.wpx-250{width:250px!important}.min-wpx-200{min-width:200px!important}.max-width-px-115{max-width:115px}.w-description{width:300px!important}.side-panel{width:300px!important;min-width:300px!important;flex-shrink:0!important}.h-250px{height:250px!important}.scroll-y{overflow-y:auto}.flex-basis-0{flex-basis:0}.flex-basis-5{flex-basis:5%}.flex-basis-8{flex-basis:8%}.flex-basis-10{flex-basis:10%}.flex-basis-15{flex-basis:15%}.flex-basis-20{flex-basis:20%}.flex-basis-25{flex-basis:25%}.flex-basis-30{flex-basis:30%}.flex-basis-35{flex-basis:35%}.flex-basis-40{flex-basis:40%}.flex-basis-45{flex-basis:45%}.flex-basis-48{flex-basis:48%}.flex-basis-49{flex-basis:49%}.flex-basis-50{flex-basis:50%}.flex-basis-60{flex-basis:60%}.flex-basis-65{flex-basis:65%}.flex-basis-70{flex-basis:70%}.flex-basis-80{flex-basis:80%}.flex-basis-90{flex-basis:90%}.flex-basis-95{flex-basis:95%}.flex-basis-100{flex-basis:100%}.flex-basis-50-minus-1rem{flex-basis:calc(50% - 1rem)}.flex-basis-50-minus-0-2rem{flex-basis:calc(50% - .2rem)}.flex-basis-20-minus-1rem{flex-basis:calc(20% - 1rem)}.flex-basis-15-minus-1rem{flex-basis:calc(15% - 1rem)}.flex-basis-50-minus-4px{flex-basis:calc(50% - 4px)}@media (min-width: 992px){.flex-lg-basis-50{flex-basis:50%}}@media (min-width: 1200px){.flex-xl-basis-30{flex-basis:30%}.flex-xl-basis-30-minus-1rem{flex:0 1 calc(30% - 1rem)}}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}button,a,input{outline:none!important}::-webkit-scrollbar{width:.5em}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:gray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#4d4c4c}.icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.mat-icon-xl{height:40px!important;width:40px!important;font-size:40px!important}.mat-icon-20px{font-size:20px!important;height:20px!important;width:20px!important}.mat-small-icon{height:16px!important;width:16px!important;font-size:16px!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.mdc-button__label{letter-spacing:normal!important}.mat-mdc-button .mat-icon{height:24px!important;width:24px!important;font-size:24px!important}.mat-button-toggle-group{height:48px!important;align-items:center}.mat-button-toggle-button{height:48px!important}.mat-button-toggle-label-content{padding:0 8px!important;font-size:14px!important}.mat-mdc-slide-toggle label{margin:0!important}.small-slide-toggle{transform:scale(.8);transform-origin:left center}.fs-8{font-size:8px!important}.fs-12{font-size:12px!important}.fs-13{font-size:13px!important}.fs-16{font-size:16px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.mat-mdc-floating-label{pointer-events:none!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#555!important;-webkit-text-fill-color:#555555!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#555!important}.mat-mdc-card{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);padding:16px}.mat-mdc-card-content{padding:0!important}.mat-mdc-dialog-surface{padding:24px}.mat-mdc-dialog-title{padding:0!important}.mat-mdc-dialog-title .mat-mdc-dialog-title:before{height:0!important}.mat-mdc-dialog-title *{position:relative;top:-30px!important}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:6px!important}.mdc-data-table__cell,.mdc-data-table__header-cell{padding:0 8px!important}.
|
|
96
|
+
args: [{ selector: 'app-export-excel-button', template: "<app-techlify-icon class=\"clickable d-print-none\" *ngIf=\"!isWorking\" [name]=\"iconName\" (click)=\"exportToExcel()\"\n matTooltip=\"Excel Export\">\n</app-techlify-icon>", styles: [".fl-md{width:200px!important}.fl-md .mat-mdc-form-field{width:100%!important}.fl-sm{width:150px!important}.fl-sm .mat-mdc-form-field{width:100%!important}.wpx-50{width:50px!important}.wpx-100{width:100px!important}.wpx-120{width:120px!important}.wpx-125{width:125px!important}.wpx-150{width:150px!important}.wpx-200{width:200px!important}.wpx-250{width:250px!important}.min-wpx-200{min-width:200px!important}.max-width-px-115{max-width:115px}.w-description{width:300px!important}.side-panel{width:300px!important;min-width:300px!important;flex-shrink:0!important}.h-250px{height:250px!important}.scroll-y{overflow-y:auto}.flex-basis-0{flex-basis:0}.flex-basis-5{flex-basis:5%}.flex-basis-8{flex-basis:8%}.flex-basis-10{flex-basis:10%}.flex-basis-15{flex-basis:15%}.flex-basis-20{flex-basis:20%}.flex-basis-25{flex-basis:25%}.flex-basis-30{flex-basis:30%}.flex-basis-35{flex-basis:35%}.flex-basis-40{flex-basis:40%}.flex-basis-45{flex-basis:45%}.flex-basis-48{flex-basis:48%}.flex-basis-49{flex-basis:49%}.flex-basis-50{flex-basis:50%}.flex-basis-60{flex-basis:60%}.flex-basis-65{flex-basis:65%}.flex-basis-70{flex-basis:70%}.flex-basis-80{flex-basis:80%}.flex-basis-90{flex-basis:90%}.flex-basis-95{flex-basis:95%}.flex-basis-100{flex-basis:100%}.flex-basis-50-minus-1rem{flex-basis:calc(50% - 1rem)}.flex-basis-50-minus-0-2rem{flex-basis:calc(50% - .2rem)}.flex-basis-20-minus-1rem{flex-basis:calc(20% - 1rem)}.flex-basis-15-minus-1rem{flex-basis:calc(15% - 1rem)}.flex-basis-50-minus-4px{flex-basis:calc(50% - 4px)}@media (min-width: 992px){.flex-lg-basis-50{flex-basis:50%}}@media (min-width: 1200px){.flex-xl-basis-30{flex-basis:30%}.flex-xl-basis-30-minus-1rem{flex:0 1 calc(30% - 1rem)}}.column-gap-1{column-gap:.25rem!important}.column-gap-2{column-gap:.5rem!important}.column-gap-3{column-gap:1rem!important}.column-gap-4{column-gap:1.5rem!important}.column-gap-5{column-gap:3rem!important}button,a,input{outline:none!important}::-webkit-scrollbar{width:.5em}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:gray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#4d4c4c}.icon-md{height:24px!important;width:24px!important;font-size:24px!important;margin:0 1px}.icon-sm{height:20px!important;width:20px!important;font-size:20px!important}.icon-xs{height:16px!important;width:16px!important;font-size:16px!important}.mat-icon-xl{height:40px!important;width:40px!important;font-size:40px!important}.mat-icon-20px{font-size:20px!important;height:20px!important;width:20px!important}.mat-small-icon{height:16px!important;width:16px!important;font-size:16px!important}.mat-btn-md{height:25px!important;padding:0 8px!important}.mdc-button__label{letter-spacing:normal!important}.mat-mdc-button .mat-icon{height:24px!important;width:24px!important;font-size:24px!important}.mat-button-toggle-group{height:48px!important;align-items:center}.mat-button-toggle-button{height:48px!important}.mat-button-toggle-label-content{padding:0 8px!important;font-size:14px!important}.mat-mdc-slide-toggle label{margin:0!important}.small-slide-toggle{transform:scale(.8);transform-origin:left center}.fs-8{font-size:8px!important}.fs-12{font-size:12px!important}.fs-13{font-size:13px!important}.fs-16{font-size:16px!important}.fs-18{font-size:18px!important}.clickable:hover{cursor:pointer}.mat-mdc-form-field-hint-wrapper{padding:0 4px!important}.mat-mdc-floating-label{pointer-events:none!important}.nil-subscript-wrapper .mat-mdc-form-field-subscript-wrapper{height:0!important}.create-another .mat-mdc-checkbox label{margin:0!important}.create-another .mdc-checkbox{padding:0!important}.create-another .mdc-checkbox__background{position:relative;top:0;left:0}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-input-element{color:#555!important;-webkit-text-fill-color:#555555!important}.mat-mdc-form-field.mat-form-field-disabled .mat-mdc-select-value{color:#555!important}.mat-mdc-card{transition:box-shadow .28s cubic-bezier(.4,0,.2,1);padding:16px}.mat-mdc-card-content{padding:0!important}.mat-mdc-dialog-surface{padding:24px}.mat-mdc-dialog-title{padding:0!important}.mat-mdc-dialog-title .mat-mdc-dialog-title:before{height:0!important}.mat-mdc-dialog-title *{position:relative;top:-30px!important}.mat-mdc-dialog-container .mat-mdc-dialog-title+.mat-mdc-dialog-content{padding-top:6px!important}.mdc-data-table__cell,.mdc-data-table__header-cell{padding:0 8px!important}.mat-column-actions .mat-mdc-icon-button{width:30px!important;height:30px!important;top:6px!important}.mat-column-actions .mat-mdc-icon-button .mat-icon{bottom:9px!important;right:9px!important}.mat-mdc-progress-bar{border-radius:2px}.chip-mini-grey{background-color:#d9d9d9!important;border-radius:3px;display:inline-block;padding:0 6px;font-size:13px}.chip-mini-outline{background-color:#fff!important;border-radius:3px;display:inline-block;padding:0 6px;outline:1px solid #bbb;font-size:13px}.techlify-badge-grey-outlined{background-color:#f2f3f5!important;font-weight:400!important;font-size:12px!important;color:#000!important}.techlify-badge-white-outlined{font-weight:400!important;font-size:12px!important;border-style:solid!important;border-width:thin!important;color:#000!important;border-color:#000!important}:host{display:flex;align-content:center}\n"] }]
|
|
97
97
|
}], ctorParameters: () => [], propDecorators: { isCSV: [{
|
|
98
98
|
type: Input
|
|
99
99
|
}], iconName: [{
|
|
@@ -8,7 +8,7 @@ import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
|
8
8
|
* To optimize your production builds, you should only import the components used in your app.
|
|
9
9
|
*/
|
|
10
10
|
import { NgModule } from "@angular/core";
|
|
11
|
-
import {
|
|
11
|
+
import { MatLineModule, MatNativeDateModule, MatOptionModule, MatPseudoCheckboxModule, MatRippleModule } from "@angular/material/core";
|
|
12
12
|
import { MatButtonModule } from "@angular/material/button";
|
|
13
13
|
import { MatCheckboxModule } from "@angular/material/checkbox";
|
|
14
14
|
import { MatDialogModule } from "@angular/material/dialog";
|
|
@@ -36,7 +36,6 @@ export class MaterialModule {
|
|
|
36
36
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: MaterialModule, exports: [MatAutocompleteModule,
|
|
37
37
|
MatButtonModule,
|
|
38
38
|
MatCheckboxModule,
|
|
39
|
-
MatCommonModule,
|
|
40
39
|
MatDialogModule,
|
|
41
40
|
MatFormFieldModule,
|
|
42
41
|
MatIconModule,
|
|
@@ -65,7 +64,6 @@ export class MaterialModule {
|
|
|
65
64
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MaterialModule, imports: [MatAutocompleteModule,
|
|
66
65
|
MatButtonModule,
|
|
67
66
|
MatCheckboxModule,
|
|
68
|
-
MatCommonModule,
|
|
69
67
|
MatDialogModule,
|
|
70
68
|
MatFormFieldModule,
|
|
71
69
|
MatIconModule,
|
|
@@ -99,7 +97,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
99
97
|
MatAutocompleteModule,
|
|
100
98
|
MatButtonModule,
|
|
101
99
|
MatCheckboxModule,
|
|
102
|
-
MatCommonModule,
|
|
103
100
|
MatDialogModule,
|
|
104
101
|
MatFormFieldModule,
|
|
105
102
|
MatIconModule,
|
|
@@ -128,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
128
125
|
]
|
|
129
126
|
}]
|
|
130
127
|
}] });
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9tYXRlcmlhbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkU7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLGVBQWUsRUFDaEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFBO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFtQ3ZELE1BQU0sT0FBTyxjQUFjOytHQUFkLGNBQWM7Z0hBQWQsY0FBYyxZQTlCdkIscUJBQXFCO1lBQ3JCLGVBQWU7WUFDZixpQkFBaUI7WUFDakIsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2IsY0FBYztZQUNkLGFBQWE7WUFDYixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGVBQWU7WUFDZix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLGVBQWU7WUFDZixlQUFlO1lBQ2YsYUFBYTtZQUNiLGNBQWM7WUFDZCxhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixxQkFBcUI7WUFDckIsZ0JBQWdCO1lBQ2hCLG9CQUFvQjtZQUNwQixvQkFBb0I7WUFDcEIsYUFBYTtnSEFHSixjQUFjLFlBOUJ2QixxQkFBcUI7WUFDckIsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGFBQWE7WUFDYixjQUFjO1lBQ2QsYUFBYTtZQUNiLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIsZUFBZTtZQUNmLGVBQWU7WUFDZixhQUFhO1lBQ2IsY0FBYztZQUNkLGFBQWE7WUFDYixnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsZ0JBQWdCO1lBQ2hCLHFCQUFxQjtZQUNyQixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLG9CQUFvQjtZQUNwQixhQUFhOzs0RkFHSixjQUFjO2tCQWhDMUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2QixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsYUFBYTtxQkFDZDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG4vKlxuICogVGhpcyBtb2R1bGUgaW1wb3J0cyBhbmQgcmUtZXhwb3J0cyBhbGwgQW5ndWxhciBNYXRlcmlhbCBtb2R1bGVzIGZvciBjb252ZW5pZW5jZSxcbiAqIHNvIG9ubHkgMSBtb2R1bGUgaW1wb3J0IGlzIG5lZWRlZCBpbiB5b3VyIGZlYXR1cmUgbW9kdWxlcy5cbiAqIFNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vZ3VpZGUvZ2V0dGluZy1zdGFydGVkI3N0ZXAtMy1pbXBvcnQtdGhlLWNvbXBvbmVudC1tb2R1bGVzLlxuICpcbiAqIFRvIG9wdGltaXplIHlvdXIgcHJvZHVjdGlvbiBidWlsZHMsIHlvdSBzaG91bGQgb25seSBpbXBvcnQgdGhlIGNvbXBvbmVudHMgdXNlZCBpbiB5b3VyIGFwcC5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBNYXRMaW5lTW9kdWxlLFxuICBNYXROYXRpdmVEYXRlTW9kdWxlLFxuICBNYXRPcHRpb25Nb2R1bGUsXG4gIE1hdFBzZXVkb0NoZWNrYm94TW9kdWxlLFxuICBNYXRSaXBwbGVNb2R1bGVcbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NvcmVcIjtcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9tZW51XCI7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lclwiO1xuaW1wb3J0IHsgTWF0U2VsZWN0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3NlbGVjdFwiO1xuaW1wb3J0IHsgTWF0U29ydE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zb3J0XCI7XG5pbXBvcnQgeyBNYXRUYWJsZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZVwiO1xuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jYXJkXCI7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXJcIjtcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoaXBzXCI7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCdcbmltcG9ydCB7IE1hdEJ1dHRvblRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbi10b2dnbGUnO1xuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0VGFic01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYnMnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtcbiAgICBNYXRBdXRvY29tcGxldGVNb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRMaW5lTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIE1hdFBzZXVkb0NoZWNrYm94TW9kdWxlLFxuICAgIE1hdFJpcHBsZU1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0U29ydE1vZHVsZSxcbiAgICBNYXRUYWJsZU1vZHVsZSxcbiAgICBNYXRDYXJkTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgTWF0Q2hpcHNNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXRMaXN0TW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxuICAgIE1hdFNpZGVuYXZNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsTW9kdWxlIHsgfVxuIl19
|
|
@@ -43,7 +43,7 @@ export class TechlifyTaggerTagListComponent extends TechlifyListComponent {
|
|
|
43
43
|
this.listenFilterChanges();
|
|
44
44
|
}
|
|
45
45
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TechlifyTaggerTagListComponent, deps: [{ token: i1.TagService }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TechlifyTaggerTagListComponent, isStandalone: true, selector: "app-techlify-tagger-tag-list", usesInheritance: true, ngImport: i0, template: "<div class=\"m-2 d-flex flex-column\">\n <mat-card appearance=\"outlined\" class=\"d-flex gap-2 justify-content-start align-items-center\">\n <div class=\"d-flex justify-content-start align-items-center\">\n <h5 class=\"m-0\">Tags</h5>\n <app-techlify-tagger-tag-form (success)=\"modelCreated($event)\" *ngxPermissionsOnly=\"['tag.create']\"\n class=\"ms-2\"></app-techlify-tagger-tag-form>\n </div>\n <span class=\"flex-fill\"></span>\n <div>\n <form [formGroup]=\"filterForm\" class=\"d-flex gap-2\">\n <mat-form-field appearance=\"outline\" class=\"fl-md\">\n <mat-label>Search Tags</mat-label>\n <input type=\"text\" matInput formControlName=\"search\" placeholder=\"Search records\" name=\"search\"\n autocomplete=\"off\" />\n <button *ngIf=\"filterForm.get('search').value\" matSuffix mat-icon-button\n (click)=\"filterForm.get('search').setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field class='fl-sm'>\n <mat-label>Category</mat-label>\n <app-searchable-selector formControlName=\"category_ids\" apiUrl=\"api/techlify-tagger-categories\"\n [multiple]=\"true\">\n </app-searchable-selector>\n <button *ngIf=\"filterForm.get('category_ids').value\" matSuffix mat-icon-button\n (click)=\"filterForm.get('category_ids').setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </form>\n </div>\n </mat-card>\n <mat-card appearance=\"outlined\" class=\"mt-2 p-0\">\n <table mat-table matSort [dataSource]=\"models\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" (matSortChange)=\"sortColumn($event)\">\n\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index\"> {{ i+1}} </td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Title </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.title}}\n <div *ngIf=\"element?.description\" class=\"text-secondary\">\n <small>{{element?.description}}</small>\n </div>\n </td>\n </ng-container>\n\n <!-- Category Column -->\n <ng-container matColumnDef=\"category\">\n <th mat-header-cell *matHeaderCellDef> Category </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.category?.title}}\n <div *ngIf=\"element?.category?.description\" class=\"text-secondary\">\n <small>{{element?.category?.description}}</small>\n </div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"tagged_count\">\n <th mat-header-cell *matHeaderCellDef> Tagged </th>\n <td mat-cell *matCellDef=\"let element\">\n <span *ngIf=\"element?.tagged_count\">{{element.tagged_count}}\n records\n </span>\n </td>\n </ng-container>\n\n <!-- Creator Column -->\n <ng-container matColumnDef=\"creator\">\n <th mat-header-cell *matHeaderCellDef> Creator </th>\n <td mat-cell *matCellDef=\"let element\">\n <div>{{element.creator?.name}} </div>\n <div><small class=\"text-muted\">on {{element.created_at | date: 'mediumDate'}} </small></div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element; let i = dataIndex\" class=\"text-secondary\">\n <app-audit-log-for-model modelType=\"TechlifyTaggerTag\" [modelId]=\"element?.id\" logView=\"all\"\n [isIconView]=\"true\">\n </app-audit-log-for-model>\n\n <app-techlify-tagger-tag-form (success)=\"modelsUpdatedById($event)\" [tagInfo]=\"element\"\n *ngxPermissionsOnly=\"['tag.update']\" class=\"ms-1\"></app-techlify-tagger-tag-form>\n\n <ng-container *ngIf=\"!element?.tagged_count\">\n <app-techlify-delete-button *ngxPermissionsOnly=\"['tag.delete']\" class='text-secondary ms-1'\n [model]=\"element\" [service]=\"tagService\"\n message=\"Deleting this tag cannot be undone. Are you sure you want to continue?\"\n (deleted)=\"modelsDeletedById(element)\">\n </app-techlify-delete-button>\n </ng-container>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n </mat-card>\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"this.isWorking\"></mat-progress-bar>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.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: "directive", type: i9.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i9.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i10.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i10.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i10.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i10.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i10.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i10.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i10.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i10.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i10.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i10.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i11.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i12.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i13.NgxPermissionsDirective, selector: "[ngxPermissionsOnly],[ngxPermissionsExcept]", inputs: ["ngxPermissionsOnly", "ngxPermissionsOnlyThen", "ngxPermissionsOnlyElse", "ngxPermissionsExcept", "ngxPermissionsExceptElse", "ngxPermissionsExceptThen", "ngxPermissionsThen", "ngxPermissionsElse", "ngxPermissionsOnlyAuthorisedStrategy", "ngxPermissionsOnlyUnauthorisedStrategy", "ngxPermissionsExceptUnauthorisedStrategy", "ngxPermissionsExceptAuthorisedStrategy", "ngxPermissionsUnauthorisedStrategy", "ngxPermissionsAuthorisedStrategy"], outputs: ["permissionsAuthorized", "permissionsUnauthorized"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i14.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "isEmitInitialEvent", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange", "isItemsEmpty"] }, { kind: "component", type: i15.TechlifyDeleteButtonComponent, selector: "app-techlify-delete-button", inputs: ["data", "model", "message", "service"], outputs: ["deleted", "loading"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "component", type: TechlifyTaggerTagFormComponent, selector: "app-techlify-tagger-tag-form", inputs: ["tagInfo"] }, { kind: "ngmodule", type: AuditLogForModelModule }, { kind: "component", type: i16.AuditLogForModelComponent, selector: "app-audit-log-for-model", inputs: ["isIconView", "modelType", "modelId", "logView"] }, { kind: "ngmodule", type: RouterModule }] }); }
|
|
46
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TechlifyTaggerTagListComponent, isStandalone: true, selector: "app-techlify-tagger-tag-list", usesInheritance: true, ngImport: i0, template: "<div class=\"d-flex flex-column gap-2\">\n <mat-card>\n <mat-card-content class=\"d-flex flex-row justify-content-between align-items-center\">\n <div class=\"d-flex flex-row align-items-center gap-2\">\n <h5 class=\"mb-0\">Tags</h5>\n <app-techlify-tagger-tag-form (success)=\"modelCreated($event)\"\n *ngxPermissionsOnly=\"['tag.create']\"></app-techlify-tagger-tag-form>\n </div>\n <div class=\"d-flex flex-row gap-2\" [formGroup]=\"filterForm\">\n <mat-form-field class=\"fl-md\">\n <mat-label>Search Tags</mat-label>\n <input type=\"text\" matInput formControlName=\"search\" placeholder=\"Search records\" name=\"search\"\n autocomplete=\"off\" />\n <button *ngIf=\"filterForm.get('search').value\" matSuffix mat-icon-button\n (click)=\"filterForm.get('search').setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field class='fl-sm'>\n <mat-label>Category</mat-label>\n <app-searchable-selector formControlName=\"category_ids\" apiUrl=\"api/techlify-tagger-categories\"\n [multiple]=\"true\">\n </app-searchable-selector>\n <button *ngIf=\"filterForm.get('category_ids').value\" matSuffix mat-icon-button\n (click)=\"filterForm.get('category_ids').setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n </mat-card-content>\n </mat-card>\n\n <mat-card>\n <mat-card-content>\n <table mat-table matSort [dataSource]=\"models\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" (matSortChange)=\"sortColumn($event)\">\n\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index\"> {{ i+1}} </td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Title </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.title}}\n <div *ngIf=\"element?.description\" class=\"text-secondary\">\n <small>{{element?.description}}</small>\n </div>\n </td>\n </ng-container>\n\n <!-- Category Column -->\n <ng-container matColumnDef=\"category\">\n <th mat-header-cell *matHeaderCellDef> Category </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.category?.title}}\n <div *ngIf=\"element?.category?.description\" class=\"text-secondary\">\n <small>{{element?.category?.description}}</small>\n </div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"tagged_count\">\n <th mat-header-cell *matHeaderCellDef> Tagged </th>\n <td mat-cell *matCellDef=\"let element\">\n <span *ngIf=\"element?.tagged_count\">{{element.tagged_count}}\n records\n </span>\n </td>\n </ng-container>\n\n <!-- Creator Column -->\n <ng-container matColumnDef=\"creator\">\n <th mat-header-cell *matHeaderCellDef> Creator </th>\n <td mat-cell *matCellDef=\"let element\">\n <div>{{element.creator?.name}} </div>\n <div><small class=\"text-muted\">on {{element.created_at | date: 'mediumDate'}} </small></div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element; let i = dataIndex\" class=\"text-secondary\">\n <app-audit-log-for-model modelType=\"TechlifyTaggerTag\" [modelId]=\"element?.id\" logView=\"all\"\n [isIconView]=\"true\">\n </app-audit-log-for-model>\n\n <app-techlify-tagger-tag-form (success)=\"modelsUpdatedById($event)\" [tagInfo]=\"element\"\n *ngxPermissionsOnly=\"['tag.update']\" class=\"ms-1\"></app-techlify-tagger-tag-form>\n\n <ng-container *ngIf=\"!element?.tagged_count\">\n <app-techlify-delete-button *ngxPermissionsOnly=\"['tag.delete']\" class='text-secondary ms-1'\n [model]=\"element\" [service]=\"tagService\"\n message=\"Deleting this tag cannot be undone. Are you sure you want to continue?\"\n (deleted)=\"modelsDeletedById(element)\">\n </app-techlify-delete-button>\n </ng-container>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n </mat-card>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: SharedModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.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: "directive", type: i9.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i9.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i10.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i10.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i10.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i10.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i10.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i10.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i10.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i10.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i10.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i10.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i11.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i11.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i12.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "directive", type: i13.NgxPermissionsDirective, selector: "[ngxPermissionsOnly],[ngxPermissionsExcept]", inputs: ["ngxPermissionsOnly", "ngxPermissionsOnlyThen", "ngxPermissionsOnlyElse", "ngxPermissionsExcept", "ngxPermissionsExceptElse", "ngxPermissionsExceptThen", "ngxPermissionsThen", "ngxPermissionsElse", "ngxPermissionsOnlyAuthorisedStrategy", "ngxPermissionsOnlyUnauthorisedStrategy", "ngxPermissionsExceptUnauthorisedStrategy", "ngxPermissionsExceptAuthorisedStrategy", "ngxPermissionsUnauthorisedStrategy", "ngxPermissionsAuthorisedStrategy"], outputs: ["permissionsAuthorized", "permissionsUnauthorized"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i14.SearchableSelectorComponent, selector: "app-searchable-selector", inputs: ["valueField", "titleField", "subtitleField", "apiUrl", "multiple", "selectedValue", "enableSearch", "add", "addConfig", "edit", "editConfig", "sort", "sortBy", "searchField", "itemComponent", "items", "apiDataProperty", "cache", "perPage", "inDataSearch", "panelWidth", "focusSearchOnOpen", "isEmitInitialEvent", "required", "disabled", "value"], outputs: ["selectedValueChange", "selectionChange", "itemsChange", "isItemsEmpty"] }, { kind: "component", type: i15.TechlifyDeleteButtonComponent, selector: "app-techlify-delete-button", inputs: ["data", "model", "message", "service"], outputs: ["deleted", "loading"] }, { kind: "pipe", type: i3.DatePipe, name: "date" }, { kind: "component", type: TechlifyTaggerTagFormComponent, selector: "app-techlify-tagger-tag-form", inputs: ["tagInfo"] }, { kind: "ngmodule", type: AuditLogForModelModule }, { kind: "component", type: i16.AuditLogForModelComponent, selector: "app-audit-log-for-model", inputs: ["isIconView", "modelType", "modelId", "logView"] }, { kind: "ngmodule", type: RouterModule }] }); }
|
|
47
47
|
}
|
|
48
48
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TechlifyTaggerTagListComponent, decorators: [{
|
|
49
49
|
type: Component,
|
|
@@ -52,6 +52,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
52
52
|
TechlifyTaggerTagFormComponent,
|
|
53
53
|
AuditLogForModelModule,
|
|
54
54
|
RouterModule
|
|
55
|
-
], template: "<div class=\"
|
|
55
|
+
], template: "<div class=\"d-flex flex-column gap-2\">\n <mat-card>\n <mat-card-content class=\"d-flex flex-row justify-content-between align-items-center\">\n <div class=\"d-flex flex-row align-items-center gap-2\">\n <h5 class=\"mb-0\">Tags</h5>\n <app-techlify-tagger-tag-form (success)=\"modelCreated($event)\"\n *ngxPermissionsOnly=\"['tag.create']\"></app-techlify-tagger-tag-form>\n </div>\n <div class=\"d-flex flex-row gap-2\" [formGroup]=\"filterForm\">\n <mat-form-field class=\"fl-md\">\n <mat-label>Search Tags</mat-label>\n <input type=\"text\" matInput formControlName=\"search\" placeholder=\"Search records\" name=\"search\"\n autocomplete=\"off\" />\n <button *ngIf=\"filterForm.get('search').value\" matSuffix mat-icon-button\n (click)=\"filterForm.get('search').setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-form-field class='fl-sm'>\n <mat-label>Category</mat-label>\n <app-searchable-selector formControlName=\"category_ids\" apiUrl=\"api/techlify-tagger-categories\"\n [multiple]=\"true\">\n </app-searchable-selector>\n <button *ngIf=\"filterForm.get('category_ids').value\" matSuffix mat-icon-button\n (click)=\"filterForm.get('category_ids').setValue('')\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n </div>\n </mat-card-content>\n </mat-card>\n\n <mat-card>\n <mat-card-content>\n <table mat-table matSort [dataSource]=\"models\" class=\"w-100\" infiniteScroll [infiniteScrollDistance]=\"2\"\n [infiniteScrollThrottle]=\"50\" (scrolled)=\"onScroll()\" (matSortChange)=\"sortColumn($event)\">\n\n\n <!-- Index Column -->\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element; let i = index\"> {{ i+1}} </td>\n </ng-container>\n\n <!-- Title Column -->\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef mat-sort-header disableClear> Title </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.title}}\n <div *ngIf=\"element?.description\" class=\"text-secondary\">\n <small>{{element?.description}}</small>\n </div>\n </td>\n </ng-container>\n\n <!-- Category Column -->\n <ng-container matColumnDef=\"category\">\n <th mat-header-cell *matHeaderCellDef> Category </th>\n <td mat-cell *matCellDef=\"let element\"> {{element.category?.title}}\n <div *ngIf=\"element?.category?.description\" class=\"text-secondary\">\n <small>{{element?.category?.description}}</small>\n </div>\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"tagged_count\">\n <th mat-header-cell *matHeaderCellDef> Tagged </th>\n <td mat-cell *matCellDef=\"let element\">\n <span *ngIf=\"element?.tagged_count\">{{element.tagged_count}}\n records\n </span>\n </td>\n </ng-container>\n\n <!-- Creator Column -->\n <ng-container matColumnDef=\"creator\">\n <th mat-header-cell *matHeaderCellDef> Creator </th>\n <td mat-cell *matCellDef=\"let element\">\n <div>{{element.creator?.name}} </div>\n <div><small class=\"text-muted\">on {{element.created_at | date: 'mediumDate'}} </small></div>\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element; let i = dataIndex\" class=\"text-secondary\">\n <app-audit-log-for-model modelType=\"TechlifyTaggerTag\" [modelId]=\"element?.id\" logView=\"all\"\n [isIconView]=\"true\">\n </app-audit-log-for-model>\n\n <app-techlify-tagger-tag-form (success)=\"modelsUpdatedById($event)\" [tagInfo]=\"element\"\n *ngxPermissionsOnly=\"['tag.update']\" class=\"ms-1\"></app-techlify-tagger-tag-form>\n\n <ng-container *ngIf=\"!element?.tagged_count\">\n <app-techlify-delete-button *ngxPermissionsOnly=\"['tag.delete']\" class='text-secondary ms-1'\n [model]=\"element\" [service]=\"tagService\"\n message=\"Deleting this tag cannot be undone. Are you sure you want to continue?\"\n (deleted)=\"modelsDeletedById(element)\">\n </app-techlify-delete-button>\n </ng-container>\n </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n\n <mat-progress-bar mode=\"indeterminate\" *ngIf=\"isWorking\"></mat-progress-bar>\n </mat-card-content>\n </mat-card>\n</div>\n" }]
|
|
56
56
|
}], ctorParameters: () => [{ type: i1.TagService }, { type: i2.UntypedFormBuilder }] });
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdGFnZ2VyLXRhZy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGFnL3RlY2hsaWZ5LXRhZ2dlci10YWctbGlzdC90ZWNobGlmeS10YWdnZXItdGFnLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90YWcvdGVjaGxpZnktdGFnZ2VyLXRhZy1saXN0L3RlY2hsaWZ5LXRhZ2dlci10YWctbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWNuRCxNQUFNLE9BQU8sOEJBQStCLFNBQVEscUJBQXFCO0lBUXZFLFlBQ1MsVUFBc0IsRUFDckIsRUFBc0I7UUFFOUIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBSFgsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyQixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQVJoQyxxQkFBZ0IsR0FBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbEcscURBQXFEO1FBQ3JELDRCQUF1QixHQUFRO1lBQzdCLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7U0FDakMsQ0FBQztRQVFBLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDOUIsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ1osT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO1lBQ3RCLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDOytHQTFCVSw4QkFBOEI7bUdBQTlCLDhCQUE4QiwrR0NyQjNDLGlzTEEwR00seUREM0ZGLFlBQVksMjlLQUNaLDhCQUE4Qiw2RkFDOUIsc0JBQXNCLDBMQUN0QixZQUFZOzs0RkFHSCw4QkFBOEI7a0JBWjFDLFNBQVM7K0JBQ0UsOEJBQThCLGNBRzVCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLDhCQUE4Qjt3QkFDOUIsc0JBQXNCO3dCQUN0QixZQUFZO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRhZ1NlcnZpY2UgfSBmcm9tICcuLi90YWcuc2VydmljZSc7XG5pbXBvcnQgeyBUZWNobGlmeVRhZ2dlclRhZ0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLi90ZWNobGlmeS10YWdnZXItdGFnLWZvcm0vdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXVkaXRMb2dGb3JNb2RlbE1vZHVsZSB9IGZyb20gJy4uLy4uL2F1ZGl0LWxvZy9hdWRpdC1sb2ctZm9yLW1vZGVsL2F1ZGl0LWxvZy1mb3ItbW9kZWwubW9kdWxlJztcbmltcG9ydCB7IFRlY2hsaWZ5TGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtbW9kZWwnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkLm1vZHVsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10ZWNobGlmeS10YWdnZXItdGFnLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVjaGxpZnktdGFnZ2VyLXRhZy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGVjaGxpZnktdGFnZ2VyLXRhZy1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBTaGFyZWRNb2R1bGUsXG4gICAgVGVjaGxpZnlUYWdnZXJUYWdGb3JtQ29tcG9uZW50LFxuICAgIEF1ZGl0TG9nRm9yTW9kZWxNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVGVjaGxpZnlUYWdnZXJUYWdMaXN0Q29tcG9uZW50IGV4dGVuZHMgVGVjaGxpZnlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFsnaW5kZXgnLCAndGl0bGUnLCAnY2F0ZWdvcnknLCAndGFnZ2VkX2NvdW50JywgJ2NyZWF0b3InLCAnYWN0aW9ucyddO1xuICAvL05vIGNvbmZpZ3VyYXRpb24gbmVlZGVkLCB3ZSBhcmUgdXNpbmcganVzdCAnc2VhcmNoJ1xuICBmaWx0ZXJGb3JtQ29uZmlndXJhdGlvbjogYW55ID0ge1xuICAgIGNhdGVnb3J5X2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRhZ1NlcnZpY2U6IFRhZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICApIHtcbiAgICBzdXBlcih0YWdTZXJ2aWNlKTtcblxuICAgIHRoaXMuZmlsdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgc2VhcmNoOiBbJyddLFxuICAgICAgc29ydF9ieTogWyd0aXRsZXxhc2MnXSxcbiAgICAgIGNhdGVnb3J5X2lkczogWycnXVxuICAgIH0pO1xuICB9XG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhdGNoRmlsdGVyc0Zyb21Sb3V0ZSgpO1xuICAgIHRoaXMubG9hZERhdGEoKTtcbiAgICB0aGlzLmxpc3RlbkZpbHRlckNoYW5nZXMoKTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwibS0yIGQtZmxleCBmbGV4LWNvbHVtblwiPlxuICAgIDxtYXQtY2FyZCBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBjbGFzcz1cImQtZmxleCBnYXAtMiBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQgYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LXN0YXJ0IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgPGg1IGNsYXNzPVwibS0wXCI+VGFnczwvaDU+XG4gICAgICAgICAgICA8YXBwLXRlY2hsaWZ5LXRhZ2dlci10YWctZm9ybSAoc3VjY2Vzcyk9XCJtb2RlbENyZWF0ZWQoJGV2ZW50KVwiICpuZ3hQZXJtaXNzaW9uc09ubHk9XCJbJ3RhZy5jcmVhdGUnXVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtcy0yXCI+PC9hcHAtdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4LWZpbGxcIj48L3NwYW4+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZpbHRlckZvcm1cIiBjbGFzcz1cImQtZmxleCBnYXAtMlwiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwiZmwtbWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5TZWFyY2ggVGFnczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCByZWNvcmRzXCIgbmFtZT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZmlsdGVyRm9ybS5nZXQoJ3NlYXJjaCcpLnZhbHVlXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbHRlckZvcm0uZ2V0KCdzZWFyY2gnKS5zZXRWYWx1ZSgnJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSdmbC1zbSc+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+Q2F0ZWdvcnk8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cImNhdGVnb3J5X2lkc1wiIGFwaVVybD1cImFwaS90ZWNobGlmeS10YWdnZXItY2F0ZWdvcmllc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZmlsdGVyRm9ybS5nZXQoJ2NhdGVnb3J5X2lkcycpLnZhbHVlXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbHRlckZvcm0uZ2V0KCdjYXRlZ29yeV9pZHMnKS5zZXRWYWx1ZSgnJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LWNhcmQ+XG4gICAgPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiIGNsYXNzPVwibXQtMiBwLTBcIj5cbiAgICAgICAgPHRhYmxlIG1hdC10YWJsZSBtYXRTb3J0IFtkYXRhU291cmNlXT1cIm1vZGVsc1wiIGNsYXNzPVwidy0xMDBcIiBpbmZpbml0ZVNjcm9sbCBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIyXCJcbiAgICAgICAgICAgIFtpbmZpbml0ZVNjcm9sbFRocm90dGxlXT1cIjUwXCIgKHNjcm9sbGVkKT1cIm9uU2Nyb2xsKClcIiAobWF0U29ydENoYW5nZSk9XCJzb3J0Q29sdW1uKCRldmVudClcIj5cblxuXG4gICAgICAgICAgICA8IS0tIEluZGV4IENvbHVtbiAtLT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiAjIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7IGxldCBpID0gaW5kZXhcIj4ge3sgaSsxfX0gPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8IS0tIFRpdGxlIENvbHVtbiAtLT5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidGl0bGVcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBkaXNhYmxlQ2xlYXI+IFRpdGxlIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50LnRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVsZW1lbnQ/LmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsPnt7ZWxlbWVudD8uZGVzY3JpcHRpb259fTwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgPCEtLSBDYXRlZ29yeSBDb2x1bW4gLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNhdGVnb3J5XCI+XG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQ2F0ZWdvcnkgPC90aD5cbiAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQuY2F0ZWdvcnk/LnRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVsZW1lbnQ/LmNhdGVnb3J5Py5kZXNjcmlwdGlvblwiIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbD57e2VsZW1lbnQ/LmNhdGVnb3J5Py5kZXNjcmlwdGlvbn19PC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInRhZ2dlZF9jb3VudFwiPlxuICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IFRhZ2dlZCA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZWxlbWVudD8udGFnZ2VkX2NvdW50XCI+e3tlbGVtZW50LnRhZ2dlZF9jb3VudH19XG4gICAgICAgICAgICAgICAgICAgICAgICByZWNvcmRzXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgIDwhLS0gQ3JlYXRvciBDb2x1bW4gLS0+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNyZWF0b3JcIj5cbiAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBDcmVhdG9yIDwvdGg+XG4gICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj57e2VsZW1lbnQuY3JlYXRvcj8ubmFtZX19IDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2PjxzbWFsbCBjbGFzcz1cInRleHQtbXV0ZWRcIj5vbiB7e2VsZW1lbnQuY3JlYXRlZF9hdCB8IGRhdGU6ICdtZWRpdW1EYXRlJ319IDwvc21hbGw+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICA8IS0tIEFjdGlvbnMgQ29sdW1uIC0tPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWN0aW9ucyA8L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50OyBsZXQgaSA9IGRhdGFJbmRleFwiIGNsYXNzPVwidGV4dC1zZWNvbmRhcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1hdWRpdC1sb2ctZm9yLW1vZGVsIG1vZGVsVHlwZT1cIlRlY2hsaWZ5VGFnZ2VyVGFnXCIgW21vZGVsSWRdPVwiZWxlbWVudD8uaWRcIiBsb2dWaWV3PVwiYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpc0ljb25WaWV3XT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgPC9hcHAtYXVkaXQtbG9nLWZvci1tb2RlbD5cblxuICAgICAgICAgICAgICAgICAgICA8YXBwLXRlY2hsaWZ5LXRhZ2dlci10YWctZm9ybSAoc3VjY2Vzcyk9XCJtb2RlbHNVcGRhdGVkQnlJZCgkZXZlbnQpXCIgW3RhZ0luZm9dPVwiZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAqbmd4UGVybWlzc2lvbnNPbmx5PVwiWyd0YWcudXBkYXRlJ11cIiBjbGFzcz1cIm1zLTFcIj48L2FwcC10ZWNobGlmeS10YWdnZXItdGFnLWZvcm0+XG5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFlbGVtZW50Py50YWdnZWRfY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktZGVsZXRlLWJ1dHRvbiAqbmd4UGVybWlzc2lvbnNPbmx5PVwiWyd0YWcuZGVsZXRlJ11cIiBjbGFzcz0ndGV4dC1zZWNvbmRhcnkgbXMtMSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiZWxlbWVudFwiIFtzZXJ2aWNlXT1cInRhZ1NlcnZpY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9XCJEZWxldGluZyB0aGlzIHRhZyBjYW5ub3QgYmUgdW5kb25lLiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY29udGludWU/XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGVsZXRlZCk9XCJtb2RlbHNEZWxldGVkQnlJZChlbGVtZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hcHAtdGVjaGxpZnktZGVsZXRlLWJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cbiAgICAgICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgICAgIDwvdGFibGU+XG4gICAgPC9tYXQtY2FyZD5cbiAgICA8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiICpuZ0lmPVwidGhpcy5pc1dvcmtpbmdcIj48L21hdC1wcm9ncmVzcy1iYXI+XG48L2Rpdj4iXX0=
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktdGFnZ2VyLXRhZy1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvdGFnL3RlY2hsaWZ5LXRhZ2dlci10YWctbGlzdC90ZWNobGlmeS10YWdnZXItdGFnLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi90YWcvdGVjaGxpZnktdGFnZ2VyLXRhZy1saXN0L3RlY2hsaWZ5LXRhZ2dlci10YWctbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR2xELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWNuRCxNQUFNLE9BQU8sOEJBQStCLFNBQVEscUJBQXFCO0lBUXZFLFlBQ1MsVUFBc0IsRUFDckIsRUFBc0I7UUFFOUIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBSFgsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUNyQixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQVJoQyxxQkFBZ0IsR0FBYSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDbEcscURBQXFEO1FBQ3JELDRCQUF1QixHQUFRO1lBQzdCLFlBQVksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7U0FDakMsQ0FBQztRQVFBLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDOUIsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ1osT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO1lBQ3RCLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsUUFBUTtRQUNOLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDOytHQTFCVSw4QkFBOEI7bUdBQTlCLDhCQUE4QiwrR0NyQjNDLDY1TEE4R0EseUREL0ZJLFlBQVksaThLQUNaLDhCQUE4Qiw2RkFDOUIsc0JBQXNCLDBMQUN0QixZQUFZOzs0RkFHSCw4QkFBOEI7a0JBWjFDLFNBQVM7K0JBQ0UsOEJBQThCLGNBRzVCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLDhCQUE4Qjt3QkFDOUIsc0JBQXNCO3dCQUN0QixZQUFZO3FCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFRhZ1NlcnZpY2UgfSBmcm9tICcuLi90YWcuc2VydmljZSc7XG5pbXBvcnQgeyBUZWNobGlmeVRhZ2dlclRhZ0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLi90ZWNobGlmeS10YWdnZXItdGFnLWZvcm0vdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgQXVkaXRMb2dGb3JNb2RlbE1vZHVsZSB9IGZyb20gJy4uLy4uL2F1ZGl0LWxvZy9hdWRpdC1sb2ctZm9yLW1vZGVsL2F1ZGl0LWxvZy1mb3ItbW9kZWwubW9kdWxlJztcbmltcG9ydCB7IFRlY2hsaWZ5TGlzdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtbW9kZWwnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkLm1vZHVsZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC10ZWNobGlmeS10YWdnZXItdGFnLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVjaGxpZnktdGFnZ2VyLXRhZy1saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGVjaGxpZnktdGFnZ2VyLXRhZy1saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBTaGFyZWRNb2R1bGUsXG4gICAgVGVjaGxpZnlUYWdnZXJUYWdGb3JtQ29tcG9uZW50LFxuICAgIEF1ZGl0TG9nRm9yTW9kZWxNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVGVjaGxpZnlUYWdnZXJUYWdMaXN0Q29tcG9uZW50IGV4dGVuZHMgVGVjaGxpZnlMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFsnaW5kZXgnLCAndGl0bGUnLCAnY2F0ZWdvcnknLCAndGFnZ2VkX2NvdW50JywgJ2NyZWF0b3InLCAnYWN0aW9ucyddO1xuICAvL05vIGNvbmZpZ3VyYXRpb24gbmVlZGVkLCB3ZSBhcmUgdXNpbmcganVzdCAnc2VhcmNoJ1xuICBmaWx0ZXJGb3JtQ29uZmlndXJhdGlvbjogYW55ID0ge1xuICAgIGNhdGVnb3J5X2lkczogeyBtdWx0aXBsZTogdHJ1ZSB9XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHRhZ1NlcnZpY2U6IFRhZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxuICApIHtcbiAgICBzdXBlcih0YWdTZXJ2aWNlKTtcblxuICAgIHRoaXMuZmlsdGVyRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgc2VhcmNoOiBbJyddLFxuICAgICAgc29ydF9ieTogWyd0aXRsZXxhc2MnXSxcbiAgICAgIGNhdGVnb3J5X2lkczogWycnXVxuICAgIH0pO1xuICB9XG5cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhdGNoRmlsdGVyc0Zyb21Sb3V0ZSgpO1xuICAgIHRoaXMubG9hZERhdGEoKTtcbiAgICB0aGlzLmxpc3RlbkZpbHRlckNoYW5nZXMoKTtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uIGdhcC0yXCI+XG4gICAgPG1hdC1jYXJkPlxuICAgICAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImQtZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgPGg1IGNsYXNzPVwibWItMFwiPlRhZ3M8L2g1PlxuICAgICAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtIChzdWNjZXNzKT1cIm1vZGVsQ3JlYXRlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKm5neFBlcm1pc3Npb25zT25seT1cIlsndGFnLmNyZWF0ZSddXCI+PC9hcHAtdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtcm93IGdhcC0yXCIgW2Zvcm1Hcm91cF09XCJmaWx0ZXJGb3JtXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmwtbWRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5TZWFyY2ggVGFnczwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCByZWNvcmRzXCIgbmFtZT1cInNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZmlsdGVyRm9ybS5nZXQoJ3NlYXJjaCcpLnZhbHVlXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbHRlckZvcm0uZ2V0KCdzZWFyY2gnKS5zZXRWYWx1ZSgnJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPSdmbC1zbSc+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+Q2F0ZWdvcnk8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPGFwcC1zZWFyY2hhYmxlLXNlbGVjdG9yIGZvcm1Db250cm9sTmFtZT1cImNhdGVnb3J5X2lkc1wiIGFwaVVybD1cImFwaS90ZWNobGlmeS10YWdnZXItY2F0ZWdvcmllc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICA8L2FwcC1zZWFyY2hhYmxlLXNlbGVjdG9yPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiZmlsdGVyRm9ybS5nZXQoJ2NhdGVnb3J5X2lkcycpLnZhbHVlXCIgbWF0U3VmZml4IG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImZpbHRlckZvcm0uZ2V0KCdjYXRlZ29yeV9pZHMnKS5zZXRWYWx1ZSgnJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxuICAgIDwvbWF0LWNhcmQ+XG5cbiAgICA8bWF0LWNhcmQ+XG4gICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxuICAgICAgICAgICAgPHRhYmxlIG1hdC10YWJsZSBtYXRTb3J0IFtkYXRhU291cmNlXT1cIm1vZGVsc1wiIGNsYXNzPVwidy0xMDBcIiBpbmZpbml0ZVNjcm9sbCBbaW5maW5pdGVTY3JvbGxEaXN0YW5jZV09XCIyXCJcbiAgICAgICAgICAgICAgICBbaW5maW5pdGVTY3JvbGxUaHJvdHRsZV09XCI1MFwiIChzY3JvbGxlZCk9XCJvblNjcm9sbCgpXCIgKG1hdFNvcnRDaGFuZ2UpPVwic29ydENvbHVtbigkZXZlbnQpXCI+XG5cblxuICAgICAgICAgICAgICAgIDwhLS0gSW5kZXggQ29sdW1uIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaW5kZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gIyA8L3RoPlxuICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudDsgbGV0IGkgPSBpbmRleFwiPiB7eyBpKzF9fSA8L3RkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPCEtLSBUaXRsZSBDb2x1bW4gLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlciBkaXNhYmxlQ2xlYXI+IFRpdGxlIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudC50aXRsZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZWxlbWVudD8uZGVzY3JpcHRpb25cIiBjbGFzcz1cInRleHQtc2Vjb25kYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsPnt7ZWxlbWVudD8uZGVzY3JpcHRpb259fTwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDwhLS0gQ2F0ZWdvcnkgQ29sdW1uIC0tPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY2F0ZWdvcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQ2F0ZWdvcnkgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50LmNhdGVnb3J5Py50aXRsZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZWxlbWVudD8uY2F0ZWdvcnk/LmRlc2NyaXB0aW9uXCIgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbD57e2VsZW1lbnQ/LmNhdGVnb3J5Py5kZXNjcmlwdGlvbn19PC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0YWdnZWRfY291bnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gVGFnZ2VkIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImVsZW1lbnQ/LnRhZ2dlZF9jb3VudFwiPnt7ZWxlbWVudC50YWdnZWRfY291bnR9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY29yZHNcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDwhLS0gQ3JlYXRvciBDb2x1bW4gLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjcmVhdG9yXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IENyZWF0b3IgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+e3tlbGVtZW50LmNyZWF0b3I/Lm5hbWV9fSA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PHNtYWxsIGNsYXNzPVwidGV4dC1tdXRlZFwiPm9uIHt7ZWxlbWVudC5jcmVhdGVkX2F0IHwgZGF0ZTogJ21lZGl1bURhdGUnfX0gPC9zbWFsbD48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgIDwhLS0gQWN0aW9ucyBDb2x1bW4gLS0+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IEFjdGlvbnMgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7IGxldCBpID0gZGF0YUluZGV4XCIgY2xhc3M9XCJ0ZXh0LXNlY29uZGFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1hdWRpdC1sb2ctZm9yLW1vZGVsIG1vZGVsVHlwZT1cIlRlY2hsaWZ5VGFnZ2VyVGFnXCIgW21vZGVsSWRdPVwiZWxlbWVudD8uaWRcIiBsb2dWaWV3PVwiYWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaXNJY29uVmlld109XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FwcC1hdWRpdC1sb2ctZm9yLW1vZGVsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXBwLXRlY2hsaWZ5LXRhZ2dlci10YWctZm9ybSAoc3VjY2Vzcyk9XCJtb2RlbHNVcGRhdGVkQnlJZCgkZXZlbnQpXCIgW3RhZ0luZm9dPVwiZWxlbWVudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5neFBlcm1pc3Npb25zT25seT1cIlsndGFnLnVwZGF0ZSddXCIgY2xhc3M9XCJtcy0xXCI+PC9hcHAtdGVjaGxpZnktdGFnZ2VyLXRhZy1mb3JtPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWVsZW1lbnQ/LnRhZ2dlZF9jb3VudFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtdGVjaGxpZnktZGVsZXRlLWJ1dHRvbiAqbmd4UGVybWlzc2lvbnNPbmx5PVwiWyd0YWcuZGVsZXRlJ11cIiBjbGFzcz0ndGV4dC1zZWNvbmRhcnkgbXMtMSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cImVsZW1lbnRcIiBbc2VydmljZV09XCJ0YWdTZXJ2aWNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT1cIkRlbGV0aW5nIHRoaXMgdGFnIGNhbm5vdCBiZSB1bmRvbmUuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb250aW51ZT9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGVsZXRlZCk9XCJtb2RlbHNEZWxldGVkQnlJZChlbGVtZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYXBwLXRlY2hsaWZ5LWRlbGV0ZS1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIj48L3RyPlxuICAgICAgICAgICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiPjwvdHI+XG4gICAgICAgICAgICA8L3RhYmxlPlxuXG4gICAgICAgICAgICA8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiICpuZ0lmPVwiaXNXb3JraW5nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxuICAgICAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPC9tYXQtY2FyZD5cbjwvZGl2PlxuIl19
|