@eo-sdk/client 11.12.0 → 11.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts +2 -1
- package/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.d.ts +2 -1
- package/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +0 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
- package/app/eo-framework/inbox-details/inbox-details.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form-edit/object-form-edit.component.d.ts.map +1 -1
- package/app/eo-framework/object-form/object-form-helper.service.d.ts.map +1 -1
- package/assets/_default/config/main.json +3 -3
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/add-resubmission-action/add-resubmission/add-resubmission.component.mjs +8 -4
- package/esm2022/app/eo-framework/actions/actions/add-subscription-action/add-subscription/add-subscription.component.mjs +8 -4
- package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +3 -8
- package/esm2022/app/eo-framework/inbox-details/inbox-details.component.mjs +2 -2
- package/esm2022/app/eo-framework/media/media.component.mjs +3 -3
- package/esm2022/app/eo-framework/object-form/object-form-edit/object-form-edit.component.mjs +2 -5
- package/esm2022/app/eo-framework/object-form/object-form-helper.service.mjs +7 -2
- package/fesm2022/eo-sdk-client.mjs +28 -23
- package/fesm2022/eo-sdk-client.mjs.map +1 -1
- package/misc/scripts/mvn-deploy.js +12 -16
- package/package.json +4 -4
- package/scss/_yuuvis-components.scss +4 -0
- package/styles.css +16 -0
- package/styles.scss +14 -0
|
@@ -43,6 +43,7 @@ export class AddSubscriptionComponent {
|
|
|
43
43
|
if (this.selection.length === 1) {
|
|
44
44
|
const titleFieldControl = this.addSubscriptionForm.controls['titleFieldFCN'];
|
|
45
45
|
titleFieldControl.setValidators(Validators.required);
|
|
46
|
+
titleFieldControl.setValidators(Validators.maxLength(250));
|
|
46
47
|
titleFieldControl.setValue(this.createTitle(this.selection[0]));
|
|
47
48
|
}
|
|
48
49
|
if (includesFolders && includesDocuments) {
|
|
@@ -73,9 +74,12 @@ export class AddSubscriptionComponent {
|
|
|
73
74
|
this.titleField.nativeElement.getElementsByTagName('input')[0].select();
|
|
74
75
|
});
|
|
75
76
|
}
|
|
76
|
-
get
|
|
77
|
+
get titleValidityMaxLength() {
|
|
77
78
|
return this.addSubscriptionForm.get('titleFieldFCN').invalid;
|
|
78
79
|
}
|
|
80
|
+
get titleValidityRequired() {
|
|
81
|
+
return !this.addSubscriptionForm.get('titleFieldFCN').value;
|
|
82
|
+
}
|
|
79
83
|
validator(control) {
|
|
80
84
|
if (control.value.inboxCbFCN || control.value.emailCbFCN) {
|
|
81
85
|
return null;
|
|
@@ -116,11 +120,11 @@ export class AddSubscriptionComponent {
|
|
|
116
120
|
this.canceled.emit();
|
|
117
121
|
}
|
|
118
122
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AddSubscriptionComponent, deps: [{ token: i1.TranslateService }, { token: i1.DmsService }, { token: i1.UserService }, { token: i2.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
119
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: AddSubscriptionComponent, selector: "eo-add-subscription", inputs: { selection: "selection" }, outputs: { finished: "finished", canceled: "canceled" }, viewQueries: [{ propertyName: "titleField", first: true, predicate: ["titleField"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"eo-subscription\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addSubscriptionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\"
|
|
123
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: AddSubscriptionComponent, selector: "eo-add-subscription", inputs: { selection: "selection" }, outputs: { finished: "finished", canceled: "canceled" }, viewQueries: [{ propertyName: "titleField", first: true, predicate: ["titleField"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"eo-subscription\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addSubscriptionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\"\n [invalid]=\"titleValidityRequired || titleValidityMaxLength\" *ngIf=\"selection.length === 1\">\n <eo-string [maxlength]=\"250\" formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidityRequired\">\n <div translate>eo.form.property.required</div>\n </div>\n <div class=\"err-msg\" *ngIf=\"titleValidityMaxLength\">\n <div [translateParams]=\"{maxlength: 250}\" translate>eo.form.property.maxlength</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input *ngIf=\"!selection[0].isFolder\" [skipToggle]=\"true\"\n [label]=\"'eo.subscription.field.mode.label' | translate\">\n <eo-codesystem formControlName=\"modeFieldFCN\" [codesystem]=\"subscriptionModeCodesystem\"\n [pickerTitle]=\"'eo.subscription.field.mode.label' | translate\"></eo-codesystem>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"addSubscriptionForm.errors?.addSubscriptionForm\" translate>eo.subscription.error.msg\n </div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\" translate>eo.cta.button.cancel</button>\n <button class=\"primary\" [disabled]=\"addSubscriptionForm.errors || titleValidityRequired || titleValidityMaxLength\"\n (click)=\"createSubscription()\" translate>eo.subscription.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'assets/_default/svg/ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n", styles: [".eo-subscription{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-subscription h2{font-weight:var(--font-weight-light);font-size:var(--font-subhead)}.eo-subscription .form-buttons{padding:5px 0;text-align:right}.eo-subscription .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding) / 2)}.eo-subscription .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding) / 2);margin-right:0}.eo-subscription .process-indicator{display:flex;justify-content:flex-end}.eo-subscription .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}.eo-subscription .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i5.EoIconComponent, selector: "eo-icon", inputs: ["objectType", "iconId", "iconSrc", "badge", "iconTitle"] }, { kind: "directive", type: i6.TrapFocusDirective, selector: "[eoTrapFocus]" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i7.FormInputComponent, selector: "eo-form-input", inputs: ["label", "tag", "description", "skipToggle", "isNull", "invalid", "disabled", "required"], outputs: ["onToggleLabel"] }, { kind: "component", type: i8.CodesystemComponent, selector: "eo-codesystem", inputs: ["situation", "pickerTitle", "placeholder", "codesystem", "multiselect", "readonly", "inputStyleClass", "emptyMessage", "filterFunction", "disablingFilterFunction"] }, { kind: "component", type: i9.CheckboxComponent, selector: "eo-checkbox", inputs: ["required", "tristate", "readonly"] }, { kind: "component", type: i10.StringComponent, selector: "eo-string", inputs: ["autocomplete", "multiselect", "multiline", "readonly", "autofocus", "classification", "situation", "regex", "qname", "size", "minLength", "maxLength"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] }); }
|
|
120
124
|
}
|
|
121
125
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: AddSubscriptionComponent, decorators: [{
|
|
122
126
|
type: Component,
|
|
123
|
-
args: [{ selector: 'eo-add-subscription', template: "<div class=\"eo-subscription\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addSubscriptionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\"
|
|
127
|
+
args: [{ selector: 'eo-add-subscription', template: "<div class=\"eo-subscription\" eoTrapFocus>\n <h2>{{header}}</h2>\n <form #titleField [formGroup]=\"addSubscriptionForm\">\n <eo-form-input [skipToggle]=\"true\" [label]=\"titleFieldLabel\" [required]=\"true\"\n [invalid]=\"titleValidityRequired || titleValidityMaxLength\" *ngIf=\"selection.length === 1\">\n <eo-string [maxlength]=\"250\" formControlName=\"titleFieldFCN\"></eo-string>\n </eo-form-input>\n <div class=\"err-msg\" *ngIf=\"titleValidityRequired\">\n <div translate>eo.form.property.required</div>\n </div>\n <div class=\"err-msg\" *ngIf=\"titleValidityMaxLength\">\n <div [translateParams]=\"{maxlength: 250}\" translate>eo.form.property.maxlength</div>\n </div>\n <eo-form-input [skipToggle]=\"true\" [label]=\"inboxCbLabel\">\n <eo-checkbox formControlName=\"inboxCbFCN\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input [skipToggle]=\"true\" [label]=\"emailCbLabel\">\n <eo-checkbox formControlName=\"emailCbFCN\" [readonly]=\"!hasEmail\"></eo-checkbox>\n </eo-form-input>\n <eo-form-input *ngIf=\"!selection[0].isFolder\" [skipToggle]=\"true\"\n [label]=\"'eo.subscription.field.mode.label' | translate\">\n <eo-codesystem formControlName=\"modeFieldFCN\" [codesystem]=\"subscriptionModeCodesystem\"\n [pickerTitle]=\"'eo.subscription.field.mode.label' | translate\"></eo-codesystem>\n </eo-form-input>\n </form>\n\n <!-- error/validation messages -->\n <div class=\"errors\">\n <div class=\"err-msg\" *ngIf=\"addSubscriptionForm.errors?.addSubscriptionForm\" translate>eo.subscription.error.msg\n </div>\n </div>\n\n <div class=\"form-buttons\" *ngIf=\"!processing; else indicator\">\n <button class=\"secondary\" (click)=\"cancel()\" translate>eo.cta.button.cancel</button>\n <button class=\"primary\" [disabled]=\"addSubscriptionForm.errors || titleValidityRequired || titleValidityMaxLength\"\n (click)=\"createSubscription()\" translate>eo.subscription.add</button>\n </div>\n\n <ng-template #indicator>\n <div class=\"process-indicator\"><eo-icon [iconSrc]=\"'assets/_default/svg/ic_kitt-loader.svg'\"></eo-icon></div>\n </ng-template>\n</div>\n", styles: [".eo-subscription{display:flex;flex-flow:column;justify-content:center;margin:var(--app-pane-padding)}.eo-subscription h2{font-weight:var(--font-weight-light);font-size:var(--font-subhead)}.eo-subscription .form-buttons{padding:5px 0;text-align:right}.eo-subscription .form-buttons button:nth-child(2n):not(:last-child){margin:0 calc(var(--app-pane-padding) / 2)}.eo-subscription .form-buttons button:nth-child(2n):last-child{margin-left:calc(var(--app-pane-padding) / 2);margin-right:0}.eo-subscription .process-indicator{display:flex;justify-content:flex-end}.eo-subscription .err-msg{background-color:var(--color-error);color:var(--color-white);margin:calc(var(--app-pane-padding) / 4) 0;padding:calc(var(--app-pane-padding) / 4);border:0;border-radius:2px}.eo-subscription .errors .err-msg:before{content:\"!\";padding:0 calc(var(--app-pane-padding) / 4)}\n"] }]
|
|
124
128
|
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i1.DmsService }, { type: i1.UserService }, { type: i2.UntypedFormBuilder }], propDecorators: { selection: [{
|
|
125
129
|
type: Input
|
|
126
130
|
}], finished: [{
|
|
@@ -131,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
131
135
|
type: ViewChild,
|
|
132
136
|
args: ['titleField', { static: true }]
|
|
133
137
|
}] } });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXN1YnNjcmlwdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvYWRkLXN1YnNjcmlwdGlvbi1hY3Rpb24vYWRkLXN1YnNjcmlwdGlvbi9hZGQtc3Vic2NyaXB0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9hZGQtc3Vic2NyaXB0aW9uLWFjdGlvbi9hZGQtc3Vic2NyaXB0aW9uL2FkZC1zdWJzY3JpcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFDLFNBQVMsRUFBVSxZQUFZLEVBQWMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJGLE9BQU8sRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBdUMsVUFBVSxFQUFxQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBdUQsZ0JBQWdCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDcEcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLHdCQUF3QjtJQU1uQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNuRyxDQUFDO0lBYUQsWUFBb0IsU0FBMkIsRUFDM0IsR0FBZSxFQUNmLFdBQXdCLEVBQ3hCLEVBQXNC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QyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN2QixRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdkIsQ0FBQyxDQUNBLENBQUE7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsSUFBSTtRQUN0QixPQUFPLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDakgsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OEdBM0hVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLGdSQ2JyQyxpMkRBbUNBOzsyRkR0QmEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHFCQUFxQjt5S0FRdEIsU0FBUztzQkFBakIsS0FBSztnQkFNSSxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ2tDLFVBQVU7c0JBQWxELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Zm9ya0pvaW4sIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7Q29tcG9uZW50LCBPbkluaXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aW9uQ29tcG9uZW50fSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2FjdGlvbi1jb21wb25lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7SW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1VudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycywgVW50eXBlZEZvcm1CdWlsZGVyfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2UsIERtc1NlcnZpY2UsIFVzZXJTZXJ2aWNlLCBEbXNPYmplY3QsIFN1YnNjcmlwdGlvbk1vZGV9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge2NhdGNoRXJyb3J9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tYWRkLXN1YnNjcmlwdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtc3Vic2NyaXB0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLXN1YnNjcmlwdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEFkZFN1YnNjcmlwdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWN0aW9uQ29tcG9uZW50IHtcblxuICBzdWJzY3JpcHRpb25Nb2RlQ29kZXN5c3RlbTtcblxuICBASW5wdXQoKSBzZWxlY3Rpb246IERtc09iamVjdFtdO1xuXG4gIGdldCBoYXNFbWFpbCgpIHtcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5nZXRDdXJyZW50VXNlcigpLmVtYWlsICYmIHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS5lbWFpbC5sZW5ndGg7XG4gIH1cblxuICBAT3V0cHV0KCkgZmluaXNoZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWxlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQFZpZXdDaGlsZCgndGl0bGVGaWVsZCcsIHtzdGF0aWM6IHRydWV9KSB0aXRsZUZpZWxkIDogRWxlbWVudFJlZjxhbnk+O1xuXG4gIGhlYWRlcjogc3RyaW5nO1xuICBhZGRTdWJzY3JpcHRpb25Gb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICB0aXRsZUZpZWxkTGFiZWw6IHN0cmluZztcbiAgaW5ib3hDYkxhYmVsOiBzdHJpbmc7XG4gIGVtYWlsQ2JMYWJlbDogc3RyaW5nO1xuICBwcm9jZXNzaW5nOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGRtczogRG1zU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgZmI6IFVudHlwZWRGb3JtQnVpbGRlcikge1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5oZWFkZXIgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5vYmplY3QuaW5saW5lbWVudS5hZGRzdWJzY3JpcHRpb24nKTtcbiAgICB0aGlzLnRpdGxlRmllbGRMYWJlbCA9IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5pbmZvJyk7XG4gICAgdGhpcy5pbmJveENiTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdWJzY3JpcHRpb24uZmllbGQubm90aWZpY2F0aW9uLmluYm94Jyk7XG4gICAgdGhpcy5lbWFpbENiTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdWJzY3JpcHRpb24uZmllbGQubm90aWZpY2F0aW9uLmVtYWlsJyk7XG5cbiAgICBjb25zdCBpbmNsdWRlc0ZvbGRlcnMgPSB0aGlzLnNlbGVjdGlvbi5maW5kKGl0ZW0gPT4gaXRlbS5pc0ZvbGRlcik7XG4gICAgY29uc3QgaW5jbHVkZXNEb2N1bWVudHMgPSB0aGlzLnNlbGVjdGlvbi5maW5kKGl0ZW0gPT4gIWl0ZW0uaXNGb2xkZXIpO1xuXG4gICAgdGhpcy5hZGRTdWJzY3JpcHRpb25Gb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICB0aXRsZUZpZWxkRkNOOiBbJyddLFxuICAgICAgaW5ib3hDYkZDTjogW3RydWVdLFxuICAgICAgZW1haWxDYkZDTjogW2ZhbHNlXSxcbiAgICAgIG1vZGVGaWVsZEZDTjogW2luY2x1ZGVzRm9sZGVycyA/IFN1YnNjcmlwdGlvbk1vZGUuT05MWV9JTkRFWF9EQVRBX0NIQU5HRUQgOiBTdWJzY3JpcHRpb25Nb2RlLkRNU19PQkpFQ1RfQ0hBTkdFRF1cbiAgICB9LCB7dmFsaWRhdG9yOiB0aGlzLnZhbGlkYXRvcn0pO1xuXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgdGl0bGVGaWVsZENvbnRyb2wgPSB0aGlzLmFkZFN1YnNjcmlwdGlvbkZvcm0uY29udHJvbHNbJ3RpdGxlRmllbGRGQ04nXTtcbiAgICAgIHRpdGxlRmllbGRDb250cm9sLnNldFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgICB0aXRsZUZpZWxkQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmNyZWF0ZVRpdGxlKHRoaXMuc2VsZWN0aW9uWzBdKSk7XG4gICAgfVxuXG4gICAgaWYgKGluY2x1ZGVzRm9sZGVycyAmJiBpbmNsdWRlc0RvY3VtZW50cykge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25Nb2RlQ29kZXN5c3RlbSA9IHtcbiAgICAgICAgZW50cmllczogW1xuICAgICAgICAgIHtpZDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5tZXRhLmxhYmVsJyksIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5tZXRhLmxhYmVsJyksIGRhdGE6IFN1YnNjcmlwdGlvbk1vZGUuT05MWV9JTkRFWF9EQVRBX0NIQU5HRUR9LFxuICAgICAgICAgIHtpZDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5ib3RoLmxhYmVsJyksIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5ib3RoLmxhYmVsJyksIGRhdGE6IFN1YnNjcmlwdGlvbk1vZGUuRE1TX09CSkVDVF9DSEFOR0VEfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpbmNsdWRlc0ZvbGRlcnMgJiYgIWluY2x1ZGVzRG9jdW1lbnRzKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbk1vZGVDb2Rlc3lzdGVtID0ge1xuICAgICAgICBlbnRyaWVzOiBbXG4gICAgICAgICAge2lkOiAwLCBkZWZhdWx0cmVwcmVzZW50YXRpb246IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5tb2RlLmVudHJpZXMubWV0YS5sYWJlbCcpLCBkYXRhOiBTdWJzY3JpcHRpb25Nb2RlLk9OTFlfSU5ERVhfREFUQV9DSEFOR0VEfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uTW9kZUNvZGVzeXN0ZW0gPSB7XG4gICAgICAgIGVudHJpZXM6IFtcbiAgICAgICAgICB7aWQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5tb2RlLmVudHJpZXMubWV0YS5sYWJlbCcpLCBkZWZhdWx0cmVwcmVzZW50YXRpb246IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5tb2RlLmVudHJpZXMubWV0YS5sYWJlbCcpLCBkYXRhOiBTdWJzY3JpcHRpb25Nb2RlLk9OTFlfSU5ERVhfREFUQV9DSEFOR0VEfSxcbiAgICAgICAgICB7aWQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5tb2RlLmVudHJpZXMuY29udGVudC5sYWJlbCcpLCBkZWZhdWx0cmVwcmVzZW50YXRpb246IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5tb2RlLmVudHJpZXMuY29udGVudC5sYWJlbCcpLCBkYXRhOiBTdWJzY3JpcHRpb25Nb2RlLk9OTFlfRE9DVU1FTlRfQ09OVEVOVF9DSEFOR0VEfSxcbiAgICAgICAgICB7aWQ6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5tb2RlLmVudHJpZXMuYm90aC5sYWJlbCcpLCBkZWZhdWx0cmVwcmVzZW50YXRpb246IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ2VvLnN1YnNjcmlwdGlvbi5maWVsZC5tb2RlLmVudHJpZXMuYm90aC5sYWJlbCcpLCBkYXRhOiBTdWJzY3JpcHRpb25Nb2RlLkRNU19PQkpFQ1RfQ0hBTkdFRH1cbiAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudGl0bGVGaWVsZC5uYXRpdmVFbGVtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpWzBdLnNlbGVjdCgpO1xuICAgIH0sKTtcbiAgfVxuXG5cbiAgZ2V0IHRpdGxlVmFsaWRpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkU3Vic2NyaXB0aW9uRm9ybS5nZXQoJ3RpdGxlRmllbGRGQ04nKS5pbnZhbGlkO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWxpZGF0b3IoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sKSB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUuaW5ib3hDYkZDTiB8fCBjb250cm9sLnZhbHVlLmVtYWlsQ2JGQ04pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhZGRTdWJzY3JpcHRpb25Gb3JtOiB7XG4gICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgY3JlYXRlU3Vic2NyaXB0aW9uKCkge1xuICAgIGNvbnN0IHt0aXRsZUZpZWxkRkNOLCBpbmJveENiRkNOLCBlbWFpbENiRkNOOiBzZW5kRW1haWwsIG1vZGVGaWVsZEZDTn0gPSB0aGlzLmFkZFN1YnNjcmlwdGlvbkZvcm0udmFsdWU7XG4gICAgY29uc3Qgb25seUVtYWlsID0gdGhpcy5oYXNFbWFpbCA/IHNlbmRFbWFpbCAmJiAhaW5ib3hDYkZDTiA6IGZhbHNlO1xuXG4gICAgdGhpcy5wcm9jZXNzaW5nID0gdHJ1ZTtcbiAgICBjb25zdCBjcmVhdGVUYXNrcyA9IFtdO1xuICAgIHRoaXMuc2VsZWN0aW9uLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCB0aXRsZSA9IHRoaXMuc2VsZWN0aW9uLmxlbmd0aCA9PT0gMSA/IHRpdGxlRmllbGRGQ04gOiB0aGlzLmNyZWF0ZVRpdGxlKGl0ZW0pO1xuICAgICAgY3JlYXRlVGFza3MucHVzaCh0aGlzLmRtcy5jcmVhdGVTdWJzY3JpcHRpb24oaXRlbSwgdGl0bGUsIHVuZGVmaW5lZCwgc2VuZEVtYWlsLCBvbmx5RW1haWwsIG1vZGVGaWVsZEZDTilcbiAgICAgICAgLnBpcGUoY2F0Y2hFcnJvcihlID0+IG9mKG51bGwpKSkpO1xuICAgIH0pO1xuXG4gICAgaWYgKGNyZWF0ZVRhc2tzLmxlbmd0aCkge1xuICAgICAgZm9ya0pvaW4oY3JlYXRlVGFza3MpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZpbmlzaGVkLmVtaXQoKTtcbiAgICAgIH1cbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm9jZXNzaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmZpbmlzaGVkLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVRpdGxlKGl0ZW0pIHtcbiAgICByZXR1cm4gaXRlbS5pc0NvbnRleHRGb2xkZXIgJiYgaXRlbS5jb250ZXh0Rm9sZGVyID8gaXRlbS5jb250ZXh0Rm9sZGVyLnRpdGxlICsgJyA+ICcgKyBpdGVtLnRpdGxlIDogaXRlbS50aXRsZTtcbiAgfVxuXG4gIGNhbmNlbCgpIHtcbiAgICB0aGlzLmNhbmNlbGVkLmVtaXQoKTtcbiAgfVxuXG59IiwiPGRpdiBjbGFzcz1cImVvLXN1YnNjcmlwdGlvblwiIGVvVHJhcEZvY3VzPlxuICA8aDI+e3toZWFkZXJ9fTwvaDI+XG4gIDxmb3JtICN0aXRsZUZpZWxkIFtmb3JtR3JvdXBdPVwiYWRkU3Vic2NyaXB0aW9uRm9ybVwiPlxuICAgIDxlby1mb3JtLWlucHV0IFtza2lwVG9nZ2xlXT1cInRydWVcIiBbbGFiZWxdPVwidGl0bGVGaWVsZExhYmVsXCIgW3JlcXVpcmVkXT1cInRydWVcIiBbaW52YWxpZF09XCJ0aXRsZVZhbGlkaXR5XCIgKm5nSWY9XCJzZWxlY3Rpb24ubGVuZ3RoID09PSAxXCI+XG4gICAgICA8ZW8tc3RyaW5nIGZvcm1Db250cm9sTmFtZT1cInRpdGxlRmllbGRGQ05cIj48L2VvLXN0cmluZz5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIiAqbmdJZj1cInRpdGxlVmFsaWRpdHlcIj5cbiAgICAgIDxkaXYgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkucmVxdWlyZWQ8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW2xhYmVsXT1cImluYm94Q2JMYWJlbFwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImluYm94Q2JGQ05cIj48L2VvLWNoZWNrYm94PlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICA8ZW8tZm9ybS1pbnB1dCBbc2tpcFRvZ2dsZV09XCJ0cnVlXCIgW2xhYmVsXT1cImVtYWlsQ2JMYWJlbFwiPlxuICAgICAgPGVvLWNoZWNrYm94IGZvcm1Db250cm9sTmFtZT1cImVtYWlsQ2JGQ05cIiBbcmVhZG9ubHldPVwiIWhhc0VtYWlsXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPGVvLWZvcm0taW5wdXQgKm5nSWY9XCIhc2VsZWN0aW9uWzBdLmlzRm9sZGVyXCIgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtsYWJlbF09XCInZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUubGFiZWwnIHwgdHJhbnNsYXRlXCI+XG4gICAgICA8ZW8tY29kZXN5c3RlbSBmb3JtQ29udHJvbE5hbWU9XCJtb2RlRmllbGRGQ05cIiBbY29kZXN5c3RlbV09XCJzdWJzY3JpcHRpb25Nb2RlQ29kZXN5c3RlbVwiIFtwaWNrZXJUaXRsZV09XCInZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUubGFiZWwnIHwgdHJhbnNsYXRlXCI+PC9lby1jb2Rlc3lzdGVtPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgPC9mb3JtPlxuXG4gIDwhLS0gZXJyb3IvdmFsaWRhdGlvbiBtZXNzYWdlcyAtLT5cbiAgPGRpdiBjbGFzcz1cImVycm9yc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJlcnItbXNnXCIgKm5nSWY9XCJhZGRTdWJzY3JpcHRpb25Gb3JtLmVycm9ycz8uYWRkU3Vic2NyaXB0aW9uRm9ybVwiIHRyYW5zbGF0ZT5lby5zdWJzY3JpcHRpb24uZXJyb3IubXNnPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWJ1dHRvbnNcIiAqbmdJZj1cIiFwcm9jZXNzaW5nOyBlbHNlIGluZGljYXRvclwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJzZWNvbmRhcnlcIiAoY2xpY2spPVwiY2FuY2VsKClcInRyYW5zbGF0ZT5lby5jdGEuYnV0dG9uLmNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImFkZFN1YnNjcmlwdGlvbkZvcm0uZXJyb3JzIHx8IHRpdGxlVmFsaWRpdHlcIiAoY2xpY2spPVwiY3JlYXRlU3Vic2NyaXB0aW9uKClcInRyYW5zbGF0ZT5lby5zdWJzY3JpcHRpb24uYWRkPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxuZy10ZW1wbGF0ZSAjaW5kaWNhdG9yPlxuICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzLWluZGljYXRvclwiPjxlby1pY29uIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2tpdHQtbG9hZGVyLnN2ZydcIj48L2VvLWljb24+PC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuIl19
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXN1YnNjcmlwdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2VvLWZyYW1ld29yay9hY3Rpb25zL2FjdGlvbnMvYWRkLXN1YnNjcmlwdGlvbi1hY3Rpb24vYWRkLXN1YnNjcmlwdGlvbi9hZGQtc3Vic2NyaXB0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvZW8tZnJhbWV3b3JrL2FjdGlvbnMvYWN0aW9ucy9hZGQtc3Vic2NyaXB0aW9uLWFjdGlvbi9hZGQtc3Vic2NyaXB0aW9uL2FkZC1zdWJzY3JpcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFDLFNBQVMsRUFBVSxZQUFZLEVBQWMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXJGLE9BQU8sRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBdUMsVUFBVSxFQUFxQixNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBdUQsZ0JBQWdCLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDcEcsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLHdCQUF3QjtJQU1uQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUNuRyxDQUFDO0lBYUQsWUFBb0IsU0FBMkIsRUFDM0IsR0FBZSxFQUNmLFdBQXdCLEVBQ3hCLEVBQXNC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QkFBakIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNrQyxVQUFVO3NCQUFsRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2ZvcmtKb2luLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0NvbXBvbmVudCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGlvbkNvbXBvbmVudH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9hY3Rpb24tY29tcG9uZW50LmludGVyZmFjZSc7XG5pbXBvcnQge0lucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIFVudHlwZWRGb3JtQnVpbGRlcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlLCBEbXNTZXJ2aWNlLCBVc2VyU2VydmljZSwgRG1zT2JqZWN0LCBTdWJzY3JpcHRpb25Nb2RlfSBmcm9tICdAZW8tc2RrL2NvcmUnO1xuaW1wb3J0IHtjYXRjaEVycm9yfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2VvLWFkZC1zdWJzY3JpcHRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRkLXN1YnNjcmlwdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FkZC1zdWJzY3JpcHRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBZGRTdWJzY3JpcHRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFjdGlvbkNvbXBvbmVudCB7XG5cbiAgc3Vic2NyaXB0aW9uTW9kZUNvZGVzeXN0ZW07XG5cbiAgQElucHV0KCkgc2VsZWN0aW9uOiBEbXNPYmplY3RbXTtcblxuICBnZXQgaGFzRW1haWwoKSB7XG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2UuZ2V0Q3VycmVudFVzZXIoKS5lbWFpbCAmJiB0aGlzLnVzZXJTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCkuZW1haWwubGVuZ3RoO1xuICB9XG5cbiAgQE91dHB1dCgpIGZpbmlzaGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgY2FuY2VsZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBWaWV3Q2hpbGQoJ3RpdGxlRmllbGQnLCB7c3RhdGljOiB0cnVlfSkgdGl0bGVGaWVsZCA6IEVsZW1lbnRSZWY8YW55PjtcblxuICBoZWFkZXI6IHN0cmluZztcbiAgYWRkU3Vic2NyaXB0aW9uRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgdGl0bGVGaWVsZExhYmVsOiBzdHJpbmc7XG4gIGluYm94Q2JMYWJlbDogc3RyaW5nO1xuICBlbWFpbENiTGFiZWw6IHN0cmluZztcbiAgcHJvY2Vzc2luZzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkbXM6IERtc1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaGVhZGVyID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8ub2JqZWN0LmlubGluZW1lbnUuYWRkc3Vic2NyaXB0aW9uJyk7XG4gICAgdGhpcy50aXRsZUZpZWxkTGFiZWwgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdWJzY3JpcHRpb24uZmllbGQuaW5mbycpO1xuICAgIHRoaXMuaW5ib3hDYkxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm5vdGlmaWNhdGlvbi5pbmJveCcpO1xuICAgIHRoaXMuZW1haWxDYkxhYmVsID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm5vdGlmaWNhdGlvbi5lbWFpbCcpO1xuXG4gICAgY29uc3QgaW5jbHVkZXNGb2xkZXJzID0gdGhpcy5zZWxlY3Rpb24uZmluZChpdGVtID0+IGl0ZW0uaXNGb2xkZXIpO1xuICAgIGNvbnN0IGluY2x1ZGVzRG9jdW1lbnRzID0gdGhpcy5zZWxlY3Rpb24uZmluZChpdGVtID0+ICFpdGVtLmlzRm9sZGVyKTtcblxuICAgIHRoaXMuYWRkU3Vic2NyaXB0aW9uRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgdGl0bGVGaWVsZEZDTjogWycnXSxcbiAgICAgIGluYm94Q2JGQ046IFt0cnVlXSxcbiAgICAgIGVtYWlsQ2JGQ046IFtmYWxzZV0sXG4gICAgICBtb2RlRmllbGRGQ046IFtpbmNsdWRlc0ZvbGRlcnMgPyBTdWJzY3JpcHRpb25Nb2RlLk9OTFlfSU5ERVhfREFUQV9DSEFOR0VEIDogU3Vic2NyaXB0aW9uTW9kZS5ETVNfT0JKRUNUX0NIQU5HRURdXG4gICAgfSwge3ZhbGlkYXRvcjogdGhpcy52YWxpZGF0b3J9KTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGlvbi5sZW5ndGggPT09IDEpIHtcbiAgICAgIGNvbnN0IHRpdGxlRmllbGRDb250cm9sID0gdGhpcy5hZGRTdWJzY3JpcHRpb25Gb3JtLmNvbnRyb2xzWyd0aXRsZUZpZWxkRkNOJ107XG4gICAgICB0aXRsZUZpZWxkQ29udHJvbC5zZXRWYWxpZGF0b3JzKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xuICAgICAgdGl0bGVGaWVsZENvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLm1heExlbmd0aCgyNTApKTtcbiAgICAgIHRpdGxlRmllbGRDb250cm9sLnNldFZhbHVlKHRoaXMuY3JlYXRlVGl0bGUodGhpcy5zZWxlY3Rpb25bMF0pKTtcbiAgICB9XG5cbiAgICBpZiAoaW5jbHVkZXNGb2xkZXJzICYmIGluY2x1ZGVzRG9jdW1lbnRzKSB7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbk1vZGVDb2Rlc3lzdGVtID0ge1xuICAgICAgICBlbnRyaWVzOiBbXG4gICAgICAgICAge2lkOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdWJzY3JpcHRpb24uZmllbGQubW9kZS5lbnRyaWVzLm1ldGEubGFiZWwnKSwgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdWJzY3JpcHRpb24uZmllbGQubW9kZS5lbnRyaWVzLm1ldGEubGFiZWwnKSwgZGF0YTogU3Vic2NyaXB0aW9uTW9kZS5PTkxZX0lOREVYX0RBVEFfQ0hBTkdFRH0sXG4gICAgICAgICAge2lkOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdWJzY3JpcHRpb24uZmllbGQubW9kZS5lbnRyaWVzLmJvdGgubGFiZWwnKSwgZGVmYXVsdHJlcHJlc2VudGF0aW9uOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5zdWJzY3JpcHRpb24uZmllbGQubW9kZS5lbnRyaWVzLmJvdGgubGFiZWwnKSwgZGF0YTogU3Vic2NyaXB0aW9uTW9kZS5ETVNfT0JKRUNUX0NIQU5HRUR9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGluY2x1ZGVzRm9sZGVycyAmJiAhaW5jbHVkZXNEb2N1bWVudHMpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uTW9kZUNvZGVzeXN0ZW0gPSB7XG4gICAgICAgIGVudHJpZXM6IFtcbiAgICAgICAgICB7aWQ6IDAsIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5tZXRhLmxhYmVsJyksIGRhdGE6IFN1YnNjcmlwdGlvbk1vZGUuT05MWV9JTkRFWF9EQVRBX0NIQU5HRUR9XG4gICAgICAgIF1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25Nb2RlQ29kZXN5c3RlbSA9IHtcbiAgICAgICAgZW50cmllczogW1xuICAgICAgICAgIHtpZDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5tZXRhLmxhYmVsJyksIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5tZXRhLmxhYmVsJyksIGRhdGE6IFN1YnNjcmlwdGlvbk1vZGUuT05MWV9JTkRFWF9EQVRBX0NIQU5HRUR9LFxuICAgICAgICAgIHtpZDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5jb250ZW50LmxhYmVsJyksIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5jb250ZW50LmxhYmVsJyksIGRhdGE6IFN1YnNjcmlwdGlvbk1vZGUuT05MWV9ET0NVTUVOVF9DT05URU5UX0NIQU5HRUR9LFxuICAgICAgICAgIHtpZDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5ib3RoLmxhYmVsJyksIGRlZmF1bHRyZXByZXNlbnRhdGlvbjogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnZW8uc3Vic2NyaXB0aW9uLmZpZWxkLm1vZGUuZW50cmllcy5ib3RoLmxhYmVsJyksIGRhdGE6IFN1YnNjcmlwdGlvbk1vZGUuRE1TX09CSkVDVF9DSEFOR0VEfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgfVxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy50aXRsZUZpZWxkLm5hdGl2ZUVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2lucHV0JylbMF0uc2VsZWN0KCk7XG4gICAgfSwpO1xuICB9XG5cbiAgZ2V0IHRpdGxlVmFsaWRpdHlNYXhMZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuYWRkU3Vic2NyaXB0aW9uRm9ybS5nZXQoJ3RpdGxlRmllbGRGQ04nKS5pbnZhbGlkO1xuICB9XG5cbiAgZ2V0IHRpdGxlVmFsaWRpdHlSZXF1aXJlZCgpIHtcbiAgICByZXR1cm4gIXRoaXMuYWRkU3Vic2NyaXB0aW9uRm9ybS5nZXQoJ3RpdGxlRmllbGRGQ04nKS52YWx1ZTtcbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdG9yKGNvbnRyb2w6IFVudHlwZWRGb3JtQ29udHJvbCkge1xuICAgIGlmIChjb250cm9sLnZhbHVlLmluYm94Q2JGQ04gfHwgY29udHJvbC52YWx1ZS5lbWFpbENiRkNOKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWRkU3Vic2NyaXB0aW9uRm9ybToge1xuICAgICAgICAgIHZhbGlkOiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIGNyZWF0ZVN1YnNjcmlwdGlvbigpIHtcbiAgICBjb25zdCB7dGl0bGVGaWVsZEZDTiwgaW5ib3hDYkZDTiwgZW1haWxDYkZDTjogc2VuZEVtYWlsLCBtb2RlRmllbGRGQ059ID0gdGhpcy5hZGRTdWJzY3JpcHRpb25Gb3JtLnZhbHVlO1xuICAgIGNvbnN0IG9ubHlFbWFpbCA9IHRoaXMuaGFzRW1haWwgPyBzZW5kRW1haWwgJiYgIWluYm94Q2JGQ04gOiBmYWxzZTtcblxuICAgIHRoaXMucHJvY2Vzc2luZyA9IHRydWU7XG4gICAgY29uc3QgY3JlYXRlVGFza3MgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGlvbi5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLnNlbGVjdGlvbi5sZW5ndGggPT09IDEgPyB0aXRsZUZpZWxkRkNOIDogdGhpcy5jcmVhdGVUaXRsZShpdGVtKTtcbiAgICAgIGNyZWF0ZVRhc2tzLnB1c2godGhpcy5kbXMuY3JlYXRlU3Vic2NyaXB0aW9uKGl0ZW0sIHRpdGxlLCB1bmRlZmluZWQsIHNlbmRFbWFpbCwgb25seUVtYWlsLCBtb2RlRmllbGRGQ04pXG4gICAgICAgIC5waXBlKGNhdGNoRXJyb3IoZSA9PiBvZihudWxsKSkpKTtcbiAgICB9KTtcblxuICAgIGlmIChjcmVhdGVUYXNrcy5sZW5ndGgpIHtcbiAgICAgIGZvcmtKb2luKGNyZWF0ZVRhc2tzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgICB9XG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJvY2Vzc2luZyA9IGZhbHNlO1xuICAgICAgdGhpcy5maW5pc2hlZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVUaXRsZShpdGVtKSB7XG4gICAgcmV0dXJuIGl0ZW0uaXNDb250ZXh0Rm9sZGVyICYmIGl0ZW0uY29udGV4dEZvbGRlciA/IGl0ZW0uY29udGV4dEZvbGRlci50aXRsZSArICcgPiAnICsgaXRlbS50aXRsZSA6IGl0ZW0udGl0bGU7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy5jYW5jZWxlZC5lbWl0KCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImVvLXN1YnNjcmlwdGlvblwiIGVvVHJhcEZvY3VzPlxuICA8aDI+e3toZWFkZXJ9fTwvaDI+XG4gIDxmb3JtICN0aXRsZUZpZWxkIFtmb3JtR3JvdXBdPVwiYWRkU3Vic2NyaXB0aW9uRm9ybVwiPlxuICAgIDxlby1mb3JtLWlucHV0IFtza2lwVG9nZ2xlXT1cInRydWVcIiBbbGFiZWxdPVwidGl0bGVGaWVsZExhYmVsXCIgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgIFtpbnZhbGlkXT1cInRpdGxlVmFsaWRpdHlSZXF1aXJlZCB8fCB0aXRsZVZhbGlkaXR5TWF4TGVuZ3RoXCIgKm5nSWY9XCJzZWxlY3Rpb24ubGVuZ3RoID09PSAxXCI+XG4gICAgICA8ZW8tc3RyaW5nIFttYXhsZW5ndGhdPVwiMjUwXCIgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVGaWVsZEZDTlwiPjwvZW8tc3RyaW5nPlxuICAgIDwvZW8tZm9ybS1pbnB1dD5cbiAgICA8ZGl2IGNsYXNzPVwiZXJyLW1zZ1wiICpuZ0lmPVwidGl0bGVWYWxpZGl0eVJlcXVpcmVkXCI+XG4gICAgICA8ZGl2IHRyYW5zbGF0ZT5lby5mb3JtLnByb3BlcnR5LnJlcXVpcmVkPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIiAqbmdJZj1cInRpdGxlVmFsaWRpdHlNYXhMZW5ndGhcIj5cbiAgICAgIDxkaXYgW3RyYW5zbGF0ZVBhcmFtc109XCJ7bWF4bGVuZ3RoOiAyNTB9XCIgdHJhbnNsYXRlPmVvLmZvcm0ucHJvcGVydHkubWF4bGVuZ3RoPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtsYWJlbF09XCJpbmJveENiTGFiZWxcIj5cbiAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJpbmJveENiRkNOXCI+PC9lby1jaGVja2JveD5cbiAgICA8L2VvLWZvcm0taW5wdXQ+XG4gICAgPGVvLWZvcm0taW5wdXQgW3NraXBUb2dnbGVdPVwidHJ1ZVwiIFtsYWJlbF09XCJlbWFpbENiTGFiZWxcIj5cbiAgICAgIDxlby1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbENiRkNOXCIgW3JlYWRvbmx5XT1cIiFoYXNFbWFpbFwiPjwvZW8tY2hlY2tib3g+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICAgIDxlby1mb3JtLWlucHV0ICpuZ0lmPVwiIXNlbGVjdGlvblswXS5pc0ZvbGRlclwiIFtza2lwVG9nZ2xlXT1cInRydWVcIlxuICAgICAgW2xhYmVsXT1cIidlby5zdWJzY3JpcHRpb24uZmllbGQubW9kZS5sYWJlbCcgfCB0cmFuc2xhdGVcIj5cbiAgICAgIDxlby1jb2Rlc3lzdGVtIGZvcm1Db250cm9sTmFtZT1cIm1vZGVGaWVsZEZDTlwiIFtjb2Rlc3lzdGVtXT1cInN1YnNjcmlwdGlvbk1vZGVDb2Rlc3lzdGVtXCJcbiAgICAgICAgW3BpY2tlclRpdGxlXT1cIidlby5zdWJzY3JpcHRpb24uZmllbGQubW9kZS5sYWJlbCcgfCB0cmFuc2xhdGVcIj48L2VvLWNvZGVzeXN0ZW0+XG4gICAgPC9lby1mb3JtLWlucHV0PlxuICA8L2Zvcm0+XG5cbiAgPCEtLSBlcnJvci92YWxpZGF0aW9uIG1lc3NhZ2VzIC0tPlxuICA8ZGl2IGNsYXNzPVwiZXJyb3JzXCI+XG4gICAgPGRpdiBjbGFzcz1cImVyci1tc2dcIiAqbmdJZj1cImFkZFN1YnNjcmlwdGlvbkZvcm0uZXJyb3JzPy5hZGRTdWJzY3JpcHRpb25Gb3JtXCIgdHJhbnNsYXRlPmVvLnN1YnNjcmlwdGlvbi5lcnJvci5tc2dcbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tYnV0dG9uc1wiICpuZ0lmPVwiIXByb2Nlc3Npbmc7IGVsc2UgaW5kaWNhdG9yXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cInNlY29uZGFyeVwiIChjbGljayk9XCJjYW5jZWwoKVwiIHRyYW5zbGF0ZT5lby5jdGEuYnV0dG9uLmNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImFkZFN1YnNjcmlwdGlvbkZvcm0uZXJyb3JzIHx8IHRpdGxlVmFsaWRpdHlSZXF1aXJlZCB8fCB0aXRsZVZhbGlkaXR5TWF4TGVuZ3RoXCJcbiAgICAgIChjbGljayk9XCJjcmVhdGVTdWJzY3JpcHRpb24oKVwiIHRyYW5zbGF0ZT5lby5zdWJzY3JpcHRpb24uYWRkPC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxuZy10ZW1wbGF0ZSAjaW5kaWNhdG9yPlxuICAgIDxkaXYgY2xhc3M9XCJwcm9jZXNzLWluZGljYXRvclwiPjxlby1pY29uIFtpY29uU3JjXT1cIidhc3NldHMvX2RlZmF1bHQvc3ZnL2ljX2tpdHQtbG9hZGVyLnN2ZydcIj48L2VvLWljb24+PC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|