fabrikantencore 2.0.6 → 2.0.8

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.
Files changed (17) hide show
  1. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-manyname-dialog/beheer-products-connect-manyname-dialog.component.mjs +8 -7
  2. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.mjs +7 -6
  3. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.mjs +8 -7
  4. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.mjs +41 -43
  5. package/esm2020/src/app/modules/fabrikantencore/services/products.service.mjs +5 -2
  6. package/esm2020/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +64 -13
  7. package/fesm2015/fabrikantencore.mjs +183 -127
  8. package/fesm2015/fabrikantencore.mjs.map +1 -1
  9. package/fesm2020/fabrikantencore.mjs +181 -125
  10. package/fesm2020/fabrikantencore.mjs.map +1 -1
  11. package/package.json +1 -1
  12. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-manyname-dialog/beheer-products-connect-manyname-dialog.component.d.ts +3 -2
  13. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.d.ts +3 -2
  14. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.d.ts +3 -2
  15. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.d.ts +6 -3
  16. package/src/app/modules/fabrikantencore/services/products.service.d.ts +2 -2
  17. package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +14 -10
@@ -16,13 +16,14 @@ import * as i11 from "@angular/material/core";
16
16
  import * as i12 from "../../../../components/fab-loader/fab-loader.component";
17
17
  import * as i13 from "../../beheer-display-ebo/beheer-display-ebo.component";
