imm-element-ui 0.5.5 → 0.5.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/esm2022/lib/form/form/form.component.mjs +2 -2
- package/esm2022/lib/form/form-field/form-field.mjs +9 -3
- package/esm2022/lib/form/form-type/image.type.mjs +3 -3
- package/esm2022/lib/grid/cell-render/chip-render.mjs +62 -0
- package/esm2022/lib/grid/mock-data.mjs +3 -1
- package/esm2022/lib/import/import.component.mjs +2 -2
- package/esm2022/lib/service/action.service.mjs +15 -4
- package/fesm2022/imm-element-ui.mjs +85 -9
- package/fesm2022/imm-element-ui.mjs.map +1 -1
- package/lib/crumb-action/crumb-action.component.d.ts +1 -1
- package/lib/grid/cell-render/chip-render.d.ts +8 -0
- package/lib/grid/grid/grid.component.d.ts +2 -1
- package/lib/grid/mock-data.d.ts +2 -0
- package/lib/service/action.service.d.ts +3 -1
- package/package.json +1 -1
|
@@ -6,7 +6,6 @@ export class ActionService {
|
|
|
6
6
|
this.pageAction = pageAction;
|
|
7
7
|
this.popAction = popAction;
|
|
8
8
|
this.popMode = false;
|
|
9
|
-
this.page = signal(undefined);
|
|
10
9
|
this.fieldLabelAction = signal(undefined);
|
|
11
10
|
this.fieldAction = signal(undefined);
|
|
12
11
|
this.action = signal(undefined);
|
|
@@ -108,10 +107,15 @@ export class ActionService {
|
|
|
108
107
|
return this.pageAction.getSortItem();
|
|
109
108
|
}
|
|
110
109
|
setPage(page) {
|
|
111
|
-
this.
|
|
110
|
+
if (!this.popMode) {
|
|
111
|
+
this.pageAction.setPage(page);
|
|
112
|
+
}
|
|
112
113
|
}
|
|
113
114
|
getPage() {
|
|
114
|
-
|
|
115
|
+
if (!this.popMode) {
|
|
116
|
+
return this.pageAction.getPage();
|
|
117
|
+
}
|
|
118
|
+
return undefined;
|
|
115
119
|
}
|
|
116
120
|
setFieldLabelAction(key, type) {
|
|
117
121
|
this.fieldLabelAction.set({ key, type });
|
|
@@ -148,6 +152,7 @@ export class PageActionService {
|
|
|
148
152
|
this.searchItem = signal(undefined);
|
|
149
153
|
this.searchClear = signal(undefined);
|
|
150
154
|
this.sortItem = signal(undefined);
|
|
155
|
+
this.page = signal(undefined);
|
|
151
156
|
}
|
|
152
157
|
setModelName(modelNameForSearch) {
|
|
153
158
|
if (modelNameForSearch == undefined) {
|
|
@@ -218,6 +223,12 @@ export class PageActionService {
|
|
|
218
223
|
getSortItem() {
|
|
219
224
|
return this.sortItem();
|
|
220
225
|
}
|
|
226
|
+
setPage(page) {
|
|
227
|
+
this.page.set(page);
|
|
228
|
+
}
|
|
229
|
+
getPage() {
|
|
230
|
+
return this.page();
|
|
231
|
+
}
|
|
221
232
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageActionService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
222
233
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageActionService, providedIn: 'root' }); }
|
|
223
234
|
}
|
|
@@ -307,4 +318,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
307
318
|
providedIn: 'root',
|
|
308
319
|
}]
|
|
309
320
|
}], ctorParameters: () => [] });
|
|
310
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUE4QjlELE1BQU0sT0FBTyxhQUFhO0lBUXpCLFlBQ1MsVUFBNkIsRUFDN0IsU0FBMkI7UUFEM0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFUcEMsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixTQUFJLEdBQUcsTUFBTSxDQUFtQixTQUFTLENBQUMsQ0FBQztRQUMzQyxxQkFBZ0IsR0FBRyxNQUFNLENBQStCLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLGdCQUFXLEdBQUcsTUFBTSxDQUF3QixTQUFTLENBQUMsQ0FBQztRQUN2RCxXQUFNLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUMvQyxlQUFVLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBS2pDLENBQUM7SUFDSixVQUFVLENBQUMsSUFBYTtRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBQ0QsS0FBSztRQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lB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QUMsUUFBOEI7UUFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELFdBQVc7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QixDQUFDOytHQXJFVyxnQkFBZ0I7bUhBQWhCLGdCQUFnQixjQUZoQixNQUFNOzs0RkFFTixnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1gsVUFBVSxFQUFFLE1BQU07aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsLCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2VhcmNoSXRlbSB9IGZyb20gJy4uL3NlYXJjaC9zZWFyY2gvc2VhcmNoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaCB9IGZyb20gJy4uL2FtL2FtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gJy4uL2Zvcm0vZm9ybS1maWVsZC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUGFnZSB9IGZyb20gJy4uL2dyaWQvcGFnZXIvcGFnZXIuY29tcG9uZW50JztcclxuZXhwb3J0IGludGVyZmFjZSBBY3Rpb24ge1xyXG5cdHR5cGU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hSb3cge1xyXG5cdGtleT86IHN0cmluZztcclxuXHRtb2RlbE5hbWU/OiBzdHJpbmc7XHJcblx0c2VhcmNoPzogU2VhcmNoO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRJdGVtIHtcclxuXHRpc0FzYz86IGJvb2xlYW47XHJcblx0ZmllbGRzPzogc3RyaW5nW107XHJcblx0bGFiZWxzPzogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRMYWJlbEFjdGlvbiB7XHJcblx0a2V5Pzogc3RyaW5nO1xyXG5cdHR5cGU/OiAnbW91c2VlbnRlcicgfCAnbW91c2VsZWF2ZScgfCAnY2xpY2snIHwgJ2RibGNsaWNrJztcclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGlvblNlcnZpY2Uge1xyXG5cdHBvcE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRwYWdlID0gc2lnbmFsPFBhZ2UgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcblx0ZmllbGRMYWJlbEFjdGlvbiA9IHNpZ25hbDxGaWVsZExhYmVsQWN0aW9uIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG5cdGZpZWxkQWN0aW9uID0gc2lnbmFsPEZvcm1GaWVsZCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuXHRhY3Rpb24gPSBzaWduYWw8QWN0aW9uIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG5cdHNhdmVTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcGFnZUFjdGlvbjogUGFnZUFjdGlvblNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHBvcEFjdGlvbjogUG9wQWN0aW9uU2VydmljZSxcclxuXHQpIHt9XHJcblx0c2V0UG9wTW9kZShtb2RlOiBib29sZWFuKSB7XHJcblx0XHR0aGlzLnBvcE1vZGUgPSBtb2RlO1xyXG5cdH1cclxuXHRjbGVhcigpIHtcclxuXHRcdGlmICh0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0dGhpcy5wb3BBY3Rpb24uc2V0U2VhcmNoSXRlbSh1bmRlZmluZWQpO1xyXG5cdFx0XHR0aGlzLnBvcEFjdGlvbi5zZXRTZWFyY2hDbGVhcih1bmRlZmluZWQpO1xyXG5cdFx0XHR0aGlzLnBvcEFjdGlvbi5zZXRTb3J0SXRlbSh1bmRlZmluZWQpO1xyXG5cdFx0XHR0aGlzLnBvcEFjdGlvbi5zZXRNb2RlbE5hbWUodW5kZWZpbmVkKTtcclxuXHRcdFx0dGhpcy5wb3BBY3Rpb24uY2xlYXJTZWFyY2godW5kZWZpbmVkKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wYWdlQWN0aW9uLnNldFNlYXJjaEl0ZW0odW5kZWZpbmVkKTtcclxuXHRcdHRoaXMucGFnZUFjdGlvbi5zZXRTZWFyY2hDbGVhcih1bmRlZmluZWQpO1xyXG5cdFx0dGhpcy5wYWdlQWN0aW9uLnNldFNvcnRJdGVtKHVuZGVmaW5lZCk7XHJcblx0XHR0aGlzLnBhZ2VBY3Rpb24uc2V0TW9kZWxOYW1lKHVuZGVmaW5lZCk7XHJcblx0fVxyXG5cdHNldE1vZGVsTmFtZShtb2RlbE5hbWVGb3JTZWFyY2g6IFN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG5cdFx0aWYgKHRoaXMucG9wTW9kZSkge1xyXG5cdFx0XHR0aGlzLnBvcEFjdGlvbi5zZXRNb2RlbE5hbWUobW9kZWxOYW1lRm9yU2VhcmNoKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wYWdlQWN0aW9uLnNldE1vZGVsTmFtZShtb2RlbE5hbWVGb3JTZWFyY2gpO1xyXG5cdH1cclxuXHRnZXRNb2RlbE5hbWUoKTogU3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuXHRcdGlmICh0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMucG9wQWN0aW9uLmdldE1vZGVsTmFtZSgpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRoaXMucGFnZUFjdGlvbi5nZXRNb2RlbE5hbWUoKTtcclxuXHR9XHJcblx0Y2xlYXJTZWFyY2gobW9kZWxOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmICh0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0dGhpcy5wb3BBY3Rpb24uY2xlYXJTZWFyY2gobW9kZWxOYW1lKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wYWdlQWN0aW9uLmNsZWFyU2VhcmNoKG1vZGVsTmFtZSk7XHJcblx0fVxyXG5cdHNldFNlYXJjaChzZWFyY2g6IFNlYXJjaCwgbW9kZWxOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmICh0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0dGhpcy5wb3BBY3Rpb24uc2V0U2VhcmNoKHNlYXJjaCwgbW9kZWxOYW1lKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wYWdlQWN0aW9uLnNldFNlYXJjaChzZWFyY2gsIG1vZGVsTmFtZSk7XHJcblx0fVxyXG5cdGdldFNlYXJjaChtb2RlbE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFNlYXJjaCB8IHVuZGVmaW5lZCB7XHJcblx0XHRpZiAodGhpcy5wb3BNb2RlKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLnBvcEFjdGlvbi5nZXRTZWFyY2gobW9kZWxOYW1lKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLnBhZ2VBY3Rpb24uZ2V0U2VhcmNoKG1vZGVsTmFtZSk7XHJcblx0fVxyXG5cdHNlYXJjaE1vbml0b3IobW9kZWxOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcclxuXHRcdGlmICh0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMucG9wQWN0aW9uLnNlYXJjaE1vbml0b3IobW9kZWxOYW1lKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLnBhZ2VBY3Rpb24uc2VhcmNoTW9uaXRvcihtb2RlbE5hbWUpO1xyXG5cdH1cclxuXHRzZXRTZWFyY2hJdGVtKHNlYXJjaEl0ZW06IFNlYXJjaEl0ZW0gfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmICh0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0dGhpcy5wb3BBY3Rpb24uc2V0U2VhcmNoSXRlbShzZWFyY2hJdGVtKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wYWdlQWN0aW9uLnNldFNlYXJjaEl0ZW0oc2VhcmNoSXRlbSk7XHJcblx0fVxyXG5cdGdldFNlYXJjaEl0ZW0oKTogU2VhcmNoSXRlbSB8IHVuZGVmaW5lZCB7XHJcblx0XHRpZiAodGhpcy5wb3BNb2RlKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLnBvcEFjdGlvbi5nZXRTZWFyY2hJdGVtKCk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdGhpcy5wYWdlQWN0aW9uLmdldFNlYXJjaEl0ZW0oKTtcclxuXHR9XHJcblx0c2V0U2VhcmNoQ2xlYXIoc2VhcmNoQ2xlYXI6IFN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG5cdFx0aWYgKHRoaXMucG9wTW9kZSkge1xyXG5cdFx0XHR0aGlzLnBvcEFjdGlvbi5zZXRTZWFyY2hDbGVhcihzZWFyY2hDbGVhcik7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMucGFnZUFjdGlvbi5zZXRTZWFyY2hDbGVhcihzZWFyY2hDbGVhcik7XHJcblx0fVxyXG5cdGdldFNlYXJjaENsZWFyKCk6IFN0cmluZyB8IHVuZGVmaW5lZCB7XHJcblx0XHRpZiAodGhpcy5wb3BNb2RlKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLnBvcEFjdGlvbi5nZXRTZWFyY2hDbGVhcigpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRoaXMucGFnZUFjdGlvbi5nZXRTZWFyY2hDbGVhcigpO1xyXG5cdH1cclxuXHRzZXRTb3J0SXRlbShzb3J0SXRlbTogU29ydEl0ZW0gfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmICh0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0dGhpcy5wb3BBY3Rpb24uc2V0U29ydEl0ZW0oc29ydEl0ZW0pO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLnBhZ2VBY3Rpb24uc2V0U29ydEl0ZW0oc29ydEl0ZW0pO1xyXG5cdH1cclxuXHRnZXRTb3J0SXRlbSgpOiBTb3J0SXRlbSB8IHVuZGVmaW5lZCB7XHJcblx0XHRpZiAodGhpcy5wb3BNb2RlKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLnBvcEFjdGlvbi5nZXRTb3J0SXRlbSgpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRoaXMucGFnZUFjdGlvbi5nZXRTb3J0SXRlbSgpO1xyXG5cdH1cclxuXHRzZXRQYWdlKHBhZ2U6IFBhZ2UpIHtcclxuXHRcdHRoaXMucGFnZS5zZXQocGFnZSk7XHJcblx0fVxyXG5cdGdldFBhZ2UoKTogUGFnZSB8IHVuZGVmaW5lZCB7XHJcblx0XHRyZXR1cm4gdGhpcy5wYWdlKCk7XHJcblx0fVxyXG5cdHNldEZpZWxkTGFiZWxBY3Rpb24oa2V5OiBzdHJpbmcsIHR5cGU6ICdtb3VzZWVudGVyJyB8ICdtb3VzZWxlYXZlJyB8ICdjbGljaycgfCAnZGJsY2xpY2snKSB7XHJcblx0XHR0aGlzLmZpZWxkTGFiZWxBY3Rpb24uc2V0KHsga2V5LCB0eXBlIH0pO1xyXG5cdH1cclxuXHRnZXRGaWVsZExhYmVsQWN0aW9uKCk6IEZpZWxkTGFiZWxBY3Rpb24gfCB1bmRlZmluZWQge1xyXG5cdFx0cmV0dXJuIHRoaXMuZmllbGRMYWJlbEFjdGlvbigpO1xyXG5cdH1cclxuXHRzZXRGaWVsZEFjdGlvbihmaWVsZDogRm9ybUZpZWxkIHwgdW5kZWZpbmVkKSB7XHJcblx0XHR0aGlzLmZpZWxkQWN0aW9uLnNldChmaWVsZCk7XHJcblx0fVxyXG5cdGdldEZpZWxkQWN0aW9uKCk6IEZvcm1GaWVsZCB8IHVuZGVmaW5lZCB7XHJcblx0XHRyZXR1cm4gdGhpcy5maWVsZEFjdGlvbigpO1xyXG5cdH1cclxuXHRzZXRBY3Rpb24oYWN0aW9uOiBBY3Rpb24gfCB1bmRlZmluZWQpIHtcclxuXHRcdHRoaXMuYWN0aW9uLnNldChhY3Rpb24pO1xyXG5cdH1cclxuXHRnZXRBY3Rpb24oKTogQWN0aW9uIHwgdW5kZWZpbmVkIHtcclxuXHRcdHJldHVybiB0aGlzLmFjdGlvbigpO1xyXG5cdH1cclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2VBY3Rpb25TZXJ2aWNlIHtcclxuXHRtb2RlbE5hbWVGb3JTZWFyY2ggPSBzaWduYWw8U3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG5cdHNlYXJjaExpc3QgPSBzaWduYWw8U2VhcmNoUm93W10+KFtdKTtcclxuXHRzZWFyY2hJdGVtID0gc2lnbmFsPFNlYXJjaEl0ZW0gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcblx0c2VhcmNoQ2xlYXIgPSBzaWduYWw8U3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG5cdHNvcnRJdGVtID0gc2lnbmFsPFNvcnRJdGVtIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxyXG5cclxuXHRzZXRNb2RlbE5hbWUobW9kZWxOYW1lRm9yU2VhcmNoOiBTdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmIChtb2RlbE5hbWVGb3JTZWFyY2ggPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdHRoaXMubW9kZWxOYW1lRm9yU2VhcmNoLnNldCh1bmRlZmluZWQpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLm1vZGVsTmFtZUZvclNlYXJjaC5zZXQobmV3IFN0cmluZyhtb2RlbE5hbWVGb3JTZWFyY2gpKTtcclxuXHR9XHJcblx0Z2V0TW9kZWxOYW1lKCk6IFN0cmluZyB8IHVuZGVmaW5lZCB7XHJcblx0XHRyZXR1cm4gdGhpcy5tb2RlbE5hbWVGb3JTZWFyY2goKTtcclxuXHR9XHJcblx0Y2xlYXJTZWFyY2gobW9kZWxOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmIChtb2RlbE5hbWUgPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdGNvbnN0IGtleSA9IHRoaXMucm91dGVyLnVybDtcclxuXHRcdGxldCBzZWFyY2hMaXN0ID0gdW50cmFja2VkKCgpID0+IHRoaXMuc2VhcmNoTGlzdCgpKS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ua2V5ICE9IGtleSB8fCBpdGVtLm1vZGVsTmFtZSAhPSBtb2RlbE5hbWUpO1xyXG5cdFx0dGhpcy5zZWFyY2hMaXN0LnNldChbLi4uc2VhcmNoTGlzdF0pO1xyXG5cdH1cclxuXHRzZXRTZWFyY2goc2VhcmNoOiBTZWFyY2gsIG1vZGVsTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XHJcblx0XHRpZiAobW9kZWxOYW1lID09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRjb25zdCBzZWFyY2hSb3cgPSB7IGtleTogdGhpcy5yb3V0ZXIudXJsLCBtb2RlbE5hbWUsIHNlYXJjaCB9O1xyXG5cdFx0bGV0IHNlYXJjaExpc3QgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5zZWFyY2hMaXN0KCkpLmZpbHRlcihcclxuXHRcdFx0KGl0ZW0pID0+IGl0ZW0ua2V5ICE9IHNlYXJjaFJvdy5rZXkgfHwgaXRlbS5tb2RlbE5hbWUgIT0gc2VhcmNoUm93Lm1vZGVsTmFtZSxcclxuXHRcdCk7XHJcblx0XHR0aGlzLnNlYXJjaExpc3Quc2V0KFsuLi5zZWFyY2hMaXN0LCBzZWFyY2hSb3ddKTtcclxuXHRcdHRoaXMuc2V0TW9kZWxOYW1lKG1vZGVsTmFtZSk7XHJcblx0fVxyXG5cdGdldFNlYXJjaChtb2RlbE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFNlYXJjaCB8IHVuZGVmaW5lZCB7XHJcblx0XHRpZiAobW9kZWxOYW1lID09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRjb25zdCBrZXkgPSB0aGlzLnJvdXRlci51cmw7XHJcblx0XHRjb25zdCByZXN1bHQgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5zZWFyY2hMaXN0KCkpLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5rZXkgPT0ga2V5ICYmIGl0ZW0ubW9kZWxOYW1lID09IG1vZGVsTmFtZSk7XHJcblx0XHRyZXR1cm4gcmVzdWx0Lmxlbmd0aCA/IHJlc3VsdFswXS5zZWFyY2ggOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNlYXJjaE1vbml0b3IobW9kZWxOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcclxuXHRcdGNvbnN0IHNlYXJjaE5hbWUgPSB0aGlzLm1vZGVsTmFtZUZvclNlYXJjaCgpO1xyXG5cdFx0aWYgKHNlYXJjaE5hbWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHRydWU7XHJcblx0XHRpZiAoU3RyaW5nKHNlYXJjaE5hbWUpID09PSBtb2RlbE5hbWUpIHJldHVybiB0cnVlO1xyXG5cdFx0cmV0dXJuIGZhbHNlO1xyXG5cdH1cclxuXHRzZXRTZWFyY2hJdGVtKHNlYXJjaEl0ZW06IFNlYXJjaEl0ZW0gfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmIChzZWFyY2hJdGVtID09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHR0aGlzLnNlYXJjaEl0ZW0uc2V0KHVuZGVmaW5lZCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMuc2VhcmNoSXRlbS5zZXQoeyAuLi5zZWFyY2hJdGVtIH0pO1xyXG5cdH1cclxuXHRnZXRTZWFyY2hJdGVtKCk6IFNlYXJjaEl0ZW0gfCB1bmRlZmluZWQge1xyXG5cdFx0cmV0dXJuIHRoaXMuc2VhcmNoSXRlbSgpO1xyXG5cdH1cclxuXHRzZXRTZWFyY2hDbGVhcihzZWFyY2hDbGVhcjogU3RyaW5nIHwgdW5kZWZpbmVkKSB7XHJcblx0XHRpZiAoc2VhcmNoQ2xlYXIgPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdHRoaXMuc2VhcmNoQ2xlYXIuc2V0KHVuZGVmaW5lZCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMuc2VhcmNoQ2xlYXIuc2V0KG5ldyBTdHJpbmcoc2VhcmNoQ2xlYXIpKTtcclxuXHR9XHJcblx0Z2V0U2VhcmNoQ2xlYXIoKTogU3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuXHRcdHJldHVybiB0aGlzLnNlYXJjaENsZWFyKCk7XHJcblx0fVxyXG5cdHNldFNvcnRJdGVtKHNvcnRJdGVtOiBTb3J0SXRlbSB8IHVuZGVmaW5lZCkge1xyXG5cdFx0dGhpcy5zb3J0SXRlbS5zZXQoc29ydEl0ZW0pO1xyXG5cdH1cclxuXHRnZXRTb3J0SXRlbSgpOiBTb3J0SXRlbSB8IHVuZGVmaW5lZCB7XHJcblx0XHRyZXR1cm4gdGhpcy5zb3J0SXRlbSgpO1xyXG5cdH1cclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBvcEFjdGlvblNlcnZpY2Uge1xyXG5cdG1vZGVsTmFtZUZvclNlYXJjaCA9IHNpZ25hbDxTdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcblx0c2VhcmNoTGlzdCA9IHNpZ25hbDxTZWFyY2hSb3dbXT4oW10pO1xyXG5cdHNlYXJjaEl0ZW0gPSBzaWduYWw8U2VhcmNoSXRlbSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuXHRzZWFyY2hDbGVhciA9IHNpZ25hbDxTdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcblx0c29ydEl0ZW0gPSBzaWduYWw8U29ydEl0ZW0gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge31cclxuXHJcblx0c2V0TW9kZWxOYW1lKG1vZGVsTmFtZUZvclNlYXJjaDogU3RyaW5nIHwgdW5kZWZpbmVkKSB7XHJcblx0XHRpZiAobW9kZWxOYW1lRm9yU2VhcmNoID09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHR0aGlzLm1vZGVsTmFtZUZvclNlYXJjaC5zZXQodW5kZWZpbmVkKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5tb2RlbE5hbWVGb3JTZWFyY2guc2V0KG5ldyBTdHJpbmcobW9kZWxOYW1lRm9yU2VhcmNoKSk7XHJcblx0fVxyXG5cdGdldE1vZGVsTmFtZSgpOiBTdHJpbmcgfCB1bmRlZmluZWQge1xyXG5cdFx0cmV0dXJuIHRoaXMubW9kZWxOYW1lRm9yU2VhcmNoKCk7XHJcblx0fVxyXG5cdGNsZWFyU2VhcmNoKG1vZGVsTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XHJcblx0XHR0aGlzLnNlYXJjaExpc3Quc2V0KFtdKTtcclxuXHR9XHJcblx0c2V0U2VhcmNoKHNlYXJjaDogU2VhcmNoLCBtb2RlbE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG5cdFx0aWYgKG1vZGVsTmFtZSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3Qgc2VhcmNoUm93ID0geyBtb2RlbE5hbWUsIHNlYXJjaCB9O1xyXG5cdFx0bGV0IHNlYXJjaExpc3QgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5zZWFyY2hMaXN0KCkpLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5tb2RlbE5hbWUgIT0gc2VhcmNoUm93Lm1vZGVsTmFtZSk7XHJcblx0XHR0aGlzLnNlYXJjaExpc3Quc2V0KFsuLi5zZWFyY2hMaXN0LCBzZWFyY2hSb3ddKTtcclxuXHRcdHRoaXMuc2V0TW9kZWxOYW1lKG1vZGVsTmFtZSk7XHJcblx0fVxyXG5cdGdldFNlYXJjaChtb2RlbE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFNlYXJjaCB8IHVuZGVmaW5lZCB7XHJcblx0XHRpZiAobW9kZWxOYW1lID09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRjb25zdCByZXN1bHQgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5zZWFyY2hMaXN0KCkpLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5tb2RlbE5hbWUgPT0gbW9kZWxOYW1lKTtcclxuXHRcdHJldHVybiByZXN1bHQubGVuZ3RoID8gcmVzdWx0WzBdLnNlYXJjaCA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2VhcmNoTW9uaXRvcihtb2RlbE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xyXG5cdFx0Y29uc3Qgc2VhcmNoTmFtZSA9IHRoaXMubW9kZWxOYW1lRm9yU2VhcmNoKCk7XHJcblx0XHRpZiAoc2VhcmNoTmFtZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdHJ1ZTtcclxuXHRcdGlmIChTdHJpbmcoc2VhcmNoTmFtZSkgPT09IG1vZGVsTmFtZSkgcmV0dXJuIHRydWU7XHJcblx0XHRyZXR1cm4gZmFsc2U7XHJcblx0fVxyXG5cdHNldFNlYXJjaEl0ZW0oc2VhcmNoSXRlbTogU2VhcmNoSXRlbSB8IHVuZGVmaW5lZCkge1xyXG5cdFx0aWYgKHNlYXJjaEl0ZW0gPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdHRoaXMuc2VhcmNoSXRlbS5zZXQodW5kZWZpbmVkKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5zZWFyY2hJdGVtLnNldCh7IC4uLnNlYXJjaEl0ZW0gfSk7XHJcblx0fVxyXG5cdGdldFNlYXJjaEl0ZW0oKTogU2VhcmNoSXRlbSB8IHVuZGVmaW5lZCB7XHJcblx0XHRyZXR1cm4gdGhpcy5zZWFyY2hJdGVtKCk7XHJcblx0fVxyXG5cdHNldFNlYXJjaENsZWFyKHNlYXJjaENsZWFyOiBTdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmIChzZWFyY2hDbGVhciA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0dGhpcy5zZWFyY2hDbGVhci5zZXQodW5kZWZpbmVkKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5zZWFyY2hDbGVhci5zZXQobmV3IFN0cmluZyhzZWFyY2hDbGVhcikpO1xyXG5cdH1cclxuXHRnZXRTZWFyY2hDbGVhcigpOiBTdHJpbmcgfCB1bmRlZmluZWQge1xyXG5cdFx0cmV0dXJuIHRoaXMuc2VhcmNoQ2xlYXIoKTtcclxuXHR9XHJcblx0c2V0U29ydEl0ZW0oc29ydEl0ZW06IFNvcnRJdGVtIHwgdW5kZWZpbmVkKSB7XHJcblx0XHR0aGlzLnNvcnRJdGVtLnNldChzb3J0SXRlbSk7XHJcblx0fVxyXG5cdGdldFNvcnRJdGVtKCk6IFNvcnRJdGVtIHwgdW5kZWZpbmVkIHtcclxuXHRcdHJldHVybiB0aGlzLnNvcnRJdGVtKCk7XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
321
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbW0tZWxlbWVudC11aS9zcmMvbGliL3NlcnZpY2UvYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUE4QjlELE1BQU0sT0FBTyxhQUFhO0lBT3pCLFlBQ1MsVUFBNkIsRUFDN0IsU0FBMkI7UUFEM0IsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFScEMsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUN6QixxQkFBZ0IsR0FBRyxNQUFNLENBQStCLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLGdCQUFXLEdBQUcsTUFBTSxDQUF3QixTQUFTLENBQUMsQ0FBQztRQUN2RCxXQUFNLEdBQUcsTUFBTSxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUMvQyxlQUFVLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBS2pDLENBQUM7SUFDSixVQUFVLENBQUMsSUFBYTtRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBQ0QsS0FBSztRQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FB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QWMsQ0FBQyxXQUErQjtRQUM3QyxJQUFJLFdBQVcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoQyxPQUFPO1FBQ1IsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELGNBQWM7UUFDYixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsV0FBVyxDQUFDLFFBQThCO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxXQUFXO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0FyRVcsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGaEIsTUFBTTs7NEZBRU4sZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIHNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNlYXJjaEl0ZW0gfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWFyY2ggfSBmcm9tICcuLi9hbS9hbS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3JtRmllbGQgfSBmcm9tICcuLi9mb3JtL2Zvcm0tZmllbGQvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFBhZ2UgfSBmcm9tICcuLi9ncmlkL3BhZ2VyL3BhZ2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uIHtcclxuXHR0eXBlOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoUm93IHtcclxuXHRrZXk/OiBzdHJpbmc7XHJcblx0bW9kZWxOYW1lPzogc3RyaW5nO1xyXG5cdHNlYXJjaD86IFNlYXJjaDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTb3J0SXRlbSB7XHJcblx0aXNBc2M/OiBib29sZWFuO1xyXG5cdGZpZWxkcz86IHN0cmluZ1tdO1xyXG5cdGxhYmVscz86IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkTGFiZWxBY3Rpb24ge1xyXG5cdGtleT86IHN0cmluZztcclxuXHR0eXBlPzogJ21vdXNlZW50ZXInIHwgJ21vdXNlbGVhdmUnIHwgJ2NsaWNrJyB8ICdkYmxjbGljayc7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25TZXJ2aWNlIHtcclxuXHRwb3BNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcblx0ZmllbGRMYWJlbEFjdGlvbiA9IHNpZ25hbDxGaWVsZExhYmVsQWN0aW9uIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG5cdGZpZWxkQWN0aW9uID0gc2lnbmFsPEZvcm1GaWVsZCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuXHRhY3Rpb24gPSBzaWduYWw8QWN0aW9uIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG5cdHNhdmVTaWduYWwgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcGFnZUFjdGlvbjogUGFnZUFjdGlvblNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHBvcEFjdGlvbjogUG9wQWN0aW9uU2VydmljZSxcclxuXHQpIHt9XHJcblx0c2V0UG9wTW9kZShtb2RlOiBib29sZWFuKSB7XHJcblx0XHR0aGlzLnBvcE1vZGUgPSBtb2RlO1xyXG5cdH1cclxuXHRjbGVhcigpIHtcclxuXHRcdGlmICh0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0dGhpcy5wb3BBY3Rpb24uc2V0U2VhcmNoSXRlbSh1bmRlZmluZWQpO1xyXG5cdFx0XHR0aGlzLnBvcEFjdGlvbi5zZXRTZWFyY2hDbGVhcih1bmRlZmluZWQpO1xyXG5cdFx0XHR0aGlzLnBvcEFjdGlvbi5zZXRTb3J0SXRlbSh1bmRlZmluZWQpO1xyXG5cdFx0XHR0aGlzLnBvcEFjdGlvbi5zZXRNb2RlbE5hbWUodW5kZWZpbmVkKTtcclxuXHRcdFx0dGhpcy5wb3BBY3Rpb24uY2xlYXJTZWFyY2godW5kZWZpbmVkKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wYWdlQWN0aW9uLnNldFNlYXJjaEl0ZW0odW5kZWZpbmVkKTtcclxuXHRcdHRoaXMucGFnZUFjdGlvbi5zZXRTZWFyY2hDbGVhcih1bmRlZmluZWQpO1xyXG5cdFx0dGhpcy5wYWdlQWN0aW9uLnNldFNvcnRJdGVtKHVuZGVmaW5lZCk7XHJcblx0XHR0aGlzLnBhZ2VBY3Rpb24uc2V0TW9kZWxOYW1lKHVuZGVmaW5lZCk7XHJcblx0fVxyXG5cdHNldE1vZGVsTmFtZShtb2RlbE5hbWVGb3JTZWFyY2g6IFN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG5cdFx0aWYgKHRoaXMucG9wTW9kZSkge1xyXG5cdFx0XHR0aGlzLnBvcEFjdGlvbi5zZXRNb2RlbE5hbWUobW9kZWxOYW1lRm9yU2VhcmNoKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wYWdlQWN0aW9uLnNldE1vZGVsTmFtZShtb2RlbE5hbWVGb3JTZWFyY2gpO1xyXG5cdH1cclxuXHRnZXRNb2RlbE5hbWUoKTogU3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuXHRcdGlmICh0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMucG9wQWN0aW9uLmdldE1vZGVsTmFtZSgpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRoaXMucGFnZUFjdGlvbi5nZXRNb2RlbE5hbWUoKTtcclxuXHR9XHJcblx0Y2xlYXJTZWFyY2gobW9kZWxOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmICh0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0dGhpcy5wb3BBY3Rpb24uY2xlYXJTZWFyY2gobW9kZWxOYW1lKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wYWdlQWN0aW9uLmNsZWFyU2VhcmNoKG1vZGVsTmFtZSk7XHJcblx0fVxyXG5cdHNldFNlYXJjaChzZWFyY2g6IFNlYXJjaCwgbW9kZWxOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmICh0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0dGhpcy5wb3BBY3Rpb24uc2V0U2VhcmNoKHNlYXJjaCwgbW9kZWxOYW1lKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wYWdlQWN0aW9uLnNldFNlYXJjaChzZWFyY2gsIG1vZGVsTmFtZSk7XHJcblx0fVxyXG5cdGdldFNlYXJjaChtb2RlbE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IFNlYXJjaCB8IHVuZGVmaW5lZCB7XHJcblx0XHRpZiAodGhpcy5wb3BNb2RlKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLnBvcEFjdGlvbi5nZXRTZWFyY2gobW9kZWxOYW1lKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLnBhZ2VBY3Rpb24uZ2V0U2VhcmNoKG1vZGVsTmFtZSk7XHJcblx0fVxyXG5cdHNlYXJjaE1vbml0b3IobW9kZWxOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcclxuXHRcdGlmICh0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMucG9wQWN0aW9uLnNlYXJjaE1vbml0b3IobW9kZWxOYW1lKTtcclxuXHRcdH1cclxuXHRcdHJldHVybiB0aGlzLnBhZ2VBY3Rpb24uc2VhcmNoTW9uaXRvcihtb2RlbE5hbWUpO1xyXG5cdH1cclxuXHRzZXRTZWFyY2hJdGVtKHNlYXJjaEl0ZW06IFNlYXJjaEl0ZW0gfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmICh0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0dGhpcy5wb3BBY3Rpb24uc2V0U2VhcmNoSXRlbShzZWFyY2hJdGVtKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5wYWdlQWN0aW9uLnNldFNlYXJjaEl0ZW0oc2VhcmNoSXRlbSk7XHJcblx0fVxyXG5cdGdldFNlYXJjaEl0ZW0oKTogU2VhcmNoSXRlbSB8IHVuZGVmaW5lZCB7XHJcblx0XHRpZiAodGhpcy5wb3BNb2RlKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLnBvcEFjdGlvbi5nZXRTZWFyY2hJdGVtKCk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdGhpcy5wYWdlQWN0aW9uLmdldFNlYXJjaEl0ZW0oKTtcclxuXHR9XHJcblx0c2V0U2VhcmNoQ2xlYXIoc2VhcmNoQ2xlYXI6IFN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG5cdFx0aWYgKHRoaXMucG9wTW9kZSkge1xyXG5cdFx0XHR0aGlzLnBvcEFjdGlvbi5zZXRTZWFyY2hDbGVhcihzZWFyY2hDbGVhcik7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMucGFnZUFjdGlvbi5zZXRTZWFyY2hDbGVhcihzZWFyY2hDbGVhcik7XHJcblx0fVxyXG5cdGdldFNlYXJjaENsZWFyKCk6IFN0cmluZyB8IHVuZGVmaW5lZCB7XHJcblx0XHRpZiAodGhpcy5wb3BNb2RlKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLnBvcEFjdGlvbi5nZXRTZWFyY2hDbGVhcigpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRoaXMucGFnZUFjdGlvbi5nZXRTZWFyY2hDbGVhcigpO1xyXG5cdH1cclxuXHRzZXRTb3J0SXRlbShzb3J0SXRlbTogU29ydEl0ZW0gfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmICh0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0dGhpcy5wb3BBY3Rpb24uc2V0U29ydEl0ZW0oc29ydEl0ZW0pO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHR0aGlzLnBhZ2VBY3Rpb24uc2V0U29ydEl0ZW0oc29ydEl0ZW0pO1xyXG5cdH1cclxuXHRnZXRTb3J0SXRlbSgpOiBTb3J0SXRlbSB8IHVuZGVmaW5lZCB7XHJcblx0XHRpZiAodGhpcy5wb3BNb2RlKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLnBvcEFjdGlvbi5nZXRTb3J0SXRlbSgpO1xyXG5cdFx0fVxyXG5cdFx0cmV0dXJuIHRoaXMucGFnZUFjdGlvbi5nZXRTb3J0SXRlbSgpO1xyXG5cdH1cclxuXHRzZXRQYWdlKHBhZ2U6IFBhZ2UpIHtcclxuXHRcdGlmICghdGhpcy5wb3BNb2RlKSB7XHJcblx0XHRcdHRoaXMucGFnZUFjdGlvbi5zZXRQYWdlKHBhZ2UpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRnZXRQYWdlKCk6IFBhZ2UgfCB1bmRlZmluZWQge1xyXG5cdFx0aWYgKCF0aGlzLnBvcE1vZGUpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMucGFnZUFjdGlvbi5nZXRQYWdlKCk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xyXG5cdH1cclxuXHRzZXRGaWVsZExhYmVsQWN0aW9uKGtleTogc3RyaW5nLCB0eXBlOiAnbW91c2VlbnRlcicgfCAnbW91c2VsZWF2ZScgfCAnY2xpY2snIHwgJ2RibGNsaWNrJykge1xyXG5cdFx0dGhpcy5maWVsZExhYmVsQWN0aW9uLnNldCh7IGtleSwgdHlwZSB9KTtcclxuXHR9XHJcblx0Z2V0RmllbGRMYWJlbEFjdGlvbigpOiBGaWVsZExhYmVsQWN0aW9uIHwgdW5kZWZpbmVkIHtcclxuXHRcdHJldHVybiB0aGlzLmZpZWxkTGFiZWxBY3Rpb24oKTtcclxuXHR9XHJcblx0c2V0RmllbGRBY3Rpb24oZmllbGQ6IEZvcm1GaWVsZCB8IHVuZGVmaW5lZCkge1xyXG5cdFx0dGhpcy5maWVsZEFjdGlvbi5zZXQoZmllbGQpO1xyXG5cdH1cclxuXHRnZXRGaWVsZEFjdGlvbigpOiBGb3JtRmllbGQgfCB1bmRlZmluZWQge1xyXG5cdFx0cmV0dXJuIHRoaXMuZmllbGRBY3Rpb24oKTtcclxuXHR9XHJcblx0c2V0QWN0aW9uKGFjdGlvbjogQWN0aW9uIHwgdW5kZWZpbmVkKSB7XHJcblx0XHR0aGlzLmFjdGlvbi5zZXQoYWN0aW9uKTtcclxuXHR9XHJcblx0Z2V0QWN0aW9uKCk6IEFjdGlvbiB8IHVuZGVmaW5lZCB7XHJcblx0XHRyZXR1cm4gdGhpcy5hY3Rpb24oKTtcclxuXHR9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlQWN0aW9uU2VydmljZSB7XHJcblx0bW9kZWxOYW1lRm9yU2VhcmNoID0gc2lnbmFsPFN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuXHRzZWFyY2hMaXN0ID0gc2lnbmFsPFNlYXJjaFJvd1tdPihbXSk7XHJcblx0c2VhcmNoSXRlbSA9IHNpZ25hbDxTZWFyY2hJdGVtIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG5cdHNlYXJjaENsZWFyID0gc2lnbmFsPFN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuXHRzb3J0SXRlbSA9IHNpZ25hbDxTb3J0SXRlbSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcclxuXHRwYWdlID0gc2lnbmFsPFBhZ2UgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHt9XHJcblxyXG5cdHNldE1vZGVsTmFtZShtb2RlbE5hbWVGb3JTZWFyY2g6IFN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG5cdFx0aWYgKG1vZGVsTmFtZUZvclNlYXJjaCA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0dGhpcy5tb2RlbE5hbWVGb3JTZWFyY2guc2V0KHVuZGVmaW5lZCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMubW9kZWxOYW1lRm9yU2VhcmNoLnNldChuZXcgU3RyaW5nKG1vZGVsTmFtZUZvclNlYXJjaCkpO1xyXG5cdH1cclxuXHRnZXRNb2RlbE5hbWUoKTogU3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuXHRcdHJldHVybiB0aGlzLm1vZGVsTmFtZUZvclNlYXJjaCgpO1xyXG5cdH1cclxuXHRjbGVhclNlYXJjaChtb2RlbE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG5cdFx0aWYgKG1vZGVsTmFtZSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3Qga2V5ID0gdGhpcy5yb3V0ZXIudXJsO1xyXG5cdFx0bGV0IHNlYXJjaExpc3QgPSB1bnRyYWNrZWQoKCkgPT4gdGhpcy5zZWFyY2hMaXN0KCkpLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5rZXkgIT0ga2V5IHx8IGl0ZW0ubW9kZWxOYW1lICE9IG1vZGVsTmFtZSk7XHJcblx0XHR0aGlzLnNlYXJjaExpc3Quc2V0KFsuLi5zZWFyY2hMaXN0XSk7XHJcblx0fVxyXG5cdHNldFNlYXJjaChzZWFyY2g6IFNlYXJjaCwgbW9kZWxOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmIChtb2RlbE5hbWUgPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdGNvbnN0IHNlYXJjaFJvdyA9IHsga2V5OiB0aGlzLnJvdXRlci51cmwsIG1vZGVsTmFtZSwgc2VhcmNoIH07XHJcblx0XHRsZXQgc2VhcmNoTGlzdCA9IHVudHJhY2tlZCgoKSA9PiB0aGlzLnNlYXJjaExpc3QoKSkuZmlsdGVyKFxyXG5cdFx0XHQoaXRlbSkgPT4gaXRlbS5rZXkgIT0gc2VhcmNoUm93LmtleSB8fCBpdGVtLm1vZGVsTmFtZSAhPSBzZWFyY2hSb3cubW9kZWxOYW1lLFxyXG5cdFx0KTtcclxuXHRcdHRoaXMuc2VhcmNoTGlzdC5zZXQoWy4uLnNlYXJjaExpc3QsIHNlYXJjaFJvd10pO1xyXG5cdFx0dGhpcy5zZXRNb2RlbE5hbWUobW9kZWxOYW1lKTtcclxuXHR9XHJcblx0Z2V0U2VhcmNoKG1vZGVsTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogU2VhcmNoIHwgdW5kZWZpbmVkIHtcclxuXHRcdGlmIChtb2RlbE5hbWUgPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdGNvbnN0IGtleSA9IHRoaXMucm91dGVyLnVybDtcclxuXHRcdGNvbnN0IHJlc3VsdCA9IHVudHJhY2tlZCgoKSA9PiB0aGlzLnNlYXJjaExpc3QoKSkuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmtleSA9PSBrZXkgJiYgaXRlbS5tb2RlbE5hbWUgPT0gbW9kZWxOYW1lKTtcclxuXHRcdHJldHVybiByZXN1bHQubGVuZ3RoID8gcmVzdWx0WzBdLnNlYXJjaCA6IHVuZGVmaW5lZDtcclxuXHR9XHJcblx0c2VhcmNoTW9uaXRvcihtb2RlbE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4ge1xyXG5cdFx0Y29uc3Qgc2VhcmNoTmFtZSA9IHRoaXMubW9kZWxOYW1lRm9yU2VhcmNoKCk7XHJcblx0XHRpZiAoc2VhcmNoTmFtZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdHJ1ZTtcclxuXHRcdGlmIChTdHJpbmcoc2VhcmNoTmFtZSkgPT09IG1vZGVsTmFtZSkgcmV0dXJuIHRydWU7XHJcblx0XHRyZXR1cm4gZmFsc2U7XHJcblx0fVxyXG5cdHNldFNlYXJjaEl0ZW0oc2VhcmNoSXRlbTogU2VhcmNoSXRlbSB8IHVuZGVmaW5lZCkge1xyXG5cdFx0aWYgKHNlYXJjaEl0ZW0gPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdHRoaXMuc2VhcmNoSXRlbS5zZXQodW5kZWZpbmVkKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5zZWFyY2hJdGVtLnNldCh7IC4uLnNlYXJjaEl0ZW0gfSk7XHJcblx0fVxyXG5cdGdldFNlYXJjaEl0ZW0oKTogU2VhcmNoSXRlbSB8IHVuZGVmaW5lZCB7XHJcblx0XHRyZXR1cm4gdGhpcy5zZWFyY2hJdGVtKCk7XHJcblx0fVxyXG5cdHNldFNlYXJjaENsZWFyKHNlYXJjaENsZWFyOiBTdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmIChzZWFyY2hDbGVhciA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0dGhpcy5zZWFyY2hDbGVhci5zZXQodW5kZWZpbmVkKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5zZWFyY2hDbGVhci5zZXQobmV3IFN0cmluZyhzZWFyY2hDbGVhcikpO1xyXG5cdH1cclxuXHRnZXRTZWFyY2hDbGVhcigpOiBTdHJpbmcgfCB1bmRlZmluZWQge1xyXG5cdFx0cmV0dXJuIHRoaXMuc2VhcmNoQ2xlYXIoKTtcclxuXHR9XHJcblx0c2V0U29ydEl0ZW0oc29ydEl0ZW06IFNvcnRJdGVtIHwgdW5kZWZpbmVkKSB7XHJcblx0XHR0aGlzLnNvcnRJdGVtLnNldChzb3J0SXRlbSk7XHJcblx0fVxyXG5cdGdldFNvcnRJdGVtKCk6IFNvcnRJdGVtIHwgdW5kZWZpbmVkIHtcclxuXHRcdHJldHVybiB0aGlzLnNvcnRJdGVtKCk7XHJcblx0fVxyXG5cdHNldFBhZ2UocGFnZTogUGFnZSkge1xyXG5cdFx0dGhpcy5wYWdlLnNldChwYWdlKTtcclxuXHR9XHJcblx0Z2V0UGFnZSgpOiBQYWdlIHwgdW5kZWZpbmVkIHtcclxuXHRcdHJldHVybiB0aGlzLnBhZ2UoKTtcclxuXHR9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb3BBY3Rpb25TZXJ2aWNlIHtcclxuXHRtb2RlbE5hbWVGb3JTZWFyY2ggPSBzaWduYWw8U3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG5cdHNlYXJjaExpc3QgPSBzaWduYWw8U2VhcmNoUm93W10+KFtdKTtcclxuXHRzZWFyY2hJdGVtID0gc2lnbmFsPFNlYXJjaEl0ZW0gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XHJcblx0c2VhcmNoQ2xlYXIgPSBzaWduYWw8U3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG5cdHNvcnRJdGVtID0gc2lnbmFsPFNvcnRJdGVtIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG5cdHNldE1vZGVsTmFtZShtb2RlbE5hbWVGb3JTZWFyY2g6IFN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG5cdFx0aWYgKG1vZGVsTmFtZUZvclNlYXJjaCA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0dGhpcy5tb2RlbE5hbWVGb3JTZWFyY2guc2V0KHVuZGVmaW5lZCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMubW9kZWxOYW1lRm9yU2VhcmNoLnNldChuZXcgU3RyaW5nKG1vZGVsTmFtZUZvclNlYXJjaCkpO1xyXG5cdH1cclxuXHRnZXRNb2RlbE5hbWUoKTogU3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuXHRcdHJldHVybiB0aGlzLm1vZGVsTmFtZUZvclNlYXJjaCgpO1xyXG5cdH1cclxuXHRjbGVhclNlYXJjaChtb2RlbE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG5cdFx0dGhpcy5zZWFyY2hMaXN0LnNldChbXSk7XHJcblx0fVxyXG5cdHNldFNlYXJjaChzZWFyY2g6IFNlYXJjaCwgbW9kZWxOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmIChtb2RlbE5hbWUgPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdGNvbnN0IHNlYXJjaFJvdyA9IHsgbW9kZWxOYW1lLCBzZWFyY2ggfTtcclxuXHRcdGxldCBzZWFyY2hMaXN0ID0gdW50cmFja2VkKCgpID0+IHRoaXMuc2VhcmNoTGlzdCgpKS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ubW9kZWxOYW1lICE9IHNlYXJjaFJvdy5tb2RlbE5hbWUpO1xyXG5cdFx0dGhpcy5zZWFyY2hMaXN0LnNldChbLi4uc2VhcmNoTGlzdCwgc2VhcmNoUm93XSk7XHJcblx0XHR0aGlzLnNldE1vZGVsTmFtZShtb2RlbE5hbWUpO1xyXG5cdH1cclxuXHRnZXRTZWFyY2gobW9kZWxOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBTZWFyY2ggfCB1bmRlZmluZWQge1xyXG5cdFx0aWYgKG1vZGVsTmFtZSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgcmVzdWx0ID0gdW50cmFja2VkKCgpID0+IHRoaXMuc2VhcmNoTGlzdCgpKS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0ubW9kZWxOYW1lID09IG1vZGVsTmFtZSk7XHJcblx0XHRyZXR1cm4gcmVzdWx0Lmxlbmd0aCA/IHJlc3VsdFswXS5zZWFyY2ggOiB1bmRlZmluZWQ7XHJcblx0fVxyXG5cdHNlYXJjaE1vbml0b3IobW9kZWxOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcclxuXHRcdGNvbnN0IHNlYXJjaE5hbWUgPSB0aGlzLm1vZGVsTmFtZUZvclNlYXJjaCgpO1xyXG5cdFx0aWYgKHNlYXJjaE5hbWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuIHRydWU7XHJcblx0XHRpZiAoU3RyaW5nKHNlYXJjaE5hbWUpID09PSBtb2RlbE5hbWUpIHJldHVybiB0cnVlO1xyXG5cdFx0cmV0dXJuIGZhbHNlO1xyXG5cdH1cclxuXHRzZXRTZWFyY2hJdGVtKHNlYXJjaEl0ZW06IFNlYXJjaEl0ZW0gfCB1bmRlZmluZWQpIHtcclxuXHRcdGlmIChzZWFyY2hJdGVtID09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHR0aGlzLnNlYXJjaEl0ZW0uc2V0KHVuZGVmaW5lZCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMuc2VhcmNoSXRlbS5zZXQoeyAuLi5zZWFyY2hJdGVtIH0pO1xyXG5cdH1cclxuXHRnZXRTZWFyY2hJdGVtKCk6IFNlYXJjaEl0ZW0gfCB1bmRlZmluZWQge1xyXG5cdFx0cmV0dXJuIHRoaXMuc2VhcmNoSXRlbSgpO1xyXG5cdH1cclxuXHRzZXRTZWFyY2hDbGVhcihzZWFyY2hDbGVhcjogU3RyaW5nIHwgdW5kZWZpbmVkKSB7XHJcblx0XHRpZiAoc2VhcmNoQ2xlYXIgPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdHRoaXMuc2VhcmNoQ2xlYXIuc2V0KHVuZGVmaW5lZCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHRcdHRoaXMuc2VhcmNoQ2xlYXIuc2V0KG5ldyBTdHJpbmcoc2VhcmNoQ2xlYXIpKTtcclxuXHR9XHJcblx0Z2V0U2VhcmNoQ2xlYXIoKTogU3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuXHRcdHJldHVybiB0aGlzLnNlYXJjaENsZWFyKCk7XHJcblx0fVxyXG5cdHNldFNvcnRJdGVtKHNvcnRJdGVtOiBTb3J0SXRlbSB8IHVuZGVmaW5lZCkge1xyXG5cdFx0dGhpcy5zb3J0SXRlbS5zZXQoc29ydEl0ZW0pO1xyXG5cdH1cclxuXHRnZXRTb3J0SXRlbSgpOiBTb3J0SXRlbSB8IHVuZGVmaW5lZCB7XHJcblx0XHRyZXR1cm4gdGhpcy5zb3J0SXRlbSgpO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -593,7 +593,6 @@ class ActionService {
|
|
|
593
593
|
this.pageAction = pageAction;
|
|
594
594
|
this.popAction = popAction;
|
|
595
595
|
this.popMode = false;
|
|
596
|
-
this.page = signal(undefined);
|
|
597
596
|
this.fieldLabelAction = signal(undefined);
|
|
598
597
|
this.fieldAction = signal(undefined);
|
|
599
598
|
this.action = signal(undefined);
|
|
@@ -695,10 +694,15 @@ class ActionService {
|
|
|
695
694
|
return this.pageAction.getSortItem();
|
|
696
695
|
}
|
|
697
696
|
setPage(page) {
|
|
698
|
-
this.
|
|
697
|
+
if (!this.popMode) {
|
|
698
|
+
this.pageAction.setPage(page);
|
|
699
|
+
}
|
|
699
700
|
}
|
|
700
701
|
getPage() {
|
|
701
|
-
|
|
702
|
+
if (!this.popMode) {
|
|
703
|
+
return this.pageAction.getPage();
|
|
704
|
+
}
|
|
705
|
+
return undefined;
|
|
702
706
|
}
|
|
703
707
|
setFieldLabelAction(key, type) {
|
|
704
708
|
this.fieldLabelAction.set({ key, type });
|
|
@@ -735,6 +739,7 @@ class PageActionService {
|
|
|
735
739
|
this.searchItem = signal(undefined);
|
|
736
740
|
this.searchClear = signal(undefined);
|
|
737
741
|
this.sortItem = signal(undefined);
|
|
742
|
+
this.page = signal(undefined);
|
|
738
743
|
}
|
|
739
744
|
setModelName(modelNameForSearch) {
|
|
740
745
|
if (modelNameForSearch == undefined) {
|
|
@@ -805,6 +810,12 @@ class PageActionService {
|
|
|
805
810
|
getSortItem() {
|
|
806
811
|
return this.sortItem();
|
|
807
812
|
}
|
|
813
|
+
setPage(page) {
|
|
814
|
+
this.page.set(page);
|
|
815
|
+
}
|
|
816
|
+
getPage() {
|
|
817
|
+
return this.page();
|
|
818
|
+
}
|
|
808
819
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageActionService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
809
820
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PageActionService, providedIn: 'root' }); }
|
|
810
821
|
}
|
|
@@ -2939,7 +2950,7 @@ class ImageComponent {
|
|
|
2939
2950
|
@for (image of imageList; track image; let index = $index) {
|
|
2940
2951
|
<div class="flex justify-between items-center file-item">
|
|
2941
2952
|
<p-image
|
|
2942
|
-
[src]="'
|
|
2953
|
+
[src]="'https://hrimage.myfoodiepet.com//' + image"
|
|
2943
2954
|
[preview]="true"
|
|
2944
2955
|
alt="Image">
|
|
2945
2956
|
<ng-template #indicator>
|
|
@@ -3008,7 +3019,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
3008
3019
|
@for (image of imageList; track image; let index = $index) {
|
|
3009
3020
|
<div class="flex justify-between items-center file-item">
|
|
3010
3021
|
<p-image
|
|
3011
|
-
[src]="'
|
|
3022
|
+
[src]="'https://hrimage.myfoodiepet.com//' + image"
|
|
3012
3023
|
[preview]="true"
|
|
3013
3024
|
alt="Image">
|
|
3014
3025
|
<ng-template #indicator>
|
|
@@ -4269,6 +4280,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
4269
4280
|
}]
|
|
4270
4281
|
}] });
|
|
4271
4282
|
|
|
4283
|
+
const ColorMap = {
|
|
4284
|
+
emerald: '#10B981',
|
|
4285
|
+
green: '#22C55E',
|
|
4286
|
+
lime: '#84CC16',
|
|
4287
|
+
orange: '#F97316',
|
|
4288
|
+
amber: '#F59E0B',
|
|
4289
|
+
sky: '#0EA5E9',
|
|
4290
|
+
blue: '#3B82F6',
|
|
4291
|
+
violet: '#6B26C1',
|
|
4292
|
+
pink: '#EC4899',
|
|
4293
|
+
purple: '#9A72C8',
|
|
4294
|
+
red: '#EF4444',
|
|
4295
|
+
yellow: '#F59E0B',
|
|
4296
|
+
gray: '#4B5563',
|
|
4297
|
+
teal: '#16A34A',
|
|
4298
|
+
cyan: '#25D366',
|
|
4299
|
+
indigo: '#6574CD',
|
|
4300
|
+
fushsia: '#E10098',
|
|
4301
|
+
};
|
|
4302
|
+
class ChipRenderer {
|
|
4303
|
+
constructor() {
|
|
4304
|
+
this.label = '';
|
|
4305
|
+
this.color = '';
|
|
4306
|
+
}
|
|
4307
|
+
agInit(params) {
|
|
4308
|
+
const options = params.options;
|
|
4309
|
+
const item = options?.find((item) => item.value === params.value);
|
|
4310
|
+
this.label = item.label || '';
|
|
4311
|
+
this.color = item.chip ? ColorMap[item.chip] : '';
|
|
4312
|
+
}
|
|
4313
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChipRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4314
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ChipRenderer, isStandalone: true, selector: "ng-component", providers: [AsyncPipe], ngImport: i0, template: `
|
|
4315
|
+
@if (color) {
|
|
4316
|
+
<span
|
|
4317
|
+
class="cell-chip"
|
|
4318
|
+
[style]="{ background: color }"
|
|
4319
|
+
>{{ label }}</span
|
|
4320
|
+
>
|
|
4321
|
+
} @else {
|
|
4322
|
+
<span>{{ label }}</span>
|
|
4323
|
+
}
|
|
4324
|
+
`, isInline: true, styles: [".cell-chip{padding:2px 5px;color:#fff;border-radius:2px;font-size:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] }); }
|
|
4325
|
+
}
|
|
4326
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChipRenderer, decorators: [{
|
|
4327
|
+
type: Component,
|
|
4328
|
+
args: [{ standalone: true, imports: [CommonModule], providers: [AsyncPipe], template: `
|
|
4329
|
+
@if (color) {
|
|
4330
|
+
<span
|
|
4331
|
+
class="cell-chip"
|
|
4332
|
+
[style]="{ background: color }"
|
|
4333
|
+
>{{ label }}</span
|
|
4334
|
+
>
|
|
4335
|
+
} @else {
|
|
4336
|
+
<span>{{ label }}</span>
|
|
4337
|
+
}
|
|
4338
|
+
`, styles: [".cell-chip{padding:2px 5px;color:#fff;border-radius:2px;font-size:12px}\n"] }]
|
|
4339
|
+
}] });
|
|
4340
|
+
|
|
4272
4341
|
// rowModelType 使用clientSide的最大值
|
|
4273
4342
|
const CLIENTLIMIT = 9999;
|
|
4274
4343
|
const components = {
|
|
@@ -4277,6 +4346,7 @@ const components = {
|
|
|
4277
4346
|
cellEditSelectComponent: CellEditSelectComponent,
|
|
4278
4347
|
linkRenderer: LinkRenderer,
|
|
4279
4348
|
asyncRenderer: AsyncRenderer,
|
|
4349
|
+
chipRenderer: ChipRenderer,
|
|
4280
4350
|
cellEditAutoCompleteComponent: CellEditAutoCompleteComponent,
|
|
4281
4351
|
};
|
|
4282
4352
|
|
|
@@ -6005,6 +6075,9 @@ class FormFieldComponent {
|
|
|
6005
6075
|
@if (props(field()!).required) {
|
|
6006
6076
|
<span class="field-required">*</span>
|
|
6007
6077
|
}
|
|
6078
|
+
@if (!field()?.fieldControl?.disabled) {
|
|
6079
|
+
<span class="iconfont icon-edit-flag field-editable"></span>
|
|
6080
|
+
}
|
|
6008
6081
|
</label>
|
|
6009
6082
|
</div>
|
|
6010
6083
|
<div class="flex-1 min-h-8 pt-1 w-0 flex flex-row-reverse">
|
|
@@ -6017,7 +6090,7 @@ class FormFieldComponent {
|
|
|
6017
6090
|
</div>
|
|
6018
6091
|
</div>
|
|
6019
6092
|
}
|
|
6020
|
-
`, isInline: true, styles: [".p-field>label{margin:2px;text-overflow:ellipsis;display:block;color:#1e293b}.p-field>label:not(.ng-valid).ng-dirty{color:var(--p-red-500)!important}.p-field>label:not(.ng-valid).ng-dirty>.field-required{color:var(--p-red-500)!important}.field-required{padding-left:2.5px;color:var(--p-primary-color)}.field-label{display:inline-block;overflow-wrap:break-word;word-break:break-word;white-space:normal}\n"], dependencies: [{ kind: "component", type: FormFieldComponent, selector: "form-field", inputs: ["field"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: FormTypeComponent, selector: "form-type", inputs: ["field"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: LabelDirective, selector: "[fieldLabel]", inputs: ["fieldLabel"] }] }); }
|
|
6093
|
+
`, isInline: true, styles: [".p-field>label{margin:2px;text-overflow:ellipsis;display:block;color:#1e293b}.p-field>label:not(.ng-valid).ng-dirty{color:var(--p-red-500)!important}.p-field>label:not(.ng-valid).ng-dirty>.field-required{color:var(--p-red-500)!important}.field-required{padding-left:2.5px;color:var(--p-primary-color)}.p-field>label:not(.ng-valid).ng-dirty>.field-editable{color:var(--p-red-500)!important}.field-editable{padding-left:1px;font-size:6px;color:var(--p-primary-color)}.field-label{display:inline-block;overflow-wrap:break-word;word-break:break-word;white-space:normal}\n"], dependencies: [{ kind: "component", type: FormFieldComponent, selector: "form-field", inputs: ["field"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: FormTypeComponent, selector: "form-type", inputs: ["field"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: LabelDirective, selector: "[fieldLabel]", inputs: ["fieldLabel"] }] }); }
|
|
6021
6094
|
}
|
|
6022
6095
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
6023
6096
|
type: Component,
|
|
@@ -6052,6 +6125,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6052
6125
|
@if (props(field()!).required) {
|
|
6053
6126
|
<span class="field-required">*</span>
|
|
6054
6127
|
}
|
|
6128
|
+
@if (!field()?.fieldControl?.disabled) {
|
|
6129
|
+
<span class="iconfont icon-edit-flag field-editable"></span>
|
|
6130
|
+
}
|
|
6055
6131
|
</label>
|
|
6056
6132
|
</div>
|
|
6057
6133
|
<div class="flex-1 min-h-8 pt-1 w-0 flex flex-row-reverse">
|
|
@@ -6064,7 +6140,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
6064
6140
|
</div>
|
|
6065
6141
|
</div>
|
|
6066
6142
|
}
|
|
6067
|
-
`, styles: [".p-field>label{margin:2px;text-overflow:ellipsis;display:block;color:#1e293b}.p-field>label:not(.ng-valid).ng-dirty{color:var(--p-red-500)!important}.p-field>label:not(.ng-valid).ng-dirty>.field-required{color:var(--p-red-500)!important}.field-required{padding-left:2.5px;color:var(--p-primary-color)}.field-label{display:inline-block;overflow-wrap:break-word;word-break:break-word;white-space:normal}\n"] }]
|
|
6143
|
+
`, styles: [".p-field>label{margin:2px;text-overflow:ellipsis;display:block;color:#1e293b}.p-field>label:not(.ng-valid).ng-dirty{color:var(--p-red-500)!important}.p-field>label:not(.ng-valid).ng-dirty>.field-required{color:var(--p-red-500)!important}.field-required{padding-left:2.5px;color:var(--p-primary-color)}.p-field>label:not(.ng-valid).ng-dirty>.field-editable{color:var(--p-red-500)!important}.field-editable{padding-left:1px;font-size:6px;color:var(--p-primary-color)}.field-label{display:inline-block;overflow-wrap:break-word;word-break:break-word;white-space:normal}\n"] }]
|
|
6068
6144
|
}], ctorParameters: () => [], propDecorators: { fieldComponents: [{
|
|
6069
6145
|
type: ViewChildren,
|
|
6070
6146
|
args: [FormFieldComponent]
|
|
@@ -6273,7 +6349,7 @@ class FormComponent {
|
|
|
6273
6349
|
const fieldLabels = [];
|
|
6274
6350
|
this.getFieldLabels(this.fieldComponents, fieldLabels);
|
|
6275
6351
|
const offsetWidths = fieldLabels.map((fieldLabel) => fieldLabel.nativeElement.offsetWidth);
|
|
6276
|
-
this.labelMinWidth.set(Math.max(...offsetWidths) +
|
|
6352
|
+
this.labelMinWidth.set(Math.max(...offsetWidths) + 24 + 'px');
|
|
6277
6353
|
}
|
|
6278
6354
|
getFieldLabels(fieldComponents, fieldLabels) {
|
|
6279
6355
|
if (!fieldComponents) {
|
|
@@ -6649,7 +6725,7 @@ class ImportComponent {
|
|
|
6649
6725
|
const link = document.createElement('a');
|
|
6650
6726
|
link.href = isDevMode()
|
|
6651
6727
|
? '/importFiles/' + this.fileName() + '.xlsx'
|
|
6652
|
-
:
|
|
6728
|
+
: `/${baseHref.replace(/\/(.*?)\//, "$1")}/importFiles/${this.fileName()}.xlsx`;
|
|
6653
6729
|
link.download = this.fileName() + '.xlsx';
|
|
6654
6730
|
document.body.appendChild(link);
|
|
6655
6731
|
link.click();
|