@qubesense/customer-farm 0.2.5 → 0.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/customer-farm.component.mjs +11 -3
- package/esm2020/lib/customer-farm.service.mjs +11 -1
- package/esm2020/lib/dependencies/customer-farm-api-urls.mjs +3 -1
- package/esm2020/lib/dependencies/customer-farm-model.mjs +4 -1
- package/fesm2015/qubesense-customer-farm.mjs +27 -2
- package/fesm2015/qubesense-customer-farm.mjs.map +1 -1
- package/fesm2020/qubesense-customer-farm.mjs +25 -2
- package/fesm2020/qubesense-customer-farm.mjs.map +1 -1
- package/lib/customer-farm.service.d.ts +1 -0
- package/lib/dependencies/customer-farm-api-urls.d.ts +1 -0
- package/lib/dependencies/customer-farm-model.d.ts +3 -0
- package/package.json +1 -1
|
@@ -60,6 +60,7 @@ export class CustomerFarmComponent {
|
|
|
60
60
|
recordId: [null],
|
|
61
61
|
customerId: [null],
|
|
62
62
|
clientNumber: [null],
|
|
63
|
+
standardDeliveryCost: [0],
|
|
63
64
|
customerName: [null],
|
|
64
65
|
defaultWarehouse: [null],
|
|
65
66
|
personInCharge: [null],
|
|
@@ -78,6 +79,10 @@ export class CustomerFarmComponent {
|
|
|
78
79
|
this.customerFarmForm.get('clientNumber').addValidators(Validators.required);
|
|
79
80
|
this.customerFarmForm.get('clientNumber').addValidators(Validators.minLength(3));
|
|
80
81
|
}
|
|
82
|
+
if (this.customerFarmConfiguration.requiredCustomerFarmFields.standardDeliveryCost) {
|
|
83
|
+
this.customerFarmForm.get('standardDeliveryCost').addValidators(Validators.required);
|
|
84
|
+
this.customerFarmForm.get('standardDeliveryCost').addValidators(Validators.pattern('^[0-9]+(\\.[0-9]{1,2})?$'));
|
|
85
|
+
}
|
|
81
86
|
if (this.customerFarmConfiguration.requiredCustomerFarmFields.defaultWarehouse) {
|
|
82
87
|
this.customerFarmForm.get('defaultWarehouse').addValidators(Validators.required);
|
|
83
88
|
}
|
|
@@ -110,12 +115,14 @@ export class CustomerFarmComponent {
|
|
|
110
115
|
this.customerFarmForm.controls['recordId'].setValue(getResponse.apiData.recordId);
|
|
111
116
|
this.customerFarmForm.controls['customerId'].setValue(getResponse.apiData.customerId);
|
|
112
117
|
this.customerFarmForm.controls['clientNumber'].setValue(getResponse.apiData.clientNumber);
|
|
118
|
+
this.customerFarmForm.controls['standardDeliveryCost'].setValue(getResponse.apiData.standardDeliveryCost);
|
|
113
119
|
this.customerFarmForm.controls['customerName'].setValue(getResponse.apiData.customerName);
|
|
114
120
|
this.customerFarmForm.controls['defaultWarehouse'].setValue(getResponse.apiData.defaultWarehouse);
|
|
115
121
|
this.customerFarmForm.controls['personInCharge'].setValue(getResponse.apiData.personInCharge);
|
|
116
122
|
this.customerFarmForm.controls['displayName'].setValue(getResponse.apiData.displayName);
|
|
117
123
|
this.customerFarmForm.controls['primaryVetId'].setValue(getResponse.apiData.primaryVetId);
|
|
118
124
|
this.customerFarmForm.controls['PICTattoo'].setValue(getResponse.apiData.picTattoo);
|
|
125
|
+
this.customerFarmForm.controls['standardDeliveryCost'].setValue(getResponse.apiData.standardDeliveryCost);
|
|
119
126
|
this.customerFarmForm.controls['isActive'].setValue(getResponse.apiData.isActive);
|
|
120
127
|
}
|
|
121
128
|
/**
|
|
@@ -129,6 +136,7 @@ export class CustomerFarmComponent {
|
|
|
129
136
|
const customerFarmModel = new CustomerFarmModel();
|
|
130
137
|
customerFarmModel.recordId = this.customerFarmForm.value.recordId;
|
|
131
138
|
customerFarmModel.clientNumber = this.customerFarmForm.value.clientNumber;
|
|
139
|
+
customerFarmModel.standardDeliveryCost = this.customerFarmForm.value.standardDeliveryCost;
|
|
132
140
|
customerFarmModel.customerName = this.customerFarmForm.value.customerName;
|
|
133
141
|
customerFarmModel.defaultWarehouse = this.customerFarmForm.value.defaultWarehouse;
|
|
134
142
|
customerFarmModel.personInCharge = this.customerFarmForm.value.personInCharge;
|
|
@@ -241,13 +249,13 @@ export class CustomerFarmComponent {
|
|
|
241
249
|
}
|
|
242
250
|
}
|
|
243
251
|
CustomerFarmComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CustomerFarmComponent, deps: [{ token: i1.CustomerFarmService }, { token: i2.JsonFormsService }, { token: i2.ApplicationRoleMenusService }, { token: i3.FormBuilder }, { token: i2.ErrorLogService }, { token: i2.ToastrNotificationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
244
|
-
CustomerFarmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: CustomerFarmComponent, selector: "lib-customer-farm", inputs: { customerFarmConfiguration: "customerFarmConfiguration" }, outputs: { customerFarmData: "customerFarmData" }, ngImport: i0, template: "<div class=\"flex flex-col flex-auto min-w-0 w-full\">\r\n <!-- form code starts here -->\r\n <!--content-->\r\n <div class=\"sm:w-full overflow-hidden\" *ngIf=\"customerFarmConfiguration.showModal\">\r\n\r\n <!--form body-->\r\n <form class=\"flex flex-col overflow-hidden\" [formGroup]=\"customerFarmForm\">\r\n <!-- Customer Farm section start -->\r\n\r\n <div class=\"sm:flex\">\r\n <div class=\"w-full\">\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.clientNumber\">\r\n <mat-label>Client Number</mat-label>\r\n <input matInput id=\"clientNumber\" placeholder=\"Client Number\" minlength=\"3\" [formControlName]=\"'clientNumber'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('clientNumber').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.clientNumber\">\r\n Client Number is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('clientNumber').hasError('minlength')\">\r\n Client Number must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <div class=\"flex-auto w-full\"></div>\r\n </div>\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.customerName\">\r\n <mat-label>Client Name</mat-label>\r\n <input matInput id=\"customerName\" placeholder=\"Client Name\" pattern=\"^[a-zA-Z ]*$\"\r\n minlength=\"3\" [formControlName]=\"'customerName'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('customerName').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.customerName \">\r\n Client Name is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('pattern')\">\r\n Please enter valid Client name\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('minlength')\">\r\n Client name must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.defaultWarehouse\">\r\n <mat-label>Default Warehouse</mat-label>\r\n <mat-select matSelect [formControlName]=\"'defaultWarehouse'\" (selectionChange)=\"emitDataToParent()\">\r\n <mat-option *ngFor=\"let warehouse of warehouseList\"\r\n [value]=\"warehouse.dataValue\">{{warehouse.dataText}}</mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('defaultWarehouse').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.defaultWarehouse\">\r\n Default Warehouse is required\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.personInCharge\">\r\n <mat-label>Person In Charge</mat-label>\r\n <input matInput id=\"personInCharge\" placeholder=\"Person In Charge\"\r\n [formControlName]=\"'personInCharge'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('personInCharge').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.personInCharge\">\r\n Person In Charge is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.displayName\">\r\n <mat-label>Display Name</mat-label>\r\n <input matInput id=\"displayName\" placeholder=\"Display Name\"\r\n [formControlName]=\"'displayName'\" (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.primaryVetId\">\r\n <mat-label>Primary Vet</mat-label>\r\n <input matInput id=\"primaryVetId\" placeholder=\"Primary Vet\"\r\n [formControlName]=\"'primaryVetId'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('primaryVetId').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.primaryVetId\">\r\n Primary Vet is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.PICTattoo\">\r\n <mat-label>PIC/Tattoo (if applicable)</mat-label>\r\n <input matInput id=\"PICTattoo\" placeholder=\"PIC/Tattoo\" [formControlName]=\"'PICTattoo'\"\r\n (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <!-- Customer Farm section End -->\r\n\r\n </form>\r\n </div>\r\n <!-- form code ends here -->\r\n\r\n</div>\r\n<div *ngIf=\"customerFarmConfiguration.showGrid\">\r\n <lib-kendo-grid-view [configuration]=\"gridConfiguration\" (events)=\"handleGridEvents($event)\"></lib-kendo-grid-view>\r\n </div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i2.KendoGridViewComponent, selector: "lib-kendo-grid-view", inputs: ["configuration"], outputs: ["events"] }] });
|
|
252
|
+
CustomerFarmComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: CustomerFarmComponent, selector: "lib-customer-farm", inputs: { customerFarmConfiguration: "customerFarmConfiguration" }, outputs: { customerFarmData: "customerFarmData" }, ngImport: i0, template: "<div class=\"flex flex-col flex-auto min-w-0 w-full\">\r\n <!-- form code starts here -->\r\n <!--content-->\r\n <div class=\"sm:w-full overflow-hidden\" *ngIf=\"customerFarmConfiguration.showModal\">\r\n\r\n <!--form body-->\r\n <form class=\"flex flex-col overflow-hidden\" [formGroup]=\"customerFarmForm\">\r\n <!-- Customer Farm section start -->\r\n\r\n <div class=\"sm:flex\">\r\n <div class=\"w-full\">\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.clientNumber\">\r\n <mat-label>Client Number</mat-label>\r\n <input matInput id=\"clientNumber\" placeholder=\"Client Number\" minlength=\"3\" [formControlName]=\"'clientNumber'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('clientNumber').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.clientNumber\">\r\n Client Number is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('clientNumber').hasError('minlength')\">\r\n Client Number must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.standardDeliveryCost\">\r\n <mat-label>Standard Delivery Cost</mat-label>\r\n <input matInput type=\"number\" min=\"0\" step=\"0.01\" id=\"standardDeliveryCost\" placeholder=\"Standard Delivery Cost\" [formControlName]=\"'standardDeliveryCost'\"\r\n (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('standardDeliveryCost').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.standardDeliveryCost\">\r\n Standard Delivery Cost is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('standardDeliveryCost').hasError('min')\">\r\n Standard Delivery Cost must be a positive number\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.customerName\">\r\n <mat-label>Client Name</mat-label>\r\n <input matInput id=\"customerName\" placeholder=\"Client Name\" pattern=\"^[a-zA-Z ]*$\"\r\n minlength=\"3\" [formControlName]=\"'customerName'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('customerName').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.customerName \">\r\n Client Name is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('pattern')\">\r\n Please enter valid Client name\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('minlength')\">\r\n Client name must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.defaultWarehouse\">\r\n <mat-label>Default Warehouse</mat-label>\r\n <mat-select matSelect [formControlName]=\"'defaultWarehouse'\" (selectionChange)=\"emitDataToParent()\">\r\n <mat-option *ngFor=\"let warehouse of warehouseList\"\r\n [value]=\"warehouse.dataValue\">{{warehouse.dataText}}</mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('defaultWarehouse').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.defaultWarehouse\">\r\n Default Warehouse is required\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.personInCharge\">\r\n <mat-label>Person In Charge</mat-label>\r\n <input matInput id=\"personInCharge\" placeholder=\"Person In Charge\"\r\n [formControlName]=\"'personInCharge'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('personInCharge').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.personInCharge\">\r\n Person In Charge is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.displayName\">\r\n <mat-label>Display Name</mat-label>\r\n <input matInput id=\"displayName\" placeholder=\"Display Name\"\r\n [formControlName]=\"'displayName'\" (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.primaryVetId\">\r\n <mat-label>Primary Vet</mat-label>\r\n <input matInput id=\"primaryVetId\" placeholder=\"Primary Vet\"\r\n [formControlName]=\"'primaryVetId'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('primaryVetId').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.primaryVetId\">\r\n Primary Vet is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.PICTattoo\">\r\n <mat-label>PIC/Tattoo (if applicable)</mat-label>\r\n <input matInput id=\"PICTattoo\" placeholder=\"PIC/Tattoo\" [formControlName]=\"'PICTattoo'\"\r\n (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <!-- Customer Farm section End -->\r\n\r\n </form>\r\n </div>\r\n <!-- form code ends here -->\r\n\r\n</div>\r\n<div *ngIf=\"customerFarmConfiguration.showGrid\">\r\n <lib-kendo-grid-view [configuration]=\"gridConfiguration\" (events)=\"handleGridEvents($event)\"></lib-kendo-grid-view>\r\n </div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i4.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i2.KendoGridViewComponent, selector: "lib-kendo-grid-view", inputs: ["configuration"], outputs: ["events"] }] });
|
|
245
253
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CustomerFarmComponent, decorators: [{
|
|
246
254
|
type: Component,
|
|
247
|
-
args: [{ selector: 'lib-customer-farm', template: "<div class=\"flex flex-col flex-auto min-w-0 w-full\">\r\n <!-- form code starts here -->\r\n <!--content-->\r\n <div class=\"sm:w-full overflow-hidden\" *ngIf=\"customerFarmConfiguration.showModal\">\r\n\r\n <!--form body-->\r\n <form class=\"flex flex-col overflow-hidden\" [formGroup]=\"customerFarmForm\">\r\n <!-- Customer Farm section start -->\r\n\r\n <div class=\"sm:flex\">\r\n <div class=\"w-full\">\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.clientNumber\">\r\n <mat-label>Client Number</mat-label>\r\n <input matInput id=\"clientNumber\" placeholder=\"Client Number\" minlength=\"3\" [formControlName]=\"'clientNumber'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('clientNumber').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.clientNumber\">\r\n Client Number is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('clientNumber').hasError('minlength')\">\r\n Client Number must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <
|
|
255
|
+
args: [{ selector: 'lib-customer-farm', template: "<div class=\"flex flex-col flex-auto min-w-0 w-full\">\r\n <!-- form code starts here -->\r\n <!--content-->\r\n <div class=\"sm:w-full overflow-hidden\" *ngIf=\"customerFarmConfiguration.showModal\">\r\n\r\n <!--form body-->\r\n <form class=\"flex flex-col overflow-hidden\" [formGroup]=\"customerFarmForm\">\r\n <!-- Customer Farm section start -->\r\n\r\n <div class=\"sm:flex\">\r\n <div class=\"w-full\">\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.clientNumber\">\r\n <mat-label>Client Number</mat-label>\r\n <input matInput id=\"clientNumber\" placeholder=\"Client Number\" minlength=\"3\" [formControlName]=\"'clientNumber'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('clientNumber').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.clientNumber\">\r\n Client Number is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('clientNumber').hasError('minlength')\">\r\n Client Number must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.standardDeliveryCost\">\r\n <mat-label>Standard Delivery Cost</mat-label>\r\n <input matInput type=\"number\" min=\"0\" step=\"0.01\" id=\"standardDeliveryCost\" placeholder=\"Standard Delivery Cost\" [formControlName]=\"'standardDeliveryCost'\"\r\n (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('standardDeliveryCost').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.standardDeliveryCost\">\r\n Standard Delivery Cost is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('standardDeliveryCost').hasError('min')\">\r\n Standard Delivery Cost must be a positive number\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.customerName\">\r\n <mat-label>Client Name</mat-label>\r\n <input matInput id=\"customerName\" placeholder=\"Client Name\" pattern=\"^[a-zA-Z ]*$\"\r\n minlength=\"3\" [formControlName]=\"'customerName'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('customerName').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.customerName \">\r\n Client Name is required\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('pattern')\">\r\n Please enter valid Client name\r\n </mat-error>\r\n <mat-error *ngIf=\"customerFarmForm.get('customerName').hasError('minlength')\">\r\n Client name must be of atleast 3 characters\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.defaultWarehouse\">\r\n <mat-label>Default Warehouse</mat-label>\r\n <mat-select matSelect [formControlName]=\"'defaultWarehouse'\" (selectionChange)=\"emitDataToParent()\">\r\n <mat-option *ngFor=\"let warehouse of warehouseList\"\r\n [value]=\"warehouse.dataValue\">{{warehouse.dataText}}</mat-option>\r\n </mat-select>\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('defaultWarehouse').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.defaultWarehouse\">\r\n Default Warehouse is required\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.personInCharge\">\r\n <mat-label>Person In Charge</mat-label>\r\n <input matInput id=\"personInCharge\" placeholder=\"Person In Charge\"\r\n [formControlName]=\"'personInCharge'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('personInCharge').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.personInCharge\">\r\n Person In Charge is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.displayName\">\r\n <mat-label>Display Name</mat-label>\r\n <input matInput id=\"displayName\" placeholder=\"Display Name\"\r\n [formControlName]=\"'displayName'\" (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"sm:flex px-8 pt-4\">\r\n <mat-form-field class=\"flex-auto w-full mr-4\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.primaryVetId\">\r\n <mat-label>Primary Vet</mat-label>\r\n <input matInput id=\"primaryVetId\" placeholder=\"Primary Vet\"\r\n [formControlName]=\"'primaryVetId'\" (change)=\"emitDataToParent()\">\r\n <mat-error\r\n *ngIf=\"customerFarmForm.get('primaryVetId').hasError('required') && customerFarmConfiguration.requiredCustomerFarmFields.primaryVetId\">\r\n Primary Vet is required\r\n </mat-error>\r\n </mat-form-field>\r\n\r\n <mat-form-field class=\"flex-auto w-full\"\r\n *ngIf=\"customerFarmConfiguration.allowedCustomerFarmFields.PICTattoo\">\r\n <mat-label>PIC/Tattoo (if applicable)</mat-label>\r\n <input matInput id=\"PICTattoo\" placeholder=\"PIC/Tattoo\" [formControlName]=\"'PICTattoo'\"\r\n (change)=\"emitDataToParent()\">\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <!-- Customer Farm section End -->\r\n\r\n </form>\r\n </div>\r\n <!-- form code ends here -->\r\n\r\n</div>\r\n<div *ngIf=\"customerFarmConfiguration.showGrid\">\r\n <lib-kendo-grid-view [configuration]=\"gridConfiguration\" (events)=\"handleGridEvents($event)\"></lib-kendo-grid-view>\r\n </div>\r\n" }]
|
|
248
256
|
}], ctorParameters: function () { return [{ type: i1.CustomerFarmService }, { type: i2.JsonFormsService }, { type: i2.ApplicationRoleMenusService }, { type: i3.FormBuilder }, { type: i2.ErrorLogService }, { type: i2.ToastrNotificationService }]; }, propDecorators: { customerFarmData: [{
|
|
249
257
|
type: Output
|
|
250
258
|
}], customerFarmConfiguration: [{
|
|
251
259
|
type: Input
|
|
252
260
|
}] } });
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZmFybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jdXN0b21lci1mYXJtL3NyYy9saWIvY3VzdG9tZXItZmFybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jdXN0b21lci1mYXJtL3NyYy9saWIvY3VzdG9tZXItZmFybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEcsT0FBTyxFQUFtRiwrQkFBK0IsRUFBNkIsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7OztBQVF2TCxNQUFNLE9BQU8scUJBQXFCO0lBa0JoQyxZQUFvQixtQkFBd0MsRUFDbEQsU0FBMkIsRUFDM0IsMkJBQXdELEVBQ3hELFdBQXdCLEVBQ3hCLGVBQWdDLEVBQ2hDLE1BQWlDO1FBTHZCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDbEQsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQUN4RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUF0QmpDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDckMsOEJBQXlCLEdBQWtDLElBQUksNkJBQTZCLEVBQUUsQ0FBQztRQUUvRyxpQkFBWSxHQUFhLEVBQUUsQ0FBQztRQUNyQixhQUFRLEdBQVUsRUFBRSxDQUFDO1FBQzVCLHNCQUFpQixHQUFv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LEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ2xELElBQUk7WUFDRixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNsRixXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDbkMsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7U0FDckM7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQzs7a0hBNVBVLHFCQUFxQjtzR0FBckIscUJBQXFCLGdMQ1hsQywwbU9BK0dBOzJGRHBHYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO21SQUtuQixnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ1MseUJBQXlCO3NCQUF4QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDdXN0b21lckZhcm1Db25maWdyYXRpb25Nb2RlbCwgQ3VzdG9tZXJGYXJtTW9kZWwgfSBmcm9tICcuL2RlcGVuZGVuY2llcy9jdXN0b21lci1mYXJtLW1vZGVsJztcclxuaW1wb3J0IHsgQXBwbGljYXRpb25Sb2xlTWVudXNTZXJ2aWNlLCBFcnJvckxvZ1NlcnZpY2UsIEdyaWRFdmVudHNNb2RlbCwgSnNvbkZvcm1zU2VydmljZSwgS2VuZG9Hcmlkdmlld0NvbmZpZ3VyYXRpb25Nb2RlbCwgVG9hc3RyTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ0BxdWJlc2Vuc2UvYmFzZS1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEN1c3RvbWVyRmFybVNlcnZpY2UgfSBmcm9tICcuL2N1c3RvbWVyLWZhcm0uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jdXN0b21lci1mYXJtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tZXItZmFybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tZXItZmFybS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21lckZhcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBPdXRwdXQoKSBjdXN0b21lckZhcm1EYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb246IEN1c3RvbWVyRmFybUNvbmZpZ3JhdGlvbk1vZGVsID0gbmV3IEN1c3RvbWVyRmFybUNvbmZpZ3JhdGlvbk1vZGVsKCk7XHJcbiAgY3VzdG9tZXJGYXJtRm9ybTogRm9ybUdyb3VwO1xyXG4gIHVzZXJNZXNzYWdlczogc3RyaW5nW10gPSBbXTtcclxuICBwdWJsaWMgZ3JpZERhdGE6IGFueVtdID0gW107XHJcbiAgZ3JpZENvbmZpZ3VyYXRpb246IEtlbmRvR3JpZHZpZXdDb25maWd1cmF0aW9uTW9kZWwgPSBuZXcgS2VuZG9Hcmlkdmlld0NvbmZpZ3VyYXRpb25Nb2RlbCgpO1xyXG4gIGhpZGVCdXR0b25zID0gZmFsc2U7XHJcbiAgaXNWaWV3Q2FsbCA9IGZhbHNlO1xyXG4gIHNwZWNpZXNMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIHdhcmVob3VzZUxpc3Q6IGFueVtdID0gW107XHJcbiAgZmlsdGVyZWRDdXN0b21lcnM6IFtdO1xyXG5cclxuICBwZXJtaXNzaW9uOiBhbnkgPSBbXTtcclxuICB1c2VyRGF0YTogYW55ID0gW107XHJcbiAgSGlkZUFkZEJ1dHRvbjogYm9vbGVhbjtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY3VzdG9tZXJGYXJtU2VydmljZTogQ3VzdG9tZXJGYXJtU2VydmljZSxcclxuICAgIHByaXZhdGUganNvbkZvcm1zOiBKc29uRm9ybXNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcHBsaWNhdGlvblJvbGVNZW51c1NlcnZpY2U6IEFwcGxpY2F0aW9uUm9sZU1lbnVzU2VydmljZSxcclxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBlcnJvckxvZ1NlcnZpY2U6IEVycm9yTG9nU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3RyOiBUb2FzdHJOb3RpZmljYXRpb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmdyaWRDb25maWd1cmF0aW9uLmZvcm1Db2RlRm9ySnNvbkhlYWRlciA9ICdDVUZBJztcclxuICAgIHRoaXMuZ3JpZENvbmZpZ3VyYXRpb24uZm9ybUNvZGVGb3JHcmlkUGVybWlzc2lvbnMgPSB0aGlzLmN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24uY3VzdG9tZXJGYXJtR3JpZENvbmZpZ3JhdGlvbi5mb3JtQ29kZUZvckdyaWRQZXJtaXNzaW9uO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLkRlY2xhcmVGb3JtKCk7XHJcbiAgICBpZiAodGhpcy5jdXN0b21lckZhcm1Db25maWd1cmF0aW9uLnNob3dHcmlkKSB7XHJcbiAgICAgIHRoaXMuZ3JpZENvbmZpZ3VyYXRpb24uZm9ybUNvZGVGb3JKc29uSGVhZGVyID0gJ0NVRkEnO1xyXG4gICAgICB0aGlzLmdyaWRDb25maWd1cmF0aW9uLmZvcm1Db2RlRm9yR3JpZFBlcm1pc3Npb25zID0gdGhpcy5jdXN0b21lckZhcm1Db25maWd1cmF0aW9uLmN1c3RvbWVyRmFybUdyaWRDb25maWdyYXRpb24uZm9ybUNvZGVGb3JHcmlkUGVybWlzc2lvbjtcclxuICAgICAgdGhpcy5ncmlkQ29uZmlndXJhdGlvbi5zaG93TW9kYWwgPSB0cnVlO1xyXG4gICAgICBhd2FpdCB0aGlzLnBlcm1pc3Npb25NZXRob2QoKTtcclxuICAgICAgLy90aGlzLmdyaWRDb25maWd1cmF0aW9uLmFjdGlvbnMgPSB7ICdWaWV3JzogZmFsc2UsICdFZGl0JzogdHJ1ZSwgJ0RlbGV0ZSc6IHRydWUsICdHZW5lcmF0ZSBQREYnOiBmYWxzZSB9OyAgXHJcbiAgICAgIHRoaXMuR2V0TGlzdERhdGEoKTtcclxuICAgICAgLy90aGlzLmdldFdhcmVob3VzZUxpc3QoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0V2FyZWhvdXNlTGlzdCgpO1xyXG5cclxuICAgIHRoaXMuY3VzdG9tZXJGYXJtRm9ybS5nZXQoJ2N1c3RvbWVyTmFtZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgIHRoaXMuY3VzdG9tZXJGYXJtU2VydmljZS51cGRhdGVDdXN0b21lck5hbWUodmFsdWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcGVybWlzc2lvbk1ldGhvZCgpIHtcclxuICAgIHRoaXMudXNlckRhdGEgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic2Vzc2lvblVzZXJcIikpO1xyXG4gICAgY29uc3QgZ2V0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmFwcGxpY2F0aW9uUm9sZU1lbnVzU2VydmljZS5HZXRBc3NpZ25lZFJvbGVBdXRoKHRoaXMudXNlckRhdGEuc2Vzc2lvblVzZXIudXNlckVtYWlsLCB0aGlzLmdyaWRDb25maWd1cmF0aW9uLmZvcm1Db2RlRm9yR3JpZFBlcm1pc3Npb25zKTtcclxuICAgIHRoaXMucGVybWlzc2lvbiA9IGdldFJlc3BvbnNlLmFwaURhdGFbMF07XHJcbiAgICB0aGlzLkhpZGVBZGRCdXR0b24gPSB0aGlzLnBlcm1pc3Npb24uY2FuQWRkID09IGZhbHNlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgRGVjbGFyZUZvcm0oKSB7XHJcbiAgICB0aGlzLmN1c3RvbWVyRmFybUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgcmVjb3JkSWQ6IFtudWxsXSxcclxuICAgICAgY3VzdG9tZXJJZDogW251bGxdLFxyXG4gICAgICBjbGllbnROdW1iZXI6IFtudWxsXSxcclxuICAgICAgY3VzdG9tZXJOYW1lOiBbbnVsbF0sXHJcbiAgICAgIGRlZmF1bHRXYXJlaG91c2U6IFtudWxsXSxcclxuICAgICAgcGVyc29uSW5DaGFyZ2U6IFtudWxsXSxcclxuICAgICAgZGlzcGxheU5hbWU6IFtudWxsXSxcclxuICAgICAgcHJpbWFyeVZldElkOiBbbnVsbF0sXHJcbiAgICAgIFBJQ1RhdHRvbzogW251bGxdLFxyXG4gICAgICBpc0FjdGl2ZTogW3RydWVdXHJcbiAgICB9KTtcclxuICAgIHRoaXMub25DaGFuZ2VzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuY3VzdG9tZXJGYXJtQ29uZmlndXJhdGlvbi5yZXF1aXJlZEN1c3RvbWVyRmFybUZpZWxkcy5jdXN0b21lck5hbWUpIHtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmdldCgnY3VzdG9tZXJOYW1lJykuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmdldCgnY3VzdG9tZXJOYW1lJykuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnBhdHRlcm4oJ15bYS16QS1aIF0qJCcpKTtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmdldCgnY3VzdG9tZXJOYW1lJykuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jdXN0b21lckZhcm1Db25maWd1cmF0aW9uLnJlcXVpcmVkQ3VzdG9tZXJGYXJtRmllbGRzLmNsaWVudE51bWJlcikge1xyXG4gICAgICB0aGlzLmN1c3RvbWVyRmFybUZvcm0uZ2V0KCdjbGllbnROdW1iZXInKS5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICB0aGlzLmN1c3RvbWVyRmFybUZvcm0uZ2V0KCdjbGllbnROdW1iZXInKS5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24ucmVxdWlyZWRDdXN0b21lckZhcm1GaWVsZHMuZGVmYXVsdFdhcmVob3VzZSkge1xyXG4gICAgICB0aGlzLmN1c3RvbWVyRmFybUZvcm0uZ2V0KCdkZWZhdWx0V2FyZWhvdXNlJykuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24ucmVxdWlyZWRDdXN0b21lckZhcm1GaWVsZHMucGVyc29uSW5DaGFyZ2UpIHtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmdldCgncGVyc29uSW5DaGFyZ2UnKS5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY3VzdG9tZXJGYXJtQ29uZmlndXJhdGlvbi5yZXF1aXJlZEN1c3RvbWVyRmFybUZpZWxkcy5wcmltYXJ5VmV0SWQpIHtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmdldCgncHJpbWFyeVZldElkJykuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vc3RhbmRhcmQgbWV0aG9kcy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4gIG9uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VzdG9tZXJGYXJtRm9ybS5nZXQoJ2N1c3RvbWVyTmFtZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLnBhdGNoVmFsdWUoe1xyXG4gICAgICAgIGRpc3BsYXlOYW1lOiB2YWxcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogZWRpdCBkYXRhIGxpc3QgaXRlbSB1c2luZyBkYXRhIGl0ZW0gR1VJRFxyXG4gICAqXHJcbiAgICogQHBhcmFtIGN1c3RvbWVySWRcclxuICAgKlxyXG4gICAqICBnZXRzIGN1c3RvbWVyIEdVSUQgZnJvbSBncmlkRGF0YSBhbmQgcGFzc2VzIGl0IHRvIHRoaXMgZnVuY3Rpb25cclxuICAgKi9cclxuICBhc3luYyBFZGl0RGF0YShjdXN0b21lcklkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGdldFJlc3BvbnNlID0gYXdhaXQgdGhpcy5jdXN0b21lckZhcm1TZXJ2aWNlLkdldERhdGFCeUlkKGN1c3RvbWVySWQpO1xyXG4gICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmNvbnRyb2xzWydyZWNvcmRJZCddLnNldFZhbHVlKGdldFJlc3BvbnNlLmFwaURhdGEucmVjb3JkSWQpO1xyXG4gICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmNvbnRyb2xzWydjdXN0b21lcklkJ10uc2V0VmFsdWUoZ2V0UmVzcG9uc2UuYXBpRGF0YS5jdXN0b21lcklkKTtcclxuICAgIHRoaXMuY3VzdG9tZXJGYXJtRm9ybS5jb250cm9sc1snY2xpZW50TnVtYmVyJ10uc2V0VmFsdWUoZ2V0UmVzcG9uc2UuYXBpRGF0YS5jbGllbnROdW1iZXIpO1xyXG4gICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmNvbnRyb2xzWydjdXN0b21lck5hbWUnXS5zZXRWYWx1ZShnZXRSZXNwb25zZS5hcGlEYXRhLmN1c3RvbWVyTmFtZSk7XHJcbiAgICB0aGlzLmN1c3RvbWVyRmFybUZvcm0uY29udHJvbHNbJ2RlZmF1bHRXYXJlaG91c2UnXS5zZXRWYWx1ZShnZXRSZXNwb25zZS5hcGlEYXRhLmRlZmF1bHRXYXJlaG91c2UpO1xyXG4gICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmNvbnRyb2xzWydwZXJzb25JbkNoYXJnZSddLnNldFZhbHVlKGdldFJlc3BvbnNlLmFwaURhdGEucGVyc29uSW5DaGFyZ2UpO1xyXG4gICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmNvbnRyb2xzWydkaXNwbGF5TmFtZSddLnNldFZhbHVlKGdldFJlc3BvbnNlLmFwaURhdGEuZGlzcGxheU5hbWUpO1xyXG4gICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmNvbnRyb2xzWydwcmltYXJ5VmV0SWQnXS5zZXRWYWx1ZShnZXRSZXNwb25zZS5hcGlEYXRhLnByaW1hcnlWZXRJZCk7XHJcbiAgICB0aGlzLmN1c3RvbWVyRmFybUZvcm0uY29udHJvbHNbJ1BJQ1RhdHRvbyddLnNldFZhbHVlKGdldFJlc3BvbnNlLmFwaURhdGEucGljVGF0dG9vKTtcclxuICAgIHRoaXMuY3VzdG9tZXJGYXJtRm9ybS5jb250cm9sc1snaXNBY3RpdmUnXS5zZXRWYWx1ZShnZXRSZXNwb25zZS5hcGlEYXRhLmlzQWN0aXZlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogdGhpcyBtZXRob2QgY29udmVydHMgYWxsIGZvcm0gaW5wdXRzIGludG8gbW9kZWwgY2xhc3NcclxuICAgKlxyXG4gICAqIEByZXR1cm5zIG1vZGVsIHdpdGggbmV3IGZvcm0gdmFsdWVzXHJcbiAgICovXHJcbiAgQ29udmVydEZvcm1Ub01vZGVsKCkge1xyXG4gICAgY29uc3QgY3VzdG9tZXJGYXJtTW9kZWwgPSBuZXcgQ3VzdG9tZXJGYXJtTW9kZWwoKTtcclxuICAgIGN1c3RvbWVyRmFybU1vZGVsLnJlY29yZElkID0gdGhpcy5jdXN0b21lckZhcm1Gb3JtLnZhbHVlLnJlY29yZElkO1xyXG4gICAgY3VzdG9tZXJGYXJtTW9kZWwuY2xpZW50TnVtYmVyID0gdGhpcy5jdXN0b21lckZhcm1Gb3JtLnZhbHVlLmNsaWVudE51bWJlcjtcclxuICAgIGN1c3RvbWVyRmFybU1vZGVsLmN1c3RvbWVyTmFtZSA9IHRoaXMuY3VzdG9tZXJGYXJtRm9ybS52YWx1ZS5jdXN0b21lck5hbWU7XHJcbiAgICBjdXN0b21lckZhcm1Nb2RlbC5kZWZhdWx0V2FyZWhvdXNlID0gdGhpcy5jdXN0b21lckZhcm1Gb3JtLnZhbHVlLmRlZmF1bHRXYXJlaG91c2U7XHJcbiAgICBjdXN0b21lckZhcm1Nb2RlbC5wZXJzb25JbkNoYXJnZSA9IHRoaXMuY3VzdG9tZXJGYXJtRm9ybS52YWx1ZS5wZXJzb25JbkNoYXJnZTtcclxuICAgIGN1c3RvbWVyRmFybU1vZGVsLmRpc3BsYXlOYW1lID0gdGhpcy5jdXN0b21lckZhcm1Gb3JtLnZhbHVlLmRpc3BsYXlOYW1lO1xyXG4gICAgY3VzdG9tZXJGYXJtTW9kZWwucHJpbWFyeVZldElkID0gdGhpcy5jdXN0b21lckZhcm1Gb3JtLnZhbHVlLnByaW1hcnlWZXRJZDtcclxuICAgIGN1c3RvbWVyRmFybU1vZGVsLlBJQ1RhdHRvbyA9IHRoaXMuY3VzdG9tZXJGYXJtRm9ybS52YWx1ZS5QSUNUYXR0b287XHJcbiAgICBjdXN0b21lckZhcm1Nb2RlbC5jdXN0b21lcklkID0gdGhpcy5jdXN0b21lckZhcm1Db25maWd1cmF0aW9uLmN1c3RvbWVySWQ7XHJcbiAgICBjdXN0b21lckZhcm1Nb2RlbC5mb3JtQ29kZSA9IHRoaXMuY3VzdG9tZXJGYXJtQ29uZmlndXJhdGlvbi5mb3JtQ29kZTtcclxuXHJcbiAgICByZXR1cm4gY3VzdG9tZXJGYXJtTW9kZWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKiBjbGVhciBmb3JtIGRhdGFcclxuICAgKi9cclxuICBDbGVhckZvcm0oKSB7XHJcbiAgICB0aGlzLkRlY2xhcmVGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBlbWl0RGF0YVRvUGFyZW50KCkge1xyXG4gICAgbGV0IGN1c3RvbWVyRmFybU1vZGVsID0gbmV3IEN1c3RvbWVyRmFybU1vZGVsKCk7XHJcbiAgICBjdXN0b21lckZhcm1Nb2RlbCA9IHRoaXMuQ29udmVydEZvcm1Ub01vZGVsKCk7XHJcbiAgICB0aGlzLmN1c3RvbWVyRmFybURhdGEuZW1pdChjdXN0b21lckZhcm1Nb2RlbCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIEluc2VydCBjdXN0b21lciBkYXRhIGludG8gZGF0YWJhc2VcclxuICAgKi9cclxuICBwdWJsaWMgYXN5bmMgSW5zZXJ0RGF0YSgpIHtcclxuICAgIGxldCBjdXN0b21lckZhcm1Nb2RlbCA9IG5ldyBDdXN0b21lckZhcm1Nb2RlbCgpO1xyXG4gICAgY3VzdG9tZXJGYXJtTW9kZWwgPSB0aGlzLkNvbnZlcnRGb3JtVG9Nb2RlbCgpO1xyXG4gICAgY29uc3QgZ2V0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmN1c3RvbWVyRmFybVNlcnZpY2UuSW5zZXJ0RGF0YShjdXN0b21lckZhcm1Nb2RlbCk7XHJcbiAgICB0aGlzLnVzZXJNZXNzYWdlcyA9IGdldFJlc3BvbnNlLm1lc3NhZ2UudXNlck1lc3NhZ2U7XHJcbiAgICBpZiAodGhpcy5jdXN0b21lckZhcm1Db25maWd1cmF0aW9uLnVzZXJNZXNzYWdlcykge1xyXG4gICAgICB0aGlzLnRvYXN0ci5TaG93U3VjY2Vzcyh0aGlzLnVzZXJNZXNzYWdlcy50b1N0cmluZygpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogdXBkYXRlIGN1c3RvbWVyIGRhdGEgaW50byBkYXRhYmFzZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBhc3luYyBVcGRhdGVEYXRhKCkge1xyXG4gICAgbGV0IGN1c3RvbWVyRmFybU1vZGVsID0gbmV3IEN1c3RvbWVyRmFybU1vZGVsKCk7XHJcbiAgICBjdXN0b21lckZhcm1Nb2RlbCA9IHRoaXMuQ29udmVydEZvcm1Ub01vZGVsKCk7XHJcbiAgICBjb25zdCBnZXRSZXNwb25zZSA9IGF3YWl0IHRoaXMuY3VzdG9tZXJGYXJtU2VydmljZS5VcGRhdGVEYXRhKGN1c3RvbWVyRmFybU1vZGVsKTtcclxuICAgIHRoaXMudXNlck1lc3NhZ2VzID0gZ2V0UmVzcG9uc2UubWVzc2FnZS51c2VyTWVzc2FnZTtcclxuICAgIGlmICh0aGlzLmN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24udXNlck1lc3NhZ2VzKSB7XHJcbiAgICAgIHRoaXMudG9hc3RyLlNob3dTdWNjZXNzKHRoaXMudXNlck1lc3NhZ2VzLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgKiBAZGVzY3JpcHRpb25cclxuICAqXHJcbiAgKiBEZWxldGUgY3VzdG9tZXIgZGF0YSBpbnRvIGRhdGFiYXNlXHJcbiAgKi9cclxuICBwdWJsaWMgYXN5bmMgRGVsZXRlRGF0YSh2YWx1ZSkge1xyXG4gICAgY29uc3QgZ2V0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmN1c3RvbWVyRmFybVNlcnZpY2UuRGVsZXRlRGF0YSh2YWx1ZSk7XHJcbiAgICB0aGlzLnVzZXJNZXNzYWdlcyA9IGdldFJlc3BvbnNlLm1lc3NhZ2UudXNlck1lc3NhZ2U7XHJcbiAgICBpZiAodGhpcy5jdXN0b21lckZhcm1Db25maWd1cmF0aW9uLnVzZXJNZXNzYWdlcykge1xyXG4gICAgICB0aGlzLnRvYXN0ci5TaG93U3VjY2Vzcyh0aGlzLnVzZXJNZXNzYWdlcy50b1N0cmluZygpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBcclxuICAgICAqIEdyaWQgZXZlbnRzIGNhbGxzXHJcbiAgICAgKi9cclxuICBoYW5kbGVHcmlkRXZlbnRzKGdyaWRFdmVudHM6IEdyaWRFdmVudHNNb2RlbCkge1xyXG4gICAgZ3JpZEV2ZW50cy5lZGl0UmVjb3JkLnN1YnNjcmliZSgocmVjb3JkSWQpID0+IHtcclxuICAgICAgdGhpcy5oaWRlQnV0dG9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzVmlld0NhbGwgPSBmYWxzZTtcclxuICAgICAgdGhpcy5FZGl0RGF0YShyZWNvcmRJZCk7XHJcbiAgICAgIHRoaXMuY3VzdG9tZXJGYXJtRm9ybS5lbmFibGUoKTtcclxuICAgIH0pO1xyXG4gICAgZ3JpZEV2ZW50cy5kZWxldGVSZWNvcmQuc3Vic2NyaWJlKChyZWNvcmRJZCkgPT4ge1xyXG4gICAgICB0aGlzLkRlbGV0ZURhdGEocmVjb3JkSWQpO1xyXG4gICAgfSk7XHJcbiAgICBncmlkRXZlbnRzLnZpZXdSZWNvcmQuc3Vic2NyaWJlKGFzeW5jIChyZWNvcmRJZCkgPT4ge1xyXG4gICAgICB0aGlzLkVkaXREYXRhKHJlY29yZElkKTtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmRpc2FibGUoKTtcclxuXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRXYXJlaG91c2VMaXN0KCkge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgZ2V0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmN1c3RvbWVyRmFybVNlcnZpY2UuR2V0V2FyZWhvdXNlRHJvcGRvd25MaXN0KCk7XHJcbiAgICAgIHRoaXMud2FyZWhvdXNlTGlzdCA9IGdldFJlc3BvbnNlLmFwaURhdGE7XHJcbiAgICB9XHJcbiAgICBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgdGhpcy5lcnJvckxvZ1NlcnZpY2Uuc2F2ZUVycm9yKGVycm9yKTtcclxuICAgICAgdGhpcy50b2FzdHIuU2hvd0FsbEVycm9ycyhlcnJvci5lcnJvci5tZXNzYWdlLnVzZXJNZXNzYWdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAqIGdldCBkYXRhIGZvciBDdXN0b21lciBncmlkIGxpc3RcclxuICAgICovXHJcbiAgcHVibGljIGFzeW5jIEdldExpc3REYXRhKCkge1xyXG4gICAgY29uc3QgY3VzdG9tZXJGYXJtTW9kZWwgPSBuZXcgQ3VzdG9tZXJGYXJtTW9kZWwoKTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IGdldFJlc3BvbnNlID0gYXdhaXQgdGhpcy5jdXN0b21lckZhcm1TZXJ2aWNlLkdldExpc3REYXRhKGN1c3RvbWVyRmFybU1vZGVsKTtcclxuICAgICAgZ2V0UmVzcG9uc2UuYXBpRGF0YS5mb3JFYWNoKHJlY29yZCA9PiB7XHJcbiAgICAgICAgcmVjb3JkLmNyZWF0ZWRPblVUQyA9IG5ldyBEYXRlKHJlY29yZC5jcmVhdGVkT25VVEMpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5ncmlkRGF0YSA9IGdldFJlc3BvbnNlLmFwaURhdGE7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICB0aGlzLmVycm9yTG9nU2VydmljZS5zYXZlRXJyb3IoZXJyb3IpO1xyXG4gICAgICB0aGlzLnRvYXN0ci5TaG93QWxsRXJyb3JzKGVycm9yLmVycm9yLm1lc3NhZ2UudXNlck1lc3NhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBmbGV4LWF1dG8gbWluLXctMCB3LWZ1bGxcIj5cclxuICAgIDwhLS0gZm9ybSBjb2RlIHN0YXJ0cyBoZXJlIC0tPlxyXG4gICAgPCEtLWNvbnRlbnQtLT5cclxuICAgIDxkaXYgY2xhc3M9XCJzbTp3LWZ1bGwgb3ZlcmZsb3ctaGlkZGVuXCIgKm5nSWY9XCJjdXN0b21lckZhcm1Db25maWd1cmF0aW9uLnNob3dNb2RhbFwiPlxyXG5cclxuICAgICAgICA8IS0tZm9ybSBib2R5LS0+XHJcbiAgICAgICAgPGZvcm0gY2xhc3M9XCJmbGV4IGZsZXgtY29sIG92ZXJmbG93LWhpZGRlblwiIFtmb3JtR3JvdXBdPVwiY3VzdG9tZXJGYXJtRm9ybVwiPlxyXG4gICAgICAgICAgICA8IS0tIEN1c3RvbWVyIEZhcm0gc2VjdGlvbiBzdGFydCAgLS0+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic206ZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctZnVsbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbTpmbGV4IHB4LTggcHQtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4LWF1dG8gdy1mdWxsIG1yLTRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXN0b21lckZhcm1Db25maWd1cmF0aW9uLmFsbG93ZWRDdXN0b21lckZhcm1GaWVsZHMuY2xpZW50TnVtYmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkNsaWVudCBOdW1iZXI8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBpZD1cImNsaWVudE51bWJlclwiIHBsYWNlaG9sZGVyPVwiQ2xpZW50IE51bWJlclwiIG1pbmxlbmd0aD1cIjNcIiBbZm9ybUNvbnRyb2xOYW1lXT1cIidjbGllbnROdW1iZXInXCIgKGNoYW5nZSk9XCJlbWl0RGF0YVRvUGFyZW50KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImN1c3RvbWVyRmFybUZvcm0uZ2V0KCdjbGllbnROdW1iZXInKS5oYXNFcnJvcigncmVxdWlyZWQnKSAmJiBjdXN0b21lckZhcm1Db25maWd1cmF0aW9uLnJlcXVpcmVkQ3VzdG9tZXJGYXJtRmllbGRzLmNsaWVudE51bWJlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaWVudCBOdW1iZXIgaXMgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImN1c3RvbWVyRmFybUZvcm0uZ2V0KCdjbGllbnROdW1iZXInKS5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbGllbnQgTnVtYmVyIG11c3QgYmUgb2YgYXRsZWFzdCAzIGNoYXJhY3RlcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXgtYXV0byB3LWZ1bGxcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic206ZmxleCBweC04IHB0LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleC1hdXRvIHctZnVsbCBtci00XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VzdG9tZXJGYXJtQ29uZmlndXJhdGlvbi5hbGxvd2VkQ3VzdG9tZXJGYXJtRmllbGRzLmN1c3RvbWVyTmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5DbGllbnQgTmFtZTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGlkPVwiY3VzdG9tZXJOYW1lXCIgcGxhY2Vob2xkZXI9XCJDbGllbnQgTmFtZVwiIHBhdHRlcm49XCJeW2EtekEtWiBdKiRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmxlbmd0aD1cIjNcIiBbZm9ybUNvbnRyb2xOYW1lXT1cIidjdXN0b21lck5hbWUnXCIgKGNoYW5nZSk9XCJlbWl0RGF0YVRvUGFyZW50KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImN1c3RvbWVyRmFybUZvcm0uZ2V0KCdjdXN0b21lck5hbWUnKS5oYXNFcnJvcigncmVxdWlyZWQnKSAmJiBjdXN0b21lckZhcm1Db25maWd1cmF0aW9uLnJlcXVpcmVkQ3VzdG9tZXJGYXJtRmllbGRzLmN1c3RvbWVyTmFtZSBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbGllbnQgTmFtZSBpcyByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY3VzdG9tZXJGYXJtRm9ybS5nZXQoJ2N1c3RvbWVyTmFtZScpLmhhc0Vycm9yKCdwYXR0ZXJuJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQbGVhc2UgZW50ZXIgdmFsaWQgQ2xpZW50IG5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImN1c3RvbWVyRmFybUZvcm0uZ2V0KCdjdXN0b21lck5hbWUnKS5oYXNFcnJvcignbWlubGVuZ3RoJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbGllbnQgbmFtZSBtdXN0IGJlIG9mIGF0bGVhc3QgMyBjaGFyYWN0ZXJzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXgtYXV0byB3LWZ1bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXN0b21lckZhcm1Db25maWd1cmF0aW9uLmFsbG93ZWRDdXN0b21lckZhcm1GaWVsZHMuZGVmYXVsdFdhcmVob3VzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5EZWZhdWx0IFdhcmVob3VzZTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgbWF0U2VsZWN0IFtmb3JtQ29udHJvbE5hbWVdPVwiJ2RlZmF1bHRXYXJlaG91c2UnXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJlbWl0RGF0YVRvUGFyZW50KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgd2FyZWhvdXNlIG9mIHdhcmVob3VzZUxpc3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIndhcmVob3VzZS5kYXRhVmFsdWVcIj57e3dhcmVob3VzZS5kYXRhVGV4dH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXN0b21lckZhcm1Gb3JtLmdldCgnZGVmYXVsdFdhcmVob3VzZScpLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24ucmVxdWlyZWRDdXN0b21lckZhcm1GaWVsZHMuZGVmYXVsdFdhcmVob3VzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1bHQgV2FyZWhvdXNlIGlzIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNtOmZsZXggcHgtOCBwdC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXgtYXV0byB3LWZ1bGwgbXItNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24uYWxsb3dlZEN1c3RvbWVyRmFybUZpZWxkcy5wZXJzb25JbkNoYXJnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5QZXJzb24gSW4gQ2hhcmdlPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgaWQ9XCJwZXJzb25JbkNoYXJnZVwiIHBsYWNlaG9sZGVyPVwiUGVyc29uIEluIENoYXJnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCIncGVyc29uSW5DaGFyZ2UnXCIgKGNoYW5nZSk9XCJlbWl0RGF0YVRvUGFyZW50KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImN1c3RvbWVyRmFybUZvcm0uZ2V0KCdwZXJzb25JbkNoYXJnZScpLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24ucmVxdWlyZWRDdXN0b21lckZhcm1GaWVsZHMucGVyc29uSW5DaGFyZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZXJzb24gSW4gQ2hhcmdlIGlzIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXgtYXV0byB3LWZ1bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXN0b21lckZhcm1Db25maWd1cmF0aW9uLmFsbG93ZWRDdXN0b21lckZhcm1GaWVsZHMuZGlzcGxheU5hbWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+RGlzcGxheSBOYW1lPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgaWQ9XCJkaXNwbGF5TmFtZVwiIHBsYWNlaG9sZGVyPVwiRGlzcGxheSBOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidkaXNwbGF5TmFtZSdcIiAoY2hhbmdlKT1cImVtaXREYXRhVG9QYXJlbnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic206ZmxleCBweC04IHB0LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleC1hdXRvIHctZnVsbCBtci00XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VzdG9tZXJGYXJtQ29uZmlndXJhdGlvbi5hbGxvd2VkQ3VzdG9tZXJGYXJtRmllbGRzLnByaW1hcnlWZXRJZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5QcmltYXJ5IFZldDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGlkPVwicHJpbWFyeVZldElkXCIgcGxhY2Vob2xkZXI9XCJQcmltYXJ5IFZldFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCIncHJpbWFyeVZldElkJ1wiIChjaGFuZ2UpPVwiZW1pdERhdGFUb1BhcmVudCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXN0b21lckZhcm1Gb3JtLmdldCgncHJpbWFyeVZldElkJykuaGFzRXJyb3IoJ3JlcXVpcmVkJykgJiYgY3VzdG9tZXJGYXJtQ29uZmlndXJhdGlvbi5yZXF1aXJlZEN1c3RvbWVyRmFybUZpZWxkcy5wcmltYXJ5VmV0SWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmltYXJ5IFZldCBpcyByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4LWF1dG8gdy1mdWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VzdG9tZXJGYXJtQ29uZmlndXJhdGlvbi5hbGxvd2VkQ3VzdG9tZXJGYXJtRmllbGRzLlBJQ1RhdHRvb1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5QSUMvVGF0dG9vIChpZiBhcHBsaWNhYmxlKTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGlkPVwiUElDVGF0dG9vXCIgcGxhY2Vob2xkZXI9XCJQSUMvVGF0dG9vXCIgW2Zvcm1Db250cm9sTmFtZV09XCInUElDVGF0dG9vJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJlbWl0RGF0YVRvUGFyZW50KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwhLS0gQ3VzdG9tZXIgRmFybSBzZWN0aW9uIEVuZCAgLS0+XHJcblxyXG4gICAgICAgIDwvZm9ybT5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLSBmb3JtIGNvZGUgZW5kcyBoZXJlIC0tPlxyXG5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJjdXN0b21lckZhcm1Db25maWd1cmF0aW9uLnNob3dHcmlkXCI+XHJcbiAgICA8bGliLWtlbmRvLWdyaWQtdmlldyBbY29uZmlndXJhdGlvbl09XCJncmlkQ29uZmlndXJhdGlvblwiIChldmVudHMpPVwiaGFuZGxlR3JpZEV2ZW50cygkZXZlbnQpXCI+PC9saWIta2VuZG8tZ3JpZC12aWV3PlxyXG4gIDwvZGl2PlxyXG4iXX0=
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZmFybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jdXN0b21lci1mYXJtL3NyYy9saWIvY3VzdG9tZXItZmFybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jdXN0b21lci1mYXJtL3NyYy9saWIvY3VzdG9tZXItZmFybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEcsT0FBTyxFQUFtRiwrQkFBK0IsRUFBNkIsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7OztBQVF2TCxNQUFNLE9BQU8scUJBQXFCO0lBa0JoQyxZQUFvQixtQkFBd0MsRUFDbEQsU0FBMkIsRUFDM0IsMkJBQXdELEVBQ3hELFdBQXdCLEVBQ3hCLGVBQWdDLEVBQ2hDLE1BQWlDO1FBTHZCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDbEQsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQUN4RCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBMkI7UUF0QmpDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDckMsOEJBQXlCLEdBQWtDLElBQUksNkJBQTZCLEVBQUUsQ0FBQztRQUUvRyxpQkFBWSxHQUFhLEVBQUUsQ0FBQztRQUNyQixhQUFRLEdBQVUsRUFBRSxDQUFDO1FBQzVCLHNCQUFpQixHQUFvQyxJQUFJLCtCQUErQixFQUFFLENBQUM7UUFDM0YsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4QixrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUcxQixlQUFVLEdBQVEsRUFBRSxDQUFDO1FBQ3JCLGFBQVEsR0FBUSxFQUFFLENBQUM7UUFXakIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQztRQUN0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLDRCQUE0QixDQUFDLHlCQUF5QixDQUFDO0lBQzVJLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQztZQUN0RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLDRCQUE0QixDQUFDLHlCQUF5QixDQUFDO1lBQzFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDOUIsNEdBQTRHO1lBQzVHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuQiwwQkFBMEI7U0FDM0I7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN6RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLDJCQUEyQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUN2SyxJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDO1lBQzdDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNoQixVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDbEIsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ3BCLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQztZQUNwQixnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQztZQUN4QixjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDdEIsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ25CLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQztZQUNwQixTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDakIsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDO1NBQ2pCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVqQixJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQywwQkFBMEIsQ0FBQyxZQUFZLEVBQUU7WUFDMUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUM1RixJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEY7UUFDRCxJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQywwQkFBMEIsQ0FBQyxZQUFZLEVBQUU7WUFDMUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsRjtRQUNELElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLDBCQUEwQixDQUFDLG9CQUFvQixFQUFFO1lBQ2xGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUM7U0FDakg7UUFDRCxJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQywwQkFBMEIsQ0FBQyxnQkFBZ0IsRUFBRTtZQUM5RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNsRjtRQUNELElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLDBCQUEwQixDQUFDLGNBQWMsRUFBRTtZQUM1RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNoRjtRQUNELElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLDBCQUEwQixDQUFDLFlBQVksRUFBRTtZQUMxRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDOUU7SUFDSCxDQUFDO0lBRUQsd0dBQXdHO0lBRXhHLFNBQVM7UUFDUCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztnQkFDL0IsV0FBVyxFQUFFLEdBQUc7YUFDakIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQWtCO1FBQy9CLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2xHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM5RixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxrQkFBa0I7UUFDaEIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDbEQsaUJBQWlCLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ2xFLGlCQUFpQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUMxRSxpQkFBaUIsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDO1FBQzFGLGlCQUFpQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUMxRSxpQkFBaUIsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1FBQ2xGLGlCQUFpQixDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUM5RSxpQkFBaUIsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDeEUsaUJBQWlCLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQzFFLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNwRSxpQkFBaUIsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFVBQVUsQ0FBQztRQUN6RSxpQkFBaUIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQztRQUVyRSxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLGlCQUFpQixHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUNoRCxpQkFBaUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsVUFBVTtRQUNyQixJQUFJLGlCQUFpQixHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUNoRCxpQkFBaUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM5QyxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3BELElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksRUFBRTtZQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLElBQUksaUJBQWlCLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ2hELGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzlDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUMseUJBQXlCLENBQUMsWUFBWSxFQUFFO1lBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUN2RDtJQUNILENBQUM7SUFFRDs7OztNQUlFO0lBQ0ssS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLO1FBQzNCLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ3BELElBQUksSUFBSSxDQUFDLHlCQUF5QixDQUFDLFlBQVksRUFBRTtZQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0lBRUQ7Ozs7U0FJSztJQUNMLGdCQUFnQixDQUFDLFVBQTJCO1FBQzFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzdDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLGdCQUFnQjtRQUMzQixJQUFJO1lBQ0YsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUM5RSxJQUFJLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7U0FDMUM7UUFDRCxPQUFPLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztJQUdEOzs7UUFHSTtJQUNHLEtBQUssQ0FBQyxXQUFXO1FBQ3RCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1FBQ2xELElBQUk7WUFDRixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNsRixXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDbkMsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUM7U0FDckM7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQzs7a0hBcFFVLHFCQUFxQjtzR0FBckIscUJBQXFCLGdMQ1hsQyxpclFBMkhBOzJGRGhIYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1CO21SQUtuQixnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ1MseUJBQXlCO3NCQUF4QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDdXN0b21lckZhcm1Db25maWdyYXRpb25Nb2RlbCwgQ3VzdG9tZXJGYXJtTW9kZWwgfSBmcm9tICcuL2RlcGVuZGVuY2llcy9jdXN0b21lci1mYXJtLW1vZGVsJztcclxuaW1wb3J0IHsgQXBwbGljYXRpb25Sb2xlTWVudXNTZXJ2aWNlLCBFcnJvckxvZ1NlcnZpY2UsIEdyaWRFdmVudHNNb2RlbCwgSnNvbkZvcm1zU2VydmljZSwgS2VuZG9Hcmlkdmlld0NvbmZpZ3VyYXRpb25Nb2RlbCwgVG9hc3RyTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJ0BxdWJlc2Vuc2UvYmFzZS1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEN1c3RvbWVyRmFybVNlcnZpY2UgfSBmcm9tICcuL2N1c3RvbWVyLWZhcm0uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1jdXN0b21lci1mYXJtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tZXItZmFybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tZXItZmFybS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21lckZhcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBPdXRwdXQoKSBjdXN0b21lckZhcm1EYXRhID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQElucHV0KCkgcHVibGljIGN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb246IEN1c3RvbWVyRmFybUNvbmZpZ3JhdGlvbk1vZGVsID0gbmV3IEN1c3RvbWVyRmFybUNvbmZpZ3JhdGlvbk1vZGVsKCk7XHJcbiAgY3VzdG9tZXJGYXJtRm9ybTogRm9ybUdyb3VwO1xyXG4gIHVzZXJNZXNzYWdlczogc3RyaW5nW10gPSBbXTtcclxuICBwdWJsaWMgZ3JpZERhdGE6IGFueVtdID0gW107XHJcbiAgZ3JpZENvbmZpZ3VyYXRpb246IEtlbmRvR3JpZHZpZXdDb25maWd1cmF0aW9uTW9kZWwgPSBuZXcgS2VuZG9Hcmlkdmlld0NvbmZpZ3VyYXRpb25Nb2RlbCgpO1xyXG4gIGhpZGVCdXR0b25zID0gZmFsc2U7XHJcbiAgaXNWaWV3Q2FsbCA9IGZhbHNlO1xyXG4gIHNwZWNpZXNMaXN0OiBhbnlbXSA9IFtdO1xyXG4gIHdhcmVob3VzZUxpc3Q6IGFueVtdID0gW107XHJcbiAgZmlsdGVyZWRDdXN0b21lcnM6IFtdO1xyXG5cclxuICBwZXJtaXNzaW9uOiBhbnkgPSBbXTtcclxuICB1c2VyRGF0YTogYW55ID0gW107XHJcbiAgSGlkZUFkZEJ1dHRvbjogYm9vbGVhbjtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY3VzdG9tZXJGYXJtU2VydmljZTogQ3VzdG9tZXJGYXJtU2VydmljZSxcclxuICAgIHByaXZhdGUganNvbkZvcm1zOiBKc29uRm9ybXNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhcHBsaWNhdGlvblJvbGVNZW51c1NlcnZpY2U6IEFwcGxpY2F0aW9uUm9sZU1lbnVzU2VydmljZSxcclxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxyXG4gICAgcHJpdmF0ZSBlcnJvckxvZ1NlcnZpY2U6IEVycm9yTG9nU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3RyOiBUb2FzdHJOb3RpZmljYXRpb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmdyaWRDb25maWd1cmF0aW9uLmZvcm1Db2RlRm9ySnNvbkhlYWRlciA9ICdDVUZBJztcclxuICAgIHRoaXMuZ3JpZENvbmZpZ3VyYXRpb24uZm9ybUNvZGVGb3JHcmlkUGVybWlzc2lvbnMgPSB0aGlzLmN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24uY3VzdG9tZXJGYXJtR3JpZENvbmZpZ3JhdGlvbi5mb3JtQ29kZUZvckdyaWRQZXJtaXNzaW9uO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLkRlY2xhcmVGb3JtKCk7XHJcbiAgICBpZiAodGhpcy5jdXN0b21lckZhcm1Db25maWd1cmF0aW9uLnNob3dHcmlkKSB7XHJcbiAgICAgIHRoaXMuZ3JpZENvbmZpZ3VyYXRpb24uZm9ybUNvZGVGb3JKc29uSGVhZGVyID0gJ0NVRkEnO1xyXG4gICAgICB0aGlzLmdyaWRDb25maWd1cmF0aW9uLmZvcm1Db2RlRm9yR3JpZFBlcm1pc3Npb25zID0gdGhpcy5jdXN0b21lckZhcm1Db25maWd1cmF0aW9uLmN1c3RvbWVyRmFybUdyaWRDb25maWdyYXRpb24uZm9ybUNvZGVGb3JHcmlkUGVybWlzc2lvbjtcclxuICAgICAgdGhpcy5ncmlkQ29uZmlndXJhdGlvbi5zaG93TW9kYWwgPSB0cnVlO1xyXG4gICAgICBhd2FpdCB0aGlzLnBlcm1pc3Npb25NZXRob2QoKTtcclxuICAgICAgLy90aGlzLmdyaWRDb25maWd1cmF0aW9uLmFjdGlvbnMgPSB7ICdWaWV3JzogZmFsc2UsICdFZGl0JzogdHJ1ZSwgJ0RlbGV0ZSc6IHRydWUsICdHZW5lcmF0ZSBQREYnOiBmYWxzZSB9OyAgXHJcbiAgICAgIHRoaXMuR2V0TGlzdERhdGEoKTtcclxuICAgICAgLy90aGlzLmdldFdhcmVob3VzZUxpc3QoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0V2FyZWhvdXNlTGlzdCgpO1xyXG5cclxuICAgIHRoaXMuY3VzdG9tZXJGYXJtRm9ybS5nZXQoJ2N1c3RvbWVyTmFtZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgIHRoaXMuY3VzdG9tZXJGYXJtU2VydmljZS51cGRhdGVDdXN0b21lck5hbWUodmFsdWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcGVybWlzc2lvbk1ldGhvZCgpIHtcclxuICAgIHRoaXMudXNlckRhdGEgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwic2Vzc2lvblVzZXJcIikpO1xyXG4gICAgY29uc3QgZ2V0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmFwcGxpY2F0aW9uUm9sZU1lbnVzU2VydmljZS5HZXRBc3NpZ25lZFJvbGVBdXRoKHRoaXMudXNlckRhdGEuc2Vzc2lvblVzZXIudXNlckVtYWlsLCB0aGlzLmdyaWRDb25maWd1cmF0aW9uLmZvcm1Db2RlRm9yR3JpZFBlcm1pc3Npb25zKTtcclxuICAgIHRoaXMucGVybWlzc2lvbiA9IGdldFJlc3BvbnNlLmFwaURhdGFbMF07XHJcbiAgICB0aGlzLkhpZGVBZGRCdXR0b24gPSB0aGlzLnBlcm1pc3Npb24uY2FuQWRkID09IGZhbHNlID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgRGVjbGFyZUZvcm0oKSB7XHJcbiAgICB0aGlzLmN1c3RvbWVyRmFybUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgcmVjb3JkSWQ6IFtudWxsXSxcclxuICAgICAgY3VzdG9tZXJJZDogW251bGxdLFxyXG4gICAgICBjbGllbnROdW1iZXI6IFtudWxsXSxcclxuICAgICAgc3RhbmRhcmREZWxpdmVyeUNvc3Q6IFswXSxcclxuICAgICAgY3VzdG9tZXJOYW1lOiBbbnVsbF0sXHJcbiAgICAgIGRlZmF1bHRXYXJlaG91c2U6IFtudWxsXSxcclxuICAgICAgcGVyc29uSW5DaGFyZ2U6IFtudWxsXSxcclxuICAgICAgZGlzcGxheU5hbWU6IFtudWxsXSxcclxuICAgICAgcHJpbWFyeVZldElkOiBbbnVsbF0sXHJcbiAgICAgIFBJQ1RhdHRvbzogW251bGxdLFxyXG4gICAgICBpc0FjdGl2ZTogW3RydWVdXHJcbiAgICB9KTtcclxuICAgIHRoaXMub25DaGFuZ2VzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuY3VzdG9tZXJGYXJtQ29uZmlndXJhdGlvbi5yZXF1aXJlZEN1c3RvbWVyRmFybUZpZWxkcy5jdXN0b21lck5hbWUpIHtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmdldCgnY3VzdG9tZXJOYW1lJykuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmdldCgnY3VzdG9tZXJOYW1lJykuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnBhdHRlcm4oJ15bYS16QS1aIF0qJCcpKTtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmdldCgnY3VzdG9tZXJOYW1lJykuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jdXN0b21lckZhcm1Db25maWd1cmF0aW9uLnJlcXVpcmVkQ3VzdG9tZXJGYXJtRmllbGRzLmNsaWVudE51bWJlcikge1xyXG4gICAgICB0aGlzLmN1c3RvbWVyRmFybUZvcm0uZ2V0KCdjbGllbnROdW1iZXInKS5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICB0aGlzLmN1c3RvbWVyRmFybUZvcm0uZ2V0KCdjbGllbnROdW1iZXInKS5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24ucmVxdWlyZWRDdXN0b21lckZhcm1GaWVsZHMuc3RhbmRhcmREZWxpdmVyeUNvc3QpIHtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmdldCgnc3RhbmRhcmREZWxpdmVyeUNvc3QnKS5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICB0aGlzLmN1c3RvbWVyRmFybUZvcm0uZ2V0KCdzdGFuZGFyZERlbGl2ZXJ5Q29zdCcpLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5wYXR0ZXJuKCdeWzAtOV0rKFxcXFwuWzAtOV17MSwyfSk/JCcpKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24ucmVxdWlyZWRDdXN0b21lckZhcm1GaWVsZHMuZGVmYXVsdFdhcmVob3VzZSkge1xyXG4gICAgICB0aGlzLmN1c3RvbWVyRmFybUZvcm0uZ2V0KCdkZWZhdWx0V2FyZWhvdXNlJykuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24ucmVxdWlyZWRDdXN0b21lckZhcm1GaWVsZHMucGVyc29uSW5DaGFyZ2UpIHtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmdldCgncGVyc29uSW5DaGFyZ2UnKS5hZGRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY3VzdG9tZXJGYXJtQ29uZmlndXJhdGlvbi5yZXF1aXJlZEN1c3RvbWVyRmFybUZpZWxkcy5wcmltYXJ5VmV0SWQpIHtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmdldCgncHJpbWFyeVZldElkJykuYWRkVmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vc3RhbmRhcmQgbWV0aG9kcy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4gIG9uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuY3VzdG9tZXJGYXJtRm9ybS5nZXQoJ2N1c3RvbWVyTmFtZScpLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLnBhdGNoVmFsdWUoe1xyXG4gICAgICAgIGRpc3BsYXlOYW1lOiB2YWxcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogZWRpdCBkYXRhIGxpc3QgaXRlbSB1c2luZyBkYXRhIGl0ZW0gR1VJRFxyXG4gICAqXHJcbiAgICogQHBhcmFtIGN1c3RvbWVySWRcclxuICAgKlxyXG4gICAqICBnZXRzIGN1c3RvbWVyIEdVSUQgZnJvbSBncmlkRGF0YSBhbmQgcGFzc2VzIGl0IHRvIHRoaXMgZnVuY3Rpb25cclxuICAgKi9cclxuICBhc3luYyBFZGl0RGF0YShjdXN0b21lcklkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGdldFJlc3BvbnNlID0gYXdhaXQgdGhpcy5jdXN0b21lckZhcm1TZXJ2aWNlLkdldERhdGFCeUlkKGN1c3RvbWVySWQpO1xyXG4gICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmNvbnRyb2xzWydyZWNvcmRJZCddLnNldFZhbHVlKGdldFJlc3BvbnNlLmFwaURhdGEucmVjb3JkSWQpO1xyXG4gICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmNvbnRyb2xzWydjdXN0b21lcklkJ10uc2V0VmFsdWUoZ2V0UmVzcG9uc2UuYXBpRGF0YS5jdXN0b21lcklkKTtcclxuICAgIHRoaXMuY3VzdG9tZXJGYXJtRm9ybS5jb250cm9sc1snY2xpZW50TnVtYmVyJ10uc2V0VmFsdWUoZ2V0UmVzcG9uc2UuYXBpRGF0YS5jbGllbnROdW1iZXIpO1xyXG4gICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmNvbnRyb2xzWydzdGFuZGFyZERlbGl2ZXJ5Q29zdCddLnNldFZhbHVlKGdldFJlc3BvbnNlLmFwaURhdGEuc3RhbmRhcmREZWxpdmVyeUNvc3QpO1xyXG4gICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmNvbnRyb2xzWydjdXN0b21lck5hbWUnXS5zZXRWYWx1ZShnZXRSZXNwb25zZS5hcGlEYXRhLmN1c3RvbWVyTmFtZSk7XHJcbiAgICB0aGlzLmN1c3RvbWVyRmFybUZvcm0uY29udHJvbHNbJ2RlZmF1bHRXYXJlaG91c2UnXS5zZXRWYWx1ZShnZXRSZXNwb25zZS5hcGlEYXRhLmRlZmF1bHRXYXJlaG91c2UpO1xyXG4gICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmNvbnRyb2xzWydwZXJzb25JbkNoYXJnZSddLnNldFZhbHVlKGdldFJlc3BvbnNlLmFwaURhdGEucGVyc29uSW5DaGFyZ2UpO1xyXG4gICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmNvbnRyb2xzWydkaXNwbGF5TmFtZSddLnNldFZhbHVlKGdldFJlc3BvbnNlLmFwaURhdGEuZGlzcGxheU5hbWUpO1xyXG4gICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmNvbnRyb2xzWydwcmltYXJ5VmV0SWQnXS5zZXRWYWx1ZShnZXRSZXNwb25zZS5hcGlEYXRhLnByaW1hcnlWZXRJZCk7XHJcbiAgICB0aGlzLmN1c3RvbWVyRmFybUZvcm0uY29udHJvbHNbJ1BJQ1RhdHRvbyddLnNldFZhbHVlKGdldFJlc3BvbnNlLmFwaURhdGEucGljVGF0dG9vKTtcclxuICAgIHRoaXMuY3VzdG9tZXJGYXJtRm9ybS5jb250cm9sc1snc3RhbmRhcmREZWxpdmVyeUNvc3QnXS5zZXRWYWx1ZShnZXRSZXNwb25zZS5hcGlEYXRhLnN0YW5kYXJkRGVsaXZlcnlDb3N0KTtcclxuICAgIHRoaXMuY3VzdG9tZXJGYXJtRm9ybS5jb250cm9sc1snaXNBY3RpdmUnXS5zZXRWYWx1ZShnZXRSZXNwb25zZS5hcGlEYXRhLmlzQWN0aXZlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogdGhpcyBtZXRob2QgY29udmVydHMgYWxsIGZvcm0gaW5wdXRzIGludG8gbW9kZWwgY2xhc3NcclxuICAgKlxyXG4gICAqIEByZXR1cm5zIG1vZGVsIHdpdGggbmV3IGZvcm0gdmFsdWVzXHJcbiAgICovXHJcbiAgQ29udmVydEZvcm1Ub01vZGVsKCkge1xyXG4gICAgY29uc3QgY3VzdG9tZXJGYXJtTW9kZWwgPSBuZXcgQ3VzdG9tZXJGYXJtTW9kZWwoKTtcclxuICAgIGN1c3RvbWVyRmFybU1vZGVsLnJlY29yZElkID0gdGhpcy5jdXN0b21lckZhcm1Gb3JtLnZhbHVlLnJlY29yZElkO1xyXG4gICAgY3VzdG9tZXJGYXJtTW9kZWwuY2xpZW50TnVtYmVyID0gdGhpcy5jdXN0b21lckZhcm1Gb3JtLnZhbHVlLmNsaWVudE51bWJlcjtcclxuICAgIGN1c3RvbWVyRmFybU1vZGVsLnN0YW5kYXJkRGVsaXZlcnlDb3N0ID0gdGhpcy5jdXN0b21lckZhcm1Gb3JtLnZhbHVlLnN0YW5kYXJkRGVsaXZlcnlDb3N0O1xyXG4gICAgY3VzdG9tZXJGYXJtTW9kZWwuY3VzdG9tZXJOYW1lID0gdGhpcy5jdXN0b21lckZhcm1Gb3JtLnZhbHVlLmN1c3RvbWVyTmFtZTtcclxuICAgIGN1c3RvbWVyRmFybU1vZGVsLmRlZmF1bHRXYXJlaG91c2UgPSB0aGlzLmN1c3RvbWVyRmFybUZvcm0udmFsdWUuZGVmYXVsdFdhcmVob3VzZTtcclxuICAgIGN1c3RvbWVyRmFybU1vZGVsLnBlcnNvbkluQ2hhcmdlID0gdGhpcy5jdXN0b21lckZhcm1Gb3JtLnZhbHVlLnBlcnNvbkluQ2hhcmdlO1xyXG4gICAgY3VzdG9tZXJGYXJtTW9kZWwuZGlzcGxheU5hbWUgPSB0aGlzLmN1c3RvbWVyRmFybUZvcm0udmFsdWUuZGlzcGxheU5hbWU7XHJcbiAgICBjdXN0b21lckZhcm1Nb2RlbC5wcmltYXJ5VmV0SWQgPSB0aGlzLmN1c3RvbWVyRmFybUZvcm0udmFsdWUucHJpbWFyeVZldElkO1xyXG4gICAgY3VzdG9tZXJGYXJtTW9kZWwuUElDVGF0dG9vID0gdGhpcy5jdXN0b21lckZhcm1Gb3JtLnZhbHVlLlBJQ1RhdHRvbztcclxuICAgIGN1c3RvbWVyRmFybU1vZGVsLmN1c3RvbWVySWQgPSB0aGlzLmN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24uY3VzdG9tZXJJZDtcclxuICAgIGN1c3RvbWVyRmFybU1vZGVsLmZvcm1Db2RlID0gdGhpcy5jdXN0b21lckZhcm1Db25maWd1cmF0aW9uLmZvcm1Db2RlO1xyXG5cclxuICAgIHJldHVybiBjdXN0b21lckZhcm1Nb2RlbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqIGNsZWFyIGZvcm0gZGF0YVxyXG4gICAqL1xyXG4gIENsZWFyRm9ybSgpIHtcclxuICAgIHRoaXMuRGVjbGFyZUZvcm0oKTtcclxuICB9XHJcblxyXG4gIGVtaXREYXRhVG9QYXJlbnQoKSB7XHJcbiAgICBsZXQgY3VzdG9tZXJGYXJtTW9kZWwgPSBuZXcgQ3VzdG9tZXJGYXJtTW9kZWwoKTtcclxuICAgIGN1c3RvbWVyRmFybU1vZGVsID0gdGhpcy5Db252ZXJ0Rm9ybVRvTW9kZWwoKTtcclxuICAgIHRoaXMuY3VzdG9tZXJGYXJtRGF0YS5lbWl0KGN1c3RvbWVyRmFybU1vZGVsKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogSW5zZXJ0IGN1c3RvbWVyIGRhdGEgaW50byBkYXRhYmFzZVxyXG4gICAqL1xyXG4gIHB1YmxpYyBhc3luYyBJbnNlcnREYXRhKCkge1xyXG4gICAgbGV0IGN1c3RvbWVyRmFybU1vZGVsID0gbmV3IEN1c3RvbWVyRmFybU1vZGVsKCk7XHJcbiAgICBjdXN0b21lckZhcm1Nb2RlbCA9IHRoaXMuQ29udmVydEZvcm1Ub01vZGVsKCk7XHJcbiAgICBjb25zdCBnZXRSZXNwb25zZSA9IGF3YWl0IHRoaXMuY3VzdG9tZXJGYXJtU2VydmljZS5JbnNlcnREYXRhKGN1c3RvbWVyRmFybU1vZGVsKTtcclxuICAgIHRoaXMudXNlck1lc3NhZ2VzID0gZ2V0UmVzcG9uc2UubWVzc2FnZS51c2VyTWVzc2FnZTtcclxuICAgIGlmICh0aGlzLmN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24udXNlck1lc3NhZ2VzKSB7XHJcbiAgICAgIHRoaXMudG9hc3RyLlNob3dTdWNjZXNzKHRoaXMudXNlck1lc3NhZ2VzLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiB1cGRhdGUgY3VzdG9tZXIgZGF0YSBpbnRvIGRhdGFiYXNlXHJcbiAgICovXHJcbiAgcHVibGljIGFzeW5jIFVwZGF0ZURhdGEoKSB7XHJcbiAgICBsZXQgY3VzdG9tZXJGYXJtTW9kZWwgPSBuZXcgQ3VzdG9tZXJGYXJtTW9kZWwoKTtcclxuICAgIGN1c3RvbWVyRmFybU1vZGVsID0gdGhpcy5Db252ZXJ0Rm9ybVRvTW9kZWwoKTtcclxuICAgIGNvbnN0IGdldFJlc3BvbnNlID0gYXdhaXQgdGhpcy5jdXN0b21lckZhcm1TZXJ2aWNlLlVwZGF0ZURhdGEoY3VzdG9tZXJGYXJtTW9kZWwpO1xyXG4gICAgdGhpcy51c2VyTWVzc2FnZXMgPSBnZXRSZXNwb25zZS5tZXNzYWdlLnVzZXJNZXNzYWdlO1xyXG4gICAgaWYgKHRoaXMuY3VzdG9tZXJGYXJtQ29uZmlndXJhdGlvbi51c2VyTWVzc2FnZXMpIHtcclxuICAgICAgdGhpcy50b2FzdHIuU2hvd1N1Y2Nlc3ModGhpcy51c2VyTWVzc2FnZXMudG9TdHJpbmcoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIEBkZXNjcmlwdGlvblxyXG4gICpcclxuICAqIERlbGV0ZSBjdXN0b21lciBkYXRhIGludG8gZGF0YWJhc2VcclxuICAqL1xyXG4gIHB1YmxpYyBhc3luYyBEZWxldGVEYXRhKHZhbHVlKSB7XHJcbiAgICBjb25zdCBnZXRSZXNwb25zZSA9IGF3YWl0IHRoaXMuY3VzdG9tZXJGYXJtU2VydmljZS5EZWxldGVEYXRhKHZhbHVlKTtcclxuICAgIHRoaXMudXNlck1lc3NhZ2VzID0gZ2V0UmVzcG9uc2UubWVzc2FnZS51c2VyTWVzc2FnZTtcclxuICAgIGlmICh0aGlzLmN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24udXNlck1lc3NhZ2VzKSB7XHJcbiAgICAgIHRoaXMudG9hc3RyLlNob3dTdWNjZXNzKHRoaXMudXNlck1lc3NhZ2VzLnRvU3RyaW5nKCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFxyXG4gICAgICogR3JpZCBldmVudHMgY2FsbHNcclxuICAgICAqL1xyXG4gIGhhbmRsZUdyaWRFdmVudHMoZ3JpZEV2ZW50czogR3JpZEV2ZW50c01vZGVsKSB7XHJcbiAgICBncmlkRXZlbnRzLmVkaXRSZWNvcmQuc3Vic2NyaWJlKChyZWNvcmRJZCkgPT4ge1xyXG4gICAgICB0aGlzLmhpZGVCdXR0b25zID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaXNWaWV3Q2FsbCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLkVkaXREYXRhKHJlY29yZElkKTtcclxuICAgICAgdGhpcy5jdXN0b21lckZhcm1Gb3JtLmVuYWJsZSgpO1xyXG4gICAgfSk7XHJcbiAgICBncmlkRXZlbnRzLmRlbGV0ZVJlY29yZC5zdWJzY3JpYmUoKHJlY29yZElkKSA9PiB7XHJcbiAgICAgIHRoaXMuRGVsZXRlRGF0YShyZWNvcmRJZCk7XHJcbiAgICB9KTtcclxuICAgIGdyaWRFdmVudHMudmlld1JlY29yZC5zdWJzY3JpYmUoYXN5bmMgKHJlY29yZElkKSA9PiB7XHJcbiAgICAgIHRoaXMuRWRpdERhdGEocmVjb3JkSWQpO1xyXG4gICAgICB0aGlzLmN1c3RvbWVyRmFybUZvcm0uZGlzYWJsZSgpO1xyXG5cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFdhcmVob3VzZUxpc3QoKSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBnZXRSZXNwb25zZSA9IGF3YWl0IHRoaXMuY3VzdG9tZXJGYXJtU2VydmljZS5HZXRXYXJlaG91c2VEcm9wZG93bkxpc3QoKTtcclxuICAgICAgdGhpcy53YXJlaG91c2VMaXN0ID0gZ2V0UmVzcG9uc2UuYXBpRGF0YTtcclxuICAgIH1cclxuICAgIGNhdGNoIChlcnJvcikge1xyXG4gICAgICB0aGlzLmVycm9yTG9nU2VydmljZS5zYXZlRXJyb3IoZXJyb3IpO1xyXG4gICAgICB0aGlzLnRvYXN0ci5TaG93QWxsRXJyb3JzKGVycm9yLmVycm9yLm1lc3NhZ2UudXNlck1lc3NhZ2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gICAgKiBAZGVzY3JpcHRpb25cclxuICAgICogZ2V0IGRhdGEgZm9yIEN1c3RvbWVyIGdyaWQgbGlzdFxyXG4gICAgKi9cclxuICBwdWJsaWMgYXN5bmMgR2V0TGlzdERhdGEoKSB7XHJcbiAgICBjb25zdCBjdXN0b21lckZhcm1Nb2RlbCA9IG5ldyBDdXN0b21lckZhcm1Nb2RlbCgpO1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgZ2V0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmN1c3RvbWVyRmFybVNlcnZpY2UuR2V0TGlzdERhdGEoY3VzdG9tZXJGYXJtTW9kZWwpO1xyXG4gICAgICBnZXRSZXNwb25zZS5hcGlEYXRhLmZvckVhY2gocmVjb3JkID0+IHtcclxuICAgICAgICByZWNvcmQuY3JlYXRlZE9uVVRDID0gbmV3IERhdGUocmVjb3JkLmNyZWF0ZWRPblVUQyk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmdyaWREYXRhID0gZ2V0UmVzcG9uc2UuYXBpRGF0YTtcclxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgIHRoaXMuZXJyb3JMb2dTZXJ2aWNlLnNhdmVFcnJvcihlcnJvcik7XHJcbiAgICAgIHRoaXMudG9hc3RyLlNob3dBbGxFcnJvcnMoZXJyb3IuZXJyb3IubWVzc2FnZS51c2VyTWVzc2FnZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGZsZXgtYXV0byBtaW4tdy0wIHctZnVsbFwiPlxyXG4gICAgPCEtLSBmb3JtIGNvZGUgc3RhcnRzIGhlcmUgLS0+XHJcbiAgICA8IS0tY29udGVudC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cInNtOnctZnVsbCBvdmVyZmxvdy1oaWRkZW5cIiAqbmdJZj1cImN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24uc2hvd01vZGFsXCI+XHJcblxyXG4gICAgICAgIDwhLS1mb3JtIGJvZHktLT5cclxuICAgICAgICA8Zm9ybSBjbGFzcz1cImZsZXggZmxleC1jb2wgb3ZlcmZsb3ctaGlkZGVuXCIgW2Zvcm1Hcm91cF09XCJjdXN0b21lckZhcm1Gb3JtXCI+XHJcbiAgICAgICAgICAgIDwhLS0gQ3VzdG9tZXIgRmFybSBzZWN0aW9uIHN0YXJ0ICAtLT5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbTpmbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy1mdWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNtOmZsZXggcHgtOCBwdC00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXgtYXV0byB3LWZ1bGwgbXItNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24uYWxsb3dlZEN1c3RvbWVyRmFybUZpZWxkcy5jbGllbnROdW1iZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+Q2xpZW50IE51bWJlcjwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGlkPVwiY2xpZW50TnVtYmVyXCIgcGxhY2Vob2xkZXI9XCJDbGllbnQgTnVtYmVyXCIgbWlubGVuZ3RoPVwiM1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiJ2NsaWVudE51bWJlcidcIiAoY2hhbmdlKT1cImVtaXREYXRhVG9QYXJlbnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VzdG9tZXJGYXJtRm9ybS5nZXQoJ2NsaWVudE51bWJlcicpLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24ucmVxdWlyZWRDdXN0b21lckZhcm1GaWVsZHMuY2xpZW50TnVtYmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xpZW50IE51bWJlciBpcyByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY3VzdG9tZXJGYXJtRm9ybS5nZXQoJ2NsaWVudE51bWJlcicpLmhhc0Vycm9yKCdtaW5sZW5ndGgnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaWVudCBOdW1iZXIgbXVzdCBiZSBvZiBhdGxlYXN0IDMgY2hhcmFjdGVyc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4LWF1dG8gdy1mdWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VzdG9tZXJGYXJtQ29uZmlndXJhdGlvbi5hbGxvd2VkQ3VzdG9tZXJGYXJtRmllbGRzLnN0YW5kYXJkRGVsaXZlcnlDb3N0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlN0YW5kYXJkIERlbGl2ZXJ5IENvc3Q8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgbWluPVwiMFwiIHN0ZXA9XCIwLjAxXCIgaWQ9XCJzdGFuZGFyZERlbGl2ZXJ5Q29zdFwiIHBsYWNlaG9sZGVyPVwiU3RhbmRhcmQgRGVsaXZlcnkgQ29zdFwiIFtmb3JtQ29udHJvbE5hbWVdPVwiJ3N0YW5kYXJkRGVsaXZlcnlDb3N0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJlbWl0RGF0YVRvUGFyZW50KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImN1c3RvbWVyRmFybUZvcm0uZ2V0KCdzdGFuZGFyZERlbGl2ZXJ5Q29zdCcpLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24ucmVxdWlyZWRDdXN0b21lckZhcm1GaWVsZHMuc3RhbmRhcmREZWxpdmVyeUNvc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFuZGFyZCBEZWxpdmVyeSBDb3N0IGlzIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjdXN0b21lckZhcm1Gb3JtLmdldCgnc3RhbmRhcmREZWxpdmVyeUNvc3QnKS5oYXNFcnJvcignbWluJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFuZGFyZCBEZWxpdmVyeSBDb3N0IG11c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbTpmbGV4IHB4LTggcHQtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4LWF1dG8gdy1mdWxsIG1yLTRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXN0b21lckZhcm1Db25maWd1cmF0aW9uLmFsbG93ZWRDdXN0b21lckZhcm1GaWVsZHMuY3VzdG9tZXJOYW1lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkNsaWVudCBOYW1lPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgaWQ9XCJjdXN0b21lck5hbWVcIiBwbGFjZWhvbGRlcj1cIkNsaWVudCBOYW1lXCIgcGF0dGVybj1cIl5bYS16QS1aIF0qJFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWlubGVuZ3RoPVwiM1wiIFtmb3JtQ29udHJvbE5hbWVdPVwiJ2N1c3RvbWVyTmFtZSdcIiAoY2hhbmdlKT1cImVtaXREYXRhVG9QYXJlbnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VzdG9tZXJGYXJtRm9ybS5nZXQoJ2N1c3RvbWVyTmFtZScpLmhhc0Vycm9yKCdyZXF1aXJlZCcpICYmIGN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24ucmVxdWlyZWRDdXN0b21lckZhcm1GaWVsZHMuY3VzdG9tZXJOYW1lIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaWVudCBOYW1lIGlzIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJjdXN0b21lckZhcm1Gb3JtLmdldCgnY3VzdG9tZXJOYW1lJykuaGFzRXJyb3IoJ3BhdHRlcm4nKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBsZWFzZSBlbnRlciB2YWxpZCBDbGllbnQgbmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiY3VzdG9tZXJGYXJtRm9ybS5nZXQoJ2N1c3RvbWVyTmFtZScpLmhhc0Vycm9yKCdtaW5sZW5ndGgnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaWVudCBuYW1lIG11c3QgYmUgb2YgYXRsZWFzdCAzIGNoYXJhY3RlcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleC1hdXRvIHctZnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24uYWxsb3dlZEN1c3RvbWVyRmFybUZpZWxkcy5kZWZhdWx0V2FyZWhvdXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRlZmF1bHQgV2FyZWhvdXNlPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCBtYXRTZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCInZGVmYXVsdFdhcmVob3VzZSdcIiAoc2VsZWN0aW9uQ2hhbmdlKT1cImVtaXREYXRhVG9QYXJlbnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCB3YXJlaG91c2Ugb2Ygd2FyZWhvdXNlTGlzdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwid2FyZWhvdXNlLmRhdGFWYWx1ZVwiPnt7d2FyZWhvdXNlLmRhdGFUZXh0fX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImN1c3RvbWVyRmFybUZvcm0uZ2V0KCdkZWZhdWx0V2FyZWhvdXNlJykuaGFzRXJyb3IoJ3JlcXVpcmVkJykgJiYgY3VzdG9tZXJGYXJtQ29uZmlndXJhdGlvbi5yZXF1aXJlZEN1c3RvbWVyRmFybUZpZWxkcy5kZWZhdWx0V2FyZWhvdXNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdCBXYXJlaG91c2UgaXMgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic206ZmxleCBweC04IHB0LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleC1hdXRvIHctZnVsbCBtci00XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VzdG9tZXJGYXJtQ29uZmlndXJhdGlvbi5hbGxvd2VkQ3VzdG9tZXJGYXJtRmllbGRzLnBlcnNvbkluQ2hhcmdlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlBlcnNvbiBJbiBDaGFyZ2U8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBpZD1cInBlcnNvbkluQ2hhcmdlXCIgcGxhY2Vob2xkZXI9XCJQZXJzb24gSW4gQ2hhcmdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidwZXJzb25JbkNoYXJnZSdcIiAoY2hhbmdlKT1cImVtaXREYXRhVG9QYXJlbnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY3VzdG9tZXJGYXJtRm9ybS5nZXQoJ3BlcnNvbkluQ2hhcmdlJykuaGFzRXJyb3IoJ3JlcXVpcmVkJykgJiYgY3VzdG9tZXJGYXJtQ29uZmlndXJhdGlvbi5yZXF1aXJlZEN1c3RvbWVyRmFybUZpZWxkcy5wZXJzb25JbkNoYXJnZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBlcnNvbiBJbiBDaGFyZ2UgaXMgcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleC1hdXRvIHctZnVsbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24uYWxsb3dlZEN1c3RvbWVyRmFybUZpZWxkcy5kaXNwbGF5TmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5EaXNwbGF5IE5hbWU8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBpZD1cImRpc3BsYXlOYW1lXCIgcGxhY2Vob2xkZXI9XCJEaXNwbGF5IE5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiJ2Rpc3BsYXlOYW1lJ1wiIChjaGFuZ2UpPVwiZW1pdERhdGFUb1BhcmVudCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbTpmbGV4IHB4LTggcHQtNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4LWF1dG8gdy1mdWxsIG1yLTRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXN0b21lckZhcm1Db25maWd1cmF0aW9uLmFsbG93ZWRDdXN0b21lckZhcm1GaWVsZHMucHJpbWFyeVZldElkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlByaW1hcnkgVmV0PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgaWQ9XCJwcmltYXJ5VmV0SWRcIiBwbGFjZWhvbGRlcj1cIlByaW1hcnkgVmV0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cIidwcmltYXJ5VmV0SWQnXCIgKGNoYW5nZSk9XCJlbWl0RGF0YVRvUGFyZW50KClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3JcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImN1c3RvbWVyRmFybUZvcm0uZ2V0KCdwcmltYXJ5VmV0SWQnKS5oYXNFcnJvcigncmVxdWlyZWQnKSAmJiBjdXN0b21lckZhcm1Db25maWd1cmF0aW9uLnJlcXVpcmVkQ3VzdG9tZXJGYXJtRmllbGRzLnByaW1hcnlWZXRJZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByaW1hcnkgVmV0IGlzIHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXgtYXV0byB3LWZ1bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjdXN0b21lckZhcm1Db25maWd1cmF0aW9uLmFsbG93ZWRDdXN0b21lckZhcm1GaWVsZHMuUElDVGF0dG9vXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlBJQy9UYXR0b28gKGlmIGFwcGxpY2FibGUpPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgaWQ9XCJQSUNUYXR0b29cIiBwbGFjZWhvbGRlcj1cIlBJQy9UYXR0b29cIiBbZm9ybUNvbnRyb2xOYW1lXT1cIidQSUNUYXR0b28nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImVtaXREYXRhVG9QYXJlbnQoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSBDdXN0b21lciBGYXJtIHNlY3Rpb24gRW5kICAtLT5cclxuXHJcbiAgICAgICAgPC9mb3JtPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIGZvcm0gY29kZSBlbmRzIGhlcmUgLS0+XHJcblxyXG48L2Rpdj5cclxuPGRpdiAqbmdJZj1cImN1c3RvbWVyRmFybUNvbmZpZ3VyYXRpb24uc2hvd0dyaWRcIj5cclxuICAgIDxsaWIta2VuZG8tZ3JpZC12aWV3IFtjb25maWd1cmF0aW9uXT1cImdyaWRDb25maWd1cmF0aW9uXCIgKGV2ZW50cyk9XCJoYW5kbGVHcmlkRXZlbnRzKCRldmVudClcIj48L2xpYi1rZW5kby1ncmlkLXZpZXc+XHJcbiAgPC9kaXY+XHJcbiJdfQ==
|
|
@@ -133,6 +133,16 @@ export class CustomerFarmService {
|
|
|
133
133
|
throw error;
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
+
async ValidateClientNumber(value) {
|
|
137
|
+
try {
|
|
138
|
+
const url = this.customerFarmApiUrls.getClientNumberValidationUrl + '/' + value;
|
|
139
|
+
const resultResponse = await this.dataAccessService.GetDataById(url);
|
|
140
|
+
return resultResponse;
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
throw error;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
136
146
|
}
|
|
137
147
|
CustomerFarmService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CustomerFarmService, deps: [{ token: i1.DataAccessService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
138
148
|
CustomerFarmService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: CustomerFarmService, providedIn: 'root' });
|
|
@@ -142,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImpor
|
|
|
142
152
|
providedIn: 'root'
|
|
143
153
|
}]
|
|
144
154
|
}], ctorParameters: function () { return [{ type: i1.DataAccessService }]; } });
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZmFybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY3VzdG9tZXItZmFybS9zcmMvbGliL2N1c3RvbWVyLWZhcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU12QyxNQUFNLE9BQU8sbUJBQW1CO0lBRTVCLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBRXhELHdCQUFtQixHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUV4Qyx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUM3RCx3QkFBbUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFMRCxDQUFDO0lBTzdELGtCQUFrQixDQUFDLFlBQW9CO1FBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBb0I7UUFDekMsSUFBSTtZQUNBLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLEdBQUcsWUFBWSxDQUFDO1lBQ2pGLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyRSxPQUFPLGNBQWMsQ0FBQztTQUN6QjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ1osTUFBTSxLQUFLLENBQUM7U0FDZjtJQUNMLENBQUM7SUFF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Q0FBQyxDQUFDO1lBQzdFLE9BQU8sY0FBYyxDQUFDO1NBQ3ZCO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxNQUFNLEtBQUssQ0FBQztTQUNiO0lBQ0gsQ0FBQzs7Z0hBcElNLG1CQUFtQjtvSEFBbkIsbUJBQW1CLGNBRmhCLE1BQU07MkZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF0YUFjY2Vzc1NlcnZpY2UsIFdlYkFwaVJlc3VsdCB9IGZyb20gJ0BxdWJlc2Vuc2UvYmFzZS1zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEN1c3RvbWVyRmFybUFwaVVybHMgfSBmcm9tICcuL2RlcGVuZGVuY2llcy9jdXN0b21lci1mYXJtLWFwaS11cmxzJztcclxuaW1wb3J0IHsgQ3VzdG9tZXJGYXJtTW9kZWwgfSBmcm9tICcuL2RlcGVuZGVuY2llcy9jdXN0b21lci1mYXJtLW1vZGVsJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21lckZhcm1TZXJ2aWNlIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFBY2Nlc3NTZXJ2aWNlOiBEYXRhQWNjZXNzU2VydmljZSkgeyB9XHJcblxyXG4gICAgY3VzdG9tZXJGYXJtQXBpVXJscyA9IG5ldyBDdXN0b21lckZhcm1BcGlVcmxzKCk7XHJcblxyXG4gICAgcHJpdmF0ZSBjdXN0b21lck5hbWVTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xyXG4gICAgY3VycmVudEN1c3RvbWVyTmFtZSA9IHRoaXMuY3VzdG9tZXJOYW1lU291cmNlLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAgIHVwZGF0ZUN1c3RvbWVyTmFtZShjdXN0b21lck5hbWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuY3VzdG9tZXJOYW1lU291cmNlLm5leHQoY3VzdG9tZXJOYW1lKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIHNlcnZpY2UgZm9yIGdldCBjdXN0b21lciBkYXRhIGJ5IElkXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBjdXN0b21lckdVSUQgXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIFJlc3BvbnNlIERhdGEgZnJvbSBEYXRhYmFzZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXN5bmMgR2V0RGF0YUJ5SWQoY3VzdG9tZXJHVUlEOiBzdHJpbmcpOiBQcm9taXNlPFdlYkFwaVJlc3VsdD4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY3VzdG9tZXJGYXJtQXBpVXJscy5nZXRDdXN0b21lckZhcm1CeUlkVXJsICsgJy8nICsgY3VzdG9tZXJHVUlEO1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHRSZXNwb25zZSA9IGF3YWl0IHRoaXMuZGF0YUFjY2Vzc1NlcnZpY2UuR2V0RGF0YUJ5SWQodXJsKTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFJlc3BvbnNlO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIHNlcnZpY2UgZm9yIGluc2VydGluZyBjdXN0b21lciBkYXRhIGludG8gZGF0YWJhc2VcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGN1c3RvbWVyRmFybU1vZGVsIFxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBSZXNwb25zZSBtZXNzYWdlIGZyb20gRGF0YWJhc2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFzeW5jIEluc2VydERhdGEoY3VzdG9tZXJGYXJtTW9kZWw6IEN1c3RvbWVyRmFybU1vZGVsKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5jdXN0b21lckZhcm1BcGlVcmxzLmluc2VydEN1c3RvbWVyRmFybURhdGFVcmw7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdFJlc3BvbnNlID0gYXdhaXQgdGhpcy5kYXRhQWNjZXNzU2VydmljZS5JbnNlcnREYXRhKHVybCwgY3VzdG9tZXJGYXJtTW9kZWwpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0UmVzcG9uc2U7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogc2VydmljZSBmb3IgdXBkYXRlIGN1c3RvbWVyIERhdGFcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGN1c3RvbWVyRmFybU1vZGVsIFxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBSZXNwb25zZSBtZXNzYWdlIGZyb20gRGF0YWJhc2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFzeW5jIFVwZGF0ZURhdGEoY3VzdG9tZXJGYXJtTW9kZWw6IEN1c3RvbWVyRmFybU1vZGVsKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5jdXN0b21lckZhcm1BcGlVcmxzLnVwZGF0ZUN1c3RvbWVyRmFybURhdGFVcmw7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdFJlc3BvbnNlID0gYXdhaXQgdGhpcy5kYXRhQWNjZXNzU2VydmljZS5VcGRhdGVEYXRhKHVybCwgY3VzdG9tZXJGYXJtTW9kZWwpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0UmVzcG9uc2U7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogc2VydmljZSBmb3IgZGVsZXRlIGN1c3RvbWVyIGRhdGEgYnkgR1VJRFxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gY3VzdG9tZXJGYXJtTW9kZWwgXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIFJlc3BvbnNlIG1lc3NhZ2UgZnJvbSBEYXRhYmFzZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXN5bmMgRGVsZXRlRGF0YShyZWNvcmRJZDogYW55KSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5jdXN0b21lckZhcm1BcGlVcmxzLmRlbGV0ZUN1c3RvbWVyRmFybURhdGFVcmwgKyAnLycgKyByZWNvcmRJZDtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmRhdGFBY2Nlc3NTZXJ2aWNlLkRlbGV0ZURhdGEodXJsKTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFJlc3BvbnNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogc2VydmljZSBmb3IgZ2V0IGRhdGEgZm9yIGN1c3RvbWVyIGdyaWQgXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBjdXN0b21lckZhcm1Nb2RlbCBcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgUmVzcG9uc2UgRGF0YSBmcm9tIERhdGFiYXNlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhc3luYyBHZXRMaXN0RGF0YShjdXN0b21lckRhdGFNb2RlbDogQ3VzdG9tZXJGYXJtTW9kZWwpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmN1c3RvbWVyRmFybUFwaVVybHMuZ2V0Q3VzdG9tZXJGYXJtTGlzdFVybDtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmRhdGFBY2Nlc3NTZXJ2aWNlLkdldExpc3REYXRhKHVybCwgY3VzdG9tZXJEYXRhTW9kZWwpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0UmVzcG9uc2U7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogc2VydmljZSBmb3IgZ2V0IGRhdGEgZm9yIGN1c3RvbWVyIERyb3BEb3duIExpc3RcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhc3luYyBHZXRDdXN0b21lcnNEcm9wZG93bkxpc3QoKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5jdXN0b21lckZhcm1BcGlVcmxzLmdldEN1c3RvbWVyRmFybURyb3Bkb3duTGlzdFVybDtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmRhdGFBY2Nlc3NTZXJ2aWNlLkdldERyb3Bkb3duTGlzdERhdGEodXJsKTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFJlc3BvbnNlO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgR2V0Q3VzdG9tZXJMaXN0QnlLZXl3b3JkKHZhbHVlOnN0cmluZykge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY3VzdG9tZXJGYXJtQXBpVXJscy5nZXRjdXN0b21lcmxpc3RieWtleXdvcmQgKyAnLycgKyB2YWx1ZTtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmRhdGFBY2Nlc3NTZXJ2aWNlLkdldERhdGFCeUlkKHVybCk7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHRSZXNwb25zZTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIEdldFdhcmVob3VzZURyb3Bkb3duTGlzdCgpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5jdXN0b21lckZhcm1BcGlVcmxzLmdldFdhcmVob3VzZURyb3Bkb3duTGlzdFVybDtcclxuICAgICAgICAgIGNvbnN0IHJlc3VsdFJlc3BvbnNlID0gYXdhaXQgdGhpcy5kYXRhQWNjZXNzU2VydmljZS5HZXREcm9wZG93bkxpc3REYXRhKHVybCk7XHJcbiAgICAgICAgICByZXR1cm4gcmVzdWx0UmVzcG9uc2U7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG59XHJcbiJdfQ==
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZmFybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY3VzdG9tZXItZmFybS9zcmMvbGliL2N1c3RvbWVyLWZhcm0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU12QyxNQUFNLE9BQU8sbUJBQW1CO0lBRTVCLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBRXhELHdCQUFtQixHQUFHLElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUV4Qyx1QkFBa0IsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUM3RCx3QkFBbUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFMRCxDQUFDO0lBTzdELGtCQUFrQixDQUFDLFlBQW9CO1FBQ25DLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxXQUFXLENBQUMsWUFBb0I7UUFDekMsSUFBSTtZQUNBLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLEdBQUcsWUFBWSxDQUFDO1lBQ2pGLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyRSxPQUFPLGNBQWMsQ0FBQztTQUN6QjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ1osTUFBTSxLQUFLLENBQUM7U0FDZjtJQUNMLENBQUM7SUFF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Q0FBQyxDQUFDO1lBQzdFLE9BQU8sY0FBYyxDQUFDO1NBQ3ZCO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxNQUFNLEtBQUssQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxLQUFZO1FBQzFDLElBQUk7WUFDRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQztZQUNoRixNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckUsT0FBTyxjQUFjLENBQUM7U0FDdkI7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLE1BQU0sS0FBSyxDQUFDO1NBQ2I7SUFDSCxDQUFDOztnSEE5SU0sbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGaEIsTUFBTTsyRkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRhQWNjZXNzU2VydmljZSwgV2ViQXBpUmVzdWx0IH0gZnJvbSAnQHF1YmVzZW5zZS9iYXNlLXNlcnZpY2VzJztcclxuaW1wb3J0IHsgQ3VzdG9tZXJGYXJtQXBpVXJscyB9IGZyb20gJy4vZGVwZW5kZW5jaWVzL2N1c3RvbWVyLWZhcm0tYXBpLXVybHMnO1xyXG5pbXBvcnQgeyBDdXN0b21lckZhcm1Nb2RlbCB9IGZyb20gJy4vZGVwZW5kZW5jaWVzL2N1c3RvbWVyLWZhcm0tbW9kZWwnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1c3RvbWVyRmFybVNlcnZpY2Uge1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZGF0YUFjY2Vzc1NlcnZpY2U6IERhdGFBY2Nlc3NTZXJ2aWNlKSB7IH1cclxuXHJcbiAgICBjdXN0b21lckZhcm1BcGlVcmxzID0gbmV3IEN1c3RvbWVyRmFybUFwaVVybHMoKTtcclxuXHJcbiAgICBwcml2YXRlIGN1c3RvbWVyTmFtZVNvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XHJcbiAgICBjdXJyZW50Q3VzdG9tZXJOYW1lID0gdGhpcy5jdXN0b21lck5hbWVTb3VyY2UuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgdXBkYXRlQ3VzdG9tZXJOYW1lKGN1c3RvbWVyTmFtZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5jdXN0b21lck5hbWVTb3VyY2UubmV4dChjdXN0b21lck5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogc2VydmljZSBmb3IgZ2V0IGN1c3RvbWVyIGRhdGEgYnkgSWRcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGN1c3RvbWVyR1VJRCBcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgUmVzcG9uc2UgRGF0YSBmcm9tIERhdGFiYXNlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhc3luYyBHZXREYXRhQnlJZChjdXN0b21lckdVSUQ6IHN0cmluZyk6IFByb21pc2U8V2ViQXBpUmVzdWx0PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5jdXN0b21lckZhcm1BcGlVcmxzLmdldEN1c3RvbWVyRmFybUJ5SWRVcmwgKyAnLycgKyBjdXN0b21lckdVSUQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdFJlc3BvbnNlID0gYXdhaXQgdGhpcy5kYXRhQWNjZXNzU2VydmljZS5HZXREYXRhQnlJZCh1cmwpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0UmVzcG9uc2U7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogc2VydmljZSBmb3IgaW5zZXJ0aW5nIGN1c3RvbWVyIGRhdGEgaW50byBkYXRhYmFzZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gY3VzdG9tZXJGYXJtTW9kZWwgXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIFJlc3BvbnNlIG1lc3NhZ2UgZnJvbSBEYXRhYmFzZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXN5bmMgSW5zZXJ0RGF0YShjdXN0b21lckZhcm1Nb2RlbDogQ3VzdG9tZXJGYXJtTW9kZWwpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmN1c3RvbWVyRmFybUFwaVVybHMuaW5zZXJ0Q3VzdG9tZXJGYXJtRGF0YVVybDtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmRhdGFBY2Nlc3NTZXJ2aWNlLkluc2VydERhdGEodXJsLCBjdXN0b21lckZhcm1Nb2RlbCk7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHRSZXNwb25zZTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBzZXJ2aWNlIGZvciB1cGRhdGUgY3VzdG9tZXIgRGF0YVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gY3VzdG9tZXJGYXJtTW9kZWwgXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIFJlc3BvbnNlIG1lc3NhZ2UgZnJvbSBEYXRhYmFzZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXN5bmMgVXBkYXRlRGF0YShjdXN0b21lckZhcm1Nb2RlbDogQ3VzdG9tZXJGYXJtTW9kZWwpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmN1c3RvbWVyRmFybUFwaVVybHMudXBkYXRlQ3VzdG9tZXJGYXJtRGF0YVVybDtcclxuICAgICAgICAgICAgY29uc3QgcmVzdWx0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmRhdGFBY2Nlc3NTZXJ2aWNlLlVwZGF0ZURhdGEodXJsLCBjdXN0b21lckZhcm1Nb2RlbCk7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHRSZXNwb25zZTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBzZXJ2aWNlIGZvciBkZWxldGUgY3VzdG9tZXIgZGF0YSBieSBHVUlEXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSBjdXN0b21lckZhcm1Nb2RlbCBcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMgUmVzcG9uc2UgbWVzc2FnZSBmcm9tIERhdGFiYXNlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhc3luYyBEZWxldGVEYXRhKHJlY29yZElkOiBhbnkpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmN1c3RvbWVyRmFybUFwaVVybHMuZGVsZXRlQ3VzdG9tZXJGYXJtRGF0YVVybCArICcvJyArIHJlY29yZElkO1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHRSZXNwb25zZSA9IGF3YWl0IHRoaXMuZGF0YUFjY2Vzc1NlcnZpY2UuRGVsZXRlRGF0YSh1cmwpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0UmVzcG9uc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBzZXJ2aWNlIGZvciBnZXQgZGF0YSBmb3IgY3VzdG9tZXIgZ3JpZCBcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGN1c3RvbWVyRmFybU1vZGVsIFxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBSZXNwb25zZSBEYXRhIGZyb20gRGF0YWJhc2VcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFzeW5jIEdldExpc3REYXRhKGN1c3RvbWVyRGF0YU1vZGVsOiBDdXN0b21lckZhcm1Nb2RlbCkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY3VzdG9tZXJGYXJtQXBpVXJscy5nZXRDdXN0b21lckZhcm1MaXN0VXJsO1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHRSZXNwb25zZSA9IGF3YWl0IHRoaXMuZGF0YUFjY2Vzc1NlcnZpY2UuR2V0TGlzdERhdGEodXJsLCBjdXN0b21lckRhdGFNb2RlbCk7XHJcbiAgICAgICAgICAgIHJldHVybiByZXN1bHRSZXNwb25zZTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBzZXJ2aWNlIGZvciBnZXQgZGF0YSBmb3IgY3VzdG9tZXIgRHJvcERvd24gTGlzdFxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyBcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFzeW5jIEdldEN1c3RvbWVyc0Ryb3Bkb3duTGlzdCgpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmN1c3RvbWVyRmFybUFwaVVybHMuZ2V0Q3VzdG9tZXJGYXJtRHJvcGRvd25MaXN0VXJsO1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHRSZXNwb25zZSA9IGF3YWl0IHRoaXMuZGF0YUFjY2Vzc1NlcnZpY2UuR2V0RHJvcGRvd25MaXN0RGF0YSh1cmwpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0UmVzcG9uc2U7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBHZXRDdXN0b21lckxpc3RCeUtleXdvcmQodmFsdWU6c3RyaW5nKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgY29uc3QgdXJsID0gdGhpcy5jdXN0b21lckZhcm1BcGlVcmxzLmdldGN1c3RvbWVybGlzdGJ5a2V5d29yZCArICcvJyArIHZhbHVlO1xyXG4gICAgICAgICAgICBjb25zdCByZXN1bHRSZXNwb25zZSA9IGF3YWl0IHRoaXMuZGF0YUFjY2Vzc1NlcnZpY2UuR2V0RGF0YUJ5SWQodXJsKTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdFJlc3BvbnNlO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgR2V0V2FyZWhvdXNlRHJvcGRvd25MaXN0KCkge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmN1c3RvbWVyRmFybUFwaVVybHMuZ2V0V2FyZWhvdXNlRHJvcGRvd25MaXN0VXJsO1xyXG4gICAgICAgICAgY29uc3QgcmVzdWx0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmRhdGFBY2Nlc3NTZXJ2aWNlLkdldERyb3Bkb3duTGlzdERhdGEodXJsKTtcclxuICAgICAgICAgIHJldHVybiByZXN1bHRSZXNwb25zZTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIFZhbGlkYXRlQ2xpZW50TnVtYmVyKHZhbHVlOnN0cmluZykge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICBjb25zdCB1cmwgPSB0aGlzLmN1c3RvbWVyRmFybUFwaVVybHMuZ2V0Q2xpZW50TnVtYmVyVmFsaWRhdGlvblVybCArICcvJyArIHZhbHVlO1xyXG4gICAgICAgICAgY29uc3QgcmVzdWx0UmVzcG9uc2UgPSBhd2FpdCB0aGlzLmRhdGFBY2Nlc3NTZXJ2aWNlLkdldERhdGFCeUlkKHVybCk7XHJcbiAgICAgICAgICByZXR1cm4gcmVzdWx0UmVzcG9uc2U7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -16,6 +16,8 @@ export class CustomerFarmApiUrls {
|
|
|
16
16
|
this.getWarehouseDropdownListUrl = 'api/CustomerFarm/GetWarehouseDropdownList';
|
|
17
17
|
//api Url string for get Customer dropdown list
|
|
18
18
|
this.getcustomerlistbykeyword = 'api/CustomerFarm/SearchCustomer';
|
|
19
|
+
//api Url string for get Client number validation
|
|
20
|
+
this.getClientNumberValidationUrl = 'api/CustomerFarm/ValidateClientNumber';
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZmFybS1hcGktdXJscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2N1c3RvbWVyLWZhcm0vc3JjL2xpYi9kZXBlbmRlbmNpZXMvY3VzdG9tZXItZmFybS1hcGktdXJscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sbUJBQW1CO0lBQWhDO1FBQ0ksbUNBQW1DO1FBQ25DLDJCQUFzQixHQUFXLDBCQUEwQixDQUFDO1FBRTVELHlDQUF5QztRQUN6Qyw4QkFBeUIsR0FBVyx5QkFBeUIsQ0FBQztRQUU5RCwyQ0FBMkM7UUFDM0MsOEJBQXlCLEdBQVcseUJBQXlCLENBQUM7UUFFOUQsMkNBQTJDO1FBQzNDLDhCQUF5QixHQUFXLHlCQUF5QixDQUFDO1FBRTlELHNDQUFzQztRQUN0QywyQkFBc0IsR0FBVyx5QkFBeUIsQ0FBQztRQUUzRCwrQ0FBK0M7UUFDL0MsbUNBQThCLEdBQVcsa0NBQWtDLENBQUM7UUFFNUUsZ0RBQWdEO1FBQ2hELGdDQUEyQixHQUFXLDJDQUEyQyxDQUFDO1FBRWxGLCtDQUErQztRQUMvQyw2QkFBd0IsR0FBVyxpQ0FBaUMsQ0FBQztRQUVyRSxpREFBaUQ7UUFDakQsaUNBQTRCLEdBQVcsdUNBQXVDLENBQUM7SUFDbkYsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEN1c3RvbWVyRmFybUFwaVVybHMge1xyXG4gICAgLy9hcGkgVXJsIHN0cmluZyBmb3IgZ2V0IGRhdGEgYnkgSWRcclxuICAgIGdldEN1c3RvbWVyRmFybUJ5SWRVcmw6IHN0cmluZyA9ICdhcGkvQ3VzdG9tZXJGYXJtL0dldEJ5SWQnO1xyXG4gICAgXHJcbiAgICAvL2FwaSBVcmwgc3RyaW5nIGZvciBpbnNlcnQgQ3VzdG9tZXIgZGF0YVxyXG4gICAgaW5zZXJ0Q3VzdG9tZXJGYXJtRGF0YVVybDogc3RyaW5nID0gJ2FwaS9DdXN0b21lckZhcm0vQ3JlYXRlJztcclxuXHJcbiAgICAvL2FwaSBVcmwgc3RyaW5nIGZvciB1cGRhdGUgQ3VzdG9tZXIgcmVjb3JkXHJcbiAgICB1cGRhdGVDdXN0b21lckZhcm1EYXRhVXJsOiBzdHJpbmcgPSAnYXBpL0N1c3RvbWVyRmFybS9VcGRhdGUnO1xyXG5cclxuICAgIC8vYXBpIFVybCBzdHJpbmcgZm9yIGRlbGV0ZSBDdXN0b21lciByZWNvcmRcclxuICAgIGRlbGV0ZUN1c3RvbWVyRmFybURhdGFVcmw6IHN0cmluZyA9ICdhcGkvQ3VzdG9tZXJGYXJtL0RlbGV0ZSc7XHJcblxyXG4gICAgLy9hcGkgVXJsIHN0cmluZyBmb3IgZ2V0IEN1c3RvbWVyIGxpc3RcclxuICAgIGdldEN1c3RvbWVyRmFybUxpc3RVcmw6IHN0cmluZyA9ICdhcGkvQ3VzdG9tZXJGYXJtL0dldEFsbCc7XHJcbiAgIFxyXG4gICAgLy9hcGkgVXJsIHN0cmluZyBmb3IgZ2V0IEN1c3RvbWVyIGRyb3Bkb3duIGxpc3RcclxuICAgIGdldEN1c3RvbWVyRmFybURyb3Bkb3duTGlzdFVybDogc3RyaW5nID0gJ2FwaS9DdXN0b21lckZhcm0vR2V0RHJvcGRvd25MaXN0JztcclxuXHJcbiAgICAvL2FwaSBVcmwgc3RyaW5nIGZvciBnZXQgV2FyZWhvdXNlIGRyb3Bkb3duIGxpc3RcclxuICAgIGdldFdhcmVob3VzZURyb3Bkb3duTGlzdFVybDogc3RyaW5nID0gJ2FwaS9DdXN0b21lckZhcm0vR2V0V2FyZWhvdXNlRHJvcGRvd25MaXN0JztcclxuXHJcbiAgICAvL2FwaSBVcmwgc3RyaW5nIGZvciBnZXQgQ3VzdG9tZXIgZHJvcGRvd24gbGlzdFxyXG4gICAgZ2V0Y3VzdG9tZXJsaXN0YnlrZXl3b3JkOiBzdHJpbmcgPSAnYXBpL0N1c3RvbWVyRmFybS9TZWFyY2hDdXN0b21lcic7XHJcblxyXG4gICAgLy9hcGkgVXJsIHN0cmluZyBmb3IgZ2V0IENsaWVudCBudW1iZXIgdmFsaWRhdGlvblxyXG4gICAgZ2V0Q2xpZW50TnVtYmVyVmFsaWRhdGlvblVybDogc3RyaW5nID0gJ2FwaS9DdXN0b21lckZhcm0vVmFsaWRhdGVDbGllbnROdW1iZXInO1xyXG59Il19
|
|
@@ -5,6 +5,7 @@ export class CustomerFarmModel {
|
|
|
5
5
|
this.recordId = null;
|
|
6
6
|
this.customerId = null;
|
|
7
7
|
this.clientNumber = '';
|
|
8
|
+
this.standardDeliveryCost = 0;
|
|
8
9
|
this.customerName = '';
|
|
9
10
|
this.defaultWarehouse = '';
|
|
10
11
|
this.personInCharge = '';
|
|
@@ -36,6 +37,7 @@ export class CustomerFarmConfigrationModel {
|
|
|
36
37
|
export class RequiredCustomerFarmFields {
|
|
37
38
|
constructor() {
|
|
38
39
|
this.clientNumber = true;
|
|
40
|
+
this.standardDeliveryCost = true;
|
|
39
41
|
this.customerName = true;
|
|
40
42
|
this.customerId = true;
|
|
41
43
|
this.defaultWarehouse = true;
|
|
@@ -49,6 +51,7 @@ export class RequiredCustomerFarmFields {
|
|
|
49
51
|
export class AllowedCustomerFarmFields {
|
|
50
52
|
constructor() {
|
|
51
53
|
this.clientNumber = true;
|
|
54
|
+
this.standardDeliveryCost = true;
|
|
52
55
|
this.customerName = true;
|
|
53
56
|
this.defaultWarehouse = true;
|
|
54
57
|
this.personInCharge = true;
|
|
@@ -64,4 +67,4 @@ export class CustomerFarmGridConfigration {
|
|
|
64
67
|
this.formCodeForGridPermission = null;
|
|
65
68
|
}
|
|
66
69
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItZmFybS1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2N1c3RvbWVyLWZhcm0vc3JjL2xpYi9kZXBlbmRlbmNpZXMvY3VzdG9tZXItZmFybS1tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8saUJBQWlCO0lBQTlCO1FBQ0ksYUFBUSxHQUFXLElBQUksQ0FBQztRQUN4QixXQUFNLEdBQVcsRUFBRSxDQUFDO1FBQ3BCLGFBQVEsR0FBVyxJQUFJLENBQUM7UUFDeEIsZUFBVSxHQUFXLElBQUksQ0FBQztRQUMxQixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQix5QkFBb0IsR0FBVyxDQUFDLENBQUM7UUFDakMsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIscUJBQWdCLEdBQVcsRUFBRSxDQUFDO1FBQzlCLG1CQUFjLEdBQVcsRUFBRSxDQUFDO1FBQzVCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLGNBQVMsR0FBVyxFQUFFLENBQUM7UUFDdkIsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixjQUFTLEdBQVksS0FBSyxDQUFDO0lBQy9CLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyw2QkFBNkI7SUFBMUM7UUFDSSxhQUFRLEdBQVcsSUFBSSxDQUFDO1FBQ3hCLGVBQVUsR0FBVyxJQUFJLENBQUM7UUFDMUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGlCQUFZLEdBQXNCLElBQUksQ0FBQztRQUN2QyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixnQ0FBMkIsR0FBWSxLQUFLLENBQUM7UUFDN0MsK0JBQTBCLEdBQVksS0FBSyxDQUFDO1FBQzVDLCtCQUEwQixHQUErQixJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFDMUYsOEJBQXlCLEdBQThCLElBQUkseUJBQXlCLEVBQUUsQ0FBQztRQUN2RixpQ0FBNEIsR0FBaUMsSUFBSSw0QkFBNEIsRUFBRSxDQUFDO0lBQ3BHLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTywwQkFBMEI7SUFBdkM7UUFDSSxpQkFBWSxHQUFZLElBQUksQ0FBQztRQUM3Qix5QkFBb0IsR0FBWSxJQUFJLENBQUM7UUFDckMsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDN0IsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixxQkFBZ0IsR0FBWSxJQUFJLENBQUM7UUFDakMsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFDL0IsaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDN0IsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFDNUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixvQkFBZSxHQUFZLEtBQUssQ0FBQztJQUNyQyxDQUFDO0NBQUE7QUFFRCxNQUFNLE9BQU8seUJBQXlCO0lBQXRDO1FBQ0ksaUJBQVksR0FBWSxJQUFJLENBQUM7UUFDN0IseUJBQW9CLEdBQVksSUFBSSxDQUFDO1FBQ3JDLGlCQUFZLEdBQVksSUFBSSxDQUFDO1FBQzdCLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUNqQyxtQkFBYyxHQUFZLElBQUksQ0FBQztRQUMvQixpQkFBWSxHQUFZLElBQUksQ0FBQztRQUM3QixjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFCLGdCQUFXLEdBQVksSUFBSSxDQUFDO1FBQzVCLG9CQUFlLEdBQVksS0FBSyxDQUFDO0lBQ3JDLENBQUM7Q0FBQTtBQUVELE1BQU0sT0FBTyw0QkFBNEI7SUFBekM7UUFDSSwwQkFBcUIsR0FBVyxJQUFJLENBQUM7UUFDckMsOEJBQXlCLEdBQVcsSUFBSSxDQUFDO0lBQzdDLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDdXN0b21lckZhcm1Nb2RlbCB7XHJcbiAgICBmb3JtQ29kZTogc3RyaW5nID0gbnVsbDtcclxuICAgIGZvcm1JZDogc3RyaW5nID0gJyc7XHJcbiAgICByZWNvcmRJZDogc3RyaW5nID0gbnVsbDtcclxuICAgIGN1c3RvbWVySWQ6IHN0cmluZyA9IG51bGw7XHJcbiAgICBjbGllbnROdW1iZXI6IHN0cmluZyA9ICcnO1xyXG4gICAgc3RhbmRhcmREZWxpdmVyeUNvc3Q6IG51bWJlciA9IDA7XHJcbiAgICBjdXN0b21lck5hbWU6IHN0cmluZyA9ICcnO1xyXG4gICAgZGVmYXVsdFdhcmVob3VzZTogc3RyaW5nID0gJyc7XHJcbiAgICBwZXJzb25JbkNoYXJnZTogc3RyaW5nID0gJyc7XHJcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nID0gJyc7XHJcbiAgICBwcmltYXJ5VmV0SWQ6IHN0cmluZyA9ICcnO1xyXG4gICAgUElDVGF0dG9vOiBzdHJpbmcgPSAnJztcclxuICAgIGlzQWN0aXZlOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIGlzRGVsZXRlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tZXJGYXJtQ29uZmlncmF0aW9uTW9kZWwge1xyXG4gICAgZm9ybUNvZGU6IHN0cmluZyA9IG51bGw7XHJcbiAgICBjdXN0b21lcklkOiBzdHJpbmcgPSBudWxsO1xyXG4gICAgZGVmYXVsdFZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHNob3dNb2RhbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgc2hvd0dyaWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGlzU2VhcmNoYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgc2hvd0NsaWVudERhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGN1c3RvbWVyRGF0YTogQ3VzdG9tZXJGYXJtTW9kZWwgPSBudWxsO1xyXG4gICAgdXNlck1lc3NhZ2VzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICByZXF1aXJlZEN1c3RvbWVyRmFybVNlY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGFsbG93ZWRDdXN0b21lckZhcm1TZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICByZXF1aXJlZEN1c3RvbWVyRmFybUZpZWxkczogUmVxdWlyZWRDdXN0b21lckZhcm1GaWVsZHMgPSBuZXcgUmVxdWlyZWRDdXN0b21lckZhcm1GaWVsZHMoKTtcclxuICAgIGFsbG93ZWRDdXN0b21lckZhcm1GaWVsZHM6IEFsbG93ZWRDdXN0b21lckZhcm1GaWVsZHMgPSBuZXcgQWxsb3dlZEN1c3RvbWVyRmFybUZpZWxkcygpO1xyXG4gICAgY3VzdG9tZXJGYXJtR3JpZENvbmZpZ3JhdGlvbjogQ3VzdG9tZXJGYXJtR3JpZENvbmZpZ3JhdGlvbiA9IG5ldyBDdXN0b21lckZhcm1HcmlkQ29uZmlncmF0aW9uKCk7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSZXF1aXJlZEN1c3RvbWVyRmFybUZpZWxkcyB7XHJcbiAgICBjbGllbnROdW1iZXI6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgc3RhbmRhcmREZWxpdmVyeUNvc3Q6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgY3VzdG9tZXJOYW1lOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIGN1c3RvbWVySWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgZGVmYXVsdFdhcmVob3VzZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBwZXJzb25JbkNoYXJnZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBwcmltYXJ5VmV0SWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgZGlzcGxheU5hbWU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgUElDVGF0dG9vOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcm9maWxlSW1hZ2VVUkw6IGJvb2xlYW4gPSBmYWxzZTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFsbG93ZWRDdXN0b21lckZhcm1GaWVsZHMge1xyXG4gICAgY2xpZW50TnVtYmVyOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIHN0YW5kYXJkRGVsaXZlcnlDb3N0OiBib29sZWFuID0gdHJ1ZTtcclxuICAgIGN1c3RvbWVyTmFtZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBkZWZhdWx0V2FyZWhvdXNlOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIHBlcnNvbkluQ2hhcmdlOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIHByaW1hcnlWZXRJZDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBQSUNUYXR0b286IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgZGlzcGxheU5hbWU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgcHJvZmlsZUltYWdlVVJMOiBib29sZWFuID0gZmFsc2U7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21lckZhcm1HcmlkQ29uZmlncmF0aW9uIHtcclxuICAgIGZvcm1Db2RlRm9ySnNvbkhlYWRlcjogc3RyaW5nID0gbnVsbDtcclxuICAgIGZvcm1Db2RlRm9yR3JpZFBlcm1pc3Npb246IHN0cmluZyA9IG51bGw7XHJcbn1cclxuXHJcbiJdfQ==
|