fabrikantencore 1.4.3 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.mjs +17 -13
  2. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.mjs +20 -17
  3. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.mjs +6 -5
  4. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.mjs +9 -6
  5. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.mjs +10 -10
  6. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-manyname-dialog/beheer-products-connect-manyname-dialog.component.mjs +3 -3
  7. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.mjs +79 -22
  8. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.mjs +27 -28
  9. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.mjs +31 -19
  10. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.mjs +61 -29
  11. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.mjs +6 -5
  12. package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.mjs +7 -7
  13. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.mjs +3 -3
  14. package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.mjs +23 -3
  15. package/esm2020/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.mjs +11 -8
  16. package/esm2020/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.mjs +3 -3
  17. package/esm2020/src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.mjs +3 -3
  18. package/esm2020/src/app/modules/fabrikantencore/services/importsets.service.mjs +16 -6
  19. package/esm2020/src/app/modules/fabrikantencore/services/products.service.mjs +34 -24
  20. package/esm2020/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +433 -347
  21. package/fesm2015/fabrikantencore.mjs +873 -631
  22. package/fesm2015/fabrikantencore.mjs.map +1 -1
  23. package/fesm2020/fabrikantencore.mjs +860 -623
  24. package/fesm2020/fabrikantencore.mjs.map +1 -1
  25. package/package.json +1 -1
  26. package/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.d.ts +5 -3
  27. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.d.ts +5 -3
  28. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.d.ts +3 -2
  29. package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.d.ts +1 -0
  30. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.d.ts +3 -2
  31. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.d.ts +16 -4
  32. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.d.ts +4 -5
  33. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.d.ts +3 -3
  34. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.d.ts +13 -3
  35. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.d.ts +3 -2
  36. package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.d.ts +1 -1
  37. package/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.d.ts +2 -0
  38. package/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.d.ts +3 -1
  39. package/src/app/modules/fabrikantencore/services/importsets.service.d.ts +6 -3
  40. package/src/app/modules/fabrikantencore/services/products.service.d.ts +5 -4
  41. package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +144 -164
@@ -7,9 +7,8 @@ import * as i1 from "@angular/material/dialog";
7
7
  import * as i2 from "../../../../swagger/SwaggerClient";
8
8
  import * as i3 from "../../../../services/products.service";
9
9
  import * as i4 from "@angular/common";
