@hmcts/rpx-xui-common-lib 2.0.7 → 2.0.8-remove-special-characters-allow-space
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/components/search-location/search-location.component.mjs +17 -6
- package/esm2020/lib/components/user-details/user-details.component.mjs +37 -21
- package/fesm2015/hmcts-rpx-xui-common-lib.mjs +54 -24
- package/fesm2015/hmcts-rpx-xui-common-lib.mjs.map +1 -1
- package/fesm2020/hmcts-rpx-xui-common-lib.mjs +51 -24
- package/fesm2020/hmcts-rpx-xui-common-lib.mjs.map +1 -1
- package/lib/components/search-location/search-location.component.d.ts +2 -0
- package/lib/components/user-details/user-details.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { FormControl, FormGroup } from '@angular/forms';
|
|
2
|
+
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
3
3
|
import { iif, of } from 'rxjs';
|
|
4
4
|
import { debounceTime, map, switchMap, tap } from 'rxjs/operators';
|
|
5
5
|
import { BookingCheckType } from '../../models';
|
|
@@ -80,11 +80,12 @@ export class SearchLocationComponent {
|
|
|
80
80
|
this.locationSelected = new EventEmitter();
|
|
81
81
|
this.locationTermSearchInputChanged = new EventEmitter();
|
|
82
82
|
this.searchLocationChanged = new EventEmitter();
|
|
83
|
-
this.searchTermFormControl = new FormControl('');
|
|
83
|
+
this.searchTermFormControl = new FormControl('', Validators.pattern('/[^a-zA-Z -]/'));
|
|
84
84
|
this.minSearchCharacters = 3;
|
|
85
85
|
this.term = '';
|
|
86
86
|
this.pReset = true;
|
|
87
87
|
this.debounceTimeInput = 300;
|
|
88
|
+
this.binaryValue = '';
|
|
88
89
|
}
|
|
89
90
|
ngOnInit() {
|
|
90
91
|
const searchInputChanges$ = this.searchTermFormControl.valueChanges
|
|
@@ -149,12 +150,22 @@ export class SearchLocationComponent {
|
|
|
149
150
|
}
|
|
150
151
|
return locations.filter(location => !selectedLocations.map(selectedLocation => selectedLocation.epimms_id).includes(location.epimms_id) && location[this.propertyNameFilter]);
|
|
151
152
|
}
|
|
153
|
+
RemoveInvalidString(formInputValue) {
|
|
154
|
+
const element = formInputValue.target;
|
|
155
|
+
const newInputValue = element.value;
|
|
156
|
+
if (/[^a-zA-Z -]/.test(newInputValue)) {
|
|
157
|
+
element.value = this.binaryValue;
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
this.binaryValue = newInputValue;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
152
163
|
}
|
|
153
164
|
SearchLocationComponent.allLocationAPI = `api/locations/getLocations`;
|
|
154
165
|
SearchLocationComponent.ɵfac = function SearchLocationComponent_Factory(t) { return new (t || SearchLocationComponent)(i0.ɵɵdirectiveInject(i1.LocationService), i0.ɵɵdirectiveInject(i2.SessionStorageService), i0.ɵɵdirectiveInject(i3.RefDataService)); };
|
|
155
|
-
SearchLocationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchLocationComponent, selectors: [["exui-search-location"]], inputs: { form: "form", field: "field", disabled: "disabled", singleMode: "singleMode", locationType: "locationType", serviceIds: "serviceIds", submitted: "submitted", bookingCheck: "bookingCheck", selectedLocations: "selectedLocations", propertyNameFilter: "propertyNameFilter", delay: "delay", reset: "reset" }, outputs: { locationSelected: "locationSelected", locationTermSearchInputChanged: "locationTermSearchInputChanged", searchLocationChanged: "searchLocationChanged" }, decls: 6, vars: 6, consts: [[1, "auto-complete-container"], ["id", "inputLocationSearch", 1, "govuk-input", 3, "formControl", "matAutocomplete", "input"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend"], ["autoSearchLocation", "matAutocomplete"], [4, "ngIf"], [3, "onSelectionChange", 4, "ngFor", "ngForOf"], [3, "onSelectionChange"]], template: function SearchLocationComponent_Template(rf, ctx) { if (rf & 1) {
|
|
166
|
+
SearchLocationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SearchLocationComponent, selectors: [["exui-search-location"]], inputs: { form: "form", field: "field", disabled: "disabled", singleMode: "singleMode", locationType: "locationType", serviceIds: "serviceIds", submitted: "submitted", bookingCheck: "bookingCheck", selectedLocations: "selectedLocations", propertyNameFilter: "propertyNameFilter", delay: "delay", reset: "reset" }, outputs: { locationSelected: "locationSelected", locationTermSearchInputChanged: "locationTermSearchInputChanged", searchLocationChanged: "searchLocationChanged" }, decls: 6, vars: 6, consts: [[1, "auto-complete-container"], ["id", "inputLocationSearch", 1, "govuk-input", 3, "formControl", "matAutocomplete", "keyup", "input"], ["autoActiveFirstOption", "", 1, "mat-autocomplete-panel-extend"], ["autoSearchLocation", "matAutocomplete"], [4, "ngIf"], [3, "onSelectionChange", 4, "ngFor", "ngForOf"], [3, "onSelectionChange"]], template: function SearchLocationComponent_Template(rf, ctx) { if (rf & 1) {
|
|
156
167
|
i0.ɵɵelementStart(0, "div", 0)(1, "input", 1);
|
|
157
|
-
i0.ɵɵlistener("input", function SearchLocationComponent_Template_input_input_1_listener() { return ctx.onInput(); });
|
|
168
|
+
i0.ɵɵlistener("keyup", function SearchLocationComponent_Template_input_keyup_1_listener($event) { return ctx.RemoveInvalidString($event); })("input", function SearchLocationComponent_Template_input_input_1_listener() { return ctx.onInput(); });
|
|
158
169
|
i0.ɵɵelementEnd();
|
|
159
170
|
i0.ɵɵelementStart(2, "mat-autocomplete", 2, 3);
|
|
160
171
|
i0.ɵɵtemplate(4, SearchLocationComponent_ng_container_4_Template, 2, 1, "ng-container", 4);
|
|
@@ -170,7 +181,7 @@ SearchLocationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
|
|
|
170
181
|
} }, dependencies: [i4.NgForOf, i4.NgIf, i5.DefaultValueAccessor, i5.NgControlStatus, i5.FormControlDirective, i6.MatLegacyAutocomplete, i6.MatLegacyAutocompleteTrigger, i7.MatLegacyOption, i4.AsyncPipe, i8.RpxTranslatePipe], styles: [".autocomplete__input--show-all-values[_ngcontent-%COMP%]{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down[_ngcontent-%COMP%]{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu[_ngcontent-%COMP%]{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible[_ngcontent-%COMP%]{display:block}.autocomplete__menu--hidden[_ngcontent-%COMP%]{display:none}.autocomplete__menu--overlay[_ngcontent-%COMP%]{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline[_ngcontent-%COMP%]{position:relative}.autocomplete__option[_ngcontent-%COMP%]{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{pointer-events:none}.autocomplete__option[_ngcontent-%COMP%]:first-of-type{border-top-width:0}.autocomplete__option[_ngcontent-%COMP%]:last-of-type{border-bottom-width:0}.autocomplete__option--odd[_ngcontent-%COMP%]{background-color:#fafafa}.autocomplete__option--focused[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results[_ngcontent-%COMP%]{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.25}.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{padding:5px}@media (min-width: 641px){.autocomplete__hint[_ngcontent-%COMP%], .autocomplete__input[_ngcontent-%COMP%], .autocomplete__option[_ngcontent-%COMP%]{font-size:13px;line-height:1.31579}}.div-action[_ngcontent-%COMP%]{display:inline-block}.add-location[_ngcontent-%COMP%]{display:inline}.remove-location-button[_ngcontent-%COMP%]{margin:5px}.hide-autocomplete[_ngcontent-%COMP%]{display:none}.auto-complete-container[_ngcontent-%COMP%]{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input[_ngcontent-%COMP%]{line-height:24px;font-size:19px}"] });
|
|
171
182
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SearchLocationComponent, [{
|
|
172
183
|
type: Component,
|
|
173
|
-
args: [{ selector: 'exui-search-location', template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (input)=\"onInput()\"\n [formControl]=\"searchTermFormControl\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <ng-container *ngIf=\"filteredList$ | async as filteredList\">\n <ng-container *ngIf=\"filteredList && filteredList.length >= 0\">\n <mat-option *ngFor=\"let location of filteredList\" (onSelectionChange)=\"onSelectedLocation(location)\">\n {{ location[propertyNameFilter] }}\n </mat-option>\n <mat-option *ngIf=\"filteredList.length === 0\">{{'No results found' | rpxTranslate}}</mat-option>\n </ng-container>\n </ng-container>\n </mat-autocomplete>\n</div>\n", styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width: 641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input{line-height:24px;font-size:19px}\n"] }]
|
|
184
|
+
args: [{ selector: 'exui-search-location', template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (keyup)=\"RemoveInvalidString($event)\"\n (input)=\"onInput()\"\n [formControl]=\"searchTermFormControl\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <ng-container *ngIf=\"filteredList$ | async as filteredList\">\n <ng-container *ngIf=\"filteredList && filteredList.length >= 0\">\n <mat-option *ngFor=\"let location of filteredList\" (onSelectionChange)=\"onSelectedLocation(location)\">\n {{ location[propertyNameFilter] }}\n </mat-option>\n <mat-option *ngIf=\"filteredList.length === 0\">{{'No results found' | rpxTranslate}}</mat-option>\n </ng-container>\n </ng-container>\n </mat-autocomplete>\n</div>\n", styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:#00000042 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width: 641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input{line-height:24px;font-size:19px}\n"] }]
|
|
174
185
|
}], function () { return [{ type: i1.LocationService }, { type: i2.SessionStorageService }, { type: i3.RefDataService }]; }, { form: [{
|
|
175
186
|
type: Input
|
|
176
187
|
}], field: [{
|
|
@@ -202,4 +213,4 @@ SearchLocationComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Sea
|
|
|
202
213
|
}], reset: [{
|
|
203
214
|
type: Input
|
|
204
215
|
}] }); })();
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWxvY2F0aW9uL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1sb2NhdGlvbi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBSWpCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7Ozs7Ozs7Ozs7OztJQ0QvRixxQ0FBcUc7SUFBbkQscVNBQXFCLGVBQUEsc0NBQTRCLENBQUEsSUFBQztJQUNsRyxZQUNGO0lBQUEsaUJBQWE7Ozs7SUFEWCxlQUNGO0lBREUsdUVBQ0Y7OztJQUNBLGtDQUE4QztJQUFBLFlBQXFDOztJQUFBLGlCQUFhOztJQUFsRCxlQUFxQztJ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QkFBcUMsZUFBQTtRQUdqQyxtR0FBUyxhQUFTLElBQUM7UUFGckIsaUJBTTZCO1FBQzdCLDhDQUFvSDtRQUNsSCwwRkFPZTs7UUFDakIsaUJBQW1CLEVBQUE7OztRQWJqQixlQUFxQztRQUFyQyx1REFBcUMsd0JBQUE7UUFHckMsd0NBQTBCO1FBRVgsZUFBNEI7UUFBNUIsOERBQTRCOzt1RkRVbEMsdUJBQXVCO2NBTG5DLFNBQVM7MkJBQ0Usc0JBQXNCO21JQU1oQixJQUFJO2tCQUFuQixLQUFLO1lBQ1UsS0FBSztrQkFBcEIsS0FBSztZQUNVLFFBQVE7a0JBQXZCLEtBQUs7WUFDVSxVQUFVO2tCQUF6QixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUNVLFVBQVU7a0JBQXpCLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUNVLGlCQUFpQjtrQkFBaEMsS0FBSztZQUNVLGtCQUFrQjtrQkFBakMsS0FBSztZQUNVLEtBQUs7a0JBQXBCLEtBQUs7WUFDVyxnQkFBZ0I7a0JBQWhDLE1BQU07WUFDVSw4QkFBOEI7a0JBQTlDLE1BQU07WUFDVSxxQkFBcUI7a0JBQXJDLE1BQU07WUFhSSxLQUFLO2tCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaWlmLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQm9va2luZ0NoZWNrVHlwZSwgRmlsdGVyQ29uZmlnT3B0aW9uLFxuICBGaWx0ZXJGaWVsZENvbmZpZyxcbiAgTG9jYXRpb25CeUVQSU1NU01vZGVsLFxuICBMb2NhdGlvbnNCeVNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IExvY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvY2F0aW9ucy9sb2NhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZkRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVmLWRhdGEnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3RvcmFnZS9zZXNzaW9uLXN0b3JhZ2Uvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdleHVpLXNlYXJjaC1sb2NhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hMb2NhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGFsbExvY2F0aW9uQVBJID0gYGFwaS9sb2NhdGlvbnMvZ2V0TG9jYXRpb25zYDtcbiAgQElucHV0KCkgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHNpbmdsZU1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxvY2F0aW9uVHlwZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlSWRzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHN1Ym1pdHRlZD86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgYm9va2luZ0NoZWNrOiBCb29raW5nQ2hlY2tUeXBlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRMb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBwcm9wZXJ0eU5hbWVGaWx0ZXI6IGtleW9mIExvY2F0aW9uQnlFUElNTVNNb2RlbCA9ICdzaXRlX25hbWUnO1xuICBASW5wdXQoKSBwdWJsaWMgZGVsYXk/OiBudW1iZXIgPSA1MDA7XG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9jYXRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TG9jYXRpb25CeUVQSU1NU01vZGVsPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uVGVybVNlYXJjaElucHV0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWFyY2hMb2NhdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgcHVibGljIHNlYXJjaFRlcm1Gb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gIHB1YmxpYyByZWFkb25seSBtaW5TZWFyY2hDaGFyYWN0ZXJzID0gMztcbiAgcHVibGljIHRlcm06IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIHBSZXNldDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBmaWx0ZXJlZExpc3QkOiBPYnNlcnZhYmxlPExvY2F0aW9uQnlFUElNTVNNb2RlbFtdIHwgYm9vbGVhbj47XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVib3VuY2VUaW1lSW5wdXQgPSAzMDA7XG5cbiAgcHVibGljIGdldCByZXNldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wUmVzZXQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlc2V0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5wUmVzZXQgPSB2YWx1ZTtcbiAgICB0aGlzLnJlc2V0U2VhcmNoVGVybSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblNlcnZpY2U6IExvY2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZWZEYXRhU2VydmljZTogUmVmRGF0YVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hJbnB1dENoYW5nZXMkID0gdGhpcy5zZWFyY2hUZXJtRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh0ZXJtKSA9PiB0aGlzLmxvY2F0aW9uVGVybVNlYXJjaElucHV0Q2hhbmdlZC5lbWl0KHRlcm0pKVxuICAgICAgKTtcblxuICAgIC8vIGlmIHNlcnZpY2VzRmllbGQgZXhpc3RzLCB0aGVuIHdlIHNob3VsZCBmaWx0ZXIgbG9jYXRpb25zIGJ5IHRoZSBzZXJ2aWNlIGNvZGVzXG4gICAgaWYgKHRoaXMuZmllbGQgJiYgdGhpcy5maWVsZC5zZXJ2aWNlc0ZpZWxkKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkTGlzdCQgPSBzZWFyY2hJbnB1dENoYW5nZXMkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodGVybTogc3RyaW5nKSA9PiBpaWYoXG4gICAgICAgICAgLy8gU2VlbXMgbW9yZSByZXNwb25zaXZlIHRvIGRvIGxlbmd0aCAwIGlmIGxvY2F0aW9uc0J5U2VydmljZUNvZGVzIGFyZSBjYWNoZWRcbiAgICAgICAgICAoKSA9PiAoISF0ZXJtICYmIHRlcm0ubGVuZ3RoID49IDApLFxuICAgICAgICAgICAgdGhpcy5yZWZEYXRhU2VydmljZS5nZXRMb2NhdGlvbnNCeVNlcnZpY2VDb2RlcyhcbiAgICAgICAgICAgICAgKHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5zZXJ2aWNlc0ZpZWxkKT8udmFsdWUgYXMgRmlsdGVyQ29uZmlnT3B0aW9uW10pLm1hcCgoc2VydmljZSkgPT4gc2VydmljZS5rZXkpXG4gICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgIC8vIEZpbHRlciBsb2NhdGlvbnMgYnkgdGhlIHNlYXJjaCBpbnB1dCB0ZXJtIGFuZCB0aGUgY2hvc2VuIHByb3BlcnR5IG5hbWVcbiAgICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IGxvY2F0aW9uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGxvY2F0aW9uKSA9PiBsb2NhdGlvblt0aGlzLnByb3BlcnR5TmFtZUZpbHRlcl0udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtLnRvTG93ZXJDYXNlKCkpKSksXG4gICAgICAgICAgICAgIC8vIEZpbHRlciBvdXQgbG9jYXRpb25zIHRoYXQgYXJlIGFscmVhZHkgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IHRoaXMuZmlsdGVyVW5zZWxlY3RlZExvY2F0aW9ucyhsb2NhdGlvbnMsIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMsIHRoaXMuc2luZ2xlTW9kZSkpLFxuICAgICAgICAgICAgICAvLyBGaWx0ZXIgb3V0IGR1cGxpY2F0ZSBsb2NhdGlvbnMgKGJ5IHByb3BlcnR5TmFtZUZpbHRlcilcbiAgICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IGxvY2F0aW9ucy5maWx0ZXIoKGxvY2F0aW9uLCBpbmRleCwgYXJyYXkpID0+XG4gICAgICAgICAgICAgICAgaW5kZXggPT09IGFycmF5LmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbVt0aGlzLnByb3BlcnR5TmFtZUZpbHRlcl0gPT09IGxvY2F0aW9uW3RoaXMucHJvcGVydHlOYW1lRmlsdGVyXSlcbiAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy8gUmV0dXJucyBmYWxzZSBpZiB0aGUgc2VhcmNoIHRlcm0gaXMgZW1wdHkgdG8gbm90IHNob3cgdGhlIGF1dG9jb21wbGV0ZSBmaWVsZCBpLmUuIG5nSWYgc2hvdWxkIGJlIGZhbHNlXG4gICAgICAgICAgICBvZihmYWxzZSlcbiAgICAgICAgKSksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkTGlzdCQgPSBzZWFyY2hJbnB1dENoYW5nZXMkLnBpcGUoXG4gICAgICAgIC8vIERlYm91bmNlIG5lZWRlZCB0byBwcmV2ZW50IG11bHRpcGxlIEFQSSBjYWxscyBiZWluZyBtYWRlXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZUlucHV0KSxcbiAgICAgICAgc3dpdGNoTWFwKCh0ZXJtOiBzdHJpbmcpID0+IGlpZihcbiAgICAgICAgICAoKSA9PiAoISF0ZXJtICYmIHRlcm0ubGVuZ3RoID49IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycyksXG4gICAgICAgICAgdGhpcy5nZXRMb2NhdGlvbnModGVybSkucGlwZShcbiAgICAgICAgICAgIG1hcCgobG9jYXRpb25zKSA9PiB0aGlzLmZpbHRlclVuc2VsZWN0ZWRMb2NhdGlvbnMobG9jYXRpb25zLCB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLCB0aGlzLnNpbmdsZU1vZGUpKSxcbiAgICAgICAgICApLFxuICAgICAgICAgIG9mKGZhbHNlKVxuICAgICAgICApKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2luZ2xlTW9kZSAmJiB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGxvY2F0aW9uID0gdGhpcy5zZWxlY3RlZExvY2F0aW9uc1swXTtcbiAgICAgIHRoaXMuc2VhcmNoVGVybUZvcm1Db250cm9sLnBhdGNoVmFsdWUobG9jYXRpb25bdGhpcy5wcm9wZXJ0eU5hbWVGaWx0ZXJdLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RlZExvY2F0aW9uKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRlcm1Gb3JtQ29udHJvbC5wYXRjaFZhbHVlKGxvY2F0aW9uW3RoaXMucHJvcGVydHlOYW1lRmlsdGVyXSwge2VtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlfSk7XG4gICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQobG9jYXRpb24pO1xuICB9XG4gIHB1YmxpYyBvbklucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoTG9jYXRpb25DaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMb2NhdGlvbnModGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXT4ge1xuICAgIGxldCB1c2VyTG9jYXRpb25zO1xuICAgIC8vIEJvb2tpbmcgdHlwZSBpbmZvIC0gY2FuIGNyZWF0ZSBtb3JlXG4gICAgLy8gTk9fQ0hFQ0sgLSBBbGwgd29yayAtIERvIG5vdCBmaWx0ZXIgb3V0IGxvY2F0aW9ucyAtIERlZmF1bHQgYXNzdW1wdGlvblxuICAgIC8vIEJPT0tJTkdTX0FORF9CQVNFIC0gTXkgd29yayAtIFRyeSB0byBvbmx5IHNob3cgYmFzZSBsb2NhdGlvbnMvcmVnaW9uc1xuICAgIC8vIFBPU1NJQkxFX0JPT0tJTkdTIC0gQ3JlYXRlIGJvb2tpbmcgc2NyZWVuIC0gU2hvdyBvbmx5IHBvdGVudGlhbCBib29raW5nc1xuICAgIGlmICh0aGlzLmJvb2tpbmdDaGVjayA9PT0gQm9va2luZ0NoZWNrVHlwZS5CT09LSU5HU19BTkRfQkFTRSkge1xuICAgICAgdXNlckxvY2F0aW9ucyA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckxvY2F0aW9ucycpKSBhcyBMb2NhdGlvbnNCeVNlcnZpY2VbXTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYm9va2luZ0NoZWNrID09PSBCb29raW5nQ2hlY2tUeXBlLlBPU1NJQkxFX0JPT0tJTkdTKSB7XG4gICAgICB0aGlzLnNlcnZpY2VJZHMgPSB0aGlzLnNlcnZpY2VJZHMgJiYgdGhpcy5zZXJ2aWNlSWRzLmxlbmd0aCA/IHRoaXMuc2VydmljZUlkcyA6IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnYm9va2FibGVTZXJ2aWNlcycpKTtcbiAgICAgIHVzZXJMb2NhdGlvbnMgPSBKU09OLnBhcnNlKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2Jvb2thYmxlVXNlckxvY2F0aW9ucycpKSBhcyBMb2NhdGlvbnNCeVNlcnZpY2VbXTtcbiAgICB9XG4gICAgLy8gZ2V0IGFsbCBsb2NhdGlvbnMgd2lsbCByZXNvbHZlIGZpbHRlciBzZXR0aW5nIHVzaW5nIG9iamVjdHMgYWJvdmVcbiAgICAvLyBpZiBubyB1c2VyTG9jYXRpb25zLCBOT19DSEVDS1xuICAgIC8vIGlmIGp1c3QgZ2V0dGluZyBhbGwgc3Vic3RhbnRpdmUgdXNlciBsb2NhdGlvbnMsIEJPT0tJTkdTX0FORF9CQVNFXG4gICAgLy8gZmVlIHBhaWQgdXNlciBsb2NhdGlvbnMgYXJlIHVzZWQgZm9yIFBPU1NJQkxFX0JPT0tJTkdTXG4gICAgcmV0dXJuIHRoaXMubG9jYXRpb25TZXJ2aWNlLmdldEFsbExvY2F0aW9ucyhTZWFyY2hMb2NhdGlvbkNvbXBvbmVudC5hbGxMb2NhdGlvbkFQSSwgdGhpcy5zZXJ2aWNlSWRzLCB0aGlzLmxvY2F0aW9uVHlwZSwgdGVybSwgdXNlckxvY2F0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRTZWFyY2hUZXJtKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVGVybUZvcm1Db250cm9sLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyVW5zZWxlY3RlZExvY2F0aW9ucyhcbiAgICBsb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdLFxuICAgIHNlbGVjdGVkTG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSxcbiAgICBzaW5nbGVNb2RlOiBib29sZWFuXG4gICk6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdIHtcbiAgICBpZiAoc2luZ2xlTW9kZSkge1xuICAgICAgcmV0dXJuIGxvY2F0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIGxvY2F0aW9ucy5maWx0ZXIoXG4gICAgICBsb2NhdGlvbiA9PiAhc2VsZWN0ZWRMb2NhdGlvbnMubWFwKHNlbGVjdGVkTG9jYXRpb24gPT4gc2VsZWN0ZWRMb2NhdGlvbi5lcGltbXNfaWQpLmluY2x1ZGVzKGxvY2F0aW9uLmVwaW1tc19pZCkgJiYgbG9jYXRpb25bdGhpcy5wcm9wZXJ0eU5hbWVGaWx0ZXJdXG4gICAgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImF1dG8tY29tcGxldGUtY29udGFpbmVyXCI+XG4gIDxpbnB1dFxuICAgIGlkPVwiaW5wdXRMb2NhdGlvblNlYXJjaFwiXG4gICAgKGlucHV0KT1cIm9uSW5wdXQoKVwiXG4gICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaFRlcm1Gb3JtQ29udHJvbFwiXG4gICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvU2VhcmNoTG9jYXRpb25cIlxuICAgIGNsYXNzPVwiZ292dWstaW5wdXRcIlxuICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gIDxtYXQtYXV0b2NvbXBsZXRlIGNsYXNzPVwibWF0LWF1dG9jb21wbGV0ZS1wYW5lbC1leHRlbmRcIiBhdXRvQWN0aXZlRmlyc3RPcHRpb24gI2F1dG9TZWFyY2hMb2NhdGlvbj1cIm1hdEF1dG9jb21wbGV0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJlZExpc3QkIHwgYXN5bmMgYXMgZmlsdGVyZWRMaXN0XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZmlsdGVyZWRMaXN0ICYmIGZpbHRlcmVkTGlzdC5sZW5ndGggPj0gMFwiPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgbG9jYXRpb24gb2YgZmlsdGVyZWRMaXN0XCIgKG9uU2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0ZWRMb2NhdGlvbihsb2NhdGlvbilcIj5cbiAgICAgICAgICB7eyBsb2NhdGlvbltwcm9wZXJ0eU5hbWVGaWx0ZXJdIH19XG4gICAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJmaWx0ZXJlZExpc3QubGVuZ3RoID09PSAwXCI+e3snTm8gcmVzdWx0cyBmb3VuZCcgfCBycHhUcmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L21hdC1hdXRvY29tcGxldGU+XG48L2Rpdj5cbiJdfQ==
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWxvY2F0aW9uL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1sb2NhdGlvbi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUNMLGdCQUFnQixFQUlqQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDOzs7Ozs7Ozs7Ozs7SUNBL0YscUNBQXFHO0lBQW5ELHFTQUFxQixlQUFBLHNDQUE0QixDQUFBLElBQUM7SUFDbEcsWUFDRjtJQUFBLGlCQUFhOzs7O0lBRFgsZUFDRjtJQURFLHVFQUNGOzs7SUFDQSxrQ0FBOEM7SUFBQSxZQUFxQzs7SUFBQSxpQkFBYTs7SUFB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c0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGlpZiwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIEJvb2tpbmdDaGVja1R5cGUsIEZpbHRlckNvbmZpZ09wdGlvbixcbiAgRmlsdGVyRmllbGRDb25maWcsXG4gIExvY2F0aW9uQnlFUElNTVNNb2RlbCxcbiAgTG9jYXRpb25zQnlTZXJ2aWNlXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBMb2NhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2NhdGlvbnMvbG9jYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBSZWZEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3JlZi1kYXRhJztcbmltcG9ydCB7IFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3N0b3JhZ2Uvc2Vzc2lvbi1zdG9yYWdlL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXh1aS1zZWFyY2gtbG9jYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoTG9jYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBhbGxMb2NhdGlvbkFQSSA9IGBhcGkvbG9jYXRpb25zL2dldExvY2F0aW9uc2A7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBmaWVsZDogRmlsdGVyRmllbGRDb25maWc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaW5nbGVNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2NhdGlvblR5cGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgc2VydmljZUlkczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGJvb2tpbmdDaGVjazogQm9va2luZ0NoZWNrVHlwZTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkTG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgcHJvcGVydHlOYW1lRmlsdGVyOiBrZXlvZiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwgPSAnc2l0ZV9uYW1lJztcbiAgQElucHV0KCkgcHVibGljIGRlbGF5PzogbnVtYmVyID0gNTAwO1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPExvY2F0aW9uQnlFUElNTVNNb2RlbD4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBsb2NhdGlvblRlcm1TZWFyY2hJbnB1dENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VhcmNoTG9jYXRpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIHB1YmxpYyBzZWFyY2hUZXJtRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMucGF0dGVybignL1teYS16QS1aIC1dLycpKTtcbiAgcHVibGljIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAzO1xuICBwdWJsaWMgdGVybTogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgcFJlc2V0OiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIGZpbHRlcmVkTGlzdCQ6IE9ic2VydmFibGU8TG9jYXRpb25CeUVQSU1NU01vZGVsW10gfCBib29sZWFuPjtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWJvdW5jZVRpbWVJbnB1dCA9IDMwMDtcbiAgcHJpdmF0ZSBiaW5hcnlWYWx1ZSA9ICcnO1xuXG4gIHB1YmxpYyBnZXQgcmVzZXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucFJlc2V0O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByZXNldCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMucFJlc2V0ID0gdmFsdWU7XG4gICAgdGhpcy5yZXNldFNlYXJjaFRlcm0oKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb25TZXJ2aWNlOiBMb2NhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZkRhdGFTZXJ2aWNlOiBSZWZEYXRhU2VydmljZVxuICApIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hJbnB1dENoYW5nZXMkID0gdGhpcy5zZWFyY2hUZXJtRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh0ZXJtKSA9PiB0aGlzLmxvY2F0aW9uVGVybVNlYXJjaElucHV0Q2hhbmdlZC5lbWl0KHRlcm0pKVxuICAgICAgKTtcblxuICAgIC8vIGlmIHNlcnZpY2VzRmllbGQgZXhpc3RzLCB0aGVuIHdlIHNob3VsZCBmaWx0ZXIgbG9jYXRpb25zIGJ5IHRoZSBzZXJ2aWNlIGNvZGVzXG4gICAgaWYgKHRoaXMuZmllbGQgJiYgdGhpcy5maWVsZC5zZXJ2aWNlc0ZpZWxkKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkTGlzdCQgPSBzZWFyY2hJbnB1dENoYW5nZXMkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodGVybTogc3RyaW5nKSA9PiBpaWYoXG4gICAgICAgICAgLy8gU2VlbXMgbW9yZSByZXNwb25zaXZlIHRvIGRvIGxlbmd0aCAwIGlmIGxvY2F0aW9uc0J5U2VydmljZUNvZGVzIGFyZSBjYWNoZWRcbiAgICAgICAgICAoKSA9PiAoISF0ZXJtICYmIHRlcm0ubGVuZ3RoID49IDApLFxuICAgICAgICAgIHRoaXMucmVmRGF0YVNlcnZpY2UuZ2V0TG9jYXRpb25zQnlTZXJ2aWNlQ29kZXMoXG4gICAgICAgICAgICAodGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLnNlcnZpY2VzRmllbGQpPy52YWx1ZSBhcyBGaWx0ZXJDb25maWdPcHRpb25bXSkubWFwKChzZXJ2aWNlKSA9PiBzZXJ2aWNlLmtleSlcbiAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAvLyBGaWx0ZXIgbG9jYXRpb25zIGJ5IHRoZSBzZWFyY2ggaW5wdXQgdGVybSBhbmQgdGhlIGNob3NlbiBwcm9wZXJ0eSBuYW1lXG4gICAgICAgICAgICBtYXAoKGxvY2F0aW9ucykgPT4gbG9jYXRpb25zXG4gICAgICAgICAgICAgIC5maWx0ZXIoKGxvY2F0aW9uKSA9PiBsb2NhdGlvblt0aGlzLnByb3BlcnR5TmFtZUZpbHRlcl0udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtLnRvTG93ZXJDYXNlKCkpKSksXG4gICAgICAgICAgICAvLyBGaWx0ZXIgb3V0IGxvY2F0aW9ucyB0aGF0IGFyZSBhbHJlYWR5IHNlbGVjdGVkXG4gICAgICAgICAgICBtYXAoKGxvY2F0aW9ucykgPT4gdGhpcy5maWx0ZXJVbnNlbGVjdGVkTG9jYXRpb25zKGxvY2F0aW9ucywgdGhpcy5zZWxlY3RlZExvY2F0aW9ucywgdGhpcy5zaW5nbGVNb2RlKSksXG4gICAgICAgICAgICAvLyBGaWx0ZXIgb3V0IGR1cGxpY2F0ZSBsb2NhdGlvbnMgKGJ5IHByb3BlcnR5TmFtZUZpbHRlcilcbiAgICAgICAgICAgIG1hcCgobG9jYXRpb25zKSA9PiBsb2NhdGlvbnMuZmlsdGVyKChsb2NhdGlvbiwgaW5kZXgsIGFycmF5KSA9PlxuICAgICAgICAgICAgICBpbmRleCA9PT0gYXJyYXkuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtW3RoaXMucHJvcGVydHlOYW1lRmlsdGVyXSA9PT0gbG9jYXRpb25bdGhpcy5wcm9wZXJ0eU5hbWVGaWx0ZXJdKVxuICAgICAgICAgICAgKSksXG4gICAgICAgICAgKSxcbiAgICAgICAgICAvLyBSZXR1cm5zIGZhbHNlIGlmIHRoZSBzZWFyY2ggdGVybSBpcyBlbXB0eSB0byBub3Qgc2hvdyB0aGUgYXV0b2NvbXBsZXRlIGZpZWxkIGkuZS4gbmdJZiBzaG91bGQgYmUgZmFsc2VcbiAgICAgICAgICBvZihmYWxzZSlcbiAgICAgICAgKSksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkTGlzdCQgPSBzZWFyY2hJbnB1dENoYW5nZXMkLnBpcGUoXG4gICAgICAgIC8vIERlYm91bmNlIG5lZWRlZCB0byBwcmV2ZW50IG11bHRpcGxlIEFQSSBjYWxscyBiZWluZyBtYWRlXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZUlucHV0KSxcbiAgICAgICAgc3dpdGNoTWFwKCh0ZXJtOiBzdHJpbmcpID0+IGlpZihcbiAgICAgICAgICAoKSA9PiAoISF0ZXJtICYmIHRlcm0ubGVuZ3RoID49IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycyksXG4gICAgICAgICAgdGhpcy5nZXRMb2NhdGlvbnModGVybSkucGlwZShcbiAgICAgICAgICAgIG1hcCgobG9jYXRpb25zKSA9PiB0aGlzLmZpbHRlclVuc2VsZWN0ZWRMb2NhdGlvbnMobG9jYXRpb25zLCB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLCB0aGlzLnNpbmdsZU1vZGUpKSxcbiAgICAgICAgICApLFxuICAgICAgICAgIG9mKGZhbHNlKVxuICAgICAgICApKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2luZ2xlTW9kZSAmJiB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGxvY2F0aW9uID0gdGhpcy5zZWxlY3RlZExvY2F0aW9uc1swXTtcbiAgICAgIHRoaXMuc2VhcmNoVGVybUZvcm1Db250cm9sLnBhdGNoVmFsdWUobG9jYXRpb25bdGhpcy5wcm9wZXJ0eU5hbWVGaWx0ZXJdLCB7IGVtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGVkTG9jYXRpb24obG9jYXRpb246IExvY2F0aW9uQnlFUElNTVNNb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVGVybUZvcm1Db250cm9sLnBhdGNoVmFsdWUobG9jYXRpb25bdGhpcy5wcm9wZXJ0eU5hbWVGaWx0ZXJdLCB7IGVtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlIH0pO1xuICAgIHRoaXMubG9jYXRpb25TZWxlY3RlZC5lbWl0KGxvY2F0aW9uKTtcbiAgfVxuICBwdWJsaWMgb25JbnB1dCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaExvY2F0aW9uQ2hhbmdlZC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TG9jYXRpb25zKHRlcm06IHN0cmluZyk6IE9ic2VydmFibGU8TG9jYXRpb25CeUVQSU1NU01vZGVsW10+IHtcbiAgICBsZXQgdXNlckxvY2F0aW9ucztcbiAgICAvLyBCb29raW5nIHR5cGUgaW5mbyAtIGNhbiBjcmVhdGUgbW9yZVxuICAgIC8vIE5PX0NIRUNLIC0gQWxsIHdvcmsgLSBEbyBub3QgZmlsdGVyIG91dCBsb2NhdGlvbnMgLSBEZWZhdWx0IGFzc3VtcHRpb25cbiAgICAvLyBCT09LSU5HU19BTkRfQkFTRSAtIE15IHdvcmsgLSBUcnkgdG8gb25seSBzaG93IGJhc2UgbG9jYXRpb25zL3JlZ2lvbnNcbiAgICAvLyBQT1NTSUJMRV9CT09LSU5HUyAtIENyZWF0ZSBib29raW5nIHNjcmVlbiAtIFNob3cgb25seSBwb3RlbnRpYWwgYm9va2luZ3NcbiAgICBpZiAodGhpcy5ib29raW5nQ2hlY2sgPT09IEJvb2tpbmdDaGVja1R5cGUuQk9PS0lOR1NfQU5EX0JBU0UpIHtcbiAgICAgIHVzZXJMb2NhdGlvbnMgPSBKU09OLnBhcnNlKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ3VzZXJMb2NhdGlvbnMnKSkgYXMgTG9jYXRpb25zQnlTZXJ2aWNlW107XG4gICAgfSBlbHNlIGlmICh0aGlzLmJvb2tpbmdDaGVjayA9PT0gQm9va2luZ0NoZWNrVHlwZS5QT1NTSUJMRV9CT09LSU5HUykge1xuICAgICAgdGhpcy5zZXJ2aWNlSWRzID0gdGhpcy5zZXJ2aWNlSWRzICYmIHRoaXMuc2VydmljZUlkcy5sZW5ndGggPyB0aGlzLnNlcnZpY2VJZHMgOiBKU09OLnBhcnNlKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2Jvb2thYmxlU2VydmljZXMnKSk7XG4gICAgICB1c2VyTG9jYXRpb25zID0gSlNPTi5wYXJzZSh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCdib29rYWJsZVVzZXJMb2NhdGlvbnMnKSkgYXMgTG9jYXRpb25zQnlTZXJ2aWNlW107XG4gICAgfVxuICAgIC8vIGdldCBhbGwgbG9jYXRpb25zIHdpbGwgcmVzb2x2ZSBmaWx0ZXIgc2V0dGluZyB1c2luZyBvYmplY3RzIGFib3ZlXG4gICAgLy8gaWYgbm8gdXNlckxvY2F0aW9ucywgTk9fQ0hFQ0tcbiAgICAvLyBpZiBqdXN0IGdldHRpbmcgYWxsIHN1YnN0YW50aXZlIHVzZXIgbG9jYXRpb25zLCBCT09LSU5HU19BTkRfQkFTRVxuICAgIC8vIGZlZSBwYWlkIHVzZXIgbG9jYXRpb25zIGFyZSB1c2VkIGZvciBQT1NTSUJMRV9CT09LSU5HU1xuICAgIHJldHVybiB0aGlzLmxvY2F0aW9uU2VydmljZS5nZXRBbGxMb2NhdGlvbnMoU2VhcmNoTG9jYXRpb25Db21wb25lbnQuYWxsTG9jYXRpb25BUEksIHRoaXMuc2VydmljZUlkcywgdGhpcy5sb2NhdGlvblR5cGUsIHRlcm0sIHVzZXJMb2NhdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0U2VhcmNoVGVybSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRlcm1Gb3JtQ29udHJvbC5zZXRWYWx1ZSgnJyk7XG4gIH1cblxuICBwcml2YXRlIGZpbHRlclVuc2VsZWN0ZWRMb2NhdGlvbnMoXG4gICAgbG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSxcbiAgICBzZWxlY3RlZExvY2F0aW9uczogTG9jYXRpb25CeUVQSU1NU01vZGVsW10sXG4gICAgc2luZ2xlTW9kZTogYm9vbGVhblxuICApOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSB7XG4gICAgaWYgKHNpbmdsZU1vZGUpIHtcbiAgICAgIHJldHVybiBsb2NhdGlvbnM7XG4gICAgfVxuICAgIHJldHVybiBsb2NhdGlvbnMuZmlsdGVyKFxuICAgICAgbG9jYXRpb24gPT4gIXNlbGVjdGVkTG9jYXRpb25zLm1hcChzZWxlY3RlZExvY2F0aW9uID0+IHNlbGVjdGVkTG9jYXRpb24uZXBpbW1zX2lkKS5pbmNsdWRlcyhsb2NhdGlvbi5lcGltbXNfaWQpICYmIGxvY2F0aW9uW3RoaXMucHJvcGVydHlOYW1lRmlsdGVyXVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgUmVtb3ZlSW52YWxpZFN0cmluZyhmb3JtSW5wdXRWYWx1ZTogYW55KSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGZvcm1JbnB1dFZhbHVlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgIGNvbnN0IG5ld0lucHV0VmFsdWUgPSBlbGVtZW50LnZhbHVlO1xuICAgIGlmICgvW15hLXpBLVogLV0vLnRlc3QobmV3SW5wdXRWYWx1ZSkpIHtcbiAgICAgIGVsZW1lbnQudmFsdWUgPSB0aGlzLmJpbmFyeVZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmJpbmFyeVZhbHVlID0gbmV3SW5wdXRWYWx1ZTtcbiAgICB9XG4gIH1cblxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiYXV0by1jb21wbGV0ZS1jb250YWluZXJcIj5cbiAgPGlucHV0XG4gICAgaWQ9XCJpbnB1dExvY2F0aW9uU2VhcmNoXCJcbiAgICAoa2V5dXApPVwiUmVtb3ZlSW52YWxpZFN0cmluZygkZXZlbnQpXCJcbiAgICAoaW5wdXQpPVwib25JbnB1dCgpXCJcbiAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoVGVybUZvcm1Db250cm9sXCJcbiAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9TZWFyY2hMb2NhdGlvblwiXG4gICAgY2xhc3M9XCJnb3Z1ay1pbnB1dFwiXG4gICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgPG1hdC1hdXRvY29tcGxldGUgY2xhc3M9XCJtYXQtYXV0b2NvbXBsZXRlLXBhbmVsLWV4dGVuZFwiIGF1dG9BY3RpdmVGaXJzdE9wdGlvbiAjYXV0b1NlYXJjaExvY2F0aW9uPVwibWF0QXV0b2NvbXBsZXRlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlcmVkTGlzdCQgfCBhc3luYyBhcyBmaWx0ZXJlZExpc3RcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJlZExpc3QgJiYgZmlsdGVyZWRMaXN0Lmxlbmd0aCA+PSAwXCI+XG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBsb2NhdGlvbiBvZiBmaWx0ZXJlZExpc3RcIiAob25TZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3RlZExvY2F0aW9uKGxvY2F0aW9uKVwiPlxuICAgICAgICAgIHt7IGxvY2F0aW9uW3Byb3BlcnR5TmFtZUZpbHRlcl0gfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImZpbHRlcmVkTGlzdC5sZW5ndGggPT09IDBcIj57eydObyByZXN1bHRzIGZvdW5kJyB8IHJweFRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWF1dG9jb21wbGV0ZT5cbjwvZGl2PlxuIl19
|
|
@@ -61,17 +61,27 @@ function UserDetailsComponent_table_1_tr_17_div_9_Template(rf, ctx) { if (rf & 1
|
|
|
61
61
|
i0.ɵɵadvance(1);
|
|
62
62
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Manage fee accounts"));
|
|
63
63
|
} }
|
|
64
|
-
function
|
|
65
|
-
i0.ɵɵelementStart(0, "
|
|
64
|
+
function UserDetailsComponent_table_1_tr_17_div_10_Template(rf, ctx) { if (rf & 1) {
|
|
65
|
+
i0.ɵɵelementStart(0, "div");
|
|
66
66
|
i0.ɵɵtext(1);
|
|
67
67
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
68
|
-
i0.ɵɵ
|
|
68
|
+
i0.ɵɵelementEnd();
|
|
69
|
+
} if (rf & 2) {
|
|
70
|
+
const accesstype_r13 = ctx.$implicit;
|
|
71
|
+
i0.ɵɵadvance(1);
|
|
72
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, accesstype_r13));
|
|
73
|
+
} }
|
|
74
|
+
function UserDetailsComponent_table_1_tr_17_a_12_Template(rf, ctx) { if (rf & 1) {
|
|
75
|
+
i0.ɵɵelementStart(0, "a", 16);
|
|
76
|
+
i0.ɵɵtext(1);
|
|
77
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
78
|
+
i0.ɵɵelementStart(3, "span", 17);
|
|
69
79
|
i0.ɵɵtext(4);
|
|
70
80
|
i0.ɵɵpipe(5, "rpxTranslate");
|
|
71
81
|
i0.ɵɵelementEnd()();
|
|
72
82
|
} if (rf & 2) {
|
|
73
|
-
const
|
|
74
|
-
i0.ɵɵproperty("routerLink",
|
|
83
|
+
const ctx_r12 = i0.ɵɵnextContext(3);
|
|
84
|
+
i0.ɵɵproperty("routerLink", ctx_r12.editPermissionRouterLink);
|
|
75
85
|
i0.ɵɵadvance(1);
|
|
76
86
|
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(2, 3, "Change"), " ");
|
|
77
87
|
i0.ɵɵadvance(3);
|
|
@@ -88,14 +98,15 @@ function UserDetailsComponent_table_1_tr_17_Template(rf, ctx) { if (rf & 1) {
|
|
|
88
98
|
i0.ɵɵtemplate(7, UserDetailsComponent_table_1_tr_17_div_7_Template, 3, 3, "div", 3);
|
|
89
99
|
i0.ɵɵtemplate(8, UserDetailsComponent_table_1_tr_17_div_8_Template, 3, 3, "div", 3);
|
|
90
100
|
i0.ɵɵtemplate(9, UserDetailsComponent_table_1_tr_17_div_9_Template, 3, 3, "div", 3);
|
|
101
|
+
i0.ɵɵtemplate(10, UserDetailsComponent_table_1_tr_17_div_10_Template, 3, 3, "div", 14);
|
|
91
102
|
i0.ɵɵelementEnd();
|
|
92
|
-
i0.ɵɵelementStart(
|
|
93
|
-
i0.ɵɵtemplate(
|
|
103
|
+
i0.ɵɵelementStart(11, "td", 12);
|
|
104
|
+
i0.ɵɵtemplate(12, UserDetailsComponent_table_1_tr_17_a_12_Template, 6, 7, "a", 15);
|
|
94
105
|
i0.ɵɵelementEnd()();
|
|
95
106
|
} if (rf & 2) {
|
|
96
107
|
const ctx_r5 = i0.ɵɵnextContext(2);
|
|
97
108
|
i0.ɵɵadvance(2);
|
|
98
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3,
|
|
109
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "Permissions"));
|
|
99
110
|
i0.ɵɵadvance(3);
|
|
100
111
|
i0.ɵɵproperty("ngIf", ctx_r5.user.manageOrganisations === "Yes");
|
|
101
112
|
i0.ɵɵadvance(1);
|
|
@@ -106,6 +117,8 @@ function UserDetailsComponent_table_1_tr_17_Template(rf, ctx) { if (rf & 1) {
|
|
|
106
117
|
i0.ɵɵproperty("ngIf", ctx_r5.userHasRole("pui-caa"));
|
|
107
118
|
i0.ɵɵadvance(1);
|
|
108
119
|
i0.ɵɵproperty("ngIf", ctx_r5.userHasRole("pui-finance-manager"));
|
|
120
|
+
i0.ɵɵadvance(1);
|
|
121
|
+
i0.ɵɵproperty("ngForOf", ctx_r5.enabledAccessTypes);
|
|
109
122
|
i0.ɵɵadvance(2);
|
|
110
123
|
i0.ɵɵproperty("ngIf", ctx_r5.editPermissionRouterLink && ctx_r5.showEditLink);
|
|
111
124
|
} }
|
|
@@ -129,7 +142,7 @@ function UserDetailsComponent_table_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
129
142
|
i0.ɵɵelementEnd();
|
|
130
143
|
i0.ɵɵelement(16, "td", 12);
|
|
131
144
|
i0.ɵɵelementEnd();
|
|
132
|
-
i0.ɵɵtemplate(17, UserDetailsComponent_table_1_tr_17_Template,
|
|
145
|
+
i0.ɵɵtemplate(17, UserDetailsComponent_table_1_tr_17_Template, 13, 10, "tr", 13);
|
|
133
146
|
i0.ɵɵelementEnd()();
|
|
134
147
|
} if (rf & 2) {
|
|
135
148
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -145,9 +158,9 @@ function UserDetailsComponent_table_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
145
158
|
i0.ɵɵproperty("ngIf", !ctx_r1.user.resendInvite);
|
|
146
159
|
} }
|
|
147
160
|
function UserDetailsComponent_button_2_Template(rf, ctx) { if (rf & 1) {
|
|
148
|
-
const
|
|
149
|
-
i0.ɵɵelementStart(0, "button",
|
|
150
|
-
i0.ɵɵlistener("click", function UserDetailsComponent_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
161
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
162
|
+
i0.ɵɵelementStart(0, "button", 18);
|
|
163
|
+
i0.ɵɵlistener("click", function UserDetailsComponent_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.suspendUser(ctx_r14.user)); });
|
|
151
164
|
i0.ɵɵtext(1);
|
|
152
165
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
153
166
|
i0.ɵɵelementEnd();
|
|
@@ -156,8 +169,8 @@ function UserDetailsComponent_button_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
156
169
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "Suspend account"), "\n");
|
|
157
170
|
} }
|
|
158
171
|
function UserDetailsComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
159
|
-
const
|
|
160
|
-
i0.ɵɵelementStart(0, "div")(1, "div",
|
|
172
|
+
const _r17 = i0.ɵɵgetCurrentView();
|
|
173
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 19)(2, "p");
|
|
161
174
|
i0.ɵɵtext(3);
|
|
162
175
|
i0.ɵɵpipe(4, "rpxTranslate");
|
|
163
176
|
i0.ɵɵelementEnd();
|
|
@@ -169,8 +182,8 @@ function UserDetailsComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
169
182
|
i0.ɵɵtext(9);
|
|
170
183
|
i0.ɵɵpipe(10, "rpxTranslate");
|
|
171
184
|
i0.ɵɵelementEnd()();
|
|
172
|
-
i0.ɵɵelementStart(11, "a",
|
|
173
|
-
i0.ɵɵlistener("click", function UserDetailsComponent_div_3_Template_a_click_11_listener() { i0.ɵɵrestoreView(
|
|
185
|
+
i0.ɵɵelementStart(11, "a", 20);
|
|
186
|
+
i0.ɵɵlistener("click", function UserDetailsComponent_div_3_Template_a_click_11_listener() { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r16.reinviteClick(ctx_r16.user)); });
|
|
174
187
|
i0.ɵɵtext(12);
|
|
175
188
|
i0.ɵɵpipe(13, "rpxTranslate");
|
|
176
189
|
i0.ɵɵelementEnd()();
|
|
@@ -185,7 +198,7 @@ function UserDetailsComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
|
185
198
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(13, 10, "Resend invitation"), " ");
|
|
186
199
|
} }
|
|
187
200
|
function UserDetailsComponent_p_4_Template(rf, ctx) { if (rf & 1) {
|
|
188
|
-
i0.ɵɵelementStart(0, "p",
|
|
201
|
+
i0.ɵɵelementStart(0, "p", 21)(1, "a", 22);
|
|
189
202
|
i0.ɵɵtext(2);
|
|
190
203
|
i0.ɵɵpipe(3, "rpxTranslate");
|
|
191
204
|
i0.ɵɵelementEnd();
|
|
@@ -203,6 +216,7 @@ function UserDetailsComponent_p_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
203
216
|
} }
|
|
204
217
|
export class UserDetailsComponent {
|
|
205
218
|
constructor() {
|
|
219
|
+
this.enabledAccessTypes = [];
|
|
206
220
|
this.showEditLink = false;
|
|
207
221
|
this.showHelpLink = false;
|
|
208
222
|
this.suspendUserEvent = new EventEmitter();
|
|
@@ -223,7 +237,7 @@ export class UserDetailsComponent {
|
|
|
223
237
|
}
|
|
224
238
|
}
|
|
225
239
|
UserDetailsComponent.ɵfac = function UserDetailsComponent_Factory(t) { return new (t || UserDetailsComponent)(); };
|
|
226
|
-
UserDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserDetailsComponent, selectors: [["xuilib-user-details"]], inputs: { user: "user", editPermissionRouterLink: "editPermissionRouterLink", warningTitle: "warningTitle", showEditLink: "showEditLink", showHelpLink: "showHelpLink", suspendHelpLink: "suspendHelpLink", showSuspendUserButton: "showSuspendUserButton" }, outputs: { suspendUserEvent: "suspendUserEvent", reinvite: "reinvite" }, decls: 5, vars: 5, consts: [["class", "govuk-warning-text", 4, "ngIf"], ["class", "govuk-table", "role", "presentation", 4, "ngIf"], ["class", "govuk-button govuk-button--warning", 3, "click", 4, "ngIf"], [4, "ngIf"], ["class", "govuk-body", 4, "ngIf"], [1, "govuk-warning-text"], [1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], ["role", "presentation", 1, "govuk-table"], [1, "govuk-table__body"], [1, "govuk-table__row"], ["scope", "row", 1, "govuk-table__header"], [1, "govuk-table__cell"], ["class", "govuk-table__row", 4, "ngIf"], ["role", "link", 3, "routerLink", 4, "ngIf"], ["role", "link", 3, "routerLink"], [1, "govuk-visually-hidden"], [1, "govuk-button", "govuk-button--warning", 3, "click"], [1, "govuk-inset-text"], ["role", "button", "draggable", "false", "id", "resend-invite-button", 1, "govuk-button", 3, "click"], [1, "govuk-body"], ["target", "_blank", 3, "routerLink"]], template: function UserDetailsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
240
|
+
UserDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserDetailsComponent, selectors: [["xuilib-user-details"]], inputs: { user: "user", enabledAccessTypes: "enabledAccessTypes", editPermissionRouterLink: "editPermissionRouterLink", warningTitle: "warningTitle", showEditLink: "showEditLink", showHelpLink: "showHelpLink", suspendHelpLink: "suspendHelpLink", showSuspendUserButton: "showSuspendUserButton" }, outputs: { suspendUserEvent: "suspendUserEvent", reinvite: "reinvite" }, decls: 5, vars: 5, consts: [["class", "govuk-warning-text", 4, "ngIf"], ["class", "govuk-table", "role", "presentation", 4, "ngIf"], ["class", "govuk-button govuk-button--warning", 3, "click", 4, "ngIf"], [4, "ngIf"], ["class", "govuk-body", 4, "ngIf"], [1, "govuk-warning-text"], [1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], ["role", "presentation", 1, "govuk-table"], [1, "govuk-table__body"], [1, "govuk-table__row"], ["scope", "row", 1, "govuk-table__header"], [1, "govuk-table__cell"], ["class", "govuk-table__row", 4, "ngIf"], [4, "ngFor", "ngForOf"], ["role", "link", 3, "routerLink", 4, "ngIf"], ["role", "link", 3, "routerLink"], [1, "govuk-visually-hidden"], [1, "govuk-button", "govuk-button--warning", 3, "click"], [1, "govuk-inset-text"], ["role", "button", "draggable", "false", "id", "resend-invite-button", 1, "govuk-button", 3, "click"], [1, "govuk-body"], ["target", "_blank", 3, "routerLink"]], template: function UserDetailsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
227
241
|
i0.ɵɵtemplate(0, UserDetailsComponent_div_0_Template, 6, 3, "div", 0);
|
|
228
242
|
i0.ɵɵtemplate(1, UserDetailsComponent_table_1_Template, 18, 11, "table", 1);
|
|
229
243
|
i0.ɵɵtemplate(2, UserDetailsComponent_button_2_Template, 3, 3, "button", 2);
|
|
@@ -239,12 +253,14 @@ UserDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserDe
|
|
|
239
253
|
i0.ɵɵproperty("ngIf", ctx.user && ctx.user.resendInvite);
|
|
240
254
|
i0.ɵɵadvance(1);
|
|
241
255
|
i0.ɵɵproperty("ngIf", ctx.showHelpLink && ctx.suspendHelpLink);
|
|
242
|
-
} }, dependencies: [i1.NgIf, i2.RouterLink, i3.RpxTranslatePipe], styles: ["[_nghost-%COMP%]{display:block}"] });
|
|
256
|
+
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.RouterLink, i3.RpxTranslatePipe], styles: ["[_nghost-%COMP%]{display:block}"] });
|
|
243
257
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserDetailsComponent, [{
|
|
244
258
|
type: Component,
|
|
245
|
-
args: [{ selector: 'xuilib-user-details', template: "<div class=\"govuk-warning-text\" *ngIf=\"warningTitle && warningTitle !== ''\">\n<span class=\"govuk-warning-text__icon\">!</span>\n<strong class=\"govuk-warning-text__text\">\n {{ warningTitle | rpxTranslate}}\n</strong>\n</div>\n<table class=\"govuk-table\" *ngIf=\"user\" role=\"presentation\">\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Name' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">{{user.fullName | rpxTranslate}}</td>\n <td class=\"govuk-table__cell\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Email address' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">{{user.email}}</td>\n <td class=\"govuk-table__cell\"></td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"!user.resendInvite\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Permissions' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">\n <div *ngIf=\"user.manageOrganisations === 'Yes'\">{{'Manage organisations' | rpxTranslate}}</div>\n <div *ngIf=\"user.manageUsers === 'Yes'\">{{'Manage users' | rpxTranslate}}</div>\n <div *ngIf=\"user.manageCases === 'Yes'\">{{'Manage cases' | rpxTranslate}}</div>\n <div *ngIf=\"userHasRole('pui-caa')\">{{'Case access administrator' | rpxTranslate}}</div>\n <div *ngIf=\"userHasRole('pui-finance-manager')\">{{'Manage fee accounts' | rpxTranslate}}</div>\n </td>\n <td class=\"govuk-table__cell\"><a *ngIf=\"editPermissionRouterLink && showEditLink\" role=\"link\" [routerLink]=\"editPermissionRouterLink\">{{'Change' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'roles' | rpxTranslate}}</span></a></td>\n </tr>\n </tbody>\n</table>\n<button *ngIf=\"showSuspendUserButton\" class=\"govuk-button govuk-button--warning\" (click)=\"suspendUser(user)\">\n {{'Suspend account' | rpxTranslate}}\n</button>\n<div *ngIf=\"user && user.resendInvite\">\n <div class=\"govuk-inset-text\">\n <p>{{'This user has already been invited but has not activated their account.' | rpxTranslate}}</p>\n <p>{{'If you resend an invitation, they\\'ll receive an email from HM Courts and Tribunals to finish setting up their account.' | rpxTranslate}}</p>\n <p>{{'You can\\'t invite the same user more than once an hour.' | rpxTranslate}}</p>\n </div>\n <a role=\"button\" draggable=\"false\" class=\"govuk-button\" (click)=\"reinviteClick(user)\" id=\"resend-invite-button\">\n {{'Resend invitation' | rpxTranslate}}\n </a>\n</div>\n<p class=\"govuk-body\" *ngIf=\"showHelpLink && suspendHelpLink\"><a [routerLink]=\"suspendHelpLink\" target=\"_blank\">{{'Get help' | rpxTranslate}}</a> {{'to reactivate this account.' | rpxTranslate}}</p>\n", styles: [":host{display:block}\n"] }]
|
|
259
|
+
args: [{ selector: 'xuilib-user-details', template: "<div class=\"govuk-warning-text\" *ngIf=\"warningTitle && warningTitle !== ''\">\n<span class=\"govuk-warning-text__icon\">!</span>\n<strong class=\"govuk-warning-text__text\">\n {{ warningTitle | rpxTranslate}}\n</strong>\n</div>\n<table class=\"govuk-table\" *ngIf=\"user\" role=\"presentation\">\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Name' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">{{user.fullName | rpxTranslate}}</td>\n <td class=\"govuk-table__cell\"></td>\n </tr>\n <tr class=\"govuk-table__row\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Email address' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">{{user.email}}</td>\n <td class=\"govuk-table__cell\"></td>\n </tr>\n <tr class=\"govuk-table__row\" *ngIf=\"!user.resendInvite\">\n <th class=\"govuk-table__header\" scope=\"row\">{{'Permissions' | rpxTranslate}}</th>\n <td class=\"govuk-table__cell\">\n <div *ngIf=\"user.manageOrganisations === 'Yes'\">{{'Manage organisations' | rpxTranslate}}</div>\n <div *ngIf=\"user.manageUsers === 'Yes'\">{{'Manage users' | rpxTranslate}}</div>\n <div *ngIf=\"user.manageCases === 'Yes'\">{{'Manage cases' | rpxTranslate}}</div>\n <div *ngIf=\"userHasRole('pui-caa')\">{{'Case access administrator' | rpxTranslate}}</div>\n <div *ngIf=\"userHasRole('pui-finance-manager')\">{{'Manage fee accounts' | rpxTranslate}}</div>\n <div *ngFor=\"let accesstype of enabledAccessTypes\">{{ accesstype | rpxTranslate}}</div> \n </td>\n <td class=\"govuk-table__cell\"><a *ngIf=\"editPermissionRouterLink && showEditLink\" role=\"link\" [routerLink]=\"editPermissionRouterLink\">{{'Change' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'roles' | rpxTranslate}}</span></a></td>\n </tr>\n </tbody>\n</table>\n<button *ngIf=\"showSuspendUserButton\" class=\"govuk-button govuk-button--warning\" (click)=\"suspendUser(user)\">\n {{'Suspend account' | rpxTranslate}}\n</button>\n<div *ngIf=\"user && user.resendInvite\">\n <div class=\"govuk-inset-text\">\n <p>{{'This user has already been invited but has not activated their account.' | rpxTranslate}}</p>\n <p>{{'If you resend an invitation, they\\'ll receive an email from HM Courts and Tribunals to finish setting up their account.' | rpxTranslate}}</p>\n <p>{{'You can\\'t invite the same user more than once an hour.' | rpxTranslate}}</p>\n </div>\n <a role=\"button\" draggable=\"false\" class=\"govuk-button\" (click)=\"reinviteClick(user)\" id=\"resend-invite-button\">\n {{'Resend invitation' | rpxTranslate}}\n </a>\n</div>\n<p class=\"govuk-body\" *ngIf=\"showHelpLink && suspendHelpLink\"><a [routerLink]=\"suspendHelpLink\" target=\"_blank\">{{'Get help' | rpxTranslate}}</a> {{'to reactivate this account.' | rpxTranslate}}</p>\n", styles: [":host{display:block}\n"] }]
|
|
246
260
|
}], null, { user: [{
|
|
247
261
|
type: Input
|
|
262
|
+
}], enabledAccessTypes: [{
|
|
263
|
+
type: Input
|
|
248
264
|
}], editPermissionRouterLink: [{
|
|
249
265
|
type: Input
|
|
250
266
|
}], warningTitle: [{
|
|
@@ -262,4 +278,4 @@ UserDetailsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserDe
|
|
|
262
278
|
}], reinvite: [{
|
|
263
279
|
type: Output
|
|
264
280
|
}] }); })();
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1kZXRhaWxzL3VzZXItZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItZGV0YWlscy91c2VyLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDQXZFLDhCQUE0RSxjQUFBO0lBQ3JDLGlCQUFDO0lBQUEsaUJBQU87SUFDL0MsaUNBQXlDO0lBQ3JDLFlBQ0o7O0lBQUEsaUJBQVMsRUFBQTs7O0lBREwsZUFDSjtJQURJLDJFQUNKOzs7SUFpQlUsMkJBQWdEO0lBQUEsWUFBeUM7O0lBQUEsaUJBQU07O0lBQS9DLGVBQXlDO0lBQXpDLGtFQUF5Qzs7O0lBQ3pGLDJCQUF3QztJQUFBLFlBQWlDOztJQUFBLGlCQUFNOztJQUF2QyxlQUFpQztJQUFqQywwREFBaUM7OztJQUN6RSwyQkFBd0M7SUFBQSxZQUFpQzs7SUFBQSxpQkFBTTs7SUFBdkMsZUFBaUM7SUFBakMsMERBQWlDOzs7SUFDekUsMkJBQW9DO0lBQUEsWUFBOEM7O0lBQUEsaUJBQU07O0lBQXBELGVBQThDO0lBQTlDLHVFQUE4Qzs7O0lBQ2xGLDJCQUFnRDtJQUFBLFlBQXdDOztJQUFBLGlCQUFNOztJQUE5QyxlQUF3QztJQUF4QyxpRUFBd0M7OztJQUU1RCw2QkFBd0c7SUFBQSxZQUE0Qjs7SUFBQSxnQ0FBb0M7SUFBQSxZQUEwQjs7SUFBQSxpQkFBTyxFQUFBOzs7SUFBekksNkRBQXVDO0lBQUMsZUFBNEI7SUFBNUIsOERBQTRCO0lBQW9DLGVBQTBCO0lBQTFCLG1EQUEwQjs7O0lBVHBPLDhCQUF3RCxhQUFBO0lBQ1IsWUFBZ0M7O0lBQUEsaUJBQUs7SUFDakYsOEJBQThCO0lBQzVCLG1GQUErRjtJQUMvRixtRkFBK0U7SUFDL0UsbUZBQStFO0lBQy9FLG1GQUF3RjtJQUN4RixtRkFBOEY7SUFDaEcsaUJBQUs7SUFDTCwrQkFBOEI7SUFBQSxrRkFBNk07SUFBQSxpQkFBSyxFQUFBOzs7SUFScE0sZUFBZ0M7SUFBaEMseURBQWdDO0lBRXBFLGVBQXdDO0lBQXhDLGdFQUF3QztJQUN4QyxlQUFnQztJQUFoQyx3REFBZ0M7SUFDaEMsZUFBZ0M7SUFBaEMsd0RBQWdDO0lBQ2hDLGVBQTRCO0lBQTVCLG9EQUE0QjtJQUM1QixlQUF3QztJQUF4QyxnRUFBd0M7SUFFZCxlQUE4QztJQUE5Qyw2RUFBOEM7OztJQXJCeEYsZ0NBQTRELGVBQUEsYUFBQSxhQUFBO0lBR1IsWUFBeUI7O0lBQUEsaUJBQUs7SUFDMUUsOEJBQThCO0lBQUEsWUFBZ0M7O0lBQUEsaUJBQUs7SUFDbkUseUJBQW1DO0lBQ3ZDLGlCQUFLO0lBQ0wsK0JBQTZCLGNBQUE7SUFDbUIsYUFBa0M7O0lBQUEsaUJBQUs7SUFDbkYsK0JBQThCO0lBQUEsYUFBYztJQUFBLGlCQUFLO0lBQ2pELDBCQUFtQztJQUN2QyxpQkFBSztJQUNMLCtFQVVLO0lBQ1AsaUJBQVEsRUFBQTs7O0lBcEIwQyxlQUF5QjtJQUF6QixrREFBeUI7SUFDdkMsZUFBZ0M7SUFBaEMsZ0VBQWdDO0lBSWxCLGVBQWtDO0lBQWxDLDREQUFrQztJQUNoRCxlQUFjO0lBQWQsdUNBQWM7SUFHbEIsZUFBd0I7SUFBeEIsZ0RBQXdCOzs7O0lBYTFELGtDQUE2RztJQUE1QixzS0FBUyxlQUFBLGlDQUFpQixDQUFBLElBQUM7SUFDMUcsWUFDRjs7SUFBQSxpQkFBUzs7SUFEUCxlQUNGO0lBREUseUVBQ0Y7Ozs7SUFDQSwyQkFBdUMsY0FBQSxRQUFBO0lBRWhDLFlBQTRGOztJQUFBLGlCQUFJO0lBQ25HLHlCQUFHO0lBQUEsWUFBNEk7O0lBQUEsaUJBQUk7SUFDbkoseUJBQUc7SUFBQSxZQUE0RTs7SUFBQSxpQkFBSSxFQUFBO0lBRXJGLDhCQUFnSDtJQUF4RCwrSkFBUyxlQUFBLG1DQUFtQixDQUFBLElBQUM7SUFDakYsYUFDSjs7SUFBQSxpQkFBSSxFQUFBOztJQU5DLGVBQTRGO0lBQTVGLHFIQUE0RjtJQUM1RixlQUE0STtJQUE1SSxvS0FBNEk7SUFDNUksZUFBNEU7SUFBNUUscUdBQTRFO0lBRzdFLGVBQ0o7SUFESSw0RUFDSjs7O0lBRUYsNkJBQThELFlBQUE7SUFBa0QsWUFBNkI7O0lBQUEsaUJBQUk7SUFBQyxZQUFnRDs7SUFBQSxpQkFBSTs7O0lBQXJJLGVBQThCO0lBQTlCLG1EQUE4QjtJQUFpQixlQUE2QjtJQUE3QixzREFBNkI7SUFBSyxlQUFnRDtJQUFoRCxtRkFBZ0Q7O0FEcENsTSxNQUFNLE9BQU8sb0JBQW9CO0lBTGpDO1FBU29CLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRTdCLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDN0MsMEJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQzdCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0tBZ0J4RDtJQWRVLGFBQWEsQ0FBQyxJQUFVO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxXQUFXLENBQUMsV0FBaUI7UUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQWU7UUFDaEMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzt3RkF4QlEsb0JBQW9CO3VFQUFwQixvQkFBb0I7UUNSakMscUVBS007UUFDTiwyRUF3QlE7UUFDUiwyRUFFUztRQUNULHVFQVNNO1FBQ04saUVBQXNNOztRQTVDckssa0VBQXlDO1FBTTlDLGVBQVU7UUFBViwrQkFBVTtRQXlCN0IsZUFBMkI7UUFBM0IsZ0RBQTJCO1FBRzlCLGVBQStCO1FBQS9CLHdEQUErQjtRQVVkLGVBQXFDO1FBQXJDLDhEQUFxQzs7dUZEcEMvQyxvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDSSxxQkFBcUI7Z0JBS2YsSUFBSTtrQkFBbkIsS0FBSztZQUNVLHdCQUF3QjtrQkFBdkMsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUNVLGVBQWU7a0JBQTlCLEtBQUs7WUFDVyxnQkFBZ0I7a0JBQWhDLE1BQU07WUFDUyxxQkFBcUI7a0JBQXBDLEtBQUs7WUFDVyxRQUFRO2tCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3h1aWxpYi11c2VyLWRldGFpbHMnLFxuICAgIHN0eWxlVXJsczogWycuL3VzZXItZGV0YWlscy5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91c2VyLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJEZXRhaWxzQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgdXNlcjogVXNlcjtcbiAgICBASW5wdXQoKSBwdWJsaWMgZWRpdFBlcm1pc3Npb25Sb3V0ZXJMaW5rOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIHdhcm5pbmdUaXRsZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzaG93RWRpdExpbms6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgc2hvd0hlbHBMaW5rOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIHN1c3BlbmRIZWxwTGluazogc3RyaW5nO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgc3VzcGVuZFVzZXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8VXNlcj4oKTtcbiAgICBASW5wdXQoKSBwdWJsaWMgc2hvd1N1c3BlbmRVc2VyQnV0dG9uID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWludml0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8VXNlcj4oKTtcblxuICAgIHB1YmxpYyByZWludml0ZUNsaWNrKHVzZXI6IFVzZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWludml0ZS5lbWl0KHVzZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdXNwZW5kVXNlcihzdXNwZW5kVXNlcjogVXNlcik6IHZvaWQge1xuICAgICAgdGhpcy5zdXNwZW5kVXNlckV2ZW50LmVtaXQoc3VzcGVuZFVzZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1c2VySGFzUm9sZSh0aGVSb2xlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgIGlmICh0aGlzLnVzZXIgJiYgdGhpcy51c2VyLnJvbGVzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZXIucm9sZXMuaW5jbHVkZXModGhlUm9sZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dFwiICpuZ0lmPVwid2FybmluZ1RpdGxlICYmIHdhcm5pbmdUaXRsZSAhPT0gJydcIj5cbjxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19pY29uXCI+ITwvc3Bhbj5cbjxzdHJvbmcgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX3RleHRcIj5cbiAgICB7eyB3YXJuaW5nVGl0bGUgfCBycHhUcmFuc2xhdGV9fVxuPC9zdHJvbmc+XG48L2Rpdj5cbjx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlXCIgKm5nSWY9XCJ1c2VyXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwicm93XCI+e3snTmFtZScgfCBycHhUcmFuc2xhdGV9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3t1c2VyLmZ1bGxOYW1lIHwgcnB4VHJhbnNsYXRlfX08L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPjwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cInJvd1wiPnt7J0VtYWlsIGFkZHJlc3MnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7dXNlci5lbWFpbH19PC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj48L3RkPlxuICAgIDwvdHI+XG4gICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0lmPVwiIXVzZXIucmVzZW5kSW52aXRlXCI+XG4gICAgICAgIDx0aCBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIiBzY29wZT1cInJvd1wiPnt7J1Blcm1pc3Npb25zJyB8IHJweFRyYW5zbGF0ZX19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlci5tYW5hZ2VPcmdhbmlzYXRpb25zID09PSAnWWVzJ1wiPnt7J01hbmFnZSBvcmdhbmlzYXRpb25zJyB8IHJweFRyYW5zbGF0ZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXIubWFuYWdlVXNlcnMgPT09ICdZZXMnXCI+e3snTWFuYWdlIHVzZXJzJyB8IHJweFRyYW5zbGF0ZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXIubWFuYWdlQ2FzZXMgPT09ICdZZXMnXCI+e3snTWFuYWdlIGNhc2VzJyB8IHJweFRyYW5zbGF0ZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXJIYXNSb2xlKCdwdWktY2FhJylcIj57eydDYXNlIGFjY2VzcyBhZG1pbmlzdHJhdG9yJyB8IHJweFRyYW5zbGF0ZX19PC9kaXY+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cInVzZXJIYXNSb2xlKCdwdWktZmluYW5jZS1tYW5hZ2VyJylcIj57eydNYW5hZ2UgZmVlIGFjY291bnRzJyB8IHJweFRyYW5zbGF0ZX19PC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PGEgKm5nSWY9XCJlZGl0UGVybWlzc2lvblJvdXRlckxpbmsgJiYgc2hvd0VkaXRMaW5rXCIgcm9sZT1cImxpbmtcIiBbcm91dGVyTGlua109XCJlZGl0UGVybWlzc2lvblJvdXRlckxpbmtcIj57eydDaGFuZ2UnIHwgcnB4VHJhbnNsYXRlfX0gPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eydyb2xlcycgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L2E+PC90ZD5cbiAgICA8L3RyPlxuICA8L3Rib2R5PlxuPC90YWJsZT5cbjxidXR0b24gKm5nSWY9XCJzaG93U3VzcGVuZFVzZXJCdXR0b25cIiBjbGFzcz1cImdvdnVrLWJ1dHRvbiBnb3Z1ay1idXR0b24tLXdhcm5pbmdcIiAoY2xpY2spPVwic3VzcGVuZFVzZXIodXNlcilcIj5cbiAge3snU3VzcGVuZCBhY2NvdW50JyB8IHJweFRyYW5zbGF0ZX19XG48L2J1dHRvbj5cbjxkaXYgKm5nSWY9XCJ1c2VyICYmIHVzZXIucmVzZW5kSW52aXRlXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1pbnNldC10ZXh0XCI+XG4gICAgPHA+e3snVGhpcyB1c2VyIGhhcyBhbHJlYWR5IGJlZW4gaW52aXRlZCBidXQgaGFzIG5vdCBhY3RpdmF0ZWQgdGhlaXIgYWNjb3VudC4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG4gICAgPHA+e3snSWYgeW91IHJlc2VuZCBhbiBpbnZpdGF0aW9uLCB0aGV5XFwnbGwgcmVjZWl2ZSBhbiBlbWFpbCBmcm9tIEhNIENvdXJ0cyBhbmQgVHJpYnVuYWxzIHRvIGZpbmlzaCBzZXR0aW5nIHVwIHRoZWlyIGFjY291bnQuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuICAgIDxwPnt7J1lvdSBjYW5cXCd0IGludml0ZSB0aGUgc2FtZSB1c2VyIG1vcmUgdGhhbiBvbmNlIGFuIGhvdXIuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuICA8L2Rpdj5cbiAgPGEgcm9sZT1cImJ1dHRvblwiIGRyYWdnYWJsZT1cImZhbHNlXCIgY2xhc3M9XCJnb3Z1ay1idXR0b25cIiAoY2xpY2spPVwicmVpbnZpdGVDbGljayh1c2VyKVwiIGlkPVwicmVzZW5kLWludml0ZS1idXR0b25cIj5cbiAgICAgIHt7J1Jlc2VuZCBpbnZpdGF0aW9uJyB8IHJweFRyYW5zbGF0ZX19XG4gIDwvYT5cbjwvZGl2PlxuPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCIgKm5nSWY9XCJzaG93SGVscExpbmsgJiYgc3VzcGVuZEhlbHBMaW5rXCI+PGEgW3JvdXRlckxpbmtdPVwic3VzcGVuZEhlbHBMaW5rXCIgdGFyZ2V0PVwiX2JsYW5rXCI+e3snR2V0IGhlbHAnIHwgcnB4VHJhbnNsYXRlfX08L2E+IHt7J3RvIHJlYWN0aXZhdGUgdGhpcyBhY2NvdW50LicgfCBycHhUcmFuc2xhdGV9fTwvcD5cbiJdfQ==
|
|
281
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdXNlci1kZXRhaWxzL3VzZXItZGV0YWlscy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItZGV0YWlscy91c2VyLWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDQXZFLDhCQUE0RSxjQUFBO0lBQ3JDLGlCQUFDO0lBQUEsaUJBQU87SUFDL0MsaUNBQXlDO0lBQ3JDLFlBQ0o7O0lBQUEsaUJBQVMsRUFBQTs7O0lBREwsZUFDSjtJQURJLDJFQUNKOzs7SUFpQlUsMkJBQWdEO0lBQUEsWUFBeUM7O0lBQUEsaUJBQU07O0lBQS9DLGVBQXlDO0lBQXpDLGtFQUF5Qzs7O0lBQ3pGLDJCQUF3QztJQUFBLFlBQWlDOztJQUFBLGlCQUFNOztJQUF2QyxlQUFpQztJQUFqQywwREFBaUM7OztJQUN6RSwyQkFBd0M7SUFBQSxZQUFpQzs7SUFBQSxpQkFBTTs7SUFBdkMsZUFBaUM7SUFBakMsMERBQWlDOzs7SUFDekUsMkJBQW9DO0lBQUEsWUFBOEM7O0lBQUEsaUJBQU07O0lBQXBELGVBQThDO0lBQTlDLHVFQUE4Qzs7O0lBQ2xGLDJCQUFnRDtJQUFBLFlBQXdDOztJQUFBLGlCQUFNOztJQUE5QyxlQUF3QztJQUF4QyxpRUFBd0M7OztJQUN4RiwyQkFBbUQ7SUFBQSxZQUE4Qjs7SUFBQSxpQkFBTTs7O0lBQXBDLGVBQThCO0lBQTlCLDBEQUE4Qjs7O0lBRXJELDZCQUF3RztJQUFBLFlBQTRCOztJ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UUFDaEMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzt3RkF6QlEsb0JBQW9CO3VFQUFwQixvQkFBb0I7UUNSakMscUVBS007UUFDTiwyRUF5QlE7UUFDUiwyRUFFUztRQUNULHVFQVNNO1FBQ04saUVBQXNNOztRQTdDckssa0VBQXlDO1FBTTlDLGVBQVU7UUFBViwrQkFBVTtRQTBCN0IsZUFBMkI7UUFBM0IsZ0RBQTJCO1FBRzlCLGVBQStCO1FBQS9CLHdEQUErQjtRQVVkLGVBQXFDO1FBQXJDLDhEQUFxQzs7dUZEckMvQyxvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDSSxxQkFBcUI7Z0JBS2YsSUFBSTtrQkFBbkIsS0FBSztZQUNVLGtCQUFrQjtrQkFBakMsS0FBSztZQUNVLHdCQUF3QjtrQkFBdkMsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSztZQUNVLGVBQWU7a0JBQTlCLEtBQUs7WUFDVyxnQkFBZ0I7a0JBQWhDLE1BQU07WUFDUyxxQkFBcUI7a0JBQXBDLEtBQUs7WUFDVyxRQUFRO2tCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3h1aWxpYi11c2VyLWRldGFpbHMnLFxuICAgIHN0eWxlVXJsczogWycuL3VzZXItZGV0YWlscy5jb21wb25lbnQuc2NzcyddLFxuICAgIHRlbXBsYXRlVXJsOiAnLi91c2VyLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJEZXRhaWxzQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgdXNlcjogVXNlcjtcbiAgICBASW5wdXQoKSBwdWJsaWMgZW5hYmxlZEFjY2Vzc1R5cGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlZGl0UGVybWlzc2lvblJvdXRlckxpbms6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgd2FybmluZ1RpdGxlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIHNob3dFZGl0TGluazogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzaG93SGVscExpbms6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VzcGVuZEhlbHBMaW5rOiBzdHJpbmc7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBzdXNwZW5kVXNlckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxVc2VyPigpO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzaG93U3VzcGVuZFVzZXJCdXR0b24gPSBmYWxzZTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJlaW52aXRlID0gbmV3IEV2ZW50RW1pdHRlcjxVc2VyPigpO1xuXG4gICAgcHVibGljIHJlaW52aXRlQ2xpY2sodXNlcjogVXNlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnJlaW52aXRlLmVtaXQodXNlcik7XG4gICAgfVxuXG4gICAgcHVibGljIHN1c3BlbmRVc2VyKHN1c3BlbmRVc2VyOiBVc2VyKTogdm9pZCB7XG4gICAgICB0aGlzLnN1c3BlbmRVc2VyRXZlbnQuZW1pdChzdXNwZW5kVXNlcik7XG4gICAgfVxuXG4gICAgcHVibGljIHVzZXJIYXNSb2xlKHRoZVJvbGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgaWYgKHRoaXMudXNlciAmJiB0aGlzLnVzZXIucm9sZXMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlci5yb2xlcy5pbmNsdWRlcyh0aGVSb2xlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0XCIgKm5nSWY9XCJ3YXJuaW5nVGl0bGUgJiYgd2FybmluZ1RpdGxlICE9PSAnJ1wiPlxuPHNwYW4gY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX2ljb25cIj4hPC9zcGFuPlxuPHN0cm9uZyBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9fdGV4dFwiPlxuICAgIHt7IHdhcm5pbmdUaXRsZSB8IHJweFRyYW5zbGF0ZX19XG48L3N0cm9uZz5cbjwvZGl2PlxuPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGVcIiAqbmdJZj1cInVzZXJcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICA8dGggY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgc2NvcGU9XCJyb3dcIj57eydOYW1lJyB8IHJweFRyYW5zbGF0ZX19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57e3VzZXIuZnVsbE5hbWUgfCBycHhUcmFuc2xhdGV9fTwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+PC90ZD5cbiAgICA8L3RyPlxuICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwicm93XCI+e3snRW1haWwgYWRkcmVzcycgfCBycHhUcmFuc2xhdGV9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3t1c2VyLmVtYWlsfX08L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPjwvdGQ+XG4gICAgPC90cj5cbiAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCIhdXNlci5yZXNlbmRJbnZpdGVcIj5cbiAgICAgICAgPHRoIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIHNjb3BlPVwicm93XCI+e3snUGVybWlzc2lvbnMnIHwgcnB4VHJhbnNsYXRlfX08L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyLm1hbmFnZU9yZ2FuaXNhdGlvbnMgPT09ICdZZXMnXCI+e3snTWFuYWdlIG9yZ2FuaXNhdGlvbnMnIHwgcnB4VHJhbnNsYXRlfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlci5tYW5hZ2VVc2VycyA9PT0gJ1llcydcIj57eydNYW5hZ2UgdXNlcnMnIHwgcnB4VHJhbnNsYXRlfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlci5tYW5hZ2VDYXNlcyA9PT0gJ1llcydcIj57eydNYW5hZ2UgY2FzZXMnIHwgcnB4VHJhbnNsYXRlfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlckhhc1JvbGUoJ3B1aS1jYWEnKVwiPnt7J0Nhc2UgYWNjZXNzIGFkbWluaXN0cmF0b3InIHwgcnB4VHJhbnNsYXRlfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlckhhc1JvbGUoJ3B1aS1maW5hbmNlLW1hbmFnZXInKVwiPnt7J01hbmFnZSBmZWUgYWNjb3VudHMnIHwgcnB4VHJhbnNsYXRlfX08L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhY2Nlc3N0eXBlIG9mIGVuYWJsZWRBY2Nlc3NUeXBlc1wiPnt7IGFjY2Vzc3R5cGUgfCBycHhUcmFuc2xhdGV9fTwvZGl2PiBcbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj48YSAqbmdJZj1cImVkaXRQZXJtaXNzaW9uUm91dGVyTGluayAmJiBzaG93RWRpdExpbmtcIiByb2xlPVwibGlua1wiIFtyb3V0ZXJMaW5rXT1cImVkaXRQZXJtaXNzaW9uUm91dGVyTGlua1wiPnt7J0NoYW5nZScgfCBycHhUcmFuc2xhdGV9fSA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPnt7J3JvbGVzJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvYT48L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuPGJ1dHRvbiAqbmdJZj1cInNob3dTdXNwZW5kVXNlckJ1dHRvblwiIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLWJ1dHRvbi0td2FybmluZ1wiIChjbGljayk9XCJzdXNwZW5kVXNlcih1c2VyKVwiPlxuICB7eydTdXNwZW5kIGFjY291bnQnIHwgcnB4VHJhbnNsYXRlfX1cbjwvYnV0dG9uPlxuPGRpdiAqbmdJZj1cInVzZXIgJiYgdXNlci5yZXNlbmRJbnZpdGVcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWluc2V0LXRleHRcIj5cbiAgICA8cD57eydUaGlzIHVzZXIgaGFzIGFscmVhZHkgYmVlbiBpbnZpdGVkIGJ1dCBoYXMgbm90IGFjdGl2YXRlZCB0aGVpciBhY2NvdW50LicgfCBycHhUcmFuc2xhdGV9fTwvcD5cbiAgICA8cD57eydJZiB5b3UgcmVzZW5kIGFuIGludml0YXRpb24sIHRoZXlcXCdsbCByZWNlaXZlIGFuIGVtYWlsIGZyb20gSE0gQ291cnRzIGFuZCBUcmlidW5hbHMgdG8gZmluaXNoIHNldHRpbmcgdXAgdGhlaXIgYWNjb3VudC4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG4gICAgPHA+e3snWW91IGNhblxcJ3QgaW52aXRlIHRoZSBzYW1lIHVzZXIgbW9yZSB0aGFuIG9uY2UgYW4gaG91ci4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG4gIDwvZGl2PlxuICA8YSByb2xlPVwiYnV0dG9uXCIgZHJhZ2dhYmxlPVwiZmFsc2VcIiBjbGFzcz1cImdvdnVrLWJ1dHRvblwiIChjbGljayk9XCJyZWludml0ZUNsaWNrKHVzZXIpXCIgaWQ9XCJyZXNlbmQtaW52aXRlLWJ1dHRvblwiPlxuICAgICAge3snUmVzZW5kIGludml0YXRpb24nIHwgcnB4VHJhbnNsYXRlfX1cbiAgPC9hPlxuPC9kaXY+XG48cCBjbGFzcz1cImdvdnVrLWJvZHlcIiAqbmdJZj1cInNob3dIZWxwTGluayAmJiBzdXNwZW5kSGVscExpbmtcIj48YSBbcm91dGVyTGlua109XCJzdXNwZW5kSGVscExpbmtcIiB0YXJnZXQ9XCJfYmxhbmtcIj57eydHZXQgaGVscCcgfCBycHhUcmFuc2xhdGV9fTwvYT4ge3sndG8gcmVhY3RpdmF0ZSB0aGlzIGFjY291bnQuJyB8IHJweFRyYW5zbGF0ZX19PC9wPlxuIl19
|