@wizishop/wizi-block 15.0.62-beta → 15.0.63-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/structures/products-list/classic/products-list-classic.component.mjs +14 -1
- package/esm2020/lib/structures/products-list/selected/products-list-selected.component.mjs +14 -1
- package/esm2020/lib/structures/products-list/simple/products-list-simple.component.mjs +14 -3
- package/fesm2015/wizishop-wizi-block.mjs +39 -2
- package/fesm2015/wizishop-wizi-block.mjs.map +1 -1
- package/fesm2020/wizishop-wizi-block.mjs +39 -2
- package/fesm2020/wizishop-wizi-block.mjs.map +1 -1
- package/lib/structures/products-list/classic/products-list-classic.component.d.ts +1 -0
- package/lib/structures/products-list/selected/products-list-selected.component.d.ts +1 -0
- package/lib/structures/products-list/simple/products-list-simple.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -121,6 +121,7 @@ export class ProductsListClassicComponent extends StructuresComponent {
|
|
|
121
121
|
this.formatPrice = [];
|
|
122
122
|
this.apiService.getCatalogSpecific(prodIds, 12).subscribe((catalogList) => {
|
|
123
123
|
this.catalogSelection = catalogList;
|
|
124
|
+
this.removeUnavailable();
|
|
124
125
|
for (let item of catalogList.products) {
|
|
125
126
|
this.formatPrice.push(new Intl.NumberFormat(this.country, { style: 'currency', currency: this.iso }).format(item.price.price));
|
|
126
127
|
}
|
|
@@ -165,6 +166,7 @@ export class ProductsListClassicComponent extends StructuresComponent {
|
|
|
165
166
|
this.formatPrice = [];
|
|
166
167
|
this.apiService.getCatalogSelection(type, 12).subscribe((catalogList) => {
|
|
167
168
|
this.catalogSelection = catalogList;
|
|
169
|
+
this.removeUnavailable();
|
|
168
170
|
for (let item of catalogList.products) {
|
|
169
171
|
this.formatPrice.push(new Intl.NumberFormat(this.country, { style: 'currency', currency: this.iso }).format(item.price.price));
|
|
170
172
|
}
|
|
@@ -179,6 +181,17 @@ export class ProductsListClassicComponent extends StructuresComponent {
|
|
|
179
181
|
this.isLoading = false;
|
|
180
182
|
});
|
|
181
183
|
}
|
|
184
|
+
removeUnavailable() {
|
|
185
|
+
let i = 0;
|
|
186
|
+
while (i < this.contents['block'][FORM_NAME_LIST_PRODUCT].length) {
|
|
187
|
+
if (!(Array.from(this.catalogSelection.products).find((selection) => { return selection.id === this.contents['block'][FORM_NAME_LIST_PRODUCT][i]; }))) {
|
|
188
|
+
this.contents['block'][FORM_NAME_LIST_PRODUCT].splice(i, 1);
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
++i;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
182
195
|
}
|
|
183
196
|
ProductsListClassicComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ProductsListClassicComponent, deps: [{ token: i1.ApiService }, { token: i2.ExternalConfigService }, { token: i0.ChangeDetectorRef }, { token: i3.TranslateService }, { token: i4.CurrencyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
184
197
|
ProductsListClassicComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ProductsListClassicComponent, selector: "wb-products-list-classic", viewQueries: [{ propertyName: "content", first: true, predicate: ["structureSearchProduct"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"wb-products-list-classic\" [ngClass]=\"'nb-ligne-' + contents[BASE_BLOCK_CONTENT][FORM_NAME_NBLIGNE]\">\n <div>\n <wb-structure-config (isClose)=\"triggerProduct = false;\" [isActive]=\"triggerProduct\" [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\" [isFullwidth]=\"true\">\n <wb-structure-config-checkbox\n [label]=\"'wb.structures.template.3' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SHOW_TITLE]\"\n (ngModelChange)=\"persist()\"\n [off]=\"false\"\n [on]=\"true\"\n ></wb-structure-config-checkbox>\n <div class=\"columns\">\n <div class=\"column is-8\">\n <wb-structure-search-product\n #structureSearchProduct\n [searchNumber]=\"20\"\n [label]=\"'wb.structures.template.25' | translate\"\n (newSearch)=\"changeProduct($event)\"\n [selectedProd]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_LIST_PRODUCT]\"\n ></wb-structure-search-product>\n </div>\n <div class=\"column is-4\">\n <wb-structure-select\n [label]=\"'wb.structures.template.26' | translate\"\n [selectedValue]=\"selectedValue\"\n [forms]=\"form\"\n [large]=\"true\"\n [icon]=\"'fal fa-box-alt'\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n </div>\n </div>\n </wb-structure-config>\n </div>\n <div class=\"wb-products-list-classic__text\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SHOW_TITLE]\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <wb-loader *ngIf=\"isLoading\" class=\"is-fullsize\"></wb-loader>\n <div\n class=\"wb-products-list-classic__list\"\n *ngIf=\"catalogSelection !== undefined && catalogSelection.products && catalogSelection.products.length\"\n >\n <div *ngFor=\"let product of catalogSelection.products | slice: 0:12; let index = index\" (click)=\"triggerProduct = true;\">\n <div class=\"img-wrapper\" *ngIf=\"product.main_image\">\n <img *ngIf=\"product.main_image.file\" [src]=\"imageFrontUrl + product.main_image.file\" [alt]=\"product.name\" />\n </div>\n <p>{{ product.name }}</p>\n <p>{{ formatPrice[index] }}</p>\n </div>\n </div>\n <div class=\"wb-products-list-classic__nolist\" *ngIf=\"!catalogSelection.products || catalogSelection.products.length === 0\">\n <p>{{ 'wb.structures.template.6' | translate }}</p>\n </div>\n <div *ngIf=\"!catalogSelection && !isLoading\">\n <wb-structure-search-product [searchNumber]=\"4\" [label]=\"'wb.structures.template.27' | translate\"></wb-structure-search-product>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.StructureConfigComponent, selector: "wb-structure-config", inputs: ["isActive", "blockUUID", "position", "isFullwidth", "small", "extraSmall"], outputs: ["isClose"] }, { kind: "component", type: i8.StructureConfigCheckboxComponent, selector: "wb-structure-config-checkbox", inputs: ["label", "on", "off"] }, { kind: "component", type: i9.StructureSelectComponent, selector: "wb-structure-select", inputs: ["selectedValue", "forms", "large", "icon", "label"], outputs: ["changed"] }, { kind: "component", type: i10.StructureSearchProductComponent, selector: "wb-structure-search-product", inputs: ["label", "searchNumber", "selectedProd"], outputs: ["newSearch"] }, { kind: "component", type: i11.LoaderComponent, selector: "wb-loader" }, { kind: "component", type: i12.WiziEditorComponent, selector: "wz-editor", inputs: ["placeholder", "position"] }, { kind: "pipe", type: i5.SlicePipe, name: "slice" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
@@ -189,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
189
202
|
type: ViewChild,
|
|
190
203
|
args: ['structureSearchProduct']
|
|
191
204
|
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtbGlzdC1jbGFzc2ljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zdHJ1Y3R1cmVzL3Byb2R1Y3RzLWxpc3QvY2xhc3NpYy9wcm9kdWN0cy1saXN0LWNsYXNzaWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvcHJvZHVjdHMtbGlzdC9jbGFzc2ljL3Byb2R1Y3RzLWxpc3QtY2xhc3NpYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUEwQixzQkFBc0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzlILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUV6SSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBTTNFLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxtQkFBMkM7SUFHekYsSUFBeUMsT0FBTyxDQUFD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QUFDLElBQUksQ0FDakIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FDMUcsQ0FBQzthQUNMO1lBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxFQUNELEdBQUcsRUFBRTtZQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRztnQkFDcEIsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osYUFBYSxFQUFFLEVBQUU7Z0JBQ2pCLFdBQVcsRUFBRSxDQUFDO2dCQUNkLGFBQWEsRUFBRSxDQUFDO2FBQ25CLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDLENBQ0osQ0FBQztJQUNOLENBQUM7O3lIQXhMUSw0QkFBNEI7NkdBQTVCLDRCQUE0QiwwTUNoQnpDLG11R0E2REE7MkZEN0NhLDRCQUE0QjtrQkFKeEMsU0FBUzsrQkFDSSwwQkFBMEIsQ0FBQyxRQUFRLEVBQUU7a09BTU4sT0FBTztzQkFBL0MsU0FBUzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGT1JNX05BTUVfTElTVF9QUk9EVUNULCBGT1JNX05BTUVfVFlQRV9QUk9EVUNUIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9mb3Jtcy9mb3Jtcy5kdG8nO1xuaW1wb3J0IHsgU3RydWN0dXJlc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0cnVjdHVyZXMuY29tcG9uZW50JztcbmltcG9ydCB7IFByb2R1Y3RzTGlzdENsYXNzaWNEdG8sIFRZUEVfUFJPRFVDVF9TRUxFQ1RJT04gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Jsb2Nrcy9wcm9kdWN0cy1saXN0L3Byb2R1Y3RzLWxpc3QtY2xhc3NpYy5kdG8nO1xuaW1wb3J0IHsgUHJvZHVjdHNMaXN0Q2xhc3NpY1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvcHJvZHVjdHMtbGlzdC9wcm9kdWN0cy1saXN0LWNsYXNzaWMuc2VydmljZSc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXh0ZXJuYWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvZXh0ZXJuYWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RydWN0dXJlU2VhcmNoUHJvZHVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL3N0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdC9zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3QuY29tcG9uZW50JztcbmltcG9ydCB7IENhdGFsb2dMaXN0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL2NhdGFsb2dzL2NhdGFsb2ctbGlzdC5kdG8nO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvY3VycmVuY3kuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBQcm9kdWN0c0xpc3RDbGFzc2ljU2VydmljZS5zZWxlY3RvcigpLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0cy1saXN0LWNsYXNzaWMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0c0xpc3RDbGFzc2ljQ29tcG9uZW50IGV4dGVuZHMgU3RydWN0dXJlc0NvbXBvbmVudDxQcm9kdWN0c0xpc3RDbGFzc2ljRHRvPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBzdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0OiBTdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0Q29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZCgnc3RydWN0dXJlU2VhcmNoUHJvZHVjdCcpIHNldCBjb250ZW50KGNvbnRyb2w6IFN0cnVjdHVyZVNlYXJjaFByb2R1Y3RDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5zdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0ID0gY29udHJvbDtcbiAgICB9XG5cbiAgICBzZWxlY3RlZFZhbHVlID0ge1xuICAgICAgICBpZDogMSxcbiAgICAgICAgdGl0bGU6ICd3Yi5wcm9kdWN0bGlzdC5zZWxlY3Rpb24nLFxuICAgICAgICB2YWx1ZTogJ3NlbGVjdGlvbicsXG4gICAgfTtcblxuICAgIGNhdGFsb2dTZWxlY3Rpb246IENhdGFsb2dMaXN0RHRvID0ge1xuICAgICAgICBwcm9kdWN0czogW10sXG4gICAgICAgIGNhdGFsb2dfZmFjZXQ6IFtdLFxuICAgICAgICB0b3RhbF9wYWdlczogMCxcbiAgICAgICAgdG90YWxfcmVzdWx0czogMCxcbiAgICB9O1xuXG4gICAgaW1hZ2VGcm9udFVybDogc3RyaW5nO1xuXG4gICAgdHJpZ2dlclByb2R1Y3QgPSBmYWxzZTtcbiAgICBkZXZpc2U6IHN0cmluZztcbiAgICBpc286IHN0cmluZztcbiAgICBjb3VudHJ5OiBzdHJpbmc7XG4gICAgZm9ybWF0UHJpY2UgPSBbXTtcbiAgICBpc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgZm9ybSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDEsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjEnKSxcbiAgICAgICAgICAgIHZhbHVlOiAnc2VsZWN0aW9uJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDIsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjInKSxcbiAgICAgICAgICAgIHZhbHVlOiAnZGlzY291bnQnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogMyxcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2IucHJvZHVjdGxpc3QuMycpLFxuICAgICAgICAgICAgdmFsdWU6ICduZXcnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogNCxcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2IucHJvZHVjdGxpc3QuNCcpLFxuICAgICAgICAgICAgdmFsdWU6ICdmbGFzaCcsXG4gICAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZXh0ZXJuYWxDb25maWdTZXJ2aWNlOiBFeHRlcm5hbENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGN1cnJlbmN5U2VydmljZTogQ3VycmVuY3lTZXJ2aWNlLFxuXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuc2V0Q29tcG9uZW50U2VydmljZShQcm9kdWN0c0xpc3RDbGFzc2ljU2VydmljZSk7XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmltYWdlRnJvbnRVcmwgPSB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5nZXRVcmxJbWFnZUZyb250KCk7XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW5jeVNlcnZpY2UucmVhZHkpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzQ3VycmVuY3lSZWFkeSA9IGF3YWl0IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmluaXRpYWxpemVDdXJyZW5jeSgpO1xuICAgICAgICAgICAgaWYgKGlzQ3VycmVuY3lSZWFkeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGV2aXNlID0gdGhpcy5jdXJyZW5jeVNlcnZpY2Uuc3ltYm9sO1xuICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmNvdW50cnk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc28gPSB0aGlzLmN1cnJlbmN5U2VydmljZS5pc287XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZGV2aXNlID0gdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZGV2aXNlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRldmlzZSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLnN5bWJvbDtcbiAgICAgICAgICAgIHRoaXMuY291bnRyeSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmNvdW50cnk7XG4gICAgICAgICAgICB0aGlzLmlzbyA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmlzbztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0U2hvcFRlbXBsYXRlTGFuZygpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3VudHJ5ID0gZGF0YS5sb2NhbGUucmVwbGFjZSgnXycsICctJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSB8fCB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfTElTVF9QUk9EVUNUXSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdICYmIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUHJvZHVjdCh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfTElTVF9QUk9EVUNUXSwgZmFsc2UpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNlbGVjdGlvbih0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmdldFNlbGVjdGlvbihUWVBFX1BST0RVQ1RfU0VMRUNUSU9OKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdFRoaXNGb3JtKCkge1xuICAgICAgICB0aGlzLmdldFNlbGVjdGlvbih0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWUpO1xuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZTtcbiAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlUHJvZHVjdChwcm9kSWRzLCBwZXJzaXN0ID0gdHJ1ZSkge1xuICAgICAgICBpZiAocHJvZElkcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZm9ybWF0UHJpY2UgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuYXBpU2VydmljZS5nZXRDYXRhbG9nU3BlY2lmaWMocHJvZElkcywgMTIpLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgICAoY2F0YWxvZ0xpc3QpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXRhbG9nU2VsZWN0aW9uID0gY2F0YWxvZ0xpc3Q7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgY2F0YWxvZ0xpc3QucHJvZHVjdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0UHJpY2UucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jb3VudHJ5LCB7IHN0eWxlOiAnY3VycmVuY3knLCBjdXJyZW5jeTogdGhpcy5pc28gfSkuZm9ybWF0KGl0ZW0ucHJpY2UucHJpY2UpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBlcnNpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdID0gcHJvZElkcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGVyc2lzdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3RzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGFsb2dfZmFjZXQ6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxfcGFnZXM6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbF9yZXN1bHRzOiAwLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX1RZUEVfUFJPRFVDVF0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNlbGVjdGlvbih0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKFRZUEVfUFJPRFVDVF9TRUxFQ1RJT04pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRTZWxlY3Rpb24odHlwZSkge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdID0gW107XG4gICAgICAgIGlmICh0aGlzLnN0cnVjdHVyZVNlYXJjaFByb2R1Y3QpIHtcbiAgICAgICAgICAgIHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdC5zZWxlY3RlZFByb2QgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdC5jdXJyZW50U2VsZWN0ZWRDYXRhbG9nID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb3JtLmZvckVhY2goKHZhbHVlcykgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlcy52YWx1ZSA9PT0gdHlwZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHZhbHVlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZm9ybWF0UHJpY2UgPSBbXTtcbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldENhdGFsb2dTZWxlY3Rpb24odHlwZSwgMTIpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChjYXRhbG9nTGlzdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IGNhdGFsb2dMaXN0O1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgY2F0YWxvZ0xpc3QucHJvZHVjdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtYXRQcmljZS5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY291bnRyeSwgeyBzdHlsZTogJ2N1cnJlbmN5JywgY3VycmVuY3k6IHRoaXMuaXNvIH0pLmZvcm1hdChpdGVtLnByaWNlLnByaWNlKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGFsb2dTZWxlY3Rpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgIHByb2R1Y3RzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgY2F0YWxvZ19mYWNldDogW10sXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsX3BhZ2VzOiAwLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbF9yZXN1bHRzOiAwLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljXCIgW25nQ2xhc3NdPVwiJ25iLWxpZ25lLScgKyBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9OQkxJR05FXVwiPlxuICAgIDxkaXY+XG4gICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnIChpc0Nsb3NlKT1cInRyaWdnZXJQcm9kdWN0ID0gZmFsc2U7XCIgW2lzQWN0aXZlXT1cInRyaWdnZXJQcm9kdWN0XCIgW2Jsb2NrVVVJRF09XCJ1dWlkXCIgW3Bvc2l0aW9uXT1cIlRZUEVfQ09ORklHX1BPU0lUSU9OX0xFRlRfVE9QXCIgW2lzRnVsbHdpZHRoXT1cInRydWVcIj5cbiAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1NIT1dfVElUTEVdXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgIFtvZmZdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1jb25maWctY2hlY2tib3g+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaXMtOFwiPlxuICAgICAgICAgICAgICAgICAgICA8d2Itc3RydWN0dXJlLXNlYXJjaC1wcm9kdWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAjc3RydWN0dXJlU2VhcmNoUHJvZHVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaE51bWJlcl09XCIyMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMjUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZXdTZWFyY2gpPVwiY2hhbmdlUHJvZHVjdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFByb2RdPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfTElTVF9QUk9EVUNUXVwiXG4gICAgICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4yNicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9ybXNdPVwiZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFyZ2VdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCInZmFsIGZhLWJveC1hbHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2VkKT1cInNlbGVjdGVkVmFsdWUgPSAkZXZlbnQ7IHNlbGVjdFRoaXNGb3JtKClcIlxuICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvd2Itc3RydWN0dXJlLWNvbmZpZz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljX190ZXh0XCIgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9TSE9XX1RJVExFXVwiPlxuICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgPC9kaXY+XG4gICAgPHdiLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiIGNsYXNzPVwiaXMtZnVsbHNpemVcIj48L3diLWxvYWRlcj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljX19saXN0XCJcbiAgICAgICAgKm5nSWY9XCJjYXRhbG9nU2VsZWN0aW9uICE9PSB1bmRlZmluZWQgJiYgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cyAmJiBjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzLmxlbmd0aFwiXG4gICAgPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMgfCBzbGljZTogMDoxMjsgbGV0IGluZGV4ID0gaW5kZXhcIiAoY2xpY2spPVwidHJpZ2dlclByb2R1Y3QgPSB0cnVlO1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZy13cmFwcGVyXCIgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwicHJvZHVjdC5tYWluX2ltYWdlLmZpbGVcIiBbc3JjXT1cImltYWdlRnJvbnRVcmwgKyBwcm9kdWN0Lm1haW5faW1hZ2UuZmlsZVwiIFthbHRdPVwicHJvZHVjdC5uYW1lXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHA+e3sgcHJvZHVjdC5uYW1lIH19PC9wPlxuICAgICAgICAgICAgPHA+e3sgZm9ybWF0UHJpY2VbaW5kZXhdIH19PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljX19ub2xpc3RcIiAqbmdJZj1cIiFjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzIHx8IGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIDxwPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjYnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhY2F0YWxvZ1NlbGVjdGlvbiAmJiAhaXNMb2FkaW5nXCI+XG4gICAgICAgIDx3Yi1zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3QgW3NlYXJjaE51bWJlcl09XCI0XCIgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjI3JyB8IHRyYW5zbGF0ZVwiPjwvd2Itc3RydWN0dXJlLXNlYXJjaC1wcm9kdWN0PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtbGlzdC1jbGFzc2ljLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dpemktYmxvY2svc3JjL2xpYi9zdHJ1Y3R1cmVzL3Byb2R1Y3RzLWxpc3QvY2xhc3NpYy9wcm9kdWN0cy1saXN0LWNsYXNzaWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvcHJvZHVjdHMtbGlzdC9jbGFzc2ljL3Byb2R1Y3RzLWxpc3QtY2xhc3NpYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUEwQixzQkFBc0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQzlILE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUV6SSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBTTNFLE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxtQkFBMkM7SUFHekYsSUFBeUMsT0FBTyxDQUFD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QixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMvRDtpQkFBTTtnQkFDSCxFQUFFLENBQUMsQ0FBQzthQUNQO1NBQ0o7SUFDTCxDQUFDOzt5SEFyTVEsNEJBQTRCOzZHQUE1Qiw0QkFBNEIsME1DaEJ6QyxtdUdBNkRBOzJGRDdDYSw0QkFBNEI7a0JBSnhDLFNBQVM7K0JBQ0ksMEJBQTBCLENBQUMsUUFBUSxFQUFFO2tPQU1OLE9BQU87c0JBQS9DLFNBQVM7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRk9STV9OQU1FX0xJU1RfUFJPRFVDVCwgRk9STV9OQU1FX1RZUEVfUFJPRFVDVCB9IGZyb20gJy4uLy4uLy4uL2R0b3MvZm9ybXMvZm9ybXMuZHRvJztcbmltcG9ydCB7IFN0cnVjdHVyZXNDb21wb25lbnQgfSBmcm9tICcuLi8uLi9zdHJ1Y3R1cmVzLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9kdWN0c0xpc3RDbGFzc2ljRHRvLCBUWVBFX1BST0RVQ1RfU0VMRUNUSU9OIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9ibG9ja3MvcHJvZHVjdHMtbGlzdC9wcm9kdWN0cy1saXN0LWNsYXNzaWMuZHRvJztcbmltcG9ydCB7IFByb2R1Y3RzTGlzdENsYXNzaWNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYmxvY2tzL3Byb2R1Y3RzLWxpc3QvcHJvZHVjdHMtbGlzdC1jbGFzc2ljLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEV4dGVybmFsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2V4dGVybmFsLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFN0cnVjdHVyZVNlYXJjaFByb2R1Y3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvY29tcG9uZW50cy9zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3Qvc3RydWN0dXJlLXNlYXJjaC1wcm9kdWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDYXRhbG9nTGlzdER0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYXBpcy9jYXRhbG9ncy9jYXRhbG9nLWxpc3QuZHRvJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEN1cnJlbmN5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2N1cnJlbmN5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogUHJvZHVjdHNMaXN0Q2xhc3NpY1NlcnZpY2Uuc2VsZWN0b3IoKSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdHMtbGlzdC1jbGFzc2ljLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdHNMaXN0Q2xhc3NpY0NvbXBvbmVudCBleHRlbmRzIFN0cnVjdHVyZXNDb21wb25lbnQ8UHJvZHVjdHNMaXN0Q2xhc3NpY0R0bz4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgc3RydWN0dXJlU2VhcmNoUHJvZHVjdDogU3RydWN0dXJlU2VhcmNoUHJvZHVjdENvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoJ3N0cnVjdHVyZVNlYXJjaFByb2R1Y3QnKSBzZXQgY29udGVudChjb250cm9sOiBTdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0Q29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRWYWx1ZSA9IHtcbiAgICAgICAgaWQ6IDEsXG4gICAgICAgIHRpdGxlOiAnd2IucHJvZHVjdGxpc3Quc2VsZWN0aW9uJyxcbiAgICAgICAgdmFsdWU6ICdzZWxlY3Rpb24nLFxuICAgIH07XG5cbiAgICBjYXRhbG9nU2VsZWN0aW9uOiBDYXRhbG9nTGlzdER0byA9IHtcbiAgICAgICAgcHJvZHVjdHM6IFtdLFxuICAgICAgICBjYXRhbG9nX2ZhY2V0OiBbXSxcbiAgICAgICAgdG90YWxfcGFnZXM6IDAsXG4gICAgICAgIHRvdGFsX3Jlc3VsdHM6IDAsXG4gICAgfTtcblxuICAgIGltYWdlRnJvbnRVcmw6IHN0cmluZztcblxuICAgIHRyaWdnZXJQcm9kdWN0ID0gZmFsc2U7XG4gICAgZGV2aXNlOiBzdHJpbmc7XG4gICAgaXNvOiBzdHJpbmc7XG4gICAgY291bnRyeTogc3RyaW5nO1xuICAgIGZvcm1hdFByaWNlID0gW107XG4gICAgaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIGZvcm0gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAxLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3Yi5wcm9kdWN0bGlzdC4xJyksXG4gICAgICAgICAgICB2YWx1ZTogJ3NlbGVjdGlvbicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAyLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3Yi5wcm9kdWN0bGlzdC4yJyksXG4gICAgICAgICAgICB2YWx1ZTogJ2Rpc2NvdW50JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDMsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjMnKSxcbiAgICAgICAgICAgIHZhbHVlOiAnbmV3JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDQsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjQnKSxcbiAgICAgICAgICAgIHZhbHVlOiAnZmxhc2gnLFxuICAgICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGV4dGVybmFsQ29uZmlnU2VydmljZTogRXh0ZXJuYWxDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjdXJyZW5jeVNlcnZpY2U6IEN1cnJlbmN5U2VydmljZSxcblxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnNldENvbXBvbmVudFNlcnZpY2UoUHJvZHVjdHNMaXN0Q2xhc3NpY1NlcnZpY2UpO1xuICAgIH1cblxuICAgIGFzeW5jIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pbWFnZUZyb250VXJsID0gdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZ2V0VXJsSW1hZ2VGcm9udCgpO1xuICAgICAgICBpZiAoIXRoaXMuY3VycmVuY3lTZXJ2aWNlLnJlYWR5KSB7XG4gICAgICAgICAgICBjb25zdCBpc0N1cnJlbmN5UmVhZHkgPSBhd2FpdCB0aGlzLmN1cnJlbmN5U2VydmljZS5pbml0aWFsaXplQ3VycmVuY3koKTtcbiAgICAgICAgICAgIGlmIChpc0N1cnJlbmN5UmVhZHkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRldmlzZSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLnN5bWJvbDtcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnkgPSB0aGlzLmN1cnJlbmN5U2VydmljZS5jb3VudHJ5O1xuICAgICAgICAgICAgICAgIHRoaXMuaXNvID0gdGhpcy5jdXJyZW5jeVNlcnZpY2UuaXNvO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRldmlzZSA9IHRoaXMuZXh0ZXJuYWxDb25maWdTZXJ2aWNlLmRldmlzZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZXZpc2UgPSB0aGlzLmN1cnJlbmN5U2VydmljZS5zeW1ib2w7XG4gICAgICAgICAgICB0aGlzLmNvdW50cnkgPSB0aGlzLmN1cnJlbmN5U2VydmljZS5jb3VudHJ5O1xuICAgICAgICAgICAgdGhpcy5pc28gPSB0aGlzLmN1cnJlbmN5U2VydmljZS5pc287XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldFNob3BUZW1wbGF0ZUxhbmcoKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoZGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeSA9IGRhdGEubG9jYWxlLnJlcGxhY2UoJ18nLCAnLScpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCkge1xuICAgICAgICBpZiAodGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX1RZUEVfUFJPRFVDVF0gfHwgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0pIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfTElTVF9QUk9EVUNUXSAmJiB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfTElTVF9QUk9EVUNUXS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZVByb2R1Y3QodGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0sIGZhbHNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTZWxlY3Rpb24odGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX1RZUEVfUFJPRFVDVF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5nZXRTZWxlY3Rpb24oVFlQRV9QUk9EVUNUX1NFTEVDVElPTik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RUaGlzRm9ybSgpIHtcbiAgICAgICAgdGhpcy5nZXRTZWxlY3Rpb24odGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlKTtcbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX1RZUEVfUFJPRFVDVF0gPSB0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWU7XG4gICAgICAgIHRoaXMucGVyc2lzdCgpO1xuICAgIH1cblxuICAgIGNoYW5nZVByb2R1Y3QocHJvZElkcywgcGVyc2lzdCA9IHRydWUpIHtcbiAgICAgICAgaWYgKHByb2RJZHMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmZvcm1hdFByaWNlID0gW107XG4gICAgICAgICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0Q2F0YWxvZ1NwZWNpZmljKHByb2RJZHMsIDEyKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKGNhdGFsb2dMaXN0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IGNhdGFsb2dMaXN0O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVVuYXZhaWxhYmxlKCk7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgY2F0YWxvZ0xpc3QucHJvZHVjdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0UHJpY2UucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jb3VudHJ5LCB7IHN0eWxlOiAnY3VycmVuY3knLCBjdXJyZW5jeTogdGhpcy5pc28gfSkuZm9ybWF0KGl0ZW0ucHJpY2UucHJpY2UpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0aW9uLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBlcnNpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdID0gcHJvZElkcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucGVyc2lzdCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3RzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGFsb2dfZmFjZXQ6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxfcGFnZXM6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbF9yZXN1bHRzOiAwLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX1RZUEVfUFJPRFVDVF0pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNlbGVjdGlvbih0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKFRZUEVfUFJPRFVDVF9TRUxFQ1RJT04pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRTZWxlY3Rpb24odHlwZSkge1xuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdID0gW107XG4gICAgICAgIGlmICh0aGlzLnN0cnVjdHVyZVNlYXJjaFByb2R1Y3QpIHtcbiAgICAgICAgICAgIHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdC5zZWxlY3RlZFByb2QgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdC5jdXJyZW50U2VsZWN0ZWRDYXRhbG9nID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5mb3JtLmZvckVhY2goKHZhbHVlcykgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlcy52YWx1ZSA9PT0gdHlwZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IHZhbHVlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuZm9ybWF0UHJpY2UgPSBbXTtcbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldENhdGFsb2dTZWxlY3Rpb24odHlwZSwgMTIpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChjYXRhbG9nTGlzdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IGNhdGFsb2dMaXN0O1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlVW5hdmFpbGFibGUoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpdGVtIG9mIGNhdGFsb2dMaXN0LnByb2R1Y3RzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0UHJpY2UucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmNvdW50cnksIHsgc3R5bGU6ICdjdXJyZW5jeScsIGN1cnJlbmN5OiB0aGlzLmlzbyB9KS5mb3JtYXQoaXRlbS5wcmljZS5wcmljZSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRhbG9nU2VsZWN0aW9uID0ge1xuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0czogW10sXG4gICAgICAgICAgICAgICAgICAgIGNhdGFsb2dfZmFjZXQ6IFtdLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbF9wYWdlczogMCxcbiAgICAgICAgICAgICAgICAgICAgdG90YWxfcmVzdWx0czogMCxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmVtb3ZlVW5hdmFpbGFibGUoKSB7XG4gICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgd2hpbGUgKGkgPCB0aGlzLmNvbnRlbnRzWydibG9jayddW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKCEoQXJyYXkuZnJvbSh0aGlzLmNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMpLmZpbmQoKHNlbGVjdGlvbikgPT4geyByZXR1cm4gc2VsZWN0aW9uLmlkID09PSB0aGlzLmNvbnRlbnRzWydibG9jayddW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdW2ldIH0pKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudHNbJ2Jsb2NrJ11bRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0uc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICArK2k7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljXCIgW25nQ2xhc3NdPVwiJ25iLWxpZ25lLScgKyBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9OQkxJR05FXVwiPlxuICAgIDxkaXY+XG4gICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnIChpc0Nsb3NlKT1cInRyaWdnZXJQcm9kdWN0ID0gZmFsc2U7XCIgW2lzQWN0aXZlXT1cInRyaWdnZXJQcm9kdWN0XCIgW2Jsb2NrVVVJRF09XCJ1dWlkXCIgW3Bvc2l0aW9uXT1cIlRZUEVfQ09ORklHX1BPU0lUSU9OX0xFRlRfVE9QXCIgW2lzRnVsbHdpZHRoXT1cInRydWVcIj5cbiAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnLWNoZWNrYm94XG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjMnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1NIT1dfVElUTEVdXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgICAgIFtvZmZdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1jb25maWctY2hlY2tib3g+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gaXMtOFwiPlxuICAgICAgICAgICAgICAgICAgICA8d2Itc3RydWN0dXJlLXNlYXJjaC1wcm9kdWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAjc3RydWN0dXJlU2VhcmNoUHJvZHVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaE51bWJlcl09XCIyMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMjUnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChuZXdTZWFyY2gpPVwiY2hhbmdlUHJvZHVjdCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFByb2RdPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfTElTVF9QUk9EVUNUXVwiXG4gICAgICAgICAgICAgICAgICAgID48L3diLXN0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1zZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4yNicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2VsZWN0ZWRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZm9ybXNdPVwiZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFyZ2VdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaWNvbl09XCInZmFsIGZhLWJveC1hbHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2VkKT1cInNlbGVjdGVkVmFsdWUgPSAkZXZlbnQ7IHNlbGVjdFRoaXNGb3JtKClcIlxuICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtc2VsZWN0PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvd2Itc3RydWN0dXJlLWNvbmZpZz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljX190ZXh0XCIgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9TSE9XX1RJVExFXVwiPlxuICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgPC9kaXY+XG4gICAgPHdiLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiIGNsYXNzPVwiaXMtZnVsbHNpemVcIj48L3diLWxvYWRlcj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljX19saXN0XCJcbiAgICAgICAgKm5nSWY9XCJjYXRhbG9nU2VsZWN0aW9uICE9PSB1bmRlZmluZWQgJiYgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cyAmJiBjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzLmxlbmd0aFwiXG4gICAgPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMgfCBzbGljZTogMDoxMjsgbGV0IGluZGV4ID0gaW5kZXhcIiAoY2xpY2spPVwidHJpZ2dlclByb2R1Y3QgPSB0cnVlO1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZy13cmFwcGVyXCIgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICA8aW1nICpuZ0lmPVwicHJvZHVjdC5tYWluX2ltYWdlLmZpbGVcIiBbc3JjXT1cImltYWdlRnJvbnRVcmwgKyBwcm9kdWN0Lm1haW5faW1hZ2UuZmlsZVwiIFthbHRdPVwicHJvZHVjdC5uYW1lXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHA+e3sgcHJvZHVjdC5uYW1lIH19PC9wPlxuICAgICAgICAgICAgPHA+e3sgZm9ybWF0UHJpY2VbaW5kZXhdIH19PC9wPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1jbGFzc2ljX19ub2xpc3RcIiAqbmdJZj1cIiFjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzIHx8IGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIDxwPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjYnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgKm5nSWY9XCIhY2F0YWxvZ1NlbGVjdGlvbiAmJiAhaXNMb2FkaW5nXCI+XG4gICAgICAgIDx3Yi1zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3QgW3NlYXJjaE51bWJlcl09XCI0XCIgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjI3JyB8IHRyYW5zbGF0ZVwiPjwvd2Itc3RydWN0dXJlLXNlYXJjaC1wcm9kdWN0PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -120,6 +120,7 @@ export class ProductsListSelectedComponent extends StructuresComponent {
|
|
|
120
120
|
this.formatPrice = [];
|
|
121
121
|
this.apiService.getCatalogSpecific(prodIds).subscribe((catalogList) => {
|
|
122
122
|
this.catalogSelection = catalogList;
|
|
123
|
+
this.removeUnavailable();
|
|
123
124
|
for (let item of catalogList.products) {
|
|
124
125
|
this.formatPrice.push(new Intl.NumberFormat(this.country, { style: 'currency', currency: this.iso }).format(item.price.price));
|
|
125
126
|
}
|
|
@@ -163,6 +164,7 @@ export class ProductsListSelectedComponent extends StructuresComponent {
|
|
|
163
164
|
this.formatPrice = [];
|
|
164
165
|
this.apiService.getCatalogSelection(type, 15).subscribe((catalogList) => {
|
|
165
166
|
this.catalogSelection = catalogList;
|
|
167
|
+
this.removeUnavailable();
|
|
166
168
|
for (let item of catalogList.products) {
|
|
167
169
|
this.formatPrice.push(new Intl.NumberFormat(this.country, { style: 'currency', currency: this.iso }).format(item.price.price));
|
|
168
170
|
}
|
|
@@ -177,6 +179,17 @@ export class ProductsListSelectedComponent extends StructuresComponent {
|
|
|
177
179
|
this.isLoading = false;
|
|
178
180
|
});
|
|
179
181
|
}
|
|
182
|
+
removeUnavailable() {
|
|
183
|
+
let i = 0;
|
|
184
|
+
while (i < this.contents['block'][FORM_NAME_LIST_PRODUCT].length) {
|
|
185
|
+
if (!(Array.from(this.catalogSelection.products).find((selection) => { return selection.id === this.contents['block'][FORM_NAME_LIST_PRODUCT][i]; }))) {
|
|
186
|
+
this.contents['block'][FORM_NAME_LIST_PRODUCT].splice(i, 1);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
++i;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
180
193
|
}
|
|
181
194
|
ProductsListSelectedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ProductsListSelectedComponent, deps: [{ token: i1.ApiService }, { token: i2.ExternalConfigService }, { token: i3.TranslateService }, { token: i4.CurrencyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
182
195
|
ProductsListSelectedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ProductsListSelectedComponent, selector: "wb-products-list-selected", viewQueries: [{ propertyName: "content", first: true, predicate: ["structureSearchProduct"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"wb-products-list-selected\" [ngClass]=\"'nb-ligne-' + contents[BASE_BLOCK_CONTENT][FORM_NAME_NBLIGNE]\">\n <div>\n <wb-structure-config (isClose)=\"triggerProduct = false;\" [isActive]=\"triggerProduct\" [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\" [isFullwidth]=\"true\">\n <wb-structure-config-checkbox\n [label]=\"'wb.structures.template.3' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SHOW_TITLE]\"\n (ngModelChange)=\"persist()\"\n [off]=\"false\"\n [on]=\"true\"\n ></wb-structure-config-checkbox>\n <div class=\"columns\">\n <div class=\"column is-8\">\n <wb-structure-search-product\n #structureSearchProduct\n [searchNumber]=\"15\"\n [label]=\"'wb.structures.template.25' | translate\"\n (newSearch)=\"changeProduct($event)\"\n [selectedProd]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_LIST_PRODUCT]\"\n ></wb-structure-search-product>\n </div>\n <div class=\"column is-4\">\n <wb-structure-select\n [label]=\"'wb.structures.template.26' | translate\"\n [selectedValue]=\"selectedValue\"\n [forms]=\"form\"\n [large]=\"true\"\n [icon]=\"'fal fa-box-alt'\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n </div>\n </div>\n </wb-structure-config>\n </div>\n <div class=\"wb-products-list-selected__text\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SHOW_TITLE]\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <wb-loader *ngIf=\"isLoading\" class=\"is-fullsize\"></wb-loader>\n <div\n class=\"wb-products-list-selected__list\"\n *ngIf=\"catalogSelection && catalogSelection !== undefined && catalogSelection.products && catalogSelection.products.length\"\n >\n <div class=\"columns\">\n <div class=\"column\">\n <div class=\"wb-products-list-selected__list__product\" (click)=\"triggerProduct = true;\">\n <div class=\"img-wrapper\" *ngIf=\"catalogSelection.products[0].main_image\">\n <img\n *ngIf=\"catalogSelection.products[0].main_image.file\"\n [src]=\"imageFrontUrl + catalogSelection.products[0].main_image.file\"\n [alt]=\"catalogSelection.products[0].name\"\n />\n </div>\n <p>{{ catalogSelection.products[0].name }}</p>\n <p>{{ formatPrice[0] }}</p>\n </div>\n </div>\n <div class=\"column column-max-width-50\">\n <div class=\"columns is-gapless is-multiline wb-products-list-selected__list__second\">\n <div *ngFor=\"let product of catalogSelection.products | slice: 1:5; let index = index\" class=\"column is-6\" (click)=\"triggerProduct = true;\">\n <div class=\"wb-products-list-selected__list__product\">\n <div class=\"img-wrapper\" *ngIf=\"product.main_image\">\n <img *ngIf=\"product.main_image.file\" [src]=\"imageFrontUrl + product.main_image.file\" [alt]=\"product.name\" />\n </div>\n <p>{{ product.name }}</p>\n <p>{{ formatPrice[index + 1] }}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"columns\" *ngIf=\"catalogSelection.products.length > 5 && contents[BASE_BLOCK_CONTENT][FORM_NAME_NBLIGNE] !== '1'\">\n <div class=\"column column-max-width-50\">\n <div class=\"columns is-gapless is-multiline wb-products-list-selected__list__second\">\n <div *ngFor=\"let product of catalogSelection.products | slice: 6:10; let index = index\" class=\"column is-6\" (click)=\"triggerProduct = true;\">\n <div class=\"wb-products-list-selected__list__product\">\n <div class=\"img-wrapper\" *ngIf=\"product.main_image\">\n <img *ngIf=\"product.main_image.file\" [src]=\"imageFrontUrl + product.main_image.file\" [alt]=\"product.name\" />\n </div>\n <p>{{ product.name }}</p>\n <p>{{ formatPrice[index + 6] }}</p>\n </div>\n </div>\n </div>\n </div>\n <div class=\"column\">\n <div class=\"wb-products-list-selected__list__product\" (click)=\"triggerProduct = true;\">\n <div class=\"img-wrapper\" *ngIf=\"catalogSelection.products[5].main_image\">\n <img\n *ngIf=\"catalogSelection.products[5].main_image.file\"\n [src]=\"imageFrontUrl + catalogSelection.products[5].main_image.file\"\n [alt]=\"catalogSelection.products[5].name\"\n />\n </div>\n <p>{{ catalogSelection.products[5].name }}</p>\n <p>{{ formatPrice[5] }}</p>\n </div>\n </div>\n </div>\n <div class=\"columns\" *ngIf=\"catalogSelection.products.length > 10 && contents[BASE_BLOCK_CONTENT][FORM_NAME_NBLIGNE] === '3'\">\n <div class=\"column\">\n <div class=\"wb-products-list-selected__list__product\" (click)=\"triggerProduct = true;\">\n <div class=\"img-wrapper\" *ngIf=\"catalogSelection.products[10].main_image\">\n <img\n *ngIf=\"catalogSelection.products[10].main_image.file\"\n [src]=\"imageFrontUrl + catalogSelection.products[10].main_image.file\"\n [alt]=\"catalogSelection.products[10].name\"\n />\n </div>\n <p>{{ catalogSelection.products[10].name }}</p>\n <p>{{ formatPrice[10] }}</p>\n </div>\n </div>\n <div class=\"column column-max-width-50\">\n <div class=\"columns is-gapless is-multiline wb-products-list-selected__list__second\">\n <div *ngFor=\"let product of catalogSelection.products | slice: 11; let index = index\" class=\"column is-6\" (click)=\"triggerProduct = true;\">\n <div class=\"wb-products-list-selected__list__product\">\n <div class=\"img-wrapper\" *ngIf=\"product.main_image\">\n <img *ngIf=\"product.main_image.file\" [src]=\"imageFrontUrl + product.main_image.file\" [alt]=\"product.name\" />\n </div>\n <p>{{ product.name }}</p>\n <p>{{ formatPrice[index + 11] }}</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"wb-products-list-selected__nolist\" *ngIf=\"!catalogSelection.products || catalogSelection.products.length === 0\">\n <p>{{ 'wb.structures.template.6' | translate }}</p>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.StructureConfigComponent, selector: "wb-structure-config", inputs: ["isActive", "blockUUID", "position", "isFullwidth", "small", "extraSmall"], outputs: ["isClose"] }, { kind: "component", type: i8.StructureConfigCheckboxComponent, selector: "wb-structure-config-checkbox", inputs: ["label", "on", "off"] }, { kind: "component", type: i9.StructureSelectComponent, selector: "wb-structure-select", inputs: ["selectedValue", "forms", "large", "icon", "label"], outputs: ["changed"] }, { kind: "component", type: i10.StructureSearchProductComponent, selector: "wb-structure-search-product", inputs: ["label", "searchNumber", "selectedProd"], outputs: ["newSearch"] }, { kind: "component", type: i11.LoaderComponent, selector: "wb-loader" }, { kind: "component", type: i12.WiziEditorComponent, selector: "wz-editor", inputs: ["placeholder", "position"] }, { kind: "pipe", type: i5.SlicePipe, name: "slice" }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
@@ -187,4 +200,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
187
200
|
type: ViewChild,
|
|
188
201
|
args: ['structureSearchProduct']
|
|
189
202
|
}] } });
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtbGlzdC1zZWxlY3RlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvc3RydWN0dXJlcy9wcm9kdWN0cy1saXN0L3NlbGVjdGVkL3Byb2R1Y3RzLWxpc3Qtc2VsZWN0ZWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvcHJvZHVjdHMtbGlzdC9zZWxlY3RlZC9wcm9kdWN0cy1saXN0LXNlbGVjdGVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDdEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXhGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ3BILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdGQUF3RixDQUFDO0FBRXpJLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFPM0UsTUFBTSxPQUFPLDZCQUE4QixTQUFRLG1CQUE0QztJQUUzRixJQUF5QyxPQUFPLENBQUMsT0FBd0M7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QUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUMxRyxDQUFDO2FBQ0w7WUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHO2dCQUNwQixRQUFRLEVBQUUsRUFBRTtnQkFDWixhQUFhLEVBQUUsRUFBRTtnQkFDakIsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsYUFBYSxFQUFFLENBQUM7YUFDbkIsQ0FBQztZQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7MEhBckxRLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLDJNQ2xCMUMsa3pQQXVJQTsyRkRySGEsNkJBQTZCO2tCQUp6QyxTQUFTOytCQUNJLDJCQUEyQixDQUFDLFFBQVEsRUFBRTtrTUFLUCxPQUFPO3NCQUEvQyxTQUFTO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZPUk1fTkFNRV9MSVNUX1BST0RVQ1QsIEZPUk1fTkFNRV9UWVBFX1BST0RVQ1QgfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Zvcm1zL2Zvcm1zLmR0byc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc3RydWN0dXJlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVFlQRV9QUk9EVUNUX1NFTEVDVElPTiB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYmxvY2tzL3Byb2R1Y3RzLWxpc3QvcHJvZHVjdHMtbGlzdC1jbGFzc2ljLmR0byc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXh0ZXJuYWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvZXh0ZXJuYWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNMaXN0U2VsZWN0ZWREdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Jsb2Nrcy9wcm9kdWN0cy1saXN0L3Byb2R1Y3RzLWxpc3Qtc2VsZWN0ZWQuZHRvJztcbmltcG9ydCB7IFByb2R1Y3RzTGlzdFNlbGVjdGVkU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Jsb2Nrcy9wcm9kdWN0cy1saXN0L3Byb2R1Y3RzLWxpc3Qtc2VsZWN0ZWQuc2VydmljZSc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvc3RydWN0dXJlLXNlYXJjaC1wcm9kdWN0L3N0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2F0YWxvZ0xpc3REdG8gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2FwaXMvY2F0YWxvZ3MvY2F0YWxvZy1saXN0LmR0byc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBDdXJyZW5jeVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy9jdXJyZW5jeS5zZXJ2aWNlJztcbmltcG9ydCB7IEV4dGVybmFsQ29uZmlnRHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9jb25maWdzL2V4dGVybmFsL2V4dGVybmFsLWNvbmZpZy5kdG8nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogUHJvZHVjdHNMaXN0U2VsZWN0ZWRTZXJ2aWNlLnNlbGVjdG9yKCksXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3RzLWxpc3Qtc2VsZWN0ZWQuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0c0xpc3RTZWxlY3RlZENvbXBvbmVudCBleHRlbmRzIFN0cnVjdHVyZXNDb21wb25lbnQ8UHJvZHVjdHNMaXN0U2VsZWN0ZWREdG8+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHN0cnVjdHVyZVNlYXJjaFByb2R1Y3Q6IFN0cnVjdHVyZVNlYXJjaFByb2R1Y3RDb21wb25lbnQ7XG4gICAgQFZpZXdDaGlsZCgnc3RydWN0dXJlU2VhcmNoUHJvZHVjdCcpIHNldCBjb250ZW50KGNvbnRyb2w6IFN0cnVjdHVyZVNlYXJjaFByb2R1Y3RDb21wb25lbnQpIHtcbiAgICAgICAgdGhpcy5zdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0ID0gY29udHJvbDtcbiAgICB9XG5cbiAgICBzZWxlY3RlZFZhbHVlID0ge1xuICAgICAgICBpZDogMSxcbiAgICAgICAgdGl0bGU6ICd3Yi5wcm9kdWN0bGlzdC5zZWxlY3Rpb24nLFxuICAgICAgICB2YWx1ZTogJ3NlbGVjdGlvbicsXG4gICAgfTtcblxuICAgIHRyaWdnZXJQcm9kdWN0ID0gZmFsc2U7XG5cbiAgICBjYXRhbG9nU2VsZWN0aW9uOiBDYXRhbG9nTGlzdER0byA9IHtcbiAgICAgICAgcHJvZHVjdHM6IFtdLFxuICAgICAgICBjYXRhbG9nX2ZhY2V0OiBbXSxcbiAgICAgICAgdG90YWxfcGFnZXM6IDAsXG4gICAgICAgIHRvdGFsX3Jlc3VsdHM6IDAsXG4gICAgfTtcblxuICAgIGltYWdlRnJvbnRVcmw6IHN0cmluZztcblxuICAgIGRldmlzZTogc3RyaW5nO1xuICAgIGlzbzogc3RyaW5nO1xuICAgIGNvdW50cnk6IHN0cmluZztcbiAgICBmb3JtYXRQcmljZSA9IFtdO1xuICAgIGlzTG9hZGluZyA9IHRydWU7XG5cbiAgICBmb3JtID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBpZDogMSxcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2IucHJvZHVjdGxpc3QuMScpLFxuICAgICAgICAgICAgdmFsdWU6ICdzZWxlY3Rpb24nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogMixcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2IucHJvZHVjdGxpc3QuMicpLFxuICAgICAgICAgICAgdmFsdWU6ICdkaXNjb3VudCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAzLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3Yi5wcm9kdWN0bGlzdC4zJyksXG4gICAgICAgICAgICB2YWx1ZTogJ25ldycsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiA0LFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3Yi5wcm9kdWN0bGlzdC40JyksXG4gICAgICAgICAgICB2YWx1ZTogJ2ZsYXNoJyxcbiAgICAgICAgfSxcbiAgICBdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBleHRlcm5hbENvbmZpZ1NlcnZpY2U6IEV4dGVybmFsQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGN1cnJlbmN5U2VydmljZTogQ3VycmVuY3lTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnNldENvbXBvbmVudFNlcnZpY2UoUHJvZHVjdHNMaXN0U2VsZWN0ZWRTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuaW1hZ2VGcm9udFVybCA9IHRoaXMuZXh0ZXJuYWxDb25maWdTZXJ2aWNlLmdldFVybEltYWdlRnJvbnQoKTtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbmN5U2VydmljZS5yZWFkeSkge1xuICAgICAgICAgICAgY29uc3QgaXNDdXJyZW5jeVJlYWR5ID0gYXdhaXQgdGhpcy5jdXJyZW5jeVNlcnZpY2UuaW5pdGlhbGl6ZUN1cnJlbmN5KCk7XG4gICAgICAgICAgICBpZiAoaXNDdXJyZW5jeVJlYWR5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXZpc2UgPSB0aGlzLmN1cnJlbmN5U2VydmljZS5zeW1ib2w7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3VudHJ5ID0gdGhpcy5jdXJyZW5jeVNlcnZpY2UuY291bnRyeTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzbyA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmlzbztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXZpc2UgPSB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5kZXZpc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGV2aXNlID0gdGhpcy5jdXJyZW5jeVNlcnZpY2Uuc3ltYm9sO1xuICAgICAgICAgICAgdGhpcy5jb3VudHJ5ID0gdGhpcy5jdXJyZW5jeVNlcnZpY2UuY291bnRyeTtcbiAgICAgICAgICAgIHRoaXMuaXNvID0gdGhpcy5jdXJyZW5jeVNlcnZpY2UuaXNvO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYXBpU2VydmljZS5nZXRTaG9wVGVtcGxhdGVMYW5nKCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnkgPSBkYXRhLmxvY2FsZS5yZXBsYWNlKCdfJywgJy0nKTtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0gJiYgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VQcm9kdWN0KHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdLCBmYWxzZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKFRZUEVfUFJPRFVDVF9TRUxFQ1RJT04pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0VGhpc0Zvcm0oKSB7XG4gICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZSk7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdID0gdGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlO1xuICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VQcm9kdWN0KHByb2RJZHMsIHBlcnNpc3QgPSB0cnVlKSB7XG4gICAgICAgIGlmIChwcm9kSWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5mb3JtYXRQcmljZSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldENhdGFsb2dTcGVjaWZpYyhwcm9kSWRzKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKGNhdGFsb2dMaXN0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IGNhdGFsb2dMaXN0O1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpdGVtIG9mIGNhdGFsb2dMaXN0LnByb2R1Y3RzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdFByaWNlLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY291bnRyeSwgeyBzdHlsZTogJ2N1cnJlbmN5JywgY3VycmVuY3k6IHRoaXMuaXNvIH0pLmZvcm1hdChpdGVtLnByaWNlLnByaWNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocGVyc2lzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0gPSBwcm9kSWRzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXRhbG9nU2VsZWN0aW9uID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvZHVjdHM6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0YWxvZ19mYWNldDogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbF9wYWdlczogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsX3Jlc3VsdHM6IDAsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTZWxlY3Rpb24oVFlQRV9QUk9EVUNUX1NFTEVDVElPTik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFNlbGVjdGlvbih0eXBlKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0gPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdCkge1xuICAgICAgICAgICAgdGhpcy5zdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0LnNlbGVjdGVkUHJvZCA9IFtdO1xuICAgICAgICAgICAgdGhpcy5zdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0LmN1cnJlbnRTZWxlY3RlZENhdGFsb2cgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm0uZm9yRWFjaCgodmFsdWVzKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWVzLnZhbHVlID09PSB0eXBlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdmFsdWVzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5mb3JtYXRQcmljZSA9IFtdO1xuICAgICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0Q2F0YWxvZ1NlbGVjdGlvbih0eXBlLCAxNSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGNhdGFsb2dMaXN0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRhbG9nU2VsZWN0aW9uID0gY2F0YWxvZ0xpc3Q7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaXRlbSBvZiBjYXRhbG9nTGlzdC5wcm9kdWN0cykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdFByaWNlLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jb3VudHJ5LCB7IHN0eWxlOiAnY3VycmVuY3knLCBjdXJyZW5jeTogdGhpcy5pc28gfSkuZm9ybWF0KGl0ZW0ucHJpY2UucHJpY2UpXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgcHJvZHVjdHM6IFtdLFxuICAgICAgICAgICAgICAgICAgICBjYXRhbG9nX2ZhY2V0OiBbXSxcbiAgICAgICAgICAgICAgICAgICAgdG90YWxfcGFnZXM6IDAsXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsX3Jlc3VsdHM6IDAsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkXCIgW25nQ2xhc3NdPVwiJ25iLWxpZ25lLScgKyBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9OQkxJR05FXVwiPlxuICAgIDxkaXY+XG4gICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnIChpc0Nsb3NlKT1cInRyaWdnZXJQcm9kdWN0ID0gZmFsc2U7XCIgW2lzQWN0aXZlXT1cInRyaWdnZXJQcm9kdWN0XCIgIFtibG9ja1VVSURdPVwidXVpZFwiIFtwb3NpdGlvbl09XCJUWVBFX0NPTkZJR19QT1NJVElPTl9MRUZUX1RPUFwiIFtpc0Z1bGx3aWR0aF09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8d2Itc3RydWN0dXJlLWNvbmZpZy1jaGVja2JveFxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4zJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9TSE9XX1RJVExFXVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICBbb2ZmXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBbb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtY29uZmlnLWNoZWNrYm94PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLThcIj5cbiAgICAgICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgI3N0cnVjdHVyZVNlYXJjaFByb2R1Y3RcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hOdW1iZXJdPVwiMTVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjI1JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmV3U2VhcmNoKT1cImNoYW5nZVByb2R1Y3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm9kXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0xJU1RfUFJPRFVDVF1cIlxuICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy00XCI+XG4gICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMjYnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1zXT1cImZvcm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhcmdlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiJ2ZhbCBmYS1ib3gtYWx0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlZCk9XCJzZWxlY3RlZFZhbHVlID0gJGV2ZW50OyBzZWxlY3RUaGlzRm9ybSgpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3diLXN0cnVjdHVyZS1jb25maWc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX3RleHRcIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1NIT1dfVElUTEVdXCI+XG4gICAgICAgIDx3ei1lZGl0b3JcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfVElUTEVdXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnF1aWxsLjEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICA8L3d6LWVkaXRvcj5cbiAgICA8L2Rpdj5cbiAgICA8d2ItbG9hZGVyICpuZ0lmPVwiaXNMb2FkaW5nXCIgY2xhc3M9XCJpcy1mdWxsc2l6ZVwiPjwvd2ItbG9hZGVyPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19saXN0XCJcbiAgICAgICAgKm5nSWY9XCJjYXRhbG9nU2VsZWN0aW9uICYmIGNhdGFsb2dTZWxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJiBjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzICYmIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMubGVuZ3RoXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX2xpc3RfX3Byb2R1Y3RcIiAoY2xpY2spPVwidHJpZ2dlclByb2R1Y3QgPSB0cnVlO1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLXdyYXBwZXJcIiAqbmdJZj1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMF0ubWFpbl9pbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1swXS5tYWluX2ltYWdlLmZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2VGcm9udFVybCArIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMF0ubWFpbl9pbWFnZS5maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMF0ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHA+e3sgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1swXS5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD57eyBmb3JtYXRQcmljZVswXSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb2x1bW4tbWF4LXdpZHRoLTUwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzcyBpcy1tdWx0aWxpbmUgd2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fc2Vjb25kXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cyB8IHNsaWNlOiAxOjU7IGxldCBpbmRleCA9IGluZGV4XCIgY2xhc3M9XCJjb2x1bW4gaXMtNlwiIChjbGljayk9XCJ0cmlnZ2VyUHJvZHVjdCA9IHRydWU7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fcHJvZHVjdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWctd3JhcHBlclwiICpuZ0lmPVwicHJvZHVjdC5tYWluX2ltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2UuZmlsZVwiIFtzcmNdPVwiaW1hZ2VGcm9udFVybCArIHByb2R1Y3QubWFpbl9pbWFnZS5maWxlXCIgW2FsdF09XCJwcm9kdWN0Lm5hbWVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7IHByb2R1Y3QubmFtZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyBmb3JtYXRQcmljZVtpbmRleCArIDFdIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uc1wiICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cy5sZW5ndGggPiA1ICYmIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX05CTElHTkVdICE9PSAnMSdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gY29sdW1uLW1heC13aWR0aC01MFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zIGlzLWdhcGxlc3MgaXMtbXVsdGlsaW5lIHdiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX2xpc3RfX3NlY29uZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMgfCBzbGljZTogNjoxMDsgbGV0IGluZGV4ID0gaW5kZXhcIiBjbGFzcz1cImNvbHVtbiBpcy02XCIgKGNsaWNrKT1cInRyaWdnZXJQcm9kdWN0ID0gdHJ1ZTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19saXN0X19wcm9kdWN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZy13cmFwcGVyXCIgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInByb2R1Y3QubWFpbl9pbWFnZS5maWxlXCIgW3NyY109XCJpbWFnZUZyb250VXJsICsgcHJvZHVjdC5tYWluX2ltYWdlLmZpbGVcIiBbYWx0XT1cInByb2R1Y3QubmFtZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgcHJvZHVjdC5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlW2luZGV4ICsgNl0gfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fcHJvZHVjdFwiIChjbGljayk9XCJ0cmlnZ2VyUHJvZHVjdCA9IHRydWU7XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWctd3JhcHBlclwiICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1s1XS5tYWluX2ltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzWzVdLm1haW5faW1hZ2UuZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWFnZUZyb250VXJsICsgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1s1XS5tYWluX2ltYWdlLmZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1s1XS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8cD57eyBjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzWzVdLm5hbWUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlWzVdIH19PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uc1wiICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cy5sZW5ndGggPiAxMCAmJiBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9OQkxJR05FXSA9PT0gJzMnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX2xpc3RfX3Byb2R1Y3RcIiAoY2xpY2spPVwidHJpZ2dlclByb2R1Y3QgPSB0cnVlO1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLXdyYXBwZXJcIiAqbmdJZj1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm1haW5faW1hZ2UuZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWFnZUZyb250VXJsICsgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1sxMF0ubWFpbl9pbWFnZS5maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwPnt7IGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm5hbWUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlWzEwXSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb2x1bW4tbWF4LXdpZHRoLTUwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzcyBpcy1tdWx0aWxpbmUgd2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fc2Vjb25kXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cyB8IHNsaWNlOiAxMTsgbGV0IGluZGV4ID0gaW5kZXhcIiBjbGFzcz1cImNvbHVtbiBpcy02XCIgKGNsaWNrKT1cInRyaWdnZXJQcm9kdWN0ID0gdHJ1ZTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19saXN0X19wcm9kdWN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZy13cmFwcGVyXCIgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInByb2R1Y3QubWFpbl9pbWFnZS5maWxlXCIgW3NyY109XCJpbWFnZUZyb250VXJsICsgcHJvZHVjdC5tYWluX2ltYWdlLmZpbGVcIiBbYWx0XT1cInByb2R1Y3QubmFtZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgcHJvZHVjdC5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlW2luZGV4ICsgMTFdIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19ub2xpc3RcIiAqbmdJZj1cIiFjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzIHx8IGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIDxwPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjYnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtbGlzdC1zZWxlY3RlZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93aXppLWJsb2NrL3NyYy9saWIvc3RydWN0dXJlcy9wcm9kdWN0cy1saXN0L3NlbGVjdGVkL3Byb2R1Y3RzLWxpc3Qtc2VsZWN0ZWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvcHJvZHVjdHMtbGlzdC9zZWxlY3RlZC9wcm9kdWN0cy1saXN0LXNlbGVjdGVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDdEcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXhGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQ3BILE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHdGQUF3RixDQUFDO0FBRXpJLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFPM0UsTUFBTSxPQUFPLDZCQUE4QixTQUFRLG1CQUE0QztJQUUzRixJQUF5QyxPQUFPLENBQUMsT0FBd0M7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LGt6UEF1SUE7MkZEckhhLDZCQUE2QjtrQkFKekMsU0FBUzsrQkFDSSwyQkFBMkIsQ0FBQyxRQUFRLEVBQUU7a01BS1AsT0FBTztzQkFBL0MsU0FBUzt1QkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGT1JNX05BTUVfTElTVF9QUk9EVUNULCBGT1JNX05BTUVfVFlQRV9QUk9EVUNUIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9mb3Jtcy9mb3Jtcy5kdG8nO1xuaW1wb3J0IHsgU3RydWN0dXJlc0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0cnVjdHVyZXMuY29tcG9uZW50JztcbmltcG9ydCB7IFRZUEVfUFJPRFVDVF9TRUxFQ1RJT04gfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Jsb2Nrcy9wcm9kdWN0cy1saXN0L3Byb2R1Y3RzLWxpc3QtY2xhc3NpYy5kdG8nO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IEV4dGVybmFsQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL2V4dGVybmFsLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFByb2R1Y3RzTGlzdFNlbGVjdGVkRHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9ibG9ja3MvcHJvZHVjdHMtbGlzdC9wcm9kdWN0cy1saXN0LXNlbGVjdGVkLmR0byc7XG5pbXBvcnQgeyBQcm9kdWN0c0xpc3RTZWxlY3RlZFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9ibG9ja3MvcHJvZHVjdHMtbGlzdC9wcm9kdWN0cy1saXN0LXNlbGVjdGVkLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RydWN0dXJlU2VhcmNoUHJvZHVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL3N0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdC9zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3QuY29tcG9uZW50JztcbmltcG9ydCB7IENhdGFsb2dMaXN0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL2NhdGFsb2dzL2NhdGFsb2ctbGlzdC5kdG8nO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvY3VycmVuY3kuc2VydmljZSc7XG5pbXBvcnQgeyBFeHRlcm5hbENvbmZpZ0R0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvY29uZmlncy9leHRlcm5hbC9leHRlcm5hbC1jb25maWcuZHRvJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFByb2R1Y3RzTGlzdFNlbGVjdGVkU2VydmljZS5zZWxlY3RvcigpLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcm9kdWN0cy1saXN0LXNlbGVjdGVkLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZHVjdHNMaXN0U2VsZWN0ZWRDb21wb25lbnQgZXh0ZW5kcyBTdHJ1Y3R1cmVzQ29tcG9uZW50PFByb2R1Y3RzTGlzdFNlbGVjdGVkRHRvPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBzdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0OiBTdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0Q29tcG9uZW50O1xuICAgIEBWaWV3Q2hpbGQoJ3N0cnVjdHVyZVNlYXJjaFByb2R1Y3QnKSBzZXQgY29udGVudChjb250cm9sOiBTdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0Q29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdCA9IGNvbnRyb2w7XG4gICAgfVxuXG4gICAgc2VsZWN0ZWRWYWx1ZSA9IHtcbiAgICAgICAgaWQ6IDEsXG4gICAgICAgIHRpdGxlOiAnd2IucHJvZHVjdGxpc3Quc2VsZWN0aW9uJyxcbiAgICAgICAgdmFsdWU6ICdzZWxlY3Rpb24nLFxuICAgIH07XG5cbiAgICB0cmlnZ2VyUHJvZHVjdCA9IGZhbHNlO1xuXG4gICAgY2F0YWxvZ1NlbGVjdGlvbjogQ2F0YWxvZ0xpc3REdG8gPSB7XG4gICAgICAgIHByb2R1Y3RzOiBbXSxcbiAgICAgICAgY2F0YWxvZ19mYWNldDogW10sXG4gICAgICAgIHRvdGFsX3BhZ2VzOiAwLFxuICAgICAgICB0b3RhbF9yZXN1bHRzOiAwLFxuICAgIH07XG5cbiAgICBpbWFnZUZyb250VXJsOiBzdHJpbmc7XG5cbiAgICBkZXZpc2U6IHN0cmluZztcbiAgICBpc286IHN0cmluZztcbiAgICBjb3VudHJ5OiBzdHJpbmc7XG4gICAgZm9ybWF0UHJpY2UgPSBbXTtcbiAgICBpc0xvYWRpbmcgPSB0cnVlO1xuXG4gICAgZm9ybSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDEsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjEnKSxcbiAgICAgICAgICAgIHZhbHVlOiAnc2VsZWN0aW9uJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDIsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjInKSxcbiAgICAgICAgICAgIHZhbHVlOiAnZGlzY291bnQnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogMyxcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2IucHJvZHVjdGxpc3QuMycpLFxuICAgICAgICAgICAgdmFsdWU6ICduZXcnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBpZDogNCxcbiAgICAgICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnd2IucHJvZHVjdGxpc3QuNCcpLFxuICAgICAgICAgICAgdmFsdWU6ICdmbGFzaCcsXG4gICAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZXh0ZXJuYWxDb25maWdTZXJ2aWNlOiBFeHRlcm5hbENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjdXJyZW5jeVNlcnZpY2U6IEN1cnJlbmN5U2VydmljZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5zZXRDb21wb25lbnRTZXJ2aWNlKFByb2R1Y3RzTGlzdFNlbGVjdGVkU2VydmljZSk7XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmltYWdlRnJvbnRVcmwgPSB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5nZXRVcmxJbWFnZUZyb250KCk7XG4gICAgICAgIGlmICghdGhpcy5jdXJyZW5jeVNlcnZpY2UucmVhZHkpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzQ3VycmVuY3lSZWFkeSA9IGF3YWl0IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmluaXRpYWxpemVDdXJyZW5jeSgpO1xuICAgICAgICAgICAgaWYgKGlzQ3VycmVuY3lSZWFkeSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZGV2aXNlID0gdGhpcy5jdXJyZW5jeVNlcnZpY2Uuc3ltYm9sO1xuICAgICAgICAgICAgICAgIHRoaXMuY291bnRyeSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmNvdW50cnk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc28gPSB0aGlzLmN1cnJlbmN5U2VydmljZS5pc287XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZGV2aXNlID0gdGhpcy5leHRlcm5hbENvbmZpZ1NlcnZpY2UuZGV2aXNlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRldmlzZSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLnN5bWJvbDtcbiAgICAgICAgICAgIHRoaXMuY291bnRyeSA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmNvdW50cnk7XG4gICAgICAgICAgICB0aGlzLmlzbyA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmlzbztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0U2hvcFRlbXBsYXRlTGFuZygpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3VudHJ5ID0gZGF0YS5sb2NhbGUucmVwbGFjZSgnXycsICctJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGluaXRpYWxpemUoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdICYmIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlUHJvZHVjdCh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfTElTVF9QUk9EVUNUXSwgZmFsc2UpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNlbGVjdGlvbih0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmdldFNlbGVjdGlvbihUWVBFX1BST0RVQ1RfU0VMRUNUSU9OKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdFRoaXNGb3JtKCkge1xuICAgICAgICB0aGlzLmdldFNlbGVjdGlvbih0aGlzLnNlbGVjdGVkVmFsdWUudmFsdWUpO1xuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSA9IHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZTtcbiAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlUHJvZHVjdChwcm9kSWRzLCBwZXJzaXN0ID0gdHJ1ZSkge1xuICAgICAgICBpZiAocHJvZElkcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZm9ybWF0UHJpY2UgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuYXBpU2VydmljZS5nZXRDYXRhbG9nU3BlY2lmaWMocHJvZElkcykuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIChjYXRhbG9nTGlzdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhdGFsb2dTZWxlY3Rpb24gPSBjYXRhbG9nTGlzdDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVVbmF2YWlsYWJsZSgpO1xuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBpdGVtIG9mIGNhdGFsb2dMaXN0LnByb2R1Y3RzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1hdFByaWNlLnB1c2goXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY291bnRyeSwgeyBzdHlsZTogJ2N1cnJlbmN5JywgY3VycmVuY3k6IHRoaXMuaXNvIH0pLmZvcm1hdChpdGVtLnByaWNlLnByaWNlKVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocGVyc2lzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0gPSBwcm9kSWRzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXJzaXN0KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jYXRhbG9nU2VsZWN0aW9uID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvZHVjdHM6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2F0YWxvZ19mYWNldDogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3RhbF9wYWdlczogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsX3Jlc3VsdHM6IDAsXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfVFlQRV9QUk9EVUNUXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTZWxlY3Rpb24oVFlQRV9QUk9EVUNUX1NFTEVDVElPTik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFNlbGVjdGlvbih0eXBlKSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0gPSBbXTtcbiAgICAgICAgaWYgKHRoaXMuc3RydWN0dXJlU2VhcmNoUHJvZHVjdCkge1xuICAgICAgICAgICAgdGhpcy5zdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0LnNlbGVjdGVkUHJvZCA9IFtdO1xuICAgICAgICAgICAgdGhpcy5zdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0LmN1cnJlbnRTZWxlY3RlZENhdGFsb2cgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmZvcm0uZm9yRWFjaCgodmFsdWVzKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWVzLnZhbHVlID09PSB0eXBlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gdmFsdWVzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5mb3JtYXRQcmljZSA9IFtdO1xuICAgICAgICB0aGlzLmFwaVNlcnZpY2UuZ2V0Q2F0YWxvZ1NlbGVjdGlvbih0eXBlLCAxNSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGNhdGFsb2dMaXN0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRhbG9nU2VsZWN0aW9uID0gY2F0YWxvZ0xpc3Q7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVVbmF2YWlsYWJsZSgpO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgY2F0YWxvZ0xpc3QucHJvZHVjdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtYXRQcmljZS5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY291bnRyeSwgeyBzdHlsZTogJ2N1cnJlbmN5JywgY3VycmVuY3k6IHRoaXMuaXNvIH0pLmZvcm1hdChpdGVtLnByaWNlLnByaWNlKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGFsb2dTZWxlY3Rpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgIHByb2R1Y3RzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgY2F0YWxvZ19mYWNldDogW10sXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsX3BhZ2VzOiAwLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbF9yZXN1bHRzOiAwLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZW1vdmVVbmF2YWlsYWJsZSgpIHtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICB3aGlsZSAoaSA8IHRoaXMuY29udGVudHNbJ2Jsb2NrJ11bRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0ubGVuZ3RoKSB7XG4gICAgICAgICAgICBpZiAoIShBcnJheS5mcm9tKHRoaXMuY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cykuZmluZCgoc2VsZWN0aW9uKSA9PiB7IHJldHVybiBzZWxlY3Rpb24uaWQgPT09IHRoaXMuY29udGVudHNbJ2Jsb2NrJ11bRk9STV9OQU1FX0xJU1RfUFJPRFVDVF1baV0gfSkpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50c1snYmxvY2snXVtGT1JNX05BTUVfTElTVF9QUk9EVUNUXS5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICsraTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkXCIgW25nQ2xhc3NdPVwiJ25iLWxpZ25lLScgKyBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9OQkxJR05FXVwiPlxuICAgIDxkaXY+XG4gICAgICAgIDx3Yi1zdHJ1Y3R1cmUtY29uZmlnIChpc0Nsb3NlKT1cInRyaWdnZXJQcm9kdWN0ID0gZmFsc2U7XCIgW2lzQWN0aXZlXT1cInRyaWdnZXJQcm9kdWN0XCIgIFtibG9ja1VVSURdPVwidXVpZFwiIFtwb3NpdGlvbl09XCJUWVBFX0NPTkZJR19QT1NJVElPTl9MRUZUX1RPUFwiIFtpc0Z1bGx3aWR0aF09XCJ0cnVlXCI+XG4gICAgICAgICAgICA8d2Itc3RydWN0dXJlLWNvbmZpZy1jaGVja2JveFxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCInd2Iuc3RydWN0dXJlcy50ZW1wbGF0ZS4zJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9TSE9XX1RJVExFXVwiXG4gICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicGVyc2lzdCgpXCJcbiAgICAgICAgICAgICAgICBbb2ZmXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBbb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtY29uZmlnLWNoZWNrYm94PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uIGlzLThcIj5cbiAgICAgICAgICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgI3N0cnVjdHVyZVNlYXJjaFByb2R1Y3RcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hOdW1iZXJdPVwiMTVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjI1JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmV3U2VhcmNoKT1cImNoYW5nZVByb2R1Y3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm9kXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0xJU1RfUFJPRFVDVF1cIlxuICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy00XCI+XG4gICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMjYnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1zXT1cImZvcm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhcmdlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiJ2ZhbCBmYS1ib3gtYWx0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlZCk9XCJzZWxlY3RlZFZhbHVlID0gJGV2ZW50OyBzZWxlY3RUaGlzRm9ybSgpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3diLXN0cnVjdHVyZS1jb25maWc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX3RleHRcIiAqbmdJZj1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1NIT1dfVElUTEVdXCI+XG4gICAgICAgIDx3ei1lZGl0b3JcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfVElUTEVdXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3diLnNoYXJlZC5jb21wb25lbnRzLnF1aWxsLjEnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgPlxuICAgICAgICA8L3d6LWVkaXRvcj5cbiAgICA8L2Rpdj5cbiAgICA8d2ItbG9hZGVyICpuZ0lmPVwiaXNMb2FkaW5nXCIgY2xhc3M9XCJpcy1mdWxsc2l6ZVwiPjwvd2ItbG9hZGVyPlxuICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19saXN0XCJcbiAgICAgICAgKm5nSWY9XCJjYXRhbG9nU2VsZWN0aW9uICYmIGNhdGFsb2dTZWxlY3Rpb24gIT09IHVuZGVmaW5lZCAmJiBjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzICYmIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMubGVuZ3RoXCJcbiAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX2xpc3RfX3Byb2R1Y3RcIiAoY2xpY2spPVwidHJpZ2dlclByb2R1Y3QgPSB0cnVlO1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLXdyYXBwZXJcIiAqbmdJZj1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMF0ubWFpbl9pbWFnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1swXS5tYWluX2ltYWdlLmZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaW1hZ2VGcm9udFVybCArIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMF0ubWFpbl9pbWFnZS5maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMF0ubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHA+e3sgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1swXS5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8cD57eyBmb3JtYXRQcmljZVswXSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb2x1bW4tbWF4LXdpZHRoLTUwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzcyBpcy1tdWx0aWxpbmUgd2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fc2Vjb25kXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cyB8IHNsaWNlOiAxOjU7IGxldCBpbmRleCA9IGluZGV4XCIgY2xhc3M9XCJjb2x1bW4gaXMtNlwiIChjbGljayk9XCJ0cmlnZ2VyUHJvZHVjdCA9IHRydWU7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fcHJvZHVjdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWctd3JhcHBlclwiICpuZ0lmPVwicHJvZHVjdC5tYWluX2ltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2UuZmlsZVwiIFtzcmNdPVwiaW1hZ2VGcm9udFVybCArIHByb2R1Y3QubWFpbl9pbWFnZS5maWxlXCIgW2FsdF09XCJwcm9kdWN0Lm5hbWVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7IHByb2R1Y3QubmFtZSB9fTwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD57eyBmb3JtYXRQcmljZVtpbmRleCArIDFdIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uc1wiICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cy5sZW5ndGggPiA1ICYmIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX05CTElHTkVdICE9PSAnMSdcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW4gY29sdW1uLW1heC13aWR0aC01MFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zIGlzLWdhcGxlc3MgaXMtbXVsdGlsaW5lIHdiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX2xpc3RfX3NlY29uZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBwcm9kdWN0IG9mIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMgfCBzbGljZTogNjoxMDsgbGV0IGluZGV4ID0gaW5kZXhcIiBjbGFzcz1cImNvbHVtbiBpcy02XCIgKGNsaWNrKT1cInRyaWdnZXJQcm9kdWN0ID0gdHJ1ZTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19saXN0X19wcm9kdWN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZy13cmFwcGVyXCIgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInByb2R1Y3QubWFpbl9pbWFnZS5maWxlXCIgW3NyY109XCJpbWFnZUZyb250VXJsICsgcHJvZHVjdC5tYWluX2ltYWdlLmZpbGVcIiBbYWx0XT1cInByb2R1Y3QubmFtZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgcHJvZHVjdC5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlW2luZGV4ICsgNl0gfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fcHJvZHVjdFwiIChjbGljayk9XCJ0cmlnZ2VyUHJvZHVjdCA9IHRydWU7XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWctd3JhcHBlclwiICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1s1XS5tYWluX2ltYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzWzVdLm1haW5faW1hZ2UuZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWFnZUZyb250VXJsICsgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1s1XS5tYWluX2ltYWdlLmZpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthbHRdPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1s1XS5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8cD57eyBjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzWzVdLm5hbWUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlWzVdIH19PC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uc1wiICpuZ0lmPVwiY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cy5sZW5ndGggPiAxMCAmJiBjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9OQkxJR05FXSA9PT0gJzMnXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2VsZWN0ZWRfX2xpc3RfX3Byb2R1Y3RcIiAoY2xpY2spPVwidHJpZ2dlclByb2R1Y3QgPSB0cnVlO1wiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLXdyYXBwZXJcIiAqbmdJZj1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm1haW5faW1hZ2UuZmlsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJpbWFnZUZyb250VXJsICsgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0c1sxMF0ubWFpbl9pbWFnZS5maWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWx0XT1cImNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwPnt7IGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHNbMTBdLm5hbWUgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlWzEwXSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBjb2x1bW4tbWF4LXdpZHRoLTUwXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbnMgaXMtZ2FwbGVzcyBpcy1tdWx0aWxpbmUgd2ItcHJvZHVjdHMtbGlzdC1zZWxlY3RlZF9fbGlzdF9fc2Vjb25kXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHByb2R1Y3Qgb2YgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cyB8IHNsaWNlOiAxMTsgbGV0IGluZGV4ID0gaW5kZXhcIiBjbGFzcz1cImNvbHVtbiBpcy02XCIgKGNsaWNrKT1cInRyaWdnZXJQcm9kdWN0ID0gdHJ1ZTtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19saXN0X19wcm9kdWN0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltZy13cmFwcGVyXCIgKm5nSWY9XCJwcm9kdWN0Lm1haW5faW1hZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyAqbmdJZj1cInByb2R1Y3QubWFpbl9pbWFnZS5maWxlXCIgW3NyY109XCJpbWFnZUZyb250VXJsICsgcHJvZHVjdC5tYWluX2ltYWdlLmZpbGVcIiBbYWx0XT1cInByb2R1Y3QubmFtZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHA+e3sgcHJvZHVjdC5uYW1lIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7IGZvcm1hdFByaWNlW2luZGV4ICsgMTFdIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3Yi1wcm9kdWN0cy1saXN0LXNlbGVjdGVkX19ub2xpc3RcIiAqbmdJZj1cIiFjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzIHx8IGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIDxwPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjYnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -110,7 +110,6 @@ export class ProductsListSimpleComponent extends StructuresComponent {
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
selectThisForm() {
|
|
113
|
-
console.log(this.selectedValue.value);
|
|
114
113
|
this.getSelection(this.selectedValue.value);
|
|
115
114
|
this.contentBlock[FORM_NAME_TYPE_PRODUCT] = this.selectedValue.value;
|
|
116
115
|
this.persist();
|
|
@@ -121,7 +120,7 @@ export class ProductsListSimpleComponent extends StructuresComponent {
|
|
|
121
120
|
this.formatPrice = [];
|
|
122
121
|
this.apiService.getCatalogSpecific(prodIds).subscribe((catalogList) => {
|
|
123
122
|
this.catalogSelection = catalogList;
|
|
124
|
-
|
|
123
|
+
this.removeUnavailable();
|
|
125
124
|
for (let item of catalogList.products) {
|
|
126
125
|
this.formatPrice.push(new Intl.NumberFormat(this.country, { style: 'currency', currency: this.iso }).format(item.price.price));
|
|
127
126
|
}
|
|
@@ -165,6 +164,7 @@ export class ProductsListSimpleComponent extends StructuresComponent {
|
|
|
165
164
|
this.formatPrice = [];
|
|
166
165
|
this.apiService.getCatalogSelection(type, 9).subscribe((catalogList) => {
|
|
167
166
|
this.catalogSelection = catalogList;
|
|
167
|
+
this.removeUnavailable();
|
|
168
168
|
for (let item of catalogList.products) {
|
|
169
169
|
this.formatPrice.push(new Intl.NumberFormat(this.country, { style: 'currency', currency: this.iso }).format(item.price.price));
|
|
170
170
|
}
|
|
@@ -179,6 +179,17 @@ export class ProductsListSimpleComponent extends StructuresComponent {
|
|
|
179
179
|
this.isLoading = false;
|
|
180
180
|
});
|
|
181
181
|
}
|
|
182
|
+
removeUnavailable() {
|
|
183
|
+
let i = 0;
|
|
184
|
+
while (i < this.contents['block'][FORM_NAME_LIST_PRODUCT].length) {
|
|
185
|
+
if (!(Array.from(this.catalogSelection.products).find((selection) => { return selection.id === this.contents['block'][FORM_NAME_LIST_PRODUCT][i]; }))) {
|
|
186
|
+
this.contents['block'][FORM_NAME_LIST_PRODUCT].splice(i, 1);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
++i;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
182
193
|
}
|
|
183
194
|
ProductsListSimpleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ProductsListSimpleComponent, deps: [{ token: i1.ApiService }, { token: i2.ExternalConfigService }, { token: i3.TranslateService }, { token: i4.CurrencyService }], target: i0.ɵɵFactoryTarget.Component });
|
|
184
195
|
ProductsListSimpleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ProductsListSimpleComponent, selector: "wb-products-list-simple", viewQueries: [{ propertyName: "content", first: true, predicate: ["structureSearchProduct"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"wb-products-list-simple\" [ngClass]=\"'nb-ligne-' + contents[BASE_BLOCK_CONTENT][FORM_NAME_NBLIGNE]\">\n <div>\n <wb-structure-config (isClose)=\"triggerProduct = false;\" [isActive]=\"triggerProduct\" [blockUUID]=\"uuid\" [position]=\"TYPE_CONFIG_POSITION_LEFT_TOP\" [isFullwidth]=\"true\">\n <wb-structure-config-checkbox\n [label]=\"'wb.structures.template.3' | translate\"\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SHOW_TITLE]\"\n (ngModelChange)=\"persist()\"\n [off]=\"false\"\n [on]=\"true\"\n ></wb-structure-config-checkbox>\n <div class=\"columns\">\n <div class=\"column is-8\">\n <wb-structure-search-product\n #structureSearchProduct\n [searchNumber]=\"9\"\n [label]=\"'wb.structures.template.25' | translate\"\n (newSearch)=\"changeProduct($event)\"\n [selectedProd]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_LIST_PRODUCT]\"\n ></wb-structure-search-product>\n </div>\n <div class=\"column is-4\">\n <wb-structure-select\n [label]=\"'wb.structures.template.26' | translate\"\n [selectedValue]=\"selectedValue\"\n [forms]=\"form\"\n [large]=\"true\"\n [icon]=\"'fal fa-box-alt'\"\n (changed)=\"selectedValue = $event; selectThisForm()\"\n ></wb-structure-select>\n </div>\n </div>\n </wb-structure-config>\n </div>\n <div class=\"wb-products-list-simple__text\" *ngIf=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_SHOW_TITLE]\">\n <wz-editor\n [(ngModel)]=\"contents[BASE_BLOCK_CONTENT][FORM_NAME_TITLE]\"\n (ngModelChange)=\"persist()\"\n [placeholder]=\"'wb.shared.components.quill.1' | translate\"\n >\n </wz-editor>\n </div>\n <wb-loader *ngIf=\"isLoading\" class=\"is-fullsize\"></wb-loader>\n <div\n class=\"wb-products-list-simple__list\"\n *ngIf=\"catalogSelection && catalogSelection !== undefined && catalogSelection.products && catalogSelection.products.length\"\n >\n <div *ngFor=\"let product of catalogSelection.products; let index = index\" (click)=\"triggerProduct = true;\">\n <div>\n <p>{{ product.name }}</p>\n <p>{{ formatPrice[index] }}</p>\n <a>{{ 'wb.structures.template.23' | translate }}</a>\n </div>\n <img *ngIf=\"product.main_image.file\" [src]=\"imageFrontUrl + product.main_image.file\" [alt]=\"product.name\" />\n </div>\n </div>\n <div class=\"wb-products-list-simple__nolist\" *ngIf=\"!catalogSelection.products || catalogSelection.products.length === 0\">\n <p>{{ 'wb.structures.template.6' | translate }}</p>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.StructureConfigComponent, selector: "wb-structure-config", inputs: ["isActive", "blockUUID", "position", "isFullwidth", "small", "extraSmall"], outputs: ["isClose"] }, { kind: "component", type: i8.StructureConfigCheckboxComponent, selector: "wb-structure-config-checkbox", inputs: ["label", "on", "off"] }, { kind: "component", type: i9.StructureSelectComponent, selector: "wb-structure-select", inputs: ["selectedValue", "forms", "large", "icon", "label"], outputs: ["changed"] }, { kind: "component", type: i10.StructureSearchProductComponent, selector: "wb-structure-search-product", inputs: ["label", "searchNumber", "selectedProd"], outputs: ["newSearch"] }, { kind: "component", type: i11.LoaderComponent, selector: "wb-loader" }, { kind: "component", type: i12.WiziEditorComponent, selector: "wz-editor", inputs: ["placeholder", "position"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] });
|
|
@@ -189,4 +200,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImpor
|
|
|
189
200
|
type: ViewChild,
|
|
190
201
|
args: ['structureSearchProduct']
|
|
191
202
|
}] } });
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtbGlzdC1zaW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvcHJvZHVjdHMtbGlzdC9zaW1wbGUvcHJvZHVjdHMtbGlzdC1zaW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvcHJvZHVjdHMtbGlzdC9zaW1wbGUvcHJvZHVjdHMtbGlzdC1zaW1wbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFeEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDaEgsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0ZBQXdGLENBQUM7QUFFekksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7Ozs7OztBQU8zRSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUJBQTBDO0lBRXZGLElBQXlDLE9BQU8sQ0FBQyxPQUF3QztRQUNyRixJQUFJ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SSxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUMxRyxDQUFDO2FBQ0w7WUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDLEVBQ0QsR0FBRyxFQUFFO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHO2dCQUNwQixRQUFRLEVBQUUsRUFBRTtnQkFDWixhQUFhLEVBQUUsRUFBRTtnQkFDakIsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsYUFBYSxFQUFFLENBQUM7YUFDbkIsQ0FBQztZQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7d0hBdkxRLDJCQUEyQjs0R0FBM0IsMkJBQTJCLHlNQ2xCeEMsNGlHQTJEQTsyRkR6Q2EsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNJLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtrTUFLTCxPQUFPO3NCQUEvQyxTQUFTO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZPUk1fTkFNRV9MSVNUX1BST0RVQ1QsIEZPUk1fTkFNRV9UWVBFX1BST0RVQ1QgfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Zvcm1zL2Zvcm1zLmR0byc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc3RydWN0dXJlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVFlQRV9QUk9EVUNUX1NFTEVDVElPTiB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYmxvY2tzL3Byb2R1Y3RzLWxpc3QvcHJvZHVjdHMtbGlzdC1jbGFzc2ljLmR0byc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXh0ZXJuYWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvZXh0ZXJuYWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNMaXN0U2ltcGxlRHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9ibG9ja3MvcHJvZHVjdHMtbGlzdC9wcm9kdWN0cy1saXN0LXNpbXBsZS5kdG8nO1xuaW1wb3J0IHsgUHJvZHVjdHNMaXN0U2ltcGxlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Jsb2Nrcy9wcm9kdWN0cy1saXN0L3Byb2R1Y3RzLWxpc3Qtc2ltcGxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RydWN0dXJlU2VhcmNoUHJvZHVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL3N0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdC9zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3QuY29tcG9uZW50JztcbmltcG9ydCB7IENhdGFsb2dMaXN0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL2NhdGFsb2dzL2NhdGFsb2ctbGlzdC5kdG8nO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvY3VycmVuY3kuc2VydmljZSc7XG5pbXBvcnQgeyBFeHRlcm5hbENvbmZpZ0R0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvY29uZmlncy9leHRlcm5hbC9leHRlcm5hbC1jb25maWcuZHRvJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFByb2R1Y3RzTGlzdFNpbXBsZVNlcnZpY2Uuc2VsZWN0b3IoKSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdHMtbGlzdC1zaW1wbGUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0c0xpc3RTaW1wbGVDb21wb25lbnQgZXh0ZW5kcyBTdHJ1Y3R1cmVzQ29tcG9uZW50PFByb2R1Y3RzTGlzdFNpbXBsZUR0bz4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgc3RydWN0dXJlU2VhcmNoUHJvZHVjdDogU3RydWN0dXJlU2VhcmNoUHJvZHVjdENvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdzdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0Jykgc2V0IGNvbnRlbnQoY29udHJvbDogU3RydWN0dXJlU2VhcmNoUHJvZHVjdENvbXBvbmVudCkge1xuICAgICAgICB0aGlzLnN0cnVjdHVyZVNlYXJjaFByb2R1Y3QgPSBjb250cm9sO1xuICAgIH1cblxuICAgIHNlbGVjdGVkVmFsdWUgPSB7XG4gICAgICAgIGlkOiAxLFxuICAgICAgICB0aXRsZTogJ3diLnByb2R1Y3RsaXN0LnNlbGVjdGlvbicsXG4gICAgICAgIHZhbHVlOiAnc2VsZWN0aW9uJyxcbiAgICB9O1xuXG4gICAgdHJpZ2dlclByb2R1Y3QgPSBmYWxzZTtcblxuICAgIGNhdGFsb2dTZWxlY3Rpb246IENhdGFsb2dMaXN0RHRvID0ge1xuICAgICAgICBwcm9kdWN0czogW10sXG4gICAgICAgIGNhdGFsb2dfZmFjZXQ6IFtdLFxuICAgICAgICB0b3RhbF9wYWdlczogMCxcbiAgICAgICAgdG90YWxfcmVzdWx0czogMCxcbiAgICB9O1xuXG4gICAgaW1hZ2VGcm9udFVybDogc3RyaW5nO1xuXG4gICAgZGV2aXNlOiBzdHJpbmc7XG4gICAgaXNvOiBzdHJpbmc7XG4gICAgY291bnRyeTogc3RyaW5nO1xuICAgIGZvcm1hdFByaWNlID0gW107XG4gICAgaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIGZvcm0gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAxLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3Yi5wcm9kdWN0bGlzdC4xJyksXG4gICAgICAgICAgICB2YWx1ZTogJ3NlbGVjdGlvbicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAyLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3Yi5wcm9kdWN0bGlzdC4yJyksXG4gICAgICAgICAgICB2YWx1ZTogJ2Rpc2NvdW50JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDMsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjMnKSxcbiAgICAgICAgICAgIHZhbHVlOiAnbmV3JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDQsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjQnKSxcbiAgICAgICAgICAgIHZhbHVlOiAnZmxhc2gnLFxuICAgICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGV4dGVybmFsQ29uZmlnU2VydmljZTogRXh0ZXJuYWxDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY3VycmVuY3lTZXJ2aWNlOiBDdXJyZW5jeVNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuc2V0Q29tcG9uZW50U2VydmljZShQcm9kdWN0c0xpc3RTaW1wbGVTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuaW1hZ2VGcm9udFVybCA9IHRoaXMuZXh0ZXJuYWxDb25maWdTZXJ2aWNlLmdldFVybEltYWdlRnJvbnQoKTtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbmN5U2VydmljZS5yZWFkeSkge1xuICAgICAgICAgICAgY29uc3QgaXNDdXJyZW5jeVJlYWR5ID0gYXdhaXQgdGhpcy5jdXJyZW5jeVNlcnZpY2UuaW5pdGlhbGl6ZUN1cnJlbmN5KCk7XG4gICAgICAgICAgICBpZiAoaXNDdXJyZW5jeVJlYWR5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXZpc2UgPSB0aGlzLmN1cnJlbmN5U2VydmljZS5zeW1ib2w7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3VudHJ5ID0gdGhpcy5jdXJyZW5jeVNlcnZpY2UuY291bnRyeTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzbyA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmlzbztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXZpc2UgPSB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5kZXZpc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGV2aXNlID0gdGhpcy5jdXJyZW5jeVNlcnZpY2Uuc3ltYm9sO1xuICAgICAgICAgICAgdGhpcy5jb3VudHJ5ID0gdGhpcy5jdXJyZW5jeVNlcnZpY2UuY291bnRyeTtcbiAgICAgICAgICAgIHRoaXMuaXNvID0gdGhpcy5jdXJyZW5jeVNlcnZpY2UuaXNvO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYXBpU2VydmljZS5nZXRTaG9wVGVtcGxhdGVMYW5nKCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnkgPSBkYXRhLmxvY2FsZS5yZXBsYWNlKCdfJywgJy0nKTtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0gJiYgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VQcm9kdWN0KHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdLCBmYWxzZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKFRZUEVfUFJPRFVDVF9TRUxFQ1RJT04pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0VGhpc0Zvcm0oKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZSk7XG4gICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZSk7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdID0gdGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlO1xuICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VQcm9kdWN0KHByb2RJZHMsIHBlcnNpc3QgPSB0cnVlKSB7XG4gICAgICAgIGlmIChwcm9kSWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5mb3JtYXRQcmljZSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldENhdGFsb2dTcGVjaWZpYyhwcm9kSWRzKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKGNhdGFsb2dMaXN0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IGNhdGFsb2dMaXN0O1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhjYXRhbG9nTGlzdCk7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgY2F0YWxvZ0xpc3QucHJvZHVjdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0UHJpY2UucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jb3VudHJ5LCB7IHN0eWxlOiAnY3VycmVuY3knLCBjdXJyZW5jeTogdGhpcy5pc28gfSkuZm9ybWF0KGl0ZW0ucHJpY2UucHJpY2UpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChwZXJzaXN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfTElTVF9QUk9EVUNUXSA9IHByb2RJZHM7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhdGFsb2dTZWxlY3Rpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0czogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRhbG9nX2ZhY2V0OiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsX3BhZ2VzOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxfcmVzdWx0czogMCxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTZWxlY3Rpb24odGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX1RZUEVfUFJPRFVDVF0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNlbGVjdGlvbihUWVBFX1BST0RVQ1RfU0VMRUNUSU9OKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucGVyc2lzdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0U2VsZWN0aW9uKHR5cGUpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfTElTVF9QUk9EVUNUXSA9IFtdO1xuICAgICAgICBpZiAodGhpcy5zdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0KSB7XG4gICAgICAgICAgICB0aGlzLnN0cnVjdHVyZVNlYXJjaFByb2R1Y3Quc2VsZWN0ZWRQcm9kID0gW107XG4gICAgICAgICAgICB0aGlzLnN0cnVjdHVyZVNlYXJjaFByb2R1Y3QuY3VycmVudFNlbGVjdGVkQ2F0YWxvZyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZm9ybS5mb3JFYWNoKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZXMudmFsdWUgPT09IHR5cGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB2YWx1ZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm1hdFByaWNlID0gW107XG4gICAgICAgIHRoaXMuYXBpU2VydmljZS5nZXRDYXRhbG9nU2VsZWN0aW9uKHR5cGUsIDkpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChjYXRhbG9nTGlzdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IGNhdGFsb2dMaXN0O1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgY2F0YWxvZ0xpc3QucHJvZHVjdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtYXRQcmljZS5wdXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY291bnRyeSwgeyBzdHlsZTogJ2N1cnJlbmN5JywgY3VycmVuY3k6IHRoaXMuaXNvIH0pLmZvcm1hdChpdGVtLnByaWNlLnByaWNlKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhdGFsb2dTZWxlY3Rpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgIHByb2R1Y3RzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgY2F0YWxvZ19mYWNldDogW10sXG4gICAgICAgICAgICAgICAgICAgIHRvdGFsX3BhZ2VzOiAwLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbF9yZXN1bHRzOiAwLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1zaW1wbGVcIiBbbmdDbGFzc109XCInbmItbGlnbmUtJyArIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX05CTElHTkVdXCI+XG4gICAgPGRpdj5cbiAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWcgKGlzQ2xvc2UpPVwidHJpZ2dlclByb2R1Y3QgPSBmYWxzZTtcIiBbaXNBY3RpdmVdPVwidHJpZ2dlclByb2R1Y3RcIiBbYmxvY2tVVUlEXT1cInV1aWRcIiBbcG9zaXRpb25dPVwiVFlQRV9DT05GSUdfUE9TSVRJT05fTEVGVF9UT1BcIiBbaXNGdWxsd2lkdGhdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWctY2hlY2tib3hcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfU0hPV19USVRMRV1cIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgW29mZl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW29uXT1cInRydWVcIlxuICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLWNvbmZpZy1jaGVja2JveD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy04XCI+XG4gICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3RcbiAgICAgICAgICAgICAgICAgICAgICAgICNzdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0XG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoTnVtYmVyXT1cIjlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjI1JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmV3U2VhcmNoKT1cImNoYW5nZVByb2R1Y3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm9kXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0xJU1RfUFJPRFVDVF1cIlxuICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy00XCI+XG4gICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMjYnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1zXT1cImZvcm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhcmdlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiJ2ZhbCBmYS1ib3gtYWx0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlZCk9XCJzZWxlY3RlZFZhbHVlID0gJGV2ZW50OyBzZWxlY3RUaGlzRm9ybSgpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3diLXN0cnVjdHVyZS1jb25maWc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2ltcGxlX190ZXh0XCIgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9TSE9XX1RJVExFXVwiPlxuICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgPC9kaXY+XG4gICAgPHdiLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiIGNsYXNzPVwiaXMtZnVsbHNpemVcIj48L3diLWxvYWRlcj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1zaW1wbGVfX2xpc3RcIlxuICAgICAgICAqbmdJZj1cImNhdGFsb2dTZWxlY3Rpb24gJiYgY2F0YWxvZ1NlbGVjdGlvbiAhPT0gdW5kZWZpbmVkICYmIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMgJiYgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cy5sZW5ndGhcIlxuICAgID5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcHJvZHVjdCBvZiBjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzOyBsZXQgaW5kZXggPSBpbmRleFwiIChjbGljayk9XCJ0cmlnZ2VyUHJvZHVjdCA9IHRydWU7XCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxwPnt7IHByb2R1Y3QubmFtZSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8cD57eyBmb3JtYXRQcmljZVtpbmRleF0gfX08L3A+XG4gICAgICAgICAgICAgICAgPGE+e3sgJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMjMnIHwgdHJhbnNsYXRlIH19PC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwicHJvZHVjdC5tYWluX2ltYWdlLmZpbGVcIiBbc3JjXT1cImltYWdlRnJvbnRVcmwgKyBwcm9kdWN0Lm1haW5faW1hZ2UuZmlsZVwiIFthbHRdPVwicHJvZHVjdC5uYW1lXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2ltcGxlX19ub2xpc3RcIiAqbmdJZj1cIiFjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzIHx8IGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIDxwPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjYnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdHMtbGlzdC1zaW1wbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvcHJvZHVjdHMtbGlzdC9zaW1wbGUvcHJvZHVjdHMtbGlzdC1zaW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2l6aS1ibG9jay9zcmMvbGliL3N0cnVjdHVyZXMvcHJvZHVjdHMtbGlzdC9zaW1wbGUvcHJvZHVjdHMtbGlzdC1zaW1wbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN0RyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFFeEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDaEgsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sd0ZBQXdGLENBQUM7QUFFekksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7Ozs7OztBQU8zRSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUJBQTBDO0lBRXZGLElBQXlDLE9BQU8sQ0FBQyxPQUF3QztRQUNyRixJQUFJ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RkR6Q2EsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNJLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtrTUFLTCxPQUFPO3NCQUEvQyxTQUFTO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZPUk1fTkFNRV9MSVNUX1BST0RVQ1QsIEZPUk1fTkFNRV9UWVBFX1BST0RVQ1QgfSBmcm9tICcuLi8uLi8uLi9kdG9zL2Zvcm1zL2Zvcm1zLmR0byc7XG5pbXBvcnQgeyBTdHJ1Y3R1cmVzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vc3RydWN0dXJlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgVFlQRV9QUk9EVUNUX1NFTEVDVElPTiB9IGZyb20gJy4uLy4uLy4uL2R0b3MvYmxvY2tzL3Byb2R1Y3RzLWxpc3QvcHJvZHVjdHMtbGlzdC1jbGFzc2ljLmR0byc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXh0ZXJuYWxDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvZXh0ZXJuYWwtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvZHVjdHNMaXN0U2ltcGxlRHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9ibG9ja3MvcHJvZHVjdHMtbGlzdC9wcm9kdWN0cy1saXN0LXNpbXBsZS5kdG8nO1xuaW1wb3J0IHsgUHJvZHVjdHNMaXN0U2ltcGxlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Jsb2Nrcy9wcm9kdWN0cy1saXN0L3Byb2R1Y3RzLWxpc3Qtc2ltcGxlLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RydWN0dXJlU2VhcmNoUHJvZHVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb21wb25lbnRzL3N0cnVjdHVyZS1zZWFyY2gtcHJvZHVjdC9zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3QuY29tcG9uZW50JztcbmltcG9ydCB7IENhdGFsb2dMaXN0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZHRvcy9hcGlzL2NhdGFsb2dzL2NhdGFsb2ctbGlzdC5kdG8nO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ3VycmVuY3lTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvY3VycmVuY3kuc2VydmljZSc7XG5pbXBvcnQgeyBFeHRlcm5hbENvbmZpZ0R0byB9IGZyb20gJy4uLy4uLy4uL2R0b3MvY29uZmlncy9leHRlcm5hbC9leHRlcm5hbC1jb25maWcuZHRvJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFByb2R1Y3RzTGlzdFNpbXBsZVNlcnZpY2Uuc2VsZWN0b3IoKSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJvZHVjdHMtbGlzdC1zaW1wbGUuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0c0xpc3RTaW1wbGVDb21wb25lbnQgZXh0ZW5kcyBTdHJ1Y3R1cmVzQ29tcG9uZW50PFByb2R1Y3RzTGlzdFNpbXBsZUR0bz4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgc3RydWN0dXJlU2VhcmNoUHJvZHVjdDogU3RydWN0dXJlU2VhcmNoUHJvZHVjdENvbXBvbmVudDtcbiAgICBAVmlld0NoaWxkKCdzdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0Jykgc2V0IGNvbnRlbnQoY29udHJvbDogU3RydWN0dXJlU2VhcmNoUHJvZHVjdENvbXBvbmVudCkge1xuICAgICAgICB0aGlzLnN0cnVjdHVyZVNlYXJjaFByb2R1Y3QgPSBjb250cm9sO1xuICAgIH1cblxuICAgIHNlbGVjdGVkVmFsdWUgPSB7XG4gICAgICAgIGlkOiAxLFxuICAgICAgICB0aXRsZTogJ3diLnByb2R1Y3RsaXN0LnNlbGVjdGlvbicsXG4gICAgICAgIHZhbHVlOiAnc2VsZWN0aW9uJyxcbiAgICB9O1xuXG4gICAgdHJpZ2dlclByb2R1Y3QgPSBmYWxzZTtcblxuICAgIGNhdGFsb2dTZWxlY3Rpb246IENhdGFsb2dMaXN0RHRvID0ge1xuICAgICAgICBwcm9kdWN0czogW10sXG4gICAgICAgIGNhdGFsb2dfZmFjZXQ6IFtdLFxuICAgICAgICB0b3RhbF9wYWdlczogMCxcbiAgICAgICAgdG90YWxfcmVzdWx0czogMCxcbiAgICB9O1xuXG4gICAgaW1hZ2VGcm9udFVybDogc3RyaW5nO1xuXG4gICAgZGV2aXNlOiBzdHJpbmc7XG4gICAgaXNvOiBzdHJpbmc7XG4gICAgY291bnRyeTogc3RyaW5nO1xuICAgIGZvcm1hdFByaWNlID0gW107XG4gICAgaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIGZvcm0gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAxLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3Yi5wcm9kdWN0bGlzdC4xJyksXG4gICAgICAgICAgICB2YWx1ZTogJ3NlbGVjdGlvbicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGlkOiAyLFxuICAgICAgICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCd3Yi5wcm9kdWN0bGlzdC4yJyksXG4gICAgICAgICAgICB2YWx1ZTogJ2Rpc2NvdW50JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDMsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjMnKSxcbiAgICAgICAgICAgIHZhbHVlOiAnbmV3JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgaWQ6IDQsXG4gICAgICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ3diLnByb2R1Y3RsaXN0LjQnKSxcbiAgICAgICAgICAgIHZhbHVlOiAnZmxhc2gnLFxuICAgICAgICB9LFxuICAgIF07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGV4dGVybmFsQ29uZmlnU2VydmljZTogRXh0ZXJuYWxDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY3VycmVuY3lTZXJ2aWNlOiBDdXJyZW5jeVNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuc2V0Q29tcG9uZW50U2VydmljZShQcm9kdWN0c0xpc3RTaW1wbGVTZXJ2aWNlKTtcbiAgICB9XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuaW1hZ2VGcm9udFVybCA9IHRoaXMuZXh0ZXJuYWxDb25maWdTZXJ2aWNlLmdldFVybEltYWdlRnJvbnQoKTtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbmN5U2VydmljZS5yZWFkeSkge1xuICAgICAgICAgICAgY29uc3QgaXNDdXJyZW5jeVJlYWR5ID0gYXdhaXQgdGhpcy5jdXJyZW5jeVNlcnZpY2UuaW5pdGlhbGl6ZUN1cnJlbmN5KCk7XG4gICAgICAgICAgICBpZiAoaXNDdXJyZW5jeVJlYWR5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXZpc2UgPSB0aGlzLmN1cnJlbmN5U2VydmljZS5zeW1ib2w7XG4gICAgICAgICAgICAgICAgdGhpcy5jb3VudHJ5ID0gdGhpcy5jdXJyZW5jeVNlcnZpY2UuY291bnRyeTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzbyA9IHRoaXMuY3VycmVuY3lTZXJ2aWNlLmlzbztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kZXZpc2UgPSB0aGlzLmV4dGVybmFsQ29uZmlnU2VydmljZS5kZXZpc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGV2aXNlID0gdGhpcy5jdXJyZW5jeVNlcnZpY2Uuc3ltYm9sO1xuICAgICAgICAgICAgdGhpcy5jb3VudHJ5ID0gdGhpcy5jdXJyZW5jeVNlcnZpY2UuY291bnRyeTtcbiAgICAgICAgICAgIHRoaXMuaXNvID0gdGhpcy5jdXJyZW5jeVNlcnZpY2UuaXNvO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYXBpU2VydmljZS5nZXRTaG9wVGVtcGxhdGVMYW5nKCkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvdW50cnkgPSBkYXRhLmxvY2FsZS5yZXBsYWNlKCdfJywgJy0nKTtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0gJiYgdGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VQcm9kdWN0KHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdLCBmYWxzZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKFRZUEVfUFJPRFVDVF9TRUxFQ1RJT04pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0VGhpc0Zvcm0oKSB7XG4gICAgICAgIHRoaXMuZ2V0U2VsZWN0aW9uKHRoaXMuc2VsZWN0ZWRWYWx1ZS52YWx1ZSk7XG4gICAgICAgIHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdID0gdGhpcy5zZWxlY3RlZFZhbHVlLnZhbHVlO1xuICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICB9XG5cbiAgICBjaGFuZ2VQcm9kdWN0KHByb2RJZHMsIHBlcnNpc3QgPSB0cnVlKSB7XG4gICAgICAgIGlmIChwcm9kSWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5mb3JtYXRQcmljZSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLmdldENhdGFsb2dTcGVjaWZpYyhwcm9kSWRzKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgKGNhdGFsb2dMaXN0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IGNhdGFsb2dMaXN0O1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVVuYXZhaWxhYmxlKCk7XG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgY2F0YWxvZ0xpc3QucHJvZHVjdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0UHJpY2UucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jb3VudHJ5LCB7IHN0eWxlOiAnY3VycmVuY3knLCBjdXJyZW5jeTogdGhpcy5pc28gfSkuZm9ybWF0KGl0ZW0ucHJpY2UucHJpY2UpXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChwZXJzaXN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfTElTVF9QUk9EVUNUXSA9IHByb2RJZHM7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBlcnNpc3QoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNhdGFsb2dTZWxlY3Rpb24gPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0czogW10sXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRhbG9nX2ZhY2V0OiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsX3BhZ2VzOiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxfcmVzdWx0czogMCxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudEJsb2NrW0ZPUk1fTkFNRV9UWVBFX1BST0RVQ1RdKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRTZWxlY3Rpb24odGhpcy5jb250ZW50QmxvY2tbRk9STV9OQU1FX1RZUEVfUFJPRFVDVF0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNlbGVjdGlvbihUWVBFX1BST0RVQ1RfU0VMRUNUSU9OKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucGVyc2lzdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0U2VsZWN0aW9uKHR5cGUpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICB0aGlzLmNvbnRlbnRCbG9ja1tGT1JNX05BTUVfTElTVF9QUk9EVUNUXSA9IFtdO1xuICAgICAgICBpZiAodGhpcy5zdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0KSB7XG4gICAgICAgICAgICB0aGlzLnN0cnVjdHVyZVNlYXJjaFByb2R1Y3Quc2VsZWN0ZWRQcm9kID0gW107XG4gICAgICAgICAgICB0aGlzLnN0cnVjdHVyZVNlYXJjaFByb2R1Y3QuY3VycmVudFNlbGVjdGVkQ2F0YWxvZyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZm9ybS5mb3JFYWNoKCh2YWx1ZXMpID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZXMudmFsdWUgPT09IHR5cGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVmFsdWUgPSB2YWx1ZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm1hdFByaWNlID0gW107XG4gICAgICAgIHRoaXMuYXBpU2VydmljZS5nZXRDYXRhbG9nU2VsZWN0aW9uKHR5cGUsIDkpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChjYXRhbG9nTGlzdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2F0YWxvZ1NlbGVjdGlvbiA9IGNhdGFsb2dMaXN0O1xuICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlVW5hdmFpbGFibGUoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpdGVtIG9mIGNhdGFsb2dMaXN0LnByb2R1Y3RzKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybWF0UHJpY2UucHVzaChcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmNvdW50cnksIHsgc3R5bGU6ICdjdXJyZW5jeScsIGN1cnJlbmN5OiB0aGlzLmlzbyB9KS5mb3JtYXQoaXRlbS5wcmljZS5wcmljZSlcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXRhbG9nU2VsZWN0aW9uID0ge1xuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0czogW10sXG4gICAgICAgICAgICAgICAgICAgIGNhdGFsb2dfZmFjZXQ6IFtdLFxuICAgICAgICAgICAgICAgICAgICB0b3RhbF9wYWdlczogMCxcbiAgICAgICAgICAgICAgICAgICAgdG90YWxfcmVzdWx0czogMCxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmVtb3ZlVW5hdmFpbGFibGUoKSB7XG4gICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgd2hpbGUgKGkgPCB0aGlzLmNvbnRlbnRzWydibG9jayddW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdLmxlbmd0aCkge1xuICAgICAgICAgICAgaWYgKCEoQXJyYXkuZnJvbSh0aGlzLmNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMpLmZpbmQoKHNlbGVjdGlvbikgPT4geyByZXR1cm4gc2VsZWN0aW9uLmlkID09PSB0aGlzLmNvbnRlbnRzWydibG9jayddW0ZPUk1fTkFNRV9MSVNUX1BST0RVQ1RdW2ldIH0pKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGVudHNbJ2Jsb2NrJ11bRk9STV9OQU1FX0xJU1RfUFJPRFVDVF0uc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICArK2k7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1zaW1wbGVcIiBbbmdDbGFzc109XCInbmItbGlnbmUtJyArIGNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX05CTElHTkVdXCI+XG4gICAgPGRpdj5cbiAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWcgKGlzQ2xvc2UpPVwidHJpZ2dlclByb2R1Y3QgPSBmYWxzZTtcIiBbaXNBY3RpdmVdPVwidHJpZ2dlclByb2R1Y3RcIiBbYmxvY2tVVUlEXT1cInV1aWRcIiBbcG9zaXRpb25dPVwiVFlQRV9DT05GSUdfUE9TSVRJT05fTEVGVF9UT1BcIiBbaXNGdWxsd2lkdGhdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPHdiLXN0cnVjdHVyZS1jb25maWctY2hlY2tib3hcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udGVudHNbQkFTRV9CTE9DS19DT05URU5UXVtGT1JNX05BTUVfU0hPV19USVRMRV1cIlxuICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInBlcnNpc3QoKVwiXG4gICAgICAgICAgICAgICAgW29mZl09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgW29uXT1cInRydWVcIlxuICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLWNvbmZpZy1jaGVja2JveD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5zXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy04XCI+XG4gICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3RcbiAgICAgICAgICAgICAgICAgICAgICAgICNzdHJ1Y3R1cmVTZWFyY2hQcm9kdWN0XG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoTnVtYmVyXT1cIjlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIid3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjI1JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAobmV3U2VhcmNoKT1cImNoYW5nZVByb2R1Y3QoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VsZWN0ZWRQcm9kXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX0xJU1RfUFJPRFVDVF1cIlxuICAgICAgICAgICAgICAgICAgICA+PC93Yi1zdHJ1Y3R1cmUtc2VhcmNoLXByb2R1Y3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbiBpcy00XCI+XG4gICAgICAgICAgICAgICAgICAgIDx3Yi1zdHJ1Y3R1cmUtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMjYnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkVmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1zXT1cImZvcm1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2xhcmdlXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25dPVwiJ2ZhbCBmYS1ib3gtYWx0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlZCk9XCJzZWxlY3RlZFZhbHVlID0gJGV2ZW50OyBzZWxlY3RUaGlzRm9ybSgpXCJcbiAgICAgICAgICAgICAgICAgICAgPjwvd2Itc3RydWN0dXJlLXNlbGVjdD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3diLXN0cnVjdHVyZS1jb25maWc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2ltcGxlX190ZXh0XCIgKm5nSWY9XCJjb250ZW50c1tCQVNFX0JMT0NLX0NPTlRFTlRdW0ZPUk1fTkFNRV9TSE9XX1RJVExFXVwiPlxuICAgICAgICA8d3otZWRpdG9yXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnRlbnRzW0JBU0VfQkxPQ0tfQ09OVEVOVF1bRk9STV9OQU1FX1RJVExFXVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwZXJzaXN0KClcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIid3Yi5zaGFyZWQuY29tcG9uZW50cy5xdWlsbC4xJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgID5cbiAgICAgICAgPC93ei1lZGl0b3I+XG4gICAgPC9kaXY+XG4gICAgPHdiLWxvYWRlciAqbmdJZj1cImlzTG9hZGluZ1wiIGNsYXNzPVwiaXMtZnVsbHNpemVcIj48L3diLWxvYWRlcj5cbiAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwid2ItcHJvZHVjdHMtbGlzdC1zaW1wbGVfX2xpc3RcIlxuICAgICAgICAqbmdJZj1cImNhdGFsb2dTZWxlY3Rpb24gJiYgY2F0YWxvZ1NlbGVjdGlvbiAhPT0gdW5kZWZpbmVkICYmIGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMgJiYgY2F0YWxvZ1NlbGVjdGlvbi5wcm9kdWN0cy5sZW5ndGhcIlxuICAgID5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgcHJvZHVjdCBvZiBjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzOyBsZXQgaW5kZXggPSBpbmRleFwiIChjbGljayk9XCJ0cmlnZ2VyUHJvZHVjdCA9IHRydWU7XCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxwPnt7IHByb2R1Y3QubmFtZSB9fTwvcD5cbiAgICAgICAgICAgICAgICA8cD57eyBmb3JtYXRQcmljZVtpbmRleF0gfX08L3A+XG4gICAgICAgICAgICAgICAgPGE+e3sgJ3diLnN0cnVjdHVyZXMudGVtcGxhdGUuMjMnIHwgdHJhbnNsYXRlIH19PC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aW1nICpuZ0lmPVwicHJvZHVjdC5tYWluX2ltYWdlLmZpbGVcIiBbc3JjXT1cImltYWdlRnJvbnRVcmwgKyBwcm9kdWN0Lm1haW5faW1hZ2UuZmlsZVwiIFthbHRdPVwicHJvZHVjdC5uYW1lXCIgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIndiLXByb2R1Y3RzLWxpc3Qtc2ltcGxlX19ub2xpc3RcIiAqbmdJZj1cIiFjYXRhbG9nU2VsZWN0aW9uLnByb2R1Y3RzIHx8IGNhdGFsb2dTZWxlY3Rpb24ucHJvZHVjdHMubGVuZ3RoID09PSAwXCI+XG4gICAgICAgIDxwPnt7ICd3Yi5zdHJ1Y3R1cmVzLnRlbXBsYXRlLjYnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|