ngx-st-sap-bp 18.0.1 → 18.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/sap-bp-create-address/sap-bp-create-address.component.mjs +3 -3
- package/esm2022/lib/models/sap-bp-address-territory.model.mjs +3 -0
- package/esm2022/lib/services/sap-bp.service.mjs +1 -1
- package/fesm2022/ngx-st-sap-bp.mjs +2 -2
- package/fesm2022/ngx-st-sap-bp.mjs.map +1 -1
- package/lib/components/sap-bp-create-address/sap-bp-create-address.component.d.ts +2 -1
- package/lib/components/sap-bp-list-address/sap-bp-list-address.component.d.ts +1 -1
- package/lib/models/sap-bp-address-territory.model.d.ts +4 -0
- package/lib/services/sap-bp.service.d.ts +2 -1
- package/package.json +1 -1
|
@@ -217,10 +217,10 @@ export class SapBpCreateAddressComponent {
|
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
219
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SapBpCreateAddressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
220
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SapBpCreateAddressComponent, selector: "app-sap-bp-create-address", ngImport: i0, template: "<h1 mat-dialog-title>{{ 'sapAdminBp.address' | translate }}</h1>\r\n<div mat-dialog-content>\r\n @if (form) {\r\n <form [formGroup]=\"form\" id=\"address-create-form\" (ngSubmit)=\"save()\">\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address\"\r\n required\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address2' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address2\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address3' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address3\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.street' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"street\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.block' | translate }}</mat-label>\r\n <input type=\"text\" matInput formControlName=\"block\" [maxLength]=\"100\" />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.city' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"city\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.zipCode' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"zipCode\"\r\n required\r\n [maxLength]=\"20\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.county' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"county\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.streetNo' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"streetNo\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.building' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"building\"\r\n [maxLength]=\"256000\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.territory' | translate }}</mat-label>\r\n <mat-select formControlName=\"territory\" [required]=\"!data.address\">\r\n @for (territory of territoriesList(); track territory) {\r\n <mat-option [value]=\"territory\">{{ territory }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.industryCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"industryCode\" [required]=\"!data.address\">\r\n <mat-option [value]=\"''\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n @for (industry of industryList(); track industry) {\r\n <mat-option [value]=\"industry.id\">{{ industry.name }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson1' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson1\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson2' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson2\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (data.useTaxCode) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.taxCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"taxCode\">\r\n @for (tax of taxesList(); track tax) {\r\n <mat-option [value]=\"tax.code\"\r\n >{{ tax.name }}: {{ tax.rate }}</mat-option\r\n >\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refresh' | translate\"\r\n (click)=\"loadTaxes(true)\"\r\n [disabled]=\"refreshingTax()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.status' | translate }}</mat-label>\r\n <mat-select formControlName=\"status\">\r\n <mat-option [value]=\"null\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Active'\">{{\r\n 'sapAdminBp.active' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Inactive'\">{{\r\n 'sapAdminBp.inactive' | translate\r\n }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedCountry()\"\r\n [initSearchVal]=\"initSearchCountry()\"\r\n [tableData]=\"countryList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.country' | translate\"\r\n [required]=\"true\"\r\n [validError]=\"form.get('countryCode')!.invalid\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"countryCodeChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n @if (notFoundStates()) {\r\n <div class=\"alert alert-warning\" role=\"alert\">\r\n {{ 'sapAdminBp.notFoundStates' | translate }}\r\n </div>\r\n }\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedState()\"\r\n [initSearchVal]=\"initSearchState()\"\r\n [tableData]=\"stateList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.state' | translate\"\r\n [required]=\"false\"\r\n [validError]=\"false\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"stateChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n </form>\r\n }\r\n</div>\r\n<div class=\"row justify-content-between action-row\" mat-dialog-actions>\r\n <button mat-button (click)=\"cancel()\">\r\n {{ 'sapAdminBp.cancel' | translate }}\r\n </button>\r\n <div class=\"row align-items-center\">\r\n <button\r\n mat-raised-button\r\n color=\"primary\"\r\n type=\"submit\"\r\n form=\"address-create-form\"\r\n >\r\n {{ 'sapAdminBp.save' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.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: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i8.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i8.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i9.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: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i9.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i10.SelectTableComponent, selector: "ngx-st-select-table", inputs: ["title", "required", "multiple", "initSelected", "initSearchVal", "searchLabel", "selectedLabel", "setInitColumns", "tableData", "validError"], outputs: ["returnRowSelected"] }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] }); }
|
|
220
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SapBpCreateAddressComponent, selector: "app-sap-bp-create-address", ngImport: i0, template: "<h1 mat-dialog-title>{{ 'sapAdminBp.address' | translate }}</h1>\r\n<div mat-dialog-content>\r\n @if (form) {\r\n <form [formGroup]=\"form\" id=\"address-create-form\" (ngSubmit)=\"save()\">\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address\"\r\n required\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address2' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address2\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address3' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address3\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.street' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"street\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.block' | translate }}</mat-label>\r\n <input type=\"text\" matInput formControlName=\"block\" [maxLength]=\"100\" />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.city' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"city\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.zipCode' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"zipCode\"\r\n required\r\n [maxLength]=\"20\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.county' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"county\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.streetNo' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"streetNo\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.building' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"building\"\r\n [maxLength]=\"256000\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.territory' | translate }}</mat-label>\r\n <mat-select formControlName=\"territory\" [required]=\"!data.address\">\r\n @for (territory of territoriesList(); track territory.territoryId) {\r\n <mat-option [value]=\"territory.territoryId\">{{ territory.territoryName }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.industryCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"industryCode\" [required]=\"!data.address\">\r\n <mat-option [value]=\"''\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n @for (industry of industryList(); track industry) {\r\n <mat-option [value]=\"industry.id\">{{ industry.name }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson1' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson1\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson2' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson2\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (data.useTaxCode) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.taxCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"taxCode\">\r\n @for (tax of taxesList(); track tax) {\r\n <mat-option [value]=\"tax.code\"\r\n >{{ tax.name }}: {{ tax.rate }}</mat-option\r\n >\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refresh' | translate\"\r\n (click)=\"loadTaxes(true)\"\r\n [disabled]=\"refreshingTax()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.status' | translate }}</mat-label>\r\n <mat-select formControlName=\"status\">\r\n <mat-option [value]=\"null\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Active'\">{{\r\n 'sapAdminBp.active' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Inactive'\">{{\r\n 'sapAdminBp.inactive' | translate\r\n }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedCountry()\"\r\n [initSearchVal]=\"initSearchCountry()\"\r\n [tableData]=\"countryList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.country' | translate\"\r\n [required]=\"true\"\r\n [validError]=\"form.get('countryCode')!.invalid\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"countryCodeChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n @if (notFoundStates()) {\r\n <div class=\"alert alert-warning\" role=\"alert\">\r\n {{ 'sapAdminBp.notFoundStates' | translate }}\r\n </div>\r\n }\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedState()\"\r\n [initSearchVal]=\"initSearchState()\"\r\n [tableData]=\"stateList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.state' | translate\"\r\n [required]=\"false\"\r\n [validError]=\"false\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"stateChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n </form>\r\n }\r\n</div>\r\n<div class=\"row justify-content-between action-row\" mat-dialog-actions>\r\n <button mat-button (click)=\"cancel()\">\r\n {{ 'sapAdminBp.cancel' | translate }}\r\n </button>\r\n <div class=\"row align-items-center\">\r\n <button\r\n mat-raised-button\r\n color=\"primary\"\r\n type=\"submit\"\r\n form=\"address-create-form\"\r\n >\r\n {{ 'sapAdminBp.save' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.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: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i8.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i8.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i9.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: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i9.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i10.SelectTableComponent, selector: "ngx-st-select-table", inputs: ["title", "required", "multiple", "initSelected", "initSearchVal", "searchLabel", "selectedLabel", "setInitColumns", "tableData", "validError"], outputs: ["returnRowSelected"] }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] }); }
|
|
221
221
|
}
|
|
222
222
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SapBpCreateAddressComponent, decorators: [{
|
|
223
223
|
type: Component,
|
|
224
|
-
args: [{ selector: 'app-sap-bp-create-address', template: "<h1 mat-dialog-title>{{ 'sapAdminBp.address' | translate }}</h1>\r\n<div mat-dialog-content>\r\n @if (form) {\r\n <form [formGroup]=\"form\" id=\"address-create-form\" (ngSubmit)=\"save()\">\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address\"\r\n required\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address2' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address2\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address3' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address3\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.street' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"street\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.block' | translate }}</mat-label>\r\n <input type=\"text\" matInput formControlName=\"block\" [maxLength]=\"100\" />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.city' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"city\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.zipCode' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"zipCode\"\r\n required\r\n [maxLength]=\"20\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.county' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"county\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.streetNo' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"streetNo\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.building' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"building\"\r\n [maxLength]=\"256000\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.territory' | translate }}</mat-label>\r\n <mat-select formControlName=\"territory\" [required]=\"!data.address\">\r\n @for (territory of territoriesList(); track territory) {\r\n <mat-option [value]=\"territory\">{{ territory }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.industryCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"industryCode\" [required]=\"!data.address\">\r\n <mat-option [value]=\"''\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n @for (industry of industryList(); track industry) {\r\n <mat-option [value]=\"industry.id\">{{ industry.name }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson1' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson1\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson2' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson2\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (data.useTaxCode) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.taxCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"taxCode\">\r\n @for (tax of taxesList(); track tax) {\r\n <mat-option [value]=\"tax.code\"\r\n >{{ tax.name }}: {{ tax.rate }}</mat-option\r\n >\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refresh' | translate\"\r\n (click)=\"loadTaxes(true)\"\r\n [disabled]=\"refreshingTax()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.status' | translate }}</mat-label>\r\n <mat-select formControlName=\"status\">\r\n <mat-option [value]=\"null\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Active'\">{{\r\n 'sapAdminBp.active' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Inactive'\">{{\r\n 'sapAdminBp.inactive' | translate\r\n }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedCountry()\"\r\n [initSearchVal]=\"initSearchCountry()\"\r\n [tableData]=\"countryList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.country' | translate\"\r\n [required]=\"true\"\r\n [validError]=\"form.get('countryCode')!.invalid\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"countryCodeChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n @if (notFoundStates()) {\r\n <div class=\"alert alert-warning\" role=\"alert\">\r\n {{ 'sapAdminBp.notFoundStates' | translate }}\r\n </div>\r\n }\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedState()\"\r\n [initSearchVal]=\"initSearchState()\"\r\n [tableData]=\"stateList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.state' | translate\"\r\n [required]=\"false\"\r\n [validError]=\"false\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"stateChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n </form>\r\n }\r\n</div>\r\n<div class=\"row justify-content-between action-row\" mat-dialog-actions>\r\n <button mat-button (click)=\"cancel()\">\r\n {{ 'sapAdminBp.cancel' | translate }}\r\n </button>\r\n <div class=\"row align-items-center\">\r\n <button\r\n mat-raised-button\r\n color=\"primary\"\r\n type=\"submit\"\r\n form=\"address-create-form\"\r\n >\r\n {{ 'sapAdminBp.save' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n" }]
|
|
224
|
+
args: [{ selector: 'app-sap-bp-create-address', template: "<h1 mat-dialog-title>{{ 'sapAdminBp.address' | translate }}</h1>\r\n<div mat-dialog-content>\r\n @if (form) {\r\n <form [formGroup]=\"form\" id=\"address-create-form\" (ngSubmit)=\"save()\">\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address\"\r\n required\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address2' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address2\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address3' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address3\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.street' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"street\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.block' | translate }}</mat-label>\r\n <input type=\"text\" matInput formControlName=\"block\" [maxLength]=\"100\" />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.city' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"city\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.zipCode' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"zipCode\"\r\n required\r\n [maxLength]=\"20\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.county' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"county\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.streetNo' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"streetNo\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.building' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"building\"\r\n [maxLength]=\"256000\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.territory' | translate }}</mat-label>\r\n <mat-select formControlName=\"territory\" [required]=\"!data.address\">\r\n @for (territory of territoriesList(); track territory.territoryId) {\r\n <mat-option [value]=\"territory.territoryId\">{{ territory.territoryName }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.industryCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"industryCode\" [required]=\"!data.address\">\r\n <mat-option [value]=\"''\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n @for (industry of industryList(); track industry) {\r\n <mat-option [value]=\"industry.id\">{{ industry.name }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson1' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson1\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson2' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson2\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (data.useTaxCode) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.taxCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"taxCode\">\r\n @for (tax of taxesList(); track tax) {\r\n <mat-option [value]=\"tax.code\"\r\n >{{ tax.name }}: {{ tax.rate }}</mat-option\r\n >\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refresh' | translate\"\r\n (click)=\"loadTaxes(true)\"\r\n [disabled]=\"refreshingTax()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.status' | translate }}</mat-label>\r\n <mat-select formControlName=\"status\">\r\n <mat-option [value]=\"null\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Active'\">{{\r\n 'sapAdminBp.active' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Inactive'\">{{\r\n 'sapAdminBp.inactive' | translate\r\n }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedCountry()\"\r\n [initSearchVal]=\"initSearchCountry()\"\r\n [tableData]=\"countryList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.country' | translate\"\r\n [required]=\"true\"\r\n [validError]=\"form.get('countryCode')!.invalid\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"countryCodeChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n @if (notFoundStates()) {\r\n <div class=\"alert alert-warning\" role=\"alert\">\r\n {{ 'sapAdminBp.notFoundStates' | translate }}\r\n </div>\r\n }\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedState()\"\r\n [initSearchVal]=\"initSearchState()\"\r\n [tableData]=\"stateList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.state' | translate\"\r\n [required]=\"false\"\r\n [validError]=\"false\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"stateChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n </form>\r\n }\r\n</div>\r\n<div class=\"row justify-content-between action-row\" mat-dialog-actions>\r\n <button mat-button (click)=\"cancel()\">\r\n {{ 'sapAdminBp.cancel' | translate }}\r\n </button>\r\n <div class=\"row align-items-center\">\r\n <button\r\n mat-raised-button\r\n color=\"primary\"\r\n type=\"submit\"\r\n form=\"address-create-form\"\r\n >\r\n {{ 'sapAdminBp.save' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n" }]
|
|
225
225
|
}], ctorParameters: () => [] });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwLWJwLWNyZWF0ZS1hZGRyZXNzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtYnAvc3JjL2xpYi9jb21wb25lbnRzL3NhcC1icC1jcmVhdGUtYWRkcmVzcy9zYXAtYnAtY3JlYXRlLWFkZHJlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXNhcC1icC9zcmMvbGliL2NvbXBvbmVudHMvc2FwLWJwLWNyZWF0ZS1hZGRyZXNzL3NhcC1icC1jcmVhdGUtYWRkcmVzcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBUyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUk3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUt2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBT3pFLE1BQU0sT0FBTywyQkFBMkI7SUEwRHRDO1FBekRBLFNBQUksR0FBRyxNQUFNLENBQUMsZUFBZSxDQU01QixDQUFDO1FBQ0YsY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFlBQXlDLENBQUEsQ0FBQyxDQUFDO1FBQ3RELGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyQyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JB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QUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FDNUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLFlBQVksQ0FDekMsQ0FBQztZQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN0RSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7K0dBaFBVLDJCQUEyQjttR0FBM0IsMkJBQTJCLGlFQ3BCeEMsZ3VTQTJQQTs7NEZEdk9hLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOb25OdWxsYWJsZUZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTYXBCcEFkZHJlc3NNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zYXAtYnAtYWRkcmVzcy5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NhcC1icC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2FwQnBBZGRyQ291bnRyeU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NhcC1icC1hZGRyLWNvdW50cnkubW9kZWwnO1xyXG5pbXBvcnQgeyBTYXBCcEFkZHJTdGF0ZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NhcC1icC1hZGRyLXN0YXRlLm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBBZGRyZXNzRGlhbG9nTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2FwLWJwLWFkZHJlc3MtZGlhbG9nLm1vZGVsJztcclxuaW1wb3J0IHsgU3RTbmFja0JhclNlcnZpY2UgfSBmcm9tICduZ3gtc3Qtc25hY2stYmFyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBTYXBCcEluZHVzdHJ5TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2FwLWJwLWluZHVzdHJ5Lm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBTYWxlc0VtcGxveWVlTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2FwLWJwLXNhbGVzLWVtcGxveWVlLm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBUYXggfSBmcm9tICcuLi8uLi9tb2RlbHMvc2FwLWJwLXRheC5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwVXNlclNldHRpbmdzIH0gZnJvbSAnLi4vc2FwLWJwLWJhc2UtY3JlYXRlLWVkaXQnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1zYXAtYnAtY3JlYXRlLWFkZHJlc3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zYXAtYnAtY3JlYXRlLWFkZHJlc3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NhcC1icC1jcmVhdGUtYWRkcmVzcy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FwQnBDcmVhdGVBZGRyZXNzQ29tcG9uZW50IHtcclxuICBkYXRhID0gaW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgYXMge1xyXG4gICAgYWRkcmVzczogU2FwQnBBZGRyZXNzTW9kZWw7XHJcbiAgICBiYXNlSW5kdXN0cnlDb2RlOiBudW1iZXI7XHJcbiAgICBhZGRyZXNzVHlwZTogJ0InIHwgJ1MnO1xyXG4gICAgdXNlVGF4Q29kZTogYm9vbGVhbjtcclxuICAgIHVzZXJTZXR0aW5nczogU2FwQnBVc2VyU2V0dGluZ3M7XHJcbiAgfTtcclxuICBkaWFsb2dSZWYgPSBpbmplY3QoTWF0RGlhbG9nUmVmPFNhcEJwQ3JlYXRlQWRkcmVzc0NvbXBvbmVudD4pO1xyXG4gIHByaXZhdGUgc2FwQnBTZXJ2aWNlID0gaW5qZWN0KFNhcEJwU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBzbmFja0JhciA9IGluamVjdChTdFNuYWNrQmFyU2VydmljZSk7XHJcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xyXG4gIHByaXZhdGUgZmIgPSBpbmplY3QoTm9uTnVsbGFibGVGb3JtQnVpbGRlcik7XHJcblxyXG4gIGZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgIGFkZHJlc3M6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICBhZGRyZXNzMjogJycsXHJcbiAgICBhZGRyZXNzMzogJycsXHJcbiAgICBzdHJlZXQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICBibG9jazogJycsXHJcbiAgICBjaXR5OiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgemlwQ29kZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgIGNvdW50eTogJycsXHJcbiAgICB0ZXJyaXRvcnk6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICBzdGF0ZUNvZGU6ICcnLFxyXG4gICAgc3RhdGVOYW1lOiAnJyxcclxuICAgIGNvdW50cnlDb2RlOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgY291bnRyeU5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICBzdHJlZXRObzogJycsXHJcbiAgICBidWlsZGluZzogJycsXHJcbiAgICBpbmR1c3RyeUNvZGU6IFs8bnVtYmVyIHwgbnVsbD5udWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgIGluZHVzdHJ5TmFtZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgIHN0YXR1czogPHN0cmluZyB8IG51bGw+JycsXHJcbiAgICBzYWxlc1BlcnNvbjE6ICcnLFxyXG4gICAgc2FsZXNQZXJzb24yOiAnJyxcclxuICAgIHRheENvZGU6ICcnLFxyXG4gIH0pO1xyXG5cclxuICBjb3VudHJ5TGlzdCA9IHNpZ25hbDxTYXBCcEFkZHJDb3VudHJ5TW9kZWxbXT4oW10pO1xyXG4gIHN0YXRlTGlzdCA9IHNpZ25hbDxTYXBCcEFkZHJTdGF0ZU1vZGVsW10+KFtdKTtcclxuICBpbmR1c3RyeUxpc3QgPSBzaWduYWw8U2FwQnBJbmR1c3RyeU1vZGVsW10+KFtdKTtcclxuXHJcbiAgaW5pdFNlbGVjdGVkQ291bnRyeSA9IHNpZ25hbDxTYXBCcEFkZHJDb3VudHJ5TW9kZWwgfCBudWxsPihudWxsKTtcclxuICBpbml0U2VhcmNoQ291bnRyeSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcclxuXHJcbiAgaW5pdFNlbGVjdGVkU3RhdGUgPSBzaWduYWw8U2FwQnBBZGRyU3RhdGVNb2RlbCB8IG51bGw+KG51bGwpO1xyXG4gIGluaXRTZWFyY2hTdGF0ZSA9IHNpZ25hbDxzdHJpbmc+KCcnKTtcclxuXHJcbiAgbm90Rm91bmRTdGF0ZXMgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuICB0ZXJyaXRvcmllc0xpc3QgPSBzaWduYWw8c3RyaW5nW10+KFtdKTtcclxuXHJcbiAgcmVmcmVzaGluZ0RhdGFGcm9tU2FwID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuICBzYWxlc0VtcGxveWVlTGlzdCA9IHNpZ25hbDxTYXBCcFNhbGVzRW1wbG95ZWVNb2RlbFtdPihbXSk7XHJcblxyXG4gIHRheGVzTGlzdCA9IHNpZ25hbDxTYXBCcFRheFtdPihbXSk7XHJcbiAgcmVmcmVzaGluZ1RheCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEuYWRkcmVzcykge1xyXG4gICAgICB0aGlzLmZvcm0uc2V0VmFsdWUoe1xyXG4gICAgICAgIGFkZHJlc3M6IHRoaXMuZGF0YS5hZGRyZXNzLmFkZHJlc3MsXHJcbiAgICAgICAgYWRkcmVzczI6IHRoaXMuZGF0YS5hZGRyZXNzLmFkZHJlc3MyLFxyXG4gICAgICAgIGFkZHJlc3MzOiB0aGlzLmRhdGEuYWRkcmVzcy5hZGRyZXNzMyxcclxuICAgICAgICBzdHJlZXQ6IHRoaXMuZGF0YS5hZGRyZXNzLnN0cmVldCxcclxuICAgICAgICBibG9jazogdGhpcy5kYXRhLmFkZHJlc3MuYmxvY2ssXHJcbiAgICAgICAgY2l0eTogdGhpcy5kYXRhLmFkZHJlc3MuY2l0eSxcclxuICAgICAgICB6aXBDb2RlOiB0aGlzLmRhdGEuYWRkcmVzcy56aXBDb2RlLFxyXG4gICAgICAgIGNvdW50eTogdGhpcy5kYXRhLmFkZHJlc3MuY291bnR5LFxyXG4gICAgICAgIHRlcnJpdG9yeTogdGhpcy5kYXRhLmFkZHJlc3MudGVycml0b3J5LFxyXG4gICAgICAgIHN0YXRlQ29kZTogdGhpcy5kYXRhLmFkZHJlc3Muc3RhdGVDb2RlLFxyXG4gICAgICAgIHN0YXRlTmFtZTogdGhpcy5kYXRhLmFkZHJlc3Muc3RhdGVOYW1lLFxyXG4gICAgICAgIGNvdW50cnlDb2RlOiB0aGlzLmRhdGEuYWRkcmVzcy5jb3VudHJ5Q29kZSxcclxuICAgICAgICBjb3VudHJ5TmFtZTogdGhpcy5kYXRhLmFkZHJlc3MuY291bnRyeU5hbWUsXHJcbiAgICAgICAgc3RyZWV0Tm86IHRoaXMuZGF0YS5hZGRyZXNzLnN0cmVldE5vLFxyXG4gICAgICAgIGJ1aWxkaW5nOiB0aGlzLmRhdGEuYWRkcmVzcy5idWlsZGluZyxcclxuICAgICAgICBpbmR1c3RyeUNvZGU6XHJcbiAgICAgICAgICB0aGlzLmRhdGEuYWRkcmVzcy5pbmR1c3RyeUNvZGUgfHwgdGhpcy5kYXRhLmJhc2VJbmR1c3RyeUNvZGUsXHJcbiAgICAgICAgaW5kdXN0cnlOYW1lOiB0aGlzLmRhdGEuYWRkcmVzcy5pbmR1c3RyeU5hbWUsXHJcbiAgICAgICAgc3RhdHVzOiB0aGlzLmRhdGEuYWRkcmVzcy5zdGF0dXMsXHJcbiAgICAgICAgc2FsZXNQZXJzb24xOiB0aGlzLmRhdGEuYWRkcmVzcy5zYWxlc1BlcnNvbjEgfHwgJycsXHJcbiAgICAgICAgc2FsZXNQZXJzb24yOiB0aGlzLmRhdGEuYWRkcmVzcy5zYWxlc1BlcnNvbjIgfHwgJycsXHJcbiAgICAgICAgdGF4Q29kZTogdGhpcy5kYXRhLmFkZHJlc3MudGF4Q29kZSB8fCAnJyxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuaW5kdXN0cnlDb2RlLnNldFZhbGlkYXRvcnMobnVsbCk7XHJcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5pbmR1c3RyeU5hbWUuc2V0VmFsaWRhdG9ycyhudWxsKTtcclxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnRlcnJpdG9yeS5zZXRWYWxpZGF0b3JzKG51bGwpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmRhdGEuYmFzZUluZHVzdHJ5Q29kZSkge1xyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuaW5kdXN0cnlDb2RlLnNldFZhbHVlKHRoaXMuZGF0YS5iYXNlSW5kdXN0cnlDb2RlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kYXRhLnVzZVRheENvZGUpIHtcclxuICAgICAgdGhpcy5sb2FkVGF4ZXMoZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9hZENvdW50cmllcyhmYWxzZSwgISF0aGlzLmRhdGE/LmFkZHJlc3M/LmNvdW50cnlDb2RlKTtcclxuICAgIHRoaXMubG9hZEluZHVzdHJ5KGZhbHNlKTtcclxuICAgIHRoaXMubG9hZFRlcnJpdG9yaWVzTGlzdChmYWxzZSk7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZGF0YS51c2VyU2V0dGluZ3MuYnBFZGl0U2FsZXNQZXJzb25PbkFkZHJlc3MgJiZcclxuICAgICAgdGhpcy5kYXRhLmFkZHJlc3NUeXBlID09PSAnUydcclxuICAgICkge1xyXG4gICAgICB0aGlzLmxvYWRTYWxlc0VtcGxveWVlKGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kYXRhPy5hZGRyZXNzPy5jb3VudHJ5Q29kZSkge1xyXG4gICAgICB0aGlzLmxvYWRTdGF0ZXMoZmFsc2UsICEhdGhpcy5kYXRhPy5hZGRyZXNzPy5zdGF0ZUNvZGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZm9ybS5nZXQoJ2NvdW50cnlDb2RlJykhLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgIHRoaXMubG9hZFN0YXRlcygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmZvcm0uZ2V0KCdpbmR1c3RyeUNvZGUnKSEudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnNldEluZHVzdHJ5TmFtZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgY291bnRyeUNvZGVDaGFuZ2VkKHZhbDogU2FwQnBBZGRyQ291bnRyeU1vZGVsW10pIHtcclxuICAgIGlmICh2YWw/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKHZhbFswXS5pZCAhPT0gdGhpcy5mb3JtLmNvbnRyb2xzLmNvdW50cnlDb2RlLnZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmNvdW50cnlDb2RlLnNldFZhbHVlKHZhbFswXS5pZCk7XHJcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmNvdW50cnlOYW1lLnNldFZhbHVlKHZhbFswXS5uYW1lKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmNvdW50cnlDb2RlLnNldFZhbHVlKCcnKTtcclxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmNvdW50cnlOYW1lLnNldFZhbHVlKCcnKTtcclxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnN0YXRlQ29kZS5zZXRWYWx1ZSgnJyk7XHJcbiAgICAgIHRoaXMuc3RhdGVMaXN0LnNldChbXSk7XHJcbiAgICAgIHRoaXMubm90Rm91bmRTdGF0ZXMuc2V0KGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRlQ2hhbmdlZCh2YWw6IFNhcEJwQWRkclN0YXRlTW9kZWxbXSkge1xyXG4gICAgaWYgKHZhbD8ubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuc3RhdGVDb2RlLnNldFZhbHVlKHZhbFswXS5pZCk7XHJcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5zdGF0ZU5hbWUuc2V0VmFsdWUodmFsWzBdLm5hbWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnN0YXRlQ29kZS5zZXRWYWx1ZSgnJyk7XHJcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5zdGF0ZU5hbWUuc2V0VmFsdWUoJycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9hZFNhbGVzRW1wbG95ZWUocmVmcmVzaCA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLnJlZnJlc2hpbmdEYXRhRnJvbVNhcC5zZXQodHJ1ZSk7XHJcbiAgICB0aGlzLnNhcEJwU2VydmljZS5nZXRTYWxlc0VtcGxveWVlKHJlZnJlc2gpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnNhbGVzRW1wbG95ZWVMaXN0LnNldChyZXMpO1xyXG4gICAgICB0aGlzLnJlZnJlc2hpbmdEYXRhRnJvbVNhcC5zZXQoZmFsc2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBsb2FkVGF4ZXMocmVmcmVzaCA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLnJlZnJlc2hpbmdUYXguc2V0KHRydWUpO1xyXG4gICAgdGhpcy5zYXBCcFNlcnZpY2UuZ2V0VGF4ZXMocmVmcmVzaCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMudGF4ZXNMaXN0LnNldChyZXMpO1xyXG4gICAgICB0aGlzLnJlZnJlc2hpbmdUYXguc2V0KGZhbHNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcclxuICAgICAgY29uc3QgdmFsdWVzOiBTYXBCcEFkZHJlc3NEaWFsb2dNb2RlbCA9XHJcbiAgICAgICAgdGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkgYXMgU2FwQnBBZGRyZXNzRGlhbG9nTW9kZWw7XHJcblxyXG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSg8U2FwQnBBZGRyZXNzRGlhbG9nTW9kZWw+e1xyXG4gICAgICAgIC4uLnZhbHVlcyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNuYWNrQmFyLndhcm5pbmcoXHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NhcEFkbWluQnAuZmlsbFJlcXVpcmVkRmllbGRzJylcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxvYWRDb3VudHJpZXMocmVmcmVzaCA9IGZhbHNlLCBzZXRJbml0RGF0YSA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLnNhcEJwU2VydmljZS5nZXRBZGRyQ291bnRyeShyZWZyZXNoKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5jb3VudHJ5TGlzdC5zZXQocmVzKTtcclxuXHJcbiAgICAgIGlmIChzZXRJbml0RGF0YSAmJiB0aGlzLmRhdGE/LmFkZHJlc3M/LmNvdW50cnlDb2RlKSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRDb3VudHJ5ID1cclxuICAgICAgICAgIHJlcy5maW5kKGNvdW50cnkgPT4gY291bnRyeS5pZCA9PT0gdGhpcy5kYXRhLmFkZHJlc3MuY291bnRyeUNvZGUpIHx8XHJcbiAgICAgICAgICBudWxsO1xyXG4gICAgICAgIHRoaXMuaW5pdFNlbGVjdGVkQ291bnRyeS5zZXQoc2VsZWN0ZWRDb3VudHJ5KTtcclxuICAgICAgICB0aGlzLmluaXRTZWFyY2hDb3VudHJ5LnNldChzZWxlY3RlZENvdW50cnk/Lm5hbWUgfHwgJycpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQ291bnRyeSA9XHJcbiAgICAgICAgICByZXMuZmluZChjb3VudHJ5ID0+IGNvdW50cnkuaWQgPT09IHRoaXMuZGF0YS51c2VyU2V0dGluZ3MuY291bnRyeSkgfHxcclxuICAgICAgICAgIG51bGw7XHJcbiAgICAgICAgdGhpcy5pbml0U2VsZWN0ZWRDb3VudHJ5LnNldChzZWxlY3RlZENvdW50cnkpO1xyXG4gICAgICAgIHRoaXMuaW5pdFNlYXJjaENvdW50cnkuc2V0KHNlbGVjdGVkQ291bnRyeT8ubmFtZSB8fCAnJyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbG9hZEluZHVzdHJ5KHJlZnJlc2ggPSBmYWxzZSkge1xyXG4gICAgdGhpcy5zYXBCcFNlcnZpY2UuZ2V0SW5kdXN0cnkocmVmcmVzaCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMuaW5kdXN0cnlMaXN0LnNldChyZXMpO1xyXG4gICAgICB0aGlzLnNldEluZHVzdHJ5TmFtZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBsb2FkVGVycml0b3JpZXNMaXN0KHJlZnJlc2g6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuc2FwQnBTZXJ2aWNlLmdldEFkZHJlc3NUZXJyaXRvcnkocmVmcmVzaCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMudGVycml0b3JpZXNMaXN0LnNldChyZXMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBsb2FkU3RhdGVzKHJlc2ZyZXNoID0gZmFsc2UsIHNldEluaXREYXRhID0gZmFsc2UpIHtcclxuICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLmZvcm0uY29udHJvbHMuY291bnRyeUNvZGUudmFsdWU7XHJcbiAgICB0aGlzLnNhcEJwU2VydmljZS5nZXRBZGRyU3RhdGUocmVzZnJlc2gsIGNvdW50cnkpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnN0YXRlTGlzdC5zZXQocmVzKTtcclxuICAgICAgdGhpcy5ub3RGb3VuZFN0YXRlcy5zZXQoIShyZXM/Lmxlbmd0aCA+IDApKTtcclxuXHJcbiAgICAgIGlmIChzZXRJbml0RGF0YSkge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkU3RhdGUgPVxyXG4gICAgICAgICAgcmVzLmZpbmQoc3RhdGUgPT4gc3RhdGUuaWQgPT09IHRoaXMuZGF0YS5hZGRyZXNzLnN0YXRlQ29kZSkgfHwgbnVsbDtcclxuICAgICAgICB0aGlzLmluaXRTZWxlY3RlZFN0YXRlLnNldChzZWxlY3RlZFN0YXRlKTtcclxuICAgICAgICB0aGlzLmluaXRTZWFyY2hTdGF0ZS5zZXQoc2VsZWN0ZWRTdGF0ZT8ubmFtZSB8fCAnJyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRJbmR1c3RyeU5hbWUoKSB7XHJcbiAgICBjb25zdCBpbmR1c3RyeUNvZGUgPSB0aGlzLmZvcm0uY29udHJvbHMuaW5kdXN0cnlDb2RlLnZhbHVlO1xyXG5cclxuICAgIGlmIChpbmR1c3RyeUNvZGUpIHtcclxuICAgICAgY29uc3QgZm91bmRJbmR1c3RyeSA9IHRoaXMuaW5kdXN0cnlMaXN0KCkuZmluZChcclxuICAgICAgICBpbmR1c3RyeSA9PiBpbmR1c3RyeS5pZCA9PT0gaW5kdXN0cnlDb2RlXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5pbmR1c3RyeU5hbWUuc2V0VmFsdWUoZm91bmRJbmR1c3RyeT8ubmFtZSB8fCAnJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuaW5kdXN0cnlOYW1lLnNldFZhbHVlKCcnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+e3sgJ3NhcEFkbWluQnAuYWRkcmVzcycgfCB0cmFuc2xhdGUgfX08L2gxPlxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICBAaWYgKGZvcm0pIHtcclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGlkPVwiYWRkcmVzcy1jcmVhdGUtZm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ3NhcEFkbWluQnAuYWRkcmVzcycgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhZGRyZXNzXCJcclxuICAgICAgICAgIHJlcXVpcmVkXHJcbiAgICAgICAgICBbbWF4TGVuZ3RoXT1cIjUwXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyAnc2FwQWRtaW5CcC5hZGRyZXNzMicgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhZGRyZXNzMlwiXHJcbiAgICAgICAgICBbbWF4TGVuZ3RoXT1cIjUwXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyAnc2FwQWRtaW5CcC5hZGRyZXNzMycgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhZGRyZXNzM1wiXHJcbiAgICAgICAgICBbbWF4TGVuZ3RoXT1cIjUwXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyAnc2FwQWRtaW5CcC5zdHJlZXQnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3RyZWV0XCJcclxuICAgICAgICAgIHJlcXVpcmVkXHJcbiAgICAgICAgICBbbWF4TGVuZ3RoXT1cIjEwMFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ3NhcEFkbWluQnAuYmxvY2snIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiYmxvY2tcIiBbbWF4TGVuZ3RoXT1cIjEwMFwiIC8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7ICdzYXBBZG1pbkJwLmNpdHknIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2l0eVwiXHJcbiAgICAgICAgICByZXF1aXJlZFxyXG4gICAgICAgICAgW21heExlbmd0aF09XCIxMDBcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7ICdzYXBBZG1pbkJwLnppcENvZGUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiemlwQ29kZVwiXHJcbiAgICAgICAgICByZXF1aXJlZFxyXG4gICAgICAgICAgW21heExlbmd0aF09XCIyMFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ3NhcEFkbWluQnAuY291bnR5JyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvdW50eVwiXHJcbiAgICAgICAgICBbbWF4TGVuZ3RoXT1cIjEwMFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ3NhcEFkbWluQnAuc3RyZWV0Tm8nIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3RyZWV0Tm9cIlxyXG4gICAgICAgICAgW21heExlbmd0aF09XCIxMDBcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7ICdzYXBBZG1pbkJwLmJ1aWxkaW5nJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImJ1aWxkaW5nXCJcclxuICAgICAgICAgIFttYXhMZW5ndGhdPVwiMjU2MDAwXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyAnc2FwQWRtaW5CcC50ZXJyaXRvcnknIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwidGVycml0b3J5XCIgW3JlcXVpcmVkXT1cIiFkYXRhLmFkZHJlc3NcIj5cclxuICAgICAgICAgIEBmb3IgKHRlcnJpdG9yeSBvZiB0ZXJyaXRvcmllc0xpc3QoKTsgdHJhY2sgdGVycml0b3J5KSB7XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJ0ZXJyaXRvcnlcIj57eyB0ZXJyaXRvcnkgfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyAnc2FwQWRtaW5CcC5pbmR1c3RyeUNvZGUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiaW5kdXN0cnlDb2RlXCIgW3JlcXVpcmVkXT1cIiFkYXRhLmFkZHJlc3NcIj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInJ1wiPnt7XHJcbiAgICAgICAgICAgICdzYXBBZG1pbkJwLmVtcHR5JyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICBAZm9yIChpbmR1c3RyeSBvZiBpbmR1c3RyeUxpc3QoKTsgdHJhY2sgaW5kdXN0cnkpIHtcclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cImluZHVzdHJ5LmlkXCI+e3sgaW5kdXN0cnkubmFtZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIEBpZiAoXHJcbiAgICAgICAgZGF0YS51c2VyU2V0dGluZ3MuYnBFZGl0U2FsZXNQZXJzb25PbkFkZHJlc3MgJiYgZGF0YS5hZGRyZXNzVHlwZSA9PT0gJ1MnXHJcbiAgICAgICkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImNvbFwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnRcIj5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyAnc2FwQWRtaW5CcC5zYWxlc1BlcnNvbjEnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInNhbGVzUGVyc29uMVwiPlxyXG4gICAgICAgICAgICAgIEBmb3IgKHNhbGVzRW1wbG95ZWUgb2Ygc2FsZXNFbXBsb3llZUxpc3QoKTsgdHJhY2sgc2FsZXNFbXBsb3llZSkge1xyXG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInNhbGVzRW1wbG95ZWUubmFtZVwiPnt7XHJcbiAgICAgICAgICAgICAgICAgIHNhbGVzRW1wbG95ZWUubmFtZVxyXG4gICAgICAgICAgICAgICAgfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgW21hdFRvb2x0aXBdPVwiJ3NhcEFkbWluQnAucmVmcmVzaEZyb21TYXAnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImxvYWRTYWxlc0VtcGxveWVlKHRydWUpXCJcclxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlZnJlc2hpbmdEYXRhRnJvbVNhcCgpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPG1hdC1pY29uPnJlZnJlc2g8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChcclxuICAgICAgICBkYXRhLnVzZXJTZXR0aW5ncy5icEVkaXRTYWxlc1BlcnNvbk9uQWRkcmVzcyAmJiBkYXRhLmFkZHJlc3NUeXBlID09PSAnUydcclxuICAgICAgKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiY29sXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudFwiPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7ICdzYXBBZG1pbkJwLnNhbGVzUGVyc29uMicgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2FsZXNQZXJzb24yXCI+XHJcbiAgICAgICAgICAgICAgQGZvciAoc2FsZXNFbXBsb3llZSBvZiBzYWxlc0VtcGxveWVlTGlzdCgpOyB0cmFjayBzYWxlc0VtcGxveWVlKSB7XHJcbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwic2FsZXNFbXBsb3llZS5uYW1lXCI+e3tcclxuICAgICAgICAgICAgICAgICAgc2FsZXNFbXBsb3llZS5uYW1lXHJcbiAgICAgICAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInc2FwQWRtaW5CcC5yZWZyZXNoRnJvbVNhcCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwibG9hZFNhbGVzRW1wbG95ZWUodHJ1ZSlcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVmcmVzaGluZ0RhdGFGcm9tU2FwKClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+cmVmcmVzaDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKGRhdGEudXNlVGF4Q29kZSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImNvbFwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnRcIj5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyAnc2FwQWRtaW5CcC50YXhDb2RlJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJ0YXhDb2RlXCI+XHJcbiAgICAgICAgICAgICAgQGZvciAodGF4IG9mIHRheGVzTGlzdCgpOyB0cmFjayB0YXgpIHtcclxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJ0YXguY29kZVwiXHJcbiAgICAgICAgICAgICAgICAgID57eyB0YXgubmFtZSB9fToge3sgdGF4LnJhdGUgfX08L21hdC1vcHRpb25cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInc2FwQWRtaW5CcC5yZWZyZXNoJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJsb2FkVGF4ZXModHJ1ZSlcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVmcmVzaGluZ1RheCgpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPG1hdC1pY29uPnJlZnJlc2g8L21hdC1pY29uPlxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ3NhcEFkbWluQnAuc3RhdHVzJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInN0YXR1c1wiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm51bGxcIj57e1xyXG4gICAgICAgICAgICAnc2FwQWRtaW5CcC5lbXB0eScgfCB0cmFuc2xhdGVcclxuICAgICAgICAgIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIidBY3RpdmUnXCI+e3tcclxuICAgICAgICAgICAgJ3NhcEFkbWluQnAuYWN0aXZlJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ0luYWN0aXZlJ1wiPnt7XHJcbiAgICAgICAgICAgICdzYXBBZG1pbkJwLmluYWN0aXZlJyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bmd4LXN0LXNlbGVjdC10YWJsZVxyXG4gICAgICAgIFtpbml0U2VsZWN0ZWRdPVwiaW5pdFNlbGVjdGVkQ291bnRyeSgpXCJcclxuICAgICAgICBbaW5pdFNlYXJjaFZhbF09XCJpbml0U2VhcmNoQ291bnRyeSgpXCJcclxuICAgICAgICBbdGFibGVEYXRhXT1cImNvdW50cnlMaXN0KClcIlxyXG4gICAgICAgIFtzZXRJbml0Q29sdW1uc109XCJ7XHJcbiAgICAgICAgICBpZDogKCdzYXBBZG1pbkJwLmlkJyB8IHRyYW5zbGF0ZSksXHJcbiAgICAgICAgICBuYW1lOiAoJ3NhcEFkbWluQnAubmFtZScgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgfVwiXHJcbiAgICAgICAgW3RpdGxlXT1cIidzYXBBZG1pbkJwLmNvdW50cnknIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3ZhbGlkRXJyb3JdPVwiZm9ybS5nZXQoJ2NvdW50cnlDb2RlJykhLmludmFsaWRcIlxyXG4gICAgICAgIFtzZWFyY2hMYWJlbF09XCInc2FwQWRtaW5CcC5zZWFyY2gnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICBbc2VsZWN0ZWRMYWJlbF09XCInc2FwQWRtaW5CcC5zZWxlY3RlZCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIChyZXR1cm5Sb3dTZWxlY3RlZCk9XCJjb3VudHJ5Q29kZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgPC9uZ3gtc3Qtc2VsZWN0LXRhYmxlPlxyXG4gICAgICBAaWYgKG5vdEZvdW5kU3RhdGVzKCkpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtd2FybmluZ1wiIHJvbGU9XCJhbGVydFwiPlxyXG4gICAgICAgICAge3sgJ3NhcEFkbWluQnAubm90Rm91bmRTdGF0ZXMnIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgICAgPG5neC1zdC1zZWxlY3QtdGFibGVcclxuICAgICAgICBbaW5pdFNlbGVjdGVkXT1cImluaXRTZWxlY3RlZFN0YXRlKClcIlxyXG4gICAgICAgIFtpbml0U2VhcmNoVmFsXT1cImluaXRTZWFyY2hTdGF0ZSgpXCJcclxuICAgICAgICBbdGFibGVEYXRhXT1cInN0YXRlTGlzdCgpXCJcclxuICAgICAgICBbc2V0SW5pdENvbHVtbnNdPVwie1xyXG4gICAgICAgICAgaWQ6ICgnc2FwQWRtaW5CcC5pZCcgfCB0cmFuc2xhdGUpLFxyXG4gICAgICAgICAgbmFtZTogKCdzYXBBZG1pbkJwLm5hbWUnIHwgdHJhbnNsYXRlKVxyXG4gICAgICAgIH1cIlxyXG4gICAgICAgIFt0aXRsZV09XCInc2FwQWRtaW5CcC5zdGF0ZScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgW3ZhbGlkRXJyb3JdPVwiZmFsc2VcIlxyXG4gICAgICAgIFtzZWFyY2hMYWJlbF09XCInc2FwQWRtaW5CcC5zZWFyY2gnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICBbc2VsZWN0ZWRMYWJlbF09XCInc2FwQWRtaW5CcC5zZWxlY3RlZCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIChyZXR1cm5Sb3dTZWxlY3RlZCk9XCJzdGF0ZUNoYW5nZWQoJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgPC9uZ3gtc3Qtc2VsZWN0LXRhYmxlPlxyXG4gICAgPC9mb3JtPlxyXG4gIH1cclxuPC9kaXY+XHJcbjxkaXYgY2xhc3M9XCJyb3cganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWN0aW9uLXJvd1wiIG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gKGNsaWNrKT1cImNhbmNlbCgpXCI+XHJcbiAgICB7eyAnc2FwQWRtaW5CcC5jYW5jZWwnIHwgdHJhbnNsYXRlIH19XHJcbiAgPC9idXR0b24+XHJcbiAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgIDxidXR0b25cclxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cclxuICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgdHlwZT1cInN1Ym1pdFwiXHJcbiAgICAgIGZvcm09XCJhZGRyZXNzLWNyZWF0ZS1mb3JtXCJcclxuICAgID5cclxuICAgICAge3sgJ3NhcEFkbWluQnAuc2F2ZScgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
226
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwLWJwLWNyZWF0ZS1hZGRyZXNzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zdC1zYXAtYnAvc3JjL2xpYi9jb21wb25lbnRzL3NhcC1icC1jcmVhdGUtYWRkcmVzcy9zYXAtYnAtY3JlYXRlLWFkZHJlc3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXNhcC1icC9zcmMvbGliL2NvbXBvbmVudHMvc2FwLWJwLWNyZWF0ZS1hZGRyZXNzL3NhcC1icC1jcmVhdGUtYWRkcmVzcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBUyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUk3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUt2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7Ozs7O0FBUXpFLE1BQU0sT0FBTywyQkFBMkI7SUEwRHRDO1FBekRBLFNBQUksR0FBRyxNQUFNLENBQUMsZUFBZSxDQU01QixDQUFDO1FBQ0YsY0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFBLFlBQXlDLENBQUEsQ0FBQyxDQUFDO1FBQ3RELGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3BDLGFBQVEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNyQyxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JB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QUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQzVDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxZQUFZLENBQ3pDLENBQUM7WUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEUsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDOytHQWhQVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixpRUNyQnhDLHN3U0EyUEE7OzRGRHRPYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0UsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTm9uTnVsbGFibGVGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2FwQnBBZGRyZXNzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2FwLWJwLWFkZHJlc3MubW9kZWwnO1xyXG5pbXBvcnQgeyBTYXBCcFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYXAtYnAuc2VydmljZSc7XHJcbmltcG9ydCB7IFNhcEJwQWRkckNvdW50cnlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zYXAtYnAtYWRkci1jb3VudHJ5Lm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBBZGRyU3RhdGVNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zYXAtYnAtYWRkci1zdGF0ZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwQWRkcmVzc0RpYWxvZ01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NhcC1icC1hZGRyZXNzLWRpYWxvZy5tb2RlbCc7XHJcbmltcG9ydCB7IFN0U25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnbmd4LXN0LXNuYWNrLWJhcic7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgU2FwQnBJbmR1c3RyeU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NhcC1icC1pbmR1c3RyeS5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwU2FsZXNFbXBsb3llZU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NhcC1icC1zYWxlcy1lbXBsb3llZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwVGF4IH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NhcC1icC10YXgubW9kZWwnO1xyXG5pbXBvcnQgeyBTYXBCcFVzZXJTZXR0aW5ncyB9IGZyb20gJy4uL3NhcC1icC1iYXNlLWNyZWF0ZS1lZGl0JztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBTYXBCcEFkZHJlc3NUZXJyaXRvcnlNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zYXAtYnAtYWRkcmVzcy10ZXJyaXRvcnkubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtc2FwLWJwLWNyZWF0ZS1hZGRyZXNzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc2FwLWJwLWNyZWF0ZS1hZGRyZXNzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zYXAtYnAtY3JlYXRlLWFkZHJlc3MuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNhcEJwQ3JlYXRlQWRkcmVzc0NvbXBvbmVudCB7XHJcbiAgZGF0YSA9IGluamVjdChNQVRfRElBTE9HX0RBVEEpIGFzIHtcclxuICAgIGFkZHJlc3M6IFNhcEJwQWRkcmVzc01vZGVsO1xyXG4gICAgYmFzZUluZHVzdHJ5Q29kZTogbnVtYmVyO1xyXG4gICAgYWRkcmVzc1R5cGU6ICdCJyB8ICdTJztcclxuICAgIHVzZVRheENvZGU6IGJvb2xlYW47XHJcbiAgICB1c2VyU2V0dGluZ3M6IFNhcEJwVXNlclNldHRpbmdzO1xyXG4gIH07XHJcbiAgZGlhbG9nUmVmID0gaW5qZWN0KE1hdERpYWxvZ1JlZjxTYXBCcENyZWF0ZUFkZHJlc3NDb21wb25lbnQ+KTtcclxuICBwcml2YXRlIHNhcEJwU2VydmljZSA9IGluamVjdChTYXBCcFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgc25hY2tCYXIgPSBpbmplY3QoU3RTbmFja0JhclNlcnZpY2UpO1xyXG4gIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcclxuICBwcml2YXRlIGZiID0gaW5qZWN0KE5vbk51bGxhYmxlRm9ybUJ1aWxkZXIpO1xyXG5cclxuICBmb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICBhZGRyZXNzOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgYWRkcmVzczI6ICcnLFxyXG4gICAgYWRkcmVzczM6ICcnLFxyXG4gICAgc3RyZWV0OiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgYmxvY2s6ICcnLFxyXG4gICAgY2l0eTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgIHppcENvZGU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICBjb3VudHk6ICcnLFxyXG4gICAgdGVycml0b3J5OiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgc3RhdGVDb2RlOiAnJyxcclxuICAgIHN0YXRlTmFtZTogJycsXHJcbiAgICBjb3VudHJ5Q29kZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgIGNvdW50cnlOYW1lOiBbJycsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgc3RyZWV0Tm86ICcnLFxyXG4gICAgYnVpbGRpbmc6ICcnLFxyXG4gICAgaW5kdXN0cnlDb2RlOiBbPG51bWJlciB8IG51bGw+bnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICBpbmR1c3RyeU5hbWU6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICBzdGF0dXM6IDxzdHJpbmcgfCBudWxsPicnLFxyXG4gICAgc2FsZXNQZXJzb24xOiAnJyxcclxuICAgIHNhbGVzUGVyc29uMjogJycsXHJcbiAgICB0YXhDb2RlOiAnJyxcclxuICB9KTtcclxuXHJcbiAgY291bnRyeUxpc3QgPSBzaWduYWw8U2FwQnBBZGRyQ291bnRyeU1vZGVsW10+KFtdKTtcclxuICBzdGF0ZUxpc3QgPSBzaWduYWw8U2FwQnBBZGRyU3RhdGVNb2RlbFtdPihbXSk7XHJcbiAgaW5kdXN0cnlMaXN0ID0gc2lnbmFsPFNhcEJwSW5kdXN0cnlNb2RlbFtdPihbXSk7XHJcblxyXG4gIGluaXRTZWxlY3RlZENvdW50cnkgPSBzaWduYWw8U2FwQnBBZGRyQ291bnRyeU1vZGVsIHwgbnVsbD4obnVsbCk7XHJcbiAgaW5pdFNlYXJjaENvdW50cnkgPSBzaWduYWw8c3RyaW5nPignJyk7XHJcblxyXG4gIGluaXRTZWxlY3RlZFN0YXRlID0gc2lnbmFsPFNhcEJwQWRkclN0YXRlTW9kZWwgfCBudWxsPihudWxsKTtcclxuICBpbml0U2VhcmNoU3RhdGUgPSBzaWduYWw8c3RyaW5nPignJyk7XHJcblxyXG4gIG5vdEZvdW5kU3RhdGVzID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgdGVycml0b3JpZXNMaXN0ID0gc2lnbmFsPFNhcEJwQWRkcmVzc1RlcnJpdG9yeU1vZGVsW10+KFtdKTtcclxuXHJcbiAgcmVmcmVzaGluZ0RhdGFGcm9tU2FwID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcclxuICBzYWxlc0VtcGxveWVlTGlzdCA9IHNpZ25hbDxTYXBCcFNhbGVzRW1wbG95ZWVNb2RlbFtdPihbXSk7XHJcblxyXG4gIHRheGVzTGlzdCA9IHNpZ25hbDxTYXBCcFRheFtdPihbXSk7XHJcbiAgcmVmcmVzaGluZ1RheCA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEuYWRkcmVzcykge1xyXG4gICAgICB0aGlzLmZvcm0uc2V0VmFsdWUoe1xyXG4gICAgICAgIGFkZHJlc3M6IHRoaXMuZGF0YS5hZGRyZXNzLmFkZHJlc3MsXHJcbiAgICAgICAgYWRkcmVzczI6IHRoaXMuZGF0YS5hZGRyZXNzLmFkZHJlc3MyLFxyXG4gICAgICAgIGFkZHJlc3MzOiB0aGlzLmRhdGEuYWRkcmVzcy5hZGRyZXNzMyxcclxuICAgICAgICBzdHJlZXQ6IHRoaXMuZGF0YS5hZGRyZXNzLnN0cmVldCxcclxuICAgICAgICBibG9jazogdGhpcy5kYXRhLmFkZHJlc3MuYmxvY2ssXHJcbiAgICAgICAgY2l0eTogdGhpcy5kYXRhLmFkZHJlc3MuY2l0eSxcclxuICAgICAgICB6aXBDb2RlOiB0aGlzLmRhdGEuYWRkcmVzcy56aXBDb2RlLFxyXG4gICAgICAgIGNvdW50eTogdGhpcy5kYXRhLmFkZHJlc3MuY291bnR5LFxyXG4gICAgICAgIHRlcnJpdG9yeTogdGhpcy5kYXRhLmFkZHJlc3MudGVycml0b3J5LFxyXG4gICAgICAgIHN0YXRlQ29kZTogdGhpcy5kYXRhLmFkZHJlc3Muc3RhdGVDb2RlLFxyXG4gICAgICAgIHN0YXRlTmFtZTogdGhpcy5kYXRhLmFkZHJlc3Muc3RhdGVOYW1lLFxyXG4gICAgICAgIGNvdW50cnlDb2RlOiB0aGlzLmRhdGEuYWRkcmVzcy5jb3VudHJ5Q29kZSxcclxuICAgICAgICBjb3VudHJ5TmFtZTogdGhpcy5kYXRhLmFkZHJlc3MuY291bnRyeU5hbWUsXHJcbiAgICAgICAgc3RyZWV0Tm86IHRoaXMuZGF0YS5hZGRyZXNzLnN0cmVldE5vLFxyXG4gICAgICAgIGJ1aWxkaW5nOiB0aGlzLmRhdGEuYWRkcmVzcy5idWlsZGluZyxcclxuICAgICAgICBpbmR1c3RyeUNvZGU6XHJcbiAgICAgICAgICB0aGlzLmRhdGEuYWRkcmVzcy5pbmR1c3RyeUNvZGUgfHwgdGhpcy5kYXRhLmJhc2VJbmR1c3RyeUNvZGUsXHJcbiAgICAgICAgaW5kdXN0cnlOYW1lOiB0aGlzLmRhdGEuYWRkcmVzcy5pbmR1c3RyeU5hbWUsXHJcbiAgICAgICAgc3RhdHVzOiB0aGlzLmRhdGEuYWRkcmVzcy5zdGF0dXMsXHJcbiAgICAgICAgc2FsZXNQZXJzb24xOiB0aGlzLmRhdGEuYWRkcmVzcy5zYWxlc1BlcnNvbjEgfHwgJycsXHJcbiAgICAgICAgc2FsZXNQZXJzb24yOiB0aGlzLmRhdGEuYWRkcmVzcy5zYWxlc1BlcnNvbjIgfHwgJycsXHJcbiAgICAgICAgdGF4Q29kZTogdGhpcy5kYXRhLmFkZHJlc3MudGF4Q29kZSB8fCAnJyxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuaW5kdXN0cnlDb2RlLnNldFZhbGlkYXRvcnMobnVsbCk7XHJcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5pbmR1c3RyeU5hbWUuc2V0VmFsaWRhdG9ycyhudWxsKTtcclxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnRlcnJpdG9yeS5zZXRWYWxpZGF0b3JzKG51bGwpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmRhdGEuYmFzZUluZHVzdHJ5Q29kZSkge1xyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuaW5kdXN0cnlDb2RlLnNldFZhbHVlKHRoaXMuZGF0YS5iYXNlSW5kdXN0cnlDb2RlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kYXRhLnVzZVRheENvZGUpIHtcclxuICAgICAgdGhpcy5sb2FkVGF4ZXMoZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubG9hZENvdW50cmllcyhmYWxzZSwgISF0aGlzLmRhdGE/LmFkZHJlc3M/LmNvdW50cnlDb2RlKTtcclxuICAgIHRoaXMubG9hZEluZHVzdHJ5KGZhbHNlKTtcclxuICAgIHRoaXMubG9hZFRlcnJpdG9yaWVzTGlzdChmYWxzZSk7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZGF0YS51c2VyU2V0dGluZ3MuYnBFZGl0U2FsZXNQZXJzb25PbkFkZHJlc3MgJiZcclxuICAgICAgdGhpcy5kYXRhLmFkZHJlc3NUeXBlID09PSAnUydcclxuICAgICkge1xyXG4gICAgICB0aGlzLmxvYWRTYWxlc0VtcGxveWVlKGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kYXRhPy5hZGRyZXNzPy5jb3VudHJ5Q29kZSkge1xyXG4gICAgICB0aGlzLmxvYWRTdGF0ZXMoZmFsc2UsICEhdGhpcy5kYXRhPy5hZGRyZXNzPy5zdGF0ZUNvZGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZm9ybS5nZXQoJ2NvdW50cnlDb2RlJykhLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgIHRoaXMubG9hZFN0YXRlcygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmZvcm0uZ2V0KCdpbmR1c3RyeUNvZGUnKSEudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnNldEluZHVzdHJ5TmFtZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjYW5jZWwoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgY291bnRyeUNvZGVDaGFuZ2VkKHZhbDogU2FwQnBBZGRyQ291bnRyeU1vZGVsW10pIHtcclxuICAgIGlmICh2YWw/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKHZhbFswXS5pZCAhPT0gdGhpcy5mb3JtLmNvbnRyb2xzLmNvdW50cnlDb2RlLnZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmNvdW50cnlDb2RlLnNldFZhbHVlKHZhbFswXS5pZCk7XHJcbiAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmNvdW50cnlOYW1lLnNldFZhbHVlKHZhbFswXS5uYW1lKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmNvdW50cnlDb2RlLnNldFZhbHVlKCcnKTtcclxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLmNvdW50cnlOYW1lLnNldFZhbHVlKCcnKTtcclxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnN0YXRlQ29kZS5zZXRWYWx1ZSgnJyk7XHJcbiAgICAgIHRoaXMuc3RhdGVMaXN0LnNldChbXSk7XHJcbiAgICAgIHRoaXMubm90Rm91bmRTdGF0ZXMuc2V0KGZhbHNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRlQ2hhbmdlZCh2YWw6IFNhcEJwQWRkclN0YXRlTW9kZWxbXSkge1xyXG4gICAgaWYgKHZhbD8ubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuc3RhdGVDb2RlLnNldFZhbHVlKHZhbFswXS5pZCk7XHJcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5zdGF0ZU5hbWUuc2V0VmFsdWUodmFsWzBdLm5hbWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnN0YXRlQ29kZS5zZXRWYWx1ZSgnJyk7XHJcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5zdGF0ZU5hbWUuc2V0VmFsdWUoJycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbG9hZFNhbGVzRW1wbG95ZWUocmVmcmVzaCA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLnJlZnJlc2hpbmdEYXRhRnJvbVNhcC5zZXQodHJ1ZSk7XHJcbiAgICB0aGlzLnNhcEJwU2VydmljZS5nZXRTYWxlc0VtcGxveWVlKHJlZnJlc2gpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnNhbGVzRW1wbG95ZWVMaXN0LnNldChyZXMpO1xyXG4gICAgICB0aGlzLnJlZnJlc2hpbmdEYXRhRnJvbVNhcC5zZXQoZmFsc2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBsb2FkVGF4ZXMocmVmcmVzaCA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLnJlZnJlc2hpbmdUYXguc2V0KHRydWUpO1xyXG4gICAgdGhpcy5zYXBCcFNlcnZpY2UuZ2V0VGF4ZXMocmVmcmVzaCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMudGF4ZXNMaXN0LnNldChyZXMpO1xyXG4gICAgICB0aGlzLnJlZnJlc2hpbmdUYXguc2V0KGZhbHNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIGlmICh0aGlzLmZvcm0udmFsaWQpIHtcclxuICAgICAgY29uc3QgdmFsdWVzOiBTYXBCcEFkZHJlc3NEaWFsb2dNb2RlbCA9XHJcbiAgICAgICAgdGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkgYXMgU2FwQnBBZGRyZXNzRGlhbG9nTW9kZWw7XHJcblxyXG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSg8U2FwQnBBZGRyZXNzRGlhbG9nTW9kZWw+e1xyXG4gICAgICAgIC4uLnZhbHVlcyxcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNuYWNrQmFyLndhcm5pbmcoXHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3NhcEFkbWluQnAuZmlsbFJlcXVpcmVkRmllbGRzJylcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxvYWRDb3VudHJpZXMocmVmcmVzaCA9IGZhbHNlLCBzZXRJbml0RGF0YSA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLnNhcEJwU2VydmljZS5nZXRBZGRyQ291bnRyeShyZWZyZXNoKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgdGhpcy5jb3VudHJ5TGlzdC5zZXQocmVzKTtcclxuXHJcbiAgICAgIGlmIChzZXRJbml0RGF0YSAmJiB0aGlzLmRhdGE/LmFkZHJlc3M/LmNvdW50cnlDb2RlKSB7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRDb3VudHJ5ID1cclxuICAgICAgICAgIHJlcy5maW5kKGNvdW50cnkgPT4gY291bnRyeS5pZCA9PT0gdGhpcy5kYXRhLmFkZHJlc3MuY291bnRyeUNvZGUpIHx8XHJcbiAgICAgICAgICBudWxsO1xyXG4gICAgICAgIHRoaXMuaW5pdFNlbGVjdGVkQ291bnRyeS5zZXQoc2VsZWN0ZWRDb3VudHJ5KTtcclxuICAgICAgICB0aGlzLmluaXRTZWFyY2hDb3VudHJ5LnNldChzZWxlY3RlZENvdW50cnk/Lm5hbWUgfHwgJycpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQ291bnRyeSA9XHJcbiAgICAgICAgICByZXMuZmluZChjb3VudHJ5ID0+IGNvdW50cnkuaWQgPT09IHRoaXMuZGF0YS51c2VyU2V0dGluZ3MuY291bnRyeSkgfHxcclxuICAgICAgICAgIG51bGw7XHJcbiAgICAgICAgdGhpcy5pbml0U2VsZWN0ZWRDb3VudHJ5LnNldChzZWxlY3RlZENvdW50cnkpO1xyXG4gICAgICAgIHRoaXMuaW5pdFNlYXJjaENvdW50cnkuc2V0KHNlbGVjdGVkQ291bnRyeT8ubmFtZSB8fCAnJyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbG9hZEluZHVzdHJ5KHJlZnJlc2ggPSBmYWxzZSkge1xyXG4gICAgdGhpcy5zYXBCcFNlcnZpY2UuZ2V0SW5kdXN0cnkocmVmcmVzaCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMuaW5kdXN0cnlMaXN0LnNldChyZXMpO1xyXG4gICAgICB0aGlzLnNldEluZHVzdHJ5TmFtZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBsb2FkVGVycml0b3JpZXNMaXN0KHJlZnJlc2g6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuc2FwQnBTZXJ2aWNlLmdldEFkZHJlc3NUZXJyaXRvcnkocmVmcmVzaCkuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgIHRoaXMudGVycml0b3JpZXNMaXN0LnNldChyZXMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBsb2FkU3RhdGVzKHJlc2ZyZXNoID0gZmFsc2UsIHNldEluaXREYXRhID0gZmFsc2UpIHtcclxuICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLmZvcm0uY29udHJvbHMuY291bnRyeUNvZGUudmFsdWU7XHJcbiAgICB0aGlzLnNhcEJwU2VydmljZS5nZXRBZGRyU3RhdGUocmVzZnJlc2gsIGNvdW50cnkpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnN0YXRlTGlzdC5zZXQocmVzKTtcclxuICAgICAgdGhpcy5ub3RGb3VuZFN0YXRlcy5zZXQoIShyZXM/Lmxlbmd0aCA+IDApKTtcclxuXHJcbiAgICAgIGlmIChzZXRJbml0RGF0YSkge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkU3RhdGUgPVxyXG4gICAgICAgICAgcmVzLmZpbmQoc3RhdGUgPT4gc3RhdGUuaWQgPT09IHRoaXMuZGF0YS5hZGRyZXNzLnN0YXRlQ29kZSkgfHwgbnVsbDtcclxuICAgICAgICB0aGlzLmluaXRTZWxlY3RlZFN0YXRlLnNldChzZWxlY3RlZFN0YXRlKTtcclxuICAgICAgICB0aGlzLmluaXRTZWFyY2hTdGF0ZS5zZXQoc2VsZWN0ZWRTdGF0ZT8ubmFtZSB8fCAnJyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRJbmR1c3RyeU5hbWUoKSB7XHJcbiAgICBjb25zdCBpbmR1c3RyeUNvZGUgPSB0aGlzLmZvcm0uY29udHJvbHMuaW5kdXN0cnlDb2RlLnZhbHVlO1xyXG5cclxuICAgIGlmIChpbmR1c3RyeUNvZGUpIHtcclxuICAgICAgY29uc3QgZm91bmRJbmR1c3RyeSA9IHRoaXMuaW5kdXN0cnlMaXN0KCkuZmluZChcclxuICAgICAgICBpbmR1c3RyeSA9PiBpbmR1c3RyeS5pZCA9PT0gaW5kdXN0cnlDb2RlXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5pbmR1c3RyeU5hbWUuc2V0VmFsdWUoZm91bmRJbmR1c3RyeT8ubmFtZSB8fCAnJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuaW5kdXN0cnlOYW1lLnNldFZhbHVlKCcnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGU+e3sgJ3NhcEFkbWluQnAuYWRkcmVzcycgfCB0cmFuc2xhdGUgfX08L2gxPlxyXG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICBAaWYgKGZvcm0pIHtcclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGlkPVwiYWRkcmVzcy1jcmVhdGUtZm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ3NhcEFkbWluQnAuYWRkcmVzcycgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhZGRyZXNzXCJcclxuICAgICAgICAgIHJlcXVpcmVkXHJcbiAgICAgICAgICBbbWF4TGVuZ3RoXT1cIjUwXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyAnc2FwQWRtaW5CcC5hZGRyZXNzMicgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhZGRyZXNzMlwiXHJcbiAgICAgICAgICBbbWF4TGVuZ3RoXT1cIjUwXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyAnc2FwQWRtaW5CcC5hZGRyZXNzMycgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgIG1hdElucHV0XHJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJhZGRyZXNzM1wiXHJcbiAgICAgICAgICBbbWF4TGVuZ3RoXT1cIjUwXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyAnc2FwQWRtaW5CcC5zdHJlZXQnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3RyZWV0XCJcclxuICAgICAgICAgIHJlcXVpcmVkXHJcbiAgICAgICAgICBbbWF4TGVuZ3RoXT1cIjEwMFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ3NhcEFkbWluQnAuYmxvY2snIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiYmxvY2tcIiBbbWF4TGVuZ3RoXT1cIjEwMFwiIC8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7ICdzYXBBZG1pbkJwLmNpdHknIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiY2l0eVwiXHJcbiAgICAgICAgICByZXF1aXJlZFxyXG4gICAgICAgICAgW21heExlbmd0aF09XCIxMDBcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7ICdzYXBBZG1pbkJwLnppcENvZGUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiemlwQ29kZVwiXHJcbiAgICAgICAgICByZXF1aXJlZFxyXG4gICAgICAgICAgW21heExlbmd0aF09XCIyMFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ3NhcEFkbWluQnAuY291bnR5JyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImNvdW50eVwiXHJcbiAgICAgICAgICBbbWF4TGVuZ3RoXT1cIjEwMFwiXHJcbiAgICAgICAgLz5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3sgJ3NhcEFkbWluQnAuc3RyZWV0Tm8nIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3RyZWV0Tm9cIlxyXG4gICAgICAgICAgW21heExlbmd0aF09XCIxMDBcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7ICdzYXBBZG1pbkJwLmJ1aWxkaW5nJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImJ1aWxkaW5nXCJcclxuICAgICAgICAgIFttYXhMZW5ndGhdPVwiMjU2MDAwXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyAnc2FwQWRtaW5CcC50ZXJyaXRvcnknIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwidGVycml0b3J5XCIgW3JlcXVpcmVkXT1cIiFkYXRhLmFkZHJlc3NcIj5cclxuICAgICAgICAgIEBmb3IgKHRlcnJpdG9yeSBvZiB0ZXJyaXRvcmllc0xpc3QoKTsgdHJhY2sgdGVycml0b3J5LnRlcnJpdG9yeUlkKSB7XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJ0ZXJyaXRvcnkudGVycml0b3J5SWRcIj57eyB0ZXJyaXRvcnkudGVycml0b3J5TmFtZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7ICdzYXBBZG1pbkJwLmluZHVzdHJ5Q29kZScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJpbmR1c3RyeUNvZGVcIiBbcmVxdWlyZWRdPVwiIWRhdGEuYWRkcmVzc1wiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIicnXCI+e3tcclxuICAgICAgICAgICAgJ3NhcEFkbWluQnAuZW1wdHknIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIEBmb3IgKGluZHVzdHJ5IG9mIGluZHVzdHJ5TGlzdCgpOyB0cmFjayBpbmR1c3RyeSkge1xyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiaW5kdXN0cnkuaWRcIj57eyBpbmR1c3RyeS5uYW1lIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgQGlmIChcclxuICAgICAgICBkYXRhLnVzZXJTZXR0aW5ncy5icEVkaXRTYWxlc1BlcnNvbk9uQWRkcmVzcyAmJiBkYXRhLmFkZHJlc3NUeXBlID09PSAnUydcclxuICAgICAgKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiY29sXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudFwiPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7ICdzYXBBZG1pbkJwLnNhbGVzUGVyc29uMScgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2FsZXNQZXJzb24xXCI+XHJcbiAgICAgICAgICAgICAgQGZvciAoc2FsZXNFbXBsb3llZSBvZiBzYWxlc0VtcGxveWVlTGlzdCgpOyB0cmFjayBzYWxlc0VtcGxveWVlKSB7XHJcbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwic2FsZXNFbXBsb3llZS5uYW1lXCI+e3tcclxuICAgICAgICAgICAgICAgICAgc2FsZXNFbXBsb3llZS5uYW1lXHJcbiAgICAgICAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInc2FwQWRtaW5CcC5yZWZyZXNoRnJvbVNhcCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwibG9hZFNhbGVzRW1wbG95ZWUodHJ1ZSlcIlxyXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVmcmVzaGluZ0RhdGFGcm9tU2FwKClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+cmVmcmVzaDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKFxyXG4gICAgICAgIGRhdGEudXNlclNldHRpbmdzLmJwRWRpdFNhbGVzUGVyc29uT25BZGRyZXNzICYmIGRhdGEuYWRkcmVzc1R5cGUgPT09ICdTJ1xyXG4gICAgICApIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJjb2xcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50XCI+XHJcbiAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgJ3NhcEFkbWluQnAuc2FsZXNQZXJzb24yJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzYWxlc1BlcnNvbjJcIj5cclxuICAgICAgICAgICAgICBAZm9yIChzYWxlc0VtcGxveWVlIG9mIHNhbGVzRW1wbG95ZWVMaXN0KCk7IHRyYWNrIHNhbGVzRW1wbG95ZWUpIHtcclxuICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJzYWxlc0VtcGxveWVlLm5hbWVcIj57e1xyXG4gICAgICAgICAgICAgICAgICBzYWxlc0VtcGxveWVlLm5hbWVcclxuICAgICAgICAgICAgICAgIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidzYXBBZG1pbkJwLnJlZnJlc2hGcm9tU2FwJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJsb2FkU2FsZXNFbXBsb3llZSh0cnVlKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWZyZXNoaW5nRGF0YUZyb21TYXAoKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbj5yZWZyZXNoPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoZGF0YS51c2VUYXhDb2RlKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiY29sXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudFwiPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7ICdzYXBBZG1pbkJwLnRheENvZGUnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInRheENvZGVcIj5cclxuICAgICAgICAgICAgICBAZm9yICh0YXggb2YgdGF4ZXNMaXN0KCk7IHRyYWNrIHRheCkge1xyXG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cInRheC5jb2RlXCJcclxuICAgICAgICAgICAgICAgICAgPnt7IHRheC5uYW1lIH19OiB7eyB0YXgucmF0ZSB9fTwvbWF0LW9wdGlvblxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidzYXBBZG1pbkJwLnJlZnJlc2gnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImxvYWRUYXhlcyh0cnVlKVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJyZWZyZXNoaW5nVGF4KClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8bWF0LWljb24+cmVmcmVzaDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eyAnc2FwQWRtaW5CcC5zdGF0dXMnIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic3RhdHVzXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwibnVsbFwiPnt7XHJcbiAgICAgICAgICAgICdzYXBBZG1pbkJwLmVtcHR5JyB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiJ0FjdGl2ZSdcIj57e1xyXG4gICAgICAgICAgICAnc2FwQWRtaW5CcC5hY3RpdmUnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCInSW5hY3RpdmUnXCI+e3tcclxuICAgICAgICAgICAgJ3NhcEFkbWluQnAuaW5hY3RpdmUnIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxuZ3gtc3Qtc2VsZWN0LXRhYmxlXHJcbiAgICAgICAgW2luaXRTZWxlY3RlZF09XCJpbml0U2VsZWN0ZWRDb3VudHJ5KClcIlxyXG4gICAgICAgIFtpbml0U2VhcmNoVmFsXT1cImluaXRTZWFyY2hDb3VudHJ5KClcIlxyXG4gICAgICAgIFt0YWJsZURhdGFdPVwiY291bnRyeUxpc3QoKVwiXHJcbiAgICAgICAgW3NldEluaXRDb2x1bW5zXT1cIntcclxuICAgICAgICAgIGlkOiAoJ3NhcEFkbWluQnAuaWQnIHwgdHJhbnNsYXRlKSxcclxuICAgICAgICAgIG5hbWU6ICgnc2FwQWRtaW5CcC5uYW1lJyB8IHRyYW5zbGF0ZSlcclxuICAgICAgICB9XCJcclxuICAgICAgICBbdGl0bGVdPVwiJ3NhcEFkbWluQnAuY291bnRyeScgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcclxuICAgICAgICBbdmFsaWRFcnJvcl09XCJmb3JtLmdldCgnY291bnRyeUNvZGUnKSEuaW52YWxpZFwiXHJcbiAgICAgICAgW3NlYXJjaExhYmVsXT1cIidzYXBBZG1pbkJwLnNlYXJjaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtzZWxlY3RlZExhYmVsXT1cIidzYXBBZG1pbkJwLnNlbGVjdGVkJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgKHJldHVyblJvd1NlbGVjdGVkKT1cImNvdW50cnlDb2RlQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICA8L25neC1zdC1zZWxlY3QtdGFibGU+XHJcbiAgICAgIEBpZiAobm90Rm91bmRTdGF0ZXMoKSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC13YXJuaW5nXCIgcm9sZT1cImFsZXJ0XCI+XHJcbiAgICAgICAgICB7eyAnc2FwQWRtaW5CcC5ub3RGb3VuZFN0YXRlcycgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICA8bmd4LXN0LXNlbGVjdC10YWJsZVxyXG4gICAgICAgIFtpbml0U2VsZWN0ZWRdPVwiaW5pdFNlbGVjdGVkU3RhdGUoKVwiXHJcbiAgICAgICAgW2luaXRTZWFyY2hWYWxdPVwiaW5pdFNlYXJjaFN0YXRlKClcIlxyXG4gICAgICAgIFt0YWJsZURhdGFdPVwic3RhdGVMaXN0KClcIlxyXG4gICAgICAgIFtzZXRJbml0Q29sdW1uc109XCJ7XHJcbiAgICAgICAgICBpZDogKCdzYXBBZG1pbkJwLmlkJyB8IHRyYW5zbGF0ZSksXHJcbiAgICAgICAgICBuYW1lOiAoJ3NhcEFkbWluQnAubmFtZScgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgfVwiXHJcbiAgICAgICAgW3RpdGxlXT1cIidzYXBBZG1pbkJwLnN0YXRlJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgW3JlcXVpcmVkXT1cImZhbHNlXCJcclxuICAgICAgICBbdmFsaWRFcnJvcl09XCJmYWxzZVwiXHJcbiAgICAgICAgW3NlYXJjaExhYmVsXT1cIidzYXBBZG1pbkJwLnNlYXJjaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIFtzZWxlY3RlZExhYmVsXT1cIidzYXBBZG1pbkJwLnNlbGVjdGVkJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgKHJldHVyblJvd1NlbGVjdGVkKT1cInN0YXRlQ2hhbmdlZCgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICA8L25neC1zdC1zZWxlY3QtdGFibGU+XHJcbiAgICA8L2Zvcm0+XHJcbiAgfVxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhY3Rpb24tcm93XCIgbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwiY2FuY2VsKClcIj5cclxuICAgIHt7ICdzYXBBZG1pbkJwLmNhbmNlbCcgfCB0cmFuc2xhdGUgfX1cclxuICA8L2J1dHRvbj5cclxuICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBtYXQtcmFpc2VkLWJ1dHRvblxyXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICB0eXBlPVwic3VibWl0XCJcclxuICAgICAgZm9ybT1cImFkZHJlc3MtY3JlYXRlLWZvcm1cIlxyXG4gICAgPlxyXG4gICAgICB7eyAnc2FwQWRtaW5CcC5zYXZlJyB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export class SapBpAddressTerritoryModel {
|
|
2
|
+
}
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwLWJwLWFkZHJlc3MtdGVycml0b3J5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0LXNhcC1icC9zcmMvbGliL21vZGVscy9zYXAtYnAtYWRkcmVzcy10ZXJyaXRvcnkubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDBCQUEwQjtDQUd0QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBTYXBCcEFkZHJlc3NUZXJyaXRvcnlNb2RlbCB7XHJcbiAgdGVycml0b3J5SWQ6IHN0cmluZztcclxuICB0ZXJyaXRvcnlOYW1lOiBzdHJpbmc7XHJcbn1cclxuIl19
|
|
@@ -133,4 +133,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
133
133
|
}] }, { type: i1.HttpClient, decorators: [{
|
|
134
134
|
type: SkipSelf
|
|
135
135
|
}] }] });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwLWJwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3Qtc2FwLWJwL3NyYy9saWIvc2VydmljZXMvc2FwLWJwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUEyQjdELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQzRCLE1BQWUsRUFDckIsSUFBZ0I7UUFEVixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQVk7SUFDbkMsQ0FBQztJQUVKLE9BQU8sQ0FDTCxJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsSUFBWSxFQUNaLElBQVk7UUFFWixNQUFNLElBQUksR0FBRztZQUNYLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLFFBQVE7WUFDbEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLFVBQVUsRUFDNUQsSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQXNCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssRUFDdkQsSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQW9CO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLElBQUks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aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhcEJwVHlwZUVudW0gfSBmcm9tICcuLi9tb2RlbHMvc2FwLWJwLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2FwQnBBZGRyU2ljQ29kZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1hZGRyLXNpYy1jb2RlLm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBBZGRyQ291bnRyeU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1hZGRyLWNvdW50cnkubW9kZWwnO1xyXG5pbXBvcnQgeyBTYXBCcEFkZHJTdGF0ZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1hZGRyLXN0YXRlLm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBQcmljZWxpc3RNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXAtYnAtcHJpY2VsaXN0Lm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBQYXltZW50VGVybXNNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXAtYnAtcGF5bWVudC10ZXJtcy5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwU2FsZXNFbXBsb3llZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1zYWxlcy1lbXBsb3llZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwVGVycml0b3J5TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvc2FwLWJwLXRlcnJpdG9yeS5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwVGVjaG5pY2lhbk1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC10ZWNobmljaWFuLm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBJbmR1c3RyeU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1pbmR1c3RyeS5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwU2hpcFR5cGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXAtYnAtc2hpcC10eXBlLm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBHcm91cENvZGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXAtYnAtZ3JvdXAtY29kZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwR2xvYmFsSWRNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXAtYnAtZ2xvYmFsLWlkLm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBRcnlHcm91cE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1xcnktZ3JvdXAubW9kZWwnO1xyXG5pbXBvcnQgeyBTYXBCcE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwRWRpdE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1lZGl0Lm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBDcmVhdGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXAtYnAtY3JlYXRlLm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBMaXN0TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvc2FwLWJwLWxpc3QubW9kZWwnO1xyXG5pbXBvcnQgeyBTYXBCcFRheCB9IGZyb20gJy4uL21vZGVscy9zYXAtYnAtdGF4Lm1vZGVsJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSUNvbmZpZyB9IGZyb20gJy4uL2Jhc2UtaW50ZXJmYWNlcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FwQnBTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoJ2NvbmZpZycpIHByaXZhdGUgY29uZmlnOiBJQ29uZmlnLFxyXG4gICAgQFNraXBTZWxmKCkgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XHJcbiAgKSB7fVxyXG5cclxuICBnZXRMaXN0KFxyXG4gICAgcGFnZTogbnVtYmVyLFxyXG4gICAgcGFnZVNpemU6IG51bWJlcixcclxuICAgIGNvZGU6IHN0cmluZyxcclxuICAgIG5hbWU6IHN0cmluZ1xyXG4gICk6IE9ic2VydmFibGU8UGFnaW5hdGlvbk1vZGVsPFNhcEJwTGlzdE1vZGVsW10+PiB7XHJcbiAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICBwYWdlTnVtOiBwYWdlLFxyXG4gICAgICBwYWdlU2l6ZTogcGFnZVNpemUsXHJcbiAgICAgIGNvZGVTZWFyY2g6IGNvZGUsXHJcbiAgICAgIG5hbWVTZWFyY2g6IG5hbWUsXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxQYWdpbmF0aW9uTW9kZWw8U2FwQnBMaXN0TW9kZWxbXT4+KFxyXG4gICAgICB0aGlzLmNvbmZpZy5hcGlfYmFzZV91cmkgKyB0aGlzLmNvbmZpZy5iYXNlX3VyaSArICcvYnAvbGlzdCcsXHJcbiAgICAgIGJvZHlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzYXZlTmV3QnAoZGF0YTogU2FwQnBDcmVhdGVNb2RlbCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArIHRoaXMuY29uZmlnLmJhc2VfdXJpICsgJy9icCcsXHJcbiAgICAgIGRhdGFcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVCcChkYXRhOiBTYXBCcEVkaXRNb2RlbCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChcclxuICAgICAgdGhpcy5jb25maWcuYXBpX2Jhc2VfdXJpICsgdGhpcy5jb25maWcuYmFzZV91cmkgKyAnL2JwJyxcclxuICAgICAgZGF0YVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShpZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KFxyXG4gICAgICB0aGlzLmNvbmZpZy5hcGlfYmFzZV91cmkgKyB0aGlzLmNvbmZpZy5iYXNlX3VyaSArICcvYnA/Y2FyZENvZGU9JyArIGlkXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnAoY2FyZENvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8U2FwQnBNb2RlbD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2FwQnBNb2RlbD4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnA/Y2FyZENvZGU9JHtjYXJkQ29kZX1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0R2xvYmFsSWQocmVmcmVzaCA9IGZhbHNlKTogT2JzZXJ2YWJsZTxTYXBCcEdsb2JhbElkTW9kZWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2FwQnBHbG9iYWxJZE1vZGVsW10+KFxyXG4gICAgICB0aGlzLmNvbmZpZy5hcGlfYmFzZV91cmkgK1xyXG4gICAgICAgIHRoaXMuY29uZmlnLmJhc2VfdXJpICtcclxuICAgICAgICBgL2JwL2dsb2JhbC1pZD9yZWZyZXNoPSR7cmVmcmVzaH1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0UXJ5R3JvdXAocmVmcmVzaCA9IGZhbHNlKTogT2JzZXJ2YWJsZTxTYXBCcFFyeUdyb3VwTW9kZWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2FwQnBRcnlHcm91cE1vZGVsW10+KFxyXG4gICAgICB0aGlzLmNvbmZpZy5hcGlfYmFzZV91cmkgK1xyXG4gICAgICAgIHRoaXMuY29uZmlnLmJhc2VfdXJpICtcclxuICAgICAgICBgL2JwL3FyeS1ncm91cD9yZWZyZXNoPSR7cmVmcmVzaH1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0R3JvdXBDb2RlKFxyXG4gICAgYnBUeXBlOiBTYXBCcFR5cGVFbnVtLFxyXG4gICAgcmVmcmVzaCA9IGZhbHNlXHJcbiAgKTogT2JzZXJ2YWJsZTxTYXBCcEdyb3VwQ29kZU1vZGVsW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNhcEJwR3JvdXBDb2RlTW9kZWxbXT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvZ3JvdXAtY29kZT9icFR5cGU9JHticFR5cGV9JnJlZnJlc2g9JHtyZWZyZXNofWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRTaGlwVHlwZShyZWZyZXNoID0gZmFsc2UpOiBPYnNlcnZhYmxlPFNhcEJwU2hpcFR5cGVNb2RlbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTYXBCcFNoaXBUeXBlTW9kZWxbXT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvc2hpcC10eXBlP3JlZnJlc2g9JHtyZWZyZXNofWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRJbmR1c3RyeShyZWZyZXNoID0gZmFsc2UpOiBPYnNlcnZhYmxlPFNhcEJwSW5kdXN0cnlNb2RlbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTYXBCcEluZHVzdHJ5TW9kZWxbXT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvaW5kdXN0cnk/cmVmcmVzaD0ke3JlZnJlc2h9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRlY2huaWNpYW4ocmVmcmVzaCA9IGZhbHNlKTogT2JzZXJ2YWJsZTxTYXBCcFRlY2huaWNpYW5Nb2RlbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTYXBCcFRlY2huaWNpYW5Nb2RlbFtdPihcclxuICAgICAgdGhpcy5jb25maWcuYXBpX2Jhc2VfdXJpICtcclxuICAgICAgICB0aGlzLmNvbmZpZy5iYXNlX3VyaSArXHJcbiAgICAgICAgYC9icC90ZWNobmljaWFuP3JlZnJlc2g9JHtyZWZyZXNofWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRTYWxlc0VtcGxveWVlKHJlZnJlc2ggPSBmYWxzZSk6IE9ic2VydmFibGU8U2FwQnBTYWxlc0VtcGxveWVlTW9kZWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2FwQnBTYWxlc0VtcGxveWVlTW9kZWxbXT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvc2FsZXMtZW1wbG95ZWU/cmVmcmVzaD0ke3JlZnJlc2h9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRlcnJpdG9yeShyZWZyZXNoID0gZmFsc2UpOiBPYnNlcnZhYmxlPFNhcEJwVGVycml0b3J5TW9kZWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2FwQnBUZXJyaXRvcnlNb2RlbFtdPihcclxuICAgICAgdGhpcy5jb25maWcuYXBpX2Jhc2VfdXJpICtcclxuICAgICAgICB0aGlzLmNvbmZpZy5iYXNlX3VyaSArXHJcbiAgICAgICAgYC9icC90ZXJyaXRvcnk/cmVmcmVzaD0ke3JlZnJlc2h9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEFkZHJlc3NUZXJyaXRvcnkocmVmcmVzaCA9IGZhbHNlKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8c3RyaW5nW10+KFxyXG4gICAgICB0aGlzLmNvbmZpZy5hcGlfYmFzZV91cmkgK1xyXG4gICAgICAgIHRoaXMuY29uZmlnLmJhc2VfdXJpICtcclxuICAgICAgICBgL2JwL2FkZHJlc3MtdGVycml0b3J5P3JlZnJlc2g9JHtyZWZyZXNofWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRQYXltZW50VGVybXMocmVmcmVzaCA9IGZhbHNlKTogT2JzZXJ2YWJsZTxTYXBCcFBheW1lbnRUZXJtc01vZGVsW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNhcEJwUGF5bWVudFRlcm1zTW9kZWxbXT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvcGF5bWVudC10ZXJtcz9yZWZyZXNoPSR7cmVmcmVzaH1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJpY2VsaXN0KHJlZnJlc2ggPSBmYWxzZSk6IE9ic2VydmFibGU8U2FwQnBQcmljZWxpc3RNb2RlbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTYXBCcFByaWNlbGlzdE1vZGVsW10+KFxyXG4gICAgICB0aGlzLmNvbmZpZy5hcGlfYmFzZV91cmkgK1xyXG4gICAgICAgIHRoaXMuY29uZmlnLmJhc2VfdXJpICtcclxuICAgICAgICBgL2JwL3ByaWNlbGlzdD9yZWZyZXNoPSR7cmVmcmVzaH1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWRkclN0YXRlKFxyXG4gICAgcmVmcmVzaCA9IGZhbHNlLFxyXG4gICAgY291bnRyeTogc3RyaW5nXHJcbiAgKTogT2JzZXJ2YWJsZTxTYXBCcEFkZHJTdGF0ZU1vZGVsW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNhcEJwQWRkclN0YXRlTW9kZWxbXT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvYWRkci1zdGF0ZT9yZWZyZXNoPSR7cmVmcmVzaH0mY291bnRyeT0ke2NvdW50cnl9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEFkZHJDb3VudHJ5KHJlZnJlc2ggPSBmYWxzZSk6IE9ic2VydmFibGU8U2FwQnBBZGRyQ291bnRyeU1vZGVsW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNhcEJwQWRkckNvdW50cnlNb2RlbFtdPihcclxuICAgICAgdGhpcy5jb25maWcuYXBpX2Jhc2VfdXJpICtcclxuICAgICAgICB0aGlzLmNvbmZpZy5iYXNlX3VyaSArXHJcbiAgICAgICAgYC9icC9hZGRyLWNvdW50cnk/cmVmcmVzaD0ke3JlZnJlc2h9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEFkZHJTaWNDb2RlKHJlZnJlc2ggPSBmYWxzZSk6IE9ic2VydmFibGU8U2FwQnBBZGRyU2ljQ29kZU1vZGVsW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNhcEJwQWRkclNpY0NvZGVNb2RlbFtdPihcclxuICAgICAgdGhpcy5jb25maWcuYXBpX2Jhc2VfdXJpICtcclxuICAgICAgICB0aGlzLmNvbmZpZy5iYXNlX3VyaSArXHJcbiAgICAgICAgYC9icC9hZGRyLXNpYy1jb2RlP3JlZnJlc2g9JHtyZWZyZXNofWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRDdXJyZW5jeShyZWZyZXNoID0gZmFsc2UpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzdHJpbmdbXT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvY3VycmVuY3k/cmVmcmVzaD0ke3JlZnJlc2h9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNvbnZlcnRUb0N1c3RvbWVyKGNhcmRDb2RlOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvY29udmVydC1vcmFjbGUtbGVhZD9jYXJkQ29kZT0ke2NhcmRDb2RlfWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXROZXh0QnBJZChicFR5cGU6IFNhcEJwVHlwZUVudW0pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihcclxuICAgICAgdGhpcy5jb25maWcuYXBpX2Jhc2VfdXJpICtcclxuICAgICAgICB0aGlzLmNvbmZpZy5iYXNlX3VyaSArXHJcbiAgICAgICAgYC9icC9uZXh0LWJwLWlkP2JwVHlwZT0ke2JwVHlwZX1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VGF4ZXMocmVmcmVzaCA9IGZhbHNlKTogT2JzZXJ2YWJsZTxTYXBCcFRheFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTYXBCcFRheFtdPihcclxuICAgICAgdGhpcy5jb25maWcuYXBpX2Jhc2VfdXJpICtcclxuICAgICAgICB0aGlzLmNvbmZpZy5iYXNlX3VyaSArXHJcbiAgICAgICAgYC9icC90YXg/cmVmcmVzaD0ke3JlZnJlc2h9YFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFnaW5hdGlvbk1vZGVsPFQ+IHtcclxuICBtYXhSZXN1bHRzOiBudW1iZXI7XHJcbiAgZGF0YTogVDtcclxufVxyXG4iXX0=
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwLWJwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc3Qtc2FwLWJwL3NyYy9saWIvc2VydmljZXMvc2FwLWJwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUE0QjdELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLFlBQzRCLE1BQWUsRUFDckIsSUFBZ0I7UUFEVixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQ3JCLFNBQUksR0FBSixJQUFJLENBQVk7SUFDbkMsQ0FBQztJQUVKLE9BQU8sQ0FDTCxJQUFZLEVBQ1osUUFBZ0IsRUFDaEIsSUFBWSxFQUNaLElBQVk7UUFFWixNQUFNLElBQUksR0FBRztZQUNYLE9BQU8sRUFBRSxJQUFJO1lBQ2IsUUFBUSxFQUFFLFFBQVE7WUFDbEIsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQztRQUVGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLFVBQVUsRUFDNUQsSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQXNCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssRUFDdkQsSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDO0lBRUQsUUFBUSxDQUFDLElBQW9CO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLEtBQUssRUFDdkQsSUFBSSxDQUNMLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxlQUFlLEdBQUcsRUFBRSxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFnQjtRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVk7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1lBQ3BCLGdCQUFnQixRQUFRLEVBQUUsQ0FDN0IsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBTyxHQUFHLEtBQUs7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUNwQix5QkFBeUIsT0FBTyxFQUFFLENBQ3JDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQU8sR0FBRyxLQUFLO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWTtZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDcEIseUJBQXlCLE9BQU8sRUFBRSxDQUNyQyxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVksQ0FDVixNQUFxQixFQUNyQixPQUFPLEdBQUcsS0FBSztRQUVmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWTtZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDcEIseUJBQXlCLE1BQU0sWUFBWSxPQUFPLEVBQUUsQ0FDdkQsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBTyxHQUFHLEtBQUs7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUNwQix5QkFBeUIsT0FBTyxFQUFFLENBQ3JDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQU8sR0FBRyxLQUFLO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWTtZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDcEIsd0JBQXdCLE9BQU8sRUFBRSxDQUNwQyxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFPLEdBQUcsS0FBSztRQUMzQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVk7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1lBQ3BCLDBCQUEwQixPQUFPLEVBQUUsQ0FDdEMsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFPLEdBQUcsS0FBSztRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVk7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1lBQ3BCLDhCQUE4QixPQUFPLEVBQUUsQ0FDMUMsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsT0FBTyxHQUFHLEtBQUs7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUNwQix5QkFBeUIsT0FBTyxFQUFFLENBQ3JDLENBQUM7SUFDSixDQUFDO0lBRUQsbUJBQW1CLENBQUMsT0FBTyxHQUFHLEtBQUs7UUFDakMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUNwQixpQ0FBaUMsT0FBTyxFQUFFLENBQzdDLENBQUM7SUFDSixDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQU8sR0FBRyxLQUFLO1FBQzdCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWTtZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDcEIsNkJBQTZCLE9BQU8sRUFBRSxDQUN6QyxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVksQ0FBQyxPQUFPLEdBQUcsS0FBSztRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVk7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1lBQ3BCLHlCQUF5QixPQUFPLEVBQUUsQ0FDckMsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQ1YsT0FBTyxHQUFHLEtBQUssRUFDZixPQUFlO1FBRWYsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUNwQiwwQkFBMEIsT0FBTyxZQUFZLE9BQU8sRUFBRSxDQUN6RCxDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWMsQ0FBQyxPQUFPLEdBQUcsS0FBSztRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVk7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1lBQ3BCLDRCQUE0QixPQUFPLEVBQUUsQ0FDeEMsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBTyxHQUFHLEtBQUs7UUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUNwQiw2QkFBNkIsT0FBTyxFQUFFLENBQ3pDLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQU8sR0FBRyxLQUFLO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWTtZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDcEIsd0JBQXdCLE9BQU8sRUFBRSxDQUNwQyxDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQixDQUFDLFFBQWdCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWTtZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVE7WUFDcEIsb0NBQW9DLFFBQVEsRUFBRSxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFxQjtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVk7WUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO1lBQ3BCLHlCQUF5QixNQUFNLEVBQUUsQ0FDcEMsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRLENBQUMsT0FBTyxHQUFHLEtBQUs7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtZQUNwQixtQkFBbUIsT0FBTyxFQUFFLENBQy9CLENBQUM7SUFDSixDQUFDOytHQXpNVSxZQUFZLGtCQUViLFFBQVE7bUhBRlAsWUFBWSxjQUZYLE1BQU07OzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFHSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUNmLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNhcEJwVHlwZUVudW0gfSBmcm9tICcuLi9tb2RlbHMvc2FwLWJwLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2FwQnBBZGRyU2ljQ29kZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1hZGRyLXNpYy1jb2RlLm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBBZGRyQ291bnRyeU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1hZGRyLWNvdW50cnkubW9kZWwnO1xyXG5pbXBvcnQgeyBTYXBCcEFkZHJTdGF0ZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1hZGRyLXN0YXRlLm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBQcmljZWxpc3RNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXAtYnAtcHJpY2VsaXN0Lm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBQYXltZW50VGVybXNNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXAtYnAtcGF5bWVudC10ZXJtcy5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwU2FsZXNFbXBsb3llZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1zYWxlcy1lbXBsb3llZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwVGVycml0b3J5TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvc2FwLWJwLXRlcnJpdG9yeS5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwVGVjaG5pY2lhbk1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC10ZWNobmljaWFuLm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBJbmR1c3RyeU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1pbmR1c3RyeS5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwU2hpcFR5cGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXAtYnAtc2hpcC10eXBlLm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBHcm91cENvZGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXAtYnAtZ3JvdXAtY29kZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwR2xvYmFsSWRNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXAtYnAtZ2xvYmFsLWlkLm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBRcnlHcm91cE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1xcnktZ3JvdXAubW9kZWwnO1xyXG5pbXBvcnQgeyBTYXBCcE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC5tb2RlbCc7XHJcbmltcG9ydCB7IFNhcEJwRWRpdE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1lZGl0Lm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBDcmVhdGVNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXAtYnAtY3JlYXRlLm1vZGVsJztcclxuaW1wb3J0IHsgU2FwQnBMaXN0TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvc2FwLWJwLWxpc3QubW9kZWwnO1xyXG5pbXBvcnQgeyBTYXBCcFRheCB9IGZyb20gJy4uL21vZGVscy9zYXAtYnAtdGF4Lm1vZGVsJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSUNvbmZpZyB9IGZyb20gJy4uL2Jhc2UtaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IFNhcEJwQWRkcmVzc1RlcnJpdG9yeU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3NhcC1icC1hZGRyZXNzLXRlcnJpdG9yeS5tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2FwQnBTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoJ2NvbmZpZycpIHByaXZhdGUgY29uZmlnOiBJQ29uZmlnLFxyXG4gICAgQFNraXBTZWxmKCkgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XHJcbiAgKSB7fVxyXG5cclxuICBnZXRMaXN0KFxyXG4gICAgcGFnZTogbnVtYmVyLFxyXG4gICAgcGFnZVNpemU6IG51bWJlcixcclxuICAgIGNvZGU6IHN0cmluZyxcclxuICAgIG5hbWU6IHN0cmluZ1xyXG4gICk6IE9ic2VydmFibGU8UGFnaW5hdGlvbk1vZGVsPFNhcEJwTGlzdE1vZGVsW10+PiB7XHJcbiAgICBjb25zdCBib2R5ID0ge1xyXG4gICAgICBwYWdlTnVtOiBwYWdlLFxyXG4gICAgICBwYWdlU2l6ZTogcGFnZVNpemUsXHJcbiAgICAgIGNvZGVTZWFyY2g6IGNvZGUsXHJcbiAgICAgIG5hbWVTZWFyY2g6IG5hbWUsXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxQYWdpbmF0aW9uTW9kZWw8U2FwQnBMaXN0TW9kZWxbXT4+KFxyXG4gICAgICB0aGlzLmNvbmZpZy5hcGlfYmFzZV91cmkgKyB0aGlzLmNvbmZpZy5iYXNlX3VyaSArICcvYnAvbGlzdCcsXHJcbiAgICAgIGJvZHlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBzYXZlTmV3QnAoZGF0YTogU2FwQnBDcmVhdGVNb2RlbCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArIHRoaXMuY29uZmlnLmJhc2VfdXJpICsgJy9icCcsXHJcbiAgICAgIGRhdGFcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVCcChkYXRhOiBTYXBCcEVkaXRNb2RlbCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChcclxuICAgICAgdGhpcy5jb25maWcuYXBpX2Jhc2VfdXJpICsgdGhpcy5jb25maWcuYmFzZV91cmkgKyAnL2JwJyxcclxuICAgICAgZGF0YVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShpZDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxhbnk+KFxyXG4gICAgICB0aGlzLmNvbmZpZy5hcGlfYmFzZV91cmkgKyB0aGlzLmNvbmZpZy5iYXNlX3VyaSArICcvYnA/Y2FyZENvZGU9JyArIGlkXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0QnAoY2FyZENvZGU6IHN0cmluZyk6IE9ic2VydmFibGU8U2FwQnBNb2RlbD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2FwQnBNb2RlbD4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnA/Y2FyZENvZGU9JHtjYXJkQ29kZX1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0R2xvYmFsSWQocmVmcmVzaCA9IGZhbHNlKTogT2JzZXJ2YWJsZTxTYXBCcEdsb2JhbElkTW9kZWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2FwQnBHbG9iYWxJZE1vZGVsW10+KFxyXG4gICAgICB0aGlzLmNvbmZpZy5hcGlfYmFzZV91cmkgK1xyXG4gICAgICAgIHRoaXMuY29uZmlnLmJhc2VfdXJpICtcclxuICAgICAgICBgL2JwL2dsb2JhbC1pZD9yZWZyZXNoPSR7cmVmcmVzaH1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0UXJ5R3JvdXAocmVmcmVzaCA9IGZhbHNlKTogT2JzZXJ2YWJsZTxTYXBCcFFyeUdyb3VwTW9kZWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2FwQnBRcnlHcm91cE1vZGVsW10+KFxyXG4gICAgICB0aGlzLmNvbmZpZy5hcGlfYmFzZV91cmkgK1xyXG4gICAgICAgIHRoaXMuY29uZmlnLmJhc2VfdXJpICtcclxuICAgICAgICBgL2JwL3FyeS1ncm91cD9yZWZyZXNoPSR7cmVmcmVzaH1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0R3JvdXBDb2RlKFxyXG4gICAgYnBUeXBlOiBTYXBCcFR5cGVFbnVtLFxyXG4gICAgcmVmcmVzaCA9IGZhbHNlXHJcbiAgKTogT2JzZXJ2YWJsZTxTYXBCcEdyb3VwQ29kZU1vZGVsW10+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFNhcEJwR3JvdXBDb2RlTW9kZWxbXT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvZ3JvdXAtY29kZT9icFR5cGU9JHticFR5cGV9JnJlZnJlc2g9JHtyZWZyZXNofWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRTaGlwVHlwZShyZWZyZXNoID0gZmFsc2UpOiBPYnNlcnZhYmxlPFNhcEJwU2hpcFR5cGVNb2RlbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTYXBCcFNoaXBUeXBlTW9kZWxbXT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvc2hpcC10eXBlP3JlZnJlc2g9JHtyZWZyZXNofWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRJbmR1c3RyeShyZWZyZXNoID0gZmFsc2UpOiBPYnNlcnZhYmxlPFNhcEJwSW5kdXN0cnlNb2RlbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTYXBCcEluZHVzdHJ5TW9kZWxbXT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvaW5kdXN0cnk/cmVmcmVzaD0ke3JlZnJlc2h9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRlY2huaWNpYW4ocmVmcmVzaCA9IGZhbHNlKTogT2JzZXJ2YWJsZTxTYXBCcFRlY2huaWNpYW5Nb2RlbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTYXBCcFRlY2huaWNpYW5Nb2RlbFtdPihcclxuICAgICAgdGhpcy5jb25maWcuYXBpX2Jhc2VfdXJpICtcclxuICAgICAgICB0aGlzLmNvbmZpZy5iYXNlX3VyaSArXHJcbiAgICAgICAgYC9icC90ZWNobmljaWFuP3JlZnJlc2g9JHtyZWZyZXNofWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRTYWxlc0VtcGxveWVlKHJlZnJlc2ggPSBmYWxzZSk6IE9ic2VydmFibGU8U2FwQnBTYWxlc0VtcGxveWVlTW9kZWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2FwQnBTYWxlc0VtcGxveWVlTW9kZWxbXT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvc2FsZXMtZW1wbG95ZWU/cmVmcmVzaD0ke3JlZnJlc2h9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRlcnJpdG9yeShyZWZyZXNoID0gZmFsc2UpOiBPYnNlcnZhYmxlPFNhcEJwVGVycml0b3J5TW9kZWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2FwQnBUZXJyaXRvcnlNb2RlbFtdPihcclxuICAgICAgdGhpcy5jb25maWcuYXBpX2Jhc2VfdXJpICtcclxuICAgICAgICB0aGlzLmNvbmZpZy5iYXNlX3VyaSArXHJcbiAgICAgICAgYC9icC90ZXJyaXRvcnk/cmVmcmVzaD0ke3JlZnJlc2h9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEFkZHJlc3NUZXJyaXRvcnkocmVmcmVzaCA9IGZhbHNlKTogT2JzZXJ2YWJsZTxTYXBCcEFkZHJlc3NUZXJyaXRvcnlNb2RlbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTYXBCcEFkZHJlc3NUZXJyaXRvcnlNb2RlbFtdPihcclxuICAgICAgdGhpcy5jb25maWcuYXBpX2Jhc2VfdXJpICtcclxuICAgICAgICB0aGlzLmNvbmZpZy5iYXNlX3VyaSArXHJcbiAgICAgICAgYC9icC9hZGRyZXNzLXRlcnJpdG9yeT9yZWZyZXNoPSR7cmVmcmVzaH1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGF5bWVudFRlcm1zKHJlZnJlc2ggPSBmYWxzZSk6IE9ic2VydmFibGU8U2FwQnBQYXltZW50VGVybXNNb2RlbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTYXBCcFBheW1lbnRUZXJtc01vZGVsW10+KFxyXG4gICAgICB0aGlzLmNvbmZpZy5hcGlfYmFzZV91cmkgK1xyXG4gICAgICAgIHRoaXMuY29uZmlnLmJhc2VfdXJpICtcclxuICAgICAgICBgL2JwL3BheW1lbnQtdGVybXM/cmVmcmVzaD0ke3JlZnJlc2h9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFByaWNlbGlzdChyZWZyZXNoID0gZmFsc2UpOiBPYnNlcnZhYmxlPFNhcEJwUHJpY2VsaXN0TW9kZWxbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2FwQnBQcmljZWxpc3RNb2RlbFtdPihcclxuICAgICAgdGhpcy5jb25maWcuYXBpX2Jhc2VfdXJpICtcclxuICAgICAgICB0aGlzLmNvbmZpZy5iYXNlX3VyaSArXHJcbiAgICAgICAgYC9icC9wcmljZWxpc3Q/cmVmcmVzaD0ke3JlZnJlc2h9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldEFkZHJTdGF0ZShcclxuICAgIHJlZnJlc2ggPSBmYWxzZSxcclxuICAgIGNvdW50cnk6IHN0cmluZ1xyXG4gICk6IE9ic2VydmFibGU8U2FwQnBBZGRyU3RhdGVNb2RlbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTYXBCcEFkZHJTdGF0ZU1vZGVsW10+KFxyXG4gICAgICB0aGlzLmNvbmZpZy5hcGlfYmFzZV91cmkgK1xyXG4gICAgICAgIHRoaXMuY29uZmlnLmJhc2VfdXJpICtcclxuICAgICAgICBgL2JwL2FkZHItc3RhdGU/cmVmcmVzaD0ke3JlZnJlc2h9JmNvdW50cnk9JHtjb3VudHJ5fWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRBZGRyQ291bnRyeShyZWZyZXNoID0gZmFsc2UpOiBPYnNlcnZhYmxlPFNhcEJwQWRkckNvdW50cnlNb2RlbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTYXBCcEFkZHJDb3VudHJ5TW9kZWxbXT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvYWRkci1jb3VudHJ5P3JlZnJlc2g9JHtyZWZyZXNofWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRBZGRyU2ljQ29kZShyZWZyZXNoID0gZmFsc2UpOiBPYnNlcnZhYmxlPFNhcEJwQWRkclNpY0NvZGVNb2RlbFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTYXBCcEFkZHJTaWNDb2RlTW9kZWxbXT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvYWRkci1zaWMtY29kZT9yZWZyZXNoPSR7cmVmcmVzaH1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VycmVuY3kocmVmcmVzaCA9IGZhbHNlKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8c3RyaW5nW10+KFxyXG4gICAgICB0aGlzLmNvbmZpZy5hcGlfYmFzZV91cmkgK1xyXG4gICAgICAgIHRoaXMuY29uZmlnLmJhc2VfdXJpICtcclxuICAgICAgICBgL2JwL2N1cnJlbmN5P3JlZnJlc2g9JHtyZWZyZXNofWBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjb252ZXJ0VG9DdXN0b21lcihjYXJkQ29kZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxhbnk+KFxyXG4gICAgICB0aGlzLmNvbmZpZy5hcGlfYmFzZV91cmkgK1xyXG4gICAgICAgIHRoaXMuY29uZmlnLmJhc2VfdXJpICtcclxuICAgICAgICBgL2JwL2NvbnZlcnQtb3JhY2xlLWxlYWQ/Y2FyZENvZGU9JHtjYXJkQ29kZX1gXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0TmV4dEJwSWQoYnBUeXBlOiBTYXBCcFR5cGVFbnVtKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvbmV4dC1icC1pZD9icFR5cGU9JHticFR5cGV9YFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRheGVzKHJlZnJlc2ggPSBmYWxzZSk6IE9ic2VydmFibGU8U2FwQnBUYXhbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2FwQnBUYXhbXT4oXHJcbiAgICAgIHRoaXMuY29uZmlnLmFwaV9iYXNlX3VyaSArXHJcbiAgICAgICAgdGhpcy5jb25maWcuYmFzZV91cmkgK1xyXG4gICAgICAgIGAvYnAvdGF4P3JlZnJlc2g9JHtyZWZyZXNofWBcclxuICAgICk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2luYXRpb25Nb2RlbDxUPiB7XHJcbiAgbWF4UmVzdWx0czogbnVtYmVyO1xyXG4gIGRhdGE6IFQ7XHJcbn1cclxuIl19
|
|
@@ -1247,11 +1247,11 @@ class SapBpCreateAddressComponent {
|
|
|
1247
1247
|
}
|
|
1248
1248
|
}
|
|
1249
1249
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SapBpCreateAddressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1250
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SapBpCreateAddressComponent, selector: "app-sap-bp-create-address", ngImport: i0, template: "<h1 mat-dialog-title>{{ 'sapAdminBp.address' | translate }}</h1>\r\n<div mat-dialog-content>\r\n @if (form) {\r\n <form [formGroup]=\"form\" id=\"address-create-form\" (ngSubmit)=\"save()\">\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address\"\r\n required\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address2' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address2\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address3' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address3\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.street' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"street\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.block' | translate }}</mat-label>\r\n <input type=\"text\" matInput formControlName=\"block\" [maxLength]=\"100\" />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.city' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"city\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.zipCode' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"zipCode\"\r\n required\r\n [maxLength]=\"20\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.county' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"county\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.streetNo' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"streetNo\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.building' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"building\"\r\n [maxLength]=\"256000\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.territory' | translate }}</mat-label>\r\n <mat-select formControlName=\"territory\" [required]=\"!data.address\">\r\n @for (territory of territoriesList(); track territory) {\r\n <mat-option [value]=\"territory\">{{ territory }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.industryCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"industryCode\" [required]=\"!data.address\">\r\n <mat-option [value]=\"''\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n @for (industry of industryList(); track industry) {\r\n <mat-option [value]=\"industry.id\">{{ industry.name }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson1' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson1\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson2' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson2\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (data.useTaxCode) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.taxCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"taxCode\">\r\n @for (tax of taxesList(); track tax) {\r\n <mat-option [value]=\"tax.code\"\r\n >{{ tax.name }}: {{ tax.rate }}</mat-option\r\n >\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refresh' | translate\"\r\n (click)=\"loadTaxes(true)\"\r\n [disabled]=\"refreshingTax()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.status' | translate }}</mat-label>\r\n <mat-select formControlName=\"status\">\r\n <mat-option [value]=\"null\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Active'\">{{\r\n 'sapAdminBp.active' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Inactive'\">{{\r\n 'sapAdminBp.inactive' | translate\r\n }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedCountry()\"\r\n [initSearchVal]=\"initSearchCountry()\"\r\n [tableData]=\"countryList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.country' | translate\"\r\n [required]=\"true\"\r\n [validError]=\"form.get('countryCode')!.invalid\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"countryCodeChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n @if (notFoundStates()) {\r\n <div class=\"alert alert-warning\" role=\"alert\">\r\n {{ 'sapAdminBp.notFoundStates' | translate }}\r\n </div>\r\n }\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedState()\"\r\n [initSearchVal]=\"initSearchState()\"\r\n [tableData]=\"stateList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.state' | translate\"\r\n [required]=\"false\"\r\n [validError]=\"false\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"stateChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n </form>\r\n }\r\n</div>\r\n<div class=\"row justify-content-between action-row\" mat-dialog-actions>\r\n <button mat-button (click)=\"cancel()\">\r\n {{ 'sapAdminBp.cancel' | translate }}\r\n </button>\r\n <div class=\"row align-items-center\">\r\n <button\r\n mat-raised-button\r\n color=\"primary\"\r\n type=\"submit\"\r\n form=\"address-create-form\"\r\n >\r\n {{ 'sapAdminBp.save' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.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: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i9.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: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i9.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i10.SelectTableComponent, selector: "ngx-st-select-table", inputs: ["title", "required", "multiple", "initSelected", "initSearchVal", "searchLabel", "selectedLabel", "setInitColumns", "tableData", "validError"], outputs: ["returnRowSelected"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
|
|
1250
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: SapBpCreateAddressComponent, selector: "app-sap-bp-create-address", ngImport: i0, template: "<h1 mat-dialog-title>{{ 'sapAdminBp.address' | translate }}</h1>\r\n<div mat-dialog-content>\r\n @if (form) {\r\n <form [formGroup]=\"form\" id=\"address-create-form\" (ngSubmit)=\"save()\">\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address\"\r\n required\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address2' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address2\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address3' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address3\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.street' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"street\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.block' | translate }}</mat-label>\r\n <input type=\"text\" matInput formControlName=\"block\" [maxLength]=\"100\" />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.city' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"city\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.zipCode' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"zipCode\"\r\n required\r\n [maxLength]=\"20\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.county' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"county\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.streetNo' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"streetNo\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.building' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"building\"\r\n [maxLength]=\"256000\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.territory' | translate }}</mat-label>\r\n <mat-select formControlName=\"territory\" [required]=\"!data.address\">\r\n @for (territory of territoriesList(); track territory.territoryId) {\r\n <mat-option [value]=\"territory.territoryId\">{{ territory.territoryName }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.industryCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"industryCode\" [required]=\"!data.address\">\r\n <mat-option [value]=\"''\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n @for (industry of industryList(); track industry) {\r\n <mat-option [value]=\"industry.id\">{{ industry.name }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson1' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson1\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson2' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson2\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (data.useTaxCode) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.taxCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"taxCode\">\r\n @for (tax of taxesList(); track tax) {\r\n <mat-option [value]=\"tax.code\"\r\n >{{ tax.name }}: {{ tax.rate }}</mat-option\r\n >\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refresh' | translate\"\r\n (click)=\"loadTaxes(true)\"\r\n [disabled]=\"refreshingTax()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.status' | translate }}</mat-label>\r\n <mat-select formControlName=\"status\">\r\n <mat-option [value]=\"null\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Active'\">{{\r\n 'sapAdminBp.active' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Inactive'\">{{\r\n 'sapAdminBp.inactive' | translate\r\n }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedCountry()\"\r\n [initSearchVal]=\"initSearchCountry()\"\r\n [tableData]=\"countryList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.country' | translate\"\r\n [required]=\"true\"\r\n [validError]=\"form.get('countryCode')!.invalid\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"countryCodeChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n @if (notFoundStates()) {\r\n <div class=\"alert alert-warning\" role=\"alert\">\r\n {{ 'sapAdminBp.notFoundStates' | translate }}\r\n </div>\r\n }\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedState()\"\r\n [initSearchVal]=\"initSearchState()\"\r\n [tableData]=\"stateList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.state' | translate\"\r\n [required]=\"false\"\r\n [validError]=\"false\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"stateChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n </form>\r\n }\r\n</div>\r\n<div class=\"row justify-content-between action-row\" mat-dialog-actions>\r\n <button mat-button (click)=\"cancel()\">\r\n {{ 'sapAdminBp.cancel' | translate }}\r\n </button>\r\n <div class=\"row align-items-center\">\r\n <button\r\n mat-raised-button\r\n color=\"primary\"\r\n type=\"submit\"\r\n form=\"address-create-form\"\r\n >\r\n {{ 'sapAdminBp.save' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i1$1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.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: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5$1.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i9.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i9.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: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i9.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i10.SelectTableComponent, selector: "ngx-st-select-table", inputs: ["title", "required", "multiple", "initSelected", "initSearchVal", "searchLabel", "selectedLabel", "setInitColumns", "tableData", "validError"], outputs: ["returnRowSelected"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
|
|
1251
1251
|
}
|
|
1252
1252
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SapBpCreateAddressComponent, decorators: [{
|
|
1253
1253
|
type: Component,
|
|
1254
|
-
args: [{ selector: 'app-sap-bp-create-address', template: "<h1 mat-dialog-title>{{ 'sapAdminBp.address' | translate }}</h1>\r\n<div mat-dialog-content>\r\n @if (form) {\r\n <form [formGroup]=\"form\" id=\"address-create-form\" (ngSubmit)=\"save()\">\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address\"\r\n required\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address2' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address2\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address3' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address3\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.street' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"street\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.block' | translate }}</mat-label>\r\n <input type=\"text\" matInput formControlName=\"block\" [maxLength]=\"100\" />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.city' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"city\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.zipCode' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"zipCode\"\r\n required\r\n [maxLength]=\"20\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.county' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"county\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.streetNo' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"streetNo\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.building' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"building\"\r\n [maxLength]=\"256000\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.territory' | translate }}</mat-label>\r\n <mat-select formControlName=\"territory\" [required]=\"!data.address\">\r\n @for (territory of territoriesList(); track territory) {\r\n <mat-option [value]=\"territory\">{{ territory }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.industryCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"industryCode\" [required]=\"!data.address\">\r\n <mat-option [value]=\"''\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n @for (industry of industryList(); track industry) {\r\n <mat-option [value]=\"industry.id\">{{ industry.name }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson1' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson1\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson2' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson2\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (data.useTaxCode) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.taxCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"taxCode\">\r\n @for (tax of taxesList(); track tax) {\r\n <mat-option [value]=\"tax.code\"\r\n >{{ tax.name }}: {{ tax.rate }}</mat-option\r\n >\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refresh' | translate\"\r\n (click)=\"loadTaxes(true)\"\r\n [disabled]=\"refreshingTax()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.status' | translate }}</mat-label>\r\n <mat-select formControlName=\"status\">\r\n <mat-option [value]=\"null\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Active'\">{{\r\n 'sapAdminBp.active' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Inactive'\">{{\r\n 'sapAdminBp.inactive' | translate\r\n }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedCountry()\"\r\n [initSearchVal]=\"initSearchCountry()\"\r\n [tableData]=\"countryList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.country' | translate\"\r\n [required]=\"true\"\r\n [validError]=\"form.get('countryCode')!.invalid\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"countryCodeChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n @if (notFoundStates()) {\r\n <div class=\"alert alert-warning\" role=\"alert\">\r\n {{ 'sapAdminBp.notFoundStates' | translate }}\r\n </div>\r\n }\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedState()\"\r\n [initSearchVal]=\"initSearchState()\"\r\n [tableData]=\"stateList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.state' | translate\"\r\n [required]=\"false\"\r\n [validError]=\"false\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"stateChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n </form>\r\n }\r\n</div>\r\n<div class=\"row justify-content-between action-row\" mat-dialog-actions>\r\n <button mat-button (click)=\"cancel()\">\r\n {{ 'sapAdminBp.cancel' | translate }}\r\n </button>\r\n <div class=\"row align-items-center\">\r\n <button\r\n mat-raised-button\r\n color=\"primary\"\r\n type=\"submit\"\r\n form=\"address-create-form\"\r\n >\r\n {{ 'sapAdminBp.save' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n" }]
|
|
1254
|
+
args: [{ selector: 'app-sap-bp-create-address', template: "<h1 mat-dialog-title>{{ 'sapAdminBp.address' | translate }}</h1>\r\n<div mat-dialog-content>\r\n @if (form) {\r\n <form [formGroup]=\"form\" id=\"address-create-form\" (ngSubmit)=\"save()\">\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address\"\r\n required\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address2' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address2\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.address3' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"address3\"\r\n [maxLength]=\"50\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.street' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"street\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.block' | translate }}</mat-label>\r\n <input type=\"text\" matInput formControlName=\"block\" [maxLength]=\"100\" />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.city' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"city\"\r\n required\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.zipCode' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"zipCode\"\r\n required\r\n [maxLength]=\"20\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.county' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"county\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.streetNo' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"streetNo\"\r\n [maxLength]=\"100\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.building' | translate }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n formControlName=\"building\"\r\n [maxLength]=\"256000\"\r\n />\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.territory' | translate }}</mat-label>\r\n <mat-select formControlName=\"territory\" [required]=\"!data.address\">\r\n @for (territory of territoriesList(); track territory.territoryId) {\r\n <mat-option [value]=\"territory.territoryId\">{{ territory.territoryName }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.industryCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"industryCode\" [required]=\"!data.address\">\r\n <mat-option [value]=\"''\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n @for (industry of industryList(); track industry) {\r\n <mat-option [value]=\"industry.id\">{{ industry.name }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson1' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson1\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (\r\n data.userSettings.bpEditSalesPersonOnAddress && data.addressType === 'S'\r\n ) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.salesPerson2' | translate }}</mat-label>\r\n <mat-select formControlName=\"salesPerson2\">\r\n @for (salesEmployee of salesEmployeeList(); track salesEmployee) {\r\n <mat-option [value]=\"salesEmployee.name\">{{\r\n salesEmployee.name\r\n }}</mat-option>\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refreshFromSap' | translate\"\r\n (click)=\"loadSalesEmployee(true)\"\r\n [disabled]=\"refreshingDataFromSap()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n @if (data.useTaxCode) {\r\n <div class=\"row\">\r\n <mat-form-field class=\"col\" style=\"padding-left: 0 !important\">\r\n <mat-label>{{ 'sapAdminBp.taxCode' | translate }}</mat-label>\r\n <mat-select formControlName=\"taxCode\">\r\n @for (tax of taxesList(); track tax) {\r\n <mat-option [value]=\"tax.code\"\r\n >{{ tax.name }}: {{ tax.rate }}</mat-option\r\n >\r\n }\r\n </mat-select>\r\n </mat-form-field>\r\n <button\r\n mat-icon-button\r\n [matTooltip]=\"'sapAdminBp.refresh' | translate\"\r\n (click)=\"loadTaxes(true)\"\r\n [disabled]=\"refreshingTax()\"\r\n >\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </div>\r\n }\r\n <mat-form-field>\r\n <mat-label>{{ 'sapAdminBp.status' | translate }}</mat-label>\r\n <mat-select formControlName=\"status\">\r\n <mat-option [value]=\"null\">{{\r\n 'sapAdminBp.empty' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Active'\">{{\r\n 'sapAdminBp.active' | translate\r\n }}</mat-option>\r\n <mat-option [value]=\"'Inactive'\">{{\r\n 'sapAdminBp.inactive' | translate\r\n }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedCountry()\"\r\n [initSearchVal]=\"initSearchCountry()\"\r\n [tableData]=\"countryList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.country' | translate\"\r\n [required]=\"true\"\r\n [validError]=\"form.get('countryCode')!.invalid\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"countryCodeChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n @if (notFoundStates()) {\r\n <div class=\"alert alert-warning\" role=\"alert\">\r\n {{ 'sapAdminBp.notFoundStates' | translate }}\r\n </div>\r\n }\r\n <ngx-st-select-table\r\n [initSelected]=\"initSelectedState()\"\r\n [initSearchVal]=\"initSearchState()\"\r\n [tableData]=\"stateList()\"\r\n [setInitColumns]=\"{\r\n id: ('sapAdminBp.id' | translate),\r\n name: ('sapAdminBp.name' | translate)\r\n }\"\r\n [title]=\"'sapAdminBp.state' | translate\"\r\n [required]=\"false\"\r\n [validError]=\"false\"\r\n [searchLabel]=\"'sapAdminBp.search' | translate\"\r\n [selectedLabel]=\"'sapAdminBp.selected' | translate\"\r\n (returnRowSelected)=\"stateChanged($event)\"\r\n >\r\n </ngx-st-select-table>\r\n </form>\r\n }\r\n</div>\r\n<div class=\"row justify-content-between action-row\" mat-dialog-actions>\r\n <button mat-button (click)=\"cancel()\">\r\n {{ 'sapAdminBp.cancel' | translate }}\r\n </button>\r\n <div class=\"row align-items-center\">\r\n <button\r\n mat-raised-button\r\n color=\"primary\"\r\n type=\"submit\"\r\n form=\"address-create-form\"\r\n >\r\n {{ 'sapAdminBp.save' | translate }}\r\n </button>\r\n </div>\r\n</div>\r\n" }]
|
|
1255
1255
|
}], ctorParameters: () => [] });
|
|
1256
1256
|
|
|
1257
1257
|
class SapBpDetailsAddressComponent {
|