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.
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.mjs +17 -13
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.mjs +20 -17
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.mjs +6 -5
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.mjs +9 -6
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.mjs +10 -10
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-manyname-dialog/beheer-products-connect-manyname-dialog.component.mjs +3 -3
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.mjs +79 -22
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.mjs +27 -28
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.mjs +31 -19
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.mjs +61 -29
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.mjs +6 -5
- package/esm2020/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.mjs +7 -7
- package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product-bestek/fab-product-bestek.component.mjs +3 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.mjs +23 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.mjs +11 -8
- package/esm2020/src/app/modules/fabrikantencore/components/fab-svg-viewer/fab-svg-viewer.component.mjs +3 -3
- package/esm2020/src/app/modules/fabrikantencore/components/fab-webgl-viewer/fab-webgl-viewer.component.mjs +3 -3
- package/esm2020/src/app/modules/fabrikantencore/services/importsets.service.mjs +16 -6
- package/esm2020/src/app/modules/fabrikantencore/services/products.service.mjs +34 -24
- package/esm2020/src/app/modules/fabrikantencore/swagger/SwaggerClient.mjs +433 -347
- package/fesm2015/fabrikantencore.mjs +873 -631
- package/fesm2015/fabrikantencore.mjs.map +1 -1
- package/fesm2020/fabrikantencore.mjs +860 -623
- package/fesm2020/fabrikantencore.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/modules/fabrikantencore/beheer/components/beheer-ebo-koppel/beheer-ebo-koppel/beheer-ebo-koppel.component.d.ts +5 -3
- package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-ebo/beheer-import-sets-ebo.component.d.ts +5 -3
- package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets-eigenschap/beheer-import-sets-eigenschap.component.d.ts +3 -2
- package/src/app/modules/fabrikantencore/beheer/components/beheer-import-sets/beheer-import-sets.component.d.ts +1 -0
- package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-bcbproduct/beheer-products-bcbproduct.component.d.ts +3 -2
- package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-connect-rangeinput/beheer-products-connect-rangeinput.component.d.ts +16 -4
- package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-ebo/beheer-products-ebo.component.d.ts +4 -5
- package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-eigenschap/beheer-products-eigenschap.component.d.ts +3 -3
- package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-koppel-filteroption-dailog/beheer-products-koppel-filteroption-dailog.component.d.ts +13 -3
- package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products-product/beheer-products-product.component.d.ts +3 -2
- package/src/app/modules/fabrikantencore/beheer/components/beheer-products/beheer-products.component.d.ts +1 -1
- package/src/app/modules/fabrikantencore/components/fab-product/fab-product.component.d.ts +2 -0
- package/src/app/modules/fabrikantencore/components/fab-start/fab-start.component.d.ts +3 -1
- package/src/app/modules/fabrikantencore/services/importsets.service.d.ts +6 -3
- package/src/app/modules/fabrikantencore/services/products.service.d.ts +5 -4
- package/src/app/modules/fabrikantencore/swagger/SwaggerClient.d.ts +144 -164
|
@@ -1,27 +1,38 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
2
|
-
import {
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import { CreateFilterOptionRequest, CreateFilterRequest, ConnectEigenschapOptieRequest } from '../../../../swagger/SwaggerClient';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/material/dialog";
|
|
5
6
|
import * as i2 from "../../../../swagger/SwaggerClient";
|
|
6
|
-
import * as i3 from "
|
|
7
|
-
import * as i4 from "@angular/
|
|
8
|
-
import * as i5 from "@angular/material/
|
|
9
|
-
import * as i6 from "@angular/
|
|
10
|
-
import * as i7 from "@angular/
|
|
11
|
-
import * as i8 from "@angular/material/
|
|
12
|
-
import * as i9 from "@angular/material/
|
|
13
|
-
import * as i10 from "@angular/material/
|
|
14
|
-
import * as i11 from "
|
|
7
|
+
import * as i3 from "../../../../services/products.service";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i5 from "@angular/material/form-field";
|
|
10
|
+
import * as i6 from "@angular/material/input";
|
|
11
|
+
import * as i7 from "@angular/forms";
|
|
12
|
+
import * as i8 from "@angular/material/button";
|
|
13
|
+
import * as i9 from "@angular/material/tabs";
|
|
14
|
+
import * as i10 from "@angular/material/select";
|
|
15
|
+
import * as i11 from "@angular/material/core";
|
|
16
|
+
import * as i12 from "../../../../components/fab-loader/fab-loader.component";
|
|
15
17
|
export class BeheerProductsKoppelFilteroptionDailogComponent {
|
|
16
|
-
constructor(dialogRef, FiltersApiClient) {
|
|
18
|
+
constructor(dialogRef, data, FiltersApiClient, ProductsApiClient, ProductsService) {
|
|
17
19
|
this.dialogRef = dialogRef;
|
|
20
|
+
this.data = data;
|
|
18
21
|
this.FiltersApiClient = FiltersApiClient;
|
|
22
|
+
this.ProductsApiClient = ProductsApiClient;
|
|
23
|
+
this.ProductsService = ProductsService;
|
|
19
24
|
this.FilterNaamNieuw = "";
|
|
20
25
|
this.FilterOptionNaamNieuw = "";
|
|
21
|
-
this.
|
|
26
|
+
this.LoadingFilters = true;
|
|
27
|
+
this.LoadingOpties = true;
|
|
28
|
+
this.BCBEigenschapOptieId = data.bcbeigenschapoptieid;
|
|
29
|
+
this.Location = data.location;
|
|
30
|
+
this.FilterNaamNieuw = data.suggestedfilter;
|
|
31
|
+
this.FilterOptionNaamNieuw = data.suggestedoption;
|
|
22
32
|
}
|
|
23
33
|
ngOnInit() {
|
|
24
34
|
this.LoadFilters();
|
|
35
|
+
this.LoadOpties();
|
|
25
36
|
}
|
|
26
37
|
handleKeyUpFilter(e) {
|
|
27
38
|
if (e.keyCode === 13) {
|
|
@@ -34,16 +45,16 @@ export class BeheerProductsKoppelFilteroptionDailogComponent {
|
|
|
34
45
|
}
|
|
35
46
|
}
|
|
36
47
|
NieuwFilterToevoegen() {
|
|
37
|
-
this.
|
|
48
|
+
this.LoadingFilters = true;
|
|
38
49
|
var requestfilter = new CreateFilterRequest();
|
|
39
50
|
requestfilter.name = this.FilterNaamNieuw;
|
|
40
51
|
this.FiltersApiClient.createFilter(requestfilter).subscribe((model) => {
|
|
41
|
-
this.
|
|
52
|
+
this.LoadingFilters = false;
|
|
42
53
|
var requestfilteroption = new CreateFilterOptionRequest();
|
|
43
54
|
requestfilteroption.filterId = model.id;
|
|
44
55
|
requestfilteroption.name = this.FilterOptionNaamNieuw;
|
|
45
56
|
this.FiltersApiClient.createFilterOption(requestfilteroption).subscribe((model) => {
|
|
46
|
-
this.
|
|
57
|
+
this.LoadingFilters = false;
|
|
47
58
|
this.dialogRef.close({ filter: null, filteroption: model.id });
|
|
48
59
|
}, (error) => {
|
|
49
60
|
if (error.status == 400)
|
|
@@ -52,7 +63,7 @@ export class BeheerProductsKoppelFilteroptionDailogComponent {
|
|
|
52
63
|
console.log('An unexpected error occured');
|
|
53
64
|
console.log(error);
|
|
54
65
|
}
|
|
55
|
-
this.
|
|
66
|
+
this.LoadingFilters = false;
|
|
56
67
|
});
|
|
57
68
|
}, (error) => {
|
|
58
69
|
if (error.status == 400)
|
|
@@ -61,16 +72,16 @@ export class BeheerProductsKoppelFilteroptionDailogComponent {
|
|
|
61
72
|
console.log('An unexpected error occured');
|
|
62
73
|
console.log(error);
|
|
63
74
|
}
|
|
64
|
-
this.
|
|
75
|
+
this.LoadingFilters = false;
|
|
65
76
|
});
|
|
66
77
|
}
|
|
67
78
|
NieuwFilterOptionToevoegen() {
|
|
68
|
-
this.
|
|
79
|
+
this.LoadingFilters = true;
|
|
69
80
|
var requestfilteroption = new CreateFilterOptionRequest();
|
|
70
81
|
requestfilteroption.filterId = this.FilterSelected;
|
|
71
82
|
requestfilteroption.name = this.FilterOptionNaamNieuw;
|
|
72
83
|
this.FiltersApiClient.createFilterOption(requestfilteroption).subscribe((model) => {
|
|
73
|
-
this.
|
|
84
|
+
this.LoadingFilters = false;
|
|
74
85
|
this.dialogRef.close({ filter: null, filteroption: model.id });
|
|
75
86
|
}, (error) => {
|
|
76
87
|
if (error.status == 400)
|
|
@@ -79,7 +90,7 @@ export class BeheerProductsKoppelFilteroptionDailogComponent {
|
|
|
79
90
|
console.log('An unexpected error occured');
|
|
80
91
|
console.log(error);
|
|
81
92
|
}
|
|
82
|
-
this.
|
|
93
|
+
this.LoadingFilters = false;
|
|
83
94
|
});
|
|
84
95
|
}
|
|
85
96
|
BestaandToevoegen() {
|
|
@@ -100,11 +111,14 @@ export class BeheerProductsKoppelFilteroptionDailogComponent {
|
|
|
100
111
|
KoppelManyName() {
|
|
101
112
|
this.dialogRef.close({ filter: this.FilterSelected, filteroption: null });
|
|
102
113
|
}
|
|
114
|
+
Loading() {
|
|
115
|
+
return this.LoadingOpties || this.LoadingFilters;
|
|
116
|
+
}
|
|
103
117
|
LoadFilters() {
|
|
104
|
-
this.
|
|
118
|
+
this.LoadingFilters = true;
|
|
105
119
|
this.FiltersApiClient.getFiltersViewModel().subscribe((model) => {
|
|
106
120
|
this.FiltersViewModel = model;
|
|
107
|
-
this.
|
|
121
|
+
this.LoadingFilters = false;
|
|
108
122
|
}, (error) => {
|
|
109
123
|
if (error.status == 400)
|
|
110
124
|
console.log(error.json());
|
|
@@ -112,14 +126,32 @@ export class BeheerProductsKoppelFilteroptionDailogComponent {
|
|
|
112
126
|
console.log('An unexpected error occured');
|
|
113
127
|
console.log(error);
|
|
114
128
|
}
|
|
115
|
-
this.
|
|
129
|
+
this.LoadingFilters = false;
|
|
116
130
|
});
|
|
117
131
|
}
|
|
132
|
+
LoadOpties() {
|
|
133
|
+
if (this.ProductsService.BCBProductViewModel != null) {
|
|
134
|
+
this.LoadingOpties = true;
|
|
135
|
+
var request = new ConnectEigenschapOptieRequest();
|
|
136
|
+
request.bcbEigenschapOptieId = this.BCBEigenschapOptieId;
|
|
137
|
+
request.bcbProductId = this.ProductsService.BCBProductViewModel.id;
|
|
138
|
+
request.location = this.Location;
|
|
139
|
+
this.ProductsApiClient.connectBCBEigenschapOptieFilterOptionPreview(request).subscribe((model) => {
|
|
140
|
+
this.ConnectEigenschapOptieResponse = model;
|
|
141
|
+
this.LoadingOpties = false;
|
|
142
|
+
}, (error) => {
|
|
143
|
+
alert(error);
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
}
|
|
118
147
|
}
|
|
119
|
-
BeheerProductsKoppelFilteroptionDailogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsKoppelFilteroptionDailogComponent, deps: [{ token: i1.MatDialogRef }, { token: i2.FiltersApiClient }], target: i0.ɵɵFactoryTarget.Component });
|
|
120
|
-
BeheerProductsKoppelFilteroptionDailogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsKoppelFilteroptionDailogComponent, selector: "app-beheer-products-koppel-filteroption-dailog", ngImport: i0, template: "<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuwe filter\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <input matInput [(ngModel)]=\"FilterNaamNieuw\">\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <input matInput (keyup)=\"handleKeyUpFilter($event)\" [(ngModel)]=\"FilterOptionNaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwFilterToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Nieuwe optie\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <input matInput (keyup)=\"handleKeyUpFilterOption($event)\" [(ngModel)]=\"FilterOptionNaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwFilterOptionToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <mat-select [(ngModel)]=\"FilterOptionSelected\">\r\n <mat-option *ngFor=\"let filteroption of GetSelectedFiltersOptions()\" [value]=\"filteroption.id\">\r\n {{filteroption.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"BestaandToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <!--<mat-tab label=\"Many Name\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <app-beheer-connect-manyname></app-beheer-connect-manyname>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"KoppelManyName()\">Koppel</button>\r\n </div>\r\n </mat-tab>-->\r\n </mat-tab-group>\r\n</div>\r\n", styles: [".full-width{width:100%}\n"], dependencies: [{ kind: "directive", type:
|
|
148
|
+
BeheerProductsKoppelFilteroptionDailogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsKoppelFilteroptionDailogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FiltersApiClient }, { token: i2.ProductsApiClient }, { token: i3.ProductsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
149
|
+
BeheerProductsKoppelFilteroptionDailogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsKoppelFilteroptionDailogComponent, selector: "app-beheer-products-koppel-filteroption-dailog", ngImport: i0, template: "<div *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading()\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuwe filter\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <input matInput [(ngModel)]=\"FilterNaamNieuw\">\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <input matInput (keyup)=\"handleKeyUpFilter($event)\" [(ngModel)]=\"FilterOptionNaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwFilterToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Nieuwe optie\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <input matInput (keyup)=\"handleKeyUpFilterOption($event)\" [(ngModel)]=\"FilterOptionNaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwFilterOptionToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <mat-select [(ngModel)]=\"FilterOptionSelected\">\r\n <mat-option *ngFor=\"let filteroption of GetSelectedFiltersOptions()\" [value]=\"filteroption.id\">\r\n {{filteroption.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"BestaandToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <!--<mat-tab label=\"Many Name\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <app-beheer-connect-manyname></app-beheer-connect-manyname>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"KoppelManyName()\">Koppel</button>\r\n </div>\r\n </mat-tab>-->\r\n </mat-tab-group>\r\n\r\n <div class=\"options-container\">\r\n <div *ngFor=\"let location of ConnectEigenschapOptieResponse.locations\">\r\n <b>{{ location.location }}</b>\r\n <div *ngFor=\"let ebo of location.ebos\">\r\n {{ ebo }}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".full-width{width:100%}.options-container{max-height:300px}.tool-bar{padding:2px}\n"], dependencies: [{ 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.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.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: i9.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "disableRipple"], exportAs: ["matTabGroup"] }, { kind: "component", type: i9.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass"], exportAs: ["matTab"] }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i11.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i12.FabLoaderComponent, selector: "app-fab-loader" }] });
|
|
121
150
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsKoppelFilteroptionDailogComponent, decorators: [{
|
|
122
151
|
type: Component,
|
|
123
|
-
args: [{ selector: 'app-beheer-products-koppel-filteroption-dailog', template: "<div *ngIf=\"Loading\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuwe filter\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <input matInput [(ngModel)]=\"FilterNaamNieuw\">\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <input matInput (keyup)=\"handleKeyUpFilter($event)\" [(ngModel)]=\"FilterOptionNaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwFilterToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Nieuwe optie\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <input matInput (keyup)=\"handleKeyUpFilterOption($event)\" [(ngModel)]=\"FilterOptionNaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwFilterOptionToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <mat-select [(ngModel)]=\"FilterOptionSelected\">\r\n <mat-option *ngFor=\"let filteroption of GetSelectedFiltersOptions()\" [value]=\"filteroption.id\">\r\n {{filteroption.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"BestaandToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <!--<mat-tab label=\"Many Name\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <app-beheer-connect-manyname></app-beheer-connect-manyname>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"KoppelManyName()\">Koppel</button>\r\n </div>\r\n </mat-tab>-->\r\n </mat-tab-group>\r\n</div>\r\n", styles: [".full-width{width:100%}\n"] }]
|
|
124
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type:
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBNkQseUJBQXlCLEVBQThCLG1CQUFtQixFQUF3QixNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7Ozs7O0FBT2hOLE1BQU0sT0FBTywrQ0FBK0M7SUFXMUQsWUFBbUIsU0FBd0UsRUFBVSxnQkFBa0M7UUFBcEgsY0FBUyxHQUFULFNBQVMsQ0FBK0Q7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBUGhJLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBQzdCLDBCQUFxQixHQUFXLEVBQUUsQ0FBQztRQUVuQyxZQUFPLEdBQVksSUFBSSxDQUFDO0lBTS9CLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxpQkFB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LElBQUksQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFFcEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBdUIsRUFBRSxFQUFFO1lBQ2hGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkIsQ0FBQyxFQUFFLENBQUMsS0FBZSxFQUFFLEVBQUU7WUFDckIsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUc7Z0JBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7aUJBQ3ZCO2dCQUNILE9BQU8sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztnQkFDM0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNwQjtZQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NElBeklVLCtDQUErQztnSUFBL0MsK0NBQStDLHNGQ1Q1RCx3NkdBd0ZBOzJGRC9FYSwrQ0FBK0M7a0JBTDNELFNBQVM7K0JBQ0UsZ0RBQWdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEZpbHRlcnNBcGlDbGllbnQsIEZpbHRlcnNWaWV3TW9kZWwsIEZpbHRlck9wdGlvblZpZXdNb2RlbCwgQ3JlYXRlRmlsdGVyT3B0aW9uUmVxdWVzdCwgQ3JlYXRlRmlsdGVyT3B0aW9uUmVzcG9uc2UsIENyZWF0ZUZpbHRlclJlcXVlc3QsIENyZWF0ZUZpbHRlclJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJlaGVlclByb2R1Y3RzS29wcGVsRmlsdGVyb3B0aW9uRGFpbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgRmlsdGVyc1ZpZXdNb2RlbDogRmlsdGVyc1ZpZXdNb2RlbDtcblxuICBwdWJsaWMgRmlsdGVyTmFhbU5pZXV3OiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgRmlsdGVyT3B0aW9uTmFhbU5pZXV3OiBzdHJpbmcgPSBcIlwiO1xuXG4gIHB1YmxpYyBMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIEZpbHRlclNlbGVjdGVkOiBudW1iZXI7XG4gIHB1YmxpYyBGaWx0ZXJPcHRpb25TZWxlY3RlZDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxCZWhlZXJQcm9kdWN0c0tvcHBlbEZpbHRlcm9wdGlvbkRhaWxvZ0NvbXBvbmVudD4sIHByaXZhdGUgRmlsdGVyc0FwaUNsaWVudDogRmlsdGVyc0FwaUNsaWVudCkge1xuXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZEZpbHRlcnMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVLZXlVcEZpbHRlcihlOiBhbnkpIHtcclxuICAgIGlmIChlLmtleUNvZGUgPT09IDEzKSB7XHJcbiAgICAgIHRoaXMuTmlldXdGaWx0ZXJUb2V2b2VnZW4oKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVLZXlVcEZpbHRlck9wdGlvbihlOiBhbnkpIHtcclxuICAgIGlmIChlLmtleUNvZGUgPT09IDEzKSB7XHJcbiAgICAgIHRoaXMuTmlldXdGaWx0ZXJPcHRpb25Ub2V2b2VnZW4oKTtcclxuICAgIH1cclxuICB9XHJcblxuICBwdWJsaWMgTmlldXdGaWx0ZXJUb2V2b2VnZW4oKTogdm9pZCB7XG4gICAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICB2YXIgcmVxdWVzdGZpbHRlcjogQ3JlYXRlRmlsdGVyUmVxdWVzdCA9IG5ldyBDcmVhdGVGaWx0ZXJSZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdGZpbHRlci5uYW1lID0gdGhpcy5GaWx0ZXJOYWFtTmlldXc7XHJcblxyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LmNyZWF0ZUZpbHRlcihyZXF1ZXN0ZmlsdGVyKS5zdWJzY3JpYmUoKG1vZGVsOiBDcmVhdGVGaWx0ZXJSZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgIHZhciByZXF1ZXN0ZmlsdGVyb3B0aW9uID0gbmV3IENyZWF0ZUZpbHRlck9wdGlvblJlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJlcXVlc3RmaWx0ZXJvcHRpb24uZmlsdGVySWQgPSBtb2RlbC5pZDtcclxuICAgICAgcmVxdWVzdGZpbHRlcm9wdGlvbi5uYW1lID0gdGhpcy5GaWx0ZXJPcHRpb25OYWFtTmlldXc7XHJcblxyXG4gICAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuY3JlYXRlRmlsdGVyT3B0aW9uKHJlcXVlc3RmaWx0ZXJvcHRpb24pLnN1YnNjcmliZSgobW9kZWw6IENyZWF0ZUZpbHRlck9wdGlvblJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgZmlsdGVyOiBudWxsLCBmaWx0ZXJvcHRpb246IG1vZGVsLmlkIH0pO1xyXG4gICAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XG5cbiAgcHVibGljIE5pZXV3RmlsdGVyT3B0aW9uVG9ldm9lZ2VuKCk6IHZvaWQge1xuICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgdmFyIHJlcXVlc3RmaWx0ZXJvcHRpb24gPSBuZXcgQ3JlYXRlRmlsdGVyT3B0aW9uUmVxdWVzdCgpO1xyXG5cclxuICAgIHJlcXVlc3RmaWx0ZXJvcHRpb24uZmlsdGVySWQgPSB0aGlzLkZpbHRlclNlbGVjdGVkO1xyXG4gICAgcmVxdWVzdGZpbHRlcm9wdGlvbi5uYW1lID0gdGhpcy5GaWx0ZXJPcHRpb25OYWFtTmlldXc7XHJcblxyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LmNyZWF0ZUZpbHRlck9wdGlvbihyZXF1ZXN0ZmlsdGVyb3B0aW9uKS5zdWJzY3JpYmUoKG1vZGVsOiBDcmVhdGVGaWx0ZXJPcHRpb25SZXNwb25zZSkgPT4ge1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHsgZmlsdGVyOiBudWxsLCBmaWx0ZXJvcHRpb246IG1vZGVsLmlkIH0pO1xyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cblxuICBwdWJsaWMgQmVzdGFhbmRUb2V2b2VnZW4oKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBmaWx0ZXI6IG51bGwsIGZpbHRlcm9wdGlvbjogdGhpcy5GaWx0ZXJPcHRpb25TZWxlY3RlZCB9KTtcclxuICB9XG5cbiAgcHVibGljIEdldFNlbGVjdGVkRmlsdGVyc09wdGlvbnMoKTogQXJyYXk8RmlsdGVyT3B0aW9uVmlld01vZGVsPiB7XG4gICAgdmFyIGFycmF5ID0gbmV3IEFycmF5PEZpbHRlck9wdGlvblZpZXdNb2RlbD4oKTtcclxuXHJcbiAgICB2YXIgdGVtcGFycmF5ID0gdGhpcy5GaWx0ZXJzVmlld01vZGVsPy5maWx0ZXJWaWV3TW9kZWxzO1xyXG5cclxuICAgIGlmICh0ZW1wYXJyYXkgIT0gbnVsbCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRlbXBhcnJheS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmICh0ZW1wYXJyYXlbaV0uaWQgPT0gdGhpcy5GaWx0ZXJTZWxlY3RlZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRlbXBhcnJheVtpXS5maWx0ZXJPcHRpb25WaWV3TW9kZWxzIGFzIEFycmF5PEZpbHRlck9wdGlvblZpZXdNb2RlbD47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFycmF5O1xyXG4gIH1cblxuICBwdWJsaWMgS29wcGVsTWFueU5hbWUoKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBmaWx0ZXI6IHRoaXMuRmlsdGVyU2VsZWN0ZWQsIGZpbHRlcm9wdGlvbjogbnVsbCB9KTtcclxuICB9XG5cbiAgcHJpdmF0ZSBMb2FkRmlsdGVycygpOiB2b2lkIHtcclxuICAgIHRoaXMuTG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LmdldEZpbHRlcnNWaWV3TW9kZWwoKS5zdWJzY3JpYmUoKG1vZGVsOiBGaWx0ZXJzVmlld01vZGVsKSA9PiB7XHJcbiAgICAgIHRoaXMuRmlsdGVyc1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwiTG9hZGluZ1wiPlxyXG4gIDxhcHAtZmFiLWxvYWRlcj48L2FwcC1mYWItbG9hZGVyPlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgKm5nSWY9XCIhTG9hZGluZ1wiPlxyXG4gIDxtYXQtdGFiLWdyb3VwPlxyXG4gICAgPG1hdC10YWIgbGFiZWw9XCJOaWV1d2UgZmlsdGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXJcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+RmlsdGVyPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJGaWx0ZXJOYWFtTmlldXdcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+T3B0aWU8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCAoa2V5dXApPVwiaGFuZGxlS2V5VXBGaWx0ZXIoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiRmlsdGVyT3B0aW9uTmFhbU5pZXV3XCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmlldXdGaWx0ZXJUb2V2b2VnZW4oKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDxtYXQtdGFiIGxhYmVsPVwiTmlldXdlIG9wdGllXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXJcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+RmlsdGVyPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkZpbHRlclNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgRmlsdGVyc1ZpZXdNb2RlbC5maWx0ZXJWaWV3TW9kZWxzXCIgW3ZhbHVlXT1cImZpbHRlci5pZFwiPlxyXG4gICAgICAgICAgICAgIHt7ZmlsdGVyLm5hbWV9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPk9wdGllPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgKGtleXVwKT1cImhhbmRsZUtleVVwRmlsdGVyT3B0aW9uKCRldmVudClcIiBbKG5nTW9kZWwpXT1cIkZpbHRlck9wdGlvbk5hYW1OaWV1d1wiPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhciB0b29sLWJhclwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIk5pZXV3RmlsdGVyT3B0aW9uVG9ldm9lZ2VuKClcIj5Ub2V2b2VnZW48L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC10YWI+XHJcbiAgICA8bWF0LXRhYiBsYWJlbD1cIkJlc3RhYW5kXCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyXCI+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPkZpbHRlcjwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJGaWx0ZXJTZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIEZpbHRlcnNWaWV3TW9kZWwuZmlsdGVyVmlld01vZGVsc1wiIFt2YWx1ZV09XCJmaWx0ZXIuaWRcIj5cclxuICAgICAgICAgICAgICB7e2ZpbHRlci5uYW1lfX1cclxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5PcHRpZTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJGaWx0ZXJPcHRpb25TZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZmlsdGVyb3B0aW9uIG9mIEdldFNlbGVjdGVkRmlsdGVyc09wdGlvbnMoKVwiIFt2YWx1ZV09XCJmaWx0ZXJvcHRpb24uaWRcIj5cclxuICAgICAgICAgICAgICB7e2ZpbHRlcm9wdGlvbi5uYW1lfX1cclxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhciB0b29sLWJhclwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkJlc3RhYW5kVG9ldm9lZ2VuKClcIj5Ub2V2b2VnZW48L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC10YWI+XHJcbiAgICA8IS0tPG1hdC10YWIgbGFiZWw9XCJNYW55IE5hbWVcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5GaWx0ZXI8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkZpbHRlclNlbGVjdGVkXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIEZpbHRlcnNWaWV3TW9kZWwuZmlsdGVyVmlld01vZGVsc1wiIFt2YWx1ZV09XCJmaWx0ZXIuaWRcIj5cclxuICAgICAgICAgICAge3tmaWx0ZXIubmFtZX19XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgPGFwcC1iZWhlZXItY29ubmVjdC1tYW55bmFtZT48L2FwcC1iZWhlZXItY29ubmVjdC1tYW55bmFtZT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXIgdG9vbC1iYXJcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJLb3BwZWxNYW55TmFtZSgpXCI+S29wcGVsPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtdGFiPi0tPlxyXG4gIDwvbWF0LXRhYi1ncm91cD5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
152
|
+
args: [{ selector: 'app-beheer-products-koppel-filteroption-dailog', template: "<div *ngIf=\"Loading()\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n\r\n<div *ngIf=\"!Loading()\">\r\n <mat-tab-group>\r\n <mat-tab label=\"Nieuwe filter\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <input matInput [(ngModel)]=\"FilterNaamNieuw\">\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <input matInput (keyup)=\"handleKeyUpFilter($event)\" [(ngModel)]=\"FilterOptionNaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwFilterToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Nieuwe optie\">\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <input matInput (keyup)=\"handleKeyUpFilterOption($event)\" [(ngModel)]=\"FilterOptionNaamNieuw\">\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"NieuwFilterOptionToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <mat-tab label=\"Bestaand\">\r\n\r\n <div class=\"bar\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Optie</mat-label>\r\n <mat-select [(ngModel)]=\"FilterOptionSelected\">\r\n <mat-option *ngFor=\"let filteroption of GetSelectedFiltersOptions()\" [value]=\"filteroption.id\">\r\n {{filteroption.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"BestaandToevoegen()\">Toevoegen</button>\r\n </div>\r\n </mat-tab>\r\n <!--<mat-tab label=\"Many Name\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Filter</mat-label>\r\n <mat-select [(ngModel)]=\"FilterSelected\">\r\n <mat-option *ngFor=\"let filter of FiltersViewModel.filterViewModels\" [value]=\"filter.id\">\r\n {{filter.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <app-beheer-connect-manyname></app-beheer-connect-manyname>\r\n\r\n <div class=\"bar tool-bar\">\r\n <button mat-raised-button (click)=\"KoppelManyName()\">Koppel</button>\r\n </div>\r\n </mat-tab>-->\r\n </mat-tab-group>\r\n\r\n <div class=\"options-container\">\r\n <div *ngFor=\"let location of ConnectEigenschapOptieResponse.locations\">\r\n <b>{{ location.location }}</b>\r\n <div *ngFor=\"let ebo of location.ebos\">\r\n {{ ebo }}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".full-width{width:100%}.options-container{max-height:300px}.tool-bar{padding:2px}\n"] }]
|
|
153
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
154
|
+
type: Inject,
|
|
155
|
+
args: [MAT_DIALOG_DATA]
|
|
156
|
+
}] }, { type: i2.FiltersApiClient }, { type: i2.ProductsApiClient }, { type: i3.ProductsService }]; } });
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy9iZWhlZXItcHJvZHVjdHMta29wcGVsLWZpbHRlcm9wdGlvbi1kYWlsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBNkQseUJBQXlCLEVBQThCLG1CQUFtQixFQUF3Qiw2QkFBNkIsRUFBcUQsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFPbFMsTUFBTSxPQUFPLCtDQUErQztJQWlCMUQsWUFDUyxTQUF3RSxFQUMvQyxJQUFTLEVBQ2pDLGdCQUFrQyxFQUNsQyxpQkFBb0MsRUFDcEMsZUFBZ0M7UUFKakMsY0FBUyxHQUFULFNBQVMsQ0FBK0Q7UUFDL0MsU0FBSSxHQUFKLElBQUksQ0FBSztRQUNqQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHNCQUFpQixHQUFqQixp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Y3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRmlsdGVyc0FwaUNsaWVudCwgRmlsdGVyc1ZpZXdNb2RlbCwgRmlsdGVyT3B0aW9uVmlld01vZGVsLCBDcmVhdGVGaWx0ZXJPcHRpb25SZXF1ZXN0LCBDcmVhdGVGaWx0ZXJPcHRpb25SZXNwb25zZSwgQ3JlYXRlRmlsdGVyUmVxdWVzdCwgQ3JlYXRlRmlsdGVyUmVzcG9uc2UsIENvbm5lY3RFaWdlbnNjaGFwT3B0aWVSZXF1ZXN0LCBQcm9kdWN0c0FwaUNsaWVudCwgQ29ubmVjdEVpZ2Vuc2NoYXBPcHRpZVJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYmVoZWVyLXByb2R1Y3RzLWtvcHBlbC1maWx0ZXJvcHRpb24tZGFpbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy1rb3BwZWwtZmlsdGVyb3B0aW9uLWRhaWxvZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEJlaGVlclByb2R1Y3RzS29wcGVsRmlsdGVyb3B0aW9uRGFpbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgRmlsdGVyc1ZpZXdNb2RlbDogRmlsdGVyc1ZpZXdNb2RlbDtcblxuICBwdWJsaWMgRmlsdGVyTmFhbU5pZXV3OiBzdHJpbmcgPSBcIlwiO1xuICBwdWJsaWMgRmlsdGVyT3B0aW9uTmFhbU5pZXV3OiBzdHJpbmcgPSBcIlwiO1xuXG4gIHB1YmxpYyBMb2FkaW5nRmlsdGVyczogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBMb2FkaW5nT3B0aWVzOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIEZpbHRlclNlbGVjdGVkOiBudW1iZXI7XG4gIHB1YmxpYyBGaWx0ZXJPcHRpb25TZWxlY3RlZDogbnVtYmVyO1xuXG4gIHB1YmxpYyBCQ0JFaWdlbnNjaGFwT3B0aWVJZDogbnVtYmVyO1xuICBwdWJsaWMgTG9jYXRpb246IHN0cmluZztcblxuICBwdWJsaWMgQ29ubmVjdEVpZ2Vuc2NoYXBPcHRpZVJlc3BvbnNlOiBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVzcG9uc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEJlaGVlclByb2R1Y3RzS29wcGVsRmlsdGVyb3B0aW9uRGFpbG9nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcbiAgICBwcml2YXRlIEZpbHRlcnNBcGlDbGllbnQ6IEZpbHRlcnNBcGlDbGllbnQsXG4gICAgcHJpdmF0ZSBQcm9kdWN0c0FwaUNsaWVudDogUHJvZHVjdHNBcGlDbGllbnQsXG4gICAgcHJpdmF0ZSBQcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSkge1xuICAgIHRoaXMuQkNCRWlnZW5zY2hhcE9wdGllSWQgPSBkYXRhLmJjYmVpZ2Vuc2NoYXBvcHRpZWlkO1xuICAgIHRoaXMuTG9jYXRpb24gPSBkYXRhLmxvY2F0aW9uO1xuICAgIHRoaXMuRmlsdGVyTmFhbU5pZXV3ID0gZGF0YS5zdWdnZXN0ZWRmaWx0ZXI7XG4gICAgdGhpcy5GaWx0ZXJPcHRpb25OYWFtTmlldXcgPSBkYXRhLnN1Z2dlc3RlZG9wdGlvbjtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkRmlsdGVycygpO1xyXG4gICAgdGhpcy5Mb2FkT3B0aWVzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5VXBGaWx0ZXIoZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLk5pZXV3RmlsdGVyVG9ldm9lZ2VuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlS2V5VXBGaWx0ZXJPcHRpb24oZTogYW55KSB7XHJcbiAgICBpZiAoZS5rZXlDb2RlID09PSAxMykge1xyXG4gICAgICB0aGlzLk5pZXV3RmlsdGVyT3B0aW9uVG9ldm9lZ2VuKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cbiAgcHVibGljIE5pZXV3RmlsdGVyVG9ldm9lZ2VuKCk6IHZvaWQge1xuICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSB0cnVlO1xyXG5cclxuICAgIHZhciByZXF1ZXN0ZmlsdGVyOiBDcmVhdGVGaWx0ZXJSZXF1ZXN0ID0gbmV3IENyZWF0ZUZpbHRlclJlcXVlc3QoKTtcclxuXHJcbiAgICByZXF1ZXN0ZmlsdGVyLm5hbWUgPSB0aGlzLkZpbHRlck5hYW1OaWV1dztcclxuXHJcbiAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuY3JlYXRlRmlsdGVyKHJlcXVlc3RmaWx0ZXIpLnN1YnNjcmliZSgobW9kZWw6IENyZWF0ZUZpbHRlclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSBmYWxzZTtcclxuXHJcbiAgICAgIHZhciByZXF1ZXN0ZmlsdGVyb3B0aW9uID0gbmV3IENyZWF0ZUZpbHRlck9wdGlvblJlcXVlc3QoKTtcclxuXHJcbiAgICAgIHJlcXVlc3RmaWx0ZXJvcHRpb24uZmlsdGVySWQgPSBtb2RlbC5pZDtcclxuICAgICAgcmVxdWVzdGZpbHRlcm9wdGlvbi5uYW1lID0gdGhpcy5GaWx0ZXJPcHRpb25OYWFtTmlldXc7XHJcblxyXG4gICAgICB0aGlzLkZpbHRlcnNBcGlDbGllbnQuY3JlYXRlRmlsdGVyT3B0aW9uKHJlcXVlc3RmaWx0ZXJvcHRpb24pLnN1YnNjcmliZSgobW9kZWw6IENyZWF0ZUZpbHRlck9wdGlvblJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IGZpbHRlcjogbnVsbCwgZmlsdGVyb3B0aW9uOiBtb2RlbC5pZCB9KTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSBmYWxzZTtcclxuICAgICAgfSk7XHJcblxyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoZXJyb3Iuc3RhdHVzID09IDQwMClcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvci5qc29uKCkpO1xyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cmVkJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XG5cbiAgcHVibGljIE5pZXV3RmlsdGVyT3B0aW9uVG9ldm9lZ2VuKCk6IHZvaWQge1xuICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSB0cnVlO1xyXG5cclxuICAgIHZhciByZXF1ZXN0ZmlsdGVyb3B0aW9uID0gbmV3IENyZWF0ZUZpbHRlck9wdGlvblJlcXVlc3QoKTtcclxuXHJcbiAgICByZXF1ZXN0ZmlsdGVyb3B0aW9uLmZpbHRlcklkID0gdGhpcy5GaWx0ZXJTZWxlY3RlZDtcclxuICAgIHJlcXVlc3RmaWx0ZXJvcHRpb24ubmFtZSA9IHRoaXMuRmlsdGVyT3B0aW9uTmFhbU5pZXV3O1xyXG5cclxuICAgIHRoaXMuRmlsdGVyc0FwaUNsaWVudC5jcmVhdGVGaWx0ZXJPcHRpb24ocmVxdWVzdGZpbHRlcm9wdGlvbikuc3Vic2NyaWJlKChtb2RlbDogQ3JlYXRlRmlsdGVyT3B0aW9uUmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IGZhbHNlO1xyXG5cclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBmaWx0ZXI6IG51bGwsIGZpbHRlcm9wdGlvbjogbW9kZWwuaWQgfSk7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cblxuICBwdWJsaWMgQmVzdGFhbmRUb2V2b2VnZW4oKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBmaWx0ZXI6IG51bGwsIGZpbHRlcm9wdGlvbjogdGhpcy5GaWx0ZXJPcHRpb25TZWxlY3RlZCB9KTtcclxuICB9XG5cbiAgcHVibGljIEdldFNlbGVjdGVkRmlsdGVyc09wdGlvbnMoKTogQXJyYXk8RmlsdGVyT3B0aW9uVmlld01vZGVsPiB7XG4gICAgdmFyIGFycmF5ID0gbmV3IEFycmF5PEZpbHRlck9wdGlvblZpZXdNb2RlbD4oKTtcclxuXHJcbiAgICB2YXIgdGVtcGFycmF5ID0gdGhpcy5GaWx0ZXJzVmlld01vZGVsPy5maWx0ZXJWaWV3TW9kZWxzO1xyXG5cclxuICAgIGlmICh0ZW1wYXJyYXkgIT0gbnVsbCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRlbXBhcnJheS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmICh0ZW1wYXJyYXlbaV0uaWQgPT0gdGhpcy5GaWx0ZXJTZWxlY3RlZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRlbXBhcnJheVtpXS5maWx0ZXJPcHRpb25WaWV3TW9kZWxzIGFzIEFycmF5PEZpbHRlck9wdGlvblZpZXdNb2RlbD47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGFycmF5O1xyXG4gIH1cblxuICBwdWJsaWMgS29wcGVsTWFueU5hbWUoKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoeyBmaWx0ZXI6IHRoaXMuRmlsdGVyU2VsZWN0ZWQsIGZpbHRlcm9wdGlvbjogbnVsbCB9KTtcclxuICB9XG5cbiAgcHVibGljIExvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuTG9hZGluZ09wdGllcyB8fCB0aGlzLkxvYWRpbmdGaWx0ZXJzO1xyXG4gIH1cblxuICBwcml2YXRlIExvYWRGaWx0ZXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Mb2FkaW5nRmlsdGVycyA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5GaWx0ZXJzQXBpQ2xpZW50LmdldEZpbHRlcnNWaWV3TW9kZWwoKS5zdWJzY3JpYmUoKG1vZGVsOiBGaWx0ZXJzVmlld01vZGVsKSA9PiB7XHJcbiAgICAgIHRoaXMuRmlsdGVyc1ZpZXdNb2RlbCA9IG1vZGVsO1xyXG4gICAgICB0aGlzLkxvYWRpbmdGaWx0ZXJzID0gZmFsc2U7XHJcbiAgICB9LCAoZXJyb3I6IFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuTG9hZGluZ0ZpbHRlcnMgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cblxuICBwcml2YXRlIExvYWRPcHRpZXMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuTG9hZGluZ09wdGllcyA9IHRydWU7XHJcblxyXG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmVxdWVzdC5iY2JFaWdlbnNjaGFwT3B0aWVJZCA9IHRoaXMuQkNCRWlnZW5zY2hhcE9wdGllSWQ7XHJcbiAgICAgIHJlcXVlc3QuYmNiUHJvZHVjdElkID0gdGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbC5pZDtcclxuICAgICAgcmVxdWVzdC5sb2NhdGlvbiA9IHRoaXMuTG9jYXRpb247XHJcblxyXG4gICAgICB0aGlzLlByb2R1Y3RzQXBpQ2xpZW50LmNvbm5lY3RCQ0JFaWdlbnNjaGFwT3B0aWVGaWx0ZXJPcHRpb25QcmV2aWV3KHJlcXVlc3QpLnN1YnNjcmliZSgobW9kZWw6IENvbm5lY3RFaWdlbnNjaGFwT3B0aWVSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIHRoaXMuQ29ubmVjdEVpZ2Vuc2NoYXBPcHRpZVJlc3BvbnNlID0gbW9kZWw7XHJcbiAgICAgICAgdGhpcy5Mb2FkaW5nT3B0aWVzID0gZmFsc2U7XHJcbiAgICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgICBhbGVydChlcnJvcik7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCJMb2FkaW5nKClcIj5cclxuICA8YXBwLWZhYi1sb2FkZXI+PC9hcHAtZmFiLWxvYWRlcj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiIUxvYWRpbmcoKVwiPlxyXG4gIDxtYXQtdGFiLWdyb3VwPlxyXG4gICAgPG1hdC10YWIgbGFiZWw9XCJOaWV1d2UgZmlsdGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXJcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+RmlsdGVyPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgWyhuZ01vZGVsKV09XCJGaWx0ZXJOYWFtTmlldXdcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+T3B0aWU8L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCAoa2V5dXApPVwiaGFuZGxlS2V5VXBGaWx0ZXIoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwiRmlsdGVyT3B0aW9uTmFhbU5pZXV3XCI+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyIHRvb2wtYmFyXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiTmlldXdGaWx0ZXJUb2V2b2VnZW4oKVwiPlRvZXZvZWdlbjwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LXRhYj5cclxuICAgIDxtYXQtdGFiIGxhYmVsPVwiTmlldXdlIG9wdGllXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXJcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+RmlsdGVyPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkZpbHRlclNlbGVjdGVkXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2YgRmlsdGVyc1ZpZXdNb2RlbC5maWx0ZXJWaWV3TW9kZWxzXCIgW3ZhbHVlXT1cImZpbHRlci5pZFwiPlxyXG4gICAgICAgICAgICAgIHt7ZmlsdGVyLm5hbWV9fVxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPk9wdGllPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgKGtleXVwKT1cImhhbmRsZUtleVVwRmlsdGVyT3B0aW9uKCRldmVudClcIiBbKG5nTW9kZWwpXT1cIkZpbHRlck9wdGlvbk5hYW1OaWV1d1wiPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhciB0b29sLWJhclwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIk5pZXV3RmlsdGVyT3B0aW9uVG9ldm9lZ2VuKClcIj5Ub2V2b2VnZW48L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC10YWI+XHJcbiAgICA8bWF0LXRhYiBsYWJlbD1cIkJlc3RhYW5kXCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYmFyXCI+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPkZpbHRlcjwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJGaWx0ZXJTZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIEZpbHRlcnNWaWV3TW9kZWwuZmlsdGVyVmlld01vZGVsc1wiIFt2YWx1ZV09XCJmaWx0ZXIuaWRcIj5cclxuICAgICAgICAgICAgICB7e2ZpbHRlci5uYW1lfX1cclxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD5PcHRpZTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJGaWx0ZXJPcHRpb25TZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZmlsdGVyb3B0aW9uIG9mIEdldFNlbGVjdGVkRmlsdGVyc09wdGlvbnMoKVwiIFt2YWx1ZV09XCJmaWx0ZXJvcHRpb24uaWRcIj5cclxuICAgICAgICAgICAgICB7e2ZpbHRlcm9wdGlvbi5uYW1lfX1cclxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJhciB0b29sLWJhclwiPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkJlc3RhYW5kVG9ldm9lZ2VuKClcIj5Ub2V2b2VnZW48L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC10YWI+XHJcbiAgICA8IS0tPG1hdC10YWIgbGFiZWw9XCJNYW55IE5hbWVcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5GaWx0ZXI8L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cIkZpbHRlclNlbGVjdGVkXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIEZpbHRlcnNWaWV3TW9kZWwuZmlsdGVyVmlld01vZGVsc1wiIFt2YWx1ZV09XCJmaWx0ZXIuaWRcIj5cclxuICAgICAgICAgICAge3tmaWx0ZXIubmFtZX19XHJcbiAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuICAgICAgPGFwcC1iZWhlZXItY29ubmVjdC1tYW55bmFtZT48L2FwcC1iZWhlZXItY29ubmVjdC1tYW55bmFtZT5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJiYXIgdG9vbC1iYXJcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJLb3BwZWxNYW55TmFtZSgpXCI+S29wcGVsPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtdGFiPi0tPlxyXG4gIDwvbWF0LXRhYi1ncm91cD5cclxuXHJcbiAgPGRpdiBjbGFzcz1cIm9wdGlvbnMtY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBsb2NhdGlvbiBvZiBDb25uZWN0RWlnZW5zY2hhcE9wdGllUmVzcG9uc2UubG9jYXRpb25zXCI+XHJcbiAgICAgIDxiPnt7IGxvY2F0aW9uLmxvY2F0aW9uIH19PC9iPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlYm8gb2YgbG9jYXRpb24uZWJvc1wiPlxyXG4gICAgICAgIHt7IGVibyB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -7,21 +7,22 @@ import * as i4 from "@angular/forms";
|
|
|
7
7
|
import * as i5 from "@angular/material/button";
|
|
8
8
|
import * as i6 from "@angular/material/card";
|
|
9
9
|
export class BeheerProductsProductComponent {
|
|
10
|
-
constructor(ProductsService) {
|
|
10
|
+
constructor(ProductsService, ChangeDetectorRef) {
|
|
11
11
|
this.ProductsService = ProductsService;
|
|
12
|
+
this.ChangeDetectorRef = ChangeDetectorRef;
|
|
12
13
|
}
|
|
13
14
|
ResetImport() {
|
|
14
|
-
this.ProductsService.ResetImport(this.ProductViewModel.id, -1);
|
|
15
|
+
this.ProductsService.ResetImport(this.ProductViewModel.id, -1, this.ChangeDetectorRef);
|
|
15
16
|
}
|
|
16
17
|
ngOnInit() {
|
|
17
18
|
}
|
|
18
19
|
}
|
|
19
|
-
BeheerProductsProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsProductComponent, deps: [{ token: i1.ProductsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
BeheerProductsProductComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsProductComponent, deps: [{ token: i1.ProductsService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
20
21
|
BeheerProductsProductComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsProductComponent, selector: "app-beheer-products-product", inputs: { ProductViewModel: "ProductViewModel" }, ngImport: i0, template: "<mat-card>\r\n <div class=\"product-bar\">\r\n <div class=\"product-first block\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"ProductViewModel.name\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button [disabled]=\"true\">\r\n Opslaan\r\n </button>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button [disabled]=\"true\">\r\n Verwijderen\r\n </button>\r\n </div>\r\n </div>\r\n</mat-card>\r\n\r\n", styles: [".product-bar{display:flex}.product-first{flex:auto}.full-width{width:100%}.block{padding:3px}\n"], dependencies: [{ kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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.MatCard, selector: "mat-card", exportAs: ["matCard"] }] });
|
|
21
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsProductComponent, decorators: [{
|
|
22
23
|
type: Component,
|
|
23
24
|
args: [{ selector: 'app-beheer-products-product', template: "<mat-card>\r\n <div class=\"product-bar\">\r\n <div class=\"product-first block\">\r\n <mat-form-field appearance=\"fill\" class=\"full-width\">\r\n <mat-label>Naam</mat-label>\r\n <input matInput [(ngModel)]=\"ProductViewModel.name\">\r\n </mat-form-field>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button [disabled]=\"true\">\r\n Opslaan\r\n </button>\r\n </div>\r\n <div class=\"block\">\r\n <button mat-raised-button [disabled]=\"true\">\r\n Verwijderen\r\n </button>\r\n </div>\r\n </div>\r\n</mat-card>\r\n\r\n", styles: [".product-bar{display:flex}.product-first{flex:auto}.full-width{width:100%}.block{padding:3px}\n"] }]
|
|
24
|
-
}], ctorParameters: function () { return [{ type: i1.ProductsService }]; }, propDecorators: { ProductViewModel: [{
|
|
25
|
+
}], ctorParameters: function () { return [{ type: i1.ProductsService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { ProductViewModel: [{
|
|
25
26
|
type: Input
|
|
26
27
|
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLXByb2R1Y3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLXByb2R1Y3QvYmVoZWVyLXByb2R1Y3RzLXByb2R1Y3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9iZWhlZXIvY29tcG9uZW50cy9iZWhlZXItcHJvZHVjdHMvYmVoZWVyLXByb2R1Y3RzLXByb2R1Y3QvYmVoZWVyLXByb2R1Y3RzLXByb2R1Y3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVM1RSxNQUFNLE9BQU8sOEJBQThCO0lBSXpDLFlBQW1CLGVBQWdDLEVBQVUsaUJBQW9DO1FBQTlFLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7SUFBSSxDQUFDO0lBRS9GLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7OzJIQVhVLDhCQUE4QjsrR0FBOUIsOEJBQThCLHFIQ1QzQywwdkJBMEJBOzJGRGpCYSw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsNkJBQTZCO3NJQU05QixnQkFBZ0I7c0JBQXhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvZHVjdFZpZXdNb2RlbCB9IGZyb20gJy4uLy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMtcHJvZHVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItcHJvZHVjdHMtcHJvZHVjdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy1wcm9kdWN0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQmVoZWVyUHJvZHVjdHNQcm9kdWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBQcm9kdWN0Vmlld01vZGVsOiBQcm9kdWN0Vmlld01vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBQcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSwgcHJpdmF0ZSBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIHB1YmxpYyBSZXNldEltcG9ydCgpOiB2b2lkIHtcbiAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5SZXNldEltcG9ydCh0aGlzLlByb2R1Y3RWaWV3TW9kZWwuaWQsIC0xLCB0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxufVxuIiwiPG1hdC1jYXJkPlxyXG4gIDxkaXYgY2xhc3M9XCJwcm9kdWN0LWJhclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInByb2R1Y3QtZmlyc3QgYmxvY2tcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCIgY2xhc3M9XCJmdWxsLXdpZHRoXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5OYWFtPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IG1hdElucHV0IFsobmdNb2RlbCldPVwiUHJvZHVjdFZpZXdNb2RlbC5uYW1lXCI+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJibG9ja1wiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJSZXNldEltcG9ydCgpXCI+XHJcbiAgICAgICAgUmVzZXQgSW1wb3J0XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiYmxvY2tcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBbZGlzYWJsZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgIE9wc2xhYW5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJibG9ja1wiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIFtkaXNhYmxlZF09XCJ0cnVlXCI+XHJcbiAgICAgICAgVmVyd2lqZGVyZW5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9tYXQtY2FyZD5cclxuXHJcbiJdfQ==
|
|
@@ -24,7 +24,7 @@ export class BeheerProductsComponent {
|
|
|
24
24
|
this.BCBImportSetsViewModel = undefined;
|
|
25
25
|
}
|
|
26
26
|
ngOnInit() {
|
|
27
|
-
this.
|
|
27
|
+
this.ImportSetsService.LoadImportSets(this.ChangeDetectorRef);
|
|
28
28
|
}
|
|
29
29
|
Import() {
|
|
30
30
|
var products = this.ProductsService.ProductsViewModel?.productViewModels;
|
|
@@ -58,7 +58,7 @@ export class BeheerProductsComponent {
|
|
|
58
58
|
this.ImportBCBProduct(next);
|
|
59
59
|
}
|
|
60
60
|
else {
|
|
61
|
-
this.ProductsService.Reload();
|
|
61
|
+
this.ProductsService.Reload(this.ChangeDetectorRef);
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
}, (error) => {
|
|
@@ -72,7 +72,7 @@ export class BeheerProductsComponent {
|
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
ResetImport() {
|
|
75
|
-
this.ProductsService.ResetImport(-1, -1);
|
|
75
|
+
this.ProductsService.ResetImport(-1, -1, this.ChangeDetectorRef);
|
|
76
76
|
}
|
|
77
77
|
CleanUp() {
|
|
78
78
|
this.ProductsService.CleanUp();
|
|
@@ -90,7 +90,7 @@ export class BeheerProductsComponent {
|
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
SaveProduct(product) {
|
|
93
|
-
this.ProductsService.SaveProductViewModel(product);
|
|
93
|
+
this.ProductsService.SaveProductViewModel(product, this.ChangeDetectorRef);
|
|
94
94
|
}
|
|
95
95
|
SelectBCBProduct(bcbproduct) {
|
|
96
96
|
if (this.ProductsService.BCBProductViewModel != bcbproduct) {
|
|
@@ -143,9 +143,9 @@ export class BeheerProductsComponent {
|
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
BeheerProductsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsComponent, deps: [{ token: i1.ProductsService }, { token: i2.ImportSetsService }, { token: i3.ImportApiClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
146
|
-
BeheerProductsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsComponent, selector: "app-beheer-products", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"ProductsService.Loading() || ImportSetsService.LoadingImportSets\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!ProductsService.Loading() && !ImportSetsService.LoadingImportSets\" class=\"main-block\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"displayflex\">\r\n <div class=\"displayflex\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n </div>\r\n\r\n <div>\r\n <button mat-raised-button (click)=\"ProductsService.Reload()\">\r\n Refresh\r\n </button>\r\n </div>\r\n\r\n <div class=\"flex-auto\" style=\"text-align: right;\">\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n <button mat-raised-button (click)=\"CleanUp()\">\r\n CleanUp\r\n </button>\r\n </div>\r\n </div>\r\n \r\n\r\n \r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div class=\"displayflex\" *ngIf=\"this.ProductsService.ProductsViewModel != undefined\">\r\n <div class=\"tree-block\">\r\n <div class=\"limiter\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <tr class=\"table-head\">\r\n <td></td>\r\n <td>Id</td>\r\n <td>Naam</td>\r\n <td>Variants</td>\r\n <td>Importset</td>\r\n </tr>\r\n <ng-container *ngFor=\"let product of this.ProductsService.ProductsViewModel.productViewModels\">\r\n <tr (click)=\"SelectProduct(product)\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.ProductViewModel == product, 'warning': !product.imported || !product.connected}\">\r\n <td><span class=\"importspan\">{{ GetImportStatus(product) }}</span></td>\r\n <td>{{ product.id }}</td>\r\n <td>{{ product.name }}</td>\r\n <td>{{ product.bcbProductViewModels.length }}</td>\r\n <td>\r\n <select [(ngModel)]=\"product.importSetId\" (change)=\"SaveProduct(product)\" class=\"full-width\">\r\n <option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">{{importset.name}}</option>\r\n </select>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"ShowBCBProducts(product)\">\r\n <tr>\r\n <td> </td>\r\n </tr>\r\n <tr *ngFor=\"let bcbproduct of ProductsService.ProductViewModel.bcbProductViewModels\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.BCBProductViewModel == bcbproduct, 'warning': !bcbproduct.imported || !bcbproduct.connected}\" (click)=\"SelectBCBProduct(bcbproduct)\">\r\n <td><span class=\"importspan\">{{ bcbproduct.importStatus }}</span></td>\r\n <td>{{ bcbproduct.id }}</td>\r\n <td colspan=\"3\">{{ bcbproduct.name }}</td>\r\n </tr>\r\n <tr>\r\n <td> </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"main-content\">\r\n <div class=\"limiter\">\r\n <app-beheer-products-product *ngIf=\"ProductsService.ProductViewModel != undefined && ProductsService.BCBProductViewModel == undefined\" [ProductViewModel]=\"ProductsService.ProductViewModel\"></app-beheer-products-product>\r\n <app-beheer-products-bcbproduct *ngIf=\"ProductsService.BCBProductViewModel != undefined\" [BCBProductViewModel]=\"ProductsService.BCBProductViewModel\"></app-beheer-products-bcbproduct>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".full-width{width:100%}.full-height{height:100%}.table-head td{font-weight:700;border-bottom:2px solid #000}.table-row td{border-bottom:1px solid #000;cursor:pointer}.warning{background-color:#f08080}.table-row:hover{background-color:#d3d3d3}.limiter{max-height:calc(100vh -
|
|
146
|
+
BeheerProductsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: BeheerProductsComponent, selector: "app-beheer-products", ngImport: i0, template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"ProductsService.Loading() || ImportSetsService.LoadingImportSets\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!ProductsService.Loading() && !ImportSetsService.LoadingImportSets\" class=\"main-block\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"displayflex\">\r\n <div class=\"displayflex\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n </div>\r\n\r\n <div>\r\n <button mat-raised-button (click)=\"ProductsService.Reload(this.ChangeDetectorRef)\">\r\n Refresh\r\n </button>\r\n </div>\r\n\r\n <div class=\"flex-auto\" style=\"text-align: right;\">\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n <button mat-raised-button (click)=\"CleanUp()\">\r\n CleanUp\r\n </button>\r\n </div>\r\n </div>\r\n \r\n\r\n \r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div class=\"displayflex\" *ngIf=\"this.ProductsService.ProductsViewModel != undefined\">\r\n <div class=\"tree-block\">\r\n <div class=\"limiter\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <tr class=\"table-head\">\r\n <td></td>\r\n <td>Id</td>\r\n <td>Naam</td>\r\n <td>Variants</td>\r\n <td>Importset</td>\r\n </tr>\r\n <ng-container *ngFor=\"let product of this.ProductsService.ProductsViewModel.productViewModels\">\r\n <tr (click)=\"SelectProduct(product)\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.ProductViewModel == product, 'warning': !product.imported || !product.connected}\">\r\n <td><span class=\"importspan\">{{ GetImportStatus(product) }}</span></td>\r\n <td>{{ product.id }}</td>\r\n <td>{{ product.name }}</td>\r\n <td>{{ product.bcbProductViewModels.length }}</td>\r\n <td>\r\n <select [(ngModel)]=\"product.importSetId\" (change)=\"SaveProduct(product)\" class=\"full-width\">\r\n <option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">{{importset.name}}</option>\r\n </select>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"ShowBCBProducts(product)\">\r\n <tr>\r\n <td> </td>\r\n </tr>\r\n <tr *ngFor=\"let bcbproduct of ProductsService.ProductViewModel.bcbProductViewModels\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.BCBProductViewModel == bcbproduct, 'warning': !bcbproduct.imported || !bcbproduct.connected}\" (click)=\"SelectBCBProduct(bcbproduct)\">\r\n <td><span class=\"importspan\">{{ bcbproduct.importStatus }}</span></td>\r\n <td>{{ bcbproduct.id }}</td>\r\n <td colspan=\"3\">{{ bcbproduct.name }}</td>\r\n </tr>\r\n <tr>\r\n <td> </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"main-content\">\r\n <div class=\"limiter\">\r\n <app-beheer-products-product *ngIf=\"ProductsService.ProductViewModel != undefined && ProductsService.BCBProductViewModel == undefined\" [ProductViewModel]=\"ProductsService.ProductViewModel\"></app-beheer-products-product>\r\n <app-beheer-products-bcbproduct *ngIf=\"ProductsService.BCBProductViewModel != undefined\" [BCBProductViewModel]=\"ProductsService.BCBProductViewModel\"></app-beheer-products-bcbproduct>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".full-width{width:100%}.full-height{height:100%}.table-head td{font-weight:700;border-bottom:2px solid #000}.table-row td{border-bottom:1px solid #000;cursor:pointer}.warning{background-color:#f08080}.table-row:hover{background-color:#d3d3d3}.limiter{max-height:calc(100vh - 179px);overflow:auto}.selected{background-color:#add8e6!important}.importspan{margin-left:5px;font-weight:700}.main-block{padding:10px;height:calc(100vh - 66px);overflow:auto}.main-content{padding:5px;flex:auto;width:50%}.tree-block{padding:5px;flex:auto;width:50%;max-height:calc(100vh - 66px)}.example-tree-invisible{display:none}.example-tree ul,.example-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.example-tree .mat-nested-tree-node div[role=group]{padding-left:40px}.example-tree div[role=group]>.mat-tree-node{padding-left:40px}.displayflex{display:flex}.flex-auto{flex:auto}\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.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.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: i8.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "component", type: i9.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i10.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i11.BeheerNavComponent, selector: "app-beheer-nav" }, { kind: "component", type: i12.FabLoaderComponent, selector: "app-fab-loader" }, { kind: "component", type: i13.BeheerProductsProductComponent, selector: "app-beheer-products-product", inputs: ["ProductViewModel"] }, { kind: "component", type: i14.BeheerProductsBcbproductComponent, selector: "app-beheer-products-bcbproduct", inputs: ["BCBProductViewModel"] }] });
|
|
147
147
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: BeheerProductsComponent, decorators: [{
|
|
148
148
|
type: Component,
|
|
149
|
-
args: [{ selector: 'app-beheer-products', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"ProductsService.Loading() || ImportSetsService.LoadingImportSets\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!ProductsService.Loading() && !ImportSetsService.LoadingImportSets\" class=\"main-block\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"displayflex\">\r\n <div class=\"displayflex\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n </div>\r\n\r\n <div>\r\n <button mat-raised-button (click)=\"ProductsService.Reload()\">\r\n Refresh\r\n </button>\r\n </div>\r\n\r\n <div class=\"flex-auto\" style=\"text-align: right;\">\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n <button mat-raised-button (click)=\"CleanUp()\">\r\n CleanUp\r\n </button>\r\n </div>\r\n </div>\r\n \r\n\r\n \r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div class=\"displayflex\" *ngIf=\"this.ProductsService.ProductsViewModel != undefined\">\r\n <div class=\"tree-block\">\r\n <div class=\"limiter\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <tr class=\"table-head\">\r\n <td></td>\r\n <td>Id</td>\r\n <td>Naam</td>\r\n <td>Variants</td>\r\n <td>Importset</td>\r\n </tr>\r\n <ng-container *ngFor=\"let product of this.ProductsService.ProductsViewModel.productViewModels\">\r\n <tr (click)=\"SelectProduct(product)\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.ProductViewModel == product, 'warning': !product.imported || !product.connected}\">\r\n <td><span class=\"importspan\">{{ GetImportStatus(product) }}</span></td>\r\n <td>{{ product.id }}</td>\r\n <td>{{ product.name }}</td>\r\n <td>{{ product.bcbProductViewModels.length }}</td>\r\n <td>\r\n <select [(ngModel)]=\"product.importSetId\" (change)=\"SaveProduct(product)\" class=\"full-width\">\r\n <option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">{{importset.name}}</option>\r\n </select>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"ShowBCBProducts(product)\">\r\n <tr>\r\n <td> </td>\r\n </tr>\r\n <tr *ngFor=\"let bcbproduct of ProductsService.ProductViewModel.bcbProductViewModels\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.BCBProductViewModel == bcbproduct, 'warning': !bcbproduct.imported || !bcbproduct.connected}\" (click)=\"SelectBCBProduct(bcbproduct)\">\r\n <td><span class=\"importspan\">{{ bcbproduct.importStatus }}</span></td>\r\n <td>{{ bcbproduct.id }}</td>\r\n <td colspan=\"3\">{{ bcbproduct.name }}</td>\r\n </tr>\r\n <tr>\r\n <td> </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"main-content\">\r\n <div class=\"limiter\">\r\n <app-beheer-products-product *ngIf=\"ProductsService.ProductViewModel != undefined && ProductsService.BCBProductViewModel == undefined\" [ProductViewModel]=\"ProductsService.ProductViewModel\"></app-beheer-products-product>\r\n <app-beheer-products-bcbproduct *ngIf=\"ProductsService.BCBProductViewModel != undefined\" [BCBProductViewModel]=\"ProductsService.BCBProductViewModel\"></app-beheer-products-bcbproduct>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".full-width{width:100%}.full-height{height:100%}.table-head td{font-weight:700;border-bottom:2px solid #000}.table-row td{border-bottom:1px solid #000;cursor:pointer}.warning{background-color:#f08080}.table-row:hover{background-color:#d3d3d3}.limiter{max-height:calc(100vh -
|
|
149
|
+
args: [{ selector: 'app-beheer-products', template: "<app-beheer-nav></app-beheer-nav>\r\n\r\n<div *ngIf=\"ProductsService.Loading() || ImportSetsService.LoadingImportSets\">\r\n <app-fab-loader></app-fab-loader>\r\n</div>\r\n<div *ngIf=\"!ProductsService.Loading() && !ImportSetsService.LoadingImportSets\" class=\"main-block\">\r\n <mat-card>\r\n <mat-card-content>\r\n <div class=\"displayflex\">\r\n <div class=\"displayflex\">\r\n <mat-form-field appearance=\"fill\">\r\n <mat-label>Import set</mat-label>\r\n <mat-select [(ngModel)]=\"ImportSetsService.BCBImportSetSelected\">\r\n <mat-option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">\r\n {{importset.name}}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n \r\n </div>\r\n\r\n <div>\r\n <button mat-raised-button (click)=\"ProductsService.Reload(this.ChangeDetectorRef)\">\r\n Refresh\r\n </button>\r\n </div>\r\n\r\n <div class=\"flex-auto\" style=\"text-align: right;\">\r\n <button mat-raised-button (click)=\"ResetImport()\">\r\n Reset Import\r\n </button>\r\n <button mat-raised-button (click)=\"Import()\">\r\n Import\r\n </button>\r\n <button mat-raised-button (click)=\"CleanUp()\">\r\n CleanUp\r\n </button>\r\n </div>\r\n </div>\r\n \r\n\r\n \r\n </mat-card-content>\r\n </mat-card>\r\n\r\n <div class=\"displayflex\" *ngIf=\"this.ProductsService.ProductsViewModel != undefined\">\r\n <div class=\"tree-block\">\r\n <div class=\"limiter\">\r\n <mat-card>\r\n <mat-card-content>\r\n <table class=\"full-width\">\r\n <tr class=\"table-head\">\r\n <td></td>\r\n <td>Id</td>\r\n <td>Naam</td>\r\n <td>Variants</td>\r\n <td>Importset</td>\r\n </tr>\r\n <ng-container *ngFor=\"let product of this.ProductsService.ProductsViewModel.productViewModels\">\r\n <tr (click)=\"SelectProduct(product)\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.ProductViewModel == product, 'warning': !product.imported || !product.connected}\">\r\n <td><span class=\"importspan\">{{ GetImportStatus(product) }}</span></td>\r\n <td>{{ product.id }}</td>\r\n <td>{{ product.name }}</td>\r\n <td>{{ product.bcbProductViewModels.length }}</td>\r\n <td>\r\n <select [(ngModel)]=\"product.importSetId\" (change)=\"SaveProduct(product)\" class=\"full-width\">\r\n <option *ngFor=\"let importset of ImportSetsService.BCBImportSetsViewModel.bcbImportSetViewModels\" [value]=\"importset.id\">{{importset.name}}</option>\r\n </select>\r\n </td>\r\n </tr>\r\n <ng-container *ngIf=\"ShowBCBProducts(product)\">\r\n <tr>\r\n <td> </td>\r\n </tr>\r\n <tr *ngFor=\"let bcbproduct of ProductsService.ProductViewModel.bcbProductViewModels\" class=\"table-row\" [ngClass]=\"{'selected' : ProductsService.BCBProductViewModel == bcbproduct, 'warning': !bcbproduct.imported || !bcbproduct.connected}\" (click)=\"SelectBCBProduct(bcbproduct)\">\r\n <td><span class=\"importspan\">{{ bcbproduct.importStatus }}</span></td>\r\n <td>{{ bcbproduct.id }}</td>\r\n <td colspan=\"3\">{{ bcbproduct.name }}</td>\r\n </tr>\r\n <tr>\r\n <td> </td>\r\n </tr>\r\n </ng-container>\r\n </ng-container>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n </div>\r\n </div>\r\n\r\n <div class=\"main-content\">\r\n <div class=\"limiter\">\r\n <app-beheer-products-product *ngIf=\"ProductsService.ProductViewModel != undefined && ProductsService.BCBProductViewModel == undefined\" [ProductViewModel]=\"ProductsService.ProductViewModel\"></app-beheer-products-product>\r\n <app-beheer-products-bcbproduct *ngIf=\"ProductsService.BCBProductViewModel != undefined\" [BCBProductViewModel]=\"ProductsService.BCBProductViewModel\"></app-beheer-products-bcbproduct>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", styles: [".full-width{width:100%}.full-height{height:100%}.table-head td{font-weight:700;border-bottom:2px solid #000}.table-row td{border-bottom:1px solid #000;cursor:pointer}.warning{background-color:#f08080}.table-row:hover{background-color:#d3d3d3}.limiter{max-height:calc(100vh - 179px);overflow:auto}.selected{background-color:#add8e6!important}.importspan{margin-left:5px;font-weight:700}.main-block{padding:10px;height:calc(100vh - 66px);overflow:auto}.main-content{padding:5px;flex:auto;width:50%}.tree-block{padding:5px;flex:auto;width:50%;max-height:calc(100vh - 66px)}.example-tree-invisible{display:none}.example-tree ul,.example-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.example-tree .mat-nested-tree-node div[role=group]{padding-left:40px}.example-tree div[role=group]>.mat-tree-node{padding-left:40px}.displayflex{display:flex}.flex-auto{flex:auto}\n"] }]
|
|
150
150
|
}], ctorParameters: function () { return [{ type: i1.ProductsService }, { type: i2.ImportSetsService }, { type: i3.ImportApiClient }, { type: i0.ChangeDetectorRef }]; } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJckUsT0FBTyxFQUErRSx1QkFBdUIsRUFBcUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQU96TixNQUFNLE9BQU8sdUJBQXVCO0lBS2xDLFlBQW1CLGVBQWdDLEVBQVMsaUJBQW9DLEVBQVUsZUFBZ0MsRUFBVSxpQkFBb0M7UUFBckssb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQVMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFVLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFGakwsMkJBQXNCLEdBQTRCLFNBQVMsQ0FBQztJQUluRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDO1FBRXpFLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMzQyxLQUFLLElBQUks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QUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7YUFDekM7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVNLGlCQUFpQixDQUFDLFVBQStCO1FBQ3RELElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLENBQUM7UUFDekUsSUFBSSxJQUFJLEdBQXdCLFVBQVUsQ0FBQztRQUMzQyxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbEIsSUFBSSxRQUFRLElBQUksSUFBSSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN4QyxJQUFJLFdBQVcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUM7Z0JBRW5ELElBQUksV0FBVyxJQUFJLElBQUksRUFBRTtvQkFDdkIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7d0JBQzNDLElBQUksS0FBSyxFQUFFOzRCQUNULE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO3lCQUN2Qjt3QkFFRCxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUU7NEJBQ2hDLEtBQUssR0FBRyxJQUFJLENBQUM7eUJBQ2Q7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztvSEE1SlUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsMkRDWHBDLDgrSUFtR0E7MkZEeEZhLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0aW9uTGlzdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW1wb3J0U2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbXBvcnRzZXRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c0FwaUNsaWVudCwgUHJvZHVjdHNWaWV3TW9kZWwsIEJDQlByb2R1Y3RWaWV3TW9kZWwsIFByb2R1Y3RWaWV3TW9kZWwsIEJDQkltcG9ydFByb2R1Y3RSZXF1ZXN0LCBCQ0JJbXBvcnRQcm9kdWN0UmVzcG9uc2UsIEltcG9ydEFwaUNsaWVudCwgQkNCSW1wb3J0U2V0c1ZpZXdNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItcHJvZHVjdHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZWhlZXJQcm9kdWN0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG5cclxuICBwdWJsaWMgQkNCSW1wb3J0U2V0c1ZpZXdNb2RlbD86IEJDQkltcG9ydFNldHNWaWV3TW9kZWwgPSB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBQcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSwgcHVibGljIEltcG9ydFNldHNTZXJ2aWNlOiBJbXBvcnRTZXRzU2VydmljZSwgcHJpdmF0ZSBJbXBvcnRBcGlDbGllbnQ6IEltcG9ydEFwaUNsaWVudCwgcHJpdmF0ZSBDaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLlJlbG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEltcG9ydCgpOiB2b2lkIHtcclxuICAgIHZhciBwcm9kdWN0cyA9IHRoaXMuUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RzVmlld01vZGVsPy5wcm9kdWN0Vmlld01vZGVscztcclxuXHJcbiAgICBpZiAocHJvZHVjdHMgIT0gbnVsbCAmJiBwcm9kdWN0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvZHVjdHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICB2YXIgYmNicHJvZHVjdHMgPSBwcm9kdWN0c1tpXS5iY2JQcm9kdWN0Vmlld01vZGVscztcclxuXHJcbiAgICAgICAgaWYgKGJjYnByb2R1Y3RzICE9IG51bGwpIHtcclxuICAgICAgICAgIHByb2R1Y3RzW2ldLmltcG9ydFN0YXR1cyA9IFwiMC9cIiArIGJjYnByb2R1Y3RzLmxlbmd0aDtcclxuXHJcbiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGJjYnByb2R1Y3RzLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgIGJjYnByb2R1Y3RzW2pdLmltcG9ydFN0YXR1cyA9IFwiWFwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgdmFyIGJjYnByb2R1Y3RzID0gcHJvZHVjdHNbMF0uYmNiUHJvZHVjdFZpZXdNb2RlbHM7XHJcblxyXG4gICAgICBpZiAoYmNicHJvZHVjdHMgIT0gbnVsbCAmJiBiY2Jwcm9kdWN0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5JbXBvcnRCQ0JQcm9kdWN0KGJjYnByb2R1Y3RzWzBdKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIEltcG9ydEJDQlByb2R1Y3QoYmNicHJvZHVjdDogQkNCUHJvZHVjdFZpZXdNb2RlbCk6IHZvaWQge1xyXG4gICAgdmFyIHJlcXVlc3QgPSBuZXcgQkNCSW1wb3J0UHJvZHVjdFJlcXVlc3QoKTtcclxuXHJcbiAgICByZXF1ZXN0LmJjYlByb2R1Y3RJZCA9IGJjYnByb2R1Y3QuaWQ7XHJcblxyXG4gICAgdGhpcy5JbXBvcnRBcGlDbGllbnQuaW1wb3J0QkNCUHJvZHVjdChyZXF1ZXN0KS5zdWJzY3JpYmUoKG1vZGVsOiBCQ0JJbXBvcnRQcm9kdWN0UmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYgKCFtb2RlbC5zdWNjZXNzKSB7XHJcbiAgICAgICAgYWxlcnQobW9kZWwubWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgYmNicHJvZHVjdC5pbXBvcnRTdGF0dXMgPSBcIlZcIjtcclxuXHJcbiAgICAgICAgdmFyIG5leHQgPSB0aGlzLkdldE5leHRCQ0JQcm9kdWN0KGJjYnByb2R1Y3QpO1xyXG5cclxuICAgICAgICBpZiAobmV4dC5pbXBvcnRTdGF0dXMgPT0gXCJYXCIpIHtcclxuICAgICAgICAgIHRoaXMuSW1wb3J0QkNCUHJvZHVjdChuZXh0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5SZWxvYWQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0sIChlcnJvcjogUmVzcG9uc2UpID0+IHtcclxuICAgICAgYWxlcnQoXCJpbXBvcnQgZmFpbGVkIGZvciBpZDogXCIgKyBiY2Jwcm9kdWN0LmlkKTtcclxuXHJcbiAgICAgIGlmIChlcnJvci5zdGF0dXMgPT0gNDAwKVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yLmpzb24oKSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFJlc2V0SW1wb3J0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuUmVzZXRJbXBvcnQoLTEsIC0xKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBDbGVhblVwKCk6IHZvaWQge1xyXG4gICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuQ2xlYW5VcCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNob3dCQ0JQcm9kdWN0cyhwcm9kdWN0OiBQcm9kdWN0Vmlld01vZGVsKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5Qcm9kdWN0c1NlcnZpY2UuUHJvZHVjdFZpZXdNb2RlbCA9PSBwcm9kdWN0KSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZWxlY3RQcm9kdWN0KHByb2R1Y3Q6IFByb2R1Y3RWaWV3TW9kZWwpIHtcclxuICAgIGlmICh0aGlzLlByb2R1Y3RzU2VydmljZS5Qcm9kdWN0Vmlld01vZGVsICE9IHByb2R1Y3QpIHtcclxuICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuUHJvZHVjdFZpZXdNb2RlbCA9IHByb2R1Y3Q7XHJcbiAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2F2ZVByb2R1Y3QocHJvZHVjdDogUHJvZHVjdFZpZXdNb2RlbCkge1xyXG4gICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuU2F2ZVByb2R1Y3RWaWV3TW9kZWwocHJvZHVjdCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2VsZWN0QkNCUHJvZHVjdChiY2Jwcm9kdWN0OiBCQ0JQcm9kdWN0Vmlld01vZGVsKSB7XHJcbiAgICBpZiAodGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbCAhPSBiY2Jwcm9kdWN0KSB7XHJcbiAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgPSBiY2Jwcm9kdWN0O1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0SW1wb3J0U3RhdHVzKHByb2R1Y3Q6IFByb2R1Y3RWaWV3TW9kZWwpOiBzdHJpbmcge1xyXG4gICAgdmFyIHRleHQgPSBcIlwiO1xyXG4gICAgdmFyIGFjdGl2ZSA9IGZhbHNlO1xyXG5cclxuICAgIHZhciBiY2Jwcm9kdWN0cyA9IHByb2R1Y3QuYmNiUHJvZHVjdFZpZXdNb2RlbHM7XHJcbiAgICBpZiAoYmNicHJvZHVjdHMgIT0gbnVsbCAmJiBiY2Jwcm9kdWN0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHZhciBjb3VudCA9IDA7XHJcblxyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJjYnByb2R1Y3RzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgaWYgKGJjYnByb2R1Y3RzW2ldLmltcG9ydFN0YXR1cyAhPSBcIlwiKSB7XHJcbiAgICAgICAgICBhY3RpdmUgPSB0cnVlO1xyXG5cclxuICAgICAgICAgIGlmIChiY2Jwcm9kdWN0c1tpXS5pbXBvcnRTdGF0dXMgIT0gXCJYXCIpIHtcclxuICAgICAgICAgICAgY291bnQrKztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChhY3RpdmUpIHtcclxuICAgICAgICB0ZXh0ID0gY291bnQgKyBcIi9cIiArIGJjYnByb2R1Y3RzLmxlbmd0aDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0ZXh0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIEdldE5leHRCQ0JQcm9kdWN0KGJjYnByb2R1Y3Q6IEJDQlByb2R1Y3RWaWV3TW9kZWwpOiBCQ0JQcm9kdWN0Vmlld01vZGVsIHtcclxuICAgIHZhciBwcm9kdWN0cyA9IHRoaXMuUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RzVmlld01vZGVsPy5wcm9kdWN0Vmlld01vZGVscztcclxuICAgIHZhciBuZXh0OiBCQ0JQcm9kdWN0Vmlld01vZGVsID0gYmNicHJvZHVjdDtcclxuICAgIHZhciBmb3VuZCA9IGZhbHNlO1xyXG5cclxuICAgIGlmIChwcm9kdWN0cyAhPSBudWxsICYmIHByb2R1Y3RzLmxlbmd0aCA+IDApIHtcclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9kdWN0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIHZhciBiY2Jwcm9kdWN0cyA9IHByb2R1Y3RzW2ldLmJjYlByb2R1Y3RWaWV3TW9kZWxzO1xyXG5cclxuICAgICAgICBpZiAoYmNicHJvZHVjdHMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBiY2Jwcm9kdWN0cy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICBpZiAoZm91bmQpIHtcclxuICAgICAgICAgICAgICByZXR1cm4gYmNicHJvZHVjdHNbal07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChiY2Jwcm9kdWN0c1tqXSA9PSBiY2Jwcm9kdWN0KSB7XHJcbiAgICAgICAgICAgICAgZm91bmQgPSB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5leHQ7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtYmVoZWVyLW5hdj48L2FwcC1iZWhlZXItbmF2PlxyXG5cclxuPGRpdiAqbmdJZj1cIlByb2R1Y3RzU2VydmljZS5Mb2FkaW5nKCkgfHwgSW1wb3J0U2V0c1NlcnZpY2UuTG9hZGluZ0ltcG9ydFNldHNcIj5cclxuICA8YXBwLWZhYi1sb2FkZXI+PC9hcHAtZmFiLWxvYWRlcj5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCIhUHJvZHVjdHNTZXJ2aWNlLkxvYWRpbmcoKSAmJiAhSW1wb3J0U2V0c1NlcnZpY2UuTG9hZGluZ0ltcG9ydFNldHNcIiBjbGFzcz1cIm1haW4tYmxvY2tcIj5cclxuICA8bWF0LWNhcmQ+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4XCI+XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cclxuICAgICAgICAgICAgPG1hdC1sYWJlbD5JbXBvcnQgc2V0PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgIDxtYXQtc2VsZWN0IFsobmdNb2RlbCldPVwiSW1wb3J0U2V0c1NlcnZpY2UuQkNCSW1wb3J0U2V0U2VsZWN0ZWRcIj5cclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgaW1wb3J0c2V0IG9mIEltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldHNWaWV3TW9kZWwuYmNiSW1wb3J0U2V0Vmlld01vZGVsc1wiIFt2YWx1ZV09XCJpbXBvcnRzZXQuaWRcIj5cclxuICAgICAgICAgICAgICAgIHt7aW1wb3J0c2V0Lm5hbWV9fVxyXG4gICAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJQcm9kdWN0c1NlcnZpY2UuUmVsb2FkKClcIj5cclxuICAgICAgICAgICAgUmVmcmVzaFxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWF1dG9cIiBzdHlsZT1cInRleHQtYWxpZ246IHJpZ2h0O1wiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVzZXRJbXBvcnQoKVwiPlxyXG4gICAgICAgICAgICBSZXNldCBJbXBvcnRcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiSW1wb3J0KClcIj5cclxuICAgICAgICAgICAgSW1wb3J0XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkNsZWFuVXAoKVwiPlxyXG4gICAgICAgICAgICBDbGVhblVwXHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIFxyXG5cclxuICAgICAgXHJcbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgPC9tYXQtY2FyZD5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4XCIgKm5nSWY9XCJ0aGlzLlByb2R1Y3RzU2VydmljZS5Qcm9kdWN0c1ZpZXdNb2RlbCAhPSB1bmRlZmluZWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0cmVlLWJsb2NrXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsaW1pdGVyXCI+XHJcbiAgICAgICAgPG1hdC1jYXJkPlxyXG4gICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJ0YWJsZS1oZWFkXCI+XHJcbiAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZD5JZDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+TmFhbTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+VmFyaWFudHM8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkPkltcG9ydHNldDwvdGQ+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RzVmlld01vZGVsLnByb2R1Y3RWaWV3TW9kZWxzXCI+XHJcbiAgICAgICAgICAgICAgICA8dHIgKGNsaWNrKT1cIlNlbGVjdFByb2R1Y3QocHJvZHVjdClcIiBjbGFzcz1cInRhYmxlLXJvd1wiIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQnIDogUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RWaWV3TW9kZWwgPT0gcHJvZHVjdCwgJ3dhcm5pbmcnOiAhcHJvZHVjdC5pbXBvcnRlZCB8fCAhcHJvZHVjdC5jb25uZWN0ZWR9XCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz1cImltcG9ydHNwYW5cIj57eyBHZXRJbXBvcnRTdGF0dXMocHJvZHVjdCkgfX08L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkPnt7IHByb2R1Y3QuaWQgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICA8dGQ+e3sgcHJvZHVjdC5uYW1lIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkPnt7IHByb2R1Y3QuYmNiUHJvZHVjdFZpZXdNb2RlbHMubGVuZ3RoIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJwcm9kdWN0LmltcG9ydFNldElkXCIgKGNoYW5nZSk9XCJTYXZlUHJvZHVjdChwcm9kdWN0KVwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaW1wb3J0c2V0IG9mIEltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldHNWaWV3TW9kZWwuYmNiSW1wb3J0U2V0Vmlld01vZGVsc1wiIFt2YWx1ZV09XCJpbXBvcnRzZXQuaWRcIj57e2ltcG9ydHNldC5uYW1lfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiU2hvd0JDQlByb2R1Y3RzKHByb2R1Y3QpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBiY2Jwcm9kdWN0IG9mIFByb2R1Y3RzU2VydmljZS5Qcm9kdWN0Vmlld01vZGVsLmJjYlByb2R1Y3RWaWV3TW9kZWxzXCIgY2xhc3M9XCJ0YWJsZS1yb3dcIiBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJyA6IFByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsID09IGJjYnByb2R1Y3QsICd3YXJuaW5nJzogIWJjYnByb2R1Y3QuaW1wb3J0ZWQgfHwgIWJjYnByb2R1Y3QuY29ubmVjdGVkfVwiIChjbGljayk9XCJTZWxlY3RCQ0JQcm9kdWN0KGJjYnByb2R1Y3QpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiaW1wb3J0c3BhblwiPnt7IGJjYnByb2R1Y3QuaW1wb3J0U3RhdHVzIH19PC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPnt7IGJjYnByb2R1Y3QuaWQgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiM1wiPnt7IGJjYnByb2R1Y3QubmFtZSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGltaXRlclwiPlxyXG4gICAgICAgIDxhcHAtYmVoZWVyLXByb2R1Y3RzLXByb2R1Y3QgKm5nSWY9XCJQcm9kdWN0c1NlcnZpY2UuUHJvZHVjdFZpZXdNb2RlbCAhPSB1bmRlZmluZWQgJiYgUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgPT0gdW5kZWZpbmVkXCIgW1Byb2R1Y3RWaWV3TW9kZWxdPVwiUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RWaWV3TW9kZWxcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtcHJvZHVjdD5cclxuICAgICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1iY2Jwcm9kdWN0ICpuZ0lmPVwiUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgIT0gdW5kZWZpbmVkXCIgW0JDQlByb2R1Y3RWaWV3TW9kZWxdPVwiUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWxcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtYmNicHJvZHVjdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4iXX0=
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVoZWVyLXByb2R1Y3RzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvYmVoZWVyL2NvbXBvbmVudHMvYmVoZWVyLXByb2R1Y3RzL2JlaGVlci1wcm9kdWN0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZHVsZXMvZmFicmlrYW50ZW5jb3JlL2JlaGVlci9jb21wb25lbnRzL2JlaGVlci1wcm9kdWN0cy9iZWhlZXItcHJvZHVjdHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJckUsT0FBTyxFQUErRSx1QkFBdUIsRUFBcUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7OztBQU96TixNQUFNLE9BQU8sdUJBQXVCO0lBS2xDLFlBQW1CLGVBQWdDLEVBQzFDLGlCQUFvQyxFQUNuQyxlQUFnQyxFQUNqQyxpQkFBb0M7UUFIMUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQzFDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDbkMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2pDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFMdEMsMkJBQXNCLEdBQTRCLFNBQVMsQ0FBQztJQU9uRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDO1FBRXpFLElBQUksUUFBUSxJQUFJLElBQUksSUFBSSxRQUFRLENBQUMsTUFBTSxH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QkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0aW9uTGlzdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wcm9kdWN0cy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW1wb3J0U2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pbXBvcnRzZXRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0c0FwaUNsaWVudCwgUHJvZHVjdHNWaWV3TW9kZWwsIEJDQlByb2R1Y3RWaWV3TW9kZWwsIFByb2R1Y3RWaWV3TW9kZWwsIEJDQkltcG9ydFByb2R1Y3RSZXF1ZXN0LCBCQ0JJbXBvcnRQcm9kdWN0UmVzcG9uc2UsIEltcG9ydEFwaUNsaWVudCwgQkNCSW1wb3J0U2V0c1ZpZXdNb2RlbCB9IGZyb20gJy4uLy4uLy4uL3N3YWdnZXIvU3dhZ2dlckNsaWVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1iZWhlZXItcHJvZHVjdHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZWhlZXItcHJvZHVjdHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JlaGVlci1wcm9kdWN0cy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZWhlZXJQcm9kdWN0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG5cclxuICBwdWJsaWMgQkNCSW1wb3J0U2V0c1ZpZXdNb2RlbD86IEJDQkltcG9ydFNldHNWaWV3TW9kZWwgPSB1bmRlZmluZWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBQcm9kdWN0c1NlcnZpY2U6IFByb2R1Y3RzU2VydmljZSxcclxuICAgIHB1YmxpYyBJbXBvcnRTZXRzU2VydmljZTogSW1wb3J0U2V0c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIEltcG9ydEFwaUNsaWVudDogSW1wb3J0QXBpQ2xpZW50LFxyXG4gICAgcHVibGljIENoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5JbXBvcnRTZXRzU2VydmljZS5Mb2FkSW1wb3J0U2V0cyh0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBJbXBvcnQoKTogdm9pZCB7XHJcbiAgICB2YXIgcHJvZHVjdHMgPSB0aGlzLlByb2R1Y3RzU2VydmljZS5Qcm9kdWN0c1ZpZXdNb2RlbD8ucHJvZHVjdFZpZXdNb2RlbHM7XHJcblxyXG4gICAgaWYgKHByb2R1Y3RzICE9IG51bGwgJiYgcHJvZHVjdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb2R1Y3RzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdmFyIGJjYnByb2R1Y3RzID0gcHJvZHVjdHNbaV0uYmNiUHJvZHVjdFZpZXdNb2RlbHM7XHJcblxyXG4gICAgICAgIGlmIChiY2Jwcm9kdWN0cyAhPSBudWxsKSB7XHJcbiAgICAgICAgICBwcm9kdWN0c1tpXS5pbXBvcnRTdGF0dXMgPSBcIjAvXCIgKyBiY2Jwcm9kdWN0cy5sZW5ndGg7XHJcblxyXG4gICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBiY2Jwcm9kdWN0cy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICBiY2Jwcm9kdWN0c1tqXS5pbXBvcnRTdGF0dXMgPSBcIlhcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHZhciBiY2Jwcm9kdWN0cyA9IHByb2R1Y3RzWzBdLmJjYlByb2R1Y3RWaWV3TW9kZWxzO1xyXG5cclxuICAgICAgaWYgKGJjYnByb2R1Y3RzICE9IG51bGwgJiYgYmNicHJvZHVjdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuSW1wb3J0QkNCUHJvZHVjdChiY2Jwcm9kdWN0c1swXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBJbXBvcnRCQ0JQcm9kdWN0KGJjYnByb2R1Y3Q6IEJDQlByb2R1Y3RWaWV3TW9kZWwpOiB2b2lkIHtcclxuICAgIHZhciByZXF1ZXN0ID0gbmV3IEJDQkltcG9ydFByb2R1Y3RSZXF1ZXN0KCk7XHJcblxyXG4gICAgcmVxdWVzdC5iY2JQcm9kdWN0SWQgPSBiY2Jwcm9kdWN0LmlkO1xyXG5cclxuICAgIHRoaXMuSW1wb3J0QXBpQ2xpZW50LmltcG9ydEJDQlByb2R1Y3QocmVxdWVzdCkuc3Vic2NyaWJlKChtb2RlbDogQkNCSW1wb3J0UHJvZHVjdFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGlmICghbW9kZWwuc3VjY2Vzcykge1xyXG4gICAgICAgIGFsZXJ0KG1vZGVsLm1lc3NhZ2UpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGJjYnByb2R1Y3QuaW1wb3J0U3RhdHVzID0gXCJWXCI7XHJcblxyXG4gICAgICAgIHZhciBuZXh0ID0gdGhpcy5HZXROZXh0QkNCUHJvZHVjdChiY2Jwcm9kdWN0KTtcclxuXHJcbiAgICAgICAgaWYgKG5leHQuaW1wb3J0U3RhdHVzID09IFwiWFwiKSB7XHJcbiAgICAgICAgICB0aGlzLkltcG9ydEJDQlByb2R1Y3QobmV4dCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuUmVsb2FkKHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBhbGVydChcImltcG9ydCBmYWlsZWQgZm9yIGlkOiBcIiArIGJjYnByb2R1Y3QuaWQpO1xyXG5cclxuICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PSA0MDApXHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3IuanNvbigpKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJlZCcpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgUmVzZXRJbXBvcnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5SZXNldEltcG9ydCgtMSwgLTEsIHRoaXMuQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIENsZWFuVXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5DbGVhblVwKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU2hvd0JDQlByb2R1Y3RzKHByb2R1Y3Q6IFByb2R1Y3RWaWV3TW9kZWwpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLlByb2R1Y3RzU2VydmljZS5Qcm9kdWN0Vmlld01vZGVsID09IHByb2R1Y3QpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFNlbGVjdFByb2R1Y3QocHJvZHVjdDogUHJvZHVjdFZpZXdNb2RlbCkge1xyXG4gICAgaWYgKHRoaXMuUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RWaWV3TW9kZWwgIT0gcHJvZHVjdCkge1xyXG4gICAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5Qcm9kdWN0Vmlld01vZGVsID0gcHJvZHVjdDtcclxuICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbCA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBTYXZlUHJvZHVjdChwcm9kdWN0OiBQcm9kdWN0Vmlld01vZGVsKSB7XHJcbiAgICB0aGlzLlByb2R1Y3RzU2VydmljZS5TYXZlUHJvZHVjdFZpZXdNb2RlbChwcm9kdWN0LCB0aGlzLkNoYW5nZURldGVjdG9yUmVmKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBTZWxlY3RCQ0JQcm9kdWN0KGJjYnByb2R1Y3Q6IEJDQlByb2R1Y3RWaWV3TW9kZWwpIHtcclxuICAgIGlmICh0aGlzLlByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsICE9IGJjYnByb2R1Y3QpIHtcclxuICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbCA9IGJjYnByb2R1Y3Q7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5Qcm9kdWN0c1NlcnZpY2UuQkNCUHJvZHVjdFZpZXdNb2RlbCA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBHZXRJbXBvcnRTdGF0dXMocHJvZHVjdDogUHJvZHVjdFZpZXdNb2RlbCk6IHN0cmluZyB7XHJcbiAgICB2YXIgdGV4dCA9IFwiXCI7XHJcbiAgICB2YXIgYWN0aXZlID0gZmFsc2U7XHJcblxyXG4gICAgdmFyIGJjYnByb2R1Y3RzID0gcHJvZHVjdC5iY2JQcm9kdWN0Vmlld01vZGVscztcclxuICAgIGlmIChiY2Jwcm9kdWN0cyAhPSBudWxsICYmIGJjYnByb2R1Y3RzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdmFyIGNvdW50ID0gMDtcclxuXHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYmNicHJvZHVjdHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoYmNicHJvZHVjdHNbaV0uaW1wb3J0U3RhdHVzICE9IFwiXCIpIHtcclxuICAgICAgICAgIGFjdGl2ZSA9IHRydWU7XHJcblxyXG4gICAgICAgICAgaWYgKGJjYnByb2R1Y3RzW2ldLmltcG9ydFN0YXR1cyAhPSBcIlhcIikge1xyXG4gICAgICAgICAgICBjb3VudCsrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGFjdGl2ZSkge1xyXG4gICAgICAgIHRleHQgPSBjb3VudCArIFwiL1wiICsgYmNicHJvZHVjdHMubGVuZ3RoO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRleHQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgR2V0TmV4dEJDQlByb2R1Y3QoYmNicHJvZHVjdDogQkNCUHJvZHVjdFZpZXdNb2RlbCk6IEJDQlByb2R1Y3RWaWV3TW9kZWwge1xyXG4gICAgdmFyIHByb2R1Y3RzID0gdGhpcy5Qcm9kdWN0c1NlcnZpY2UuUHJvZHVjdHNWaWV3TW9kZWw/LnByb2R1Y3RWaWV3TW9kZWxzO1xyXG4gICAgdmFyIG5leHQ6IEJDQlByb2R1Y3RWaWV3TW9kZWwgPSBiY2Jwcm9kdWN0O1xyXG4gICAgdmFyIGZvdW5kID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKHByb2R1Y3RzICE9IG51bGwgJiYgcHJvZHVjdHMubGVuZ3RoID4gMCkge1xyXG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb2R1Y3RzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgdmFyIGJjYnByb2R1Y3RzID0gcHJvZHVjdHNbaV0uYmNiUHJvZHVjdFZpZXdNb2RlbHM7XHJcblxyXG4gICAgICAgIGlmIChiY2Jwcm9kdWN0cyAhPSBudWxsKSB7XHJcbiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGJjYnByb2R1Y3RzLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgIGlmIChmb3VuZCkge1xyXG4gICAgICAgICAgICAgIHJldHVybiBiY2Jwcm9kdWN0c1tqXTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGJjYnByb2R1Y3RzW2pdID09IGJjYnByb2R1Y3QpIHtcclxuICAgICAgICAgICAgICBmb3VuZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV4dDtcclxuICB9XHJcbn1cclxuIiwiPGFwcC1iZWhlZXItbmF2PjwvYXBwLWJlaGVlci1uYXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwiUHJvZHVjdHNTZXJ2aWNlLkxvYWRpbmcoKSB8fCBJbXBvcnRTZXRzU2VydmljZS5Mb2FkaW5nSW1wb3J0U2V0c1wiPlxyXG4gIDxhcHAtZmFiLWxvYWRlcj48L2FwcC1mYWItbG9hZGVyPlxyXG48L2Rpdj5cclxuPGRpdiAqbmdJZj1cIiFQcm9kdWN0c1NlcnZpY2UuTG9hZGluZygpICYmICFJbXBvcnRTZXRzU2VydmljZS5Mb2FkaW5nSW1wb3J0U2V0c1wiIGNsYXNzPVwibWFpbi1ibG9ja1wiPlxyXG4gIDxtYXQtY2FyZD5cclxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGlzcGxheWZsZXhcIj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxyXG4gICAgICAgICAgICA8bWF0LWxhYmVsPkltcG9ydCBzZXQ8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgPG1hdC1zZWxlY3QgWyhuZ01vZGVsKV09XCJJbXBvcnRTZXRzU2VydmljZS5CQ0JJbXBvcnRTZXRTZWxlY3RlZFwiPlxyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpbXBvcnRzZXQgb2YgSW1wb3J0U2V0c1NlcnZpY2UuQkNCSW1wb3J0U2V0c1ZpZXdNb2RlbC5iY2JJbXBvcnRTZXRWaWV3TW9kZWxzXCIgW3ZhbHVlXT1cImltcG9ydHNldC5pZFwiPlxyXG4gICAgICAgICAgICAgICAge3tpbXBvcnRzZXQubmFtZX19XHJcbiAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICBcclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIlByb2R1Y3RzU2VydmljZS5SZWxvYWQodGhpcy5DaGFuZ2VEZXRlY3RvclJlZilcIj5cclxuICAgICAgICAgICAgUmVmcmVzaFxyXG4gICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWF1dG9cIiBzdHlsZT1cInRleHQtYWxpZ246IHJpZ2h0O1wiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiUmVzZXRJbXBvcnQoKVwiPlxyXG4gICAgICAgICAgICBSZXNldCBJbXBvcnRcclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiAoY2xpY2spPVwiSW1wb3J0KClcIj5cclxuICAgICAgICAgICAgSW1wb3J0XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIkNsZWFuVXAoKVwiPlxyXG4gICAgICAgICAgICBDbGVhblVwXHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIFxyXG5cclxuICAgICAgXHJcbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgPC9tYXQtY2FyZD5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImRpc3BsYXlmbGV4XCIgKm5nSWY9XCJ0aGlzLlByb2R1Y3RzU2VydmljZS5Qcm9kdWN0c1ZpZXdNb2RlbCAhPSB1bmRlZmluZWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0cmVlLWJsb2NrXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsaW1pdGVyXCI+XHJcbiAgICAgICAgPG1hdC1jYXJkPlxyXG4gICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImZ1bGwtd2lkdGhcIj5cclxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJ0YWJsZS1oZWFkXCI+XHJcbiAgICAgICAgICAgICAgICA8dGQ+PC90ZD5cclxuICAgICAgICAgICAgICAgIDx0ZD5JZDwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+TmFhbTwvdGQ+XHJcbiAgICAgICAgICAgICAgICA8dGQ+VmFyaWFudHM8L3RkPlxyXG4gICAgICAgICAgICAgICAgPHRkPkltcG9ydHNldDwvdGQ+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIHRoaXMuUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RzVmlld01vZGVsLnByb2R1Y3RWaWV3TW9kZWxzXCI+XHJcbiAgICAgICAgICAgICAgICA8dHIgKGNsaWNrKT1cIlNlbGVjdFByb2R1Y3QocHJvZHVjdClcIiBjbGFzcz1cInRhYmxlLXJvd1wiIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQnIDogUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RWaWV3TW9kZWwgPT0gcHJvZHVjdCwgJ3dhcm5pbmcnOiAhcHJvZHVjdC5pbXBvcnRlZCB8fCAhcHJvZHVjdC5jb25uZWN0ZWR9XCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz1cImltcG9ydHNwYW5cIj57eyBHZXRJbXBvcnRTdGF0dXMocHJvZHVjdCkgfX08L3NwYW4+PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkPnt7IHByb2R1Y3QuaWQgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICA8dGQ+e3sgcHJvZHVjdC5uYW1lIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkPnt7IHByb2R1Y3QuYmNiUHJvZHVjdFZpZXdNb2RlbHMubGVuZ3RoIH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgWyhuZ01vZGVsKV09XCJwcm9kdWN0LmltcG9ydFNldElkXCIgKGNoYW5nZSk9XCJTYXZlUHJvZHVjdChwcm9kdWN0KVwiIGNsYXNzPVwiZnVsbC13aWR0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaW1wb3J0c2V0IG9mIEltcG9ydFNldHNTZXJ2aWNlLkJDQkltcG9ydFNldHNWaWV3TW9kZWwuYmNiSW1wb3J0U2V0Vmlld01vZGVsc1wiIFt2YWx1ZV09XCJpbXBvcnRzZXQuaWRcIj57e2ltcG9ydHNldC5uYW1lfX08L29wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cclxuICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiU2hvd0JDQlByb2R1Y3RzKHByb2R1Y3QpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBiY2Jwcm9kdWN0IG9mIFByb2R1Y3RzU2VydmljZS5Qcm9kdWN0Vmlld01vZGVsLmJjYlByb2R1Y3RWaWV3TW9kZWxzXCIgY2xhc3M9XCJ0YWJsZS1yb3dcIiBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJyA6IFByb2R1Y3RzU2VydmljZS5CQ0JQcm9kdWN0Vmlld01vZGVsID09IGJjYnByb2R1Y3QsICd3YXJuaW5nJzogIWJjYnByb2R1Y3QuaW1wb3J0ZWQgfHwgIWJjYnByb2R1Y3QuY29ubmVjdGVkfVwiIChjbGljayk9XCJTZWxlY3RCQ0JQcm9kdWN0KGJjYnByb2R1Y3QpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiaW1wb3J0c3BhblwiPnt7IGJjYnByb2R1Y3QuaW1wb3J0U3RhdHVzIH19PC9zcGFuPjwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRkPnt7IGJjYnByb2R1Y3QuaWQgfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiM1wiPnt7IGJjYnByb2R1Y3QubmFtZSB9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICA8dGQ+Jm5ic3A7PC90ZD5cclxuICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L3RhYmxlPlxyXG4gICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgIDwvbWF0LWNhcmQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibGltaXRlclwiPlxyXG4gICAgICAgIDxhcHAtYmVoZWVyLXByb2R1Y3RzLXByb2R1Y3QgKm5nSWY9XCJQcm9kdWN0c1NlcnZpY2UuUHJvZHVjdFZpZXdNb2RlbCAhPSB1bmRlZmluZWQgJiYgUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgPT0gdW5kZWZpbmVkXCIgW1Byb2R1Y3RWaWV3TW9kZWxdPVwiUHJvZHVjdHNTZXJ2aWNlLlByb2R1Y3RWaWV3TW9kZWxcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtcHJvZHVjdD5cclxuICAgICAgICA8YXBwLWJlaGVlci1wcm9kdWN0cy1iY2Jwcm9kdWN0ICpuZ0lmPVwiUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWwgIT0gdW5kZWZpbmVkXCIgW0JDQlByb2R1Y3RWaWV3TW9kZWxdPVwiUHJvZHVjdHNTZXJ2aWNlLkJDQlByb2R1Y3RWaWV3TW9kZWxcIj48L2FwcC1iZWhlZXItcHJvZHVjdHMtYmNicHJvZHVjdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG4iXX0=
|