@netgrif/components 6.2.1 → 6.2.3
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/esm2020/lib/admin/ldap-group-role-assignment/ldap-group-role-assignment.component.mjs +3 -3
- package/esm2020/lib/data-fields/boolean-field/boolean-field.component.mjs +3 -3
- package/esm2020/lib/data-fields/enumeration-field/enumeration-autocomplete-select-field/enumeration-autocomplete-select-field.component.mjs +3 -3
- package/esm2020/lib/data-fields/enumeration-field/enumeration-icon-field/enumeration-icon-field.component.mjs +3 -3
- package/esm2020/lib/data-fields/file-field/file-field.component.mjs +2 -2
- package/esm2020/lib/data-fields/i18n-field/i18n-divider-field/i18n-divider-field.component.mjs +3 -3
- package/esm2020/lib/data-fields/i18n-field/i18n-text-field/i18n-text-field.component.mjs +3 -3
- package/esm2020/lib/data-fields/multichoice-field/multichoice-autocomplete-field/multichoice-autocomplete-field.component.mjs +3 -3
- package/esm2020/lib/data-fields/number-field/number-currency-field/number-currency-field.component.mjs +3 -3
- package/esm2020/lib/data-fields/text-field/rich-textarea-field/easymde-wrapper/easymde-wrapper.component.mjs +5 -2
- package/esm2020/lib/data-fields/user-field/user-field.component.mjs +3 -3
- package/esm2020/lib/search/advanced-search/search-operand-input-component/search-operand-input.component.mjs +3 -3
- package/esm2020/lib/side-menu/content-components/new-case/new-case.component.mjs +3 -3
- package/fesm2015/netgrif-components.mjs +28 -25
- package/fesm2015/netgrif-components.mjs.map +1 -1
- package/fesm2020/netgrif-components.mjs +28 -25
- package/fesm2020/netgrif-components.mjs.map +1 -1
- package/nae-theme.scss +5 -0
- package/package.json +2 -2
- package/src/lib/data-fields/data-field.theme.scss +5 -1
|
@@ -30,14 +30,14 @@ export class NewCaseComponent extends AbstractNewCaseComponent {
|
|
|
30
30
|
NewCaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NewCaseComponent, deps: [{ token: NAE_SIDE_MENU_CONTROL }, { token: i1.FormBuilder }, { token: i2.SnackBarService }, { token: i2.CaseResourceService }, { token: i3.HotkeysService }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
31
31
|
NewCaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NewCaseComponent, selector: "nc-new-case", providers: [{
|
|
32
32
|
provide: STEPPER_GLOBAL_OPTIONS, useValue: { showError: true }
|
|
33
|
-
}], usesInheritance: true, ngImport: i0, template: "<div #toolbar class=\"custom-mat-toolbar\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{titleShortening()}}\n</div>\n<mat-vertical-stepper *ngIf=\"hasMultipleNets$ | async\" linear #stepper1 class=\"netgrif-input\">\n <mat-step [stepControl]=\"processFormControl\" errorMessage=\"{{'side-menu.new-case.errFirst' | translate}}\"
|
|
33
|
+
}], usesInheritance: true, ngImport: i0, template: "<div #toolbar class=\"custom-mat-toolbar\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{titleShortening()}}\n</div>\n<mat-vertical-stepper *ngIf=\"hasMultipleNets$ | async\" linear #stepper1 class=\"netgrif-input\">\n <mat-step [stepControl]=\"processFormControl\" errorMessage=\"{{'side-menu.new-case.errFirst' | translate}}\">\n <ng-template matStepLabel>{{'side-menu.new-case.choose' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input type=\"text\" matInput [formControl]=\"processFormControl\" [matAutocomplete]=\"auto\" required\n (keyup.enter)=\"nextStep()\" (change)=\"checkVersion(processFormControl.value)\">\n <span class=\"version-span\" *ngIf=\"isVersionVisible\" matSuffix>{{netVersion}}</span>\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\"\n (optionSelected)=\"showVersion($event.option)\">\n <mat-option *ngFor=\"let option of filteredOptions$ | async\" [value]=\"option\">\n {{option.viewValue}}\n <span class=\"version-span\" *ngIf=\"isVersionVisible\">{{option.version}}</span>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <div>\n <button *ngIf=\"isCaseTitleEnabled()\" mat-button\n (click)=\"toNextStep(processFormControl.value)\">{{'side-menu.new-case.next' | translate}}</button>\n <button *ngIf=\"!isCaseTitleEnabled()\" mat-raised-button color=\"primary\"\n (click)=\"createNewCase()\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n <mat-step *ngIf=\"isCaseTitleEnabled()\" [stepControl]=\"titleFormControl\"\n errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\">\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input matInput placeholder=\"Title\" autocomplete=\"off\" [formControl]=\"titleFormControl\"\n [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div>\n <button mat-button\n (click)=\"stepper1.reset(); checkVersion(processFormControl.value)\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-button (click)=\"createNewCase()\">\n <mat-spinner *ngIf=\"loadingSubmit | async\"\n mode=\"indeterminate\"\n diameter=\"36\"\n color=\"accent\"\n fxFlex></mat-spinner>\n <span *ngIf=\"(loadingSubmit | async) === false\"\n fxFlex>{{'side-menu.new-case.create' | translate}}</span>\n </button>\n </div>\n </mat-step>\n</mat-vertical-stepper>\n<mat-vertical-stepper *ngIf=\"(hasMultipleNets$ | async) === false\" linear #stepper2 class=\"netgrif-input\">\n <mat-step [stepControl]=\"titleFormControl\" errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\">\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input matInput placeholder=\"Title\" autocomplete=\"off\" [formControl]=\"titleFormControl\"\n [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div>\n <button mat-button (click)=\"stepper2.reset()\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-raised-button color=\"primary\"\n (click)=\"createNewCase()\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n</mat-vertical-stepper>\n<div *ngIf=\"(notInitialized$ | async)\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-spinner class=\"spinner-margin\"></mat-spinner>\n</div>\n", styles: [".version-span{padding-left:8px;color:gray}.spinner-margin{margin-top:16px}\n"], components: [{ type: i5.MatStepper, selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", inputs: ["selectedIndex", "disableRipple", "color", "labelPosition"], outputs: ["animationDone"], exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"] }, { type: i5.MatStep, selector: "mat-step", inputs: ["color"], exportAs: ["matStep"] }, { type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i7.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i8.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i9.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: i10.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i11.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: i11.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: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.MatStepLabel, selector: "[matStepLabel]" }, { type: i13.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"] }, { type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i6.MatSuffix, selector: "[matSuffix]" }, { type: i12.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.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"] }], pipes: { "async": i12.AsyncPipe, "translate": i4.TranslatePipe } });
|
|
34
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NewCaseComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
36
|
args: [{ selector: 'nc-new-case', providers: [{
|
|
37
37
|
provide: STEPPER_GLOBAL_OPTIONS, useValue: { showError: true }
|
|
38
|
-
}], template: "<div #toolbar class=\"custom-mat-toolbar\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{titleShortening()}}\n</div>\n<mat-vertical-stepper *ngIf=\"hasMultipleNets$ | async\" linear #stepper1 class=\"netgrif-input\">\n <mat-step [stepControl]=\"processFormControl\" errorMessage=\"{{'side-menu.new-case.errFirst' | translate}}\"
|
|
38
|
+
}], template: "<div #toolbar class=\"custom-mat-toolbar\" fxLayout=\"column\" fxLayoutAlign=\"center none\">\n {{titleShortening()}}\n</div>\n<mat-vertical-stepper *ngIf=\"hasMultipleNets$ | async\" linear #stepper1 class=\"netgrif-input\">\n <mat-step [stepControl]=\"processFormControl\" errorMessage=\"{{'side-menu.new-case.errFirst' | translate}}\">\n <ng-template matStepLabel>{{'side-menu.new-case.choose' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input type=\"text\" matInput [formControl]=\"processFormControl\" [matAutocomplete]=\"auto\" required\n (keyup.enter)=\"nextStep()\" (change)=\"checkVersion(processFormControl.value)\">\n <span class=\"version-span\" *ngIf=\"isVersionVisible\" matSuffix>{{netVersion}}</span>\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\"\n (optionSelected)=\"showVersion($event.option)\">\n <mat-option *ngFor=\"let option of filteredOptions$ | async\" [value]=\"option\">\n {{option.viewValue}}\n <span class=\"version-span\" *ngIf=\"isVersionVisible\">{{option.version}}</span>\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <div>\n <button *ngIf=\"isCaseTitleEnabled()\" mat-button\n (click)=\"toNextStep(processFormControl.value)\">{{'side-menu.new-case.next' | translate}}</button>\n <button *ngIf=\"!isCaseTitleEnabled()\" mat-raised-button color=\"primary\"\n (click)=\"createNewCase()\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n <mat-step *ngIf=\"isCaseTitleEnabled()\" [stepControl]=\"titleFormControl\"\n errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\">\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input matInput placeholder=\"Title\" autocomplete=\"off\" [formControl]=\"titleFormControl\"\n [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div>\n <button mat-button\n (click)=\"stepper1.reset(); checkVersion(processFormControl.value)\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-button (click)=\"createNewCase()\">\n <mat-spinner *ngIf=\"loadingSubmit | async\"\n mode=\"indeterminate\"\n diameter=\"36\"\n color=\"accent\"\n fxFlex></mat-spinner>\n <span *ngIf=\"(loadingSubmit | async) === false\"\n fxFlex>{{'side-menu.new-case.create' | translate}}</span>\n </button>\n </div>\n </mat-step>\n</mat-vertical-stepper>\n<mat-vertical-stepper *ngIf=\"(hasMultipleNets$ | async) === false\" linear #stepper2 class=\"netgrif-input\">\n <mat-step [stepControl]=\"titleFormControl\" errorMessage=\"{{'side-menu.new-case.errSecond' | translate}}\">\n <ng-template matStepLabel>{{'side-menu.new-case.caseTitle' | translate}}</ng-template>\n <mat-form-field appearance=\"outline\">\n <input matInput placeholder=\"Title\" autocomplete=\"off\" [formControl]=\"titleFormControl\"\n [required]=\"isCaseTitleRequired()\" (keyup.enter)=\"nextStep()\">\n </mat-form-field>\n <div>\n <button mat-button (click)=\"stepper2.reset()\">{{'side-menu.new-case.reset' | translate}}</button>\n <button mat-raised-button color=\"primary\"\n (click)=\"createNewCase()\">{{'side-menu.new-case.create' | translate}}</button>\n </div>\n </mat-step>\n</mat-vertical-stepper>\n<div *ngIf=\"(notInitialized$ | async)\" fxLayout=\"row\" fxLayoutAlign=\"center center\">\n <mat-spinner class=\"spinner-margin\"></mat-spinner>\n</div>\n", styles: [".version-span{padding-left:8px;color:gray}.spinner-margin{margin-top:16px}\n"] }]
|
|
39
39
|
}], ctorParameters: function () { return [{ type: i2.SideMenuControl, decorators: [{
|
|
40
40
|
type: Inject,
|
|
41
41
|
args: [NAE_SIDE_MENU_CONTROL]
|
|
42
42
|
}] }, { type: i1.FormBuilder }, { type: i2.SnackBarService }, { type: i2.CaseResourceService }, { type: i3.HotkeysService }, { type: i4.TranslateService }]; } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWNhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzL3NyYy9saWIvc2lkZS1tZW51L2NvbnRlbnQtY29tcG9uZW50cy9uZXctY2FzZS9uZXctY2FzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMvc3JjL2xpYi9zaWRlLW1lbnUvY29udGVudC1jb21wb25lbnRzL25ldy1jYXNlL25ldy1jYXNlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRWhELE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRzVELE9BQU8sRUFDSCx3QkFBd0IsRUFFeEIscUJBQXFCLEVBR3hCLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVVsQyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsd0JBQXdCO0lBSTFELFlBQXFELGdCQUFpQyxFQUNoRSxZQUF5QixFQUN6QixnQkFBaUMsRUFDakMsb0JBQXlDLEVBQ3pDLGVBQStCLEVBQy9CLFVBQTRCO1FBQzlDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBTjFELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUFDaEUsaUJBQVksR0FBWixZQUFZLENBQWE7UUFDekIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXFCO1FBQ3pDLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUU5QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUM7SUFDOUQsQ0FBQzs7OEdBWlEsZ0JBQWdCLGtCQUlMLHFCQUFxQjtrR0FKaEMsZ0JBQWdCLHNDQUpkLENBQUM7WUFDUixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQztTQUMvRCxDQUFDLGlEQ25CTiw4L0hBZ0VBOzRGRDNDYSxnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBQ0ksYUFBYSxhQUdaLENBQUM7NEJBQ1IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUM7eUJBQy9ELENBQUM7OzBCQU1XLE1BQU07MkJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1CdWlsZGVyfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1NURVBQRVJfR0xPQkFMX09QVElPTlN9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zdGVwcGVyJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0hvdGtleXNTZXJ2aWNlfSBmcm9tICdhbmd1bGFyMi1ob3RrZXlzJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3ROZXdDYXNlQ29tcG9uZW50LFxuICAgIENhc2VSZXNvdXJjZVNlcnZpY2UsXG4gICAgTkFFX1NJREVfTUVOVV9DT05UUk9MLFxuICAgIFNpZGVNZW51Q29udHJvbCxcbiAgICBTbmFja0JhclNlcnZpY2Vcbn0gZnJvbSAnQG5ldGdyaWYvY29tcG9uZW50cy1jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduYy1uZXctY2FzZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL25ldy1jYXNlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9uZXctY2FzZS5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW3tcbiAgICAgICAgcHJvdmlkZTogU1RFUFBFUl9HTE9CQUxfT1BUSU9OUywgdXNlVmFsdWU6IHtzaG93RXJyb3I6IHRydWV9XG4gICAgfV1cbn0pXG5leHBvcnQgY2xhc3MgTmV3Q2FzZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0TmV3Q2FzZUNvbXBvbmVudCB7XG5cbiAgICBpc1ZlcnNpb25WaXNpYmxlOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChOQUVfU0lERV9NRU5VX0NPTlRST0wpIHByb3RlY3RlZCBfc2lkZU1lbnVDb250cm9sOiBTaWRlTWVudUNvbnRyb2wsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9zbmFja0JhclNlcnZpY2U6IFNuYWNrQmFyU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgX2Nhc2VSZXNvdXJjZVNlcnZpY2U6IENhc2VSZXNvdXJjZVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF9ob3RrZXlzU2VydmljZTogSG90a2V5c1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJvdGVjdGVkIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoX3NpZGVNZW51Q29udHJvbCwgX2Zvcm1CdWlsZGVyLCBfc25hY2tCYXJTZXJ2aWNlLCBfY2FzZVJlc291cmNlU2VydmljZSwgX2hvdGtleXNTZXJ2aWNlLCBfdHJhbnNsYXRlKTtcbiAgICAgICAgdGhpcy5pc1ZlcnNpb25WaXNpYmxlID0gX3NpZGVNZW51Q29udHJvbC5pc1ZlcnNpb25WaXNpYmxlO1xuICAgIH1cblxufVxuIiwiPGRpdiAjdG9vbGJhciBjbGFzcz1cImN1c3RvbS1tYXQtdG9vbGJhclwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cImNlbnRlciBub25lXCI+XG4gICAge3t0aXRsZVNob3J0ZW5pbmcoKX19XG48L2Rpdj5cbjxtYXQtdmVydGljYWwtc3RlcHBlciAqbmdJZj1cImhhc011bHRpcGxlTmV0cyQgfCBhc3luY1wiIGxpbmVhciAjc3RlcHBlcjEgY2xhc3M9XCJuZXRncmlmLWlucHV0XCI+XG4gICAgPG1hdC1zdGVwIFtzdGVwQ29udHJvbF09XCJwcm9jZXNzRm9ybUNvbnRyb2xcIiBlcnJvck1lc3NhZ2U9XCJ7eydzaWRlLW1lbnUubmV3LWNhc2UuZXJyRmlyc3QnIHwgdHJhbnNsYXRlfX1cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD57eydzaWRlLW1lbnUubmV3LWNhc2UuY2hvb3NlJyB8IHRyYW5zbGF0ZX19PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwicHJvY2Vzc0Zvcm1Db250cm9sXCIgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCIgcmVxdWlyZWRcbiAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwibmV4dFN0ZXAoKVwiIChjaGFuZ2UpPVwiY2hlY2tWZXJzaW9uKHByb2Nlc3NGb3JtQ29udHJvbC52YWx1ZSlcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidmVyc2lvbi1zcGFuXCIgKm5nSWY9XCJpc1ZlcnNpb25WaXNpYmxlXCIgbWF0U3VmZml4Pnt7bmV0VmVyc2lvbn19PC9zcGFuPlxuICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIiBbZGlzcGxheVdpdGhdPVwiZGlzcGxheUZuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJzaG93VmVyc2lvbigkZXZlbnQub3B0aW9uKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZmlsdGVyZWRPcHRpb25zJCB8IGFzeW5jXCIgW3ZhbHVlXT1cIm9wdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICB7e29wdGlvbi52aWV3VmFsdWV9fVxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInZlcnNpb24tc3BhblwiICpuZ0lmPVwiaXNWZXJzaW9uVmlzaWJsZVwiPnt7b3B0aW9uLnZlcnNpb259fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiaXNDYXNlVGl0bGVFbmFibGVkKClcIiBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b05leHRTdGVwKHByb2Nlc3NGb3JtQ29udHJvbC52YWx1ZSlcIj57eydzaWRlLW1lbnUubmV3LWNhc2UubmV4dCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFpc0Nhc2VUaXRsZUVuYWJsZWQoKVwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjcmVhdGVOZXdDYXNlKClcIj57eydzaWRlLW1lbnUubmV3LWNhc2UuY3JlYXRlJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LXN0ZXA+XG4gICAgPG1hdC1zdGVwICpuZ0lmPVwiaXNDYXNlVGl0bGVFbmFibGVkKClcIiBbc3RlcENvbnRyb2xdPVwidGl0bGVGb3JtQ29udHJvbFwiXG4gICAgICAgICAgICAgIGVycm9yTWVzc2FnZT1cInt7J3NpZGUtbWVudS5uZXctY2FzZS5lcnJTZWNvbmQnIHwgdHJhbnNsYXRlfX1cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD57eydzaWRlLW1lbnUubmV3LWNhc2UuY2FzZVRpdGxlJyB8IHRyYW5zbGF0ZX19PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJUaXRsZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtQ29udHJvbF09XCJ0aXRsZUZvcm1Db250cm9sXCJcbiAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiaXNDYXNlVGl0bGVSZXF1aXJlZCgpXCIgKGtleXVwLmVudGVyKT1cIm5leHRTdGVwKClcIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic3RlcHBlcjEucmVzZXQoKTsgY2hlY2tWZXJzaW9uKHByb2Nlc3NGb3JtQ29udHJvbC52YWx1ZSlcIj57eydzaWRlLW1lbnUubmV3LWNhc2UucmVzZXQnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiY3JlYXRlTmV3Q2FzZSgpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1zcGlubmVyICpuZ0lmPVwibG9hZGluZ1N1Ym1pdCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWFtZXRlcj1cIjM2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeEZsZXg+PC9tYXQtc3Bpbm5lcj5cbiAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIihsb2FkaW5nU3VibWl0IHwgYXN5bmMpID09PSBmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgZnhGbGV4Pnt7J3NpZGUtbWVudS5uZXctY2FzZS5jcmVhdGUnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9tYXQtc3RlcD5cbjwvbWF0LXZlcnRpY2FsLXN0ZXBwZXI+XG48bWF0LXZlcnRpY2FsLXN0ZXBwZXIgKm5nSWY9XCIoaGFzTXVsdGlwbGVOZXRzJCB8IGFzeW5jKSA9PT0gZmFsc2VcIiBsaW5lYXIgI3N0ZXBwZXIyIGNsYXNzPVwibmV0Z3JpZi1pbnB1dFwiPlxuICAgIDxtYXQtc3RlcCBbc3RlcENvbnRyb2xdPVwidGl0bGVGb3JtQ29udHJvbFwiIGVycm9yTWVzc2FnZT1cInt7J3NpZGUtbWVudS5uZXctY2FzZS5lcnJTZWNvbmQnIHwgdHJhbnNsYXRlfX1cIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD57eydzaWRlLW1lbnUubmV3LWNhc2UuY2FzZVRpdGxlJyB8IHRyYW5zbGF0ZX19PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgcGxhY2Vob2xkZXI9XCJUaXRsZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFtmb3JtQ29udHJvbF09XCJ0aXRsZUZvcm1Db250cm9sXCJcbiAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwiaXNDYXNlVGl0bGVSZXF1aXJlZCgpXCIgKGtleXVwLmVudGVyKT1cIm5leHRTdGVwKClcIj5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwic3RlcHBlcjIucmVzZXQoKVwiPnt7J3NpZGUtbWVudS5uZXctY2FzZS5yZXNldCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY3JlYXRlTmV3Q2FzZSgpXCI+e3snc2lkZS1tZW51Lm5ldy1jYXNlLmNyZWF0ZScgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1zdGVwPlxuPC9tYXQtdmVydGljYWwtc3RlcHBlcj5cbjxkaXYgKm5nSWY9XCIobm90SW5pdGlhbGl6ZWQkIHwgYXN5bmMpXCIgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyIGNlbnRlclwiPlxuICAgIDxtYXQtc3Bpbm5lciBjbGFzcz1cInNwaW5uZXItbWFyZ2luXCI+PC9tYXQtc3Bpbm5lcj5cbjwvZGl2PlxuIl19
|