18
18
  export class BeheerProductsConnectManynameDialogComponent {
19
- constructor(dialogRef, data, ProductsApiClient, ProductsService, ImportSetsService, FiltersApiClient) {
19
+ constructor(dialogRef, data, ProductsApiClient, ProductsService, ImportSetsService, FiltersApiClient, ChangeDetectorRef) {
20
20
  this.dialogRef = dialogRef;
21
21
  this.data = data;
22
22
  this.ProductsApiClient = ProductsApiClient;
23
23
  this.ProductsService = ProductsService;
24
24
  this.ImportSetsService = ImportSetsService;
25
25
  this.FiltersApiClient = FiltersApiClient;
26
+ this.ChangeDetectorRef = ChangeDetectorRef;
26
27
  this.LoadingPreview = true;
27
28
  this.LoadingFilters = true;
28
29
  this.LevelsDeep = 0;
@@ -42,7 +43,7 @@ export class BeheerProductsConnectManynameDialogComponent {
42
43
  model.filterId = this.FilterSelected;
43
44
  this.LoadingPreview = true;
44
45
  this.ProductsApiClient.connectManyName(model).subscribe((model) => {
45
- this.ProductsService.LoadProduct();
46
+ this.ProductsService.LoadProduct(this.ChangeDetectorRef);
46
47
  this.LoadingPreview = false;
47
48
  this.dialogRef.close();
48
49
  }, (error) => {
@@ -66,7 +67,7 @@ export class BeheerProductsConnectManynameDialogComponent {
66
67
  model.filterId = this.FilterSelected;
67
68
  this.LoadingPreview = true;
68
69
  this.ProductsApiClient.connectManyEBO(model).subscribe(() => {
69
- this.ProductsService.LoadProduct();
70
+ this.ProductsService.LoadProduct(this.ChangeDetectorRef);
70
71
  this.LoadingPreview = false;
71
72
  this.dialogRef.close();
72
73
  }, (error) => {
@@ -89,7 +90,7 @@ export class BeheerProductsConnectManynameDialogComponent {
89
90
  model.filterId = this.FilterSelected;
90
91
  this.LoadingPreview = true;
91
92
  this.ProductsApiClient.connectManyEBODO(model).subscribe(() => {
92
- this.ProductsService.LoadProduct();
93
+ this.ProductsService.LoadProduct(this.ChangeDetectorRef);
93
94
  this.LoadingPreview = false;
94
95
  this.dialogRef.close();
95
96
  }, (error) => {
@@ -208,7 +209,7 @@ export class BeheerProductsConnectManynameDialogComponent {
208
209
  });
209
210
  }
210
211
  }
211
- BeheerProductsConnectManynameDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsConnectManynameDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.ProductsApiClient }, { token: i3.ProductsService }, { token: i4.ImportSetsService }, { token: i2.FiltersApiClient }], target: i0.ɵɵFactoryTarget.Component });
212
+ BeheerProductsConnectManynameDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsConnectManynameDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.ProductsApiClient }, { token: i3.ProductsService }, { token: i4.ImportSetsService }, { token: i2.FiltersApiClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
212
213
  BeheerProductsConnectManynameDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsConnectManynameDialogComponent, selector: "app-beheer-products-connect-manyname-dialog", ngImport: i0, template: "<div>\r\n <div *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n </div>\r\n <div *ngIf=\"!Loading()\">\r\n <div class=\"displayflex\" *ngIf=\"bcbebodoid == null\">\r\n <mat-form-field appearance=\"fill\" (change)=\"Refresh()\">\r\n <mat-label>Levels</mat-label>\r\n <input matInput type=\"number\" [(ngModel)]=\"LevelsDeep\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"main-content\">\r\n <div *ngFor=\"let result of ConnectManyPreviewResponse.containers\">\r\n <div class=\"container-name\">{{ result.name }}</div>\r\n <div class=\"opties optie\" >\r\n <div *ngFor=\"let ebo of result.ebOs\" class=\"displayflex\">\r\n <div >\r\n {{ ebo.count }}x\r\n </div>\r\n <app-beheer-display-ebo [ebo]=\"ebo.ebo\"></app-beheer-display-ebo>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"displayflex\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <div *ngIf=\"bcbproducteigenschapoptieid != null\">\r\n <button class=\"button\" mat-raised-button (click)=\"Connect()\">\r\n Connect\r\n </button>\r\n </div>\r\n <div *ngIf=\"bcbebodoid != null\">\r\n <button class=\"button\" mat-raised-button (click)=\"ConnectEBODO()\">\r\n Connect\r\n </button>\r\n </div>\r\n <div *ngIf=\"bcbproductopbouwoptieid != null\" class=\"displayflex\">\r\n <div *ngFor=\"let type of GetConnects()\">\r\n <button class=\"button\" mat-raised-button (click)=\"ConnectType(type)\">\r\n {{ type }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".displayflex{display:flex}.button{height:38px;width:100px}.main-content{padding:10px}.opties{padding-left:10px;max-height:600px;overflow:auto}.container-name{padding:3px;border-bottom:2px solid #000;font-weight:700}.optie{padding:2px;border-bottom:1px solid #000}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.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: i8.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: i8.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i11.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i12.FabLoaderComponent, selector: "app-fab-loader" }, { kind: "component", type: i13.BeheerDisplayEboComponent, selector: "app-beheer-display-ebo", inputs: ["ebo"] }] });
213
214
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsConnectManynameDialogComponent, decorators: [{
214
215
  type: Component,
@@ -216,5 +217,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
216
217
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
217
218
  type: Inject,
218
219
  args: [MAT_DIALOG_DATA]
219
- }] }, { type: i2.ProductsApiClient }, { type: i3.ProductsService }, { type: i4.ImportSetsService }, { type: i2.FiltersApiClient }]; } });
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtbWFueW5hbWUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LW1hbnluYW1lLWRpYWxvZy9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1tYW55bmFtZS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtbWFueW5hbWUtZGlhbG9nL2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LW1hbnluYW1lLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxxQkFBcUIsRUFBMkIseUJBQXlCLEVBQXFGLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQU9sUSxNQUFNLE9BQU8sNENBQTRDO0lBZXZELFlBQ1MsU0FBcUUsRUFDNUMsSUFBUyxFQUNqQyxpQkFBb0MsRUFDcEMsZUFBZ0MsRUFDaEMsaUJBQW9DLEVBQ3BDLGdCQUFrQztRQUxuQyxjQUFTLEdBQVQsU0FBUyxDQUE0RDtRQUM1QyxTQUFJLEdBQUosSUFBSSxDQUFLO1FBQ2pDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsb0JBQWUs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SyxDQUFDO1FBQzlCLENBQUMsRUFBRSxDQUFDLEtBQWUsRUFBRSxFQUFFO1lBQ3JCLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHO2dCQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lCQUN2QjtnQkFDSCxPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUM7Z0JBQzNDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDcEI7WUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3lJQS9PVSw0Q0FBNEMsOENBaUI3QyxlQUFlOzZIQWpCZCw0Q0FBNEMsbUZDWHpELG1pRUF3REE7MkZEN0NhLDRDQUE0QztrQkFMeEQsU0FBUzsrQkFDRSw2Q0FBNkM7OzBCQXFCcEQsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBJbXBvcnRTZXRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ltcG9ydHNldHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb25uZWN0TWFueU5hbWVSZXF1ZXN0LCBDb25uZWN0TWFueUVCT1JlcXVlc3QsIENvbm5lY3RNYW55TmFtZVJlc3BvbnNlLCBDb25uZWN0TWFueVByZXZpZXdSZXF1ZXN0LCBDb25uZWN0TWFueVByZXZpZXdSZXNwb25zZSwgRmlsdGVyc0FwaUNsaWVudCwgRmlsdGVyc1ZpZXdNb2RlbCwgUHJvZHVjdHNBcGlDbGllbnQsIENvbm5lY3RNYW55RUJPRE9SZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtbWFueW5hbWUtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LW1hbnluYW1lLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LW1hbnluYW1lLWRpYWxvZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJlaGVlclByb2R1Y3RzQ29ubmVjdE1hbnluYW1lRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgTG9hZGluZ1ByZXZpZXc6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgTG9hZGluZ0ZpbHRlcnM6IGJvb2xlYW4gPSB0cnVlO1xuICBwdWJsaWMgQ29ubmVjdE1hbnlQcmV2aWV3UmVzcG9uc2U6IENvbm5lY3RNYW55UHJldmlld1Jlc3BvbnNlO1xuXG4gIHB1YmxpYyBGaWx0ZXJzVmlld01vZGVsOiBGaWx0ZXJzVmlld01vZGVsO1xuXG4gIHB1YmxpYyBGaWx0ZXJTZWxlY3RlZDogbnVtYmVyO1xuICBwdWJsaWMgTGV2ZWxzRGVlcDogbnVtYmVyID0gMDtcblxuICBwdWJsaWMgYmNicHJvZHVjdGVpZ2Vuc2NoYXBvcHRpZWlkOiBudW1iZXIgfCBudWxsO1xuICBwdWJsaWMgYmNicHJvZHVjdG9wYm91d29wdGllaWQ6IG51bWJlciB8IG51bGw7XG4gIHB1YmxpYyBiY2JlYm9kb2lkOiBudW1iZXIgfCBudWxsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxCZWhlZXJQcm9kdWN0c0Nvbm5lY3RNYW55bmFtZURpYWxvZ0NvbXBvbmVudD4sXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXG4gICAgcHJpdmF0ZSBQcm9kdWN0c0FwaUNsaWVudDogUHJvZHVjdHNBcGlDbGllbnQsXG4gICAgcHJpdmF0ZSBQcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSxcbiAgICBwcml2YXRlIEltcG9ydFNldHNTZXJ2aWNlOiBJbXBvcnRTZXRzU2VydmljZSxcbiAgICBwcml2YXRlIEZpbHRlcnNBcGlDbGllbnQ6IEZpbHRlcnNBcGlDbGllbnQpIHtcbiAgICB0aGlzLmJjYnByb2R1Y3RlaWdlbnNjaGFwb3B0aWVpZCA9IGRhdGEuYmNicHJvZHVjdGVpZ2Vuc2NoYXBvcHRpZWlkO1xuICAgIHRoaXMuYmNicHJvZHVjdG9wYm91d29wdGllaWQgPSBkYXRhLmJjYnByb2R1Y3RvcGJvdXdvcHRpZWlkO1xuICAgIHRoaXMuYmNiZWJvZG9pZCA9IGRhdGEuYmNiZWJvZG9pZDtcbiAgICB0aGlzLlJlZnJlc2goKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuTG9hZEZpbHRlcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBDb25uZWN0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmJjYnByb2R1Y3RlaWdlbnNjaGFwb3B0aWVpZCAhPSBudWxsKSB7XG4gICAgICB2YXIgbW9kZWwgPSBuZXcgQ29ubmVjdE1hbnlOYW1lUmVxdWVzdCgpO1xyXG4gICAgICBtb2RlbC5iY2JQcm9kdWN0RWlnZW5zY2hhcE9wdGllSWQgPSB0aGlzLmJjYnByb2R1Y3RlaWdlbnNjaGFwb3B0aWVpZDtcclxuICAgICAgbW9kZWwubGV2ZWxzRGVlcCA9IHRoaXMuTGV2ZWxzRGVlcDtcclxuICAgICAgbW9kZWwuZmlsdGVySWQgPSB0aGlzLkZpbHRlclNlbGVjdGVkO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nUHJldmlldyA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50LmNvbm5lY3RNYW55TmFtZShtb2RlbCkuc3Vic2NyaWJlKChtb2RlbDogQ29ubmVjdE1hbnlOYW1lUmVzcG9uc2UpID0+IHtcclxuICAgICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5Mb2FkUHJvZHVjdCgpO1xyXG4gICAgICAgIHRoaXMuTG9hZGluZ1ByZXZpZXcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG5cclxuICAgICAgICB0aGlzLkxvYWRpbmdQcmV2aWV3ID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cblxuICBwdWJsaWMgQ29ubmVjdFR5cGUodHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYmNicHJvZHVjdG9wYm91d29wdGllaWQgIT0gbnVsbCkge1xuICAgICAgdmFyIG1vZGVsID0gbmV3IENvbm5lY3RNYW55RUJPUmVxdWVzdCgpO1xyXG4gICAgICBtb2RlbC5iY2JQcm9kdWN0T3Bib3V3T3B0aWVJZCA9IHRoaXMuYmNicHJvZHVjdG9wYm91d29wdGllaWQ7XHJcbiAgICAgIG1vZGVsLmRvVHlwZSA9IHR5cGU7XHJcbiAgICAgIG1vZGVsLmxldmVsc0RlZXAgPSB0aGlzLkxldmVsc0RlZXA7XHJcbiAgICAgIG1vZGVsLmZpbHRlcklkID0gdGhpcy5GaWx0ZXJTZWxlY3RlZDtcclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZ1ByZXZpZXcgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0TWFueUVCTyhtb2RlbCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5Mb2FkUHJvZHVjdCgpO1xyXG4gICAgICAgIHRoaXMuTG9hZGluZ1ByZXZpZXcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG5cclxuICAgICAgICB0aGlzLkxvYWRpbmdQcmV2aWV3ID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cblxuICBwdWJsaWMgQ29ubmVjdEVCT0RPKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmJjYmVib2RvaWQgIT0gbnVsbCkge1xuICAgICAgdmFyIG1vZGVsID0gbmV3IENvbm5lY3RNYW55RUJPRE9SZXF1ZXN0KCk7XHJcbiAgICAgIG1vZGVsLmJjYmVib2RvSWQgPSB0aGlzLmJjYmVib2RvaWQ7XHJcbiAgICAgIG1vZGVsLmJjYkltcG9ydFNldElkID0gdGhpcy5JbXBvcnRTZXRzU2VydmljZS5CQ0JJbXBvcnRTZXRTZWxlY3RlZDtcclxuICAgICAgbW9kZWwuZmlsdGVySWQgPSB0aGlzLkZpbHRlclNlbGVjdGVkO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nUHJldmlldyA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50LmNvbm5lY3RNYW55RUJPRE8obW9kZWwpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuTG9hZFByb2R1Y3QoKTtcclxuICAgICAgICB0aGlzLkxvYWRpbmdQcmV2aWV3ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGFsZXJ0KGVycm9yKTtcclxuXHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nUHJldmlldyA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XG5cbiAgcHVibGljIExvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuTG9hZGluZ1ByZXZpZXcgfHwgdGhpcy5Mb2FkaW5nRmlsdGVycztcclxuICB9XG5cbiAgcHVibGljIFJlZnJlc2goKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYmNicHJvZHVjdGVpZ2Vuc2NoYXBvcHRpZWlkICE9IG51bGwpIHtcbiAgICAgIHRoaXMuTG9hZFJlc3VsdEVpZ2Vuc2NoYXAodGhpcy5iY2Jwcm9kdWN0ZWlnZW5zY2hhcG9wdGllaWQpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmJjYnByb2R1Y3RvcGJvdXdvcHRpZWlkICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5Mb2FkUmVzdWx0T3Bib3V3KHRoaXMuYmNicHJvZHVjdG9wYm91d29wdGllaWQpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmJjYmVib2RvaWQgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLkxvYWRSZXN1bHRFQk9ETyh0aGlzLmJjYmVib2RvaWQpO1xyXG4gICAgfVxyXG4gIH1cblxuICBwdWJsaWMgTG9hZFJlc3VsdEVpZ2Vuc2NoYXAoaWQ6IG51bWJlcik6IHZvaWQge1xuICAgIHZhciBtb2RlbCA9IG5ldyBDb25uZWN0TWFueVByZXZpZXdSZXF1ZXN0KCk7XHJcbiAgICBtb2RlbC5iY2JQcm9kdWN0RWlnZW5zY2hhcE9wdGllSWQgPSBpZDtcclxuICAgIG1vZGVsLmxldmVsc0RlZXAgPSB0aGlzLkxldmVsc0RlZXA7XHJcblxyXG4gICAgdGhpcy5Mb2FkaW5nUHJldmlldyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0TWFueU5hbWVQcmV2aWV3KG1vZGVsKS5zdWJzY3JpYmUoKG1vZGVsOiBDb25uZWN0TWFueVByZXZpZXdSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLkNvbm5lY3RNYW55UHJldmlld1Jlc3BvbnNlID0gbW9kZWw7XHJcbiAgICAgIHRoaXMuTG9hZGluZ1ByZXZpZXcgPSBmYWxzZTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgYWxlcnQoZXJyb3IpO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nUHJldmlldyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxuXG4gIHB1YmxpYyBMb2FkUmVzdWx0T3Bib3V3KGlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICB2YXIgbW9kZWwgPSBuZXcgQ29ubmVjdE1hbnlFQk9SZXF1ZXN0KCk7XHJcbiAgICBtb2RlbC5iY2JQcm9kdWN0T3Bib3V3T3B0aWVJZCA9IGlkO1xyXG4gICAgbW9kZWwubGV2ZWxzRGVlcCA9IHRoaXMuTGV2ZWxzRGVlcDtcclxuXHJcbiAgICB0aGlzLkxvYWRpbmdQcmV2aWV3ID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50LmNvbm5lY3RNYW55RUJPUHJldmlldyhtb2RlbCkuc3Vic2NyaWJlKChtb2RlbDogQ29ubmVjdE1hbnlQcmV2aWV3UmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5Db25uZWN0TWFueVByZXZpZXdSZXNwb25zZSA9IG1vZGVsO1xyXG4gICAgICB0aGlzLkxvYWRpbmdQcmV2aWV3ID0gZmFsc2U7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGFsZXJ0KGVycm9yKTtcclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZ1ByZXZpZXcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cblxuICBwdWJsaWMgTG9hZFJlc3VsdEVCT0RPKGlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICB2YXIgbW9kZWwgPSBuZXcgQ29ubmVjdE1hbnlFQk9ET1JlcXVlc3QoKTtcclxuICAgIG1vZGVsLmJjYmVib2RvSWQgPSBpZDtcclxuICAgIG1vZGVsLmJjYkltcG9ydFNldElkID0gdGhpcy5JbXBvcnRTZXRzU2VydmljZS5CQ0JJbXBvcnRTZXRTZWxlY3RlZDtcclxuXHJcbiAgICB0aGlzLkxvYWRpbmdQcmV2aWV3ID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50LmNvbm5lY3RNYW55RUJPRE9QcmV2aWV3KG1vZGVsKS5zdWJzY3JpYmUoKG1vZGVsOiBDb25uZWN0TWFueVByZXZpZXdSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLkNvbm5lY3RNYW55UHJldmlld1Jlc3BvbnNlID0gbW9kZWw7XHJcbiAgICAgIHRoaXMuTG9hZGluZ1ByZXZpZXcgPSBmYWxzZTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgYWxlcnQoZXJyb3IpO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nUHJldmlldyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxuXG4gIHB1YmxpYyBHZXRDb25uZWN0cygpOiBBcnJheTxzdHJpbmc+IHtcbiAgICB2YXIgYXJyYXkgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xyXG5cclxuICAgIGlmICh0aGlzLkNvbm5lY3RNYW55UHJldmlld1Jlc3BvbnNlPy5jb250YWluZXJzICE9IG51bGwpIHtcclxuICAgICAgaWYgKHRoaXMuQ29ubmVjdE1hbnlQcmV2aWV3UmVzcG9uc2UuY29udGFpbmVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuQ29ubmVjdE1hbnlQcmV2aWV3UmVzcG9uc2UuY29udGFpbmVyc1swXS5lYk9zICE9IG51bGwpIHtcclxuICAgICAgICAgIGlmICh0aGlzLkNvbm5lY3RNYW55UHJldmlld1Jlc3BvbnNlLmNvbnRhaW5lcnNbMF0uZWJPcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLkNvbm5lY3RNYW55UHJldmlld1Jlc3BvbnNlLmNvbnRhaW5lcnNbMF0uZWJPc1swXS5lYm8/LmRPcyAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLkNvbm5lY3RNYW55UHJldmlld1Jlc3BvbnNlLmNvbnRhaW5lcnNbMF0uZWJPc1swXS5lYm8uZE9zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBhcnJheS5wdXNoKHRoaXMuQ29ubmVjdE1hbnlQcmV2aWV3UmVzcG9uc2UuY29udGFpbmVyc1swXS5lYk9zWzBdLmViby5kT3NbaV0uZG9UeXBlICsgXCJcIik7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFycmF5O1xyXG4gIH1cblxuICBwcml2YXRlIExvYWRGaWx0ZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LmdldEZpbHRlcnNWaWV3TW9kZWwoKS5zdWJzY3JpYmUoKG1vZGVsOiBGaWx0ZXJzVmlld01vZGVsKSA9PiB7XHJcbiAgICAgIHRoaXMuRmlsdGVyc1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cbn1cbiIsIjxkaXY+XHJcbiAgPGRpdiAqbmdJZj1cIkxvYWRpbmcoKVwiPlxyXG4gICAgPGFwcC1mYWItbG9hZGVyPjwvYXBwLWZhYi1sb2FkZXI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cIiFMb2FkaW5nKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkaXNwbGF5ZmxleFwiICpuZ0lmPVwiYmNiZWJvZG9pZCA9PSBudWxsXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIChjaGFuZ2UpPVwiUmVmcmVzaCgpXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5MZXZlbHM8L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cIm51bWJlclwiIFsobmdNb2RlbCldPVwiTGV2ZWxzRGVlcFwiPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCByZXN1bHQgb2YgQ29ubmVjdE1hbnlQcmV2aWV3UmVzcG9uc2UuY29udGFpbmVyc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItbmFtZVwiPnt7IHJlc3VsdC5uYW1lIH19PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGllcyBvcHRpZVwiID5cclxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGVibyBvZiByZXN1bHQuZWJPc1wiIGNsYXNzPVwiZGlzcGxheWZsZXhcIj5cclxuICAgICAgICAgICAgPGRpdiA+XHJcbiAgICAgICAgICAgICAge3sgZWJvLmNvdW50IH19eFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGFwcC1iZWhlZXItZGlzcGxheS1lYm8gW2Vib109XCJlYm8uZWJvXCI+PC9hcHAtYmVoZWVyLWRpc3BsYXktZWJvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4XCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+RmlsdGVyPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJGaWx0ZXJTZWxlY3RlZFwiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGZpbHRlciBvZiBGaWx0ZXJzVmlld01vZGVsLmZpbHRlclZpZXdNb2RlbHNcIiBbdmFsdWVdPVwiZmlsdGVyLmlkXCI+XHJcbiAgICAgICAgICAgIHt7ZmlsdGVyLm5hbWV9fVxyXG4gICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgIDxkaXYgKm5nSWY9XCJiY2Jwcm9kdWN0ZWlnZW5zY2hhcG9wdGllaWQgIT0gbnVsbFwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b25cIiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQ29ubmVjdCgpXCI+XHJcbiAgICAgICAgICBDb25uZWN0XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiYmNiZWJvZG9pZCAhPSBudWxsXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvblwiIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDb25uZWN0RUJPRE8oKVwiPlxyXG4gICAgICAgICAgQ29ubmVjdFxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiAqbmdJZj1cImJjYnByb2R1Y3RvcGJvdXdvcHRpZWlkICE9IG51bGxcIiBjbGFzcz1cImRpc3BsYXlmbGV4XCI+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdHlwZSBvZiBHZXRDb25uZWN0cygpXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCIgbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkNvbm5lY3RUeXBlKHR5cGUpXCI+XHJcbiAgICAgICAgICAgIHt7IHR5cGUgfX1cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
220
+ }] }, { type: i2.ProductsApiClient }, { type: i3.ProductsService }, { type: i4.ImportSetsService }, { type: i2.FiltersApiClient }, { type: i0.ChangeDetectorRef }]; } });
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtbWFueW5hbWUtZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LW1hbnluYW1lLWRpYWxvZy9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1tYW55bmFtZS1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtbWFueW5hbWUtZGlhbG9nL2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LW1hbnluYW1lLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd6RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQTJCLHlCQUF5QixFQUFxRix1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFPbFEsTUFBTSxPQUFPLDRDQUE0QztJQWV2RCxZQUNTLFNBQXFFLEVBQzVDLElBQVMsRUFDakMsaUJBQW9DLEVBQ3BDLGVBQWdDLEVBQ2hDLGlCQUFvQyxFQUNwQyxnQkFBa0MsRUFDbEMsaUJBQW9DO1FBTnJDLGNBQVMsR0FBVCxTQUFTLENBQTREO1FBQzVDLFNBQUksR0FBSixJQUFJLENBQUs7UUFDakMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFt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QW1CLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUF1QixFQUFFLEVBQUU7WUFDaEYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztZQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM5QixDQUFDLEVBQUUsQ0FBQyxLQUFlLEVBQUUsRUFBRTtZQUNyQixJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRztnQkFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztpQkFDdkI7Z0JBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO2dCQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3BCO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzt5SUFoUFUsNENBQTRDLDhDQWlCN0MsZUFBZTs2SEFqQmQsNENBQTRDLG1GQ1h6RCxtaUVBd0RBOzJGRDdDYSw0Q0FBNEM7a0JBTHhELFNBQVM7K0JBQ0UsNkNBQTZDOzswQkFxQnBELE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEltcG9ydFNldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvaW1wb3J0c2V0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvcHJvZHVjdHMuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbm5lY3RNYW55TmFtZVJlcXVlc3QsIENvbm5lY3RNYW55RUJPUmVxdWVzdCwgQ29ubmVjdE1hbnlOYW1lUmVzcG9uc2UsIENvbm5lY3RNYW55UHJldmlld1JlcXVlc3QsIENvbm5lY3RNYW55UHJldmlld1Jlc3BvbnNlLCBGaWx0ZXJzQXBpQ2xpZW50LCBGaWx0ZXJzVmlld01vZGVsLCBQcm9kdWN0c0FwaUNsaWVudCwgQ29ubmVjdE1hbnlFQk9ET1JlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1tYW55bmFtZS1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtbWFueW5hbWUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtbWFueW5hbWUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmVoZWVyUHJvZHVjdHNDb25uZWN0TWFueW5hbWVEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBMb2FkaW5nUHJldmlldzogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBMb2FkaW5nRmlsdGVyczogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBDb25uZWN0TWFueVByZXZpZXdSZXNwb25zZTogQ29ubmVjdE1hbnlQcmV2aWV3UmVzcG9uc2U7XG5cbiAgcHVibGljIEZpbHRlcnNWaWV3TW9kZWw6IEZpbHRlcnNWaWV3TW9kZWw7XG5cbiAgcHVibGljIEZpbHRlclNlbGVjdGVkOiBudW1iZXI7XG4gIHB1YmxpYyBMZXZlbHNEZWVwOiBudW1iZXIgPSAwO1xuXG4gIHB1YmxpYyBiY2Jwcm9kdWN0ZWlnZW5zY2hhcG9wdGllaWQ6IG51bWJlciB8IG51bGw7XG4gIHB1YmxpYyBiY2Jwcm9kdWN0b3Bib3V3b3B0aWVpZDogbnVtYmVyIHwgbnVsbDtcbiAgcHVibGljIGJjYmVib2RvaWQ6IG51bWJlciB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEJlaGVlclByb2R1Y3RzQ29ubmVjdE1hbnluYW1lRGlhbG9nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcbiAgICBwcml2YXRlIFByb2R1Y3RzQXBpQ2xpZW50OiBQcm9kdWN0c0FwaUNsaWVudCxcbiAgICBwcml2YXRlIFByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgSW1wb3J0U2V0c1NlcnZpY2U6IEltcG9ydFNldHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgRmlsdGVyc0FwaUNsaWVudDogRmlsdGVyc0FwaUNsaWVudCxcbiAgICBwcml2YXRlIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuYmNicHJvZHVjdGVpZ2Vuc2NoYXBvcHRpZWlkID0gZGF0YS5iY2Jwcm9kdWN0ZWlnZW5zY2hhcG9wdGllaWQ7XG4gICAgdGhpcy5iY2Jwcm9kdWN0b3Bib3V3b3B0aWVpZCA9IGRhdGEuYmNicHJvZHVjdG9wYm91d29wdGllaWQ7XG4gICAgdGhpcy5iY2JlYm9kb2lkID0gZGF0YS5iY2JlYm9kb2lkO1xuICAgIHRoaXMuUmVmcmVzaCgpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5Mb2FkRmlsdGVycygpO1xuICB9XG5cbiAgcHVibGljIENvbm5lY3QoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYmNicHJvZHVjdGVpZ2Vuc2NoYXBvcHRpZWlkICE9IG51bGwpIHtcbiAgICAgIHZhciBtb2RlbCA9IG5ldyBDb25uZWN0TWFueU5hbWVSZXF1ZXN0KCk7XHJcbiAgICAgIG1vZGVsLmJjYlByb2R1Y3RFaWdlbnNjaGFwT3B0aWVJZCA9IHRoaXMuYmNicHJvZHVjdGVpZ2Vuc2NoYXBvcHRpZWlkO1xyXG4gICAgICBtb2RlbC5sZXZlbHNEZWVwID0gdGhpcy5MZXZlbHNEZWVwO1xyXG4gICAgICBtb2RlbC5maWx0ZXJJZCA9IHRoaXMuRmlsdGVyU2VsZWN0ZWQ7XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmdQcmV2aWV3ID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuY29ubmVjdE1hbnlOYW1lKG1vZGVsKS5zdWJzY3JpYmUoKG1vZGVsOiBDb25uZWN0TWFueU5hbWVSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gICAgICAgIHRoaXMuTG9hZGluZ1ByZXZpZXcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG5cclxuICAgICAgICB0aGlzLkxvYWRpbmdQcmV2aWV3ID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cblxuICBwdWJsaWMgQ29ubmVjdFR5cGUodHlwZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYmNicHJvZHVjdG9wYm91d29wdGllaWQgIT0gbnVsbCkge1xuICAgICAgdmFyIG1vZGVsID0gbmV3IENvbm5lY3RNYW55RUJPUmVxdWVzdCgpO1xyXG4gICAgICBtb2RlbC5iY2JQcm9kdWN0T3Bib3V3T3B0aWVJZCA9IHRoaXMuYmNicHJvZHVjdG9wYm91d29wdGllaWQ7XHJcbiAgICAgIG1vZGVsLmRvVHlwZSA9IHR5cGU7XHJcbiAgICAgIG1vZGVsLmxldmVsc0RlZXAgPSB0aGlzLkxldmVsc0RlZXA7XHJcbiAgICAgIG1vZGVsLmZpbHRlcklkID0gdGhpcy5GaWx0ZXJTZWxlY3RlZDtcclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZ1ByZXZpZXcgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0TWFueUVCTyhtb2RlbCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5Mb2FkUHJvZHVjdCh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICAgICAgICB0aGlzLkxvYWRpbmdQcmV2aWV3ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGFsZXJ0KGVycm9yKTtcclxuXHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nUHJldmlldyA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XG5cbiAgcHVibGljIENvbm5lY3RFQk9ETygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5iY2JlYm9kb2lkICE9IG51bGwpIHtcbiAgICAgIHZhciBtb2RlbCA9IG5ldyBDb25uZWN0TWFueUVCT0RPUmVxdWVzdCgpO1xyXG4gICAgICBtb2RlbC5iY2JlYm9kb0lkID0gdGhpcy5iY2JlYm9kb2lkO1xyXG4gICAgICBtb2RlbC5iY2JJbXBvcnRTZXRJZCA9IHRoaXMuSW1wb3J0U2V0c1NlcnZpY2UuQkNCSW1wb3J0U2V0U2VsZWN0ZWQ7XHJcbiAgICAgIG1vZGVsLmZpbHRlcklkID0gdGhpcy5GaWx0ZXJTZWxlY3RlZDtcclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZ1ByZXZpZXcgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0TWFueUVCT0RPKG1vZGVsKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gICAgICAgIHRoaXMuTG9hZGluZ1ByZXZpZXcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG5cclxuICAgICAgICB0aGlzLkxvYWRpbmdQcmV2aWV3ID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cblxuICBwdWJsaWMgTG9hZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5Mb2FkaW5nUHJldmlldyB8fCB0aGlzLkxvYWRpbmdGaWx0ZXJzO1xyXG4gIH1cblxuICBwdWJsaWMgUmVmcmVzaCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5iY2Jwcm9kdWN0ZWlnZW5zY2hhcG9wdGllaWQgIT0gbnVsbCkge1xuICAgICAgdGhpcy5Mb2FkUmVzdWx0RWlnZW5zY2hhcCh0aGlzLmJjYnByb2R1Y3RlaWdlbnNjaGFwb3B0aWVpZCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYmNicHJvZHVjdG9wYm91d29wdGllaWQgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLkxvYWRSZXN1bHRPcGJvdXcodGhpcy5iY2Jwcm9kdWN0b3Bib3V3b3B0aWVpZCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuYmNiZWJvZG9pZCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuTG9hZFJlc3VsdEVCT0RPKHRoaXMuYmNiZWJvZG9pZCk7XHJcbiAgICB9XHJcbiAgfVxuXG4gIHB1YmxpYyBMb2FkUmVzdWx0RWlnZW5zY2hhcChpZDogbnVtYmVyKTogdm9pZCB7XG4gICAgdmFyIG1vZGVsID0gbmV3IENvbm5lY3RNYW55UHJldmlld1JlcXVlc3QoKTtcclxuICAgIG1vZGVsLmJjYlByb2R1Y3RFaWdlbnNjaGFwT3B0aWVJZCA9IGlkO1xyXG4gICAgbW9kZWwubGV2ZWxzRGVlcCA9IHRoaXMuTGV2ZWxzRGVlcDtcclxuXHJcbiAgICB0aGlzLkxvYWRpbmdQcmV2aWV3ID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50LmNvbm5lY3RNYW55TmFtZVByZXZpZXcobW9kZWwpLnN1YnNjcmliZSgobW9kZWw6IENvbm5lY3RNYW55UHJldmlld1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuQ29ubmVjdE1hbnlQcmV2aWV3UmVzcG9uc2UgPSBtb2RlbDtcclxuICAgICAgdGhpcy5Mb2FkaW5nUHJldmlldyA9IGZhbHNlO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhbGVydChlcnJvcik7XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmdQcmV2aWV3ID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XG5cbiAgcHVibGljIExvYWRSZXN1bHRPcGJvdXcoaWQ6IG51bWJlcik6IHZvaWQge1xuICAgIHZhciBtb2RlbCA9IG5ldyBDb25uZWN0TWFueUVCT1JlcXVlc3QoKTtcclxuICAgIG1vZGVsLmJjYlByb2R1Y3RPcGJvdXdPcHRpZUlkID0gaWQ7XHJcbiAgICBtb2RlbC5sZXZlbHNEZWVwID0gdGhpcy5MZXZlbHNEZWVwO1xyXG5cclxuICAgIHRoaXMuTG9hZGluZ1ByZXZpZXcgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuY29ubmVjdE1hbnlFQk9QcmV2aWV3KG1vZGVsKS5zdWJzY3JpYmUoKG1vZGVsOiBDb25uZWN0TWFueVByZXZpZXdSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLkNvbm5lY3RNYW55UHJldmlld1Jlc3BvbnNlID0gbW9kZWw7XHJcbiAgICAgIHRoaXMuTG9hZGluZ1ByZXZpZXcgPSBmYWxzZTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgYWxlcnQoZXJyb3IpO1xyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nUHJldmlldyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxuXG4gIHB1YmxpYyBMb2FkUmVzdWx0RUJPRE8oaWQ6IG51bWJlcik6IHZvaWQge1xuICAgIHZhciBtb2RlbCA9IG5ldyBDb25uZWN0TWFueUVCT0RPUmVxdWVzdCgpO1xyXG4gICAgbW9kZWwuYmNiZWJvZG9JZCA9IGlkO1xyXG4gICAgbW9kZWwuYmNiSW1wb3J0U2V0SWQgPSB0aGlzLkltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldFNlbGVjdGVkO1xyXG5cclxuICAgIHRoaXMuTG9hZGluZ1ByZXZpZXcgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuY29ubmVjdE1hbnlFQk9ET1ByZXZpZXcobW9kZWwpLnN1YnNjcmliZSgobW9kZWw6IENvbm5lY3RNYW55UHJldmlld1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuQ29ubmVjdE1hbnlQcmV2aWV3UmVzcG9uc2UgPSBtb2RlbDtcclxuICAgICAgdGhpcy5Mb2FkaW5nUHJldmlldyA9IGZhbHNlO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhbGVydChlcnJvcik7XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmdQcmV2aWV3ID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XG5cbiAgcHVibGljIEdldENvbm5lY3RzKCk6IEFycmF5PHN0cmluZz4ge1xuICAgIHZhciBhcnJheSA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XHJcblxyXG4gICAgaWYgKHRoaXMuQ29ubmVjdE1hbnlQcmV2aWV3UmVzcG9uc2U/LmNvbnRhaW5lcnMgIT0gbnVsbCkge1xyXG4gICAgICBpZiAodGhpcy5Db25uZWN0TWFueVByZXZpZXdSZXNwb25zZS5jb250YWluZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBpZiAodGhpcy5Db25uZWN0TWFueVByZXZpZXdSZXNwb25zZS5jb250YWluZXJzWzBdLmViT3MgIT0gbnVsbCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMuQ29ubmVjdE1hbnlQcmV2aWV3UmVzcG9uc2UuY29udGFpbmVyc1swXS5lYk9zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuQ29ubmVjdE1hbnlQcmV2aWV3UmVzcG9uc2UuY29udGFpbmVyc1swXS5lYk9zWzBdLmVibz8uZE9zICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuQ29ubmVjdE1hbnlQcmV2aWV3UmVzcG9uc2UuY29udGFpbmVyc1swXS5lYk9zWzBdLmViby5kT3MubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGFycmF5LnB1c2godGhpcy5Db25uZWN0TWFueVByZXZpZXdSZXNwb25zZS5jb250YWluZXJzWzBdLmViT3NbMF0uZWJvLmRPc1tpXS5kb1R5cGUgKyBcIlwiKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYXJyYXk7XHJcbiAgfVxuXG4gIHByaXZhdGUgTG9hZEZpbHRlcnMoKTogdm9pZCB7XHJcbiAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuZ2V0RmlsdGVyc1ZpZXdNb2RlbCgpLnN1YnNjcmliZSgobW9kZWw6IEZpbHRlcnNWaWV3TW9kZWwpID0+IHtcclxuICAgICAgdGhpcy5GaWx0ZXJzVmlld01vZGVsID0gbW9kZWw7XHJcbiAgICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSBmYWxzZTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxufVxuIiwiPGRpdj5cclxuICA8ZGl2ICpuZ0lmPVwiTG9hZGluZygpXCI+XHJcbiAgICA8YXBwLWZhYi1sb2FkZXI+PC9hcHAtZmFiLWxvYWRlcj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwiIUxvYWRpbmcoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4XCIgKm5nSWY9XCJiY2JlYm9kb2lkID09IG51bGxcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgKGNoYW5nZSk9XCJSZWZyZXNoKClcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPkxldmVsczwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgWyhuZ01vZGVsKV09XCJMZXZlbHNEZWVwXCI+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibWFpbi1jb250ZW50XCI+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHJlc3VsdCBvZiBDb25uZWN0TWFueVByZXZpZXdSZXNwb25zZS5jb250YWluZXJzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1uYW1lXCI+e3sgcmVzdWx0Lm5hbWUgfX08L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwib3B0aWVzIG9wdGllXCIgPlxyXG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZWJvIG9mIHJlc3VsdC5lYk9zXCIgY2xhc3M9XCJkaXNwbGF5ZmxleFwiPlxyXG4gICAgICAgICAgICA8ZGl2ID5cclxuICAgICAgICAgICAgICB7eyBlYm8uY291bnQgfX14XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YXBwLWJlaGVlci1kaXNwbGF5LWVibyBbZWJvXT1cImViby5lYm9cIj48L2FwcC1iZWhlZXItZGlzcGxheS1lYm8+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5GaWx0ZXI8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkZpbHRlclNlbGVjdGVkXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIEZpbHRlcnNWaWV3TW9kZWwuZmlsdGVyVmlld01vZGVsc1wiIFt2YWx1ZV09XCJmaWx0ZXIuaWRcIj5cclxuICAgICAgICAgICAge3tmaWx0ZXIubmFtZX19XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgPGRpdiAqbmdJZj1cImJjYnByb2R1Y3RlaWdlbnNjaGFwb3B0aWVpZCAhPSBudWxsXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvblwiIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDb25uZWN0KClcIj5cclxuICAgICAgICAgIENvbm5lY3RcclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJiY2JlYm9kb2lkICE9IG51bGxcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCIgbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkNvbm5lY3RFQk9ETygpXCI+XHJcbiAgICAgICAgICBDb25uZWN0XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiYmNicHJvZHVjdG9wYm91d29wdGllaWQgIT0gbnVsbFwiIGNsYXNzPVwiZGlzcGxheWZsZXhcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCB0eXBlIG9mIEdldENvbm5lY3RzKClcIj5cclxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b25cIiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQ29ubmVjdFR5cGUodHlwZSlcIj5cclxuICAgICAgICAgICAge3sgdHlwZSB9fVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -16,13 +16,14 @@ import * as i11 from "@angular/material/select";
16
16
  import * as i12 from "@angular/material/core";
