@posiwise/shared-components 0.0.109 → 0.0.110
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/esm2022/lib/ab-test/ab-test-container/ab-test-container.component.mjs +1 -1
- package/esm2022/lib/autheticator/authenticator.component.mjs +1 -2
- package/esm2022/lib/custom-uploader/custom-uploader.component.mjs +4 -4
- package/esm2022/lib/geo-template/geo-template.component.mjs +1 -1
- package/esm2022/lib/header/header.component.mjs +4 -4
- package/esm2022/lib/image-cropper/image-cropper.component.mjs +3 -3
- package/esm2022/lib/input-container/input-container.component.mjs +5 -5
- package/esm2022/lib/label-management/entity-group/entity-group.component.mjs +5 -7
- package/esm2022/lib/label-management/group-definition/group-definition.component.mjs +4 -6
- package/esm2022/lib/label-management/groups/groups.component.mjs +4 -6
- package/esm2022/lib/landing-page-footer-b/landing-page-footer-b.component.mjs +3 -3
- package/esm2022/lib/no-data/no-data.component.mjs +4 -4
- package/esm2022/lib/number-picker/number-picker.component.mjs +24 -27
- package/esm2022/lib/password-validation/password-validation.component.mjs +1 -1
- package/esm2022/lib/permission-tree/permission-tree.component.mjs +4 -6
- package/esm2022/lib/privacy-and-tos/privacy-and-tos.component.mjs +27 -18
- package/esm2022/lib/privacy-policy/privacy-policy.component.mjs +2 -2
- package/esm2022/lib/splash/splash.component.mjs +1 -1
- package/esm2022/lib/terms-conditions/terms-conditions.component.mjs +3 -3
- package/fesm2022/posiwise-shared-components.mjs +80 -77
- package/fesm2022/posiwise-shared-components.mjs.map +1 -1
- package/lib/ab-test/ab-test-container/ab-test-container.component.d.ts +1 -1
- package/lib/autheticator/authenticator.component.d.ts +1 -1
- package/lib/custom-uploader/custom-uploader.component.d.ts +2 -2
- package/lib/geo-template/geo-template.component.d.ts +1 -1
- package/lib/header/header.component.d.ts +1 -1
- package/lib/image-cropper/image-cropper.component.d.ts +1 -1
- package/lib/input-container/input-container.component.d.ts +1 -1
- package/lib/label-management/entity-group/entity-group.component.d.ts +5 -7
- package/lib/label-management/group-definition/group-definition.component.d.ts +6 -8
- package/lib/label-management/groups/groups.component.d.ts +6 -9
- package/lib/landing-page-footer-b/landing-page-footer-b.component.d.ts +1 -1
- package/lib/number-picker/number-picker.component.d.ts +1 -2
- package/lib/password-validation/password-validation.component.d.ts +1 -1
- package/lib/permission-tree/permission-tree.component.d.ts +1 -1
- package/lib/privacy-and-tos/privacy-and-tos.component.d.ts +5 -3
- package/lib/terms-conditions/terms-conditions.component.d.ts +1 -1
- package/package.json +1 -1
|
@@ -87,7 +87,7 @@ export class NumberPickerComponent {
|
|
|
87
87
|
onDecrease(event) {
|
|
88
88
|
event.preventDefault();
|
|
89
89
|
if (this.canDecrease()) {
|
|
90
|
-
this.value = this.round(this.value > this.min ?
|
|
90
|
+
this.value = this.round(this.value > this.min ? this.value - this.step : this.value);
|
|
91
91
|
this.valueChange.emit(this.value);
|
|
92
92
|
}
|
|
93
93
|
else {
|
|
@@ -98,7 +98,7 @@ export class NumberPickerComponent {
|
|
|
98
98
|
onIncrease(event) {
|
|
99
99
|
event.preventDefault();
|
|
100
100
|
if (this.canIncrease()) {
|
|
101
|
-
this.value = this.round(this.value < this.max ?
|
|
101
|
+
this.value = this.round(this.value < this.max ? this.value + this.step : this.value);
|
|
102
102
|
this.valueChange.emit(this.value);
|
|
103
103
|
}
|
|
104
104
|
else {
|
|
@@ -109,11 +109,11 @@ export class NumberPickerComponent {
|
|
|
109
109
|
onMouseDown(event, increase = true) {
|
|
110
110
|
this.afterMouseDown(increase, event);
|
|
111
111
|
}
|
|
112
|
-
isArrowUpDown(
|
|
113
|
-
return
|
|
112
|
+
isArrowUpDown(key) {
|
|
113
|
+
return key === 'ArrowUp' || key === 'ArrowDown';
|
|
114
114
|
}
|
|
115
|
-
isArowUp(
|
|
116
|
-
return
|
|
115
|
+
isArowUp(key) {
|
|
116
|
+
return key === 'ArrowUp';
|
|
117
117
|
}
|
|
118
118
|
loopPick(increase, event) {
|
|
119
119
|
this.onPickStarted(increase);
|
|
@@ -132,24 +132,24 @@ export class NumberPickerComponent {
|
|
|
132
132
|
this.afterMouseUp(increase, event);
|
|
133
133
|
}
|
|
134
134
|
onKeyDown(event) {
|
|
135
|
-
if (this.isArrowUpDown(event.
|
|
135
|
+
if (this.isArrowUpDown(event.key)) {
|
|
136
136
|
event.preventDefault();
|
|
137
137
|
if (!this.eventHolder) {
|
|
138
|
-
this.loopPick(this.isArowUp(event.
|
|
138
|
+
this.loopPick(this.isArowUp(event.key), event);
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
event.stopPropagation();
|
|
142
142
|
}
|
|
143
143
|
onKeyUp(event) {
|
|
144
|
-
if (this.isArrowUpDown(event.
|
|
144
|
+
if (this.isArrowUpDown(event.key)) {
|
|
145
145
|
event.preventDefault();
|
|
146
|
-
this.afterPick(this.isArowUp(event.
|
|
146
|
+
this.afterPick(this.isArowUp(event.key));
|
|
147
147
|
}
|
|
148
148
|
event.stopPropagation();
|
|
149
149
|
}
|
|
150
150
|
afterMouseDown(up, event) {
|
|
151
151
|
event.preventDefault();
|
|
152
|
-
if (this.isLeftClick(event
|
|
152
|
+
if (this.isLeftClick(event)) {
|
|
153
153
|
this.loopPick(up, event);
|
|
154
154
|
}
|
|
155
155
|
event.stopPropagation();
|
|
@@ -169,14 +169,6 @@ export class NumberPickerComponent {
|
|
|
169
169
|
this.eventHolder = null;
|
|
170
170
|
this.countInterval = null;
|
|
171
171
|
}
|
|
172
|
-
afterArrowKeysPressed(up, event, start) {
|
|
173
|
-
if (start) {
|
|
174
|
-
this.loopPick(up, event);
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
this.afterPick(up);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
172
|
parseVal(value) {
|
|
181
173
|
if (typeof value === 'number') {
|
|
182
174
|
return value;
|
|
@@ -205,8 +197,11 @@ export class NumberPickerComponent {
|
|
|
205
197
|
return canDecrease;
|
|
206
198
|
}
|
|
207
199
|
onPickStarted(increase) {
|
|
208
|
-
|
|
200
|
+
const isIncrease = increase;
|
|
201
|
+
if (isIncrease) {
|
|
202
|
+
// NOSONAR
|
|
209
203
|
if (this.canIncrease()) {
|
|
204
|
+
console.log('In this');
|
|
210
205
|
this.pickStarted.emit(true);
|
|
211
206
|
this.pickUpStarted.emit(true);
|
|
212
207
|
}
|
|
@@ -217,7 +212,9 @@ export class NumberPickerComponent {
|
|
|
217
212
|
}
|
|
218
213
|
}
|
|
219
214
|
onpickStopped(increase) {
|
|
220
|
-
|
|
215
|
+
const isIncrease = increase;
|
|
216
|
+
if (isIncrease) {
|
|
217
|
+
// NOSONAR
|
|
221
218
|
if (this.canIncrease()) {
|
|
222
219
|
this.pickUpStopped.emit(true);
|
|
223
220
|
this.pickStopped.emit(true);
|
|
@@ -228,8 +225,8 @@ export class NumberPickerComponent {
|
|
|
228
225
|
this.pickStopped.emit(true);
|
|
229
226
|
}
|
|
230
227
|
}
|
|
231
|
-
isLeftClick(
|
|
232
|
-
return
|
|
228
|
+
isLeftClick(event) {
|
|
229
|
+
return event.button === 0;
|
|
233
230
|
}
|
|
234
231
|
initPicker() {
|
|
235
232
|
this.min = this.parseVal(this.min) || this.numberPickerService.min;
|
|
@@ -241,14 +238,14 @@ export class NumberPickerComponent {
|
|
|
241
238
|
this.pickTimer = this.parseVal(this.pickTimer) || this.numberPickerService.pickTimer;
|
|
242
239
|
this.precision = this.getPrecision(this.step) || this.numberPickerService.precision;
|
|
243
240
|
this.value = this.round(this.value);
|
|
244
|
-
this.placeholder = this.placeholder
|
|
241
|
+
this.placeholder = this.placeholder ?? '';
|
|
245
242
|
}
|
|
246
243
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NumberPickerComponent, deps: [{ token: i1.NumberPickerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
247
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: NumberPickerComponent, selector: "pw-number-picker", inputs: { min: "min", showTooltip: "showTooltip", tooltipText: "tooltipText", max: "max", step: "step", value: "value", pickStartAfter: "pickStartAfter", pickTimer: "pickTimer", prefix: "prefix", postfix: "postfix", placeholder: "placeholder", buttonsOrientation: "buttonsOrientation", size: "size", customClass: "customClass", mouseWheel: "mouseWheel", arrowKeys: "arrowKeys", inputReadOnly: "inputReadOnly", showUpButton: "showUpButton", showDownButton: "showDownButton" }, outputs: { valueChange: "valueChange", minReached: "minReached", maxReached: "maxReached", pickStarted: "pickStarted", pickStopped: "pickStopped", pickUpStarted: "pickUpStarted", pickUpStopped: "pickUpStopped", pickDownStarted: "pickDownStarted", pickDownStopped: "pickDownStopped" }, ngImport: i0, template: "<div class=\"input-group mb-3 input-{{ size }} {{ customClass.container }}\">\n <!-- Horizontal decrease button orientation -->\n <span *ngIf=\"isHorizontal() && showDownButton\"\n class=\"input-group-text decrease {{ customClass.down }}\"\n (click)=\"onDecrease($event)\"\n (mouseup)=\"onMouseUp($event, false)\"\n (mousedown)=\"onMouseDown($event, false)\">-</span>\n <!-- Input prefix -->\n <span *ngIf=\"prefix\"\n class=\"input-group-text {{ customClass.prefix }}\">{{ prefix }}\n </span>\n <input type=\"number\"\n class=\"form-control\"\n name=\"input-spin-val\"\n [(ngModel)]=\"value\"\n [readOnly]=\"inputReadOnly\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (wheel)=\"mouseWheel && onMouseWheel($event)\"\n (keyup)=\"arrowKeys && onKeyUp($event)\"\n (keydown)=\"arrowKeys && onKeyDown($event)\"\n (keydown.arrowup)=\"arrowKeys && onIncrease($event)\"\n (keydown.arrowdown)=\"arrowKeys && onDecrease($event)\"\n (change)=\"onValueChange($event)\"\n [placeholder]=\"placeholder\" />\n <!-- Input postfix -->\n\n <span *ngIf=\"postfix\"\n class=\"input-group-text {{ customClass.postfix }}\"\n [style.borderLeft]=\"'0'\">{{postfix}}\n <span class=\"tooltip-wrap ms-1\"\n *ngIf=\"showTooltip && tooltipText\"\n [pTooltip]=\"tooltipText\"\n [appendTo]=\"'body'\"\n [tooltipPosition]=\"tooltipPosition || 'top'\">\n <i class=\"fas fa-info-circle\"></i>\n </span>\n </span>\n\n <!-- Horizontal increase button orientation -->\n <span *ngIf=\"isHorizontal() && showUpButton\"\n class=\"input-group-text increase {{ customClass.up }}\"\n [style.borderLeft]=\"!postfix ? '0' : ''\"\n (click)=\"onIncrease($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mousedown)=\"onMouseDown($event)\">+</span>\n <!-- Vertical buttons orientation -->\n <span *ngIf=\"!isHorizontal()\"\n class=\"input-group-text vertical p-0\">\n <span *ngIf=\"showUpButton\"\n class=\"{{ customClass.up }}\"\n (click)=\"onIncrease($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mousedown)=\"onMouseDown($event)\">+</span>\n <span *ngIf=\"showDownButton\"\n class=\"{{ customClass.down }}\"\n (click)=\"onDecrease($event)\"\n (mouseup)=\"onMouseUp($event, false)\"\n (mousedown)=\"onMouseDown($event, false)\">-</span>\n </span>\n</div>\n", styles: ["input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.increase:hover,.decrease:hover{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer;background-color:#d8d8d8}.increase{border-top-right-radius:3px!important;border-bottom-right-radius:3px!important}.vertical{display:flex;justify-content:center;flex-direction:column;text-align:center;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}.vertical span{line-height:15px}.input-md .vertical span,.input-sm .vertical span{padding:2px 10px}.input-lg .vertical span{padding:4px 10px}.input-xlg .vertical span{padding:7px 10px}.input-md,.input-medium{height:45px}.input-lg,.input-large{height:50px}.input-xlg,.input-xlarge{height:75px}.input-md input,.input-medium input,.input-md span,.input-medium span{font-size:22px}.input-lg input,.input-large input,.input-lg span,.input-large span{font-size:25px}.input-xlg input,.input-xlarge input,.input-xlg span,.input-xlarge span{font-size:38px}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
244
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: NumberPickerComponent, selector: "pw-number-picker", inputs: { min: "min", showTooltip: "showTooltip", tooltipText: "tooltipText", max: "max", step: "step", value: "value", pickStartAfter: "pickStartAfter", pickTimer: "pickTimer", prefix: "prefix", postfix: "postfix", placeholder: "placeholder", buttonsOrientation: "buttonsOrientation", size: "size", customClass: "customClass", mouseWheel: "mouseWheel", arrowKeys: "arrowKeys", inputReadOnly: "inputReadOnly", showUpButton: "showUpButton", showDownButton: "showDownButton" }, outputs: { valueChange: "valueChange", minReached: "minReached", maxReached: "maxReached", pickStarted: "pickStarted", pickStopped: "pickStopped", pickUpStarted: "pickUpStarted", pickUpStopped: "pickUpStopped", pickDownStarted: "pickDownStarted", pickDownStopped: "pickDownStopped" }, ngImport: i0, template: "<div class=\"input-group mb-3 input-{{ size }} {{ customClass.container }}\">\n <!-- Horizontal decrease button orientation -->\n <span *ngIf=\"isHorizontal() && showDownButton\"\n class=\"input-group-text decrease {{ customClass.down }}\"\n (click)=\"onDecrease($event)\"\n (keydown.enter)=\"onDecrease($event)\"\n (mouseup)=\"onMouseUp($event, false)\"\n (mousedown)=\"onMouseDown($event, false)\">-</span>\n <!-- Input prefix -->\n <span *ngIf=\"prefix\"\n class=\"input-group-text {{ customClass.prefix }}\">{{ prefix }}\n </span>\n <input type=\"number\"\n class=\"form-control\"\n name=\"input-spin-val\"\n [(ngModel)]=\"value\"\n [readOnly]=\"inputReadOnly\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (wheel)=\"mouseWheel && onMouseWheel($event)\"\n (keyup)=\"arrowKeys && onKeyUp($event)\"\n (keydown.enter)=\"arrowKeys && onKeyDown($event)\"\n (keydown.arrowup)=\"arrowKeys && onIncrease($event)\"\n (keydown.arrowdown)=\"arrowKeys && onDecrease($event)\"\n (change)=\"onValueChange($event)\"\n [placeholder]=\"placeholder\" />\n <!-- Input postfix -->\n\n <span *ngIf=\"postfix\"\n class=\"input-group-text {{ customClass.postfix }}\"\n [style.borderLeft]=\"'0'\">{{postfix}}\n <span class=\"tooltip-wrap ms-1\"\n *ngIf=\"showTooltip && tooltipText\"\n [pTooltip]=\"tooltipText\"\n [appendTo]=\"'body'\"\n [tooltipPosition]=\"tooltipPosition || 'top'\">\n <i class=\"fas fa-info-circle\"></i>\n </span>\n </span>\n\n <!-- Horizontal increase button orientation -->\n <span *ngIf=\"isHorizontal() && showUpButton\"\n class=\"input-group-text increase {{ customClass.up }}\"\n [style.borderLeft]=\"!postfix ? '0' : ''\"\n (click)=\"onIncrease($event)\"\n (keydown.enter)=\"onIncrease($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mousedown)=\"onMouseDown($event)\">+</span>\n <!-- Vertical buttons orientation -->\n <span *ngIf=\"!isHorizontal()\"\n class=\"input-group-text vertical p-0\">\n <span *ngIf=\"showUpButton\"\n class=\"{{ customClass.up }}\"\n (click)=\"onIncrease($event)\"\n (keydown.enter)=\"onIncrease($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mousedown)=\"onMouseDown($event)\">+</span>\n <span *ngIf=\"showDownButton\"\n class=\"{{ customClass.down }}\"\n (keydown.enter)=\"onDecrease($event)\"\n (click)=\"onDecrease($event)\"\n (mouseup)=\"onMouseUp($event, false)\"\n (mousedown)=\"onMouseDown($event, false)\">-</span>\n </span>\n</div>\n", styles: ["input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.increase:hover,.decrease:hover{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer;background-color:#d8d8d8}.increase{border-top-right-radius:3px!important;border-bottom-right-radius:3px!important}.vertical{display:flex;justify-content:center;flex-direction:column;text-align:center;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}.vertical span{line-height:15px}.input-md .vertical span,.input-sm .vertical span{padding:2px 10px}.input-lg .vertical span{padding:4px 10px}.input-xlg .vertical span{padding:7px 10px}.input-md,.input-medium{height:45px}.input-lg,.input-large{height:50px}.input-xlg,.input-xlarge{height:75px}.input-md input,.input-medium input,.input-md span,.input-medium span{font-size:22px}.input-lg input,.input-large input,.input-lg span,.input-large span{font-size:25px}.input-xlg input,.input-xlarge input,.input-xlg span,.input-xlarge span{font-size:38px}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
248
245
|
}
|
|
249
246
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: NumberPickerComponent, decorators: [{
|
|
250
247
|
type: Component,
|
|
251
|
-
args: [{ selector: 'pw-number-picker', template: "<div class=\"input-group mb-3 input-{{ size }} {{ customClass.container }}\">\n <!-- Horizontal decrease button orientation -->\n <span *ngIf=\"isHorizontal() && showDownButton\"\n class=\"input-group-text decrease {{ customClass.down }}\"\n (click)=\"onDecrease($event)\"\n (mouseup)=\"onMouseUp($event, false)\"\n (mousedown)=\"onMouseDown($event, false)\">-</span>\n <!-- Input prefix -->\n <span *ngIf=\"prefix\"\n class=\"input-group-text {{ customClass.prefix }}\">{{ prefix }}\n </span>\n <input type=\"number\"\n class=\"form-control\"\n name=\"input-spin-val\"\n [(ngModel)]=\"value\"\n [readOnly]=\"inputReadOnly\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (wheel)=\"mouseWheel && onMouseWheel($event)\"\n (keyup)=\"arrowKeys && onKeyUp($event)\"\n (keydown)=\"arrowKeys && onKeyDown($event)\"\n (keydown.arrowup)=\"arrowKeys && onIncrease($event)\"\n (keydown.arrowdown)=\"arrowKeys && onDecrease($event)\"\n (change)=\"onValueChange($event)\"\n [placeholder]=\"placeholder\" />\n <!-- Input postfix -->\n\n <span *ngIf=\"postfix\"\n class=\"input-group-text {{ customClass.postfix }}\"\n [style.borderLeft]=\"'0'\">{{postfix}}\n <span class=\"tooltip-wrap ms-1\"\n *ngIf=\"showTooltip && tooltipText\"\n [pTooltip]=\"tooltipText\"\n [appendTo]=\"'body'\"\n [tooltipPosition]=\"tooltipPosition || 'top'\">\n <i class=\"fas fa-info-circle\"></i>\n </span>\n </span>\n\n <!-- Horizontal increase button orientation -->\n <span *ngIf=\"isHorizontal() && showUpButton\"\n class=\"input-group-text increase {{ customClass.up }}\"\n [style.borderLeft]=\"!postfix ? '0' : ''\"\n (click)=\"onIncrease($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mousedown)=\"onMouseDown($event)\">+</span>\n <!-- Vertical buttons orientation -->\n <span *ngIf=\"!isHorizontal()\"\n class=\"input-group-text vertical p-0\">\n <span *ngIf=\"showUpButton\"\n class=\"{{ customClass.up }}\"\n (click)=\"onIncrease($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mousedown)=\"onMouseDown($event)\">+</span>\n <span *ngIf=\"showDownButton\"\n class=\"{{ customClass.down }}\"\n (click)=\"onDecrease($event)\"\n (mouseup)=\"onMouseUp($event, false)\"\n (mousedown)=\"onMouseDown($event, false)\">-</span>\n </span>\n</div>\n", styles: ["input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.increase:hover,.decrease:hover{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer;background-color:#d8d8d8}.increase{border-top-right-radius:3px!important;border-bottom-right-radius:3px!important}.vertical{display:flex;justify-content:center;flex-direction:column;text-align:center;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}.vertical span{line-height:15px}.input-md .vertical span,.input-sm .vertical span{padding:2px 10px}.input-lg .vertical span{padding:4px 10px}.input-xlg .vertical span{padding:7px 10px}.input-md,.input-medium{height:45px}.input-lg,.input-large{height:50px}.input-xlg,.input-xlarge{height:75px}.input-md input,.input-medium input,.input-md span,.input-medium span{font-size:22px}.input-lg input,.input-large input,.input-lg span,.input-large span{font-size:25px}.input-xlg input,.input-xlarge input,.input-xlg span,.input-xlarge span{font-size:38px}\n"] }]
|
|
248
|
+
args: [{ selector: 'pw-number-picker', template: "<div class=\"input-group mb-3 input-{{ size }} {{ customClass.container }}\">\n <!-- Horizontal decrease button orientation -->\n <span *ngIf=\"isHorizontal() && showDownButton\"\n class=\"input-group-text decrease {{ customClass.down }}\"\n (click)=\"onDecrease($event)\"\n (keydown.enter)=\"onDecrease($event)\"\n (mouseup)=\"onMouseUp($event, false)\"\n (mousedown)=\"onMouseDown($event, false)\">-</span>\n <!-- Input prefix -->\n <span *ngIf=\"prefix\"\n class=\"input-group-text {{ customClass.prefix }}\">{{ prefix }}\n </span>\n <input type=\"number\"\n class=\"form-control\"\n name=\"input-spin-val\"\n [(ngModel)]=\"value\"\n [readOnly]=\"inputReadOnly\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (wheel)=\"mouseWheel && onMouseWheel($event)\"\n (keyup)=\"arrowKeys && onKeyUp($event)\"\n (keydown.enter)=\"arrowKeys && onKeyDown($event)\"\n (keydown.arrowup)=\"arrowKeys && onIncrease($event)\"\n (keydown.arrowdown)=\"arrowKeys && onDecrease($event)\"\n (change)=\"onValueChange($event)\"\n [placeholder]=\"placeholder\" />\n <!-- Input postfix -->\n\n <span *ngIf=\"postfix\"\n class=\"input-group-text {{ customClass.postfix }}\"\n [style.borderLeft]=\"'0'\">{{postfix}}\n <span class=\"tooltip-wrap ms-1\"\n *ngIf=\"showTooltip && tooltipText\"\n [pTooltip]=\"tooltipText\"\n [appendTo]=\"'body'\"\n [tooltipPosition]=\"tooltipPosition || 'top'\">\n <i class=\"fas fa-info-circle\"></i>\n </span>\n </span>\n\n <!-- Horizontal increase button orientation -->\n <span *ngIf=\"isHorizontal() && showUpButton\"\n class=\"input-group-text increase {{ customClass.up }}\"\n [style.borderLeft]=\"!postfix ? '0' : ''\"\n (click)=\"onIncrease($event)\"\n (keydown.enter)=\"onIncrease($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mousedown)=\"onMouseDown($event)\">+</span>\n <!-- Vertical buttons orientation -->\n <span *ngIf=\"!isHorizontal()\"\n class=\"input-group-text vertical p-0\">\n <span *ngIf=\"showUpButton\"\n class=\"{{ customClass.up }}\"\n (click)=\"onIncrease($event)\"\n (keydown.enter)=\"onIncrease($event)\"\n (mouseup)=\"onMouseUp($event)\"\n (mousedown)=\"onMouseDown($event)\">+</span>\n <span *ngIf=\"showDownButton\"\n class=\"{{ customClass.down }}\"\n (keydown.enter)=\"onDecrease($event)\"\n (click)=\"onDecrease($event)\"\n (mouseup)=\"onMouseUp($event, false)\"\n (mousedown)=\"onMouseDown($event, false)\">-</span>\n </span>\n</div>\n", styles: ["input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.increase:hover,.decrease:hover{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer;background-color:#d8d8d8}.increase{border-top-right-radius:3px!important;border-bottom-right-radius:3px!important}.vertical{display:flex;justify-content:center;flex-direction:column;text-align:center;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;cursor:pointer}.vertical span{line-height:15px}.input-md .vertical span,.input-sm .vertical span{padding:2px 10px}.input-lg .vertical span{padding:4px 10px}.input-xlg .vertical span{padding:7px 10px}.input-md,.input-medium{height:45px}.input-lg,.input-large{height:50px}.input-xlg,.input-xlarge{height:75px}.input-md input,.input-medium input,.input-md span,.input-medium span{font-size:22px}.input-lg input,.input-large input,.input-lg span,.input-large span{font-size:25px}.input-xlg input,.input-xlarge input,.input-xlg span,.input-xlarge span{font-size:38px}\n"] }]
|
|
252
249
|
}], ctorParameters: () => [{ type: i1.NumberPickerService }], propDecorators: { min: [{
|
|
253
250
|
type: Input
|
|
254
251
|
}], showTooltip: [{
|
|
@@ -306,4 +303,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
306
303
|
}], pickDownStopped: [{
|
|
307
304
|
type: Output
|
|
308
305
|
}] } });
|
|
309
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvbnVtYmVyLXBpY2tlci9udW1iZXItcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9udW1iZXItcGlja2VyL251bWJlci1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBT2hFLE1BQU0sT0FBTyxxQkFBcUI7SUFpRTlCLFlBQW9CLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBOURwRCxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUVuQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUVyQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQTBCdEIsU0FBSSxHQUFhLElBQUksQ0FBQztRQUV0QixnQkFBVyxHQUFrQixFQUFFLENBQUM7UUFFaEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVuQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRXRCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXBCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBRXJCLGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkQsZUFBVSxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZELGVBQVUsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV2RCxnQkFBVyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFD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QkFFRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsYUFBYTtzQkFBdEIsTUFBTTtnQkFFRyxhQUFhO3NCQUF0QixNQUFNO2dCQUVHLGVBQWU7c0JBQXhCLE1BQU07Z0JBRUcsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ3VzdG9tQ2xhc3NlcywgYnV0dG9uc09yaWVudGF0aW9uVHlwZSwgc2l6ZVR5cGUgfSBmcm9tICcuL251bWJlci1waWNrZXIuY29uZmlnJztcbmltcG9ydCB7IE51bWJlclBpY2tlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1udW1iZXItcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLXBpY2tlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlclBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBwcmVjaXNpb246IG51bWJlcjtcblxuICAgIHByaXZhdGUgZXZlbnRIb2xkZXIgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBjb3VudEludGVydmFsID0gbnVsbDtcblxuICAgIHByaXZhdGUgaXNJbnB1dEZvY3VzZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIG1pbjogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSB0b29sdGlwVGV4dDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgbWF4OiBudW1iZXI7XG5cbiAgICBASW5wdXQoKSBzdGVwOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgcGlja1N0YXJ0QWZ0ZXI6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIHBpY2tUaW1lcjogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgcHJlZml4OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBwb3N0Zml4OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgYnV0dG9uc09yaWVudGF0aW9uOiBidXR0b25zT3JpZW50YXRpb25UeXBlO1xuXG4gICAgQElucHV0KCkgc2l6ZTogc2l6ZVR5cGUgPSAnbWQnO1xuXG4gICAgQElucHV0KCkgY3VzdG9tQ2xhc3M6IEN1c3RvbUNsYXNzZXMgPSB7fTtcblxuICAgIEBJbnB1dCgpIG1vdXNlV2hlZWwgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGFycm93S2V5cyA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBpbnB1dFJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBzaG93VXBCdXR0b24gPSB0cnVlO1xuXG4gICAgQElucHV0KCkgc2hvd0Rvd25CdXR0b24gPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSBtaW5SZWFjaGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgbWF4UmVhY2hlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIHBpY2tTdGFydGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgcGlja1N0b3BwZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSBwaWNrVXBTdGFydGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgcGlja1VwU3RvcHBlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIHBpY2tEb3duU3RhcnRlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIHBpY2tEb3duU3RvcHBlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBudW1iZXJQaWNrZXJTZXJ2aWNlOiBOdW1iZXJQaWNrZXJTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdFBpY2tlcigpO1xuICAgIH1cblxuICAgIGlzSG9yaXpvbnRhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uc09yaWVudGF0aW9uICE9PSAndicgJiYgdGhpcy5idXR0b25zT3JpZW50YXRpb24gIT09ICd2ZXJ0aWNhbCc7XG4gICAgfVxuXG4gICAgb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5pc0lucHV0Rm9jdXNlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgb25CbHVyKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5pc0lucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uTW91c2VXaGVlbChldmVudDogV2hlZWxFdmVudCkge1xuICAgICAgICBjb25zb2xlLmxvZyhldmVudCwgJ2FiYycpO1xuICAgICAgICBpZiAodGhpcy5pc0lucHV0Rm9jdXNlZCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGxldCB3aGVlbFVwID0gbnVsbDtcbiAgICAgICAgICAgIGxldCBkZWx0YSA9IG51bGw7XG5cbiAgICAgICAgICAgIGlmIChldmVudC5kZWx0YVkpIHtcbiAgICAgICAgICAgICAgICBkZWx0YSA9IGV2ZW50LmRlbHRhWSAvIDYwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50LmRldGFpbCkge1xuICAgICAgICAgICAgICAgIGRlbHRhID0gLWV2ZW50LmRldGFpbCAvIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGVsdGEgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB3aGVlbFVwID0gZGVsdGEgPiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmFmdGVyTW91c2VXaGVlbHMod2hlZWxVcCwgZXZlbnQpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFmdGVyTW91c2VXaGVlbHMod2hlZWxVcDogYm9vbGVhbiwgZXZlbnQ6IFdoZWVsRXZlbnQpIHtcbiAgICAgICAgdGhpcy5vblBpY2tTdGFydGVkKHdoZWVsVXApO1xuICAgICAgICBpZiAod2hlZWxVcCkge1xuICAgICAgICAgICAgdGhpcy5vbkluY3JlYXNlKGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25EZWNyZWFzZShldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbnBpY2tTdG9wcGVkKHdoZWVsVXApO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UoX2V2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSA+IHRoaXMubWF4KSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXg7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZSA8IHRoaXMubWluKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5taW47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucGFyc2VWYWwodGhpcy52YWx1ZSkgPT09IDAgfHwgdGhpcy5wYXJzZVZhbCh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EZWNyZWFzZShldmVudDogTW91c2VFdmVudCB8IFdoZWVsRXZlbnQgfCBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmICh0aGlzLmNhbkRlY3JlYXNlKCkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnJvdW5kKHRoaXMudmFsdWUgPiB0aGlzLm1pbiA/ICh0aGlzLnZhbHVlIC09IHRoaXMuc3RlcCkgOiB0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWluUmVhY2hlZC5lbWl0KHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIG9uSW5jcmVhc2UoZXZlbnQ6IE1vdXNlRXZlbnQgfCBXaGVlbEV2ZW50IHwgS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAodGhpcy5jYW5JbmNyZWFzZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5yb3VuZCh0aGlzLnZhbHVlIDwgdGhpcy5tYXggPyAodGhpcy52YWx1ZSArPSB0aGlzLnN0ZXApIDogdGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1heFJlYWNoZWQuZW1pdCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCwgaW5jcmVhc2UgPSB0cnVlKSB7XG4gICAgICAgIHRoaXMuYWZ0ZXJNb3VzZURvd24oaW5jcmVhc2UsIGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzQXJyb3dVcERvd24oa2V5Q29kZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBrZXlDb2RlID09PSAzOCB8fCBrZXlDb2RlID09PSA0MDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzQXJvd1VwKGtleUNvZGU6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4ga2V5Q29kZSA9PT0gMzg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb29wUGljayhpbmNyZWFzZTogYm9vbGVhbiwgZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHRoaXMub25QaWNrU3RhcnRlZChpbmNyZWFzZSk7XG4gICAgICAgIHRoaXMuZXZlbnRIb2xkZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY291bnRJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaW5jcmVhc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkluY3JlYXNlKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRGVjcmVhc2UoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHRoaXMucGlja1RpbWVyKTtcbiAgICAgICAgfSwgdGhpcy5waWNrU3RhcnRBZnRlcik7XG4gICAgfVxuXG4gICAgb25Nb3VzZVVwKGV2ZW50OiBNb3VzZUV2ZW50LCBpbmNyZWFzZSA9IHRydWUpIHtcbiAgICAgICAgdGhpcy5hZnRlck1vdXNlVXAoaW5jcmVhc2UsIGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNBcnJvd1VwRG93bihldmVudC5rZXlDb2RlKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGlmICghdGhpcy5ldmVudEhvbGRlcikge1xuICAgICAgICAgICAgICAgIHRoaXMubG9vcFBpY2sodGhpcy5pc0Fyb3dVcChldmVudC5rZXlDb2RlKSwgZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNBcnJvd1VwRG93bihldmVudC5rZXlDb2RlKSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuYWZ0ZXJQaWNrKHRoaXMuaXNBcm93VXAoZXZlbnQua2V5Q29kZSkpO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWZ0ZXJNb3VzZURvd24odXA6IGJvb2xlYW4sIGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmICh0aGlzLmlzTGVmdENsaWNrKGV2ZW50LndoaWNoKSkge1xuICAgICAgICAgICAgdGhpcy5sb29wUGljayh1cCwgZXZlbnQpO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWZ0ZXJNb3VzZVVwKHVwOiBib29sZWFuLCBldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmFmdGVyUGljayh1cCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWZ0ZXJQaWNrKHVwOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMub25waWNrU3RvcHBlZCh1cCk7XG4gICAgICAgIHRoaXMuY2xlYXJUaW1lcnMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsZWFyVGltZXJzKCkge1xuICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5ldmVudEhvbGRlcik7XG4gICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5jb3VudEludGVydmFsKTtcbiAgICAgICAgdGhpcy5ldmVudEhvbGRlciA9IG51bGw7XG4gICAgICAgIHRoaXMuY291bnRJbnRlcnZhbCA9IG51bGw7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZnRlckFycm93S2V5c1ByZXNzZWQodXA6IGJvb2xlYW4sIGV2ZW50OiBLZXlib2FyZEV2ZW50LCBzdGFydDogYm9vbGVhbikge1xuICAgICAgICBpZiAoc3RhcnQpIHtcbiAgICAgICAgICAgIHRoaXMubG9vcFBpY2sodXAsIGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWZ0ZXJQaWNrKHVwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgcGFyc2VWYWwodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIE51bWJlci5wYXJzZUZsb2F0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFByZWNpc2lvbihzdGVwOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gL15cXGQqJC8uZXhlYyhTdHJpbmcoc3RlcCkpWzBdLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJvdW5kKHZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1wcm9wZXJ0aWVzXG4gICAgICAgIHJldHVybiBNYXRoLnJvdW5kKHZhbHVlICogMTAgKiogdGhpcy5wcmVjaXNpb24pIC8gMTAgKiogdGhpcy5wcmVjaXNpb247XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYW5JbmNyZWFzZSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgY2FuSW5jcmVhc2UgPSB0aGlzLnZhbHVlIDw9IHRoaXMubWF4IC0gdGhpcy5zdGVwO1xuICAgICAgICBpZiAoIWNhbkluY3JlYXNlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FuSW5jcmVhc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYW5EZWNyZWFzZSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgY2FuRGVjcmVhc2UgPSB0aGlzLnZhbHVlID49IHRoaXMubWluICsgdGhpcy5zdGVwO1xuICAgICAgICBpZiAoIWNhbkRlY3JlYXNlKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5taW47XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2FuRGVjcmVhc2U7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblBpY2tTdGFydGVkKGluY3JlYXNlOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChpbmNyZWFzZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2FuSW5jcmVhc2UoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucGlja1N0YXJ0ZWQuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnBpY2tVcFN0YXJ0ZWQuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNhbkRlY3JlYXNlKCkpIHtcbiAgICAgICAgICAgIHRoaXMucGlja1N0YXJ0ZWQuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMucGlja0Rvd25TdGFydGVkLmVtaXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9ucGlja1N0b3BwZWQoaW5jcmVhc2U6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGluY3JlYXNlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jYW5JbmNyZWFzZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5waWNrVXBTdG9wcGVkLmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5waWNrU3RvcHBlZC5lbWl0KHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY2FuRGVjcmVhc2UoKSkge1xuICAgICAgICAgICAgdGhpcy5waWNrRG93blN0b3BwZWQuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMucGlja1N0b3BwZWQuZW1pdCh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaXNMZWZ0Q2xpY2sod2l0Y2g6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gd2l0Y2ggPT09IDE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0UGlja2VyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1pbiA9IHRoaXMucGFyc2VWYWwodGhpcy5taW4pIHx8IHRoaXMubnVtYmVyUGlja2VyU2VydmljZS5taW47XG4gICAgICAgIHRoaXMubWF4ID0gdGhpcy5wYXJzZVZhbCh0aGlzLm1heCkgfHwgdGhpcy5udW1iZXJQaWNrZXJTZXJ2aWNlLm1heDtcbiAgICAgICAgdGhpcy5zdGVwID0gdGhpcy5wYXJzZVZhbCh0aGlzLnN0ZXApIHx8IHRoaXMubnVtYmVyUGlja2VyU2VydmljZS5zdGVwO1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5wYXJzZVZhbCh0aGlzLnZhbHVlKSB8fCB0aGlzLm51bWJlclBpY2tlclNlcnZpY2UudmFsdWU7XG4gICAgICAgIHRoaXMucGlja1N0YXJ0QWZ0ZXIgPVxuICAgICAgICAgICAgdGhpcy5wYXJzZVZhbCh0aGlzLnBpY2tTdGFydEFmdGVyKSB8fCB0aGlzLm51bWJlclBpY2tlclNlcnZpY2UucGlja1N0YXJ0QWZ0ZXI7XG4gICAgICAgIHRoaXMucGlja1RpbWVyID0gdGhpcy5wYXJzZVZhbCh0aGlzLnBpY2tUaW1lcikgfHwgdGhpcy5udW1iZXJQaWNrZXJTZXJ2aWNlLnBpY2tUaW1lcjtcbiAgICAgICAgdGhpcy5wcmVjaXNpb24gPSB0aGlzLmdldFByZWNpc2lvbih0aGlzLnN0ZXApIHx8IHRoaXMubnVtYmVyUGlja2VyU2VydmljZS5wcmVjaXNpb247XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnJvdW5kKHRoaXMudmFsdWUpO1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gdGhpcy5wbGFjZWhvbGRlciAhPT0gdW5kZWZpbmVkID8gdGhpcy5wbGFjZWhvbGRlciA6ICcnO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBtYi0zIGlucHV0LXt7IHNpemUgfX0ge3sgY3VzdG9tQ2xhc3MuY29udGFpbmVyIH19XCI+XG4gIDwhLS0gSG9yaXpvbnRhbCBkZWNyZWFzZSBidXR0b24gb3JpZW50YXRpb24gLS0+XG4gIDxzcGFuICpuZ0lmPVwiaXNIb3Jpem9udGFsKCkgJiYgc2hvd0Rvd25CdXR0b25cIlxuICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dCBkZWNyZWFzZSB7eyBjdXN0b21DbGFzcy5kb3duIH19XCJcbiAgICAoY2xpY2spPVwib25EZWNyZWFzZSgkZXZlbnQpXCJcbiAgICAobW91c2V1cCk9XCJvbk1vdXNlVXAoJGV2ZW50LCBmYWxzZSlcIlxuICAgIChtb3VzZWRvd24pPVwib25Nb3VzZURvd24oJGV2ZW50LCBmYWxzZSlcIj4tPC9zcGFuPlxuICA8IS0tIElucHV0IHByZWZpeCAtLT5cbiAgPHNwYW4gKm5nSWY9XCJwcmVmaXhcIlxuICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dCB7eyBjdXN0b21DbGFzcy5wcmVmaXggfX1cIj57eyBwcmVmaXggfX1cbiAgPC9zcGFuPlxuICA8aW5wdXQgdHlwZT1cIm51bWJlclwiXG4gICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgIG5hbWU9XCJpbnB1dC1zcGluLXZhbFwiXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgW3JlYWRPbmx5XT1cImlucHV0UmVhZE9ubHlcIlxuICAgIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAod2hlZWwpPVwibW91c2VXaGVlbCAmJiBvbk1vdXNlV2hlZWwoJGV2ZW50KVwiXG4gICAgKGtleXVwKT1cImFycm93S2V5cyAmJiBvbktleVVwKCRldmVudClcIlxuICAgIChrZXlkb3duKT1cImFycm93S2V5cyAmJiBvbktleURvd24oJGV2ZW50KVwiXG4gICAgKGtleWRvd24uYXJyb3d1cCk9XCJhcnJvd0tleXMgJiYgb25JbmNyZWFzZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5hcnJvd2Rvd24pPVwiYXJyb3dLZXlzICYmIG9uRGVjcmVhc2UoJGV2ZW50KVwiXG4gICAgKGNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIC8+XG4gIDwhLS0gSW5wdXQgcG9zdGZpeCAtLT5cblxuICA8c3BhbiAqbmdJZj1cInBvc3RmaXhcIlxuICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dCB7eyBjdXN0b21DbGFzcy5wb3N0Zml4IH19XCJcbiAgICBbc3R5bGUuYm9yZGVyTGVmdF09XCInMCdcIj57e3Bvc3RmaXh9fVxuICAgIDxzcGFuIGNsYXNzPVwidG9vbHRpcC13cmFwIG1zLTFcIlxuICAgICAgKm5nSWY9XCJzaG93VG9vbHRpcCAmJiB0b29sdGlwVGV4dFwiXG4gICAgICBbcFRvb2x0aXBdPVwidG9vbHRpcFRleHRcIlxuICAgICAgW2FwcGVuZFRvXT1cIidib2R5J1wiXG4gICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cInRvb2x0aXBQb3NpdGlvbiB8fCAndG9wJ1wiPlxuICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtaW5mby1jaXJjbGVcIj48L2k+XG4gICAgPC9zcGFuPlxuICA8L3NwYW4+XG5cbiAgPCEtLSBIb3Jpem9udGFsIGluY3JlYXNlIGJ1dHRvbiBvcmllbnRhdGlvbiAtLT5cbiAgPHNwYW4gKm5nSWY9XCJpc0hvcml6b250YWwoKSAmJiBzaG93VXBCdXR0b25cIlxuICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dCBpbmNyZWFzZSB7eyBjdXN0b21DbGFzcy51cCB9fVwiXG4gICAgW3N0eWxlLmJvcmRlckxlZnRdPVwiIXBvc3RmaXggPyAnMCcgOiAnJ1wiXG4gICAgKGNsaWNrKT1cIm9uSW5jcmVhc2UoJGV2ZW50KVwiXG4gICAgKG1vdXNldXApPVwib25Nb3VzZVVwKCRldmVudClcIlxuICAgIChtb3VzZWRvd24pPVwib25Nb3VzZURvd24oJGV2ZW50KVwiPis8L3NwYW4+XG4gIDwhLS0gVmVydGljYWwgYnV0dG9ucyBvcmllbnRhdGlvbiAtLT5cbiAgPHNwYW4gKm5nSWY9XCIhaXNIb3Jpem9udGFsKClcIlxuICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dCB2ZXJ0aWNhbCBwLTBcIj5cbiAgICA8c3BhbiAqbmdJZj1cInNob3dVcEJ1dHRvblwiXG4gICAgICBjbGFzcz1cInt7IGN1c3RvbUNsYXNzLnVwIH19XCJcbiAgICAgIChjbGljayk9XCJvbkluY3JlYXNlKCRldmVudClcIlxuICAgICAgKG1vdXNldXApPVwib25Nb3VzZVVwKCRldmVudClcIlxuICAgICAgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bigkZXZlbnQpXCI+Kzwvc3Bhbj5cbiAgICA8c3BhbiAqbmdJZj1cInNob3dEb3duQnV0dG9uXCJcbiAgICAgIGNsYXNzPVwie3sgY3VzdG9tQ2xhc3MuZG93biB9fVwiXG4gICAgICAoY2xpY2spPVwib25EZWNyZWFzZSgkZXZlbnQpXCJcbiAgICAgIChtb3VzZXVwKT1cIm9uTW91c2VVcCgkZXZlbnQsIGZhbHNlKVwiXG4gICAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudCwgZmFsc2UpXCI+LTwvc3Bhbj5cbiAgPC9zcGFuPlxuPC9kaXY+XG4iXX0=
|
|
306
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvbnVtYmVyLXBpY2tlci9udW1iZXItcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9udW1iZXItcGlja2VyL251bWJlci1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBT2hFLE1BQU0sT0FBTyxxQkFBcUI7SUFpRTlCLFlBQTZCLG1CQUF3QztRQUF4Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBOUQ3RCxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUVuQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUVyQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQTBCdEIsU0FBSSxHQUFhLElBQUksQ0FBQztRQUV0QixnQkFBVyxHQUFrQixFQUFFLENBQUM7UUFFaEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVuQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRWpCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBRXRCLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXBCLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBRXJCLGdCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkQsZUFBVSxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXZELGVBQVUsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV2RCxnQkFBVyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXhELGdCQUFXLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFeEQsa0JBQWEsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUxRCxrQkFBYSxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTFELG9CQUFlLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFNUQsb0JBQWUsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUVFLENBQUM7SUFFekUsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEtBQUssVUFBVSxDQUFDO0lBQ3JGLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBaUI7UUFDckIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztJQUMvQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVk7UUFDZixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBaUI7UUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztZQUNuQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUM7WUFFakIsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2YsS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQzlCLENBQUM7WUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDZixLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUM5QixDQUFDO1lBQ0QsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ2pCLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLENBQUM7WUFFRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQixDQUFDLE9BQWdCLEVBQUUsS0FBaUI7UUFDeEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFhO1FBQ3ZCLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQzFCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMvRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBOEM7UUFDckQsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQThDO1FBQ3JELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFDRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFpQixFQUFFLFFBQVEsR0FBRyxJQUFJO1FBQzFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTyxhQUFhLENBQUMsR0FBVztRQUM3QixPQUFPLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLFdBQVcsQ0FBQztJQUNwRCxDQUFDO0lBRU8sUUFBUSxDQUFDLEdBQVc7UUFDeEIsT0FBTyxHQUFHLEtBQUssU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFTyxRQUFRLENBQUMsUUFBaUIsRUFBRSxLQUFpQztRQUNqRSxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xDLElBQUksUUFBUSxFQUFFLENBQUM7b0JBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsQ0FBQztxQkFBTSxDQUFDO29CQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzNCLENBQUM7WUFDTCxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFpQixFQUFFLFFBQVEsR0FBRyxJQUFJO1FBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBb0I7UUFDMUIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDTCxDQUFDO1FBQ0QsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBb0I7UUFDeEIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sY0FBYyxDQUFDLEVBQVcsRUFBRSxLQUFpQjtRQUNqRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU8sWUFBWSxDQUFDLEVBQVcsRUFBRSxLQUFpQjtRQUMvQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLFNBQVMsQ0FBQyxFQUFXO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTyxXQUFXO1FBQ2YsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvQixhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFTyxRQUFRLENBQUMsS0FBc0I7UUFDbkMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM1QixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTyxZQUFZLENBQUMsSUFBWTtRQUM3QixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2hELENBQUM7SUFFTyxLQUFLLENBQUMsS0FBYTtRQUN2QixvREFBb0Q7UUFDcEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzNFLENBQUM7SUFFTyxXQUFXO1FBQ2YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQzFCLENBQUM7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUN2QixDQUFDO0lBRU8sV0FBVztRQUNmLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUMxQixDQUFDO1FBRUQsT0FBTyxXQUFXLENBQUM7SUFDdkIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxRQUFpQjtRQUNuQyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUM7UUFDNUIsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNiLFVBQVU7WUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO2dCQUNyQixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEMsQ0FBQztRQUNMLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLENBQUM7SUFDTCxDQUFDO0lBRU8sYUFBYSxDQUFDLFFBQWlCO1FBQ25DLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQztRQUM1QixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsVUFBVTtZQUNWLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBSztRQUNyQixPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTyxVQUFVO1FBQ2QsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDO1FBQ25FLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQztRQUNuRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7UUFDdEUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxjQUFjO1lBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQztRQUNsRixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUM7UUFDckYsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUM5QyxDQUFDOytHQWhUUSxxQkFBcUI7bUdBQXJCLHFCQUFxQixpekJDVmxDLG9oRkFpRUE7OzRGRHZEYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0ksa0JBQWtCO3dGQWFuQixHQUFHO3NCQUFYLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLEdBQUc7c0JBQVgsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLFVBQVU7c0JBQW5CLE1BQU07Z0JBRUcsVUFBVTtzQkFBbkIsTUFBTTtnQkFFRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsYUFBYTtzQkFBdEIsTUFBTTtnQkFFRyxhQUFhO3NCQUF0QixNQUFNO2dCQUVHLGVBQWU7c0JBQXhCLE1BQU07Z0JBRUcsZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ3VzdG9tQ2xhc3NlcywgYnV0dG9uc09yaWVudGF0aW9uVHlwZSwgc2l6ZVR5cGUgfSBmcm9tICcuL251bWJlci1waWNrZXIuY29uZmlnJztcbmltcG9ydCB7IE51bWJlclBpY2tlclNlcnZpY2UgfSBmcm9tICdAcG9zaXdpc2UvY29tbW9uLXNlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwdy1udW1iZXItcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbnVtYmVyLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbnVtYmVyLXBpY2tlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE51bWJlclBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBwcmVjaXNpb246IG51bWJlcjtcblxuICAgIHByaXZhdGUgZXZlbnRIb2xkZXIgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBjb3VudEludGVydmFsID0gbnVsbDtcblxuICAgIHByaXZhdGUgaXNJbnB1dEZvY3VzZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIG1pbjogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgc2hvd1Rvb2x0aXA6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSB0b29sdGlwVGV4dDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgbWF4OiBudW1iZXI7XG5cbiAgICBASW5wdXQoKSBzdGVwOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKSB2YWx1ZTogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgcGlja1N0YXJ0QWZ0ZXI6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIHBpY2tUaW1lcjogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgcHJlZml4OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBwb3N0Zml4OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgYnV0dG9uc09yaWVudGF0aW9uOiBidXR0b25zT3JpZW50YXRpb25UeXBlO1xuXG4gICAgQElucHV0KCkgc2l6ZTogc2l6ZVR5cGUgPSAnbWQnO1xuXG4gICAgQElucHV0KCkgY3VzdG9tQ2xhc3M6IEN1c3RvbUNsYXNzZXMgPSB7fTtcblxuICAgIEBJbnB1dCgpIG1vdXNlV2hlZWwgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIGFycm93S2V5cyA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBpbnB1dFJlYWRPbmx5ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBzaG93VXBCdXR0b24gPSB0cnVlO1xuXG4gICAgQElucHV0KCkgc2hvd0Rvd25CdXR0b24gPSB0cnVlO1xuXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSBtaW5SZWFjaGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgbWF4UmVhY2hlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIHBpY2tTdGFydGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgcGlja1N0b3BwZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSBwaWNrVXBTdGFydGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgcGlja1VwU3RvcHBlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIHBpY2tEb3duU3RhcnRlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIHBpY2tEb3duU3RvcHBlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBudW1iZXJQaWNrZXJTZXJ2aWNlOiBOdW1iZXJQaWNrZXJTZXJ2aWNlKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdFBpY2tlcigpO1xuICAgIH1cblxuICAgIGlzSG9yaXpvbnRhbCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnV0dG9uc09yaWVudGF0aW9uICE9PSAndicgJiYgdGhpcy5idXR0b25zT3JpZW50YXRpb24gIT09ICd2ZXJ0aWNhbCc7XG4gICAgfVxuXG4gICAgb25Gb2N1cyhldmVudDogRm9jdXNFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5pc0lucHV0Rm9jdXNlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgb25CbHVyKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5pc0lucHV0Rm9jdXNlZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIG9uTW91c2VXaGVlbChldmVudDogV2hlZWxFdmVudCkge1xuICAgICAgICBjb25zb2xlLmxvZyhldmVudCwgJ2FiYycpO1xuICAgICAgICBpZiAodGhpcy5pc0lucHV0Rm9jdXNlZCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGxldCB3aGVlbFVwID0gbnVsbDtcbiAgICAgICAgICAgIGxldCBkZWx0YSA9IG51bGw7XG5cbiAgICAgICAgICAgIGlmIChldmVudC5kZWx0YVkpIHtcbiAgICAgICAgICAgICAgICBkZWx0YSA9IGV2ZW50LmRlbHRhWSAvIDYwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50LmRldGFpbCkge1xuICAgICAgICAgICAgICAgIGRlbHRhID0gLWV2ZW50LmRldGFpbCAvIDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZGVsdGEgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB3aGVlbFVwID0gZGVsdGEgPiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmFmdGVyTW91c2VXaGVlbHMod2hlZWxVcCwgZXZlbnQpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFmdGVyTW91c2VXaGVlbHMod2hlZWxVcDogYm9vbGVhbiwgZXZlbnQ6IFdoZWVsRXZlbnQpIHtcbiAgICAgICAgdGhpcy5vblBpY2tTdGFydGVkKHdoZWVsVXApO1xuICAgICAgICBpZiAod2hlZWxVcCkge1xuICAgICAgICAgICAgdGhpcy5vbkluY3JlYXNlKGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub25EZWNyZWFzZShldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vbnBpY2tTdG9wcGVkKHdoZWVsVXApO1xuICAgIH1cblxuICAgIG9uVmFsdWVDaGFuZ2UoX2V2ZW50OiBFdmVudCkge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSA+IHRoaXMubWF4KSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXg7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZSA8IHRoaXMubWluKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5taW47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucGFyc2VWYWwodGhpcy52YWx1ZSkgPT09IDAgfHwgdGhpcy5wYXJzZVZhbCh0aGlzLnZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EZWNyZWFzZShldmVudDogTW91c2VFdmVudCB8IFdoZWVsRXZlbnQgfCBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGlmICh0aGlzLmNhbkRlY3JlYXNlKCkpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnJvdW5kKHRoaXMudmFsdWUgPiB0aGlzLm1pbiA/IHRoaXMudmFsdWUgLSB0aGlzLnN0ZXAgOiB0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubWluUmVhY2hlZC5lbWl0KHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIG9uSW5jcmVhc2UoZXZlbnQ6IE1vdXNlRXZlbnQgfCBXaGVlbEV2ZW50IHwgS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAodGhpcy5jYW5JbmNyZWFzZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5yb3VuZCh0aGlzLnZhbHVlIDwgdGhpcy5tYXggPyB0aGlzLnZhbHVlICsgdGhpcy5zdGVwIDogdGhpcy52YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1heFJlYWNoZWQuZW1pdCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCwgaW5jcmVhc2UgPSB0cnVlKSB7XG4gICAgICAgIHRoaXMuYWZ0ZXJNb3VzZURvd24oaW5jcmVhc2UsIGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzQXJyb3dVcERvd24oa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGtleSA9PT0gJ0Fycm93VXAnIHx8IGtleSA9PT0gJ0Fycm93RG93bic7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0Fyb3dVcChrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4ga2V5ID09PSAnQXJyb3dVcCc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb29wUGljayhpbmNyZWFzZTogYm9vbGVhbiwgZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHRoaXMub25QaWNrU3RhcnRlZChpbmNyZWFzZSk7XG4gICAgICAgIHRoaXMuZXZlbnRIb2xkZXIgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY291bnRJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoaW5jcmVhc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkluY3JlYXNlKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uRGVjcmVhc2UoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHRoaXMucGlja1RpbWVyKTtcbiAgICAgICAgfSwgdGhpcy5waWNrU3RhcnRBZnRlcik7XG4gICAgfVxuXG4gICAgb25Nb3VzZVVwKGV2ZW50OiBNb3VzZUV2ZW50LCBpbmNyZWFzZSA9IHRydWUpIHtcbiAgICAgICAgdGhpcy5hZnRlck1vdXNlVXAoaW5jcmVhc2UsIGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNBcnJvd1VwRG93bihldmVudC5rZXkpKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmV2ZW50SG9sZGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb29wUGljayh0aGlzLmlzQXJvd1VwKGV2ZW50LmtleSksIGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICBvbktleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmlzQXJyb3dVcERvd24oZXZlbnQua2V5KSkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHRoaXMuYWZ0ZXJQaWNrKHRoaXMuaXNBcm93VXAoZXZlbnQua2V5KSk7XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZnRlck1vdXNlRG93bih1cDogYm9vbGVhbiwgZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgaWYgKHRoaXMuaXNMZWZ0Q2xpY2soZXZlbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmxvb3BQaWNrKHVwLCBldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZnRlck1vdXNlVXAodXA6IGJvb2xlYW4sIGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHRoaXMuYWZ0ZXJQaWNrKHVwKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZnRlclBpY2sodXA6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5vbnBpY2tTdG9wcGVkKHVwKTtcbiAgICAgICAgdGhpcy5jbGVhclRpbWVycygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xlYXJUaW1lcnMoKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLmV2ZW50SG9sZGVyKTtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmNvdW50SW50ZXJ2YWwpO1xuICAgICAgICB0aGlzLmV2ZW50SG9sZGVyID0gbnVsbDtcbiAgICAgICAgdGhpcy5jb3VudEludGVydmFsID0gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHBhcnNlVmFsKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBOdW1iZXIucGFyc2VGbG9hdCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcmVjaXNpb24oc3RlcDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIC9eXFxkKiQvLmV4ZWMoU3RyaW5nKHN0ZXApKVswXS5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByb3VuZCh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtcHJvcGVydGllc1xuICAgICAgICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSAqIDEwICoqIHRoaXMucHJlY2lzaW9uKSAvIDEwICoqIHRoaXMucHJlY2lzaW9uO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FuSW5jcmVhc2UoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGNhbkluY3JlYXNlID0gdGhpcy52YWx1ZSA8PSB0aGlzLm1heCAtIHRoaXMuc3RlcDtcbiAgICAgICAgaWYgKCFjYW5JbmNyZWFzZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubWF4O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNhbkluY3JlYXNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FuRGVjcmVhc2UoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGNhbkRlY3JlYXNlID0gdGhpcy52YWx1ZSA+PSB0aGlzLm1pbiArIHRoaXMuc3RlcDtcbiAgICAgICAgaWYgKCFjYW5EZWNyZWFzZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubWluO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNhbkRlY3JlYXNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25QaWNrU3RhcnRlZChpbmNyZWFzZTogYm9vbGVhbikge1xuICAgICAgICBjb25zdCBpc0luY3JlYXNlID0gaW5jcmVhc2U7XG4gICAgICAgIGlmIChpc0luY3JlYXNlKSB7XG4gICAgICAgICAgICAvLyBOT1NPTkFSXG4gICAgICAgICAgICBpZiAodGhpcy5jYW5JbmNyZWFzZSgpKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ0luIHRoaXMnKTtcbiAgICAgICAgICAgICAgICB0aGlzLnBpY2tTdGFydGVkLmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5waWNrVXBTdGFydGVkLmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jYW5EZWNyZWFzZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnBpY2tTdGFydGVkLmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLnBpY2tEb3duU3RhcnRlZC5lbWl0KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbnBpY2tTdG9wcGVkKGluY3JlYXNlOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IGlzSW5jcmVhc2UgPSBpbmNyZWFzZTtcbiAgICAgICAgaWYgKGlzSW5jcmVhc2UpIHtcbiAgICAgICAgICAgIC8vIE5PU09OQVJcbiAgICAgICAgICAgIGlmICh0aGlzLmNhbkluY3JlYXNlKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBpY2tVcFN0b3BwZWQuZW1pdCh0cnVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnBpY2tTdG9wcGVkLmVtaXQodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jYW5EZWNyZWFzZSgpKSB7XG4gICAgICAgICAgICB0aGlzLnBpY2tEb3duU3RvcHBlZC5lbWl0KHRydWUpO1xuICAgICAgICAgICAgdGhpcy5waWNrU3RvcHBlZC5lbWl0KHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0xlZnRDbGljayhldmVudCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gZXZlbnQuYnV0dG9uID09PSAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFBpY2tlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5taW4gPSB0aGlzLnBhcnNlVmFsKHRoaXMubWluKSB8fCB0aGlzLm51bWJlclBpY2tlclNlcnZpY2UubWluO1xuICAgICAgICB0aGlzLm1heCA9IHRoaXMucGFyc2VWYWwodGhpcy5tYXgpIHx8IHRoaXMubnVtYmVyUGlja2VyU2VydmljZS5tYXg7XG4gICAgICAgIHRoaXMuc3RlcCA9IHRoaXMucGFyc2VWYWwodGhpcy5zdGVwKSB8fCB0aGlzLm51bWJlclBpY2tlclNlcnZpY2Uuc3RlcDtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMucGFyc2VWYWwodGhpcy52YWx1ZSkgfHwgdGhpcy5udW1iZXJQaWNrZXJTZXJ2aWNlLnZhbHVlO1xuICAgICAgICB0aGlzLnBpY2tTdGFydEFmdGVyID1cbiAgICAgICAgICAgIHRoaXMucGFyc2VWYWwodGhpcy5waWNrU3RhcnRBZnRlcikgfHwgdGhpcy5udW1iZXJQaWNrZXJTZXJ2aWNlLnBpY2tTdGFydEFmdGVyO1xuICAgICAgICB0aGlzLnBpY2tUaW1lciA9IHRoaXMucGFyc2VWYWwodGhpcy5waWNrVGltZXIpIHx8IHRoaXMubnVtYmVyUGlja2VyU2VydmljZS5waWNrVGltZXI7XG4gICAgICAgIHRoaXMucHJlY2lzaW9uID0gdGhpcy5nZXRQcmVjaXNpb24odGhpcy5zdGVwKSB8fCB0aGlzLm51bWJlclBpY2tlclNlcnZpY2UucHJlY2lzaW9uO1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5yb3VuZCh0aGlzLnZhbHVlKTtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRoaXMucGxhY2Vob2xkZXIgPz8gJyc7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIG1iLTMgaW5wdXQte3sgc2l6ZSB9fSB7eyBjdXN0b21DbGFzcy5jb250YWluZXIgfX1cIj5cbiAgPCEtLSBIb3Jpem9udGFsIGRlY3JlYXNlIGJ1dHRvbiBvcmllbnRhdGlvbiAtLT5cbiAgPHNwYW4gKm5nSWY9XCJpc0hvcml6b250YWwoKSAmJiBzaG93RG93bkJ1dHRvblwiXG4gICAgY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0IGRlY3JlYXNlIHt7IGN1c3RvbUNsYXNzLmRvd24gfX1cIlxuICAgIChjbGljayk9XCJvbkRlY3JlYXNlKCRldmVudClcIlxuICAgIChrZXlkb3duLmVudGVyKT1cIm9uRGVjcmVhc2UoJGV2ZW50KVwiXG4gICAgKG1vdXNldXApPVwib25Nb3VzZVVwKCRldmVudCwgZmFsc2UpXCJcbiAgICAobW91c2Vkb3duKT1cIm9uTW91c2VEb3duKCRldmVudCwgZmFsc2UpXCI+LTwvc3Bhbj5cbiAgPCEtLSBJbnB1dCBwcmVmaXggLS0+XG4gIDxzcGFuICpuZ0lmPVwicHJlZml4XCJcbiAgICBjbGFzcz1cImlucHV0LWdyb3VwLXRleHQge3sgY3VzdG9tQ2xhc3MucHJlZml4IH19XCI+e3sgcHJlZml4IH19XG4gIDwvc3Bhbj5cbiAgPGlucHV0IHR5cGU9XCJudW1iZXJcIlxuICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICBuYW1lPVwiaW5wdXQtc3Bpbi12YWxcIlxuICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgIFtyZWFkT25seV09XCJpbnB1dFJlYWRPbmx5XCJcbiAgICAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiXG4gICAgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiXG4gICAgKHdoZWVsKT1cIm1vdXNlV2hlZWwgJiYgb25Nb3VzZVdoZWVsKCRldmVudClcIlxuICAgIChrZXl1cCk9XCJhcnJvd0tleXMgJiYgb25LZXlVcCgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5lbnRlcik9XCJhcnJvd0tleXMgJiYgb25LZXlEb3duKCRldmVudClcIlxuICAgIChrZXlkb3duLmFycm93dXApPVwiYXJyb3dLZXlzICYmIG9uSW5jcmVhc2UoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uYXJyb3dkb3duKT1cImFycm93S2V5cyAmJiBvbkRlY3JlYXNlKCRldmVudClcIlxuICAgIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiAvPlxuICA8IS0tIElucHV0IHBvc3RmaXggLS0+XG5cbiAgPHNwYW4gKm5nSWY9XCJwb3N0Zml4XCJcbiAgICBjbGFzcz1cImlucHV0LWdyb3VwLXRleHQge3sgY3VzdG9tQ2xhc3MucG9zdGZpeCB9fVwiXG4gICAgW3N0eWxlLmJvcmRlckxlZnRdPVwiJzAnXCI+e3twb3N0Zml4fX1cbiAgICA8c3BhbiBjbGFzcz1cInRvb2x0aXAtd3JhcCBtcy0xXCJcbiAgICAgICpuZ0lmPVwic2hvd1Rvb2x0aXAgJiYgdG9vbHRpcFRleHRcIlxuICAgICAgW3BUb29sdGlwXT1cInRvb2x0aXBUZXh0XCJcbiAgICAgIFthcHBlbmRUb109XCInYm9keSdcIlxuICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ0b29sdGlwUG9zaXRpb24gfHwgJ3RvcCdcIj5cbiAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWluZm8tY2lyY2xlXCI+PC9pPlxuICAgIDwvc3Bhbj5cbiAgPC9zcGFuPlxuXG4gIDwhLS0gSG9yaXpvbnRhbCBpbmNyZWFzZSBidXR0b24gb3JpZW50YXRpb24gLS0+XG4gIDxzcGFuICpuZ0lmPVwiaXNIb3Jpem9udGFsKCkgJiYgc2hvd1VwQnV0dG9uXCJcbiAgICBjbGFzcz1cImlucHV0LWdyb3VwLXRleHQgaW5jcmVhc2Uge3sgY3VzdG9tQ2xhc3MudXAgfX1cIlxuICAgIFtzdHlsZS5ib3JkZXJMZWZ0XT1cIiFwb3N0Zml4ID8gJzAnIDogJydcIlxuICAgIChjbGljayk9XCJvbkluY3JlYXNlKCRldmVudClcIlxuICAgIChrZXlkb3duLmVudGVyKT1cIm9uSW5jcmVhc2UoJGV2ZW50KVwiXG4gICAgKG1vdXNldXApPVwib25Nb3VzZVVwKCRldmVudClcIlxuICAgIChtb3VzZWRvd24pPVwib25Nb3VzZURvd24oJGV2ZW50KVwiPis8L3NwYW4+XG4gIDwhLS0gVmVydGljYWwgYnV0dG9ucyBvcmllbnRhdGlvbiAtLT5cbiAgPHNwYW4gKm5nSWY9XCIhaXNIb3Jpem9udGFsKClcIlxuICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dCB2ZXJ0aWNhbCBwLTBcIj5cbiAgICA8c3BhbiAqbmdJZj1cInNob3dVcEJ1dHRvblwiXG4gICAgICBjbGFzcz1cInt7IGN1c3RvbUNsYXNzLnVwIH19XCJcbiAgICAgIChjbGljayk9XCJvbkluY3JlYXNlKCRldmVudClcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwib25JbmNyZWFzZSgkZXZlbnQpXCJcbiAgICAgIChtb3VzZXVwKT1cIm9uTW91c2VVcCgkZXZlbnQpXCJcbiAgICAgIChtb3VzZWRvd24pPVwib25Nb3VzZURvd24oJGV2ZW50KVwiPis8L3NwYW4+XG4gICAgPHNwYW4gKm5nSWY9XCJzaG93RG93bkJ1dHRvblwiXG4gICAgICBjbGFzcz1cInt7IGN1c3RvbUNsYXNzLmRvd24gfX1cIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwib25EZWNyZWFzZSgkZXZlbnQpXCJcbiAgICAgIChjbGljayk9XCJvbkRlY3JlYXNlKCRldmVudClcIlxuICAgICAgKG1vdXNldXApPVwib25Nb3VzZVVwKCRldmVudCwgZmFsc2UpXCJcbiAgICAgIChtb3VzZWRvd24pPVwib25Nb3VzZURvd24oJGV2ZW50LCBmYWxzZSlcIj4tPC9zcGFuPlxuICA8L3NwYW4+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -49,4 +49,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
49
49
|
}], successEvent: [{
|
|
50
50
|
type: Output
|
|
51
51
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQtdmFsaWRhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC1jb21wb25lbnRzL3NyYy9saWIvcGFzc3dvcmQtdmFsaWRhdGlvbi9wYXNzd29yZC12YWxpZGF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9wYXNzd29yZC12YWxpZGF0aW9uL3Bhc3N3b3JkLXZhbGlkYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7OztBQU9oRSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsZ0JBQWdCO0lBVTdELFlBQ0ksUUFBa0IsRUFDRCxLQUFlO1FBRWhDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUZDLFVBQUssR0FBTCxLQUFLLENBQVU7UUFScEMsaUJBQVksR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQVd6RCxDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxnQkFBZ0I7UUFDWixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsV0FBVztpQkFDWCxhQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUMxQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2QsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFLE1BQU0sS0FBSyxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDekIsQ0FBQztxQkFBTSxDQUFDO29CQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDekIsQ0FBQztZQUNMLENBQUMsQ0FBQztpQkFDRCxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ1gsQ0FBQztJQUNMLENBQUM7K0dBeENRLDJCQUEyQjttR0FBM0IsMkJBQTJCLGtQQ1h4QyxpaENBb0NBOzs0RkR6QmEsMkJBQTJCO2tCQUp2QyxTQUFTOytCQUNJLHdCQUF3QjtvR0FJTSxPQUFPO3NCQUE5QyxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR3RDLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgT3V0cHV0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IFN0YXR1c0NvZGVzIH0gZnJvbSAnaHR0cC1zdGF0dXMtY29kZXMnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBTaGFyZWRNb2RhbENvbnRleHQgfSBmcm9tICcuLi9zaGFyZWQvc2hhcmVkLWNvbXBvbmVudC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LXBhc3N3b3JkLXZhbGlkYXRpb24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYXNzd29yZC12YWxpZGF0aW9uLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBQYXNzd29yZFZhbGlkYXRpb25Db21wb25lbnQgZXh0ZW5kcyBBcHBCYXNlQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCdjb250ZW50JywgeyBzdGF0aWM6IHRydWUgfSkgY29udGVudDogVGVtcGxhdGVSZWY8U2hhcmVkTW9kYWxDb250ZXh0PjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHN1Y2Nlc3NFdmVudDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcGFzc3dvcmQ6IHN0cmluZztcblxuICAgIGJ1dHRvbkJ1c3k6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1vZGFsOiBOZ2JNb2RhbFxuICAgICkge1xuICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgfVxuXG4gICAgb3BlbigpIHtcbiAgICAgICAgdGhpcy5tb2RhbC5vcGVuKHRoaXMuY29udGVudCwgeyBjZW50ZXJlZDogdHJ1ZSwgd2luZG93Q2xhc3M6ICdtb2RhbC1ob2xkZXInIH0pO1xuICAgIH1cblxuICAgIHZhbGlkYXRlUGFzc3dvcmQoKSB7XG4gICAgICAgIGlmICh0aGlzLnBhc3N3b3JkKSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbkJ1c3kgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZVxuICAgICAgICAgICAgICAgIC5jaGVja1Bhc3N3b3JkKHsgcGFzc3dvcmQ6IHRoaXMucGFzc3dvcmQgfSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGRhdGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0YSAmJiBkYXRhPy5zdGF0dXMgPT09IFN0YXR1c0NvZGVzLk9LKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3NFdmVudC5lbWl0KHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RhbC5kaXNtaXNzQWxsKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBhc3N3b3JkID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzc0V2ZW50LmVtaXQoZmFsc2UpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wYXNzd29yZCA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5hZGQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvbkJ1c3kgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjY29udGVudFxuICBsZXQtbW9kYWw+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiPkNvbmZpcm08L2g1PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXG4gICAgICBjbGFzcz1cImJ0bi1jbG9zZSBmbG9hdC1lbmRcIlxuICAgICAgYXJpYS1sYWJlbD1cIkNsb3NlXCJcbiAgICAgIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgPHN0cm9uZyBjbGFzcz1cInAzXCI+e3sgJ1VzZXIuQWNjb3VudC5NZXNzYWdlLkVudGVyUGFzc3dvcmQnIHwgdHJhbnNsb2NvIH19PC9zdHJvbmc+XG4gICAgPGRpdj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgICAgICNwYXNzd29yZFJlZlxuICAgICAgICAgIFsobmdNb2RlbCldPVwicGFzc3dvcmRcIlxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIkN1cnJlbnQgUGFzc3dvcmRcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInJvdyBtdC0yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgIDxidXR0b24gW2J1dHRvbkJ1c3ldPVwiYnV0dG9uQnVzeVwiXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgZmxvYXQtZW5kXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwidmFsaWRhdGVQYXNzd29yZCgpXCI+XG4gICAgICAgICAge3sgJ0J1dHRvbi5Db25maXJtJyB8IHRyYW5zbG9jbyB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -6,9 +6,7 @@ export class PermissionTreeComponent {
|
|
|
6
6
|
this._element = _element;
|
|
7
7
|
}
|
|
8
8
|
ngOnChanges(simple) {
|
|
9
|
-
if (simple['data']
|
|
10
|
-
simple['data'].currentValue &&
|
|
11
|
-
simple['data'].currentValue.grantedPermissionNames) {
|
|
9
|
+
if (simple['data']?.currentValue?.grantedPermissionNames) {
|
|
12
10
|
this.refreshTree();
|
|
13
11
|
}
|
|
14
12
|
}
|
|
@@ -22,8 +20,8 @@ export class PermissionTreeComponent {
|
|
|
22
20
|
}
|
|
23
21
|
const permissionNames = [];
|
|
24
22
|
const selectedPermissions = this._$tree.jstree('get_selected', true);
|
|
25
|
-
for (
|
|
26
|
-
permissionNames.push(
|
|
23
|
+
for (const permission of selectedPermissions) {
|
|
24
|
+
permissionNames.push(permission.original.id);
|
|
27
25
|
}
|
|
28
26
|
return permissionNames;
|
|
29
27
|
}
|
|
@@ -110,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
110
108
|
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { data: [{
|
|
111
109
|
type: Input
|
|
112
110
|
}] } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9wZXJtaXNzaW9uLXRyZWUvcGVybWlzc2lvbi10cmVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDOztBQVE3QixNQUFNLE9BQU8sdUJBQXVCO0lBS2hDLFlBQW9CLFFBQW9CO1FBQXBCLGFBQVEsR0FBUixRQUFRLENBQVk7SUFBRyxDQUFDO0lBRTVDLFdBQVcsQ0FBQyxNQUFxQjtRQUM3QixJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDZCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWTtZQUMzQixNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLHNCQUFzQixFQUNwRCxDQUFDO1lBQ0MsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFN0MsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCx5QkFBeUI7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMzQyxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFFM0IsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFD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QUFLLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzNCLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFFckUsYUFBYSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQy9FLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNyRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osYUFBYSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQy9FLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN2RCxDQUFDO1lBRUQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQ3hCLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUM5QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXZIUSx1QkFBdUI7bUdBQXZCLHVCQUF1QixzR0FGdEIsdUNBQXVDOzs0RkFFeEMsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLHVDQUF1QztpQkFDcEQ7K0VBRVksSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IG1hcCBmcm9tICdsb2Rhc2gvbWFwJztcbmltcG9ydCB7IFBlcm1pc3Npb25UcmVlRGF0YSB9IGZyb20gJy4uL3NoYXJlZC9zaGFyZWQtY29tcG9uZW50LmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdwZXJtaXNzaW9uLXRyZWUnLFxuICAgIHRlbXBsYXRlOiBgIDxkaXYgY2xhc3M9XCJwZXJtaXNzaW9uLXRyZWVcIj48L2Rpdj4gYFxufSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uVHJlZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgZGF0YTogUGVybWlzc2lvblRyZWVEYXRhO1xuXG4gICAgcHJpdmF0ZSBfJHRyZWU7XG4gICAgcHJpdmF0ZSBfY3JlYXRlZFRyZWVCZWZvcmU6IGJvb2xlYW47XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZikge31cblxuICAgIG5nT25DaGFuZ2VzKHNpbXBsZTogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICBzaW1wbGVbJ2RhdGEnXSAmJlxuICAgICAgICAgICAgc2ltcGxlWydkYXRhJ10uY3VycmVudFZhbHVlICYmXG4gICAgICAgICAgICBzaW1wbGVbJ2RhdGEnXS5jdXJyZW50VmFsdWUuZ3JhbnRlZFBlcm1pc3Npb25OYW1lc1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaFRyZWUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fJHRyZWUgPSAkKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgdGhpcy5yZWZyZXNoVHJlZSgpO1xuICAgIH1cblxuICAgIGdldEdyYW50ZWRQZXJtaXNzaW9uTmFtZXMoKTogc3RyaW5nW10ge1xuICAgICAgICBpZiAoIXRoaXMuXyR0cmVlIHx8ICF0aGlzLl9jcmVhdGVkVHJlZUJlZm9yZSkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGVybWlzc2lvbk5hbWVzID0gW107XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRQZXJtaXNzaW9ucyA9IHRoaXMuXyR0cmVlLmpzdHJlZSgnZ2V0X3NlbGVjdGVkJywgdHJ1ZSk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc2VsZWN0ZWRQZXJtaXNzaW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgcGVybWlzc2lvbk5hbWVzLnB1c2goc2VsZWN0ZWRQZXJtaXNzaW9uc1tpXS5vcmlnaW5hbC5pZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcGVybWlzc2lvbk5hbWVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVmcmVzaFRyZWUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9jcmVhdGVkVHJlZUJlZm9yZSkge1xuICAgICAgICAgICAgdGhpcy5fJHRyZWUuanN0cmVlKCdkZXN0cm95Jyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jcmVhdGVkVHJlZUJlZm9yZSA9IGZhbHNlO1xuXG4gICAgICAgIGlmICghdGhpcy5kYXRhIHx8ICF0aGlzLl8kdHJlZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdHJlZURhdGEgPSBtYXAodGhpcy5kYXRhLnBlcm1pc3Npb25zLCBpdGVtID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaWQ6IGl0ZW0ubmFtZSxcbiAgICAgICAgICAgICAgICBwYXJlbnQ6IGl0ZW0ucGFyZW50TmFtZSA/IGl0ZW0ucGFyZW50TmFtZSA6ICcjJyxcbiAgICAgICAgICAgICAgICB0ZXh0OiBpdGVtLmRpc3BsYXlOYW1lLFxuICAgICAgICAgICAgICAgIHN0YXRlOiB7XG4gICAgICAgICAgICAgICAgICAgIG9wZW5lZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuZGF0YS5ncmFudGVkUGVybWlzc2lvbk5hbWVzLmluY2x1ZGVzKGl0ZW0ubmFtZSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl8kdHJlZS5qc3RyZWUoe1xuICAgICAgICAgICAgY29yZToge1xuICAgICAgICAgICAgICAgIGRhdGE6IHRyZWVEYXRhXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHlwZXM6IHtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgIGljb246ICdmYSBmYS1mb2xkZXItb3BlbiB0cmVlLWl0ZW0taWNvbi1jb2xvciBpY29uLWxnJ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZmlsZToge1xuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEgZmEtZmlsZSB0cmVlLWl0ZW0taWNvbi1jb2xvciBpY29uLWxnJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjaGVja2JveDoge1xuICAgICAgICAgICAgICAgIGtlZXBfc2VsZWN0ZWRfc3R5bGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHRocmVlX3N0YXRlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBjYXNjYWRlOiAnJ1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBsdWdpbnM6IFsnY2hlY2tib3gnLCAndHlwZXMnXVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9jcmVhdGVkVHJlZUJlZm9yZSA9IHRydWU7XG5cbiAgICAgICAgbGV0IGluVHJlZUNoYW5nZUV2ZW50ID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0Tm9kZUFuZEFsbFBhcmVudHMgPSBub2RlID0+IHtcbiAgICAgICAgICAgIHRoaXMuXyR0cmVlLmpzdHJlZSgnc2VsZWN0X25vZGUnLCBub2RlLCB0cnVlKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMuXyR0cmVlLmpzdHJlZSgnZ2V0X3BhcmVudCcsIG5vZGUpO1xuICAgICAgICAgICAgaWYgKHBhcmVudCkge1xuICAgICAgICAgICAgICAgIHNlbGVjdE5vZGVBbmRBbGxQYXJlbnRzKHBhcmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5fJHRyZWUub24oJ2NoYW5nZWQuanN0cmVlJywgKF9lLCBkYXRhKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWRhdGEubm9kZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgd2FzSW5UcmVlQ2hhbmdlRXZlbnQgPSBpblRyZWVDaGFuZ2VFdmVudDtcbiAgICAgICAgICAgIGlmICghd2FzSW5UcmVlQ2hhbmdlRXZlbnQpIHtcbiAgICAgICAgICAgICAgICBpblRyZWVDaGFuZ2VFdmVudCA9IHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBjaGlsZHJlbk5vZGVzO1xuXG4gICAgICAgICAgICBpZiAoZGF0YS5ub2RlLnN0YXRlLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgc2VsZWN0Tm9kZUFuZEFsbFBhcmVudHModGhpcy5fJHRyZWUuanN0cmVlKCdnZXRfcGFyZW50JywgZGF0YS5ub2RlKSk7XG5cbiAgICAgICAgICAgICAgICBjaGlsZHJlbk5vZGVzID0gJC5tYWtlQXJyYXkodGhpcy5fJHRyZWUuanN0cmVlKCdnZXRfY2hpbGRyZW5fZG9tJywgZGF0YS5ub2RlKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fJHRyZWUuanN0cmVlKCdzZWxlY3Rfbm9kZScsIGNoaWxkcmVuTm9kZXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbk5vZGVzID0gJC5tYWtlQXJyYXkodGhpcy5fJHRyZWUuanN0cmVlKCdnZXRfY2hpbGRyZW5fZG9tJywgZGF0YS5ub2RlKSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fJHRyZWUuanN0cmVlKCdkZXNlbGVjdF9ub2RlJywgY2hpbGRyZW5Ob2Rlcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghd2FzSW5UcmVlQ2hhbmdlRXZlbnQpIHtcbiAgICAgICAgICAgICAgICBpblRyZWVDaGFuZ2VFdmVudCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi10cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc2hhcmVkLWNvbXBvbmVudHMvc3JjL2xpYi9wZXJtaXNzaW9uLXRyZWUvcGVybWlzc2lvbi10cmVlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR1IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDOztBQVE3QixNQUFNLE9BQU8sdUJBQXVCO0lBS2hDLFlBQTZCLFFBQW9CO1FBQXBCLGFBQVEsR0FBUixRQUFRLENBQVk7SUFBRyxDQUFDO0lBRXJELFdBQVcsQ0FBQyxNQUFxQjtRQUM3QixJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztZQUN2RCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUU3QyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELHlCQUF5QjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzNDLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUUzQixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyRSxLQUFLLE1BQU0sVUFBVSxJQUFJLG1CQUFtQixFQUFFLENBQUM7WUFDM0MsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxPQUFPLGVBQWUsQ0FBQztJQUMzQixDQUFDO0lBRU8sV0FBVztRQUNmLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUVELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDN0IsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDL0MsT0FBTztnQkFDSCxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUc7Z0JBQy9DLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDdEIsS0FBSyxFQUFFO29CQUNILE1BQU0sRUFBRSxJQUFJO29CQUNaLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2lCQUNqRTthQUNKLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ2YsSUFBSSxFQUFFO2dCQUNGLElBQUksRUFBRSxRQUFRO2FBQ2pCO1lBQ0QsS0FBSyxFQUFFO2dCQUNILE9BQU8sRUFBRTtvQkFDTCxJQUFJLEVBQUUsZ0RBQWdEO2lCQUN6RDtnQkFDRCxJQUFJLEVBQUU7b0JBQ0YsSUFBSSxFQUFFLHlDQUF5QztpQkFDbEQ7YUFDSjtZQUNELFFBQVEsRUFBRTtnQkFDTixtQkFBbUIsRUFBRSxLQUFLO2dCQUMxQixXQUFXLEVBQUUsS0FBSztnQkFDbEIsT0FBTyxFQUFFLEVBQUU7YUFDZDtZQUNELE9BQU8sRUFBRSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUM7U0FDakMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUUvQixJQUFJLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUU5QixNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RELElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1QsdUJBQXVCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEMsQ0FBQztRQUNMLENBQUMsQ0FBQztRQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2IsT0FBTztZQUNYLENBQUM7WUFFRCxNQUFNLG9CQUFvQixHQUFHLGlCQUFpQixDQUFDO1lBQy9DLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUN4QixpQkFBaUIsR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztZQUVELElBQUksYUFBYSxDQUFDO1lBRWxCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQzNCLHVCQUF1QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFFckUsYUFBYSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQy9FLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNyRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osYUFBYSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQy9FLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUN2RCxDQUFDO1lBRUQsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7Z0JBQ3hCLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUM5QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQW5IUSx1QkFBdUI7bUdBQXZCLHVCQUF1QixzR0FGdEIsdUNBQXVDOzs0RkFFeEMsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNQLDhEQUE4RDtvQkFDOUQsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLHVDQUF1QztpQkFDcEQ7K0VBRVksSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IG1hcCBmcm9tICdsb2Rhc2gvbWFwJztcbmltcG9ydCB7IFBlcm1pc3Npb25UcmVlRGF0YSB9IGZyb20gJy4uL3NoYXJlZC9zaGFyZWQtY29tcG9uZW50LmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdwZXJtaXNzaW9uLXRyZWUnLFxuICAgIHRlbXBsYXRlOiBgIDxkaXYgY2xhc3M9XCJwZXJtaXNzaW9uLXRyZWVcIj48L2Rpdj4gYFxufSlcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uVHJlZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgZGF0YTogUGVybWlzc2lvblRyZWVEYXRhO1xuXG4gICAgcHJpdmF0ZSBfJHRyZWU7XG4gICAgcHJpdmF0ZSBfY3JlYXRlZFRyZWVCZWZvcmU6IGJvb2xlYW47XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBfZWxlbWVudDogRWxlbWVudFJlZikge31cblxuICAgIG5nT25DaGFuZ2VzKHNpbXBsZTogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoc2ltcGxlWydkYXRhJ10/LmN1cnJlbnRWYWx1ZT8uZ3JhbnRlZFBlcm1pc3Npb25OYW1lcykge1xuICAgICAgICAgICAgdGhpcy5yZWZyZXNoVHJlZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl8kdHJlZSA9ICQodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50KTtcblxuICAgICAgICB0aGlzLnJlZnJlc2hUcmVlKCk7XG4gICAgfVxuXG4gICAgZ2V0R3JhbnRlZFBlcm1pc3Npb25OYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIGlmICghdGhpcy5fJHRyZWUgfHwgIXRoaXMuX2NyZWF0ZWRUcmVlQmVmb3JlKSB7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwZXJtaXNzaW9uTmFtZXMgPSBbXTtcblxuICAgICAgICBjb25zdCBzZWxlY3RlZFBlcm1pc3Npb25zID0gdGhpcy5fJHRyZWUuanN0cmVlKCdnZXRfc2VsZWN0ZWQnLCB0cnVlKTtcbiAgICAgICAgZm9yIChjb25zdCBwZXJtaXNzaW9uIG9mIHNlbGVjdGVkUGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHBlcm1pc3Npb25OYW1lcy5wdXNoKHBlcm1pc3Npb24ub3JpZ2luYWwuaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBlcm1pc3Npb25OYW1lcztcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZnJlc2hUcmVlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY3JlYXRlZFRyZWVCZWZvcmUpIHtcbiAgICAgICAgICAgIHRoaXMuXyR0cmVlLmpzdHJlZSgnZGVzdHJveScpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY3JlYXRlZFRyZWVCZWZvcmUgPSBmYWxzZTtcblxuICAgICAgICBpZiAoIXRoaXMuZGF0YSB8fCAhdGhpcy5fJHRyZWUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRyZWVEYXRhID0gbWFwKHRoaXMuZGF0YS5wZXJtaXNzaW9ucywgaXRlbSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGlkOiBpdGVtLm5hbWUsXG4gICAgICAgICAgICAgICAgcGFyZW50OiBpdGVtLnBhcmVudE5hbWUgPyBpdGVtLnBhcmVudE5hbWUgOiAnIycsXG4gICAgICAgICAgICAgICAgdGV4dDogaXRlbS5kaXNwbGF5TmFtZSxcbiAgICAgICAgICAgICAgICBzdGF0ZToge1xuICAgICAgICAgICAgICAgICAgICBvcGVuZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0aGlzLmRhdGEuZ3JhbnRlZFBlcm1pc3Npb25OYW1lcy5pbmNsdWRlcyhpdGVtLm5hbWUpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fJHRyZWUuanN0cmVlKHtcbiAgICAgICAgICAgIGNvcmU6IHtcbiAgICAgICAgICAgICAgICBkYXRhOiB0cmVlRGF0YVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHR5cGVzOiB7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICAgICAgICBpY29uOiAnZmEgZmEtZm9sZGVyLW9wZW4gdHJlZS1pdGVtLWljb24tY29sb3IgaWNvbi1sZydcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGZpbGU6IHtcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ZhIGZhLWZpbGUgdHJlZS1pdGVtLWljb24tY29sb3IgaWNvbi1sZydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2hlY2tib3g6IHtcbiAgICAgICAgICAgICAgICBrZWVwX3NlbGVjdGVkX3N0eWxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB0aHJlZV9zdGF0ZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgY2FzY2FkZTogJydcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwbHVnaW5zOiBbJ2NoZWNrYm94JywgJ3R5cGVzJ11cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fY3JlYXRlZFRyZWVCZWZvcmUgPSB0cnVlO1xuXG4gICAgICAgIGxldCBpblRyZWVDaGFuZ2VFdmVudCA9IGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdE5vZGVBbmRBbGxQYXJlbnRzID0gbm9kZSA9PiB7XG4gICAgICAgICAgICB0aGlzLl8kdHJlZS5qc3RyZWUoJ3NlbGVjdF9ub2RlJywgbm9kZSwgdHJ1ZSk7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLl8kdHJlZS5qc3RyZWUoJ2dldF9wYXJlbnQnLCBub2RlKTtcbiAgICAgICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICBzZWxlY3ROb2RlQW5kQWxsUGFyZW50cyhwYXJlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuXyR0cmVlLm9uKCdjaGFuZ2VkLmpzdHJlZScsIChfZSwgZGF0YSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFkYXRhLm5vZGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHdhc0luVHJlZUNoYW5nZUV2ZW50ID0gaW5UcmVlQ2hhbmdlRXZlbnQ7XG4gICAgICAgICAgICBpZiAoIXdhc0luVHJlZUNoYW5nZUV2ZW50KSB7XG4gICAgICAgICAgICAgICAgaW5UcmVlQ2hhbmdlRXZlbnQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgY2hpbGRyZW5Ob2RlcztcblxuICAgICAgICAgICAgaWYgKGRhdGEubm9kZS5zdGF0ZS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIHNlbGVjdE5vZGVBbmRBbGxQYXJlbnRzKHRoaXMuXyR0cmVlLmpzdHJlZSgnZ2V0X3BhcmVudCcsIGRhdGEubm9kZSkpO1xuXG4gICAgICAgICAgICAgICAgY2hpbGRyZW5Ob2RlcyA9ICQubWFrZUFycmF5KHRoaXMuXyR0cmVlLmpzdHJlZSgnZ2V0X2NoaWxkcmVuX2RvbScsIGRhdGEubm9kZSkpO1xuICAgICAgICAgICAgICAgIHRoaXMuXyR0cmVlLmpzdHJlZSgnc2VsZWN0X25vZGUnLCBjaGlsZHJlbk5vZGVzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW5Ob2RlcyA9ICQubWFrZUFycmF5KHRoaXMuXyR0cmVlLmpzdHJlZSgnZ2V0X2NoaWxkcmVuX2RvbScsIGRhdGEubm9kZSkpO1xuICAgICAgICAgICAgICAgIHRoaXMuXyR0cmVlLmpzdHJlZSgnZGVzZWxlY3Rfbm9kZScsIGNoaWxkcmVuTm9kZXMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXdhc0luVHJlZUNoYW5nZUV2ZW50KSB7XG4gICAgICAgICAgICAgICAgaW5UcmVlQ2hhbmdlRXZlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|