@bizdoc/core 1.7.0-next.6 → 1.7.0-next.7
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/bundles/bizdoc-core.umd.js +453 -1311
- package/bundles/bizdoc-core.umd.js.map +1 -1
- package/esm2015/lib/app.component.js +7 -13
- package/esm2015/lib/bizdoc.module.js +2 -37
- package/esm2015/lib/core/configuration.js +1 -1
- package/esm2015/lib/core/session.service.js +1 -9
- package/esm2015/lib/cube/accum/accum.component.js +2 -4
- package/esm2015/lib/cube/chart/chart.component.js +1 -1
- package/esm2015/lib/cube/filter/filter-tags.component.exp.js +8 -8
- package/esm2015/lib/cube/filter/filter.component.js +2 -2
- package/esm2015/lib/home/sign/sign.component.js +2 -2
- package/esm2015/lib/impersonate/impersonate.component.js +69 -0
- package/esm2015/lib/shared.module.js +8 -13
- package/esm2015/lib/system.module.js +8 -10
- package/esm2015/lib/views/cube/cube-base.js +4 -6
- package/esm2015/lib/views/cube/matrix.component.js +13 -31
- package/esm2015/lib/views/cube/view.component.js +13 -12
- package/esm2015/lib/views/views.component.js +10 -11
- package/esm2015/public-api.js +2 -6
- package/fesm2015/bizdoc-core.js +239 -1038
- package/fesm2015/bizdoc-core.js.map +1 -1
- package/lib/app.component.d.ts +1 -4
- package/lib/core/configuration.d.ts +1 -17
- package/lib/core/session.service.d.ts +0 -5
- package/lib/cube/accum/accum.component.d.ts +1 -2
- package/lib/cube/filter/filter-tags.component.exp.d.ts +2 -2
- package/lib/{login/impersonate → impersonate}/impersonate.component.d.ts +3 -3
- package/lib/shared.module.d.ts +158 -162
- package/lib/system.module.d.ts +25 -26
- package/lib/views/cube/cube-base.d.ts +12 -9
- package/lib/views/cube/matrix.component.d.ts +0 -13
- package/lib/views/cube/view.component.d.ts +2 -7
- package/lib/views/views.component.d.ts +3 -5
- package/package.json +1 -4
- package/public-api.d.ts +2 -6
- package/esm2015/lib/admin/users/users.component.js +0 -155
- package/esm2015/lib/admin/users/users.service.js +0 -29
- package/esm2015/lib/login/forgot/forgot.component.js +0 -50
- package/esm2015/lib/login/form.authentication.js +0 -71
- package/esm2015/lib/login/form.interceptor.js +0 -26
- package/esm2015/lib/login/impersonate/impersonate.component.js +0 -69
- package/esm2015/lib/login/login.component.js +0 -130
- package/esm2015/lib/login/okta.authentication.js +0 -41
- package/esm2015/lib/login/okta.component.js +0 -84
- package/esm2015/lib/login/okta.interceptor.js +0 -30
- package/esm2015/lib/login/prompt/prompt.component.js +0 -194
- package/esm2015/lib/login/signin-info.service.js +0 -49
- package/lib/admin/users/users.component.d.ts +0 -41
- package/lib/admin/users/users.service.d.ts +0 -30
- package/lib/login/forgot/forgot.component.d.ts +0 -20
- package/lib/login/form.authentication.d.ts +0 -29
- package/lib/login/form.interceptor.d.ts +0 -11
- package/lib/login/login.component.d.ts +0 -18
- package/lib/login/okta.authentication.d.ts +0 -13
- package/lib/login/okta.component.d.ts +0 -18
- package/lib/login/okta.interceptor.d.ts +0 -11
- package/lib/login/prompt/prompt.component.d.ts +0 -45
- package/lib/login/signin-info.service.d.ts +0 -18
@@ -17,7 +17,7 @@ export class FilterTagsComponent {
|
|
17
17
|
ngOnChanges(changes) {
|
18
18
|
const observables = [];
|
19
19
|
this.cube.axes.forEach(a => {
|
20
|
-
const key = this.
|
20
|
+
const key = this.axes[a.name];
|
21
21
|
if (key === undefined)
|
22
22
|
return;
|
23
23
|
if (isArray(key))
|
@@ -42,15 +42,15 @@ export class FilterTagsComponent {
|
|
42
42
|
this.tags = [];
|
43
43
|
}
|
44
44
|
remove(tag) {
|
45
|
-
if (isArray(this.
|
46
|
-
this.
|
45
|
+
if (isArray(this.axes[tag.axis]))
|
46
|
+
this.axes[tag.axis].remove(tag.key);
|
47
47
|
else
|
48
|
-
delete this.
|
49
|
-
this.filtersChange.emit(this.
|
48
|
+
delete this.axes[tag.axis];
|
49
|
+
this.filtersChange.emit(this.axes);
|
50
50
|
}
|
51
51
|
}
|
52
52
|
FilterTagsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: FilterTagsComponent, deps: [{ token: i1.SessionService }, { token: i2.DatasourceService }], target: i0.ɵɵFactoryTarget.Component });
|
53
|
-
FilterTagsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: FilterTagsComponent, selector: "bizdoc-filter-tags", inputs: {
|
53
|
+
FilterTagsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: FilterTagsComponent, selector: "bizdoc-filter-tags", inputs: { axes: "axes", cube: "cube" }, outputs: { filtersChange: "filtersChange" }, usesOnChanges: true, ngImport: i0, template: "<mat-chip-list aria-label=\"\">\r\n <mat-chip *ngFor=\"let t of tags\" class=\"small-chip\"\r\n [removable]=\"true\"\r\n (removed)=\"remove(t)\">\r\n {{t.value}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip>\r\n</mat-chip-list>\r\n", styles: [""], components: [{ type: i3.MatChipList, selector: "mat-chip-list", inputs: ["aria-orientation", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "selectable", "tabIndex", "errorStateMatcher"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i3.MatChipRemove, selector: "[matChipRemove]" }] });
|
54
54
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: FilterTagsComponent, decorators: [{
|
55
55
|
type: Component,
|
56
56
|
args: [{
|
@@ -58,11 +58,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
58
58
|
templateUrl: './filter-tags.component.html',
|
59
59
|
styleUrls: ['./filter-tags.component.scss']
|
60
60
|
}]
|
61
|
-
}], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.DatasourceService }]; }, propDecorators: {
|
61
|
+
}], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.DatasourceService }]; }, propDecorators: { axes: [{
|
62
62
|
type: Input
|
63
63
|
}], cube: [{
|
64
64
|
type: Input
|
65
65
|
}], filtersChange: [{
|
66
66
|
type: Output
|
67
67
|
}] } });
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXRhZ3MuY29tcG9uZW50LmV4cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9maWx0ZXIvZmlsdGVyLXRhZ3MuY29tcG9uZW50LmV4cC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9maWx0ZXIvZmlsdGVyLXRhZ3MuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFFakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBWS9DLHNCQUFzQjtBQU10QixNQUFNLE9BQU8sbUJBQW1CO0lBSzlCLFlBQW9CLFFBQXdCLEVBQVUsR0FBc0I7UUFBeEQsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUZ6RCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFaUIsQ0FBQztJQUNqRixXQUFXLENBQUMsT0FBc0I7UUFDaEMsTUFBTSxXQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDekIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsSUFBSSxHQUFHLEtBQUssU0FBUztnQkFBRSxPQUFPO1lBQzlCLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQztnQkFDZCxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNoQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7d0JBQ3ZFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFTLENBQUE7b0JBQzVDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ0osV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDNUIsQ0FBQyxDQUFDLENBQUM7aUJBQ0E7Z0JBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUN2RSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBUyxDQUFBO2dCQUM1QyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNKLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDM0I7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksV0FBVyxDQUFDLE1BQU07WUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM3RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztZQUNuQixDQUFDLENBQUMsQ0FBQzs7WUFDRSxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQVE7UUFDYixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQWEsQ0FBQyxDQUFDOztZQUU1RCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNyQyxDQUFDOztnSEFwQ1UsbUJBQW1CO29HQUFuQixtQkFBbUIsb0tDckJoQyx1UkFRQTsyRkRhYSxtQkFBbUI7a0JBTC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7aUJBQzVDO3FJQUVVLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ2EsYUFBYTtzQkFBL0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIG1hcCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJy4uLy4uL2NvcmUvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgQXhlc01hcCwgQ3ViZSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcblxyXG50eXBlIFRhZyA9IHtcclxuICAvKiogYXhpcyBuYW1lICovXHJcbiAgYXhpczogc3RyaW5nO1xyXG4gIGtleTogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIC8qKiBmaWx0ZXIga2V5ICovXHJcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlcjtcclxuICAvKiogdHlwZSB2YWx1ZSAqL1xyXG59O1xyXG4vKiogYWNjZXB0cyBmaWx0ZXJzICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWZpbHRlci10YWdzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLXRhZ3MuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci10YWdzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlclRhZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIGF4ZXM6IEF4ZXNNYXA7XHJcbiAgQElucHV0KCkgY3ViZSE6IEN1YmU7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGZpbHRlcnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEF4ZXNNYXA+KCk7XHJcbiAgdGFnczogVGFnW107XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsIHByaXZhdGUgX2RzOiBEYXRhc291cmNlU2VydmljZSkgeyB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3Qgb2JzZXJ2YWJsZXM6IE9ic2VydmFibGU8VGFnPltdID0gW107XHJcbiAgICB0aGlzLmN1YmUuYXhlcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICBjb25zdCBrZXkgPSB0aGlzLmF4ZXNbYS5uYW1lXTtcclxuICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKSByZXR1cm47XHJcbiAgICAgIGlmIChpc0FycmF5KGtleSkpXHJcbiAgICAgICAga2V5LmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgIGNvbnN0IG9ic2VydmUgPSB0aGlzLl9kcy5nZXQoYS5kYXRhVHlwZSwga2V5IGFzIHN0cmluZykucGlwZShtYXAodmFsdWUgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4geyBheGlzOiBhLm5hbWUsIHZhbHVlLCBrZXkgfSBhcyBUYWdcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIG9ic2VydmFibGVzLnB1c2gob2JzZXJ2ZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmUgPSB0aGlzLl9kcy5nZXQoYS5kYXRhVHlwZSwga2V5IGFzIHN0cmluZykucGlwZShtYXAodmFsdWUgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHsgYXhpczogYS5uYW1lLCB2YWx1ZSwga2V5IH0gYXMgVGFnXHJcbiAgICAgICAgfSkpO1xyXG4gICAgICAgIG9ic2VydmFibGVzLnB1c2gob2JzZXJ2ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKG9ic2VydmFibGVzLmxlbmd0aCkgZm9ya0pvaW4ob2JzZXJ2YWJsZXMpLnN1YnNjcmliZSh0YWdzID0+IHtcclxuICAgICAgdGhpcy50YWdzID0gdGFncztcclxuICAgIH0pO1xyXG4gICAgZWxzZSB0aGlzLnRhZ3MgPSBbXTtcclxuICB9XHJcbiAgcmVtb3ZlKHRhZzogVGFnKSB7XHJcbiAgICBpZiAoaXNBcnJheSh0aGlzLmF4ZXNbdGFnLmF4aXNdKSlcclxuICAgICAgKHRoaXMuYXhlc1t0YWcuYXhpc10gYXMgc3RyaW5nW10pLnJlbW92ZSh0YWcua2V5IGFzIHN0cmluZyk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGRlbGV0ZSB0aGlzLmF4ZXNbdGFnLmF4aXNdO1xyXG4gICAgdGhpcy5maWx0ZXJzQ2hhbmdlLmVtaXQodGhpcy5heGVzKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1jaGlwLWxpc3QgYXJpYS1sYWJlbD1cIlwiPlxyXG4gIDxtYXQtY2hpcCAqbmdGb3I9XCJsZXQgdCBvZiB0YWdzXCIgY2xhc3M9XCJzbWFsbC1jaGlwXCJcclxuICAgICAgICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlKHQpXCI+XHJcbiAgICB7e3QudmFsdWV9fVxyXG4gICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cclxuICA8L21hdC1jaGlwPlxyXG48L21hdC1jaGlwLWxpc3Q+XHJcbiJdfQ==
|
@@ -58,7 +58,7 @@ export class CubeFilterComponent {
|
|
58
58
|
this._cube.axes.forEach(a => {
|
59
59
|
if (!a.hidden &&
|
60
60
|
(!this.include || this.include.indexOf(a.name) > -1) &&
|
61
|
-
(!this.exclude || this.exclude.indexOf(a.name) < 0) &&
|
61
|
+
((!this.include && !this.exclude) || this.exclude.indexOf(a.name) < 0) &&
|
62
62
|
a.selectionMode !== 'None') {
|
63
63
|
if (!this.sources[a.dataType] && a.selectionMode !== 'Pattern') {
|
64
64
|
//const type = this._session.profile.types.find(t => t.name === a.dataType);
|
@@ -119,4 +119,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
119
119
|
}], axesChange: [{
|
120
120
|
type: Output
|
121
121
|
}] } });
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBYSxZQUFZLEVBQTBFLE1BQU0sZUFBZSxDQUFDO0FBRWxLLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBVXJELHNCQUFzQjtBQUN0QixNQUFNLE9BQU8sbUJBQW1CO0lBZ0U5QixrQkFBa0I7SUFDbEIsWUFBb0IsR0FBc0IsRUFDaEMsUUFBb0MsRUFDcEMsR0FBc0IsRUFDYixHQUFnQixFQUN6QixRQUF3QjtRQUpkLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ2hDLGFBQVEsR0FBUixRQUFRLENBQTRCO1FBQ3BDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ2IsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQXBFekIsWUFBTyxHQUFHLGtCQUFrQixDQUFDO1FBSTdCLFNBQUksR0FBWSxFQUFFLENBQUM7UUFDVCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUU1RCxnQkFBVyxHQUFlLEVBQUUsQ0FBQztRQUNwQixZQUFPLEdB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QUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOztnSEFuRlUsbUJBQW1CO29HQUFuQixtQkFBbUIsc01DakJoQyw4dERBeUJBOzJGRFJhLG1CQUFtQjtrQkFOL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUseUJBQXlCO29CQUN0QyxTQUFTLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDdkM7d05BSVUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNhLFVBQVU7c0JBQTVCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgT25EZXN0cm95LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBjbGVhbnVwIH0gZnJvbSAnLi4vLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBBeGVzTWFwLCBDdWJlLCBDdWJlQXhpcyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQVhJU19WQUxVRV9QQVRURVJOIH0gZnJvbSAnLi4vY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWN1YmUtZmlsdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG4vKiogZmlsdGVyIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBDdWJlRmlsdGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgcGF0dGVybiA9IEFYSVNfVkFMVUVfUEFUVEVSTjtcclxuICBASW5wdXQoKSBjdWJlPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGV4Y2x1ZGU/OiBzdHJpbmdbXTtcclxuICBASW5wdXQoKSBpbmNsdWRlPzogc3RyaW5nW107XHJcbiAgQElucHV0KCkgYXhlczogQXhlc01hcCA9IHt9O1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBheGVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxBeGVzTWFwPigpO1xyXG4gIGZvcm06IEZvcm1Hcm91cDtcclxuICB2aXNpYmxlQXhlczogQ3ViZUF4aXNbXSA9IFtdO1xyXG4gIHJlYWRvbmx5IHNvdXJjZXM6IHsgW2RhdGF0eXBlOiBzdHJpbmddOiBPYnNlcnZhYmxlPHsgW25hbWU6IHN0cmluZ106IGFueSB9PiB9ID0ge307XHJcbiAgcHJpdmF0ZSBfY3ViZTogQ3ViZTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2N1YmUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IHRoaXMuY3ViZSA9PSBudWxsIHx8IGMubmFtZSA9PT0gdGhpcy5jdWJlKTtcclxuICAgIGNvbnN0IGNvbmZpZyA9IHt9O1xyXG4gICAgdGhpcy5fY3ViZS5heGVzLmZvckVhY2goYSA9PiB7XHJcbiAgICAgIGlmICghYS5oaWRkZW4gJiYgYS5zZWxlY3Rpb25Nb2RlICE9PSAnTm9uZScpXHJcbiAgICAgICAgY29uZmlnW2EubmFtZV0gPSB0aGlzLl9mYi5jb250cm9sKHRoaXMuYXhlc1thLm5hbWVdKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5fZmIuZ3JvdXAoY29uZmlnKTtcclxuICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZShmaWx0ZXIoKCkgPT4gdGhpcy5mb3JtLnZhbGlkKSwgZGVib3VuY2VUaW1lKDIwMCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICBjbGVhbnVwKHYpO1xyXG4gICAgICB0aGlzLmF4ZXMgPSB2O1xyXG4gICAgICB0aGlzLmF4ZXNDaGFuZ2UuZW1pdCh2KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5faW5pdGlhbGl6ZSgpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjaGFuZ2VzWydleGNsdWRlJ10gJiYgIWNoYW5nZXNbJ2V4Y2x1ZGUnXS5maXJzdENoYW5nZSAmJiB0aGlzLl9pbml0aWFsaXplKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RlcGVuZGVjaWVzID0ge30gYXMgeyBbYXhpczogc3RyaW5nXTogc3RyaW5nW10gfTtcclxuICBwcml2YXRlIF9pbml0aWFsaXplKCkge1xyXG4gICAgY29uc3QgdmlzaWJsZUF4ZXMgPSBbXSwgdmFsdWVzID0ge307XHJcbiAgICB0aGlzLl9jdWJlLmF4ZXMuZm9yRWFjaChhID0+IHtcclxuICAgICAgaWYgKCFhLmhpZGRlbiAmJlxyXG4gICAgICAgICghdGhpcy5pbmNsdWRlIHx8IHRoaXMuaW5jbHVkZS5pbmRleE9mKGEubmFtZSkgPiAtMSkgJiZcclxuICAgICAgICAoIXRoaXMuZXhjbHVkZSB8fCB0aGlzLmV4Y2x1ZGUuaW5kZXhPZihhLm5hbWUpIDwgMCkgJiZcclxuICAgICAgICBhLnNlbGVjdGlvbk1vZGUgIT09ICdOb25lJykge1xyXG4gICAgICAgIGlmICghdGhpcy5zb3VyY2VzW2EuZGF0YVR5cGVdICYmIGEuc2VsZWN0aW9uTW9kZSAhPT0gJ1BhdHRlcm4nKSB7XHJcbiAgICAgICAgICAvL2NvbnN0IHR5cGUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUudHlwZXMuZmluZCh0ID0+IHQubmFtZSA9PT0gYS5kYXRhVHlwZSk7XHJcbiAgICAgICAgICAvL2lmICh0eXBlLmFyZ3VtZW50cykge1xyXG4gICAgICAgICAgLy8gIGNvbnN0IGRlcGVuZGVjaWVzID0gdGhpcy5fZGVwZW5kZWNpZXNbYS5uYW1lXSA9IHR5cGUuYXJndW1lbnRzLm1hcChmID0+IGYubmFtZSk7XHJcbiAgICAgICAgICAvLyAgdmFyIGFyZ3MgPSB7fTtcclxuICAgICAgICAgIC8vICBkZXBlbmRlY2llcy5mb3JFYWNoKGQgPT4ge1xyXG4gICAgICAgICAgLy8gICAgaWYgKHRoaXMudmFsdWVzW2RdKSBhcmdzW2RdID0gdGhpcy52YWx1ZXNbZF07XHJcbiAgICAgICAgICAvLyAgfSk7XHJcbiAgICAgICAgICAvLyAgdGhpcy5zb3VyY2VzW2EuZGF0YVR5cGVdID0gdGhpcy5fZHMuYWxsKGEuZGF0YVR5cGUsIGFyZ3MpO1xyXG4gICAgICAgICAgLy99XHJcbiAgICAgICAgICAvL2Vsc2VcclxuICAgICAgICAgICAgdGhpcy5zb3VyY2VzW2EuZGF0YVR5cGVdID0gdGhpcy5fZHMuYWxsKGEuZGF0YVR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2aXNpYmxlQXhlcy5wdXNoKGEpO1xyXG4gICAgICB9XHJcbiAgICAgIHZhbHVlc1thLm5hbWVdID0gdGhpcy5heGVzW2EubmFtZV0gfHwgbnVsbDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy52aXNpYmxlQXhlcyA9IHZpc2libGVBeGVzO1xyXG4gICAgdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHZhbHVlcywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMoKSB7XHJcbiAgICBjb25zdCBpbnAgPSAodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5xdWVyeVNlbGVjdG9yQWxsKCcubWF0LXNlbGVjdCwgdGV4dGFyZWEsIGlucHV0JylbMF07XHJcbiAgICBpbnAgJiYgKGlucCBhcyBIVE1MSW5wdXRFbGVtZW50KS5mb2N1cygpO1xyXG4gICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICAvKiogZmlsdGVyIGN0b3IgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kczogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PixcclxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlKSB7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcbiAgZGlzcGxheShrZXlWYWx1ZSkge1xyXG4gICAgcmV0dXJuIGtleVZhbHVlID8ga2V5VmFsdWUudmFsdWUgOiBudWxsO1xyXG4gIH1cclxuICBjaGFuZ2UoYXhpczogc3RyaW5nLCBldnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpIHtcclxuICAgIHRoaXMuZm9ybS5jb250cm9sc1theGlzXS5zZXRWYWx1ZShldnQub3B0aW9uLnZhbHVlLmtleSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkICpuZ0Zvcj1cImxldCBhIG9mIHZpc2libGVBeGVzXCIgW25nU3dpdGNoXT1cImEuc2VsZWN0aW9uTW9kZVwiIFthdHRyLmRhdGEtaGVscF09XCInYXhpcy0nK2EubmFtZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ1BhdHRlcm4nXCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgW3BhdHRlcm5dPVwicGF0dGVyblwiIFthdXRvZm9jdXNdXHJcbiAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImEubmFtZVwiIFtwbGFjZWhvbGRlcl09XCJhLnRpdGxlXCIgLz5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHNbYS5uYW1lXS5pbnZhbGlkXCI+e3snU2ltcGxlUGF0dGVybkVycicgfHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidTZWFyY2gnXCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIiB0eXBlPVwic2VhcmNoXCJcclxuICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwic2VnbWVudFwiICNpbnBcclxuICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJhLnRpdGxlXCIgLz5cclxuICAgICAgPG1hdC1hdXRvY29tcGxldGUgI3NlZ21lbnQgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiY2hhbmdlKGEubmFtZSwgJGV2ZW50KVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCByIG9mIHNvdXJjZXNbYS5kYXRhVHlwZV0gfCBhc3luYyB8IGZpbHRlciA6ICd2YWx1ZScgOiBpbnAudmFsdWUgfCBzbGljZTowOjUwXCIgW3ZhbHVlXT1cInJcIj57e3IudmFsdWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cImlucC52YWx1ZVwiIG1hdFN1ZmZpeCBhcmlhLWxhYmVsPVwiXCIgKGNsaWNrKT1cImlucC52YWx1ZSA9ICcnOyBmb3JtLmNvbnRyb2xzW2EubmFtZV0uc2V0VmFsdWUobnVsbClcIj48bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9sc1thLm5hbWVdLmludmFsaWRcIj57eydTaW1wbGVQYXR0ZXJuRXJyJyB8dHJhbnNsYXRlfX08L21hdC1lcnJvcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCJhLm5hbWVcIiBbcGxhY2Vob2xkZXJdPVwiYS50aXRsZVwiIFttdWx0aXBsZV09XCJhLnNlbGVjdGlvbk1vZGUgPT09ICdNdWx0aXBsZSdcIiAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImEuc2VsZWN0aW9uTW9kZSAhPT0gJ011bHRpcGxlJ1wiPnt7J0FsbCcgfCB0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHIgb2Ygc291cmNlc1thLmRhdGFUeXBlXSB8IGFzeW5jXCIgW3ZhbHVlXT1cInIua2V5XCI+e3tyLnZhbHVlfX08L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9mb3JtPlxyXG4iXX0=
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY3ViZS9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBYSxZQUFZLEVBQTBFLE1BQU0sZUFBZSxDQUFDO0FBRWxLLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBVXJELHNCQUFzQjtBQUN0QixNQUFNLE9BQU8sbUJBQW1CO0lBZ0U5QixrQkFBa0I7SUFDbEIsWUFBb0IsR0FBc0IsRUFDaEMsUUFBb0MsRUFDcEMsR0FBc0IsRUFDYixHQUFnQixFQUN6QixRQUF3QjtRQUpkLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ2hDLGFBQVEsR0FBUixRQUFRLENBQTRCO1FBQ3BDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ2IsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQXBFekIsWUFBTyxHQUFHLGtCQUFrQixDQUFDO1FBSTdCLFNBQUksR0FBWSxFQUFFLENBQUM7UUFDVCxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUU1RCxnQkFBVyxHQUFlLEVBQUUsQ0FBQztRQUNwQixZQUFPLEdB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QyxDQUFDO0lBQzFELENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2dIQW5GVSxtQkFBbUI7b0dBQW5CLG1CQUFtQixzTUNqQmhDLDh0REF5QkE7MkZEUmEsbUJBQW1CO2tCQU4vQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSx5QkFBeUI7b0JBQ3RDLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUN2Qzt3TkFJVSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ2EsVUFBVTtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBPbkRlc3Ryb3ksIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgRWxlbWVudFJlZiwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGNsZWFudXAgfSBmcm9tICcuLi8uLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIEN1YmUsIEN1YmVBeGlzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBBWElTX1ZBTFVFX1BBVFRFUk4gfSBmcm9tICcuLi9jdWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY3ViZS1maWx0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbi8qKiBmaWx0ZXIgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIEN1YmVGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICByZWFkb25seSBwYXR0ZXJuID0gQVhJU19WQUxVRV9QQVRURVJOO1xyXG4gIEBJbnB1dCgpIGN1YmU/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZXhjbHVkZT86IHN0cmluZ1tdO1xyXG4gIEBJbnB1dCgpIGluY2x1ZGU/OiBzdHJpbmdbXTtcclxuICBASW5wdXQoKSBheGVzOiBBeGVzTWFwID0ge307XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGF4ZXNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEF4ZXNNYXA+KCk7XHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG4gIHZpc2libGVBeGVzOiBDdWJlQXhpc1tdID0gW107XHJcbiAgcmVhZG9ubHkgc291cmNlczogeyBbZGF0YXR5cGU6IHN0cmluZ106IE9ic2VydmFibGU8eyBbbmFtZTogc3RyaW5nXTogYW55IH0+IH0gPSB7fTtcclxuICBwcml2YXRlIF9jdWJlOiBDdWJlO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY3ViZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gdGhpcy5jdWJlID09IG51bGwgfHwgYy5uYW1lID09PSB0aGlzLmN1YmUpO1xyXG4gICAgY29uc3QgY29uZmlnID0ge307XHJcbiAgICB0aGlzLl9jdWJlLmF4ZXMuZm9yRWFjaChhID0+IHtcclxuICAgICAgaWYgKCFhLmhpZGRlbiAmJiBhLnNlbGVjdGlvbk1vZGUgIT09ICdOb25lJylcclxuICAgICAgICBjb25maWdbYS5uYW1lXSA9IHRoaXMuX2ZiLmNvbnRyb2wodGhpcy5heGVzW2EubmFtZV0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLl9mYi5ncm91cChjb25maWcpO1xyXG4gICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKGZpbHRlcigoKSA9PiB0aGlzLmZvcm0udmFsaWQpLCBkZWJvdW5jZVRpbWUoMjAwKSwgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAgIGNsZWFudXAodik7XHJcbiAgICAgIHRoaXMuYXhlcyA9IHY7XHJcbiAgICAgIHRoaXMuYXhlc0NoYW5nZS5lbWl0KHYpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9pbml0aWFsaXplKCk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNoYW5nZXNbJ2V4Y2x1ZGUnXSAmJiAhY2hhbmdlc1snZXhjbHVkZSddLmZpcnN0Q2hhbmdlICYmIHRoaXMuX2luaXRpYWxpemUoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGVwZW5kZWNpZXMgPSB7fSBhcyB7IFtheGlzOiBzdHJpbmddOiBzdHJpbmdbXSB9O1xyXG4gIHByaXZhdGUgX2luaXRpYWxpemUoKSB7XHJcbiAgICBjb25zdCB2aXNpYmxlQXhlcyA9IFtdLCB2YWx1ZXMgPSB7fTtcclxuICAgIHRoaXMuX2N1YmUuYXhlcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICBpZiAoIWEuaGlkZGVuICYmXHJcbiAgICAgICAgKCF0aGlzLmluY2x1ZGUgfHwgdGhpcy5pbmNsdWRlLmluZGV4T2YoYS5uYW1lKSA+IC0xKSAmJlxyXG4gICAgICAgICgoIXRoaXMuaW5jbHVkZSAmJiAhdGhpcy5leGNsdWRlKSB8fCB0aGlzLmV4Y2x1ZGUuaW5kZXhPZihhLm5hbWUpIDwgMCkgJiZcclxuICAgICAgICBhLnNlbGVjdGlvbk1vZGUgIT09ICdOb25lJykge1xyXG4gICAgICAgIGlmICghdGhpcy5zb3VyY2VzW2EuZGF0YVR5cGVdICYmIGEuc2VsZWN0aW9uTW9kZSAhPT0gJ1BhdHRlcm4nKSB7XHJcbiAgICAgICAgICAvL2NvbnN0IHR5cGUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUudHlwZXMuZmluZCh0ID0+IHQubmFtZSA9PT0gYS5kYXRhVHlwZSk7XHJcbiAgICAgICAgICAvL2lmICh0eXBlLmFyZ3VtZW50cykge1xyXG4gICAgICAgICAgLy8gIGNvbnN0IGRlcGVuZGVjaWVzID0gdGhpcy5fZGVwZW5kZWNpZXNbYS5uYW1lXSA9IHR5cGUuYXJndW1lbnRzLm1hcChmID0+IGYubmFtZSk7XHJcbiAgICAgICAgICAvLyAgdmFyIGFyZ3MgPSB7fTtcclxuICAgICAgICAgIC8vICBkZXBlbmRlY2llcy5mb3JFYWNoKGQgPT4ge1xyXG4gICAgICAgICAgLy8gICAgaWYgKHRoaXMudmFsdWVzW2RdKSBhcmdzW2RdID0gdGhpcy52YWx1ZXNbZF07XHJcbiAgICAgICAgICAvLyAgfSk7XHJcbiAgICAgICAgICAvLyAgdGhpcy5zb3VyY2VzW2EuZGF0YVR5cGVdID0gdGhpcy5fZHMuYWxsKGEuZGF0YVR5cGUsIGFyZ3MpO1xyXG4gICAgICAgICAgLy99XHJcbiAgICAgICAgICAvL2Vsc2VcclxuICAgICAgICAgICAgdGhpcy5zb3VyY2VzW2EuZGF0YVR5cGVdID0gdGhpcy5fZHMuYWxsKGEuZGF0YVR5cGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB2aXNpYmxlQXhlcy5wdXNoKGEpO1xyXG4gICAgICB9XHJcbiAgICAgIHZhbHVlc1thLm5hbWVdID0gdGhpcy5heGVzW2EubmFtZV0gfHwgbnVsbDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy52aXNpYmxlQXhlcyA9IHZpc2libGVBeGVzO1xyXG4gICAgdGhpcy5mb3JtICYmIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHZhbHVlcywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMoKSB7XHJcbiAgICBjb25zdCBpbnAgPSAodGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5xdWVyeVNlbGVjdG9yQWxsKCcubWF0LXNlbGVjdCwgdGV4dGFyZWEsIGlucHV0JylbMF07XHJcbiAgICBpbnAgJiYgKGlucCBhcyBIVE1MSW5wdXRFbGVtZW50KS5mb2N1cygpO1xyXG4gICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuICAvKiogZmlsdGVyIGN0b3IgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kczogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PixcclxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlKSB7XHJcbiAgfVxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcbiAgZGlzcGxheShrZXlWYWx1ZSkge1xyXG4gICAgcmV0dXJuIGtleVZhbHVlID8ga2V5VmFsdWUudmFsdWUgOiBudWxsO1xyXG4gIH1cclxuICBjaGFuZ2UoYXhpczogc3RyaW5nLCBldnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpIHtcclxuICAgIHRoaXMuZm9ybS5jb250cm9sc1theGlzXS5zZXRWYWx1ZShldnQub3B0aW9uLnZhbHVlLmtleSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkICpuZ0Zvcj1cImxldCBhIG9mIHZpc2libGVBeGVzXCIgW25nU3dpdGNoXT1cImEuc2VsZWN0aW9uTW9kZVwiIFthdHRyLmRhdGEtaGVscF09XCInYXhpcy0nK2EubmFtZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ1BhdHRlcm4nXCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIlxyXG4gICAgICAgICAgICAgW3BhdHRlcm5dPVwicGF0dGVyblwiIFthdXRvZm9jdXNdXHJcbiAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImEubmFtZVwiIFtwbGFjZWhvbGRlcl09XCJhLnRpdGxlXCIgLz5cclxuICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uY29udHJvbHNbYS5uYW1lXS5pbnZhbGlkXCI+e3snU2ltcGxlUGF0dGVybkVycicgfHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidTZWFyY2gnXCI+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBhdXRvY29tcGxldGU9XCJvZmZcIiB0eXBlPVwic2VhcmNoXCJcclxuICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwic2VnbWVudFwiICNpbnBcclxuICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJhLnRpdGxlXCIgLz5cclxuICAgICAgPG1hdC1hdXRvY29tcGxldGUgI3NlZ21lbnQgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiY2hhbmdlKGEubmFtZSwgJGV2ZW50KVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCByIG9mIHNvdXJjZXNbYS5kYXRhVHlwZV0gfCBhc3luYyB8IGZpbHRlciA6ICd2YWx1ZScgOiBpbnAudmFsdWUgfCBzbGljZTowOjUwXCIgW3ZhbHVlXT1cInJcIj57e3IudmFsdWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAqbmdJZj1cImlucC52YWx1ZVwiIG1hdFN1ZmZpeCBhcmlhLWxhYmVsPVwiXCIgKGNsaWNrKT1cImlucC52YWx1ZSA9ICcnOyBmb3JtLmNvbnRyb2xzW2EubmFtZV0uc2V0VmFsdWUobnVsbClcIj48bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5jb250cm9sc1thLm5hbWVdLmludmFsaWRcIj57eydTaW1wbGVQYXR0ZXJuRXJyJyB8dHJhbnNsYXRlfX08L21hdC1lcnJvcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG1hdC1zZWxlY3QgW2Zvcm1Db250cm9sTmFtZV09XCJhLm5hbWVcIiBbcGxhY2Vob2xkZXJdPVwiYS50aXRsZVwiIFttdWx0aXBsZV09XCJhLnNlbGVjdGlvbk1vZGUgPT09ICdNdWx0aXBsZSdcIiAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImEuc2VsZWN0aW9uTW9kZSAhPT0gJ011bHRpcGxlJ1wiPnt7J0FsbCcgfCB0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHIgb2Ygc291cmNlc1thLmRhdGFUeXBlXSB8IGFzeW5jXCIgW3ZhbHVlXT1cInIua2V5XCI+e3tyLnZhbHVlfX08L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9mb3JtPlxyXG4iXX0=
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Component } from '@angular/core';
|
2
|
-
import { ImpersonateDialog } from '../../
|
2
|
+
import { ImpersonateDialog } from '../../impersonate/impersonate.component';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
import * as i1 from "../../core/prompt.service";
|
5
5
|
import * as i2 from "../../core/authentication";
|
@@ -53,4 +53,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImpor
|
|
53
53
|
templateUrl: './sign.component.html',
|
54
54
|
}]
|
55
55
|
}], ctorParameters: function () { return [{ type: i1.PromptService }, { type: i2.AuthenticationImpl }, { type: i3.MatDialog }, { type: i4.PopupRef }]; } });
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2hvbWUvc2lnbi9zaWduLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9zaWduL3NpZ24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFRNUUsb0JBQW9CO0FBQ3BCLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsbUJBQW1CO0lBQ25CLFlBQW9CLEdBQWtCLEVBQzVCLEtBQXlCLEVBQ3pCLE9BQWtCLEVBQ2xCLFNBQXVDO1FBSDdCLFFBQUcsR0FBSCxHQUFHLENBQWU7UUFDNUIsVUFBSyxHQUFMLEtBQUssQ0FBb0I7UUFDekIsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQUNsQixjQUFTLEdBQVQsU0FBUyxDQUE4QjtJQUNqRCxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pCLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ2hGLElBQUksRUFBRSxFQUFFO2dCQUNOLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPO29CQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO3dCQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7O29CQUNSLElBQUksRUFBRSxDQUFDO2FBQ2I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzdGLElBQUksRUFBRSxFQUFFO2dCQUNOLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUM1QixRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzsrR0E3QlUsa0JBQWtCO21HQUFsQixrQkFBa0Isb0RDWC9CLHdnQkFlQTsyRkRKYSxrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsV0FBVyxFQUFFLHVCQUF1QjtpQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgSW1wZXJzb25hdGVEaWFsb2cgfSBmcm9tICcuLi8uLi9pbXBlcnNvbmF0ZS9pbXBlcnNvbmF0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFBvcHVwUmVmIH0gZnJvbSBcIi4uLy4uL2NvcmUvcG9wdXAvcG9wdXAtcmVmXCI7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uSW1wbCB9IGZyb20gJy4uLy4uL2NvcmUvYXV0aGVudGljYXRpb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZ24uY29tcG9uZW50Lmh0bWwnLFxyXG59KVxyXG4vKiogc2lnbiBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgUXVpY2tTaWduQ29tcG9uZW50IHtcclxuICAvKiogb3B0aW9ucyBjdG9yICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcHM6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9hdXRoOiBBdXRoZW50aWNhdGlvbkltcGwsXHJcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgX3BvcHVwUmVmOiBQb3B1cFJlZjxRdWlja1NpZ25Db21wb25lbnQ+KSB7XHJcbiAgfVxyXG4gIHNpZ25PdXQoKSB7XHJcbiAgICB0aGlzLl9wb3B1cFJlZi5jbG9zZSgpO1xyXG4gICAgY29uc3QgdGFzayA9ICgpID0+IHtcclxuICAgICAgdGhpcy5fcHMubWFzaygnR29vZGJ5ZScpO1xyXG4gICAgICBsb2NhdGlvbi5hc3NpZ24oJy8nKTtcclxuICAgIH07XHJcbiAgICB0aGlzLl9wcy5hc2soJ1NpZ25PdXRBc2snLCAnU2lnbk91dCcsIHsgb2s6ICdZZXMnLCBjYW5jZWw6ICdObycgfSkuc3Vic2NyaWJlKG9rID0+IHtcclxuICAgICAgaWYgKG9rKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2F1dGguc2lnbk91dCkgdGhpcy5fYXV0aC5zaWduT3V0KCkuXHJcbiAgICAgICAgICB0aGVuKHRhc2spO1xyXG4gICAgICAgIGVsc2UgdGFzaygpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgaW1wZXJzb25hdGUoKSB7XHJcbiAgICB0aGlzLl9wb3B1cFJlZi5jbG9zZSgpO1xyXG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oSW1wZXJzb25hdGVEaWFsb2csIHsgY2xvc2VPbk5hdmlnYXRpb246IHRydWUgfSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUob2sgPT4ge1xyXG4gICAgICBpZiAob2spIHtcclxuICAgICAgICB0aGlzLl9wcy5tYXNrKCdSZWZyZXNoaW5nJyk7XHJcbiAgICAgICAgbG9jYXRpb24ucmVwbGFjZSgnLycpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1uYXYtbGlzdCByb2xlPVwibGlzdFwiPlxyXG4gIDxtYXQtbGlzdC1pdGVtIHJvbGU9XCJsaXN0aXRlbVwiIChjbGljayk9XCJpbXBlcnNvbmF0ZSgpXCI+XHJcbiAgICA8bWF0LWljb24gbWF0TGlzdEljb24+XHJcbiAgICAgICAgYWRtaW5fcGFuZWxfc2V0dGluZ3NcclxuICAgIDwvbWF0LWljb24+XHJcbiAgICA8aDQgbWF0TGluZT57eydJbXBlcnNvbmF0ZScgfCB0cmFuc2xhdGV9fTwvaDQ+XHJcbiAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gIDxtYXQtbGlzdC1pdGVtIHJvbGU9XCJsaXN0aXRlbVwiIChjbGljayk9XCJzaWduT3V0KClcIj5cclxuICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbj5cclxuICAgICAgICBwb3dlcl9zZXR0aW5nc19uZXdcclxuICAgIDwvbWF0LWljb24+XHJcbiAgICA8aDQgbWF0TGluZT57eydTaWduT3V0JyB8IHRyYW5zbGF0ZX19PC9oND5cclxuICA8L21hdC1saXN0LWl0ZW0+XHJcbjwvbWF0LW5hdi1saXN0PlxyXG4iXX0=
|
@@ -0,0 +1,69 @@
|
|
1
|
+
import { Component } from '@angular/core';
|
2
|
+
import { FormControl, Validators } from '@angular/forms';
|
3
|
+
import { ENTER } from '@angular/cdk/keycodes';
|
4
|
+
import { of, Subject } from 'rxjs';
|
5
|
+
import { debounceTime, filter, map, switchMap, takeUntil } from 'rxjs/operators';
|
6
|
+
import { isString } from '../core/functions';
|
7
|
+
import * as i0 from "@angular/core";
|
8
|
+
import * as i1 from "../core/prompt.service";
|
9
|
+
import * as i2 from "../core/session.service";
|
10
|
+
import * as i3 from "@angular/material/dialog";
|
11
|
+
import * as i4 from "@angular/material/form-field";
|
12
|
+
import * as i5 from "@angular/material/autocomplete";
|
13
|
+
import * as i6 from "@angular/material/core";
|
14
|
+
import * as i7 from "@angular/material/button";
|
15
|
+
import * as i8 from "@angular/material/input";
|
16
|
+
import * as i9 from "@angular/forms";
|
17
|
+
import * as i10 from "@angular/common";
|
18
|
+
import * as i11 from "../core/pipes/translate.pipe";
|
19
|
+
/** impersonate component*/
|
20
|
+
export class ImpersonateDialog {
|
21
|
+
/** impersonate ctor */
|
22
|
+
constructor(_sb, _session, _dialogRef) {
|
23
|
+
this._sb = _sb;
|
24
|
+
this._session = _session;
|
25
|
+
this._dialogRef = _dialogRef;
|
26
|
+
this.username = new FormControl(null, Validators.required);
|
27
|
+
this._destroy = new Subject();
|
28
|
+
this._me = this._session.userId;
|
29
|
+
this.users$ = this.username.valueChanges.pipe(debounceTime(250), takeUntil(this._destroy), switchMap(v => isString(v) ? this._session.mayImpersonate(v).pipe(map(us => {
|
30
|
+
const name = v.toLowerCase();
|
31
|
+
return us.
|
32
|
+
filter(u => u.name.toLowerCase().indexOf(name) > -1 && u.id !== this._me);
|
33
|
+
})) : of([])));
|
34
|
+
this.logging = false;
|
35
|
+
_dialogRef.keydownEvents().pipe(takeUntil(this._destroy), filter(k => k.keyCode === ENTER)).
|
36
|
+
subscribe(() => this.item && this.go());
|
37
|
+
}
|
38
|
+
go() {
|
39
|
+
this.logging = true;
|
40
|
+
this._session.impersonate(this.item.id).subscribe(() => {
|
41
|
+
this.logging = false;
|
42
|
+
this._dialogRef.close(true);
|
43
|
+
}, () => {
|
44
|
+
this.logging = false;
|
45
|
+
this._sb.error();
|
46
|
+
});
|
47
|
+
}
|
48
|
+
display(item) {
|
49
|
+
return item ? item.name : null;
|
50
|
+
}
|
51
|
+
change(evt) {
|
52
|
+
this.item = evt.option.value;
|
53
|
+
}
|
54
|
+
ngOnDestroy() {
|
55
|
+
this._destroy.next();
|
56
|
+
this._destroy.complete();
|
57
|
+
}
|
58
|
+
}
|
59
|
+
ImpersonateDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: ImpersonateDialog, deps: [{ token: i1.PromptService }, { token: i2.SessionService }, { token: i3.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
60
|
+
ImpersonateDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.7", type: ImpersonateDialog, selector: "bizdoc-impersonate", ngImport: i0, template: "<h2 mat-dialog-title>{{'Impersonate' | translate}}</h2>\r\n<mat-dialog-content>\r\n <p class=\"mat-body-1\">{{'ImpersonateHelp' | translate}}</p>\r\n <mat-form-field>\r\n <input matInput type=\"search\" [matAutocomplete]=\"auto\" [placeholder]=\"'Associate' | translate\" required [formControl]=\"username\" />\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"display\"\r\n (optionSelected)=\"change($event)\">\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n </mat-form-field>\r\n</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-raised-button (click)=\"go()\" [disabled]=\"!item || logging\" color=\"primary\">{{'Login' | translate}}</button>\r\n <button mat-button [mat-dialog-close]>{{'Cancel' | translate }}</button>\r\n</mat-dialog-actions>\r\n", styles: [".mat-form-field{width:100%}\n"], components: [{ type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i9.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }], pipes: { "translate": i11.TranslatePipe, "async": i10.AsyncPipe } });
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.7", ngImport: i0, type: ImpersonateDialog, decorators: [{
|
62
|
+
type: Component,
|
63
|
+
args: [{
|
64
|
+
selector: 'bizdoc-impersonate',
|
65
|
+
templateUrl: './impersonate.component.html',
|
66
|
+
styleUrls: ['./impersonate.component.scss']
|
67
|
+
}]
|
68
|
+
}], ctorParameters: function () { return [{ type: i1.PromptService }, { type: i2.SessionService }, { type: i3.MatDialogRef }]; } });
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wZXJzb25hdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9pbXBlcnNvbmF0ZS9pbXBlcnNvbmF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2ltcGVyc29uYXRlL2ltcGVyc29uYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFlLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUk5RixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFPN0MsMkJBQTJCO0FBQzNCLE1BQU0sT0FBTyxpQkFBaUI7SUFlNUIsdUJBQXVCO0lBQ3ZCLFlBQW9CLEdBQWtCLEVBQVUsUUFBd0IsRUFBVSxVQUEyQztRQUF6RyxRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFpQztRQWZwSCxhQUFRLEdBQUcsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUvQixRQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFFbkMsV0FBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDM0csUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ2hELEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNQLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QixPQUFPLEVBQUU7Z0JBQ1AsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBSWQsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDekYsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUNiLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELEVBQUU7UUFDQSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsQ0FBQyxFQUFFLEdBQUcsRUFBRTtZQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQWM7UUFDcEIsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQWlDO1FBQ3RDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFpQixDQUFDO0lBQzNDLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OzhHQXhDVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiwwRENsQjlCLDI1QkFpQkE7MkZEQ2EsaUJBQWlCO2tCQU43QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSw4QkFBOEI7b0JBQzNDLFNBQVMsRUFBRSxDQUFDLDhCQUE4QixDQUFDO2lCQUM1QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgRU5URVIgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgeyBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFVzZXJJbmZvIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJy4uL2NvcmUvZnVuY3Rpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWltcGVyc29uYXRlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW1wZXJzb25hdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ltcGVyc29uYXRlLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuLyoqIGltcGVyc29uYXRlIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBJbXBlcnNvbmF0ZURpYWxvZyBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgdXNlcm5hbWUgPSBuZXcgRm9ybUNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lID0gdGhpcy5fc2Vzc2lvbi51c2VySWQ7XHJcblxyXG4gIHJlYWRvbmx5IHVzZXJzJCA9IHRoaXMudXNlcm5hbWUudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDI1MCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSwgc3dpdGNoTWFwKHYgPT5cclxuICAgIGlzU3RyaW5nKHYpID8gdGhpcy5fc2Vzc2lvbi5tYXlJbXBlcnNvbmF0ZSh2KS5waXBlKFxyXG4gICAgICBtYXAodXMgPT4ge1xyXG4gICAgICAgIGNvbnN0IG5hbWUgPSB2LnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgcmV0dXJuIHVzLlxyXG4gICAgICAgICAgZmlsdGVyKHUgPT4gdS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihuYW1lKSA+IC0xICYmIHUuaWQgIT09IHRoaXMuX21lKTtcclxuICAgICAgfSkpIDogb2YoW10pKSk7XHJcbiAgbG9nZ2luZyA9IGZhbHNlO1xyXG4gIGl0ZW0/OiBVc2VySW5mbztcclxuICAvKiogaW1wZXJzb25hdGUgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLCBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSwgcHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8SW1wZXJzb25hdGVEaWFsb2c+KSB7XHJcbiAgICBfZGlhbG9nUmVmLmtleWRvd25FdmVudHMoKS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSwgZmlsdGVyKGsgPT4gay5rZXlDb2RlID09PSBFTlRFUikpLlxyXG4gICAgICBzdWJzY3JpYmUoKCkgPT5cclxuICAgICAgICB0aGlzLml0ZW0gJiYgdGhpcy5nbygpKTtcclxuICB9XHJcbiAgZ28oKSB7XHJcbiAgICB0aGlzLmxvZ2dpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fc2Vzc2lvbi5pbXBlcnNvbmF0ZSh0aGlzLml0ZW0uaWQpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMubG9nZ2luZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLl9kaWFsb2dSZWYuY2xvc2UodHJ1ZSk7XHJcbiAgICB9LCAoKSA9PiB7XHJcbiAgICAgIHRoaXMubG9nZ2luZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLl9zYi5lcnJvcigpXHJcbiAgICB9KTtcclxuICB9XHJcbiAgZGlzcGxheShpdGVtOiBVc2VySW5mbykge1xyXG4gICAgcmV0dXJuIGl0ZW0gPyBpdGVtLm5hbWUgOiBudWxsO1xyXG4gIH1cclxuICBjaGFuZ2UoZXZ0OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KSB7XHJcbiAgICB0aGlzLml0ZW0gPSBldnQub3B0aW9uLnZhbHVlIGFzIFVzZXJJbmZvO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8aDIgbWF0LWRpYWxvZy10aXRsZT57eydJbXBlcnNvbmF0ZScgfCB0cmFuc2xhdGV9fTwvaDI+XHJcbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgPHAgY2xhc3M9XCJtYXQtYm9keS0xXCI+e3snSW1wZXJzb25hdGVIZWxwJyB8IHRyYW5zbGF0ZX19PC9wPlxyXG4gIDxtYXQtZm9ybS1maWVsZD5cclxuICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwic2VhcmNoXCIgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCIgW3BsYWNlaG9sZGVyXT1cIidBc3NvY2lhdGUnIHwgdHJhbnNsYXRlXCIgcmVxdWlyZWQgW2Zvcm1Db250cm9sXT1cInVzZXJuYW1lXCIgIC8+XHJcbiAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJjaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdSBvZiB1c2VycyQgfCBhc3luY1wiIFt2YWx1ZV09XCJ1XCI+XHJcbiAgICAgICAgPHNwYW4+e3t1Lm5hbWV9fTwvc3Bhbj5cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG48bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cImdvKClcIiBbZGlzYWJsZWRdPVwiIWl0ZW0gfHwgbG9nZ2luZ1wiIGNvbG9yPVwicHJpbWFyeVwiPnt7J0xvZ2luJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT57eydDYW5jZWwnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4iXX0=
|