@lowcodeunit/applications-flow-common 1.39.62-integration → 1.39.64-exceptions

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.
@@ -58,10 +58,10 @@ export class SourceControlDialogComponent {
58
58
  }
59
59
  }
60
60
  SourceControlDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SourceControlDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.EaCService }, { token: MAT_DIALOG_DATA }, { token: i3.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component });
61
- SourceControlDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: SourceControlDialogComponent, selector: "lcu-source-control-dialog", viewQueries: [{ propertyName: "DevopsSourceControl", first: true, predicate: DevopsSourceControlFormComponent, descendants: true }], ngImport: i0, template: "<div class=\"dialog-header\" fxLayoutAlign=\"space-between center\">\n <h2 mat-dialog-title>Source Control</h2>\n <button mat-icon-button (click)=\"CloseDialog()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <ng-container *ngIf=\"!State?.GitHub?.HasConnection\">\n <lcu-git-auth></lcu-git-auth>\n </ng-container>\n\n <ng-container *ngIf=\"State?.GitHub?.HasConnection\" fxLayout=\"column\">\n <div fxLayoutAlign=\"center center\">\n <lcu-devops-source-control-form\n [environment]=\"data.environment\"\n [environment-lookup]=\"data.environmentLookup\"\n [editing-source-control-lookup]=\"data.scLookup\"\n [loading]=\"State?.Loading\"\n (save-status-event)=\"HandleSaveStatusEvent($event)\"\n >\n </lcu-devops-source-control-form>\n </div>\n\n <mat-error *ngIf=\"ErrorMessage\" fxLayoutAlign=\"center center\">\n {{ ErrorMessage }}\n </mat-error>\n </ng-container>\n</mat-dialog-content>\n\n<mat-dialog-actions\n class=\"actions-container\"\n div\n fxLayout=\"row\"\n fxLayoutAlign=\"space-between center\"\n>\n <div fxLayoutAlign=\"start center\">\n <button\n mat-raised-button\n color=\"warn\"\n (click)=\"DeleteSourceControl()\"\n matTooltip=\"Delete {{ data.scName }}\"\n >\n Delete\n </button>\n </div>\n\n <div fxLayoutAlign=\"end center\">\n <button\n class=\"action-button\"\n mat-raised-button\n fxFlex=\"43%\"\n (click)=\"CloseDialog()\"\n >\n Cancel\n </button>\n\n <button\n class=\"action-button\"\n mat-raised-button\n *ngIf=\"!State?.Loading\"\n fxFlex=\"30%\"\n color=\"primary\"\n (click)=\"SaveSourceControl()\"\n [disabled]=\"\n !DevOpsSourceControlFormGroup?.valid ||\n !DevOpsSourceControlFormGroup?.dirty\n \"\n >\n <!-- <mat-icon>save</mat-icon> -->\n Save\n </button>\n </div>\n</mat-dialog-actions>\n", styles: [".dialog-header{width:100%}.action-button{margin:0 10px}\n"], components: [{ type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.GitAuthComponent, selector: "lcu-git-auth", inputs: ["size"] }, { type: i7.DevopsSourceControlFormComponent, selector: "lcu-devops-source-control-form", inputs: ["editing-source-control-lookup", "environment", "environment-lookup", "loading"], outputs: ["save-status-event"] }], directives: [{ type: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i10.MatError, selector: "mat-error", inputs: ["id"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] });
61
+ SourceControlDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: SourceControlDialogComponent, selector: "lcu-source-control-dialog", viewQueries: [{ propertyName: "DevopsSourceControl", first: true, predicate: DevopsSourceControlFormComponent, descendants: true }], ngImport: i0, template: "<div class=\"dialog-header\" fxLayoutAlign=\"space-between center\">\n <h2 mat-dialog-title>Source Control</h2>\n <button mat-icon-button (click)=\"CloseDialog()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <ng-container *ngIf=\"!State?.GitHub?.HasConnection\">\n <lcu-git-auth></lcu-git-auth>\n </ng-container>\n\n <ng-container *ngIf=\"State?.GitHub?.HasConnection\" fxLayout=\"column\">\n <div fxLayoutAlign=\"center center\">\n <lcu-devops-source-control-form\n [environment]=\"data?.environment\"\n [environment-lookup]=\"data?.environmentLookup\"\n [editing-source-control-lookup]=\"data?.scLookup\"\n [loading]=\"State?.Loading\"\n (save-status-event)=\"HandleSaveStatusEvent($event)\"\n >\n </lcu-devops-source-control-form>\n </div>\n\n <mat-error *ngIf=\"ErrorMessage\" fxLayoutAlign=\"center center\">\n {{ ErrorMessage }}\n </mat-error>\n </ng-container>\n</mat-dialog-content>\n\n<mat-dialog-actions\n class=\"actions-container\"\n div\n fxLayout=\"row\"\n fxLayoutAlign=\"space-between center\"\n>\n <div fxLayoutAlign=\"start center\">\n <button\n mat-raised-button\n color=\"warn\"\n (click)=\"DeleteSourceControl()\"\n matTooltip=\"Delete {{ data.scName }}\"\n >\n Delete\n </button>\n </div>\n\n <div fxLayoutAlign=\"end center\">\n <button\n class=\"action-button\"\n mat-raised-button\n fxFlex=\"43%\"\n (click)=\"CloseDialog()\"\n >\n Cancel\n </button>\n\n <button\n class=\"action-button\"\n mat-raised-button\n *ngIf=\"!State?.Loading\"\n fxFlex=\"30%\"\n color=\"primary\"\n (click)=\"SaveSourceControl()\"\n [disabled]=\"\n !DevOpsSourceControlFormGroup?.valid ||\n !DevOpsSourceControlFormGroup?.dirty\n \"\n >\n Save\n </button>\n </div>\n</mat-dialog-actions>\n", styles: [".dialog-header{width:100%}.action-button{margin:0 10px}\n"], components: [{ type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i6.GitAuthComponent, selector: "lcu-git-auth", inputs: ["size"] }, { type: i7.DevopsSourceControlFormComponent, selector: "lcu-devops-source-control-form", inputs: ["editing-source-control-lookup", "environment", "environment-lookup", "loading"], outputs: ["save-status-event"] }], directives: [{ type: i8.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i10.MatError, selector: "mat-error", inputs: ["id"] }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i11.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i8.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }] });
62
62
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: SourceControlDialogComponent, decorators: [{
63
63
  type: Component,
64
- args: [{ selector: 'lcu-source-control-dialog', template: "<div class=\"dialog-header\" fxLayoutAlign=\"space-between center\">\n <h2 mat-dialog-title>Source Control</h2>\n <button mat-icon-button (click)=\"CloseDialog()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <ng-container *ngIf=\"!State?.GitHub?.HasConnection\">\n <lcu-git-auth></lcu-git-auth>\n </ng-container>\n\n <ng-container *ngIf=\"State?.GitHub?.HasConnection\" fxLayout=\"column\">\n <div fxLayoutAlign=\"center center\">\n <lcu-devops-source-control-form\n [environment]=\"data.environment\"\n [environment-lookup]=\"data.environmentLookup\"\n [editing-source-control-lookup]=\"data.scLookup\"\n [loading]=\"State?.Loading\"\n (save-status-event)=\"HandleSaveStatusEvent($event)\"\n >\n </lcu-devops-source-control-form>\n </div>\n\n <mat-error *ngIf=\"ErrorMessage\" fxLayoutAlign=\"center center\">\n {{ ErrorMessage }}\n </mat-error>\n </ng-container>\n</mat-dialog-content>\n\n<mat-dialog-actions\n class=\"actions-container\"\n div\n fxLayout=\"row\"\n fxLayoutAlign=\"space-between center\"\n>\n <div fxLayoutAlign=\"start center\">\n <button\n mat-raised-button\n color=\"warn\"\n (click)=\"DeleteSourceControl()\"\n matTooltip=\"Delete {{ data.scName }}\"\n >\n Delete\n </button>\n </div>\n\n <div fxLayoutAlign=\"end center\">\n <button\n class=\"action-button\"\n mat-raised-button\n fxFlex=\"43%\"\n (click)=\"CloseDialog()\"\n >\n Cancel\n </button>\n\n <button\n class=\"action-button\"\n mat-raised-button\n *ngIf=\"!State?.Loading\"\n fxFlex=\"30%\"\n color=\"primary\"\n (click)=\"SaveSourceControl()\"\n [disabled]=\"\n !DevOpsSourceControlFormGroup?.valid ||\n !DevOpsSourceControlFormGroup?.dirty\n \"\n >\n <!-- <mat-icon>save</mat-icon> -->\n Save\n </button>\n </div>\n</mat-dialog-actions>\n", styles: [".dialog-header{width:100%}.action-button{margin:0 10px}\n"] }]
64
+ args: [{ selector: 'lcu-source-control-dialog', template: "<div class=\"dialog-header\" fxLayoutAlign=\"space-between center\">\n <h2 mat-dialog-title>Source Control</h2>\n <button mat-icon-button (click)=\"CloseDialog()\">\n <mat-icon>cancel</mat-icon>\n </button>\n</div>\n\n<mat-dialog-content>\n <ng-container *ngIf=\"!State?.GitHub?.HasConnection\">\n <lcu-git-auth></lcu-git-auth>\n </ng-container>\n\n <ng-container *ngIf=\"State?.GitHub?.HasConnection\" fxLayout=\"column\">\n <div fxLayoutAlign=\"center center\">\n <lcu-devops-source-control-form\n [environment]=\"data?.environment\"\n [environment-lookup]=\"data?.environmentLookup\"\n [editing-source-control-lookup]=\"data?.scLookup\"\n [loading]=\"State?.Loading\"\n (save-status-event)=\"HandleSaveStatusEvent($event)\"\n >\n </lcu-devops-source-control-form>\n </div>\n\n <mat-error *ngIf=\"ErrorMessage\" fxLayoutAlign=\"center center\">\n {{ ErrorMessage }}\n </mat-error>\n </ng-container>\n</mat-dialog-content>\n\n<mat-dialog-actions\n class=\"actions-container\"\n div\n fxLayout=\"row\"\n fxLayoutAlign=\"space-between center\"\n>\n <div fxLayoutAlign=\"start center\">\n <button\n mat-raised-button\n color=\"warn\"\n (click)=\"DeleteSourceControl()\"\n matTooltip=\"Delete {{ data.scName }}\"\n >\n Delete\n </button>\n </div>\n\n <div fxLayoutAlign=\"end center\">\n <button\n class=\"action-button\"\n mat-raised-button\n fxFlex=\"43%\"\n (click)=\"CloseDialog()\"\n >\n Cancel\n </button>\n\n <button\n class=\"action-button\"\n mat-raised-button\n *ngIf=\"!State?.Loading\"\n fxFlex=\"30%\"\n color=\"primary\"\n (click)=\"SaveSourceControl()\"\n [disabled]=\"\n !DevOpsSourceControlFormGroup?.valid ||\n !DevOpsSourceControlFormGroup?.dirty\n \"\n >\n Save\n </button>\n </div>\n</mat-dialog-actions>\n", styles: [".dialog-header{width:100%}.action-button{margin:0 10px}\n"] }]
65
65
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i2.EaCService }, { type: undefined, decorators: [{
66
66
  type: Inject,
67
67
  args: [MAT_DIALOG_DATA]
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
69
69
  type: ViewChild,
70
70
  args: [DevopsSourceControlFormComponent]
71
71
  }] } });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWNvbnRyb2wtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi9zcmMvbGliL2RpYWxvZ3Mvc291cmNlLWNvbnRyb2wtZGlhbG9nL3NvdXJjZS1jb250cm9sLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9kaWFsb2dzL3NvdXJjZS1jb250cm9sLWRpYWxvZy9zb3VyY2UtY29udHJvbC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBS3pFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGdGQUFnRixDQUFDOzs7Ozs7Ozs7Ozs7O0FBZ0JsSSxNQUFNLE9BQU8sNEJBQTRCO0lBY3JDLFlBQ1csU0FBcUQsRUFDbEQsTUFBa0IsRUFDSSxJQUFrQixFQUN4QyxRQUFxQjtRQUh4QixjQUFTLEdBQVQsU0FBUyxDQUE0QztRQUNsRCxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQ0ksU0FBSSxHQUFKLElBQUksQ0FBYztRQUN4QyxhQUFRLEdBQVIsUUFBUSxDQUFhO0lBQ2hDLENBQUM7SUFmSixJQUFXLDRCQUE0QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSw0QkFBNEIsQ0FBQztJQUNsRSxDQUFDO0lBZU0sUUFBUTtRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUN2QyxDQUFDLEtBQTRCLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLG1CQUFtQjtRQUN0QixJQUFJLENBQUMsTUFBTTthQUNOLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQ3pELElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEtBQWE7UUFDdEMseUNBQXlDO1FBQ3pDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsU0FBUyxFQUFFO2dCQUM5RCxRQUFRLEVBQUUsSUFBSTthQUNqQixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEI7YUFBTTtZQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztTQUNyQztJQUNMLENBQUM7SUFFTSxpQkFBaUI7UUFDcEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDakQsQ0FBQzs7eUhBM0RRLDRCQUE0Qix3RUFpQnpCLGVBQWU7NkdBakJsQiw0QkFBNEIsc0hBQzFCLGdDQUFnQyxnREN4Qi9DLHV1RUEwRUE7MkZEbkRhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDSSwyQkFBMkI7OzBCQXFCaEMsTUFBTTsyQkFBQyxlQUFlO3NFQWZwQixtQkFBbUI7c0JBRHpCLFNBQVM7dUJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJ0BsY3UvY29tbW9uJztcbmltcG9ydCB7IEVhQ0Vudmlyb25tZW50QXNDb2RlIH0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGV2b3BzU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb250cm9scy9kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybS9kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcblxuZXhwb3J0IGludGVyZmFjZSBTQ0RpYWxvZ0RhdGEge1xuICAgIGVudmlyb25tZW50OiBFYUNFbnZpcm9ubWVudEFzQ29kZTtcbiAgICBlbnZpcm9ubWVudExvb2t1cDogc3RyaW5nO1xuICAgIHNjTG9va3VwOiBzdHJpbmc7XG4gICAgc2NOYW1lOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGN1LXNvdXJjZS1jb250cm9sLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NvdXJjZS1jb250cm9sLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc291cmNlLWNvbnRyb2wtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNvdXJjZUNvbnRyb2xEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZChEZXZvcHNTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudClcbiAgICBwdWJsaWMgRGV2b3BzU291cmNlQ29udHJvbDogRGV2b3BzU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQ7XG5cbiAgICBwdWJsaWMgZ2V0IERldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAoKTogRm9ybUdyb3VwIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuRGV2b3BzU291cmNlQ29udHJvbD8uRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cDtcbiAgICB9XG5cbiAgICBwdWJsaWMgRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgU3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZTtcblxuICAgIHB1YmxpYyBTdGF0ZVN1YjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxTb3VyY2VDb250cm9sRGlhbG9nQ29tcG9uZW50PixcbiAgICAgICAgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSxcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBTQ0RpYWxvZ0RhdGEsXG4gICAgICAgIHByb3RlY3RlZCBzbmFja0JhcjogTWF0U25hY2tCYXJcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuU3RhdGVTdWIgPSB0aGlzLmVhY1N2Yy5TdGF0ZS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuU3RhdGVTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgQ2xvc2VEaWFsb2coKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIERlbGV0ZVNvdXJjZUNvbnRyb2woKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWFjU3ZjXG4gICAgICAgICAgICAuRGVsZXRlU291cmNlQ29udHJvbCh0aGlzLmRhdGEuc2NMb29rdXAsIHRoaXMuZGF0YS5zY05hbWUpXG4gICAgICAgICAgICAudGhlbigoc3RhdHVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5DbG9zZURpYWxvZygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIEhhbmRsZVNhdmVTdGF0dXNFdmVudChldmVudDogU3RhdHVzKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdldmVudCB0byBzYXZlOiAnLCBldmVudCk7XG4gICAgICAgIGlmIChldmVudC5Db2RlID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ1NvdXJjZSBDb250cm9sIFN1Y2Nlc2Z1bGx5IFNhdmVkJywgJ0Rpc21pc3MnLCB7XG4gICAgICAgICAgICAgICAgZHVyYXRpb246IDUwMDAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuQ2xvc2VEaWFsb2coKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuRXJyb3JNZXNzYWdlID0gZXZlbnQuTWVzc2FnZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBTYXZlU291cmNlQ29udHJvbCgpIHtcbiAgICAgICAgdGhpcy5EZXZvcHNTb3VyY2VDb250cm9sLlNhdmVTb3VyY2VDb250cm9sKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRpYWxvZy1oZWFkZXJcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIj5cbiAgICA8aDIgbWF0LWRpYWxvZy10aXRsZT5Tb3VyY2UgQ29udHJvbDwvaDI+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIkNsb3NlRGlhbG9nKClcIj5cbiAgICAgICAgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cblxuPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIVN0YXRlPy5HaXRIdWI/Lkhhc0Nvbm5lY3Rpb25cIj5cbiAgICAgICAgPGxjdS1naXQtYXV0aD48L2xjdS1naXQtYXV0aD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJTdGF0ZT8uR2l0SHViPy5IYXNDb25uZWN0aW9uXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cbiAgICAgICAgPGRpdiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICAgICAgPGxjdS1kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybVxuICAgICAgICAgICAgICAgIFtlbnZpcm9ubWVudF09XCJkYXRhLmVudmlyb25tZW50XCJcbiAgICAgICAgICAgICAgICBbZW52aXJvbm1lbnQtbG9va3VwXT1cImRhdGEuZW52aXJvbm1lbnRMb29rdXBcIlxuICAgICAgICAgICAgICAgIFtlZGl0aW5nLXNvdXJjZS1jb250cm9sLWxvb2t1cF09XCJkYXRhLnNjTG9va3VwXCJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJTdGF0ZT8uTG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgKHNhdmUtc3RhdHVzLWV2ZW50KT1cIkhhbmRsZVNhdmVTdGF0dXNFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbGN1LWRldm9wcy1zb3VyY2UtY29udHJvbC1mb3JtPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiRXJyb3JNZXNzYWdlXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cbiAgICAgICAgICAgIHt7IEVycm9yTWVzc2FnZSB9fVxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zXG4gICAgY2xhc3M9XCJhY3Rpb25zLWNvbnRhaW5lclwiXG4gICAgZGl2XG4gICAgZnhMYXlvdXQ9XCJyb3dcIlxuICAgIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIGNlbnRlclwiXG4+XG4gICAgPGRpdiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIkRlbGV0ZVNvdXJjZUNvbnRyb2woKVwiXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiRGVsZXRlIHt7IGRhdGEuc2NOYW1lIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgRGVsZXRlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGZ4RmxleD1cIjQzJVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiQ2xvc2VEaWFsb2coKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIENhbmNlbFxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiIVN0YXRlPy5Mb2FkaW5nXCJcbiAgICAgICAgICAgIGZ4RmxleD1cIjMwJVwiXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIlNhdmVTb3VyY2VDb250cm9sKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgICAgICAgICFEZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwPy52YWxpZCB8fFxuICAgICAgICAgICAgICAgICFEZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwPy5kaXJ0eVxuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPCEtLSA8bWF0LWljb24+c2F2ZTwvbWF0LWljb24+IC0tPlxuICAgICAgICAgICAgU2F2ZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWNvbnRyb2wtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi9zcmMvbGliL2RpYWxvZ3Mvc291cmNlLWNvbnRyb2wtZGlhbG9nL3NvdXJjZS1jb250cm9sLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24vc3JjL2xpYi9kaWFsb2dzL3NvdXJjZS1jb250cm9sLWRpYWxvZy9zb3VyY2UtY29udHJvbC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRixPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBS3pFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGdGQUFnRixDQUFDOzs7Ozs7Ozs7Ozs7O0FBZ0JsSSxNQUFNLE9BQU8sNEJBQTRCO0lBY3JDLFlBQ1csU0FBcUQsRUFDbEQsTUFBa0IsRUFDSSxJQUFrQixFQUN4QyxRQUFxQjtRQUh4QixjQUFTLEdBQVQsU0FBUyxDQUE0QztRQUNsRCxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQ0ksU0FBSSxHQUFKLElBQUksQ0FBYztRQUN4QyxhQUFRLEdBQVIsUUFBUSxDQUFhO0lBQ2hDLENBQUM7SUFmSixJQUFXLDRCQUE0QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSw0QkFBNEIsQ0FBQztJQUNsRSxDQUFDO0lBZU0sUUFBUTtRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUN2QyxDQUFDLEtBQTRCLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLG1CQUFtQjtRQUN0QixJQUFJLENBQUMsTUFBTTthQUNOLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQ3pELElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEtBQWE7UUFDdEMseUNBQXlDO1FBQ3pDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0NBQWtDLEVBQUUsU0FBUyxFQUFFO2dCQUM5RCxRQUFRLEVBQUUsSUFBSTthQUNqQixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdEI7YUFBTTtZQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztTQUNyQztJQUNMLENBQUM7SUFFTSxpQkFBaUI7UUFDcEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDakQsQ0FBQzs7eUhBM0RRLDRCQUE0Qix3RUFpQnpCLGVBQWU7NkdBakJsQiw0QkFBNEIsc0hBQzFCLGdDQUFnQyxnREN4Qi9DLDByRUF5RUE7MkZEbERhLDRCQUE0QjtrQkFMeEMsU0FBUzsrQkFDSSwyQkFBMkI7OzBCQXFCaEMsTUFBTTsyQkFBQyxlQUFlO3NFQWZwQixtQkFBbUI7c0JBRHpCLFNBQVM7dUJBQUMsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJ0BsY3UvY29tbW9uJztcbmltcG9ydCB7IEVhQ0Vudmlyb25tZW50QXNDb2RlIH0gZnJvbSAnQHNlbWFudGljanMvY29tbW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGV2b3BzU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb250cm9scy9kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybS9kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRWFDU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2VhYy5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlL2FwcGxpY2F0aW9ucy1mbG93LnN0YXRlJztcblxuZXhwb3J0IGludGVyZmFjZSBTQ0RpYWxvZ0RhdGEge1xuICAgIGVudmlyb25tZW50OiBFYUNFbnZpcm9ubWVudEFzQ29kZTtcbiAgICBlbnZpcm9ubWVudExvb2t1cDogc3RyaW5nO1xuICAgIHNjTG9va3VwOiBzdHJpbmc7XG4gICAgc2NOYW1lOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGN1LXNvdXJjZS1jb250cm9sLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3NvdXJjZS1jb250cm9sLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vc291cmNlLWNvbnRyb2wtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNvdXJjZUNvbnRyb2xEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQFZpZXdDaGlsZChEZXZvcHNTb3VyY2VDb250cm9sRm9ybUNvbXBvbmVudClcbiAgICBwdWJsaWMgRGV2b3BzU291cmNlQ29udHJvbDogRGV2b3BzU291cmNlQ29udHJvbEZvcm1Db21wb25lbnQ7XG5cbiAgICBwdWJsaWMgZ2V0IERldk9wc1NvdXJjZUNvbnRyb2xGb3JtR3JvdXAoKTogRm9ybUdyb3VwIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuRGV2b3BzU291cmNlQ29udHJvbD8uRGV2T3BzU291cmNlQ29udHJvbEZvcm1Hcm91cDtcbiAgICB9XG5cbiAgICBwdWJsaWMgRXJyb3JNZXNzYWdlOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgU3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZTtcblxuICAgIHB1YmxpYyBTdGF0ZVN1YjogU3Vic2NyaXB0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxTb3VyY2VDb250cm9sRGlhbG9nQ29tcG9uZW50PixcbiAgICAgICAgcHJvdGVjdGVkIGVhY1N2YzogRWFDU2VydmljZSxcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBTQ0RpYWxvZ0RhdGEsXG4gICAgICAgIHByb3RlY3RlZCBzbmFja0JhcjogTWF0U25hY2tCYXJcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuU3RhdGVTdWIgPSB0aGlzLmVhY1N2Yy5TdGF0ZS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoc3RhdGU6IEFwcGxpY2F0aW9uc0Zsb3dTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuU3RhdGUgPSBzdGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuU3RhdGVTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgQ2xvc2VEaWFsb2coKSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIERlbGV0ZVNvdXJjZUNvbnRyb2woKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWFjU3ZjXG4gICAgICAgICAgICAuRGVsZXRlU291cmNlQ29udHJvbCh0aGlzLmRhdGEuc2NMb29rdXAsIHRoaXMuZGF0YS5zY05hbWUpXG4gICAgICAgICAgICAudGhlbigoc3RhdHVzKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5DbG9zZURpYWxvZygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIEhhbmRsZVNhdmVTdGF0dXNFdmVudChldmVudDogU3RhdHVzKSB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdldmVudCB0byBzYXZlOiAnLCBldmVudCk7XG4gICAgICAgIGlmIChldmVudC5Db2RlID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ1NvdXJjZSBDb250cm9sIFN1Y2Nlc2Z1bGx5IFNhdmVkJywgJ0Rpc21pc3MnLCB7XG4gICAgICAgICAgICAgICAgZHVyYXRpb246IDUwMDAsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuQ2xvc2VEaWFsb2coKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuRXJyb3JNZXNzYWdlID0gZXZlbnQuTWVzc2FnZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBTYXZlU291cmNlQ29udHJvbCgpIHtcbiAgICAgICAgdGhpcy5EZXZvcHNTb3VyY2VDb250cm9sLlNhdmVTb3VyY2VDb250cm9sKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRpYWxvZy1oZWFkZXJcIiBmeExheW91dEFsaWduPVwic3BhY2UtYmV0d2VlbiBjZW50ZXJcIj5cbiAgICA8aDIgbWF0LWRpYWxvZy10aXRsZT5Tb3VyY2UgQ29udHJvbDwvaDI+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIkNsb3NlRGlhbG9nKClcIj5cbiAgICAgICAgPG1hdC1pY29uPmNhbmNlbDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG48L2Rpdj5cblxuPG1hdC1kaWFsb2ctY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIVN0YXRlPy5HaXRIdWI/Lkhhc0Nvbm5lY3Rpb25cIj5cbiAgICAgICAgPGxjdS1naXQtYXV0aD48L2xjdS1naXQtYXV0aD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJTdGF0ZT8uR2l0SHViPy5IYXNDb25uZWN0aW9uXCIgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cbiAgICAgICAgPGRpdiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgICAgICAgICAgPGxjdS1kZXZvcHMtc291cmNlLWNvbnRyb2wtZm9ybVxuICAgICAgICAgICAgICAgIFtlbnZpcm9ubWVudF09XCJkYXRhPy5lbnZpcm9ubWVudFwiXG4gICAgICAgICAgICAgICAgW2Vudmlyb25tZW50LWxvb2t1cF09XCJkYXRhPy5lbnZpcm9ubWVudExvb2t1cFwiXG4gICAgICAgICAgICAgICAgW2VkaXRpbmctc291cmNlLWNvbnRyb2wtbG9va3VwXT1cImRhdGE/LnNjTG9va3VwXCJcbiAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJTdGF0ZT8uTG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgKHNhdmUtc3RhdHVzLWV2ZW50KT1cIkhhbmRsZVNhdmVTdGF0dXNFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbGN1LWRldm9wcy1zb3VyY2UtY29udHJvbC1mb3JtPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiRXJyb3JNZXNzYWdlXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBjZW50ZXJcIj5cbiAgICAgICAgICAgIHt7IEVycm9yTWVzc2FnZSB9fVxuICAgICAgICA8L21hdC1lcnJvcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LWRpYWxvZy1jb250ZW50PlxuXG48bWF0LWRpYWxvZy1hY3Rpb25zXG4gICAgY2xhc3M9XCJhY3Rpb25zLWNvbnRhaW5lclwiXG4gICAgZGl2XG4gICAgZnhMYXlvdXQ9XCJyb3dcIlxuICAgIGZ4TGF5b3V0QWxpZ249XCJzcGFjZS1iZXR3ZWVuIGNlbnRlclwiXG4+XG4gICAgPGRpdiBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIkRlbGV0ZVNvdXJjZUNvbnRyb2woKVwiXG4gICAgICAgICAgICBtYXRUb29sdGlwPVwiRGVsZXRlIHt7IGRhdGEuc2NOYW1lIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgRGVsZXRlXG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBmeExheW91dEFsaWduPVwiZW5kIGNlbnRlclwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgIGZ4RmxleD1cIjQzJVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiQ2xvc2VEaWFsb2coKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIENhbmNlbFxuICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIlxuICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiIVN0YXRlPy5Mb2FkaW5nXCJcbiAgICAgICAgICAgIGZ4RmxleD1cIjMwJVwiXG4gICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIlNhdmVTb3VyY2VDb250cm9sKClcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cIlxuICAgICAgICAgICAgICAgICFEZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwPy52YWxpZCB8fFxuICAgICAgICAgICAgICAgICFEZXZPcHNTb3VyY2VDb250cm9sRm9ybUdyb3VwPy5kaXJ0eVxuICAgICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgU2F2ZVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19