17
17
  import * as i13 from "../../../../components/fab-loader/fab-loader.component";
18
18
  export class BeheerProductsConnectRangeinputComponent {
19
- constructor(dialogRef, data, ProductsApiClient, FiltersApiClient, ImportSetsService, ProductsService) {
19
+ constructor(dialogRef, data, ProductsApiClient, FiltersApiClient, ImportSetsService, ProductsService, ChangeDetectorRef) {
20
20
  this.dialogRef = dialogRef;
21
21
  this.data = data;
22
22
  this.ProductsApiClient = ProductsApiClient;
23
23
  this.FiltersApiClient = FiltersApiClient;
24
24
  this.ImportSetsService = ImportSetsService;
25
25
  this.ProductsService = ProductsService;
26
+ this.ChangeDetectorRef = ChangeDetectorRef;
26
27
  this.RangeInputNaamNieuw = "";
27
28
  this.LoadingRangeInputs = false;
28
29
  this.LoadingOptions = false;
@@ -43,7 +44,7 @@ export class BeheerProductsConnectRangeinputComponent {
43
44
  request.location = this.location;
44
45
  this.ProductsApiClient.connectBCBEigenschapRangeInput(request).subscribe(() => {
45
46
  this.dialogRef.close();
46
- this.ProductsService.LoadProduct();
47
+ this.ProductsService.LoadProduct(this.ChangeDetectorRef);
47
48
  }, (error) => {
48
49
  alert(error);
49
50
  });
@@ -59,7 +60,7 @@ export class BeheerProductsConnectRangeinputComponent {
59
60
  request.location = this.location;
60
61
  this.ProductsApiClient.connectBCBEigenschapRangeInput(request).subscribe(() => {
61
62
  this.dialogRef.close();
62
- this.ProductsService.LoadProduct();
63
+ this.ProductsService.LoadProduct(this.ChangeDetectorRef);
63
64
  }, (error) => {
64
65
  alert(error);
65
66
  });
@@ -93,7 +94,7 @@ export class BeheerProductsConnectRangeinputComponent {
93
94
  return this.LoadingRangeInputs || this.LoadingOptions;
94
95
  }
95
96
  }
96
- BeheerProductsConnectRangeinputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsConnectRangeinputComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.ProductsApiClient }, { token: i2.FiltersApiClient }, { token: i3.ImportSetsService }, { token: i4.ProductsService }], target: i0.ɵɵFactoryTarget.Component });
97
+ BeheerProductsConnectRangeinputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsConnectRangeinputComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.ProductsApiClient }, { token: i2.FiltersApiClient }, { token: i3.ImportSetsService }, { token: i4.ProductsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
97
98
  BeheerProductsConnectRangeinputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsConnectRangeinputComponent, selector: "app-beheer-products-connect-rangeinput", ngImport: i0, template: "<div *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading()\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuw\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Range input</mat-label>\r\n <input matInput [(ngModel)]=\"RangeInputNaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Range Input</mat-label>\r\n <mat-select [(ngModel)]=\"RangeInputSelected\">\r\n <mat-option *ngFor=\"let range of RangeInputsViewModel.rangeInputs\" [value]=\"range.id\">\r\n {{range.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"Bestaand()\">Koppel</button>\r\n </div>\r\n </mat-tab>\r\n </mat-tab-group>\r\n <div class=\"options-container\">\r\n <div *ngFor=\"let fullname of Options.eigenschappen\">\r\n <b>{{ fullname.location }}</b>\r\n <div *ngFor=\"let ebo of fullname.eigenschappen\">\r\n {{ ebo }}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".options-container{max-height:300px}.tool-bar{padding:2px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.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: i8.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: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i10.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i10.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i11.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i13.FabLoaderComponent, selector: "app-fab-loader" }] });