10
- import * as i5 from "@angular/material/button";
11
- import * as i6 from "@angular/material/icon";
12
- import * as i7 from "../beheer-products-eigenschap/beheer-products-eigenschap.component";
10
+ import * as i5 from "@angular/material/icon";
11
+ import * as i6 from "../beheer-products-eigenschap/beheer-products-eigenschap.component";
13
12
  export class BeheerProductsEboComponent {
14
13
  constructor(dialog, ProductsApiClient, ProductsService) {
15
14
  this.dialog = dialog;
@@ -19,23 +18,23 @@ export class BeheerProductsEboComponent {
19
18
  ngOnInit() {
20
19
  }
21
20
  ConnectAv() {
22
- if (this.optie.bcbOpbouwOptieViewModel?.ignore == true) {
23
- return false;
24
- }
25
- if (this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels != null &&
26
- this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels?.length > 0) {
27
- return false;
28
- }
21
+ //if (this.optie.bcbOpbouwOptieViewModel?.ignore == true) {
22
+ // return false;
23
+ //}
24
+ //if (this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels != null &&
25
+ // this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels?.length > 0) {
26
+ // return false;
27
+ //}
29
28
  return true;
30
29
  }
31
30
  GetConnect() {
32
- if (this.optie.bcbOpbouwOptieViewModel?.ignore == true) {
33
- return "Ignore";
34
- }
35
- if (this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels != null &&
36
- this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels?.length > 0) {
37
- return this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels[0].filterOption?.filterName + ": " + this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels[0].filterOption?.name + "";
38
- }
31
+ //if (this.optie.bcbOpbouwOptieViewModel?.ignore == true) {
32
+ // return "Ignore";
33
+ //}
34
+ //if (this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels != null &&
35
+ // this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels?.length > 0) {
36
+ // return this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels[0].filterOption?.filterName + ": " + this.optie.bcbOpbouwOptieViewModel?.bcbOpbouwOptieFilterOptionViewModels[0].filterOption?.name + "";
37
+ //}
39
38
  return "";
40
39
  }
41
40
  Connect() {
@@ -44,7 +43,7 @@ export class BeheerProductsEboComponent {
44
43
  if (result != null) {
45
44
  if (result.filteroption != null && result.filteroption > 0) {
46
45
  var request = new ConnectOpbouwOptieRequest();
47
- request.bcbProductOpbouwOptieId = this.optie.id;
46
+ //request.bcbProductOpbouwOptieId = this.optie.id;
48
47
  request.filterOptionId = result.filteroption;
49
48
  this.ProductsApiClient.connectBCBOpbouwOptieFilterOption(request).subscribe(() => {
50
49
  this.ProductsService.LoadProduct();
@@ -61,13 +60,13 @@ export class BeheerProductsEboComponent {
61
60
  ConnectMany() {
62
61
  var dialogRef = this.dialog.open(BeheerProductsConnectManynameDialogComponent, {
63
62
  data: {
64
- bcbproductopbouwoptieid: this.optie.id
63
+ //bcbproductopbouwoptieid: this.optie.id
65
64
  }
66
65
  });
67
66
  }
68
67
  Ignore() {
69
68
  var request = new IgnoreOpbouwOptieRequest();
70
- request.bcbProductOpbouwOptieId = this.optie.id;
69
+ // request.bcbProductOpbouwOptieId = this.optie.id;
71
70
  this.ProductsApiClient.ignoreBCBOpbouwOptieFilterOption(request).subscribe(() => {
72
71
  this.ProductsService.LoadProduct();
73
72
  }, (error) => {
@@ -76,7 +75,7 @@ export class BeheerProductsEboComponent {
76
75
  }
77
76
  Remove() {
78
77
  var request = new RemoveOpbouwOptieRequest();
79
- request.bcbProductOpbouwOptieId = this.optie.id;
78
+ //request.bcbProductOpbouwOptieId = this.optie.id;
80
79
  this.ProductsApiClient.removeBCBOpbouwOptieFilterOption(request).subscribe(() => {
81
80
  this.ProductsService.LoadProduct();
82
81
  }, (error) => {
@@ -84,15 +83,15 @@ export class BeheerProductsEboComponent {
84
83
  });
85
84
  }
86
85
  Toggle() {
87
- this.optie.open = !this.optie.open;
86
+ this.ebo.open = !this.ebo.open;
88
87
  }
89
88
  }
90
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 });
91
- BeheerProductsEboComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsEboComponent, selector: "app-beheer-products-ebo", inputs: { optie: "optie" }, ngImport: i0, template: "<div class=\"container\" [ngClass]=\"{'warning': !optie.connected, 'normal': optie.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!optie.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"optie.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"name\" colspan=\"2\">\r\n {{ optie.bcbOpbouwOptieViewModel?.bcbeboViewModel?.name }}\r\n </div>\r\n </div>\r\n <div *ngIf=\"optie.open\" class=\"main-block\">\r\n <div class=\"displayflex\" *ngIf=\"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=\"optie.bcbProductOpbouwViewModels.length > 0\" class=\"title\">Opbouw</div>\r\n <app-beheer-products-opbouw *ngFor=\"let opbouw of optie.bcbProductOpbouwViewModels\" [opbouw]=\"opbouw\"></app-beheer-products-opbouw>\r\n <div *ngIf=\"optie.bcbProductEigenschapViewModels.length > 0\" class=\"title\">Eigenschap</div>\r\n <app-beheer-products-eigenschap *ngFor=\"let eigenschap of optie.bcbProductEigenschapViewModels\" [eigenschap]=\"eigenschap\"></app-beheer-products-eigenschap>\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.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: i0.forwardRef(function () { return i6.MatIcon; }), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i0.forwardRef(function () { return i7.BeheerProductsEigenschapComponent; }), selector: "app-beheer-products-eigenschap", inputs: ["eigenschap"] }, { kind: "component", type: i0.forwardRef(function () { return BeheerProductsOpbouwComponent; }), selector: "app-beheer-products-opbouw", inputs: ["opbouw"] }] });
90
+ 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"] }] });
92
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsEboComponent, decorators: [{
93
92
  type: Component,
94
- args: [{ selector: 'app-beheer-products-ebo', template: "<div class=\"container\" [ngClass]=\"{'warning': !optie.connected, 'normal': optie.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!optie.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"optie.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"name\" colspan=\"2\">\r\n {{ optie.bcbOpbouwOptieViewModel?.bcbeboViewModel?.name }}\r\n </div>\r\n </div>\r\n <div *ngIf=\"optie.open\" class=\"main-block\">\r\n <div class=\"displayflex\" *ngIf=\"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=\"optie.bcbProductOpbouwViewModels.length > 0\" class=\"title\">Opbouw</div>\r\n <app-beheer-products-opbouw *ngFor=\"let opbouw of optie.bcbProductOpbouwViewModels\" [opbouw]=\"opbouw\"></app-beheer-products-opbouw>\r\n <div *ngIf=\"optie.bcbProductEigenschapViewModels.length > 0\" class=\"title\">Eigenschap</div>\r\n <app-beheer-products-eigenschap *ngFor=\"let eigenschap of optie.bcbProductEigenschapViewModels\" [eigenschap]=\"eigenschap\"></app-beheer-products-eigenschap>\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"] }]
95
- }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.ProductsApiClient }, { type: i3.ProductsService }]; }, propDecorators: { optie: [{
93
+ 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: [{
96
95
  type: Input
97
96
  }] } });
98
97
  export class BeheerProductsOpbouwComponent {
@@ -104,11 +103,11 @@ export class BeheerProductsOpbouwComponent {
104
103
  }
105
104
  }
106
105
  BeheerProductsOpbouwComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsOpbouwComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
107
- BeheerProductsOpbouwComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsOpbouwComponent, selector: "app-beheer-products-opbouw", inputs: { opbouw: "opbouw" }, ngImport: i0, template: "<div class=\"container\" [ngClass]=\"{'warning': !opbouw.connected, 'normal': opbouw.connected }\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!opbouw.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"opbouw.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{opbouw?.bcbOpbouwViewModel.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"opbouw.open\" class=\"main-block\">\r\n <div *ngFor=\"let optie of opbouw.opties\" [ngClass]=\"{'warning': !optie.connected}\">\r\n <app-beheer-products-ebo [optie]=\"optie\"></app-beheer-products-ebo>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".card{margin:3px}.full-width{width:100%}.row{cursor:pointer;display:flex}.main-block{padding-left:25px}.container{margin:5px;padding:5px;border:1px solid #000}.eigenschapcel{flex:auto}.optiecel{border-bottom:1px solid #000}.optiecellast{width:50%}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: BeheerProductsEboComponent, selector: "app-beheer-products-ebo", inputs: ["optie"] }] });
106
+ BeheerProductsOpbouwComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsOpbouwComponent, selector: "app-beheer-products-opbouw", inputs: { opbouw: "opbouw" }, ngImport: i0, template: "<div class=\"container\" [ngClass]=\"{'warning': !opbouw.connected, 'normal': opbouw.connected }\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!opbouw.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"opbouw.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{opbouw?.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"opbouw.open\" class=\"main-block\">\r\n <div *ngFor=\"let ebo of opbouw.ebos\" [ngClass]=\"{'warning': !ebo.connected}\">\r\n <app-beheer-products-ebo [ebo]=\"ebo\"></app-beheer-products-ebo>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".card{margin:3px}.full-width{width:100%}.row{cursor:pointer;display:flex}.main-block{padding-left:25px}.container{margin:5px;padding:5px;border:1px solid #000}.eigenschapcel{flex:auto}.optiecel{border-bottom:1px solid #000}.optiecellast{width:50%}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: BeheerProductsEboComponent, selector: "app-beheer-products-ebo", inputs: ["ebo"] }] });
108
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsOpbouwComponent, decorators: [{
109
108
  type: Component,
110
- args: [{ selector: 'app-beheer-products-opbouw', template: "<div class=\"container\" [ngClass]=\"{'warning': !opbouw.connected, 'normal': opbouw.connected }\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!opbouw.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"opbouw.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{opbouw?.bcbOpbouwViewModel.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"opbouw.open\" class=\"main-block\">\r\n <div *ngFor=\"let optie of opbouw.opties\" [ngClass]=\"{'warning': !optie.connected}\">\r\n <app-beheer-products-ebo [optie]=\"optie\"></app-beheer-products-ebo>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".card{margin:3px}.full-width{width:100%}.row{cursor:pointer;display:flex}.main-block{padding-left:25px}.container{margin:5px;padding:5px;border:1px solid #000}.eigenschapcel{flex:auto}.optiecel{border-bottom:1px solid #000}.optiecellast{width:50%}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\n"] }]
109
+ args: [{ selector: 'app-beheer-products-opbouw', template: "<div class=\"container\" [ngClass]=\"{'warning': !opbouw.connected, 'normal': opbouw.connected }\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!opbouw.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"opbouw.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{opbouw?.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"opbouw.open\" class=\"main-block\">\r\n <div *ngFor=\"let ebo of opbouw.ebos\" [ngClass]=\"{'warning': !ebo.connected}\">\r\n <app-beheer-products-ebo [ebo]=\"ebo\"></app-beheer-products-ebo>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".card{margin:3px}.full-width{width:100%}.row{cursor:pointer;display:flex}.main-block{padding-left:25px}.container{margin:5px;padding:5px;border:1px solid #000}.eigenschapcel{flex:auto}.optiecel{border-bottom:1px solid #000}.optiecellast{width:50%}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\n"] }]
111
110
  }], ctorParameters: function () { return []; }, propDecorators: { opbouw: [{
112
111
  type: Input
113
112
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWViby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMtZWJvL2JlaGVlci1wcm9kdWN0cy1lYm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWViby9iZWhlZXItcHJvZHVjdHMtZWJvLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWViby9iZWhlZXItcHJvZHVjdHMtb3Bib3V3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBcUQseUJBQXlCLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyTCxPQUFPLEVBQUUsNENBQTRDLEVBQUUsTUFBTSw4RkFBOEYsQ0FBQztBQUM1SixPQUFPLEVBQUUsK0NBQStDLEVBQUUsTUFBTSxvR0FBb0csQ0FBQzs7Ozs7Ozs7O0FBT3JLLE1BQU0sT0FBTywwQkFBMEI7SUFJckMsWUFBbUIsTUFBaUIsRUFBVSxpQkFBb0MsRUFBVSxlQUFnQztRQUF6RyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixD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LDZCQUE2Qjs4R0FBN0IsNkJBQTZCLGdHRXBIMUMsdXNCQWdCQSwyM0JGSmEsMEJBQTBCOzJGQXdHMUIsNkJBQTZCO2tCQUx6QyxTQUFTOytCQUNFLDRCQUE0QjswRUFNN0IsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQkNCUHJvZHVjdE9wYm91d09wdGllVmlld01vZGVsLCBQcm9kdWN0c0FwaUNsaWVudCwgQ29ubmVjdE9wYm91d09wdGllUmVxdWVzdCwgSWdub3JlT3Bib3V3T3B0aWVSZXF1ZXN0LCBSZW1vdmVPcGJvdXdPcHRpZVJlcXVlc3QgfSBmcm9tICcuLi8uLi8uLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJQcm9kdWN0c0Nvbm5lY3RNYW55bmFtZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LW1hbnluYW1lLWRpYWxvZy9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1tYW55bmFtZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNLb3BwZWxGaWx0ZXJvcHRpb25EYWlsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cvYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nLmNvbXBvbmVudCc7XHJcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1wcm9kdWN0cy1lYm8nLFxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLXByb2R1Y3RzLWViby5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy1lYm8uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCZWhlZXJQcm9kdWN0c0Vib0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgb3B0aWU6IEJDQlByb2R1Y3RPcGJvdXdPcHRpZVZpZXdNb2RlbDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csIHByaXZhdGUgUHJvZHVjdHNBcGlDbGllbnQ6IFByb2R1Y3RzQXBpQ2xpZW50LCBwcml2YXRlIFByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIHB1YmxpYyBDb25uZWN0QXYoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/Lmlnbm9yZSA9PSB0cnVlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpZS5iY2JPcGJvdXdPcHRpZVZpZXdNb2RlbD8uYmNiT3Bib3V3T3B0aWVGaWx0ZXJPcHRpb25WaWV3TW9kZWxzICE9IG51bGwgJiZcbiAgICAgIHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/LmJjYk9wYm91d09wdGllRmlsdGVyT3B0aW9uVmlld01vZGVscz8ubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxuXG4gIHB1YmxpYyBHZXRDb25uZWN0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/Lmlnbm9yZSA9PSB0cnVlKSB7XG4gICAgICByZXR1cm4gXCJJZ25vcmVcIjtcclxuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGllLmJjYk9wYm91d09wdGllVmlld01vZGVsPy5iY2JPcGJvdXdPcHRpZUZpbHRlck9wdGlvblZpZXdNb2RlbHMgIT0gbnVsbCAmJlxuICAgICAgdGhpcy5vcHRpZS5iY2JPcGJvdXdPcHRpZVZpZXdNb2RlbD8uYmNiT3Bib3V3T3B0aWVGaWx0ZXJPcHRpb25WaWV3TW9kZWxzPy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gdGhpcy5vcHRpZS5iY2JPcGJvdXdPcHRpZVZpZXdNb2RlbD8uYmNiT3Bib3V3T3B0aWVGaWx0ZXJPcHRpb25WaWV3TW9kZWxzWzBdLmZpbHRlck9wdGlvbj8uZmlsdGVyTmFtZSArIFwiOiBcIiArIHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/LmJjYk9wYm91d09wdGllRmlsdGVyT3B0aW9uVmlld01vZGVsc1swXS5maWx0ZXJPcHRpb24/Lm5hbWUgKyBcIlwiO1xyXG4gICAgfVxuXG4gICAgcmV0dXJuIFwiXCI7XHJcbiAgfVxuXG4gIHB1YmxpYyBDb25uZWN0KCk6IHZvaWQge1xuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclByb2R1Y3RzS29wcGVsRmlsdGVyb3B0aW9uRGFpbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uICE9IG51bGwgJiYgcmVzdWx0LmZpbHRlcm9wdGlvbiA+IDApIHtcclxuICAgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IENvbm5lY3RPcGJvdXdPcHRpZVJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICByZXF1ZXN0LmJjYlByb2R1Y3RPcGJvdXdPcHRpZUlkID0gdGhpcy5vcHRpZS5pZDtcclxuICAgICAgICAgIHJlcXVlc3QuZmlsdGVyT3B0aW9uSWQgPSByZXN1bHQuZmlsdGVyb3B0aW9uO1xyXG5cclxuICAgICAgICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuY29ubmVjdEJDQk9wYm91d09wdGllRmlsdGVyT3B0aW9uKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KCk7XHJcbiAgICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChyZXN1bHQuZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgICAgIGFsZXJ0KCc/PycpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxuXG4gIHB1YmxpYyBDb25uZWN0TWFueSgpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclByb2R1Y3RzQ29ubmVjdE1hbnluYW1lRGlhbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBiY2Jwcm9kdWN0b3Bib3V3b3B0aWVpZDogdGhpcy5vcHRpZS5pZFxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XG5cbiAgcHVibGljIElnbm9yZSgpOiB2b2lkIHtcbiAgICB2YXIgcmVxdWVzdCA9IG5ldyBJZ25vcmVPcGJvdXdPcHRpZVJlcXVlc3QoKTtcclxuXHJcbiAgICByZXF1ZXN0LmJjYlByb2R1Y3RPcGJvdXdPcHRpZUlkID0gdGhpcy5vcHRpZS5pZDtcclxuXHJcbiAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50Lmlnbm9yZUJDQk9wYm91d09wdGllRmlsdGVyT3B0aW9uKHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KCk7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgIH0pO1xyXG4gIH1cblxuICBwdWJsaWMgUmVtb3ZlKCk6IHZvaWQge1xuICAgIHZhciByZXF1ZXN0ID0gbmV3IFJlbW92ZU9wYm91d09wdGllUmVxdWVzdCgpO1xyXG5cclxuICAgIHJlcXVlc3QuYmNiUHJvZHVjdE9wYm91d09wdGllSWQgPSB0aGlzLm9wdGllLmlkO1xyXG5cclxuICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQucmVtb3ZlQkNCT3Bib3V3T3B0aWVGaWx0ZXJPcHRpb24ocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuTG9hZFByb2R1Y3QoKTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgYWxlcnQoZXJyb3IpO1xyXG4gICAgfSk7XHJcbiAgfVxuXG4gIHB1YmxpYyBUb2dnbGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wdGllLm9wZW4gPSAhdGhpcy5vcHRpZS5vcGVuO1xyXG4gIH1cbn1cblxuXG5pbXBvcnQgeyBCQ0JQcm9kdWN0T3Bib3V3Vmlld01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLXByb2R1Y3RzLW9wYm91dycsXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItcHJvZHVjdHMtb3Bib3V3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLXByb2R1Y3RzLW9wYm91dy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJlaGVlclByb2R1Y3RzT3Bib3V3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBvcGJvdXc6IEJDQlByb2R1Y3RPcGJvdXdWaWV3TW9kZWw7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG4gIHB1YmxpYyBUb2dnbGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9wYm91dy5vcGVuID0gIXRoaXMub3Bib3V3Lm9wZW47XHJcbiAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyd3YXJuaW5nJzogIW9wdGllLmNvbm5lY3RlZCwgJ25vcm1hbCc6IG9wdGllLmNvbm5lY3RlZH1cIj5cclxuICA8ZGl2IGNsYXNzPVwicm93XCIgKGNsaWNrKT1cIlRvZ2dsZSgpXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaWNvbi10ZFwiPlxyXG4gICAgICA8bWF0LWljb24gKm5nSWY9XCIhb3B0aWUub3BlblwiPmV4cGFuZF9tb3JlPC9tYXQtaWNvbj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3B0aWUub3BlblwiPmV4cGFuZF9sZXNzPC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cIm5hbWVcIiBjb2xzcGFuPVwiMlwiPlxyXG4gICAgICB7eyBvcHRpZS5iY2JPcGJvdXdPcHRpZVZpZXdNb2RlbD8uYmNiZWJvVmlld01vZGVsPy5uYW1lIH19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwib3B0aWUub3BlblwiIGNsYXNzPVwibWFpbi1ibG9ja1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4XCIgKm5nSWY9XCJDb25uZWN0QXYoKVwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJJZ25vcmUoKVwiPlxyXG4gICAgICAgIElnbm9yZVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQ29ubmVjdCgpXCI+XHJcbiAgICAgICAgRmlsdGVyT3B0aW9uXHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDb25uZWN0TWFueSgpXCI+XHJcbiAgICAgICAgRmlsdGVyT3B0aW9uTWFueVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4XCIgKm5nSWY9XCIhQ29ubmVjdEF2KClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHRcIj5cclxuICAgICAgICB7eyBHZXRDb25uZWN0KCkgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlJlbW92ZSgpXCI+XHJcbiAgICAgICAgUmVtb3ZlXHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cIm9wdGllLmJjYlByb2R1Y3RPcGJvdXdWaWV3TW9kZWxzLmxlbmd0aCA+IDBcIiBjbGFzcz1cInRpdGxlXCI+T3Bib3V3PC9kaXY+XHJcbiAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1vcGJvdXcgKm5nRm9yPVwibGV0IG9wYm91dyBvZiBvcHRpZS5iY2JQcm9kdWN0T3Bib3V3Vmlld01vZGVsc1wiIFtvcGJvdXddPVwib3Bib3V3XCI+PC9hcHAtYmVoZWVyLXByb2R1Y3RzLW9wYm91dz5cclxuICAgIDxkaXYgKm5nSWY9XCJvcHRpZS5iY2JQcm9kdWN0RWlnZW5zY2hhcFZpZXdNb2RlbHMubGVuZ3RoID4gMFwiIGNsYXNzPVwidGl0bGVcIj5FaWdlbnNjaGFwPC9kaXY+XHJcbiAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwICpuZ0Zvcj1cImxldCBlaWdlbnNjaGFwIG9mIG9wdGllLmJjYlByb2R1Y3RFaWdlbnNjaGFwVmlld01vZGVsc1wiIFtlaWdlbnNjaGFwXT1cImVpZ2Vuc2NoYXBcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIiBbbmdDbGFzc109XCJ7J3dhcm5pbmcnOiAhb3Bib3V3LmNvbm5lY3RlZCwgJ25vcm1hbCc6IG9wYm91dy5jb25uZWN0ZWQgfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIiAoY2xpY2spPVwiVG9nZ2xlKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpY29uLXRkXCI+XHJcbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFvcGJvdXcub3BlblwiPmV4cGFuZF9tb3JlPC9tYXQtaWNvbj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwib3Bib3V3Lm9wZW5cIj5leHBhbmRfbGVzczwvbWF0LWljb24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJlaWdlbnNjaGFwY2VsXCIgY29sc3Bhbj1cIjJcIj5cclxuICAgICAge3tvcGJvdXc/LmJjYk9wYm91d1ZpZXdNb2RlbC5uYW1lfX1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJvcGJvdXcub3BlblwiIGNsYXNzPVwibWFpbi1ibG9ja1wiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgb3B0aWUgb2Ygb3Bib3V3Lm9wdGllc1wiIFtuZ0NsYXNzXT1cInsnd2FybmluZyc6ICFvcHRpZS5jb25uZWN0ZWR9XCI+XHJcbiAgICAgIDxhcHAtYmVoZWVyLXByb2R1Y3RzLWVibyBbb3B0aWVdPVwib3B0aWVcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtZWJvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWViby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMtZWJvL2JlaGVlci1wcm9kdWN0cy1lYm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWViby9iZWhlZXItcHJvZHVjdHMtZWJvLmNvbXBvbmVudC5odG1sIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWViby9iZWhlZXItcHJvZHVjdHMtb3Bib3V3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBcUIseUJBQXlCLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQXVDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUwsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sOEZBQThGLENBQUM7QUFDNUosT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0sb0dBQW9HLENBQUM7Ozs7Ozs7O0FBT3JLLE1BQU0sT0FBTywwQkFBMEI7SUFJckMsWUFBbUIsTUFBaUIsRUFBVSxpQkFBb0MsRUFBVSxlQUFnQztRQUF6RyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixD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Qyw2bkRBeUNBLG12Q0R3RWEsNkJBQTZCOzJGQXJHN0IsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5Qjs4SkFNMUIsR0FBRztzQkFBWCxLQUFLOztBQW1HUixNQUFNLE9BQU8sNkJBQTZCO0lBSXhDLGdCQUFnQixDQUFDO0lBRWpCLFFBQVE7SUFDUixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDdkMsQ0FBQzs7MEhBWFUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsZ0dFakgxQywwcUJBZ0JBLDIzQkZKYSwwQkFBMEI7MkZBcUcxQiw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsNEJBQTRCOzBFQU03QixNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c0FwaUNsaWVudCwgQ29ubmVjdE9wYm91d09wdGllUmVxdWVzdCwgSWdub3JlT3Bib3V3T3B0aWVSZXF1ZXN0LCBSZW1vdmVPcGJvdXdPcHRpZVJlcXVlc3QsIEJDQkVCT1ZpZXdNb2RlbCwgQkNCT3Bib3V3Vmlld01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNDb25uZWN0TWFueW5hbWVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1tYW55bmFtZS1kaWFsb2cvYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtbWFueW5hbWUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclByb2R1Y3RzS29wcGVsRmlsdGVyb3B0aW9uRGFpbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQnO1xyXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMtZWJvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1wcm9kdWN0cy1lYm8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9iZWhlZXItcHJvZHVjdHMtZWJvLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmVoZWVyUHJvZHVjdHNFYm9Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGVibzogQkNCRUJPVmlld01vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSBQcm9kdWN0c0FwaUNsaWVudDogUHJvZHVjdHNBcGlDbGllbnQsIHByaXZhdGUgUHJvZHVjdHNTZXJ2aWNlOiBQcm9kdWN0c1NlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgcHVibGljIENvbm5lY3RBdigpOiBib29sZWFuIHtcbiAgICAvL2lmICh0aGlzLm9wdGllLmJjYk9wYm91d09wdGllVmlld01vZGVsPy5pZ25vcmUgPT0gdHJ1ZSkge1xuICAgIC8vICByZXR1cm4gZmFsc2U7XHJcbiAgICAvL31cblxuICAgIC8vaWYgKHRoaXMub3B0aWUuYmNiT3Bib3V3T3B0aWVWaWV3TW9kZWw/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=
@@ -1,5 +1,5 @@
1
1
  import { Component, Input } from '@angular/core';
2
- import { ConnectBCBEigenschapOptieCategoryRequest, ConnectManyNameRequest, KoppelEigenschapOptieRequest } from '../../../../swagger/SwaggerClient';
2
+ import { ConnectBCBEigenschapOptieCategoryRequest, ConnectManyNameRequest, ConnectEigenschapOptieRequest } from '../../../../swagger/SwaggerClient';
3
3
  import { BeheerConnectCategoryDialogComponent } from '../../beheer-connect-category-dialog/beheer-connect-category-dialog.component';
4
4
  import { BeheerProductsConnectManynameDialogComponent } from '../beheer-products-connect-manyname-dialog/beheer-products-connect-manyname-dialog.component';
5
5
  import { BeheerProductsConnectRangeinputComponent } from '../beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component';
@@ -23,19 +23,30 @@ export class BeheerProductsEigenschapComponent {
23
23
  Toggle() {
24
24
  this.eigenschap.open = !this.eigenschap.open;
25
25
  }
26
- Connect(id) {
27
- var dialogRef = this.dialog.open(BeheerProductsKoppelFilteroptionDailogComponent);
26
+ Connect(id, filter, option) {
27
+ var dialogRef = this.dialog.open(BeheerProductsKoppelFilteroptionDailogComponent, {
28
+ data: {
29
+ location: this.eigenschap.location,
30
+ bcbeigenschapoptieid: id,
31
+ suggestedfilter: filter,
32
+ suggestedoption: option
33
+ }
34
+ });
28
35
  dialogRef.afterClosed().subscribe((result) => {
29
36
  if (result != null) {
30
37
  if (result.filteroption != null && result.filteroption > 0) {
31
- var request = new KoppelEigenschapOptieRequest();
32
- request.bcbProductEigenschapOptieId = id;
33
- request.filterOptionId = result.filteroption;
34
- this.ProductsApiClient.connectBCBEigenschapOptieFilterOption(request).subscribe((model) => {
35
- this.ProductsService.LoadProduct();
36
- }, (error) => {
37
- alert(error);
38
- });
38
+ if (this.ProductsService.BCBProductViewModel != null) {
39
+ var request = new ConnectEigenschapOptieRequest();
40
+ request.bcbEigenschapOptieId = id;
41
+ request.filterOptionId = result.filteroption;
42
+ request.bcbProductId = this.ProductsService.BCBProductViewModel.id;
43
+ request.location = this.eigenschap.location;
44
+ this.ProductsApiClient.connectBCBEigenschapOptieFilterOption(request).subscribe(() => {
45
+ this.ProductsService.LoadProduct();
46
+ }, (error) => {
47
+ alert(error);
48
+ });
49
+ }
39
50
  }
40
51
  else if (result.filter != null) {
41
52
  var request2 = new ConnectManyNameRequest();
@@ -60,7 +71,8 @@ export class BeheerProductsEigenschapComponent {
60
71
  ConnectRange() {
61
72
  var dialogRef = this.dialog.open(BeheerProductsConnectRangeinputComponent, {
62
73
  data: {
63
- bcbproducteigenschapid: this.eigenschap.id
74
+ bcbeigenschapid: this.eigenschap.id,
75
+ location: this.eigenschap.location
64
76
  }
65
77
  });
66
78
  }
@@ -85,23 +97,23 @@ export class BeheerProductsEigenschapComponent {
85
97
  });
86
98
  }
87
99
  Show() {
88
- if (this.eigenschap?.bcbProductEigenschapOptieViewModels?.length != null &&
89
- this.eigenschap?.bcbProductEigenschapOptieViewModels?.length > 0) {
100
+ if (this.eigenschap?.opties?.length != null &&
101
+ this.eigenschap.opties.length > 0) {
90
102
  return true;
91
103
  }
92
- if (this.eigenschap?.bcbEigenschapViewModel?.bereiken?.length != null &&
93
- this.eigenschap?.bcbEigenschapViewModel?.bereiken?.length > 0) {
104
+ if (this.eigenschap?.bereiken?.length != null &&
105
+ this.eigenschap.bereiken.length > 0) {
94
106
  return true;
95
107
  }
96
108
  return false;
97
109
  }
98
110
  }
99
111
  BeheerProductsEigenschapComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsEigenschapComponent, deps: [{ token: i1.ProductsService }, { token: i2.MatDialog }, { token: i3.ProductsApiClient }], target: i0.ɵɵFactoryTarget.Component });
100
- BeheerProductsEigenschapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsEigenschapComponent, selector: "app-beheer-products-eigenschap", inputs: { eigenschap: "eigenschap" }, ngImport: i0, template: "<div class=\"container\" [ngClass]=\"{'warning': !eigenschap.connected, 'normal': eigenschap.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!eigenschap.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"eigenschap.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{eigenschap?.bcbEigenschapViewModel.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"eigenschap.open\">\r\n <div *ngFor=\"let bereik of eigenschap.bcbEigenschapViewModel.bereiken\" class=\"bereik\">\r\n <app-beheer-products-eigenschap-bereik [bereik]=\"bereik\"></app-beheer-products-eigenschap-bereik>\r\n </div>\r\n <div *ngIf=\"eigenschap.bcbEigenschapViewModel.bereiken.length > 0\">\r\n <div *ngIf=\"eigenschap.bcbEigenschapViewModel.rangeInputs.length == 0\">\r\n <button mat-raised-button (click)=\"ConnectRange()\">\r\n Range\r\n </button>\r\n </div>\r\n <div *ngFor=\"let rangeinput of eigenschap.bcbEigenschapViewModel.rangeInputs\">\r\n {{ rangeinput.rangeInputModel.name }}\r\n </div>\r\n </div>\r\n <div *ngFor=\"let optie of eigenschap.bcbProductEigenschapOptieViewModels\" [ngClass]=\"{'warning': !optie.connected}\">\r\n <div class=\"text-div\">{{ optie.bcbEigenschapOptieViewModel.name }}</div>\r\n <div>\r\n <div *ngIf=\"!optie.connected\">\r\n <button mat-raised-button (click)=\"Connect(optie.id)\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectMany(optie.id)\">\r\n FilterOptionMany\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectCategory(optie.id, eigenschap?.bcbEigenschapViewModel.name, optie.bcbEigenschapOptieViewModel.name)\">\r\n Category\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieViewModel.bcbEigenschapOptieFilterOptionViewModels\">\r\n <b>{{ connect.filterOptionViewModel.filterName }}: {{ connect.filterOptionViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieViewModel.bcbEigenschapOptieCategoryViewModels\">\r\n <b>{{ connect.categoryViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".row{cursor:pointer;display:flex}.displayflex{display:flex}.eigenschapcel{flex:auto}.container{margin:5px;padding:5px;border:1px solid #000}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.BeheerProductsEigenschapBereikComponent, selector: "app-beheer-products-eigenschap-bereik", inputs: ["bereik"] }] });
112
+ BeheerProductsEigenschapComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsEigenschapComponent, selector: "app-beheer-products-eigenschap", inputs: { eigenschap: "eigenschap" }, ngImport: i0, template: "<div class=\"container\" [ngClass]=\"{'warning': !eigenschap.connected, 'normal': eigenschap.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!eigenschap.open && Show()\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"eigenschap.open && Show()\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{eigenschap?.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"eigenschap.open\">\r\n <div *ngFor=\"let bereik of eigenschap.bereiken\" class=\"bereik\">\r\n <app-beheer-products-eigenschap-bereik [bereik]=\"bereik\"></app-beheer-products-eigenschap-bereik>\r\n </div>\r\n <div *ngIf=\"eigenschap.bereiken.length > 0 && eigenschap.rangeInputs != null\">\r\n <div *ngIf=\"eigenschap.rangeInputs.length == 0\">\r\n <button mat-raised-button (click)=\"ConnectRange()\">\r\n Range\r\n </button>\r\n </div>\r\n <div *ngFor=\"let range of eigenschap.rangeInputs\">\r\n {{ range.rangeInputModel.name }}\r\n\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let optie of eigenschap.opties\" [ngClass]=\"{'warning': !optie.connected}\">\r\n <div class=\"text-div\">{{ optie.name }}</div>\r\n <div>\r\n <div *ngIf=\"!optie.connected\">\r\n <button mat-raised-button (click)=\"Connect(optie.id, eigenschap.name, optie.name)\">\r\n FilterOption\r\n </button>\r\n <!--<button mat-raised-button (click)=\"ConnectMany(optie.id)\">\r\n FilterOptionMany\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectCategory(optie.id, eigenschap?.name, optie.name)\">\r\n Category\r\n </button>-->\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieFilterOptionViewModels\">\r\n <b>{{ connect.filterOptionViewModel.filterName }}: {{ connect.filterOptionViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieCategoryViewModels\">\r\n <b>{{ connect.categoryViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".row{cursor:pointer;display:flex}.displayflex{display:flex}.eigenschapcel{flex:auto}.container{margin:5px;padding:5px;border:1px solid #000}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.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: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.BeheerProductsEigenschapBereikComponent, selector: "app-beheer-products-eigenschap-bereik", inputs: ["bereik"] }] });
101
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsEigenschapComponent, decorators: [{
102
114
  type: Component,
103
- args: [{ selector: 'app-beheer-products-eigenschap', template: "<div class=\"container\" [ngClass]=\"{'warning': !eigenschap.connected, 'normal': eigenschap.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!eigenschap.open\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"eigenschap.open\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{eigenschap?.bcbEigenschapViewModel.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"eigenschap.open\">\r\n <div *ngFor=\"let bereik of eigenschap.bcbEigenschapViewModel.bereiken\" class=\"bereik\">\r\n <app-beheer-products-eigenschap-bereik [bereik]=\"bereik\"></app-beheer-products-eigenschap-bereik>\r\n </div>\r\n <div *ngIf=\"eigenschap.bcbEigenschapViewModel.bereiken.length > 0\">\r\n <div *ngIf=\"eigenschap.bcbEigenschapViewModel.rangeInputs.length == 0\">\r\n <button mat-raised-button (click)=\"ConnectRange()\">\r\n Range\r\n </button>\r\n </div>\r\n <div *ngFor=\"let rangeinput of eigenschap.bcbEigenschapViewModel.rangeInputs\">\r\n {{ rangeinput.rangeInputModel.name }}\r\n </div>\r\n </div>\r\n <div *ngFor=\"let optie of eigenschap.bcbProductEigenschapOptieViewModels\" [ngClass]=\"{'warning': !optie.connected}\">\r\n <div class=\"text-div\">{{ optie.bcbEigenschapOptieViewModel.name }}</div>\r\n <div>\r\n <div *ngIf=\"!optie.connected\">\r\n <button mat-raised-button (click)=\"Connect(optie.id)\">\r\n FilterOption\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectMany(optie.id)\">\r\n FilterOptionMany\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectCategory(optie.id, eigenschap?.bcbEigenschapViewModel.name, optie.bcbEigenschapOptieViewModel.name)\">\r\n Category\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieViewModel.bcbEigenschapOptieFilterOptionViewModels\">\r\n <b>{{ connect.filterOptionViewModel.filterName }}: {{ connect.filterOptionViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieViewModel.bcbEigenschapOptieCategoryViewModels\">\r\n <b>{{ connect.categoryViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".row{cursor:pointer;display:flex}.displayflex{display:flex}.eigenschapcel{flex:auto}.container{margin:5px;padding:5px;border:1px solid #000}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\n"] }]
115
+ args: [{ selector: 'app-beheer-products-eigenschap', template: "<div class=\"container\" [ngClass]=\"{'warning': !eigenschap.connected, 'normal': eigenschap.connected}\">\r\n <div class=\"row\" (click)=\"Toggle()\">\r\n <div class=\"icon-td\">\r\n <mat-icon *ngIf=\"!eigenschap.open && Show()\">expand_more</mat-icon>\r\n <mat-icon *ngIf=\"eigenschap.open && Show()\">expand_less</mat-icon>\r\n </div>\r\n <div class=\"eigenschapcel\" colspan=\"2\">\r\n {{eigenschap?.name}}\r\n </div>\r\n </div>\r\n <div *ngIf=\"eigenschap.open\">\r\n <div *ngFor=\"let bereik of eigenschap.bereiken\" class=\"bereik\">\r\n <app-beheer-products-eigenschap-bereik [bereik]=\"bereik\"></app-beheer-products-eigenschap-bereik>\r\n </div>\r\n <div *ngIf=\"eigenschap.bereiken.length > 0 && eigenschap.rangeInputs != null\">\r\n <div *ngIf=\"eigenschap.rangeInputs.length == 0\">\r\n <button mat-raised-button (click)=\"ConnectRange()\">\r\n Range\r\n </button>\r\n </div>\r\n <div *ngFor=\"let range of eigenschap.rangeInputs\">\r\n {{ range.rangeInputModel.name }}\r\n\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n </div>\r\n <div *ngFor=\"let optie of eigenschap.opties\" [ngClass]=\"{'warning': !optie.connected}\">\r\n <div class=\"text-div\">{{ optie.name }}</div>\r\n <div>\r\n <div *ngIf=\"!optie.connected\">\r\n <button mat-raised-button (click)=\"Connect(optie.id, eigenschap.name, optie.name)\">\r\n FilterOption\r\n </button>\r\n <!--<button mat-raised-button (click)=\"ConnectMany(optie.id)\">\r\n FilterOptionMany\r\n </button>\r\n <button mat-raised-button (click)=\"ConnectCategory(optie.id, eigenschap?.name, optie.name)\">\r\n Category\r\n </button>-->\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieFilterOptionViewModels\">\r\n <b>{{ connect.filterOptionViewModel.filterName }}: {{ connect.filterOptionViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n <div *ngFor=\"let connect of optie.bcbEigenschapOptieCategoryViewModels\">\r\n <b>{{ connect.categoryViewModel.name }}</b>&nbsp;\r\n <button mat-raised-button>\r\n Remove\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".row{cursor:pointer;display:flex}.displayflex{display:flex}.eigenschapcel{flex:auto}.container{margin:5px;padding:5px;border:1px solid #000}.icon-td{width:24px;height:24px}.text-div{flex:auto}.warning{background-color:#f08080}.normal{background-color:#fff}\n"] }]
104
116
  }], ctorParameters: function () { return [{ type: i1.ProductsService }, { type: i2.MatDialog }, { type: i3.ProductsApiClient }]; }, propDecorators: { eigenschap: [{
105
117
  type: Input
106
118
  }] } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHekQsT0FBTyxFQUFvRCx3Q0FBd0MsRUFBRSxzQkFBc0IsRUFBMkIsNEJBQTRCLEVBQWlDLE1BQU0sbUNBQW1DLENBQUM7QUFDN1AsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sK0VBQStFLENBQUM7QUFDckksT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sOEZBQThGLENBQUM7QUFDNUosT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDOUksT0FBTyxFQUFFLCtDQUErQyxFQUFFLE1BQU0sc0dBQXNHLENBQUM7Ozs7Ozs7OztBQU92SyxNQUFNLE9BQU8saUNBQWlDO0lBSTVDLFlBQW1CLGVBQWdDLEVBQVMsTUFBaUIsRUFBVSxpQkFBb0M7UUFBeEcsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FB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d0MsRUFBRSxDQUFDO2dCQUU3RCxPQUFPLENBQUMsMkJBQTJCLEdBQUcsRUFBRSxDQUFDO2dCQUN6QyxPQUFPLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztnQkFFNUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlDQUFpQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQy9FLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3JDLENBQUMsRUFBRSxDQUFDLEtBQWUsRUFBRSxFQUFFO29CQUNyQixLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxJQUFJLElBQUk7WUFDdEUsSUFBSSxDQUFDLFVBQVUsRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xFLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sSUFBSSxJQUFJO1lBQ25FLElBQUksQ0FBQyxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDL0QsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7OEhBbEdVLGlDQUFpQztrSEFBakMsaUNBQWlDLDRHQ2Q5QywraEZBc0RBOzJGRHhDYSxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0UsZ0NBQWdDOzhKQU1qQyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFByb2R1Y3RzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzL3Byb2R1Y3RzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCQ0JQcm9kdWN0RWlnZW5zY2hhcFZpZXdNb2RlbCwgUHJvZHVjdHNBcGlDbGllbnQsIENvbm5lY3RCQ0JFaWdlbnNjaGFwT3B0aWVDYXRlZ29yeVJlcXVlc3QsIENvbm5lY3RNYW55TmFtZVJlcXVlc3QsIENvbm5lY3RNYW55TmFtZVJlc3BvbnNlLCBLb3BwZWxFaWdlbnNjaGFwT3B0aWVSZXF1ZXN0LCBLb3BwZWxFaWdlbnNjaGFwT3B0aWVSZXNwb25zZSB9IGZyb20gJy4uLy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcbmltcG9ydCB7IEJlaGVlckNvbm5lY3RDYXRlZ29yeURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2JlaGVlci1jb25uZWN0LWNhdGVnb3J5LWRpYWxvZy9iZWhlZXItY29ubmVjdC1jYXRlZ29yeS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNDb25uZWN0TWFueW5hbWVEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1tYW55bmFtZS1kaWFsb2cvYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtbWFueW5hbWUtZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJlaGVlclByb2R1Y3RzQ29ubmVjdFJhbmdlaW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1yYW5nZWlucHV0L2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LXJhbmdlaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNLb3BwZWxGaWx0ZXJvcHRpb25EYWlsb2dDb21wb25lbnQgfSBmcm9tICcuLy4uL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWJlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy1laWdlbnNjaGFwLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJlaGVlclByb2R1Y3RzRWlnZW5zY2hhcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGVpZ2Vuc2NoYXA6IEJDQlByb2R1Y3RFaWdlbnNjaGFwVmlld01vZGVsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgUHJvZHVjdHNTZXJ2aWNlOiBQcm9kdWN0c1NlcnZpY2UsIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSBQcm9kdWN0c0FwaUNsaWVudDogUHJvZHVjdHNBcGlDbGllbnQpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBUb2dnbGUoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVpZ2Vuc2NoYXAub3BlbiA9ICF0aGlzLmVpZ2Vuc2NoYXAub3BlbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBDb25uZWN0KGlkOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclByb2R1Y3RzS29wcGVsRmlsdGVyb3B0aW9uRGFpbG9nQ29tcG9uZW50KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uICE9IG51bGwgJiYgcmVzdWx0LmZpbHRlcm9wdGlvbiA+IDApIHtcclxuICAgICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IEtvcHBlbEVpZ2Vuc2NoYXBPcHRpZVJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICByZXF1ZXN0LmJjYlByb2R1Y3RFaWdlbnNjaGFwT3B0aWVJZCA9IGlkO1xyXG4gICAgICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlc3VsdC5maWx0ZXJvcHRpb247XHJcblxyXG4gICAgICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0QkNCRWlnZW5zY2hhcE9wdGllRmlsdGVyT3B0aW9uKHJlcXVlc3QpLnN1YnNjcmliZSgobW9kZWw6IEtvcHBlbEVpZ2Vuc2NoYXBPcHRpZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KCk7XHJcbiAgICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChyZXN1bHQuZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgICAgIHZhciByZXF1ZXN0MiA9IG5ldyBDb25uZWN0TWFueU5hbWVSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgICAgcmVxdWVzdDIuYmNiUHJvZHVjdEVpZ2Vuc2NoYXBPcHRpZUlkID0gaWQ7XHJcbiAgICAgICAgICByZXF1ZXN0Mi5maWx0ZXJJZCA9IHJlc3VsdC5maWx0ZXI7XHJcblxyXG4gICAgICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0TWFueU5hbWUocmVxdWVzdDIpLnN1YnNjcmliZSgobW9kZWw6IENvbm5lY3RNYW55TmFtZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KCk7XHJcbiAgICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQ29ubmVjdE1hbnkoaWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyUHJvZHVjdHNDb25uZWN0TWFueW5hbWVEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGJjYnByb2R1Y3RlaWdlbnNjaGFwb3B0aWVpZDogaWRcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQ29ubmVjdFJhbmdlKCk6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyUHJvZHVjdHNDb25uZWN0UmFuZ2VpbnB1dENvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgYmNicHJvZHVjdGVpZ2Vuc2NoYXBpZDogdGhpcy5laWdlbnNjaGFwLmlkXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIENvbm5lY3RDYXRlZ29yeShpZDogbnVtYmVyLCBkb3R5cGU6IHN0cmluZywgZG9uYWFtOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlckNvbm5lY3RDYXRlZ29yeURpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgZG90eXBlOiBkb3R5cGUsXHJcbiAgICAgICAgZG9uYWFtOiBkb25hYW1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0ICE9IG51bGwgJiYgcmVzdWx0ID4gMCkge1xyXG4gICAgICAgIHZhciByZXF1ZXN0ID0gbmV3IENvbm5lY3RCQ0JFaWdlbnNjaGFwT3B0aWVDYXRlZ29yeVJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgcmVxdWVzdC5iY2JQcm9kdWN0RWlnZW5zY2hhcE9wdGllSWQgPSBpZDtcclxuICAgICAgICByZXF1ZXN0LmNhdGVnb3J5SWQgPSByZXN1bHQ7XHJcblxyXG4gICAgICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuY29ubmVjdEJDQkVpZ2Vuc2NoYXBPcHRpZUNhdGVnb3J5KHJlcXVlc3QpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5Mb2FkUHJvZHVjdCgpO1xyXG4gICAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2hvdygpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmVpZ2Vuc2NoYXA/LmJjYlByb2R1Y3RFaWdlbnNjaGFwT3B0aWVWaWV3TW9kZWxzPy5sZW5ndGggIT0gbnVsbCAmJlxyXG4gICAgICB0aGlzLmVpZ2Vuc2NoYXA/LmJjYlByb2R1Y3RFaWdlbnNjaGFwT3B0aWVWaWV3TW9kZWxzPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmVpZ2Vuc2NoYXA/LmJjYkVpZ2Vuc2NoYXBWaWV3TW9kZWw/LmJlcmVpa2VuPy5sZW5ndGggIT0gbnVsbCAmJlxyXG4gICAgICB0aGlzLmVpZ2Vuc2NoYXA/LmJjYkVpZ2Vuc2NoYXBWaWV3TW9kZWw/LmJlcmVpa2VuPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsnd2FybmluZyc6ICFlaWdlbnNjaGFwLmNvbm5lY3RlZCwgJ25vcm1hbCc6IGVpZ2Vuc2NoYXAuY29ubmVjdGVkfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIiAoY2xpY2spPVwiVG9nZ2xlKClcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpY29uLXRkXCI+XHJcbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFlaWdlbnNjaGFwLm9wZW5cIj5leHBhbmRfbW9yZTwvbWF0LWljb24+XHJcbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImVpZ2Vuc2NoYXAub3BlblwiPmV4cGFuZF9sZXNzPC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImVpZ2Vuc2NoYXBjZWxcIiBjb2xzcGFuPVwiMlwiPlxyXG4gICAgICB7e2VpZ2Vuc2NoYXA/LmJjYkVpZ2Vuc2NoYXBWaWV3TW9kZWwubmFtZX19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwiZWlnZW5zY2hhcC5vcGVuXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBiZXJlaWsgb2YgZWlnZW5zY2hhcC5iY2JFaWdlbnNjaGFwVmlld01vZGVsLmJlcmVpa2VuXCIgY2xhc3M9XCJiZXJlaWtcIj5cclxuICAgICAgPGFwcC1iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcC1iZXJlaWsgW2JlcmVpa109XCJiZXJlaWtcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcC1iZXJlaWs+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJlaWdlbnNjaGFwLmJjYkVpZ2Vuc2NoYXBWaWV3TW9kZWwuYmVyZWlrZW4ubGVuZ3RoID4gMFwiPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiZWlnZW5zY2hhcC5iY2JFaWdlbnNjaGFwVmlld01vZGVsLnJhbmdlSW5wdXRzLmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQ29ubmVjdFJhbmdlKClcIj5cclxuICAgICAgICAgIFJhbmdlXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCByYW5nZWlucHV0IG9mIGVpZ2Vuc2NoYXAuYmNiRWlnZW5zY2hhcFZpZXdNb2RlbC5yYW5nZUlucHV0c1wiPlxyXG4gICAgICAgIHt7IHJhbmdlaW5wdXQucmFuZ2VJbnB1dE1vZGVsLm5hbWUgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IG9wdGllIG9mIGVpZ2Vuc2NoYXAuYmNiUHJvZHVjdEVpZ2Vuc2NoYXBPcHRpZVZpZXdNb2RlbHNcIiBbbmdDbGFzc109XCJ7J3dhcm5pbmcnOiAhb3B0aWUuY29ubmVjdGVkfVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1kaXZcIj57eyBvcHRpZS5iY2JFaWdlbnNjaGFwT3B0aWVWaWV3TW9kZWwubmFtZSB9fTwvZGl2PlxyXG4gICAgICA8ZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhb3B0aWUuY29ubmVjdGVkXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDb25uZWN0KG9wdGllLmlkKVwiPlxyXG4gICAgICAgICAgICBGaWx0ZXJPcHRpb25cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQ29ubmVjdE1hbnkob3B0aWUuaWQpXCI+XHJcbiAgICAgICAgICAgIEZpbHRlck9wdGlvbk1hbnlcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQ29ubmVjdENhdGVnb3J5KG9wdGllLmlkLCBlaWdlbnNjaGFwPy5iY2JFaWdlbnNjaGFwVmlld01vZGVsLm5hbWUsIG9wdGllLmJjYkVpZ2Vuc2NoYXBPcHRpZVZpZXdNb2RlbC5uYW1lKVwiPlxyXG4gICAgICAgICAgICBDYXRlZ29yeVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY29ubmVjdCBvZiBvcHRpZS5iY2JFaWdlbnNjaGFwT3B0aWVWaWV3TW9kZWwuYmNiRWlnZW5zY2hhcE9wdGllRmlsdGVyT3B0aW9uVmlld01vZGVsc1wiPlxyXG4gICAgICAgICAgPGI+e3sgY29ubmVjdC5maWx0ZXJPcHRpb25WaWV3TW9kZWwuZmlsdGVyTmFtZSB9fToge3sgY29ubmVjdC5maWx0ZXJPcHRpb25WaWV3TW9kZWwubmFtZSB9fTwvYj4mbmJzcDtcclxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24+XHJcbiAgICAgICAgICAgIFJlbW92ZVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY29ubmVjdCBvZiBvcHRpZS5iY2JFaWdlbnNjaGFwT3B0aWVWaWV3TW9kZWwuYmNiRWlnZW5zY2hhcE9wdGllQ2F0ZWdvcnlWaWV3TW9kZWxzXCI+XHJcbiAgICAgICAgICA8Yj57eyBjb25uZWN0LmNhdGVnb3J5Vmlld01vZGVsLm5hbWUgfX08L2I+Jm5ic3A7XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uPlxyXG4gICAgICAgICAgICBSZW1vdmVcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAvYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHekQsT0FBTyxFQUFxQix3Q0FBd0MsRUFBRSxzQkFBc0IsRUFBbUYsNkJBQTZCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4UCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUNySSxPQUFPLEVBQUUsNENBQTRDLEVBQUUsTUFBTSw4RkFBOEYsQ0FBQztBQUM1SixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSxvRkFBb0YsQ0FBQztBQUM5SSxPQUFPLEVBQUUsK0NBQStDLEVBQUUsTUFBTSxzR0FBc0csQ0FBQzs7Ozs7Ozs7O0FBT3ZLLE1BQU0sT0FBTyxpQ0FBaUM7SUFJNUMsWUFBbUIsZUFBZ0MsRUFBUyxNQUFpQixFQUFVLGlCQUFvQztRQUF4RyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtJQUFJLENBQUM7SUFFaEksUUFBUTtJQUNSLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRU0sT0FBTyxDQUFDLEVBQVUsRUFBRSxNQUFjLEVBQUUsTUFBYztRQUN2RCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywrQ0FBK0MsRUFBRTtZQUNoRixJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUTtnQkFDbEMsb0JBQW9CLEVBQUUsRUFBRTtnQkFDeEIsZUFBZSxFQUFFLE1BQU07Z0JBQ3ZCLGVBQWUsRUFBRSxNQUFNO2FBQ3hCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ2hELElBQUksTUFBTSxJQUFJLElBQUksRUFBRTtnQkFDbEIsSUFBSSxNQUFNLENBQUMsWUFBWSxJQUFJLElBQUksSUFBSSxNQUFNLENBQUMsWUFBWSxHQUFHLENBQUMsRUFBRTtvQkFDMUQsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixJQUFJLElBQUksRUFBRTt3QkFDcEQsSUFBSSxPQUFPLEdBQUcsSUFBSSw2QkFBNkIsRUFBRSxDQUFDO3dCQUVsRCxPQUFPLENBQUMsb0JBQW9CLEdBQUcsRUFBRSxDQUFDO3dCQUNsQyxPQUFPLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7d0JBQzdDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7d0JBQ25FLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7d0JBRTVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQ0FBcUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFOzRCQUNuRixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO3dCQUNyQyxDQUFDLEVBQUUsQ0FBQyxLQUFlLEVBQUUsRUFBRTs0QkFDckIsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNmLENBQUMsQ0FBQyxDQUFDO3FCQUNKO2lCQUNGO3FCQUNJLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUU7b0JBQzlCLElBQUksUUFBUSxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQztvQkFFNUMsUUFBUSxDQUFDLDJCQUEyQixHQUFHLEVBQUUsQ0FBQztvQkFDMUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO29CQUVsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQThCLEVBQUUsRUFBRTt3QkFDNUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDckMsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7d0JBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDZixDQUFDLENBQUMsQ0FBQztpQkFDSjthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sV0FBVyxDQUFDLEVBQVU7UUFDM0IsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNENBQTRDLEVBQUU7WUFDN0UsSUFBSSxFQUFFO2dCQUNKLDJCQUEyQixFQUFFLEVBQUU7YUFDaEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx3Q0FBd0MsRUFBRTtZQUN6RSxJQUFJLEVBQUU7Z0JBQ0osZUFBZSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDbkMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUTthQUNuQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxlQUFlLENBQUMsRUFBVSxFQUFFLE1BQWMsRUFBRSxNQUFjO1FBQy9ELElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxFQUFFO1lBQ3JFLElBQUksRUFBRTtnQkFDSixNQUFNLEVBQUUsTUFBTTtnQkFDZCxNQUFNLEVBQUUsTUFBTTthQUNmO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ2hELElBQUksTUFBTSxJQUFJLElBQUksSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNoQyxJQUFJLE9BQU8sR0FBRyxJQUFJLHdDQUF3QyxFQUFFLENBQUM7Z0JBRTdELE9BQU8sQ0FBQywyQkFBMkIsR0FBRyxFQUFFLENBQUM7Z0JBQ3pDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO2dCQUU1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsaUNBQWlDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDL0UsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDckMsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7b0JBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDZixDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUk7WUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNuQyxPQUFPLElBQUksQ0FBQztTQUNiO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLElBQUksSUFBSTtZQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OzhIQTlHVSxpQ0FBaUM7a0hBQWpDLGlDQUFpQyw0R0NkOUMsMjZFQTBEQTsyRkQ1Q2EsaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNFLGdDQUFnQzs4SkFNakMsVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2cgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvZHVjdHNBcGlDbGllbnQsIENvbm5lY3RCQ0JFaWdlbnNjaGFwT3B0aWVDYXRlZ29yeVJlcXVlc3QsIENvbm5lY3RNYW55TmFtZVJlcXVlc3QsIENvbm5lY3RNYW55TmFtZVJlc3BvbnNlLCBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVzcG9uc2UsIEJDQkVpZ2Vuc2NoYXBWaWV3TW9kZWwsIENvbm5lY3RFaWdlbnNjaGFwT3B0aWVSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuaW1wb3J0IHsgQmVoZWVyQ29ubmVjdENhdGVnb3J5RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYmVoZWVyLWNvbm5lY3QtY2F0ZWdvcnktZGlhbG9nL2JlaGVlci1jb25uZWN0LWNhdGVnb3J5LWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJQcm9kdWN0c0Nvbm5lY3RNYW55bmFtZURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LW1hbnluYW1lLWRpYWxvZy9iZWhlZXItcHJvZHVjdHMtY29ubmVjdC1tYW55bmFtZS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmVoZWVyUHJvZHVjdHNDb25uZWN0UmFuZ2VpbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL2JlaGVlci1wcm9kdWN0cy1jb25uZWN0LXJhbmdlaW5wdXQvYmVoZWVyLXByb2R1Y3RzLWNvbm5lY3QtcmFuZ2VpbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZWhlZXJQcm9kdWN0c0tvcHBlbEZpbHRlcm9wdGlvbkRhaWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vLi4vYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmVoZWVyLXByb2R1Y3RzLWVpZ2Vuc2NoYXAuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmVoZWVyUHJvZHVjdHNFaWdlbnNjaGFwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgZWlnZW5zY2hhcDogQkNCRWlnZW5zY2hhcFZpZXdNb2RlbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIFByb2R1Y3RzU2VydmljZTogUHJvZHVjdHNTZXJ2aWNlLCBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csIHByaXZhdGUgUHJvZHVjdHNBcGlDbGllbnQ6IFByb2R1Y3RzQXBpQ2xpZW50KSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgVG9nZ2xlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5laWdlbnNjaGFwLm9wZW4gPSAhdGhpcy5laWdlbnNjaGFwLm9wZW47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQ29ubmVjdChpZDogbnVtYmVyLCBmaWx0ZXI6IHN0cmluZywgb3B0aW9uOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHZhciBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEJlaGVlclByb2R1Y3RzS29wcGVsRmlsdGVyb3B0aW9uRGFpbG9nQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICBsb2NhdGlvbjogdGhpcy5laWdlbnNjaGFwLmxvY2F0aW9uLFxyXG4gICAgICAgIGJjYmVpZ2Vuc2NoYXBvcHRpZWlkOiBpZCxcclxuICAgICAgICBzdWdnZXN0ZWRmaWx0ZXI6IGZpbHRlcixcclxuICAgICAgICBzdWdnZXN0ZWRvcHRpb246IG9wdGlvblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgIT0gbnVsbCkge1xyXG4gICAgICAgIGlmIChyZXN1bHQuZmlsdGVyb3B0aW9uICE9IG51bGwgJiYgcmVzdWx0LmZpbHRlcm9wdGlvbiA+IDApIHtcclxuICAgICAgICAgIGlmICh0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgQ29ubmVjdEVpZ2Vuc2NoYXBPcHRpZVJlcXVlc3QoKTtcclxuXHJcbiAgICAgICAgICAgIHJlcXVlc3QuYmNiRWlnZW5zY2hhcE9wdGllSWQgPSBpZDtcclxuICAgICAgICAgICAgcmVxdWVzdC5maWx0ZXJPcHRpb25JZCA9IHJlc3VsdC5maWx0ZXJvcHRpb247XHJcbiAgICAgICAgICAgIHJlcXVlc3QuYmNiUHJvZHVjdElkID0gdGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbC5pZDtcclxuICAgICAgICAgICAgcmVxdWVzdC5sb2NhdGlvbiA9IHRoaXMuZWlnZW5zY2hhcC5sb2NhdGlvbjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuUHJvZHVjdHNBcGlDbGllbnQuY29ubmVjdEJDQkVpZ2Vuc2NoYXBPcHRpZUZpbHRlck9wdGlvbihyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KCk7XHJcbiAgICAgICAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChyZXN1bHQuZmlsdGVyICE9IG51bGwpIHtcclxuICAgICAgICAgIHZhciByZXF1ZXN0MiA9IG5ldyBDb25uZWN0TWFueU5hbWVSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgICAgcmVxdWVzdDIuYmNiUHJvZHVjdEVpZ2Vuc2NoYXBPcHRpZUlkID0gaWQ7XHJcbiAgICAgICAgICByZXF1ZXN0Mi5maWx0ZXJJZCA9IHJlc3VsdC5maWx0ZXI7XHJcblxyXG4gICAgICAgICAgdGhpcy5Qcm9kdWN0c0FwaUNsaWVudC5jb25uZWN0TWFueU5hbWUocmVxdWVzdDIpLnN1YnNjcmliZSgobW9kZWw6IENvbm5lY3RNYW55TmFtZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkxvYWRQcm9kdWN0KCk7XHJcbiAgICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIGFsZXJ0KGVycm9yKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQ29ubmVjdE1hbnkoaWQ6IG51bWJlcik6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyUHJvZHVjdHNDb25uZWN0TWFueW5hbWVEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGJjYnByb2R1Y3RlaWdlbnNjaGFwb3B0aWVpZDogaWRcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgQ29ubmVjdFJhbmdlKCk6IHZvaWQge1xyXG4gICAgdmFyIGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQmVoZWVyUHJvZHVjdHNDb25uZWN0UmFuZ2VpbnB1dENvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgYmNiZWlnZW5zY2hhcGlkOiB0aGlzLmVpZ2Vuc2NoYXAuaWQsXHJcbiAgICAgICAgbG9jYXRpb246IHRoaXMuZWlnZW5zY2hhcC5sb2NhdGlvblxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBDb25uZWN0Q2F0ZWdvcnkoaWQ6IG51bWJlciwgZG90eXBlOiBzdHJpbmcsIGRvbmFhbTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB2YXIgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihCZWhlZXJDb25uZWN0Q2F0ZWdvcnlEaWFsb2dDb21wb25lbnQsIHtcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGRvdHlwZTogZG90eXBlLFxyXG4gICAgICAgIGRvbmFhbTogZG9uYWFtXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlc3VsdCAhPSBudWxsICYmIHJlc3VsdCA+IDApIHtcclxuICAgICAgICB2YXIgcmVxdWVzdCA9IG5ldyBDb25uZWN0QkNCRWlnZW5zY2hhcE9wdGllQ2F0ZWdvcnlSZXF1ZXN0KCk7XHJcblxyXG4gICAgICAgIHJlcXVlc3QuYmNiUHJvZHVjdEVpZ2Vuc2NoYXBPcHRpZUlkID0gaWQ7XHJcbiAgICAgICAgcmVxdWVzdC5jYXRlZ29yeUlkID0gcmVzdWx0O1xyXG5cclxuICAgICAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50LmNvbm5lY3RCQ0JFaWdlbnNjaGFwT3B0aWVDYXRlZ29yeShyZXF1ZXN0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuTG9hZFByb2R1Y3QoKTtcclxuICAgICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNob3coKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5laWdlbnNjaGFwPy5vcHRpZXM/Lmxlbmd0aCAhPSBudWxsICYmXHJcbiAgICAgIHRoaXMuZWlnZW5zY2hhcC5vcHRpZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5laWdlbnNjaGFwPy5iZXJlaWtlbj8ubGVuZ3RoICE9IG51bGwgJiZcclxuICAgICAgdGhpcy5laWdlbnNjaGFwLmJlcmVpa2VuLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyd3YXJuaW5nJzogIWVpZ2Vuc2NoYXAuY29ubmVjdGVkLCAnbm9ybWFsJzogZWlnZW5zY2hhcC5jb25uZWN0ZWR9XCI+XHJcbiAgPGRpdiBjbGFzcz1cInJvd1wiIChjbGljayk9XCJUb2dnbGUoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImljb24tdGRcIj5cclxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiIWVpZ2Vuc2NoYXAub3BlbiAmJiBTaG93KClcIj5leHBhbmRfbW9yZTwvbWF0LWljb24+XHJcbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImVpZ2Vuc2NoYXAub3BlbiAmJiBTaG93KClcIj5leHBhbmRfbGVzczwvbWF0LWljb24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJlaWdlbnNjaGFwY2VsXCIgY29sc3Bhbj1cIjJcIj5cclxuICAgICAge3tlaWdlbnNjaGFwPy5uYW1lfX1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJlaWdlbnNjaGFwLm9wZW5cIj5cclxuICAgIDxkaXYgKm5nRm9yPVwibGV0IGJlcmVpayBvZiBlaWdlbnNjaGFwLmJlcmVpa2VuXCIgY2xhc3M9XCJiZXJlaWtcIj5cclxuICAgICAgPGFwcC1iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcC1iZXJlaWsgW2JlcmVpa109XCJiZXJlaWtcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtZWlnZW5zY2hhcC1iZXJlaWs+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJlaWdlbnNjaGFwLmJlcmVpa2VuLmxlbmd0aCA+IDAgJiYgZWlnZW5zY2hhcC5yYW5nZUlucHV0cyAhPSBudWxsXCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJlaWdlbnNjaGFwLnJhbmdlSW5wdXRzLmxlbmd0aCA9PSAwXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiQ29ubmVjdFJhbmdlKClcIj5cclxuICAgICAgICAgIFJhbmdlXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCByYW5nZSBvZiBlaWdlbnNjaGFwLnJhbmdlSW5wdXRzXCI+XHJcbiAgICAgICAge3sgcmFuZ2UucmFuZ2VJbnB1dE1vZGVsLm5hbWUgfX1cclxuXHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbj5cclxuICAgICAgICAgIFJlbW92ZVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgb3B0aWUgb2YgZWlnZW5zY2hhcC5vcHRpZXNcIiBbbmdDbGFzc109XCJ7J3dhcm5pbmcnOiAhb3B0aWUuY29ubmVjdGVkfVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1kaXZcIj57eyBvcHRpZS5uYW1lIH19PC9kaXY+XHJcbiAgICAgIDxkaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFvcHRpZS5jb25uZWN0ZWRcIj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkNvbm5lY3Qob3B0aWUuaWQsIGVpZ2Vuc2NoYXAubmFtZSwgb3B0aWUubmFtZSlcIj5cclxuICAgICAgICAgICAgRmlsdGVyT3B0aW9uXHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwhLS08YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDb25uZWN0TWFueShvcHRpZS5pZClcIj5cclxuICAgICAgICAgICAgRmlsdGVyT3B0aW9uTWFueVxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDb25uZWN0Q2F0ZWdvcnkob3B0aWUuaWQsIGVpZ2Vuc2NoYXA/Lm5hbWUsIG9wdGllLm5hbWUpXCI+XHJcbiAgICAgICAgICAgIENhdGVnb3J5XHJcbiAgICAgICAgICA8L2J1dHRvbj4tLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjb25uZWN0IG9mIG9wdGllLmJjYkVpZ2Vuc2NoYXBPcHRpZUZpbHRlck9wdGlvblZpZXdNb2RlbHNcIj5cclxuICAgICAgICAgIDxiPnt7IGNvbm5lY3QuZmlsdGVyT3B0aW9uVmlld01vZGVsLmZpbHRlck5hbWUgfX06IHt7IGNvbm5lY3QuZmlsdGVyT3B0aW9uVmlld01vZGVsLm5hbWUgfX08L2I+Jm5ic3A7XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uPlxyXG4gICAgICAgICAgICBSZW1vdmVcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNvbm5lY3Qgb2Ygb3B0aWUuYmNiRWlnZW5zY2hhcE9wdGllQ2F0ZWdvcnlWaWV3TW9kZWxzXCI+XHJcbiAgICAgICAgICA8Yj57eyBjb25uZWN0LmNhdGVnb3J5Vmlld01vZGVsLm5hbWUgfX08L2I+Jm5ic3A7XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uPlxyXG4gICAgICAgICAgICBSZW1vdmVcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19