98
99
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsConnectRangeinputComponent, decorators: [{
99
100
  type: Component,
@@ -101,5 +102,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
101
102
  }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
102
103
  type: Inject,
103
104
  args: [MAT_DIALOG_DATA]
104
- }] }, { type: i2.ProductsApiClient }, { type: i2.FiltersApiClient }, { type: i3.ImportSetsService }, { type: i4.ProductsService }]; } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtcmFuZ2VpbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1yYW5nZWlucHV0L2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LXJhbmdlaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtcmFuZ2VpbnB1dC9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1yYW5nZWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHekUsT0FBTyxFQUFxQixxQ0FBcUMsRUFBa0YsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBTzdMLE1BQU0sT0FBTyx3Q0FBd0M7SUFjbkQsWUFDUyxTQUFpRSxFQUN4QyxJQUFTLEVBQ2pDLGlCQUFvQyxFQUNwQyxnQkFBa0MsRUFDbEMsaUJBQW9DLEVBQ3JDLGVBQWdDO1FBTGhDLGNBQVMsR0FBVCxTQUFTLENBQXdEO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQUs7UUFDakMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDckMsb0JB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QztJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLEVBQUU7WUFDcEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFFM0IsSUFBSSxPQUFPLEdBQUcsSUFBSSxxQ0FBcUMsRUFBRSxDQUFDO1lBRTFELE9BQU8sQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUMvQyxPQUFPLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDO1lBQ3BFLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUdqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMscUNBQXFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBNkMsRUFBRSxFQUFFO2dCQUNoSSxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDOUIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7Z0JBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNmLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDeEQsQ0FBQzs7cUlBcEdVLHdDQUF3Qyw4Q0FnQnpDLGVBQWU7eUhBaEJkLHdDQUF3Qyw4RUNYckQsNCtDQTRDQTsyRkRqQ2Esd0NBQXdDO2tCQUxwRCxTQUFTOytCQUNFLHdDQUF3Qzs7MEJBb0IvQyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEltcG9ydFNldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvaW1wb3J0c2V0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvcHJvZHVjdHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2R1Y3RzQXBpQ2xpZW50LCBDb25uZWN0QkNCRWlnZW5zY2hhcFJhbmdlSW5wdXRSZXF1ZXN0LCBGaWx0ZXJzQXBpQ2xpZW50LCBSYW5nZUlucHV0c1ZpZXdNb2RlbCwgQ29ubmVjdEJDQkVpZ2Vuc2NoYXBSYW5nZUlucHV0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1yYW5nZWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LXJhbmdlaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1yYW5nZWlucHV0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmVoZWVyUHJvZHVjdHNDb25uZWN0UmFuZ2VpbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHJpdmF0ZSBiY2JlaWdlbnNjaGFwaWQ6IG51bWJlcjtcbiAgcHJpdmF0ZSBsb2NhdGlvbjogc3RyaW5nO1xuXG4gIHB1YmxpYyBPcHRpb25zOiBDb25uZWN0QkNCRWlnZW5zY2hhcFJhbmdlSW5wdXRSZXNwb25zZTtcblxuICBwdWJsaWMgUmFuZ2VJbnB1dHNWaWV3TW9kZWw6IFJhbmdlSW5wdXRzVmlld01vZGVsO1xuICBwdWJsaWMgUmFuZ2VJbnB1dFNlbGVjdGVkOiBudW1iZXI7XG5cbiAgcHVibGljIFJhbmdlSW5wdXROYWFtTmlldXc6IHN0cmluZyA9IFwiXCI7XG4gIHB1YmxpYyBMb2FkaW5nUmFuZ2VJbnB1dHM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIExvYWRpbmdPcHRpb25zOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEJlaGVlclByb2R1Y3RzQ29ubmVjdFJhbmdlaW5wdXRDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxuICAgIHByaXZhdGUgUHJvZHVjdHNBcGlDbGllbnQ6IFByb2R1Y3RzQXBpQ2xpZW50LFxuICAgIHByaXZhdGUgRmlsdGVyc0FwaUNsaWVudDogRmlsdGVyc0FwaUNsaWVudCxcbiAgICBwcml2YXRlIEltcG9ydFNldHNTZXJ2aWNlOiBJbXBvcnRTZXRzU2VydmljZSxcbiAgICBwdWJsaWMgUHJvZHVjdHNTZXJ2aWNlOiBQcm9kdWN0c1NlcnZpY2UpIHtcbiAgICB0aGlzLmxvY2F0aW9uID0gZGF0YS5sb2NhdGlvbjtcbiAgICB0aGlzLmJjYmVpZ2Vuc2NoYXBpZCA9IGRhdGEuYmNiZWlnZW5zY2hhcGlkO1xuICAgIHRoaXMuTG9hZFJhbmdlSW5wdXQoKTtcbiAgICB0aGlzLkxvYWRPcHRpb25zKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIHB1YmxpYyBOaWV1d1RvZXZvZWdlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbCAhPSBudWxsKSB7XG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBDb25uZWN0QkNCRWlnZW5zY2hhcFJhbmdlSW5wdXRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXF1ZXN0LmJjYkVpZ2Vuc2NoYXBJZCA9IHRoaXMuYmNiZWlnZW5zY2hhcGlkO1xyXG4gICAgICByZXF1ZXN0LnJhbmdlSW5wdXQgPSB0aGlzLlJhbmdlSW5wdXROYWFtTmlldXc7XHJcbiAgICAgIHJlcXVlc3QucmFuZ2VJbnB1dElkID0gLTE7XHJcbiAgICAgIHJlcXVlc3QuYmNiUHJvZHVjdElkID0gdGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbD8uaWQ7XHJcbiAgICAgIHJlcXVlc3QubG9jYXRpb24gPSB0aGlzLmxvY2F0aW9uO1xyXG5cclxuICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0QkNCRWlnZW5zY2hhcFJhbmdlSW5wdXQocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KCk7XHJcbiAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cblxuICBwdWJsaWMgQmVzdGFhbmQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgIT0gbnVsbCkge1xuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgQ29ubmVjdEJDQkVpZ2Vuc2NoYXBSYW5nZUlucHV0UmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmVxdWVzdC5iY2JFaWdlbnNjaGFwSWQgPSB0aGlzLmJjYmVpZ2Vuc2NoYXBpZDtcclxuICAgICAgcmVxdWVzdC5yYW5nZUlucHV0ID0gXCJcIjtcclxuICAgICAgcmVxdWVzdC5yYW5nZUlucHV0SWQgPSB0aGlzLlJhbmdlSW5wdXRTZWxlY3RlZDtcclxuICAgICAgcmVxdWVzdC5iY2JQcm9kdWN0SWQgPSB0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsPy5pZDtcclxuICAgICAgcmVxdWVzdC5sb2NhdGlvbiA9IHRoaXMubG9jYXRpb247XHJcblxyXG4gICAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50LmNvbm5lY3RCQ0JFaWdlbnNjaGFwUmFuZ2VJbnB1dChyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuTG9hZFByb2R1Y3QoKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxuXG4gIHB1YmxpYyBMb2FkUmFuZ2VJbnB1dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZGluZ1JhbmdlSW5wdXRzID0gdHJ1ZTtcclxuICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5nZXRSYW5nZUlucHV0c1ZpZXdNb2RlbCgpLnN1YnNjcmliZSgobW9kZWw6IFJhbmdlSW5wdXRzVmlld01vZGVsKSA9PiB7XHJcbiAgICAgIHRoaXMuUmFuZ2VJbnB1dHNWaWV3TW9kZWwgPSBtb2RlbDtcclxuICAgICAgdGhpcy5Mb2FkaW5nUmFuZ2VJbnB1dHMgPSBmYWxzZTsgIFxyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBhbGVydChlcnJvcik7XHJcbiAgICB9KTtcclxuICB9XG5cbiAgcHVibGljIExvYWRPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLkxvYWRpbmdPcHRpb25zID0gdHJ1ZTtcclxuXHJcbiAgICAgIHZhciByZXF1ZXN0ID0gbmV3IENvbm5lY3RCQ0JFaWdlbnNjaGFwUmFuZ2VJbnB1dFJlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJlcXVlc3QuYmNiRWlnZW5zY2hhcElkID0gdGhpcy5iY2JlaWdlbnNjaGFwaWQ7XHJcbiAgICAgIHJlcXVlc3QuYmNiUHJvZHVjdElkID0gdGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbD8uaWQ7XHJcbiAgICAgIHJlcXVlc3QubG9jYXRpb24gPSB0aGlzLmxvY2F0aW9uO1xyXG5cclxuXHJcbiAgICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuY29ubmVjdEJDQkVpZ2Vuc2NoYXBSYW5nZUlucHV0UHJldmlldyhyZXF1ZXN0KS5zdWJzY3JpYmUoKG1vZGVsOiBDb25uZWN0QkNCRWlnZW5zY2hhcFJhbmdlSW5wdXRSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuT3B0aW9ucyA9IG1vZGVsO1xyXG4gICAgICAgIHRoaXMuTG9hZGluZ09wdGlvbnMgPSBmYWxzZTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxuXG4gIHB1YmxpYyBMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLkxvYWRpbmdSYW5nZUlucHV0cyB8fCB0aGlzLkxvYWRpbmdPcHRpb25zO1xyXG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJMb2FkaW5nKClcIj5cclxuICA8YXBwLWZhYi1sb2FkZXI+PC9hcHAtZmFiLWxvYWRlcj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiIUxvYWRpbmcoKVwiPlxyXG4gIDxtYXQtdGFiLWdyb3VwPlxyXG4gICAgPG1hdC10YWIgbGFiZWw9XCJOaWV1d1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyXCI+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPlJhbmdlIGlucHV0PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJSYW5nZUlucHV0TmFhbU5pZXV3XCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmlldXdUb2V2b2VnZW4oKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDxtYXQtdGFiIGxhYmVsPVwiQmVzdGFhbmRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5SYW5nZSBJbnB1dDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJSYW5nZUlucHV0U2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHJhbmdlIG9mIFJhbmdlSW5wdXRzVmlld01vZGVsLnJhbmdlSW5wdXRzXCIgW3ZhbHVlXT1cInJhbmdlLmlkXCI+XHJcbiAgICAgICAgICAgICAge3tyYW5nZS5uYW1lfX1cclxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhciB0b29sLWJhclwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkJlc3RhYW5kKClcIj5Lb3BwZWw8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC10YWI+XHJcbiAgPC9tYXQtdGFiLWdyb3VwPlxyXG4gIDxkaXYgY2xhc3M9XCJvcHRpb25zLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgZnVsbG5hbWUgb2YgT3B0aW9ucy5laWdlbnNjaGFwcGVuXCI+XHJcbiAgICAgIDxiPnt7IGZ1bGxuYW1lLmxvY2F0aW9uIH19PC9iPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlYm8gb2YgZnVsbG5hbWUuZWlnZW5zY2hhcHBlblwiPlxyXG4gICAgICAgIHt7IGVibyB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
105
+ }] }, { type: i2.ProductsApiClient }, { type: i2.FiltersApiClient }, { type: i3.ImportSetsService }, { type: i4.ProductsService }, { type: i0.ChangeDetectorRef }]; } });
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtcmFuZ2VpbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1yYW5nZWlucHV0L2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LXJhbmdlaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtcmFuZ2VpbnB1dC9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1yYW5nZWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3pFLE9BQU8sRUFBcUIscUNBQXFDLEVBQWtGLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQU83TCxNQUFNLE9BQU8sd0NBQXdDO0lBY25ELFlBQ1MsU0FBaUUsRUFDeEMsSUFBUyxFQUNqQyxpQkFBb0MsRUFDcEMsZ0JBQWtDLEVBQ2xDLGlCQUFvQyxFQUNyQyxlQUFnQyxFQUMvQixpQkFBb0M7UUFOckMsY0FBUyxHQUFULFNBQVMsQ0FBd0Q7UUFDeEMsU0FBSSxHQUFKLElBQUksQ0FBSztRQUNqQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixD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Y3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBJbXBvcnRTZXRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL2ltcG9ydHNldHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c0FwaUNsaWVudCwgQ29ubmVjdEJDQkVpZ2Vuc2NoYXBSYW5nZUlucHV0UmVxdWVzdCwgRmlsdGVyc0FwaUNsaWVudCwgUmFuZ2VJbnB1dHNWaWV3TW9kZWwsIENvbm5lY3RCQ0JFaWdlbnNjaGFwUmFuZ2VJbnB1dFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtcmFuZ2VpbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1yYW5nZWlucHV0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtcmFuZ2VpbnB1dC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJlaGVlclByb2R1Y3RzQ29ubmVjdFJhbmdlaW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHByaXZhdGUgYmNiZWlnZW5zY2hhcGlkOiBudW1iZXI7XG4gIHByaXZhdGUgbG9jYXRpb246IHN0cmluZztcblxuICBwdWJsaWMgT3B0aW9uczogQ29ubmVjdEJDQkVpZ2Vuc2NoYXBSYW5nZUlucHV0UmVzcG9uc2U7XG5cbiAgcHVibGljIFJhbmdlSW5wdXRzVmlld01vZGVsOiBSYW5nZUlucHV0c1ZpZXdNb2RlbDtcbiAgcHVibGljIFJhbmdlSW5wdXRTZWxlY3RlZDogbnVtYmVyO1xuXG4gIHB1YmxpYyBSYW5nZUlucHV0TmFhbU5pZXV3OiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgTG9hZGluZ1JhbmdlSW5wdXRzOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBMb2FkaW5nT3B0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxCZWhlZXJQcm9kdWN0c0Nvbm5lY3RSYW5nZWlucHV0Q29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcbiAgICBwcml2YXRlIFByb2R1Y3RzQXBpQ2xpZW50OiBQcm9kdWN0c0FwaUNsaWVudCxcbiAgICBwcml2YXRlIEZpbHRlcnNBcGlDbGllbnQ6IEZpbHRlcnNBcGlDbGllbnQsXG4gICAgcHJpdmF0ZSBJbXBvcnRTZXRzU2VydmljZTogSW1wb3J0U2V0c1NlcnZpY2UsXG4gICAgcHVibGljIFByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5sb2NhdGlvbiA9IGRhdGEubG9jYXRpb247XG4gICAgdGhpcy5iY2JlaWdlbnNjaGFwaWQgPSBkYXRhLmJjYmVpZ2Vuc2NoYXBpZDtcbiAgICB0aGlzLkxvYWRSYW5nZUlucHV0KCk7XG4gICAgdGhpcy5Mb2FkT3B0aW9ucygpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBwdWJsaWMgTmlldXdUb2V2b2VnZW4oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgIT0gbnVsbCkge1xuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgQ29ubmVjdEJDQkVpZ2Vuc2NoYXBSYW5nZUlucHV0UmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmVxdWVzdC5iY2JFaWdlbnNjaGFwSWQgPSB0aGlzLmJjYmVpZ2Vuc2NoYXBpZDtcclxuICAgICAgcmVxdWVzdC5yYW5nZUlucHV0ID0gdGhpcy5SYW5nZUlucHV0TmFhbU5pZXV3O1xyXG4gICAgICByZXF1ZXN0LnJhbmdlSW5wdXRJZCA9IC0xO1xyXG4gICAgICByZXF1ZXN0LmJjYlByb2R1Y3RJZCA9IHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWw/LmlkO1xyXG4gICAgICByZXF1ZXN0LmxvY2F0aW9uID0gdGhpcy5sb2NhdGlvbjtcclxuXHJcbiAgICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuY29ubmVjdEJDQkVpZ2Vuc2NoYXBSYW5nZUlucHV0KHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5Mb2FkUHJvZHVjdCh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxuXG4gIHB1YmxpYyBCZXN0YWFuZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbCAhPSBudWxsKSB7XG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBDb25uZWN0QkNCRWlnZW5zY2hhcFJhbmdlSW5wdXRSZXF1ZXN0KCk7XHJcblxyXG4gICAgICByZXF1ZXN0LmJjYkVpZ2Vuc2NoYXBJZCA9IHRoaXMuYmNiZWlnZW5zY2hhcGlkO1xyXG4gICAgICByZXF1ZXN0LnJhbmdlSW5wdXQgPSBcIlwiO1xyXG4gICAgICByZXF1ZXN0LnJhbmdlSW5wdXRJZCA9IHRoaXMuUmFuZ2VJbnB1dFNlbGVjdGVkO1xyXG4gICAgICByZXF1ZXN0LmJjYlByb2R1Y3RJZCA9IHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWw/LmlkO1xyXG4gICAgICByZXF1ZXN0LmxvY2F0aW9uID0gdGhpcy5sb2NhdGlvbjtcclxuXHJcbiAgICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuY29ubmVjdEJDQkVpZ2Vuc2NoYXBSYW5nZUlucHV0KHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5Mb2FkUHJvZHVjdCh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxuXG4gIHB1YmxpYyBMb2FkUmFuZ2VJbnB1dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZGluZ1JhbmdlSW5wdXRzID0gdHJ1ZTtcclxuICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5nZXRSYW5nZUlucHV0c1ZpZXdNb2RlbCgpLnN1YnNjcmliZSgobW9kZWw6IFJhbmdlSW5wdXRzVmlld01vZGVsKSA9PiB7XHJcbiAgICAgIHRoaXMuUmFuZ2VJbnB1dHNWaWV3TW9kZWwgPSBtb2RlbDtcclxuICAgICAgdGhpcy5Mb2FkaW5nUmFuZ2VJbnB1dHMgPSBmYWxzZTsgIFxyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBhbGVydChlcnJvcik7XHJcbiAgICB9KTtcclxuICB9XG5cbiAgcHVibGljIExvYWRPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLkxvYWRpbmdPcHRpb25zID0gdHJ1ZTtcclxuXHJcbiAgICAgIHZhciByZXF1ZXN0ID0gbmV3IENvbm5lY3RCQ0JFaWdlbnNjaGFwUmFuZ2VJbnB1dFJlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJlcXVlc3QuYmNiRWlnZW5zY2hhcElkID0gdGhpcy5iY2JlaWdlbnNjaGFwaWQ7XHJcbiAgICAgIHJlcXVlc3QuYmNiUHJvZHVjdElkID0gdGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbD8uaWQ7XHJcbiAgICAgIHJlcXVlc3QubG9jYXRpb24gPSB0aGlzLmxvY2F0aW9uO1xyXG5cclxuXHJcbiAgICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuY29ubmVjdEJDQkVpZ2Vuc2NoYXBSYW5nZUlucHV0UHJldmlldyhyZXF1ZXN0KS5zdWJzY3JpYmUoKG1vZGVsOiBDb25uZWN0QkNCRWlnZW5zY2hhcFJhbmdlSW5wdXRSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuT3B0aW9ucyA9IG1vZGVsO1xyXG4gICAgICAgIHRoaXMuTG9hZGluZ09wdGlvbnMgPSBmYWxzZTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxuXG4gIHB1YmxpYyBMb2FkaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLkxvYWRpbmdSYW5nZUlucHV0cyB8fCB0aGlzLkxvYWRpbmdPcHRpb25zO1xyXG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJMb2FkaW5nKClcIj5cclxuICA8YXBwLWZhYi1sb2FkZXI+PC9hcHAtZmFiLWxvYWRlcj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiIUxvYWRpbmcoKVwiPlxyXG4gIDxtYXQtdGFiLWdyb3VwPlxyXG4gICAgPG1hdC10YWIgbGFiZWw9XCJOaWV1d1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyXCI+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPlJhbmdlIGlucHV0PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJSYW5nZUlucHV0TmFhbU5pZXV3XCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmlldXdUb2V2b2VnZW4oKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDxtYXQtdGFiIGxhYmVsPVwiQmVzdGFhbmRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhclwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5SYW5nZSBJbnB1dDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJSYW5nZUlucHV0U2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHJhbmdlIG9mIFJhbmdlSW5wdXRzVmlld01vZGVsLnJhbmdlSW5wdXRzXCIgW3ZhbHVlXT1cInJhbmdlLmlkXCI+XHJcbiAgICAgICAgICAgICAge3tyYW5nZS5uYW1lfX1cclxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhciB0b29sLWJhclwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkJlc3RhYW5kKClcIj5Lb3BwZWw8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC10YWI+XHJcbiAgPC9tYXQtdGFiLWdyb3VwPlxyXG4gIDxkaXYgY2xhc3M9XCJvcHRpb25zLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgZnVsbG5hbWUgb2YgT3B0aW9ucy5laWdlbnNjaGFwcGVuXCI+XHJcbiAgICAgIDxiPnt7IGZ1bGxuYW1lLmxvY2F0aW9uIH19PC9iPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlYm8gb2YgZnVsbG5hbWUuZWlnZW5zY2hhcHBlblwiPlxyXG4gICAgICAgIHt7IGVibyB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -10,10 +10,11 @@ import * as i4 from "@angular/common";
10
10
  import * as i5 from "@angular/material/icon";
11
11
  import * as i6 from "../beheer-products-eigenschap/beheer-products-eigenschap.component";
12
12
  export class BeheerProductsEboComponent {
13
- constructor(dialog, ProductsApiClient, ProductsService) {
13
+ constructor(dialog, ProductsApiClient, ProductsService, ChangeDetectorRef) {
14
14
  this.dialog = dialog;
15
15
  this.ProductsApiClient = ProductsApiClient;
16
16
  this.ProductsService = ProductsService;
17
+ this.ChangeDetectorRef = ChangeDetectorRef;
17
18
  }
18
19
  ngOnInit() {
19
20
  }
@@ -46,7 +47,7 @@ export class BeheerProductsEboComponent {
46
47
  //request.bcbProductOpbouwOptieId = this.optie.id;
47
48
  request.filterOptionId = result.filteroption;
48
49
  this.ProductsApiClient.connectBCBOpbouwOptieFilterOption(request).subscribe(() => {
49
- this.ProductsService.LoadProduct();
50
+ this.ProductsService.LoadProduct(this.ChangeDetectorRef);
50
51
  }, (error) => {
51
52
  alert(error);
52
53
  });
@@ -68,7 +69,7 @@ export class BeheerProductsEboComponent {
68
69
  var request = new IgnoreOpbouwOptieRequest();
69
70
  // request.bcbProductOpbouwOptieId = this.optie.id;
70
71
  this.ProductsApiClient.ignoreBCBOpbouwOptieFilterOption(request).subscribe(() => {
71
- this.ProductsService.LoadProduct();
72
+ this.ProductsService.LoadProduct(this.ChangeDetectorRef);
72
73
  }, (error) => {
73
74
  alert(error);
74
75
  });
@@ -77,7 +78,7 @@ export class BeheerProductsEboComponent {
77
78
  var request = new RemoveOpbouwOptieRequest();
78
79
  //request.bcbProductOpbouwOptieId = this.optie.id;
79
80
  this.ProductsApiClient.removeBCBOpbouwOptieFilterOption(request).subscribe(() => {
80
- this.ProductsService.LoadProduct();
81
+ this.ProductsService.LoadProduct(this.ChangeDetectorRef);
81
82
  }, (error) => {
82
83
  alert(error);
83
84
  });
@@ -86,12 +87,12 @@ export class BeheerProductsEboComponent {
86
87
  this.ebo.open = !this.ebo.open;
87
88
  }
88
89
  }
89
- BeheerProductsEboComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsEboComponent, deps: [{ token: i1.MatDialog }, { token: i2.ProductsApiClient }, { token: i3.ProductsService }], target: i0.ɵɵFactoryTarget.Component });
90
+ BeheerProductsEboComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsEboComponent, deps: [{ token: i1.MatDialog }, { token: i2.ProductsApiClient }, { token: i3.ProductsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
90
91
  BeheerProductsEboComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsEboComponent, selector: "app-beheer-products-ebo", inputs: { ebo: "ebo" }, ngImport: i0, template: "<div class=\"container\" [ngClass]=\"{'warning': !ebo.connected, 'normal': ebo.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!ebo.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"ebo.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"name\" colspan=\"2\">\r\n {{ ebo.name }}\r\n </div>\r\n </div>\r\n <div *ngIf=\"ebo.open\" class=\"main-block\">\r\n <!--<div class=\"displayflex\" *ngIf=\"!ebo.connected && ConnectAv()\">\r\n <button mat-raised-button (click)=\"Ignore()\">\r\n Ignore\r\n </button>\r\n <button mat-raised-button (click)=\"Connect()\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectMany()\">\r\n FilterOptionMany\r\n </button>\r\n </div>\r\n <div class=\"displayflex\" *ngIf=\"!ConnectAv()\">\r\n <div class=\"text\">\r\n {{ GetConnect() }}\r\n </div>\r\n <button mat-raised-button (click)=\"Remove()\">\r\n Remove\r\n </button>\r\n </div>-->\r\n\r\n <div *ngIf=\"ebo.bcbOpbouwViewModels?.length != 0\">\r\n <div class=\"title\">Opbouw</div>\r\n <app-beheer-products-opbouw *ngFor=\"let opbouw of ebo.bcbOpbouwViewModels\" [opbouw]=\"opbouw\"></app-beheer-products-opbouw>\r\n </div>\r\n <div *ngIf=\"ebo.bcbEigenschapViewModels?.length != 0\">\r\n <div class=\"title\">Eigenschap</div>\r\n <app-beheer-products-eigenschap *ngFor=\"let eigenschap of ebo.bcbEigenschapViewModels\" [eigenschap]=\"eigenschap\"></app-beheer-products-eigenschap>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".row{cursor:pointer;display:flex}.displayflex{display:flex}.text{padding:8px;font-size:17px}.main-block{padding-left:25px}.container{margin:5px;padding:5px;border:1px solid #000}.name{flex:auto}.icon-td{width:24px;height:24px}.warning{background-color:#f08080}.normal{background-color:#fff}.title{border-bottom:2px solid #000;font-size:20px;margin-top:5px;margin-bottom:5px}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i4.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i4.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i4.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(function () { return i5.MatIcon; }), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i0.forwardRef(function () { return i6.BeheerProductsEigenschapComponent; }), selector: "app-beheer-products-eigenschap", inputs: ["eigenschap"] }, { kind: "component", type: i0.forwardRef(function () { return BeheerProductsOpbouwComponent; }), selector: "app-beheer-products-opbouw", inputs: ["opbouw"] }] });
91
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsEboComponent, decorators: [{
92
93
  type: Component,
93
94
  args: [{ selector: 'app-beheer-products-ebo', template: "<div class=\"container\" [ngClass]=\"{'warning': !ebo.connected, 'normal': ebo.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!ebo.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"ebo.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"name\" colspan=\"2\">\r\n {{ ebo.name }}\r\n </div>\r\n </div>\r\n <div *ngIf=\"ebo.open\" class=\"main-block\">\r\n <!--<div class=\"displayflex\" *ngIf=\"!ebo.connected && ConnectAv()\">\r\n <button mat-raised-button (click)=\"Ignore()\">\r\n Ignore\r\n </button>\r\n <button mat-raised-button (click)=\"Connect()\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectMany()\">\r\n FilterOptionMany\r\n </button>\r\n </div>\r\n <div class=\"displayflex\" *ngIf=\"!ConnectAv()\">\r\n <div class=\"text\">\r\n {{ GetConnect() }}\r\n </div>\r\n <button mat-raised-button (click)=\"Remove()\">\r\n Remove\r\n </button>\r\n </div>-->\r\n\r\n <div *ngIf=\"ebo.bcbOpbouwViewModels?.length != 0\">\r\n <div class=\"title\">Opbouw</div>\r\n <app-beheer-products-opbouw *ngFor=\"let opbouw of ebo.bcbOpbouwViewModels\" [opbouw]=\"opbouw\"></app-beheer-products-opbouw>\r\n </div>\r\n <div *ngIf=\"ebo.bcbEigenschapViewModels?.length != 0\">\r\n <div class=\"title\">Eigenschap</div>\r\n <app-beheer-products-eigenschap *ngFor=\"let eigenschap of ebo.bcbEigenschapViewModels\" [eigenschap]=\"eigenschap\"></app-beheer-products-eigenschap>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".row{cursor:pointer;display:flex}.displayflex{display:flex}.text{padding:8px;font-size:17px}.main-block{padding-left:25px}.container{margin:5px;padding:5px;border:1px solid #000}.name{flex:auto}.icon-td{width:24px;height:24px}.warning{background-color:#f08080}.normal{background-color:#fff}.title{border-bottom:2px solid #000;font-size:20px;margin-top:5px;margin-bottom:5px}\n"] }]
94
- }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.ProductsApiClient }, { type: i3.ProductsService }]; }, propDecorators: { ebo: [{
95
+ }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.ProductsApiClient }, { type: i3.ProductsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { ebo: [{
95
96
  type: Input
96
97
  }] } });
97
98
  export class BeheerProductsOpbouwComponent {
@@ -110,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
110
111
  }], ctorParameters: function () { return []; }, propDecorators: { opbouw: [{
111
112
  type: Input
112
113
  }] } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWViby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMtZWJvL2JlaGVlci1wcm9kdWN0cy1lYm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWViby9iZWhlZXItcHJvZHVjdHMtZWJvLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWViby9iZWhlZXItcHJvZHVjdHMtb3Bib3V3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBcUIseUJBQXlCLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQXVDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUwsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sOEZBQThGLENBQUM7QUFDNUosT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0sb0dBQW9HLENBQUM7Ozs7Ozs7O0FBT3JLLE1BQU0sT0FBTywwQkFBMEI7SUFJckMsWUFBbUIsTUFBaUIsRUFBVSxpQkFBb0MsRUFBVSxlQUFnQztRQUF6RyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUFJLENBQUM7SUFFakksUUFBUTtJQUNSLENBQUM7SUFFTSxTQUFTO1FBQ2QsMkRBQTJEO1FBQzNELGlCQUFpQjtRQUNqQixHQUFHO1FBRUgseUZBQXlGO1FBQ3pGLDJGQUEyRjtRQUMzRixpQkFBaUI7UUFDakIsR0FBRztRQUVILE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLFVBQVU7UUFDZiwyREFBMkQ7UUFDM0Qsb0JBQW9CO1FBQ3BCLEdBQUc7UUFFSCx5RkFBeUY7UUFDekYsMkZBQTJGO1FBQzNGLDZOQUE2TjtRQUM3TixHQUFHO1FBRUgsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFFbEYsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ2hELElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtnQkFDbEIsSUFBSSxNQUFNLENBQUMsWUFBWSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsWUFBWSxHQUFHLENBQUMsRUFBRTtvQkFDMUQsSUFBSSxPQUFPLEdBQUcsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO29CQUU5QyxrREFBa0Q7b0JBQ2xELE9BQU8sQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztvQkFFN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlDQUFpQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7d0JBQy9FLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQ3JDLENBQUMsRUFBRSxDQUFDLEtBQWUsRUFBRSxFQUFFO3dCQUNyQixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ2YsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7cUJBQ0ksSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRTtvQkFDOUIsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNiO2FBQ0Y7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxFQUFFO1lBQzdFLElBQUksRUFBRTtZQUNKLHdDQUF3QzthQUN6QztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxPQUFPLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1FBRTlDLG1EQUFtRDtRQUVsRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0NBQWdDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5RSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JDLENBQUMsRUFBRSxDQUFDLEtBQWUsRUFBRSxFQUFFO1lBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLE9BQU8sR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUM7UUFFN0Msa0RBQWtEO1FBRWxELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlFLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckMsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDckIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDakMsQ0FBQzs7dUhBN0ZVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHVGQ1p2Qyw2bkRBeUNBLG12Q0R3RWEsNkJBQTZCOzJGQXJHN0IsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5Qjs4SkFNMUIsR0FBRztzQkFBWCxLQUFLOztBQW1HUixNQUFNLE9BQU8sNkJBQTZCO0lBSXhDLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDdkMsQ0FBQzs7MEhBWFUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsZ0dFakgxQywwcUJBZ0JBLDIzQkZKYSwwQkFBMEI7MkZBcUcxQiw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsNEJBQTRCOzBFQU03QixNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c0FwaUNsaWVudCwgQ29ubmVjdE9wYm91d09wdGllUmVxdWVzdCwgSWdub3JlT3Bib3V3T3B0aWVSZXF1ZXN0LCBSZW1vdmVPcGJvdXdPcHRpZVJlcXVlc3QsIEJDQkVCT1ZpZXdNb2RlbCwgQkNCT3Bib3V3Vmlld01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNDb25uZWN0TWFueW5hbWVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1tYW55bmFtZS1kaWFsb2cvYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtbWFueW5hbWUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclByb2R1Y3RzS29wcGVsRmlsdGVyb3B0aW9uRGFpbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQnO1xyXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMtZWJvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1wcm9kdWN0cy1lYm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItcHJvZHVjdHMtZWJvLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmVoZWVyUHJvZHVjdHNFYm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGVibzogQkNCRUJPVmlld01vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSBQcm9kdWN0c0FwaUNsaWVudDogUHJvZHVjdHNBcGlDbGllbnQsIHByaXZhdGUgUHJvZHVjdHNTZXJ2aWNlOiBQcm9kdWN0c1NlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgcHVibGljIENvbm5lY3RBdigpOiBib29sZWFuIHtcbiAgICAvL2lmICh0aGlzLm9wdGllLmJjYk9wYm91d09wdGllVmlld01vZGVsPy5pZ25vcmUgPT0gdHJ1ZSkge1xuICAgIC8vICByZXR1cm4gZmFsc2U7XHJcbiAgICAvL31cblxuICAgIC8vaWYgKHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/LmJjYk9wYm91d09wdGllRmlsdGVyT3B0aW9uVmlld01vZGVscyAhPSBudWxsICYmXG4gICAgLy8gIHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/LmJjYk9wYm91d09wdGllRmlsdGVyT3B0aW9uVmlld01vZGVscz8ubGVuZ3RoID4gMCkge1xuICAgIC8vICByZXR1cm4gZmFsc2U7XHJcbiAgICAvL31cblxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cblxuICBwdWJsaWMgR2V0Q29ubmVjdCgpOiBzdHJpbmcge1xuICAgIC8vaWYgKHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/Lmlnbm9yZSA9PSB0cnVlKSB7XG4gICAgLy8gIHJldHVybiBcIklnbm9yZVwiO1xyXG4gICAgLy99XG5cbiAgICAvL2lmICh0aGlzLm9wdGllLmJjYk9wYm91d09wdGllVmlld01vZGVsPy5iY2JPcGJvdXdPcHRpZUZpbHRlck9wdGlvblZpZXdNb2RlbHMgIT0gbnVsbCAmJlxuICAgIC8vICB0aGlzLm9wdGllLmJjYk9wYm91d09wdGllVmlld01vZGVsPy5iY2JPcGJvdXdPcHRpZUZpbHRlck9wdGlvblZpZXdNb2RlbHM/Lmxlbmd0aCA+IDApIHtcbiAgICAvLyAgcmV0dXJuIHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/LmJjYk9wYm91d09wdGllRmlsdGVyT3B0aW9uVmlld01vZGVsc1swXS5maWx0ZXJPcHRpb24/LmZpbHRlck5hbWUgKyBcIjogXCIgKyB0aGlzLm9wdGllLmJjYk9wYm91d09wdGllVmlld01vZGVsPy5iY2JPcGJvdXdPcHRpZUZpbHRlck9wdGlvblZpZXdNb2RlbHNbMF0uZmlsdGVyT3B0aW9uPy5uYW1lICsgXCJcIjtcclxuICAgIC8vfVxuXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxuXG4gIHB1YmxpYyBDb25uZWN0KCk6IHZvaWQge1xuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclByb2R1Y3RzS29wcGVsRmlsdGVyb3B0aW9uRGFpbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uICE9IG51bGwgJiYgcmVzdWx0LmZpbHRlcm9wdGlvbiA+IDApIHtcclxuICAgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IENvbm5lY3RPcGJvdXdPcHRpZVJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICAvL3JlcXVlc3QuYmNiUHJvZHVjdE9wYm91d09wdGllSWQgPSB0aGlzLm9wdGllLmlkO1xyXG4gICAgICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlc3VsdC5maWx0ZXJvcHRpb247XHJcblxyXG4gICAgICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0QkNCT3Bib3V3T3B0aWVGaWx0ZXJPcHRpb24ocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuTG9hZFByb2R1Y3QoKTtcclxuICAgICAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgYWxlcnQoZXJyb3IpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHJlc3VsdC5maWx0ZXIgIT0gbnVsbCkge1xyXG4gICAgICAgICAgYWxlcnQoJz8/Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XG5cbiAgcHVibGljIENvbm5lY3RNYW55KCk6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyUHJvZHVjdHNDb25uZWN0TWFueW5hbWVEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIC8vYmNicHJvZHVjdG9wYm91d29wdGllaWQ6IHRoaXMub3B0aWUuaWRcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxuXG4gIHB1YmxpYyBJZ25vcmUoKTogdm9pZCB7XG4gICAgdmFyIHJlcXVlc3QgPSBuZXcgSWdub3JlT3Bib3V3T3B0aWVSZXF1ZXN0KCk7XHJcblxyXG4gICAvLyByZXF1ZXN0LmJjYlByb2R1Y3RPcGJvdXdPcHRpZUlkID0gdGhpcy5vcHRpZS5pZDtcclxuXHJcbiAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50Lmlnbm9yZUJDQk9wYm91d09wdGllRmlsdGVyT3B0aW9uKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KCk7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgIH0pO1xyXG4gIH1cblxuICBwdWJsaWMgUmVtb3ZlKCk6IHZvaWQge1xuICAgIHZhciByZXF1ZXN0ID0gbmV3IFJlbW92ZU9wYm91d09wdGllUmVxdWVzdCgpO1xyXG5cclxuICAgIC8vcmVxdWVzdC5iY2JQcm9kdWN0T3Bib3V3T3B0aWVJZCA9IHRoaXMub3B0aWUuaWQ7XHJcblxyXG4gICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5yZW1vdmVCQ0JPcGJvdXdPcHRpZUZpbHRlck9wdGlvbihyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5Mb2FkUHJvZHVjdCgpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBhbGVydChlcnJvcik7XHJcbiAgICB9KTtcclxuICB9XG5cbiAgcHVibGljIFRvZ2dsZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZWJvLm9wZW4gPSAhdGhpcy5lYm8ub3BlbjtcclxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMtb3Bib3V3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1wcm9kdWN0cy1vcGJvdXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItcHJvZHVjdHMtb3Bib3V3LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmVoZWVyUHJvZHVjdHNPcGJvdXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIG9wYm91dzogQkNCT3Bib3V3Vmlld01vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBwdWJsaWMgVG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vcGJvdXcub3BlbiA9ICF0aGlzLm9wYm91dy5vcGVuO1xyXG4gIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnd2FybmluZyc6ICFlYm8uY29ubmVjdGVkLCAnbm9ybWFsJzogZWJvLmNvbm5lY3RlZH1cIj5cclxuICA8ZGl2IGNsYXNzPVwicm93XCIgKGNsaWNrKT1cIlRvZ2dsZSgpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZFwiPlxyXG4gICAgICA8bWF0LWljb24gKm5nSWY9XCIhZWJvLm9wZW5cIj5leHBhbmRfbW9yZTwvbWF0LWljb24+XHJcbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImViby5vcGVuXCI+ZXhwYW5kX2xlc3M8L21hdC1pY29uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibmFtZVwiIGNvbHNwYW49XCIyXCI+XHJcbiAgICAgIHt7IGViby5uYW1lIH19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwiZWJvLm9wZW5cIiBjbGFzcz1cIm1haW4tYmxvY2tcIj5cclxuICAgIDwhLS08ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIiAqbmdJZj1cIiFlYm8uY29ubmVjdGVkICYmIENvbm5lY3RBdigpXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIklnbm9yZSgpXCI+XHJcbiAgICAgICAgSWdub3JlXHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDb25uZWN0KClcIj5cclxuICAgICAgICBGaWx0ZXJPcHRpb25cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkNvbm5lY3RNYW55KClcIj5cclxuICAgICAgICBGaWx0ZXJPcHRpb25NYW55XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIiAqbmdJZj1cIiFDb25uZWN0QXYoKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG4gICAgICAgIHt7IEdldENvbm5lY3QoKSB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVtb3ZlKClcIj5cclxuICAgICAgICBSZW1vdmVcclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj4tLT5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiZWJvLmJjYk9wYm91d1ZpZXdNb2RlbHM/Lmxlbmd0aCAhPSAwXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPk9wYm91dzwvZGl2PlxyXG4gICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1vcGJvdXcgKm5nRm9yPVwibGV0IG9wYm91dyBvZiBlYm8uYmNiT3Bib3V3Vmlld01vZGVsc1wiIFtvcGJvdXddPVwib3Bib3V3XCI+PC9hcHAtYmVoZWVyLXByb2R1Y3RzLW9wYm91dz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImViby5iY2JFaWdlbnNjaGFwVmlld01vZGVscz8ubGVuZ3RoICE9IDBcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+RWlnZW5zY2hhcDwvZGl2PlxyXG4gICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwICpuZ0Zvcj1cImxldCBlaWdlbnNjaGFwIG9mIGViby5iY2JFaWdlbnNjaGFwVmlld01vZGVsc1wiIFtlaWdlbnNjaGFwXT1cImVpZ2Vuc2NoYXBcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnd2FybmluZyc6ICFvcGJvdXcuY29ubmVjdGVkLCAnbm9ybWFsJzogb3Bib3V3LmNvbm5lY3RlZCB9XCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiIChjbGljayk9XCJUb2dnbGUoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImljb24tdGRcIj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiIW9wYm91dy5vcGVuXCI+ZXhwYW5kX21vcmU8L21hdC1pY29uPlxyXG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJvcGJvdXcub3BlblwiPmV4cGFuZF9sZXNzPC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImVpZ2Vuc2NoYXBjZWxcIiBjb2xzcGFuPVwiMlwiPlxyXG4gICAgICB7e29wYm91dz8ubmFtZX19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwib3Bib3V3Lm9wZW5cIiBjbGFzcz1cIm1haW4tYmxvY2tcIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGVibyBvZiBvcGJvdXcuZWJvc1wiIFtuZ0NsYXNzXT1cInsnd2FybmluZyc6ICFlYm8uY29ubmVjdGVkfVwiPlxyXG4gICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1lYm8gW2Vib109XCJlYm9cIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtZWJvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWViby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMtZWJvL2JlaGVlci1wcm9kdWN0cy1lYm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWViby9iZWhlZXItcHJvZHVjdHMtZWJvLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWViby9iZWhlZXItcHJvZHVjdHMtb3Bib3V3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUc1RSxPQUFPLEVBQXFCLHlCQUF5QixFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUF1QyxNQUFNLG1DQUFtQyxDQUFDO0FBQzFMLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLDhGQUE4RixDQUFDO0FBQzVKLE9BQU8sRUFBRSwrQ0FBK0MsRUFBRSxNQUFNLG9HQUFvRyxDQUFDOzs7Ozs7OztBQU9ySyxNQUFNLE9BQU8sMEJBQTBCO0lBSXJDLFlBQ1MsTUFBaUIsRUFDaEIsaUJBQW9DLEVBQ3BDLGVBQWdDLEVBQ2hDLGlCQUFvQztRQUhyQyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2hCLHNCQUFp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UUFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQ2pDLENBQUM7O3VIQWpHVSwwQkFBMEI7MkdBQTFCLDBCQUEwQix1RkNadkMsNm5EQXlDQSxtdkNENEVhLDZCQUE2QjsyRkF6RzdCLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx5QkFBeUI7OExBTTFCLEdBQUc7c0JBQVgsS0FBSzs7QUF1R1IsTUFBTSxPQUFPLDZCQUE2QjtJQUl4QyxnQkFBZ0IsQ0FBQztJQUVqQixRQUFRO0lBQ1IsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ3ZDLENBQUM7OzBIQVhVLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLGdHRXJIMUMsMHFCQWdCQSwyM0JGSmEsMEJBQTBCOzJGQXlHMUIsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLDRCQUE0QjswRUFNN0IsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgUHJvZHVjdHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvcHJvZHVjdHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb2R1Y3RzQXBpQ2xpZW50LCBDb25uZWN0T3Bib3V3T3B0aWVSZXF1ZXN0LCBJZ25vcmVPcGJvdXdPcHRpZVJlcXVlc3QsIFJlbW92ZU9wYm91d09wdGllUmVxdWVzdCwgQkNCRUJPVmlld01vZGVsLCBCQ0JPcGJvdXdWaWV3TW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJQcm9kdWN0c0Nvbm5lY3RNYW55bmFtZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LW1hbnluYW1lLWRpYWxvZy9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1tYW55bmFtZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNLb3BwZWxGaWx0ZXJvcHRpb25EYWlsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cvYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nLmNvbXBvbmVudCc7XHJcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1wcm9kdWN0cy1lYm8nLFxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLXByb2R1Y3RzLWViby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy1lYm8uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCZWhlZXJQcm9kdWN0c0Vib0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgZWJvOiBCQ0JFQk9WaWV3TW9kZWw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgIHByaXZhdGUgUHJvZHVjdHNBcGlDbGllbnQ6IFByb2R1Y3RzQXBpQ2xpZW50LFxuICAgIHByaXZhdGUgUHJvZHVjdHNTZXJ2aWNlOiBQcm9kdWN0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgcHVibGljIENvbm5lY3RBdigpOiBib29sZWFuIHtcbiAgICAvL2lmICh0aGlzLm9wdGllLmJjYk9wYm91d09wdGllVmlld01vZGVsPy5pZ25vcmUgPT0gdHJ1ZSkge1xuICAgIC8vICByZXR1cm4gZmFsc2U7XHJcbiAgICAvL31cblxuICAgIC8vaWYgKHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/LmJjYk9wYm91d09wdGllRmlsdGVyT3B0aW9uVmlld01vZGVscyAhPSBudWxsICYmXG4gICAgLy8gIHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/LmJjYk9wYm91d09wdGllRmlsdGVyT3B0aW9uVmlld01vZGVscz8ubGVuZ3RoID4gMCkge1xuICAgIC8vICByZXR1cm4gZmFsc2U7XHJcbiAgICAvL31cblxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cblxuICBwdWJsaWMgR2V0Q29ubmVjdCgpOiBzdHJpbmcge1xuICAgIC8vaWYgKHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/Lmlnbm9yZSA9PSB0cnVlKSB7XG4gICAgLy8gIHJldHVybiBcIklnbm9yZVwiO1xyXG4gICAgLy99XG5cbiAgICAvL2lmICh0aGlzLm9wdGllLmJjYk9wYm91d09wdGllVmlld01vZGVsPy5iY2JPcGJvdXdPcHRpZUZpbHRlck9wdGlvblZpZXdNb2RlbHMgIT0gbnVsbCAmJlxuICAgIC8vICB0aGlzLm9wdGllLmJjYk9wYm91d09wdGllVmlld01vZGVsPy5iY2JPcGJvdXdPcHRpZUZpbHRlck9wdGlvblZpZXdNb2RlbHM/Lmxlbmd0aCA+IDApIHtcbiAgICAvLyAgcmV0dXJuIHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/LmJjYk9wYm91d09wdGllRmlsdGVyT3B0aW9uVmlld01vZGVsc1swXS5maWx0ZXJPcHRpb24/LmZpbHRlck5hbWUgKyBcIjogXCIgKyB0aGlzLm9wdGllLmJjYk9wYm91d09wdGllVmlld01vZGVsPy5iY2JPcGJvdXdPcHRpZUZpbHRlck9wdGlvblZpZXdNb2RlbHNbMF0uZmlsdGVyT3B0aW9uPy5uYW1lICsgXCJcIjtcclxuICAgIC8vfVxuXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxuXG4gIHB1YmxpYyBDb25uZWN0KCk6IHZvaWQge1xuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclByb2R1Y3RzS29wcGVsRmlsdGVyb3B0aW9uRGFpbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uICE9IG51bGwgJiYgcmVzdWx0LmZpbHRlcm9wdGlvbiA+IDApIHtcclxuICAgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IENvbm5lY3RPcGJvdXdPcHRpZVJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICAvL3JlcXVlc3QuYmNiUHJvZHVjdE9wYm91d09wdGllSWQgPSB0aGlzLm9wdGllLmlkO1xyXG4gICAgICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlc3VsdC5maWx0ZXJvcHRpb247XHJcblxyXG4gICAgICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0QkNCT3Bib3V3T3B0aWVGaWx0ZXJPcHRpb24ocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuTG9hZFByb2R1Y3QodGhpcy5DaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChyZXN1bHQuZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgICAgIGFsZXJ0KCc/PycpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxuXG4gIHB1YmxpYyBDb25uZWN0TWFueSgpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclByb2R1Y3RzQ29ubmVjdE1hbnluYW1lRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICAvL2JjYnByb2R1Y3RvcGJvdXdvcHRpZWlkOiB0aGlzLm9wdGllLmlkXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cblxuICBwdWJsaWMgSWdub3JlKCk6IHZvaWQge1xuICAgIHZhciByZXF1ZXN0ID0gbmV3IElnbm9yZU9wYm91d09wdGllUmVxdWVzdCgpO1xyXG5cclxuICAgLy8gcmVxdWVzdC5iY2JQcm9kdWN0T3Bib3V3T3B0aWVJZCA9IHRoaXMub3B0aWUuaWQ7XHJcblxyXG4gICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5pZ25vcmVCQ0JPcGJvdXdPcHRpZUZpbHRlck9wdGlvbihyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5Mb2FkUHJvZHVjdCh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgYWxlcnQoZXJyb3IpO1xyXG4gICAgfSk7XHJcbiAgfVxuXG4gIHB1YmxpYyBSZW1vdmUoKTogdm9pZCB7XG4gICAgdmFyIHJlcXVlc3QgPSBuZXcgUmVtb3ZlT3Bib3V3T3B0aWVSZXF1ZXN0KCk7XHJcblxyXG4gICAgLy9yZXF1ZXN0LmJjYlByb2R1Y3RPcGJvdXdPcHRpZUlkID0gdGhpcy5vcHRpZS5pZDtcclxuXHJcbiAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50LnJlbW92ZUJDQk9wYm91d09wdGllRmlsdGVyT3B0aW9uKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBhbGVydChlcnJvcik7XHJcbiAgICB9KTtcclxuICB9XG5cbiAgcHVibGljIFRvZ2dsZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZWJvLm9wZW4gPSAhdGhpcy5lYm8ub3BlbjtcclxuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMtb3Bib3V3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1wcm9kdWN0cy1vcGJvdXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItcHJvZHVjdHMtb3Bib3V3LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmVoZWVyUHJvZHVjdHNPcGJvdXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIG9wYm91dzogQkNCT3Bib3V3Vmlld01vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBwdWJsaWMgVG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5vcGJvdXcub3BlbiA9ICF0aGlzLm9wYm91dy5vcGVuO1xyXG4gIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnd2FybmluZyc6ICFlYm8uY29ubmVjdGVkLCAnbm9ybWFsJzogZWJvLmNvbm5lY3RlZH1cIj5cclxuICA8ZGl2IGNsYXNzPVwicm93XCIgKGNsaWNrKT1cIlRvZ2dsZSgpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZFwiPlxyXG4gICAgICA8bWF0LWljb24gKm5nSWY9XCIhZWJvLm9wZW5cIj5leHBhbmRfbW9yZTwvbWF0LWljb24+XHJcbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImViby5vcGVuXCI+ZXhwYW5kX2xlc3M8L21hdC1pY29uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwibmFtZVwiIGNvbHNwYW49XCIyXCI+XHJcbiAgICAgIHt7IGViby5uYW1lIH19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwiZWJvLm9wZW5cIiBjbGFzcz1cIm1haW4tYmxvY2tcIj5cclxuICAgIDwhLS08ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIiAqbmdJZj1cIiFlYm8uY29ubmVjdGVkICYmIENvbm5lY3RBdigpXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIklnbm9yZSgpXCI+XHJcbiAgICAgICAgSWdub3JlXHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDb25uZWN0KClcIj5cclxuICAgICAgICBGaWx0ZXJPcHRpb25cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkNvbm5lY3RNYW55KClcIj5cclxuICAgICAgICBGaWx0ZXJPcHRpb25NYW55XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIiAqbmdJZj1cIiFDb25uZWN0QXYoKVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxyXG4gICAgICAgIHt7IEdldENvbm5lY3QoKSB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVtb3ZlKClcIj5cclxuICAgICAgICBSZW1vdmVcclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj4tLT5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiZWJvLmJjYk9wYm91d1ZpZXdNb2RlbHM/Lmxlbmd0aCAhPSAwXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPk9wYm91dzwvZGl2PlxyXG4gICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1vcGJvdXcgKm5nRm9yPVwibGV0IG9wYm91dyBvZiBlYm8uYmNiT3Bib3V3Vmlld01vZGVsc1wiIFtvcGJvdXddPVwib3Bib3V3XCI+PC9hcHAtYmVoZWVyLXByb2R1Y3RzLW9wYm91dz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImViby5iY2JFaWdlbnNjaGFwVmlld01vZGVscz8ubGVuZ3RoICE9IDBcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+RWlnZW5zY2hhcDwvZGl2PlxyXG4gICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwICpuZ0Zvcj1cImxldCBlaWdlbnNjaGFwIG9mIGViby5iY2JFaWdlbnNjaGFwVmlld01vZGVsc1wiIFtlaWdlbnNjaGFwXT1cImVpZ2Vuc2NoYXBcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnd2FybmluZyc6ICFvcGJvdXcuY29ubmVjdGVkLCAnbm9ybWFsJzogb3Bib3V3LmNvbm5lY3RlZCB9XCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiIChjbGljayk9XCJUb2dnbGUoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImljb24tdGRcIj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiIW9wYm91dy5vcGVuXCI+ZXhwYW5kX21vcmU8L21hdC1pY29uPlxyXG4gICAgICA8bWF0LWljb24gKm5nSWY9XCJvcGJvdXcub3BlblwiPmV4cGFuZF9sZXNzPC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImVpZ2Vuc2NoYXBjZWxcIiBjb2xzcGFuPVwiMlwiPlxyXG4gICAgICB7e29wYm91dz8ubmFtZX19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwib3Bib3V3Lm9wZW5cIiBjbGFzcz1cIm1haW4tYmxvY2tcIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGVibyBvZiBvcGJvdXcuZWJvc1wiIFtuZ0NsYXNzXT1cInsnd2FybmluZyc6ICFlYm8uY29ubmVjdGVkfVwiPlxyXG4gICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1lYm8gW2Vib109XCJlYm9cIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtZWJvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=