@ai-table/grid 0.0.20 → 0.0.21
Sign up to get free protection for your applications and to get access to all the features.
- package/components/context-menu/context-menu.component.d.ts +18 -0
- package/components/context-menu/context-menu.component.d.ts.map +1 -0
- package/components/context-menu/context-menu.scss +12 -0
- package/components/field-menu/field-menu.component.d.ts +3 -3
- package/components/field-menu/field-menu.component.d.ts.map +1 -1
- package/components/field-property-editor/field-property-editor.component.d.ts.map +1 -1
- package/components/field-property-editor/field-property-editor.component.scss +7 -0
- package/components/index.d.ts +1 -0
- package/components/index.d.ts.map +1 -1
- package/constants/table.d.ts +1 -0
- package/constants/table.d.ts.map +1 -1
- package/core/constants/field.d.ts.map +1 -1
- package/dom-grid.component.d.ts.map +1 -1
- package/esm2022/components/context-menu/context-menu.component.mjs +37 -0
- package/esm2022/components/field-menu/field-menu.component.mjs +6 -6
- package/esm2022/components/field-property-editor/field-property-editor.component.mjs +8 -5
- package/esm2022/components/index.mjs +2 -1
- package/esm2022/constants/table.mjs +2 -1
- package/esm2022/core/constants/field.mjs +9 -3
- package/esm2022/dom-grid.component.mjs +3 -3
- package/esm2022/grid-base.component.mjs +3 -2
- package/esm2022/grid.component.mjs +42 -6
- package/esm2022/pipes/grid.pipe.mjs +18 -1
- package/esm2022/renderer/components/hover-row-heads.component.mjs +2 -2
- package/esm2022/renderer/creations/create-cells.mjs +12 -6
- package/esm2022/renderer/drawers/add-row-layout-drawer.mjs +8 -7
- package/esm2022/renderer/drawers/layout-drawer.mjs +3 -3
- package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +4 -4
- package/esm2022/renderer/renderer.component.mjs +7 -3
- package/esm2022/services/event.service.mjs +19 -1
- package/esm2022/services/field.service.mjs +6 -3
- package/esm2022/types/grid.mjs +1 -1
- package/esm2022/types/row.mjs +1 -1
- package/fesm2022/ai-table-grid.mjs +240 -115
- package/fesm2022/ai-table-grid.mjs.map +1 -1
- package/grid-base.component.d.ts +3 -2
- package/grid-base.component.d.ts.map +1 -1
- package/grid.component.d.ts +2 -0
- package/grid.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/pipes/grid.pipe.d.ts +5 -0
- package/pipes/grid.pipe.d.ts.map +1 -1
- package/renderer/creations/create-cells.d.ts.map +1 -1
- package/renderer/drawers/add-row-layout-drawer.d.ts +2 -2
- package/renderer/drawers/add-row-layout-drawer.d.ts.map +1 -1
- package/renderer/drawers/layout-drawer.d.ts +1 -1
- package/renderer/drawers/layout-drawer.d.ts.map +1 -1
- package/renderer/renderer.component.d.ts +3 -1
- package/renderer/renderer.component.d.ts.map +1 -1
- package/services/event.service.d.ts +3 -1
- package/services/event.service.d.ts.map +1 -1
- package/services/field.service.d.ts +2 -2
- package/services/field.service.d.ts.map +1 -1
- package/styles/styles.scss +1 -0
- package/types/grid.d.ts.map +1 -1
- package/types/row.d.ts +29 -0
- package/types/row.d.ts.map +1 -1
@@ -13,6 +13,7 @@ export class AITableRenderer {
|
|
13
13
|
this.config = input.required();
|
14
14
|
this.koMousemove = output();
|
15
15
|
this.koMousedown = output();
|
16
|
+
this.koContextmenu = output();
|
16
17
|
this.koWheel = output();
|
17
18
|
this.koClick = output();
|
18
19
|
this.koDblclick = output();
|
@@ -146,6 +147,9 @@ export class AITableRenderer {
|
|
146
147
|
stageMousedown(e) {
|
147
148
|
this.koMousedown.emit(e);
|
148
149
|
}
|
150
|
+
stageContextmenu(e) {
|
151
|
+
this.koContextmenu.emit(e);
|
152
|
+
}
|
149
153
|
stageClick(e) {
|
150
154
|
this.koClick.emit(e);
|
151
155
|
}
|
@@ -153,7 +157,7 @@ export class AITableRenderer {
|
|
153
157
|
this.koDblclick.emit(e);
|
154
158
|
}
|
155
159
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableRenderer, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
156
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoStage, selector: "ko-stage", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableColumnHeads, selector: "ai-table-column-heads", inputs: ["config"] }, { kind: "component", type: AITableFrozenColumnHeads, selector: "ai-table-frozen-column-heads", inputs: ["config"] }, { kind: "component", type: AITableCells, selector: "ai-table-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenCells, selector: "ai-table-frozen-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenPlaceholderCells, selector: "ai-table-frozen-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITablePlaceholderCells, selector: "ai-table-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableAddField, selector: "ai-table-add-field", inputs: ["config"] }, { kind: "component", type: AITableHoverRowHeads, selector: "ai-table-hover-row-heads", inputs: ["config"] }, { kind: "component", type: AITableOtherRows, selector: "ai-table-other-rows", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
160
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AITableRenderer, isStandalone: true, selector: "ai-table-renderer", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { koMousemove: "koMousemove", koMousedown: "koMousedown", koContextmenu: "koContextmenu", koWheel: "koWheel", koClick: "koClick", koDblclick: "koDblclick" }, ngImport: i0, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n", dependencies: [{ kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }, { kind: "component", type: KoStage, selector: "ko-stage", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: KoShape, selector: "ko-shape, ko-circle, ko-label, ko-rect, ko-ellipse, ko-wedge, ko-line, ko-sprite, ko-image, ko-text, ko-text-path, ko-star, ko-ring, ko-arc, ko-tag, ko-path, ko-regular-polygon, ko-arrow, ko-transformer", inputs: ["config"], outputs: ["koMouseover", "koMousemove", "koMouseout", "koMouseenter", "koMouseleave", "koMousedown", "koMouseup", "koWheel", "koContextmenu", "koClick", "koDblclick", "koTouchstart", "koTouchmove", "koTouchend", "koTap", "koDbltap", "koDragstart", "koDragmove", "koDragend"] }, { kind: "component", type: AITableColumnHeads, selector: "ai-table-column-heads", inputs: ["config"] }, { kind: "component", type: AITableFrozenColumnHeads, selector: "ai-table-frozen-column-heads", inputs: ["config"] }, { kind: "component", type: AITableCells, selector: "ai-table-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenCells, selector: "ai-table-frozen-cells", inputs: ["config"] }, { kind: "component", type: AITableFrozenPlaceholderCells, selector: "ai-table-frozen-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITablePlaceholderCells, selector: "ai-table-placeholder-cells", inputs: ["config"] }, { kind: "component", type: AITableAddField, selector: "ai-table-add-field", inputs: ["config"] }, { kind: "component", type: AITableHoverRowHeads, selector: "ai-table-hover-row-heads", inputs: ["config"] }, { kind: "component", type: AITableOtherRows, selector: "ai-table-other-rows", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
157
161
|
}
|
158
162
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableRenderer, decorators: [{
|
159
163
|
type: Component,
|
@@ -170,6 +174,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
170
174
|
AITableAddField,
|
171
175
|
AITableHoverRowHeads,
|
172
176
|
AITableOtherRows
|
173
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n" }]
|
177
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ko-stage\n [config]=\"stageConfig()\"\n (koMousemove)=\"stageMousemove($event)\"\n (koMousedown)=\"stageMousedown($event)\"\n (koContextmenu)=\"stageContextmenu($event)\"\n (koClick)=\"stageClick($event)\"\n (koDblclick)=\"stageDblclick($event)\"\n>\n <ko-layer>\n <ko-group [config]=\"gridGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n <ai-table-frozen-cells [config]=\"cellsConfig()\"></ai-table-frozen-cells>\n <ai-table-other-rows [config]=\"cellsConfig()\"></ai-table-other-rows>\n <ai-table-hover-row-heads [config]=\"cellsConfig()\"></ai-table-hover-row-heads>\n <ai-table-frozen-placeholder-cells [config]=\"cellsConfig()\"></ai-table-frozen-placeholder-cells>\n </ko-group>\n\n <ko-group>\n <ai-table-frozen-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-frozen-column-heads>\n </ko-group>\n\n <ko-group [config]=\"commonGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-cells [config]=\"cellsConfig()\"></ai-table-cells>\n </ko-group>\n\n <ko-group [config]=\"offsetXConfig()\">\n <ai-table-column-heads [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-column-heads>\n <ai-table-add-field [config]=\"columnHeadOrAddFieldConfig()\"></ai-table-add-field>\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"attachGroupConfig()\">\n <ko-group [config]=\"offsetConfig()\">\n <ai-table-placeholder-cells [config]=\"cellsConfig()\"></ai-table-placeholder-cells>\n @if (activeCellBorderConfig().activeCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().activeCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n\n <ko-group [config]=\"frozenAttachGroupConfig()\">\n <ko-group [config]=\"offsetYConfig()\">\n @if (activeCellBorderConfig().frozenActiveCellBorder) {\n <ko-rect [config]=\"activeCellBorderConfig().frozenActiveCellBorder!\"></ko-rect>\n }\n </ko-group>\n </ko-group>\n </ko-group>\n </ko-layer>\n</ko-stage>\n\n<ng-content></ng-content>\n" }]
|
174
178
|
}] });
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLFdBQVcsRUFBaUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hGLE9BQU8sRUFBbUMsdUJBQXVCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUVsQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0MsT0FBTyxFQUNILGVBQWUsRUFDZixZQUFZLEVBQ1osa0JBQWtCLEVBRWxCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsNkJBQTZCLEVBQzdCLG9CQUFvQixFQUVwQixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQzFCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOztBQUUvRSxLQUFLLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztBQXNCckIsTUFBTSxPQUFPLGVBQWU7SUFwQjVCO1FBcUJJLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUF5QixDQUFDO1FBRWpELGdCQUFXLEdBQUcsTUFBTSxFQUE2QixDQUFDO1FBRWxELGdCQUFXLEdBQUcsTUFBTSxFQUE2QixDQUFDO1FBRWxELFlBQU8s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QVksK0VBQ1osa0JBQWtCLHNGQUNsQiw2QkFBNkIsa0dBQzdCLHVCQUF1QiwyRkFDdkIsZUFBZSxtRkFDZixvQkFBb0IseUZBQ3BCLGdCQUFnQjs7MkZBSVgsZUFBZTtrQkFwQjNCLFNBQVM7K0JBQ0ksbUJBQW1CLGNBRWpCLElBQUksV0FDUDt3QkFDTCxXQUFXO3dCQUNYLE9BQU87d0JBQ1AsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLHdCQUF3Qjt3QkFDeEIsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLDZCQUE2Qjt3QkFDN0IsdUJBQXVCO3dCQUN2QixlQUFlO3dCQUNmLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3FCQUNuQixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgS29udmEgZnJvbSAna29udmEnO1xuaW1wb3J0IHsgU3RhZ2VDb25maWcgfSBmcm9tICdrb252YS9saWIvU3RhZ2UnO1xuaW1wb3J0IHsgS29Db250YWluZXIsIEtvRXZlbnRPYmplY3QsIEtvU2hhcGUsIEtvU3RhZ2UgfSBmcm9tICcuLi9hbmd1bGFyLWtvbnZhJztcbmltcG9ydCB7IEFJX1RBQkxFX0ZJRUxEX0FERF9CVVRUT05fV0lEVEgsIEFJX1RBQkxFX1JPV19IRUFEX1dJRFRIIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFJVGFibGUgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVSZW5kZXJlckNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGdldFZpc2libGVSYW5nZUluZm8gfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge1xuICAgIEFJVGFibGVBZGRGaWVsZCxcbiAgICBBSVRhYmxlQ2VsbHMsXG4gICAgQUlUYWJsZUNvbHVtbkhlYWRzLFxuICAgIEFJVGFibGVGaWVsZEhlYWQsXG4gICAgQUlUYWJsZUZyb3plbkNlbGxzLFxuICAgIEFJVGFibGVGcm96ZW5Db2x1bW5IZWFkcyxcbiAgICBBSVRhYmxlRnJvemVuUGxhY2Vob2xkZXJDZWxscyxcbiAgICBBSVRhYmxlSG92ZXJSb3dIZWFkcyxcbiAgICBBSVRhYmxlSWNvbixcbiAgICBBSVRhYmxlT3RoZXJSb3dzLFxuICAgIEFJVGFibGVQbGFjZWhvbGRlckNlbGxzXG59IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBjcmVhdGVBY3RpdmVDZWxsQm9yZGVyIH0gZnJvbSAnLi9jcmVhdGlvbnMvY3JlYXRlLWFjdGl2ZS1jZWxsLWJvcmRlcic7XG5cbktvbnZhLnBpeGVsUmF0aW8gPSAyO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLXJlbmRlcmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBLb0NvbnRhaW5lcixcbiAgICAgICAgS29TdGFnZSxcbiAgICAgICAgS29TaGFwZSxcbiAgICAgICAgQUlUYWJsZUNvbHVtbkhlYWRzLFxuICAgICAgICBBSVRhYmxlRnJvemVuQ29sdW1uSGVhZHMsXG4gICAgICAgIEFJVGFibGVDZWxscyxcbiAgICAgICAgQUlUYWJsZUZyb3plbkNlbGxzLFxuICAgICAgICBBSVRhYmxlRnJvemVuUGxhY2Vob2xkZXJDZWxscyxcbiAgICAgICAgQUlUYWJsZVBsYWNlaG9sZGVyQ2VsbHMsXG4gICAgICAgIEFJVGFibGVBZGRGaWVsZCxcbiAgICAgICAgQUlUYWJsZUhvdmVyUm93SGVhZHMsXG4gICAgICAgIEFJVGFibGVPdGhlclJvd3NcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVSZW5kZXJlciB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZVJlbmRlcmVyQ29uZmlnPigpO1xuXG4gICAga29Nb3VzZW1vdmUgPSBvdXRwdXQ8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj4oKTtcblxuICAgIGtvTW91c2Vkb3duID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBrb1doZWVsID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8V2hlZWxFdmVudD4+KCk7XG5cbiAgICBrb0NsaWNrID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBrb0RibGNsaWNrID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBmaWVsZHMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBBSVRhYmxlLmdldFZpc2libGVGaWVsZHModGhpcy5jb25maWcoKS5haVRhYmxlKTtcbiAgICB9KTtcblxuICAgIHJlYWRvbmx5ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcoKT8ucmVhZG9ubHk7XG4gICAgfSk7XG5cbiAgICBjb29yZGluYXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcoKT8uY29vcmRpbmF0ZTtcbiAgICB9KTtcblxuICAgIGNvbnRhaW5lcldpZHRoID0gY29tcHV0ZWQ8bnVtYmVyPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZygpLmNvbnRhaW5lcldpZHRoO1xuICAgIH0pO1xuXG4gICAgY29udGFpbmVySGVpZ2h0ID0gY29tcHV0ZWQ8bnVtYmVyPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZygpLmNvbnRhaW5lckhlaWdodDtcbiAgICB9KTtcblxuICAgIHNjcm9sbFN0YXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcoKT8uYWlUYWJsZSEuY29udGV4dCEuc2Nyb2xsU3RhdGUoKTtcbiAgICB9KTtcblxuICAgIHZpc2libGVSYW5nZUluZm8gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBnZXRWaXNpYmxlUmFuZ2VJbmZvKHRoaXMuY29vcmRpbmF0ZSgpISwgdGhpcy5zY3JvbGxTdGF0ZSgpISk7XG4gICAgfSk7XG5cbiAgICBmcm96ZW5BcmVhV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBBSV9UQUJMRV9ST1dfSEVBRF9XSURUSCArIHRoaXMuY29vcmRpbmF0ZSgpIS5mcm96ZW5Db2x1bW5XaWR0aCE7XG4gICAgfSk7XG5cbiAgICBsYXN0Q29sdW1uV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvb3JkaW5hdGUoKSEuZ2V0Q29sdW1uV2lkdGgodGhpcy52aXNpYmxlUmFuZ2VJbmZvKCkuY29sdW1uU3RvcEluZGV4KTtcbiAgICB9KTtcblxuICAgIGxhc3RDb2x1bW5PZmZzZXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvb3JkaW5hdGUoKSEuZ2V0Q29sdW1uT2Zmc2V0KHRoaXMudmlzaWJsZVJhbmdlSW5mbygpLmNvbHVtblN0b3BJbmRleCk7XG4gICAgfSk7XG5cbiAgICBjZWxsR3JvdXBDbGlwV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lcldpZHRoKCkgLSB0aGlzLmZyb3plbkFyZWFXaWR0aCgpO1xuICAgIH0pO1xuXG4gICAgc3RhZ2VDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGlzU2Nyb2xsaW5nIH0gPSB0aGlzLnNjcm9sbFN0YXRlKCkhO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgd2lkdGg6IHRoaXMuY29udGFpbmVyV2lkdGgoKSxcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5jb250YWluZXJIZWlnaHQoKSxcbiAgICAgICAgICAgIGxpc3RlbmluZzogaXNTY3JvbGxpbmcgPyBmYWxzZSA6IHRydWVcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGdyaWRHcm91cENvbmZpZyA9IGNvbXB1dGVkPFBhcnRpYWw8U3RhZ2VDb25maWc+PigoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjbGlwWDogMCxcbiAgICAgICAgICAgIGNsaXBZOiAwLFxuICAgICAgICAgICAgY2xpcFdpZHRoOiB0aGlzLmNvbnRhaW5lcldpZHRoKCksXG4gICAgICAgICAgICBjbGlwSGVpZ2h0OiB0aGlzLmNvbnRhaW5lckhlaWdodCgpXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjb21tb25Hcm91cENvbmZpZyA9IGNvbXB1dGVkPFBhcnRpYWw8U3RhZ2VDb25maWc+PigoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjbGlwWDogdGhpcy5mcm96ZW5BcmVhV2lkdGgoKSArIDEsXG4gICAgICAgICAgICBjbGlwWTogMCxcbiAgICAgICAgICAgIGNsaXBXaWR0aDogdGhpcy5jZWxsR3JvdXBDbGlwV2lkdGgoKSxcbiAgICAgICAgICAgIGNsaXBIZWlnaHQ6IHRoaXMuY29udGFpbmVySGVpZ2h0KClcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGF0dGFjaEdyb3VwQ29uZmlnID0gY29tcHV0ZWQ8UGFydGlhbDxTdGFnZUNvbmZpZz4+KCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNsaXBYOiB0aGlzLmZyb3plbkFyZWFXaWR0aCgpIC0gMSxcbiAgICAgICAgICAgIGNsaXBZOiB0aGlzLmNvb3JkaW5hdGUoKSEucm93SW5pdFNpemUgLSAxLFxuICAgICAgICAgICAgY2xpcFdpZHRoOiB0aGlzLmNvbnRhaW5lcldpZHRoKCkgLSB0aGlzLmZyb3plbkFyZWFXaWR0aCgpLFxuICAgICAgICAgICAgY2xpcEhlaWdodDogdGhpcy5jb250YWluZXJIZWlnaHQoKSAtIHRoaXMuY29vcmRpbmF0ZSgpIS5yb3dJbml0U2l6ZVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgZnJvemVuQXR0YWNoR3JvdXBDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY2xpcFg6IDAsXG4gICAgICAgICAgICBjbGlwWTogdGhpcy5jb29yZGluYXRlKCkhLnJvd0luaXRTaXplIC0gMSxcbiAgICAgICAgICAgIGNsaXBXaWR0aDogdGhpcy5mcm96ZW5BcmVhV2lkdGgoKSArIDQsXG4gICAgICAgICAgICBjbGlwSGVpZ2h0OiB0aGlzLmNvbnRhaW5lckhlaWdodCgpIC0gdGhpcy5jb29yZGluYXRlKCkhLnJvd0luaXRTaXplXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBvZmZzZXRZQ29uZmlnID0gY29tcHV0ZWQ8UGFydGlhbDxTdGFnZUNvbmZpZz4+KCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBzY3JvbGxUb3AgfSA9IHRoaXMuc2Nyb2xsU3RhdGUoKSE7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvZmZzZXRZOiBzY3JvbGxUb3BcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIG9mZnNldFhDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHNjcm9sbExlZnQgfSA9IHRoaXMuc2Nyb2xsU3RhdGUoKSE7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvZmZzZXRYOiBzY3JvbGxMZWZ0XG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBvZmZzZXRDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHNjcm9sbExlZnQsIHNjcm9sbFRvcCB9ID0gdGhpcy5zY3JvbGxTdGF0ZSgpITtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG9mZnNldFg6IHNjcm9sbExlZnQsXG4gICAgICAgICAgICBvZmZzZXRZOiBzY3JvbGxUb3BcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGNvbHVtbkhlYWRPckFkZEZpZWxkQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGNvbHVtblN0YXJ0SW5kZXgsIGNvbHVtblN0b3BJbmRleCB9ID0gdGhpcy52aXNpYmxlUmFuZ2VJbmZvKCk7XG4gICAgICAgIGNvbnN0IHsgYWlUYWJsZSwgY29vcmRpbmF0ZSwgcmVhZG9ubHkgfSA9IHRoaXMuY29uZmlnKCk7XG4gICAgICAgIGNvbnN0IHsgcG9pbnRQb3NpdGlvbiB9ID0gYWlUYWJsZS5jb250ZXh0ITtcbiAgICAgICAgY29uc3QgZmllbGRzID0gdGhpcy5maWVsZHMoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFpVGFibGUsXG4gICAgICAgICAgICBjb29yZGluYXRlLFxuICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICAgY29sdW1uU3RhcnRJbmRleCxcbiAgICAgICAgICAgIGNvbHVtblN0b3BJbmRleCxcbiAgICAgICAgICAgIHBvaW50UG9zaXRpb246IHBvaW50UG9zaXRpb24oKSxcbiAgICAgICAgICAgIHJlYWRvbmx5XG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjZWxsc0NvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBhaVRhYmxlLCBjb29yZGluYXRlLCByZWZlcmVuY2VzIH0gPSB0aGlzLmNvbmZpZygpO1xuICAgICAgICBjb25zdCB7IHJvd1N0YXJ0SW5kZXgsIHJvd1N0b3BJbmRleCwgY29sdW1uU3RhcnRJbmRleCwgY29sdW1uU3RvcEluZGV4IH0gPSB0aGlzLnZpc2libGVSYW5nZUluZm8oKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFpVGFibGUsXG4gICAgICAgICAgICBjb29yZGluYXRlLFxuICAgICAgICAgICAgcmVmZXJlbmNlcyxcbiAgICAgICAgICAgIHJvd1N0YXJ0SW5kZXgsXG4gICAgICAgICAgICByb3dTdG9wSW5kZXgsXG4gICAgICAgICAgICBjb2x1bW5TdGFydEluZGV4LFxuICAgICAgICAgICAgY29sdW1uU3RvcEluZGV4XG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBhY3RpdmVDZWxsQm9yZGVyQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gY3JlYXRlQWN0aXZlQ2VsbEJvcmRlcih0aGlzLmNlbGxzQ29uZmlnKCkpO1xuICAgIH0pO1xuXG4gICAgc3RhZ2VNb3VzZW1vdmUoZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICB0aGlzLmtvTW91c2Vtb3ZlLmVtaXQoZSBhcyBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KTtcbiAgICB9XG5cbiAgICBzdGFnZU1vdXNlZG93bihlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIHRoaXMua29Nb3VzZWRvd24uZW1pdChlIGFzIEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4pO1xuICAgIH1cblxuICAgIHN0YWdlQ2xpY2soZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICB0aGlzLmtvQ2xpY2suZW1pdChlIGFzIEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4pO1xuICAgIH1cblxuICAgIHN0YWdlRGJsY2xpY2soZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICB0aGlzLmtvRGJsY2xpY2suZW1pdChlIGFzIEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4pO1xuICAgIH1cbn1cbiIsIjxrby1zdGFnZVxuICAgIFtjb25maWddPVwic3RhZ2VDb25maWcoKVwiXG4gICAgKGtvTW91c2Vtb3ZlKT1cInN0YWdlTW91c2Vtb3ZlKCRldmVudClcIlxuICAgIChrb01vdXNlZG93bik9XCJzdGFnZU1vdXNlZG93bigkZXZlbnQpXCJcbiAgICAoa29DbGljayk9XCJzdGFnZUNsaWNrKCRldmVudClcIlxuICAgIChrb0RibGNsaWNrKT1cInN0YWdlRGJsY2xpY2soJGV2ZW50KVwiXG4+XG4gICAgPGtvLWxheWVyPlxuICAgICAgICA8a28tZ3JvdXAgW2NvbmZpZ109XCJncmlkR3JvdXBDb25maWcoKVwiPlxuICAgICAgICAgICAgPGtvLWdyb3VwIFtjb25maWddPVwib2Zmc2V0WUNvbmZpZygpXCI+XG4gICAgICAgICAgICAgICAgPGFpLXRhYmxlLWZyb3plbi1jZWxscyBbY29uZmlnXT1cImNlbGxzQ29uZmlnKClcIj48L2FpLXRhYmxlLWZyb3plbi1jZWxscz5cbiAgICAgICAgICAgICAgICA8YWktdGFibGUtb3RoZXItcm93cyBbY29uZmlnXT1cImNlbGxzQ29uZmlnKClcIj48L2FpLXRhYmxlLW90aGVyLXJvd3M+XG4gICAgICAgICAgICAgICAgPGFpLXRhYmxlLWhvdmVyLXJvdy1oZWFkcyBbY29uZmlnXT1cImNlbGxzQ29uZmlnKClcIj48L2FpLXRhYmxlLWhvdmVyLXJvdy1oZWFkcz5cbiAgICAgICAgICAgICAgICA8YWktdGFibGUtZnJvemVuLXBsYWNlaG9sZGVyLWNlbGxzIFtjb25maWddPVwiY2VsbHNDb25maWcoKVwiPjwvYWktdGFibGUtZnJvemVuLXBsYWNlaG9sZGVyLWNlbGxzPlxuICAgICAgICAgICAgPC9rby1ncm91cD5cblxuICAgICAgICAgICAgPGtvLWdyb3VwPlxuICAgICAgICAgICAgICAgIDxhaS10YWJsZS1mcm96ZW4tY29sdW1uLWhlYWRzIFtjb25maWddPVwiY29sdW1uSGVhZE9yQWRkRmllbGRDb25maWcoKVwiPjwvYWktdGFibGUtZnJvemVuLWNvbHVtbi1oZWFkcz5cbiAgICAgICAgICAgIDwva28tZ3JvdXA+XG5cbiAgICAgICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cImNvbW1vbkdyb3VwQ29uZmlnKClcIj5cbiAgICAgICAgICAgICAgICA8a28tZ3JvdXAgW2NvbmZpZ109XCJvZmZzZXRDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8YWktdGFibGUtY2VsbHMgW2NvbmZpZ109XCJjZWxsc0NvbmZpZygpXCI+PC9haS10YWJsZS1jZWxscz5cbiAgICAgICAgICAgICAgICA8L2tvLWdyb3VwPlxuXG4gICAgICAgICAgICAgICAgPGtvLWdyb3VwIFtjb25maWddPVwib2Zmc2V0WENvbmZpZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhaS10YWJsZS1jb2x1bW4taGVhZHMgW2NvbmZpZ109XCJjb2x1bW5IZWFkT3JBZGRGaWVsZENvbmZpZygpXCI+PC9haS10YWJsZS1jb2x1bW4taGVhZHM+XG4gICAgICAgICAgICAgICAgICAgIDxhaS10YWJsZS1hZGQtZmllbGQgW2NvbmZpZ109XCJjb2x1bW5IZWFkT3JBZGRGaWVsZENvbmZpZygpXCI+PC9haS10YWJsZS1hZGQtZmllbGQ+XG4gICAgICAgICAgICAgICAgPC9rby1ncm91cD5cbiAgICAgICAgICAgIDwva28tZ3JvdXA+XG5cbiAgICAgICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cImF0dGFjaEdyb3VwQ29uZmlnKClcIj5cbiAgICAgICAgICAgICAgICA8a28tZ3JvdXAgW2NvbmZpZ109XCJvZmZzZXRDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8YWktdGFibGUtcGxhY2Vob2xkZXItY2VsbHMgW2NvbmZpZ109XCJjZWxsc0NvbmZpZygpXCI+PC9haS10YWJsZS1wbGFjZWhvbGRlci1jZWxscz5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChhY3RpdmVDZWxsQm9yZGVyQ29uZmlnKCkuYWN0aXZlQ2VsbEJvcmRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGtvLXJlY3QgW2NvbmZpZ109XCJhY3RpdmVDZWxsQm9yZGVyQ29uZmlnKCkuYWN0aXZlQ2VsbEJvcmRlciFcIj48L2tvLXJlY3Q+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2tvLWdyb3VwPlxuICAgICAgICAgICAgPC9rby1ncm91cD5cblxuICAgICAgICAgICAgPGtvLWdyb3VwIFtjb25maWddPVwiZnJvemVuQXR0YWNoR3JvdXBDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cIm9mZnNldFlDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGFjdGl2ZUNlbGxCb3JkZXJDb25maWcoKS5mcm96ZW5BY3RpdmVDZWxsQm9yZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8a28tcmVjdCBbY29uZmlnXT1cImFjdGl2ZUNlbGxCb3JkZXJDb25maWcoKS5mcm96ZW5BY3RpdmVDZWxsQm9yZGVyIVwiPjwva28tcmVjdD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwva28tZ3JvdXA+XG4gICAgICAgICAgICA8L2tvLWdyb3VwPlxuICAgICAgICA8L2tvLWdyb3VwPlxuICAgIDwva28tbGF5ZXI+XG48L2tvLXN0YWdlPlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFFLFdBQVcsRUFBaUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsZUFBZSxFQUNmLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4Qiw2QkFBNkIsRUFDN0Isb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDMUIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBRS9FLEtBQUssQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBc0JyQixNQUFNLE9BQU8sZUFBZTtJQXBCNUI7UUFxQkksV0FBTSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXlCLENBQUM7UUFFakQsZ0JBQVcsR0FBRyxNQUFNLEVBQTZCLENBQUM7UUFFbEQsZ0JBQVcsR0FBRyxNQUFNLEVBQTZCLENBQUM7UUFFbEQsa0JBQWEs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Q3pELENBQUM7OEdBbExRLGVBQWU7a0dBQWYsZUFBZSwwWEMzQzVCLHU2RUFxREEsNENEekJRLFdBQVcsNkVBQ1gsT0FBTyw2VkFDUCxPQUFPLCtoQkFDUCxrQkFBa0Isc0ZBQ2xCLHdCQUF3Qiw2RkFDeEIsWUFBWSwrRUFDWixrQkFBa0Isc0ZBQ2xCLDZCQUE2QixrR0FDN0IsdUJBQXVCLDJGQUN2QixlQUFlLG1GQUNmLG9CQUFvQix5RkFDcEIsZ0JBQWdCOzsyRkFJWCxlQUFlO2tCQXBCM0IsU0FBUzsrQkFDSSxtQkFBbUIsY0FFakIsSUFBSSxXQUNQO3dCQUNMLFdBQVc7d0JBQ1gsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLGtCQUFrQjt3QkFDbEIsd0JBQXdCO3dCQUN4QixZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsNkJBQTZCO3dCQUM3Qix1QkFBdUI7d0JBQ3ZCLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixnQkFBZ0I7cUJBQ25CLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBLb252YSBmcm9tICdrb252YSc7XG5pbXBvcnQgeyBTdGFnZUNvbmZpZyB9IGZyb20gJ2tvbnZhL2xpYi9TdGFnZSc7XG5pbXBvcnQgeyBLb0NvbnRhaW5lciwgS29FdmVudE9iamVjdCwgS29TaGFwZSwgS29TdGFnZSB9IGZyb20gJy4uL2FuZ3VsYXIta29udmEnO1xuaW1wb3J0IHsgQUlfVEFCTEVfUk9XX0hFQURfV0lEVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQUlUYWJsZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZVJlbmRlcmVyQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0VmlzaWJsZVJhbmdlSW5mbyB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7XG4gICAgQUlUYWJsZUFkZEZpZWxkLFxuICAgIEFJVGFibGVDZWxscyxcbiAgICBBSVRhYmxlQ29sdW1uSGVhZHMsXG4gICAgQUlUYWJsZUZyb3plbkNlbGxzLFxuICAgIEFJVGFibGVGcm96ZW5Db2x1bW5IZWFkcyxcbiAgICBBSVRhYmxlRnJvemVuUGxhY2Vob2xkZXJDZWxscyxcbiAgICBBSVRhYmxlSG92ZXJSb3dIZWFkcyxcbiAgICBBSVRhYmxlT3RoZXJSb3dzLFxuICAgIEFJVGFibGVQbGFjZWhvbGRlckNlbGxzXG59IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBjcmVhdGVBY3RpdmVDZWxsQm9yZGVyIH0gZnJvbSAnLi9jcmVhdGlvbnMvY3JlYXRlLWFjdGl2ZS1jZWxsLWJvcmRlcic7XG5cbktvbnZhLnBpeGVsUmF0aW8gPSAyO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLXJlbmRlcmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBLb0NvbnRhaW5lcixcbiAgICAgICAgS29TdGFnZSxcbiAgICAgICAgS29TaGFwZSxcbiAgICAgICAgQUlUYWJsZUNvbHVtbkhlYWRzLFxuICAgICAgICBBSVRhYmxlRnJvemVuQ29sdW1uSGVhZHMsXG4gICAgICAgIEFJVGFibGVDZWxscyxcbiAgICAgICAgQUlUYWJsZUZyb3plbkNlbGxzLFxuICAgICAgICBBSVRhYmxlRnJvemVuUGxhY2Vob2xkZXJDZWxscyxcbiAgICAgICAgQUlUYWJsZVBsYWNlaG9sZGVyQ2VsbHMsXG4gICAgICAgIEFJVGFibGVBZGRGaWVsZCxcbiAgICAgICAgQUlUYWJsZUhvdmVyUm93SGVhZHMsXG4gICAgICAgIEFJVGFibGVPdGhlclJvd3NcbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVSZW5kZXJlciB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZVJlbmRlcmVyQ29uZmlnPigpO1xuXG4gICAga29Nb3VzZW1vdmUgPSBvdXRwdXQ8S29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pj4oKTtcblxuICAgIGtvTW91c2Vkb3duID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBrb0NvbnRleHRtZW51ID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBrb1doZWVsID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8V2hlZWxFdmVudD4+KCk7XG5cbiAgICBrb0NsaWNrID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBrb0RibGNsaWNrID0gb3V0cHV0PEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4+KCk7XG5cbiAgICBmaWVsZHMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBBSVRhYmxlLmdldFZpc2libGVGaWVsZHModGhpcy5jb25maWcoKS5haVRhYmxlKTtcbiAgICB9KTtcblxuICAgIHJlYWRvbmx5ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcoKT8ucmVhZG9ubHk7XG4gICAgfSk7XG5cbiAgICBjb29yZGluYXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcoKT8uY29vcmRpbmF0ZTtcbiAgICB9KTtcblxuICAgIGNvbnRhaW5lcldpZHRoID0gY29tcHV0ZWQ8bnVtYmVyPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZygpLmNvbnRhaW5lcldpZHRoO1xuICAgIH0pO1xuXG4gICAgY29udGFpbmVySGVpZ2h0ID0gY29tcHV0ZWQ8bnVtYmVyPigoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZygpLmNvbnRhaW5lckhlaWdodDtcbiAgICB9KTtcblxuICAgIHNjcm9sbFN0YXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcoKT8uYWlUYWJsZSEuY29udGV4dCEuc2Nyb2xsU3RhdGUoKTtcbiAgICB9KTtcblxuICAgIHZpc2libGVSYW5nZUluZm8gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBnZXRWaXNpYmxlUmFuZ2VJbmZvKHRoaXMuY29vcmRpbmF0ZSgpISwgdGhpcy5zY3JvbGxTdGF0ZSgpISk7XG4gICAgfSk7XG5cbiAgICBmcm96ZW5BcmVhV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiBBSV9UQUJMRV9ST1dfSEVBRF9XSURUSCArIHRoaXMuY29vcmRpbmF0ZSgpIS5mcm96ZW5Db2x1bW5XaWR0aCE7XG4gICAgfSk7XG5cbiAgICBsYXN0Q29sdW1uV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvb3JkaW5hdGUoKSEuZ2V0Q29sdW1uV2lkdGgodGhpcy52aXNpYmxlUmFuZ2VJbmZvKCkuY29sdW1uU3RvcEluZGV4KTtcbiAgICB9KTtcblxuICAgIGxhc3RDb2x1bW5PZmZzZXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvb3JkaW5hdGUoKSEuZ2V0Q29sdW1uT2Zmc2V0KHRoaXMudmlzaWJsZVJhbmdlSW5mbygpLmNvbHVtblN0b3BJbmRleCk7XG4gICAgfSk7XG5cbiAgICBjZWxsR3JvdXBDbGlwV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lcldpZHRoKCkgLSB0aGlzLmZyb3plbkFyZWFXaWR0aCgpO1xuICAgIH0pO1xuXG4gICAgc3RhZ2VDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGlzU2Nyb2xsaW5nIH0gPSB0aGlzLnNjcm9sbFN0YXRlKCkhO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgd2lkdGg6IHRoaXMuY29udGFpbmVyV2lkdGgoKSxcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5jb250YWluZXJIZWlnaHQoKSxcbiAgICAgICAgICAgIGxpc3RlbmluZzogaXNTY3JvbGxpbmcgPyBmYWxzZSA6IHRydWVcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGdyaWRHcm91cENvbmZpZyA9IGNvbXB1dGVkPFBhcnRpYWw8U3RhZ2VDb25maWc+PigoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjbGlwWDogMCxcbiAgICAgICAgICAgIGNsaXBZOiAwLFxuICAgICAgICAgICAgY2xpcFdpZHRoOiB0aGlzLmNvbnRhaW5lcldpZHRoKCksXG4gICAgICAgICAgICBjbGlwSGVpZ2h0OiB0aGlzLmNvbnRhaW5lckhlaWdodCgpXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjb21tb25Hcm91cENvbmZpZyA9IGNvbXB1dGVkPFBhcnRpYWw8U3RhZ2VDb25maWc+PigoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjbGlwWDogdGhpcy5mcm96ZW5BcmVhV2lkdGgoKSArIDEsXG4gICAgICAgICAgICBjbGlwWTogMCxcbiAgICAgICAgICAgIGNsaXBXaWR0aDogdGhpcy5jZWxsR3JvdXBDbGlwV2lkdGgoKSxcbiAgICAgICAgICAgIGNsaXBIZWlnaHQ6IHRoaXMuY29udGFpbmVySGVpZ2h0KClcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGF0dGFjaEdyb3VwQ29uZmlnID0gY29tcHV0ZWQ8UGFydGlhbDxTdGFnZUNvbmZpZz4+KCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNsaXBYOiB0aGlzLmZyb3plbkFyZWFXaWR0aCgpIC0gMSxcbiAgICAgICAgICAgIGNsaXBZOiB0aGlzLmNvb3JkaW5hdGUoKSEucm93SW5pdFNpemUgLSAxLFxuICAgICAgICAgICAgY2xpcFdpZHRoOiB0aGlzLmNvbnRhaW5lcldpZHRoKCkgLSB0aGlzLmZyb3plbkFyZWFXaWR0aCgpLFxuICAgICAgICAgICAgY2xpcEhlaWdodDogdGhpcy5jb250YWluZXJIZWlnaHQoKSAtIHRoaXMuY29vcmRpbmF0ZSgpIS5yb3dJbml0U2l6ZVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgZnJvemVuQXR0YWNoR3JvdXBDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY2xpcFg6IDAsXG4gICAgICAgICAgICBjbGlwWTogdGhpcy5jb29yZGluYXRlKCkhLnJvd0luaXRTaXplIC0gMSxcbiAgICAgICAgICAgIGNsaXBXaWR0aDogdGhpcy5mcm96ZW5BcmVhV2lkdGgoKSArIDQsXG4gICAgICAgICAgICBjbGlwSGVpZ2h0OiB0aGlzLmNvbnRhaW5lckhlaWdodCgpIC0gdGhpcy5jb29yZGluYXRlKCkhLnJvd0luaXRTaXplXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBvZmZzZXRZQ29uZmlnID0gY29tcHV0ZWQ8UGFydGlhbDxTdGFnZUNvbmZpZz4+KCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBzY3JvbGxUb3AgfSA9IHRoaXMuc2Nyb2xsU3RhdGUoKSE7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvZmZzZXRZOiBzY3JvbGxUb3BcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIG9mZnNldFhDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHNjcm9sbExlZnQgfSA9IHRoaXMuc2Nyb2xsU3RhdGUoKSE7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBvZmZzZXRYOiBzY3JvbGxMZWZ0XG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBvZmZzZXRDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHNjcm9sbExlZnQsIHNjcm9sbFRvcCB9ID0gdGhpcy5zY3JvbGxTdGF0ZSgpITtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG9mZnNldFg6IHNjcm9sbExlZnQsXG4gICAgICAgICAgICBvZmZzZXRZOiBzY3JvbGxUb3BcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGNvbHVtbkhlYWRPckFkZEZpZWxkQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGNvbHVtblN0YXJ0SW5kZXgsIGNvbHVtblN0b3BJbmRleCB9ID0gdGhpcy52aXNpYmxlUmFuZ2VJbmZvKCk7XG4gICAgICAgIGNvbnN0IHsgYWlUYWJsZSwgY29vcmRpbmF0ZSwgcmVhZG9ubHkgfSA9IHRoaXMuY29uZmlnKCk7XG4gICAgICAgIGNvbnN0IHsgcG9pbnRQb3NpdGlvbiB9ID0gYWlUYWJsZS5jb250ZXh0ITtcbiAgICAgICAgY29uc3QgZmllbGRzID0gdGhpcy5maWVsZHMoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFpVGFibGUsXG4gICAgICAgICAgICBjb29yZGluYXRlLFxuICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICAgY29sdW1uU3RhcnRJbmRleCxcbiAgICAgICAgICAgIGNvbHVtblN0b3BJbmRleCxcbiAgICAgICAgICAgIHBvaW50UG9zaXRpb246IHBvaW50UG9zaXRpb24oKSxcbiAgICAgICAgICAgIHJlYWRvbmx5XG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjZWxsc0NvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBhaVRhYmxlLCBjb29yZGluYXRlLCByZWZlcmVuY2VzIH0gPSB0aGlzLmNvbmZpZygpO1xuICAgICAgICBjb25zdCB7IHJvd1N0YXJ0SW5kZXgsIHJvd1N0b3BJbmRleCwgY29sdW1uU3RhcnRJbmRleCwgY29sdW1uU3RvcEluZGV4IH0gPSB0aGlzLnZpc2libGVSYW5nZUluZm8oKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFpVGFibGUsXG4gICAgICAgICAgICBjb29yZGluYXRlLFxuICAgICAgICAgICAgcmVmZXJlbmNlcyxcbiAgICAgICAgICAgIHJvd1N0YXJ0SW5kZXgsXG4gICAgICAgICAgICByb3dTdG9wSW5kZXgsXG4gICAgICAgICAgICBjb2x1bW5TdGFydEluZGV4LFxuICAgICAgICAgICAgY29sdW1uU3RvcEluZGV4XG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBhY3RpdmVDZWxsQm9yZGVyQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gY3JlYXRlQWN0aXZlQ2VsbEJvcmRlcih0aGlzLmNlbGxzQ29uZmlnKCkpO1xuICAgIH0pO1xuXG4gICAgc3RhZ2VNb3VzZW1vdmUoZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICB0aGlzLmtvTW91c2Vtb3ZlLmVtaXQoZSBhcyBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KTtcbiAgICB9XG5cbiAgICBzdGFnZU1vdXNlZG93bihlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIHRoaXMua29Nb3VzZWRvd24uZW1pdChlIGFzIEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4pO1xuICAgIH1cblxuICAgIHN0YWdlQ29udGV4dG1lbnUoZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICB0aGlzLmtvQ29udGV4dG1lbnUuZW1pdChlIGFzIEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4pO1xuICAgIH1cblxuICAgIHN0YWdlQ2xpY2soZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICB0aGlzLmtvQ2xpY2suZW1pdChlIGFzIEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4pO1xuICAgIH1cblxuICAgIHN0YWdlRGJsY2xpY2soZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICB0aGlzLmtvRGJsY2xpY2suZW1pdChlIGFzIEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4pO1xuICAgIH1cbn1cbiIsIjxrby1zdGFnZVxuICAgIFtjb25maWddPVwic3RhZ2VDb25maWcoKVwiXG4gICAgKGtvTW91c2Vtb3ZlKT1cInN0YWdlTW91c2Vtb3ZlKCRldmVudClcIlxuICAgIChrb01vdXNlZG93bik9XCJzdGFnZU1vdXNlZG93bigkZXZlbnQpXCJcbiAgICAoa29Db250ZXh0bWVudSk9XCJzdGFnZUNvbnRleHRtZW51KCRldmVudClcIlxuICAgIChrb0NsaWNrKT1cInN0YWdlQ2xpY2soJGV2ZW50KVwiXG4gICAgKGtvRGJsY2xpY2spPVwic3RhZ2VEYmxjbGljaygkZXZlbnQpXCJcbj5cbiAgICA8a28tbGF5ZXI+XG4gICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cImdyaWRHcm91cENvbmZpZygpXCI+XG4gICAgICAgICAgICA8a28tZ3JvdXAgW2NvbmZpZ109XCJvZmZzZXRZQ29uZmlnKClcIj5cbiAgICAgICAgICAgICAgICA8YWktdGFibGUtZnJvemVuLWNlbGxzIFtjb25maWddPVwiY2VsbHNDb25maWcoKVwiPjwvYWktdGFibGUtZnJvemVuLWNlbGxzPlxuICAgICAgICAgICAgICAgIDxhaS10YWJsZS1vdGhlci1yb3dzIFtjb25maWddPVwiY2VsbHNDb25maWcoKVwiPjwvYWktdGFibGUtb3RoZXItcm93cz5cbiAgICAgICAgICAgICAgICA8YWktdGFibGUtaG92ZXItcm93LWhlYWRzIFtjb25maWddPVwiY2VsbHNDb25maWcoKVwiPjwvYWktdGFibGUtaG92ZXItcm93LWhlYWRzPlxuICAgICAgICAgICAgICAgIDxhaS10YWJsZS1mcm96ZW4tcGxhY2Vob2xkZXItY2VsbHMgW2NvbmZpZ109XCJjZWxsc0NvbmZpZygpXCI+PC9haS10YWJsZS1mcm96ZW4tcGxhY2Vob2xkZXItY2VsbHM+XG4gICAgICAgICAgICA8L2tvLWdyb3VwPlxuXG4gICAgICAgICAgICA8a28tZ3JvdXA+XG4gICAgICAgICAgICAgICAgPGFpLXRhYmxlLWZyb3plbi1jb2x1bW4taGVhZHMgW2NvbmZpZ109XCJjb2x1bW5IZWFkT3JBZGRGaWVsZENvbmZpZygpXCI+PC9haS10YWJsZS1mcm96ZW4tY29sdW1uLWhlYWRzPlxuICAgICAgICAgICAgPC9rby1ncm91cD5cblxuICAgICAgICAgICAgPGtvLWdyb3VwIFtjb25maWddPVwiY29tbW9uR3JvdXBDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cIm9mZnNldENvbmZpZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhaS10YWJsZS1jZWxscyBbY29uZmlnXT1cImNlbGxzQ29uZmlnKClcIj48L2FpLXRhYmxlLWNlbGxzPlxuICAgICAgICAgICAgICAgIDwva28tZ3JvdXA+XG5cbiAgICAgICAgICAgICAgICA8a28tZ3JvdXAgW2NvbmZpZ109XCJvZmZzZXRYQ29uZmlnKClcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFpLXRhYmxlLWNvbHVtbi1oZWFkcyBbY29uZmlnXT1cImNvbHVtbkhlYWRPckFkZEZpZWxkQ29uZmlnKClcIj48L2FpLXRhYmxlLWNvbHVtbi1oZWFkcz5cbiAgICAgICAgICAgICAgICAgICAgPGFpLXRhYmxlLWFkZC1maWVsZCBbY29uZmlnXT1cImNvbHVtbkhlYWRPckFkZEZpZWxkQ29uZmlnKClcIj48L2FpLXRhYmxlLWFkZC1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2tvLWdyb3VwPlxuICAgICAgICAgICAgPC9rby1ncm91cD5cblxuICAgICAgICAgICAgPGtvLWdyb3VwIFtjb25maWddPVwiYXR0YWNoR3JvdXBDb25maWcoKVwiPlxuICAgICAgICAgICAgICAgIDxrby1ncm91cCBbY29uZmlnXT1cIm9mZnNldENvbmZpZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhaS10YWJsZS1wbGFjZWhvbGRlci1jZWxscyBbY29uZmlnXT1cImNlbGxzQ29uZmlnKClcIj48L2FpLXRhYmxlLXBsYWNlaG9sZGVyLWNlbGxzPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGFjdGl2ZUNlbGxCb3JkZXJDb25maWcoKS5hY3RpdmVDZWxsQm9yZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8a28tcmVjdCBbY29uZmlnXT1cImFjdGl2ZUNlbGxCb3JkZXJDb25maWcoKS5hY3RpdmVDZWxsQm9yZGVyIVwiPjwva28tcmVjdD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwva28tZ3JvdXA+XG4gICAgICAgICAgICA8L2tvLWdyb3VwPlxuXG4gICAgICAgICAgICA8a28tZ3JvdXAgW2NvbmZpZ109XCJmcm96ZW5BdHRhY2hHcm91cENvbmZpZygpXCI+XG4gICAgICAgICAgICAgICAgPGtvLWdyb3VwIFtjb25maWddPVwib2Zmc2V0WUNvbmZpZygpXCI+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoYWN0aXZlQ2VsbEJvcmRlckNvbmZpZygpLmZyb3plbkFjdGl2ZUNlbGxCb3JkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxrby1yZWN0IFtjb25maWddPVwiYWN0aXZlQ2VsbEJvcmRlckNvbmZpZygpLmZyb3plbkFjdGl2ZUNlbGxCb3JkZXIhXCI+PC9rby1yZWN0PlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9rby1ncm91cD5cbiAgICAgICAgICAgIDwva28tZ3JvdXA+XG4gICAgICAgIDwva28tZ3JvdXA+XG4gICAgPC9rby1sYXllcj5cbjwva28tc3RhZ2U+XG5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|
@@ -5,6 +5,7 @@ import { debounceTime, fromEvent, Subject } from 'rxjs';
|
|
5
5
|
import { GRID_CELL_EDITOR_MAP } from '../constants';
|
6
6
|
import { AITable } from '../core';
|
7
7
|
import { getCellHorizontalPosition, getEditorBoxOffset, getEditorSpace, getHoverEditorBoxOffset, getHoverEditorSpace } from '../utils';
|
8
|
+
import { AITableContextMenu } from '../components/context-menu/context-menu.component';
|
8
9
|
import * as i0 from "@angular/core";
|
9
10
|
export class AITableGridEventService {
|
10
11
|
constructor() {
|
@@ -195,10 +196,27 @@ export class AITableGridEventService {
|
|
195
196
|
}
|
196
197
|
return null;
|
197
198
|
}
|
199
|
+
openContextMenu(aiTable, options) {
|
200
|
+
const { origin, position, menuItems, targetName, viewContainerRef } = options;
|
201
|
+
const ref = this.thyPopover.open(AITableContextMenu, {
|
202
|
+
origin: origin,
|
203
|
+
originPosition: position,
|
204
|
+
placement: 'bottomLeft',
|
205
|
+
insideClosable: true,
|
206
|
+
viewContainerRef,
|
207
|
+
initialState: {
|
208
|
+
aiTable,
|
209
|
+
menuItems,
|
210
|
+
targetName,
|
211
|
+
position
|
212
|
+
}
|
213
|
+
});
|
214
|
+
return ref;
|
215
|
+
}
|
198
216
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableGridEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
199
217
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableGridEventService }); }
|
200
218
|
}
|
201
219
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableGridEventService, decorators: [{
|
202
220
|
type: Injectable
|
203
221
|
}] });
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxVQUFVLEVBQWlCLE1BQU0sb0JBQW9CLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFvQixNQUFNLFNBQVMsQ0FBQztBQUVwRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUd2SSxNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBTUksbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRTNDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUU1QyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFFNUMsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUVsRCwwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBSTFDLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQXFNM0M7SUFuTUcsVUFBVSxDQUFDLE9BQWdCLEVBQUUsZ0JBQWlGO1FBQzFHLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FB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RG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBEZXN0cm95UmVmLCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRoeUFic3RyYWN0SW50ZXJuYWxPdmVybGF5UmVmIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJSZWYgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0RWRpdENlbGxFZGl0b3IgfSBmcm9tICcuLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEdSSURfQ0VMTF9FRElUT1JfTUFQIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVGaWVsZFR5cGUgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVHcmlkQ2VsbFJlbmRlclNjaGVtYSwgQUlUYWJsZU9wZW5FZGl0T3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGdldENlbGxIb3Jpem9udGFsUG9zaXRpb24sIGdldEVkaXRvckJveE9mZnNldCwgZ2V0RWRpdG9yU3BhY2UsIGdldEhvdmVyRWRpdG9yQm94T2Zmc2V0LCBnZXRIb3ZlckVkaXRvclNwYWNlIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQUlUYWJsZUdyaWRFdmVudFNlcnZpY2Uge1xuICAgIGFpVGFibGUhOiBBSVRhYmxlO1xuXG4gICAgYWlGaWVsZFJlbmRlcmVycz86IFBhcnRpYWw8UmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIEFJVGFibGVHcmlkQ2VsbFJlbmRlclNjaGVtYT4+O1xuXG4gICAgZGJsQ2xpY2tFdmVudCQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50PigpO1xuXG4gICAgbW91c2Vkb3duRXZlbnQkID0gbmV3IFN1YmplY3Q8TW91c2VFdmVudD4oKTtcblxuICAgIG1vdXNlb3ZlckV2ZW50JCA9IG5ldyBTdWJqZWN0PE1vdXNlRXZlbnQ+KCk7XG5cbiAgICBnbG9iYWxNb3VzZW92ZXJFdmVudCQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50PigpO1xuXG4gICAgZ2xvYmFsTW91c2Vkb3duRXZlbnQkID0gbmV3IFN1YmplY3Q8TW91c2VFdmVudD4oKTtcblxuICAgIHByaXZhdGUgY2VsbEVkaXRvclBvcG92ZXJSZWYhOiBUaHlQb3BvdmVyUmVmPEFic3RyYWN0RWRpdENlbGxFZGl0b3I8YW55Pj4gfCBudWxsO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgcHJpdmF0ZSB0aHlQb3BvdmVyID0gaW5qZWN0KFRoeVBvcG92ZXIpO1xuXG4gICAgaW5pdGlhbGl6ZShhaVRhYmxlOiBBSVRhYmxlLCBhaUZpZWxkUmVuZGVyZXJzPzogUGFydGlhbDxSZWNvcmQ8QUlUYWJsZUZpZWxkVHlwZSwgQUlUYWJsZUdyaWRDZWxsUmVuZGVyU2NoZW1hPj4pIHtcbiAgICAgICAgdGhpcy5haVRhYmxlID0gYWlUYWJsZTtcbiAgICAgICAgdGhpcy5haUZpZWxkUmVuZGVyZXJzID0gYWlGaWVsZFJlbmRlcmVycztcbiAgICB9XG5cbiAgICByZWdpc3RlckV2ZW50cyhlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZWxlbWVudCwgJ2RibGNsaWNrJywgeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYmxDbGlja0V2ZW50JC5uZXh0KGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50PihlbGVtZW50LCAnbW91c2VvdmVyJywgeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoODApLCB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3VzZW92ZXJFdmVudCQubmV4dChldmVudCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZW92ZXInLCB7IHBhc3NpdmU6IHRydWUgfSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdsb2JhbE1vdXNlb3ZlckV2ZW50JC5uZXh0KGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGZyb21FdmVudDxNb3VzZUV2ZW50PihlbGVtZW50LCAnbW91c2Vkb3duJywgeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3VzZWRvd25FdmVudCQubmV4dChldmVudCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZG9jdW1lbnQsICdtb3VzZWRvd24nLCB7IHBhc3NpdmU6IHRydWUgfSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdsb2JhbE1vdXNlZG93bkV2ZW50JC5uZXh0KGV2ZW50IGFzIE1vdXNlRXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRFZGl0b3JDb21wb25lbnQodHlwZTogQUlUYWJsZUZpZWxkVHlwZSkge1xuICAgICAgICBpZiAodGhpcy5haUZpZWxkUmVuZGVyZXJzICYmIHRoaXMuYWlGaWVsZFJlbmRlcmVyc1t0eXBlXSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYWlGaWVsZFJlbmRlcmVyc1t0eXBlXSEuZWRpdG9yO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBHUklEX0NFTExfRURJVE9SX01BUFt0eXBlXTtcbiAgICB9XG5cbiAgICBvcGVuRWRpdChjZWxsRG9tOiBIVE1MRWxlbWVudCkge1xuICAgICAgICBjb25zdCB7IHgsIHksIHdpZHRoLCBoZWlnaHQgfSA9IGNlbGxEb20uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IGZpZWxkSWQgPSBjZWxsRG9tLmdldEF0dHJpYnV0ZSgnZmllbGRJZCcpITtcbiAgICAgICAgY29uc3QgcmVjb3JkSWQgPSBjZWxsRG9tLmdldEF0dHJpYnV0ZSgncmVjb3JkSWQnKSE7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuZ2V0RWRpdG9yQ29tcG9uZW50KHRoaXMuYWlUYWJsZS5maWVsZHNNYXAoKVtmaWVsZElkXS50eXBlKTtcbiAgICAgICAgY29uc3QgcmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oY29tcG9uZW50LCB7XG4gICAgICAgICAgICBvcmlnaW46IGNlbGxEb20sXG4gICAgICAgICAgICBvcmlnaW5Qb3NpdGlvbjoge1xuICAgICAgICAgICAgICAgIHg6IHggLSAxLFxuICAgICAgICAgICAgICAgIHk6IHkgKyAxLFxuICAgICAgICAgICAgICAgIHdpZHRoOiB3aWR0aCArIDIsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBoZWlnaHQgKyAyXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgd2lkdGg6IHdpZHRoICsgMSArICdweCcsXG4gICAgICAgICAgICBoZWlnaHQ6IGhlaWdodCArIDIgKyAncHgnLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAndG9wJyxcbiAgICAgICAgICAgIG9mZnNldDogLShoZWlnaHQgKyA0KSxcbiAgICAgICAgICAgIG1pbldpZHRoOiB3aWR0aCxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGZpZWxkSWQ6IGZpZWxkSWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkSWQ6IHJlY29yZElkLFxuICAgICAgICAgICAgICAgIGFpVGFibGU6IHRoaXMuYWlUYWJsZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICdncmlkLWNlbGwtZWRpdG9yJyxcbiAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICBtYW51YWxDbG9zdXJlOiB0cnVlLFxuICAgICAgICAgICAgYW5pbWF0aW9uRGlzYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICBhdXRvQWRhcHRpdmU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZWY7XG4gICAgfVxuXG4gICAgZ2V0T3JpZ2luUG9zaXRpb24oYWlUYWJsZTogQUlUYWJsZSwgb3B0aW9uczogQUlUYWJsZU9wZW5FZGl0T3B0aW9ucykge1xuICAgICAgICBjb25zdCB7IGNvbnRhaW5lciwgY29vcmRpbmF0ZSwgcmVjb3JkSWQsIGZpZWxkSWQsIGlzSG92ZXJFZGl0IH0gPSBvcHRpb25zO1xuICAgICAgICBjb25zdCB7IHNjcm9sbFN0YXRlIH0gPSBhaVRhYmxlLmNvbnRleHQhO1xuICAgICAgICBjb25zdCB7IHJvd0hlaWdodCwgY29sdW1uQ291bnQgfSA9IGNvb3JkaW5hdGU7XG4gICAgICAgIGNvbnN0IHsgcm93SW5kZXgsIGNvbHVtbkluZGV4IH0gPSBBSVRhYmxlLmdldENlbGxJbmRleChhaVRhYmxlLCB7IHJlY29yZElkLCBmaWVsZElkIH0pITtcbiAgICAgICAgY29uc3Qgb3JpZ2luWCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uT2Zmc2V0KGNvbHVtbkluZGV4KTtcbiAgICAgICAgY29uc3Qgb3JpZ2luWSA9IGNvb3JkaW5hdGUuZ2V0Um93T2Zmc2V0KHJvd0luZGV4KTtcbiAgICAgICAgY29uc3QgY29sdW1uV2lkdGggPSBjb29yZGluYXRlLmdldENvbHVtbldpZHRoKGNvbHVtbkluZGV4KTtcbiAgICAgICAgY29uc3QgeyB3aWR0aDogb3JpZ2luV2lkdGgsIG9mZnNldDogb3JpZ2luT2Zmc2V0IH0gPSBnZXRDZWxsSG9yaXpvbnRhbFBvc2l0aW9uKHtcbiAgICAgICAgICAgIGNvbHVtbldpZHRoLFxuICAgICAgICAgICAgY29sdW1uSW5kZXgsXG4gICAgICAgICAgICBjb2x1bW5Db3VudFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3Qgb3JpZ2luUmVjdCA9IGNvbnRhaW5lciEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgIGNvbnN0IG9yaWdpblBvc2l0aW9uID0ge1xuICAgICAgICAgICAgeDogb3JpZ2luWCArIG9yaWdpbk9mZnNldCAtIHNjcm9sbFN0YXRlKCkuc2Nyb2xsTGVmdCArIG9yaWdpblJlY3QueCxcbiAgICAgICAgICAgIHk6IG9yaWdpblkgLSBzY3JvbGxTdGF0ZSgpLnNjcm9sbFRvcCArIG9yaWdpblJlY3QueSxcbiAgICAgICAgICAgIHdpZHRoOiBvcmlnaW5XaWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogcm93SGVpZ2h0XG4gICAgICAgIH07XG4gICAgICAgIGxldCB4ID0gb3JpZ2luUG9zaXRpb24ueCArIGdldEVkaXRvckJveE9mZnNldCgpO1xuICAgICAgICBsZXQgeSA9IG9yaWdpblBvc2l0aW9uLnkgKyBnZXRFZGl0b3JCb3hPZmZzZXQoKTtcbiAgICAgICAgbGV0IHdpZHRoID0gZ2V0RWRpdG9yU3BhY2Uob3JpZ2luUG9zaXRpb24ud2lkdGgpO1xuICAgICAgICBsZXQgaGVpZ2h0ID0gZ2V0RWRpdG9yU3BhY2Uob3JpZ2luUG9zaXRpb24uaGVpZ2h0KTtcbiAgICAgICAgLy8gaG92ZXIg57yW6L6R57uE5Lu25peg6L655qGGXG4gICAgICAgIGlmIChpc0hvdmVyRWRpdCkge1xuICAgICAgICAgICAgeCA9IG9yaWdpblBvc2l0aW9uLnggKyBnZXRIb3ZlckVkaXRvckJveE9mZnNldCgpO1xuICAgICAgICAgICAgeSA9IG9yaWdpblBvc2l0aW9uLnkgKyBnZXRIb3ZlckVkaXRvckJveE9mZnNldCgpO1xuICAgICAgICAgICAgd2lkdGggPSBnZXRIb3ZlckVkaXRvclNwYWNlKG9yaWdpblBvc2l0aW9uLndpZHRoKTtcbiAgICAgICAgICAgIGhlaWdodCA9IGdldEhvdmVyRWRpdG9yU3BhY2Uob3JpZ2luUG9zaXRpb24uaGVpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ub3JpZ2luUG9zaXRpb24sXG4gICAgICAgICAgICB4OiB4LFxuICAgICAgICAgICAgeTogeSxcbiAgICAgICAgICAgIHdpZHRoOiB3aWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogaGVpZ2h0XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgb3BlbkNlbGxFZGl0b3IoYWlUYWJsZTogQUlUYWJsZSwgb3B0aW9uczogQUlUYWJsZU9wZW5FZGl0T3B0aW9ucykge1xuICAgICAgICBjb25zdCB7IGNvbnRhaW5lciwgcmVjb3JkSWQsIGZpZWxkSWQsIGlzSG92ZXJFZGl0IH0gPSBvcHRpb25zO1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmdldEVkaXRvckNvbXBvbmVudCh0aGlzLmFpVGFibGUuZmllbGRzTWFwKClbZmllbGRJZF0udHlwZSk7XG4gICAgICAgIGNvbnN0IG9mZnNldE9yaWdpblBvc2l0aW9uID0gdGhpcy5nZXRPcmlnaW5Qb3NpdGlvbihhaVRhYmxlLCBvcHRpb25zKTtcbiAgICAgICAgdGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKGNvbXBvbmVudCwge1xuICAgICAgICAgICAgb3JpZ2luOiBjb250YWluZXIhLFxuICAgICAgICAgICAgb3JpZ2luUG9zaXRpb246IG9mZnNldE9yaWdpblBvc2l0aW9uLFxuICAgICAgICAgICAgd2lkdGg6IG9mZnNldE9yaWdpblBvc2l0aW9uLndpZHRoICsgJ3B4JyxcbiAgICAgICAgICAgIGhlaWdodDogb2Zmc2V0T3JpZ2luUG9zaXRpb24uaGVpZ2h0ICsgJ3B4JyxcbiAgICAgICAgICAgIG1pbldpZHRoOiBvZmZzZXRPcmlnaW5Qb3NpdGlvbi53aWR0aCArICdweCcsXG4gICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuICAgICAgICAgICAgb2Zmc2V0OiAtb2Zmc2V0T3JpZ2luUG9zaXRpb24uaGVpZ2h0LFxuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgZmllbGRJZDogZmllbGRJZCxcbiAgICAgICAgICAgICAgICByZWNvcmRJZDogcmVjb3JkSWQsXG4gICAgICAgICAgICAgICAgYWlUYWJsZTogYWlUYWJsZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICdncmlkLWNlbGwtZWRpdG9yJyxcbiAgICAgICAgICAgIG91dHNpZGVDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICBtYW51YWxDbG9zdXJlOiB0cnVlLFxuICAgICAgICAgICAgYW5pbWF0aW9uRGlzYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICBhdXRvQWRhcHRpdmU6IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IHdoZWVsRXZlbnQgPSBmcm9tRXZlbnQ8V2hlZWxFdmVudD4oXG4gICAgICAgICAgICAgICAgdGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZi5jb21wb25lbnRJbnN0YW5jZS5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgJ3doZWVsJ1xuICAgICAgICAgICAgKS5zdWJzY3JpYmUoKGV2ZW50OiBXaGVlbEV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmFpVGFibGUuY29udGV4dD8uc2Nyb2xsQWN0aW9uKHtcbiAgICAgICAgICAgICAgICAgICAgZGVsdGFYOiBldmVudC5kZWx0YVgsXG4gICAgICAgICAgICAgICAgICAgIGRlbHRhWTogZXZlbnQuZGVsdGFZLFxuICAgICAgICAgICAgICAgICAgICBzaGlmdEtleTogZXZlbnQuc2hpZnRLZXksXG4gICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvcmlnaW5Qb3NpdGlvbiA9IHRoaXMuZ2V0T3JpZ2luUG9zaXRpb24oYWlUYWJsZSwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3NpdGlvblN0cmF0ZWd5ID0gKHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYgYXMgVGh5QWJzdHJhY3RJbnRlcm5hbE92ZXJsYXlSZWY8YW55LCBhbnksIGFueT4pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldE92ZXJsYXlSZWYoKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRDb25maWcoKS5wb3NpdGlvblN0cmF0ZWd5IGFzIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kuc2V0T3JpZ2luKG9yaWdpblBvc2l0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3kuYXBwbHkoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB3aGVlbEV2ZW50LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZiA9IG51bGw7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICh0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmLmNvbXBvbmVudEluc3RhbmNlIGFzIEFic3RyYWN0RWRpdENlbGxFZGl0b3I8YW55PikudXBkYXRlRmllbGRWYWx1ZS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgb3B0aW9ucy51cGRhdGVGaWVsZFZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmO1xuICAgIH1cblxuICAgIGNsb3NlQ2VsbEVkaXRvcigpIHtcbiAgICAgICAgaWYgKHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYuY2xvc2UoKTtcbiAgICAgICAgICAgIHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0Q3VycmVudEVkaXRDZWxsKCkge1xuICAgICAgICBpZiAodGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZikge1xuICAgICAgICAgICAgY29uc3QgcmVjb3JkSWQgPSB0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmLmNvbXBvbmVudEluc3RhbmNlPy5yZWNvcmRJZDtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkSWQgPSB0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmLmNvbXBvbmVudEluc3RhbmNlPy5maWVsZElkO1xuXG4gICAgICAgICAgICBpZiAocmVjb3JkSWQgJiYgZmllbGRJZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHJlY29yZElkLFxuICAgICAgICAgICAgICAgICAgICBmaWVsZElkXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
|
222
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxVQUFVLEVBQWlCLE1BQU0sb0JBQW9CLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXhELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFvQixNQUFNLFNBQVMsQ0FBQztBQUVwRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDOztBQUd2RixNQUFNLE9BQU8sdUJBQXVCO0lBRHBDO1FBTUksbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRTNDLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUU1QyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7UUFFNUMsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztRQUVsRCwwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBSTFDLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQXVOM0M7SUFyTkcsVUFBVSxDQUFDLE9B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QUVELGVBQWUsQ0FBQyxPQUFnQixFQUFFLE9BQWtDO1FBQ2hFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDOUUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDakQsTUFBTSxFQUFFLE1BQXFCO1lBQzdCLGNBQWMsRUFBRSxRQUFRO1lBQ3hCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGdCQUFnQjtZQUNoQixZQUFZLEVBQUU7Z0JBQ1YsT0FBTztnQkFDUCxTQUFTO2dCQUNULFVBQVU7Z0JBQ1YsUUFBUTthQUNYO1NBQ0osQ0FBQyxDQUFDO1FBQ0gsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDOzhHQXpPUSx1QkFBdUI7a0hBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IERlc3Ryb3lSZWYsIGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgVGh5QWJzdHJhY3RJbnRlcm5hbE92ZXJsYXlSZWYgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWJzdHJhY3RFZGl0Q2VsbEVkaXRvciB9IGZyb20gJy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgR1JJRF9DRUxMX0VESVRPUl9NQVAgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUZpZWxkVHlwZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlUYWJsZUNvbnRleHRNZW51T3B0aW9ucywgQUlUYWJsZUdyaWRDZWxsUmVuZGVyU2NoZW1hLCBBSVRhYmxlT3BlbkVkaXRPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2V0Q2VsbEhvcml6b250YWxQb3NpdGlvbiwgZ2V0RWRpdG9yQm94T2Zmc2V0LCBnZXRFZGl0b3JTcGFjZSwgZ2V0SG92ZXJFZGl0b3JCb3hPZmZzZXQsIGdldEhvdmVyRWRpdG9yU3BhY2UgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBBSVRhYmxlQ29udGV4dE1lbnUgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUuY29tcG9uZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFJVGFibGVHcmlkRXZlbnRTZXJ2aWNlIHtcbiAgICBhaVRhYmxlITogQUlUYWJsZTtcblxuICAgIGFpRmllbGRSZW5kZXJlcnM/OiBQYXJ0aWFsPFJlY29yZDxBSVRhYmxlRmllbGRUeXBlLCBBSVRhYmxlR3JpZENlbGxSZW5kZXJTY2hlbWE+PjtcblxuICAgIGRibENsaWNrRXZlbnQkID0gbmV3IFN1YmplY3Q8TW91c2VFdmVudD4oKTtcblxuICAgIG1vdXNlZG93bkV2ZW50JCA9IG5ldyBTdWJqZWN0PE1vdXNlRXZlbnQ+KCk7XG5cbiAgICBtb3VzZW92ZXJFdmVudCQgPSBuZXcgU3ViamVjdDxNb3VzZUV2ZW50PigpO1xuXG4gICAgZ2xvYmFsTW91c2VvdmVyRXZlbnQkID0gbmV3IFN1YmplY3Q8TW91c2VFdmVudD4oKTtcblxuICAgIGdsb2JhbE1vdXNlZG93bkV2ZW50JCA9IG5ldyBTdWJqZWN0PE1vdXNlRXZlbnQ+KCk7XG5cbiAgICBwcml2YXRlIGNlbGxFZGl0b3JQb3BvdmVyUmVmITogVGh5UG9wb3ZlclJlZjxBYnN0cmFjdEVkaXRDZWxsRWRpdG9yPGFueT4+IHwgbnVsbDtcblxuICAgIHByaXZhdGUgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIHByaXZhdGUgdGh5UG9wb3ZlciA9IGluamVjdChUaHlQb3BvdmVyKTtcblxuICAgIGluaXRpYWxpemUoYWlUYWJsZTogQUlUYWJsZSwgYWlGaWVsZFJlbmRlcmVycz86IFBhcnRpYWw8UmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIEFJVGFibGVHcmlkQ2VsbFJlbmRlclNjaGVtYT4+KSB7XG4gICAgICAgIHRoaXMuYWlUYWJsZSA9IGFpVGFibGU7XG4gICAgICAgIHRoaXMuYWlGaWVsZFJlbmRlcmVycyA9IGFpRmllbGRSZW5kZXJlcnM7XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJFdmVudHMoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGVsZW1lbnQsICdkYmxjbGljaycsIHsgcGFzc2l2ZTogdHJ1ZSB9KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZGJsQ2xpY2tFdmVudCQubmV4dChldmVudCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZWxlbWVudCwgJ21vdXNlb3ZlcicsIHsgcGFzc2l2ZTogdHJ1ZSB9KVxuICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDgwKSwgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubW91c2VvdmVyRXZlbnQkLm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2VvdmVyJywgeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nbG9iYWxNb3VzZW92ZXJFdmVudCQubmV4dChldmVudCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZWxlbWVudCwgJ21vdXNlZG93bicsIHsgcGFzc2l2ZTogdHJ1ZSB9KVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubW91c2Vkb3duRXZlbnQkLm5leHQoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGRvY3VtZW50LCAnbW91c2Vkb3duJywgeyBwYXNzaXZlOiB0cnVlIH0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nbG9iYWxNb3VzZWRvd25FdmVudCQubmV4dChldmVudCBhcyBNb3VzZUV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RWRpdG9yQ29tcG9uZW50KHR5cGU6IEFJVGFibGVGaWVsZFR5cGUpIHtcbiAgICAgICAgaWYgKHRoaXMuYWlGaWVsZFJlbmRlcmVycyAmJiB0aGlzLmFpRmllbGRSZW5kZXJlcnNbdHlwZV0pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmFpRmllbGRSZW5kZXJlcnNbdHlwZV0hLmVkaXRvcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gR1JJRF9DRUxMX0VESVRPUl9NQVBbdHlwZV07XG4gICAgfVxuXG4gICAgb3BlbkVkaXQoY2VsbERvbTogSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgY29uc3QgeyB4LCB5LCB3aWR0aCwgaGVpZ2h0IH0gPSBjZWxsRG9tLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBmaWVsZElkID0gY2VsbERvbS5nZXRBdHRyaWJ1dGUoJ2ZpZWxkSWQnKSE7XG4gICAgICAgIGNvbnN0IHJlY29yZElkID0gY2VsbERvbS5nZXRBdHRyaWJ1dGUoJ3JlY29yZElkJykhO1xuICAgICAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLmdldEVkaXRvckNvbXBvbmVudCh0aGlzLmFpVGFibGUuZmllbGRzTWFwKClbZmllbGRJZF0udHlwZSk7XG4gICAgICAgIGNvbnN0IHJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKGNvbXBvbmVudCwge1xuICAgICAgICAgICAgb3JpZ2luOiBjZWxsRG9tLFxuICAgICAgICAgICAgb3JpZ2luUG9zaXRpb246IHtcbiAgICAgICAgICAgICAgICB4OiB4IC0gMSxcbiAgICAgICAgICAgICAgICB5OiB5ICsgMSxcbiAgICAgICAgICAgICAgICB3aWR0aDogd2lkdGggKyAyLFxuICAgICAgICAgICAgICAgIGhlaWdodDogaGVpZ2h0ICsgMlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHdpZHRoOiB3aWR0aCArIDEgKyAncHgnLFxuICAgICAgICAgICAgaGVpZ2h0OiBoZWlnaHQgKyAyICsgJ3B4JyxcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ3RvcCcsXG4gICAgICAgICAgICBvZmZzZXQ6IC0oaGVpZ2h0ICsgNCksXG4gICAgICAgICAgICBtaW5XaWR0aDogd2lkdGgsXG4gICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICBmaWVsZElkOiBmaWVsZElkLFxuICAgICAgICAgICAgICAgIHJlY29yZElkOiByZWNvcmRJZCxcbiAgICAgICAgICAgICAgICBhaVRhYmxlOiB0aGlzLmFpVGFibGVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAnZ3JpZC1jZWxsLWVkaXRvcicsXG4gICAgICAgICAgICBvdXRzaWRlQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgbWFudWFsQ2xvc3VyZTogdHJ1ZSxcbiAgICAgICAgICAgIGFuaW1hdGlvbkRpc2FibGVkOiB0cnVlLFxuICAgICAgICAgICAgYXV0b0FkYXB0aXZlOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVmO1xuICAgIH1cblxuICAgIGdldE9yaWdpblBvc2l0aW9uKGFpVGFibGU6IEFJVGFibGUsIG9wdGlvbnM6IEFJVGFibGVPcGVuRWRpdE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBjb250YWluZXIsIGNvb3JkaW5hdGUsIHJlY29yZElkLCBmaWVsZElkLCBpc0hvdmVyRWRpdCB9ID0gb3B0aW9ucztcbiAgICAgICAgY29uc3QgeyBzY3JvbGxTdGF0ZSB9ID0gYWlUYWJsZS5jb250ZXh0ITtcbiAgICAgICAgY29uc3QgeyByb3dIZWlnaHQsIGNvbHVtbkNvdW50IH0gPSBjb29yZGluYXRlO1xuICAgICAgICBjb25zdCB7IHJvd0luZGV4LCBjb2x1bW5JbmRleCB9ID0gQUlUYWJsZS5nZXRDZWxsSW5kZXgoYWlUYWJsZSwgeyByZWNvcmRJZCwgZmllbGRJZCB9KSE7XG4gICAgICAgIGNvbnN0IG9yaWdpblggPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldChjb2x1bW5JbmRleCk7XG4gICAgICAgIGNvbnN0IG9yaWdpblkgPSBjb29yZGluYXRlLmdldFJvd09mZnNldChyb3dJbmRleCk7XG4gICAgICAgIGNvbnN0IGNvbHVtbldpZHRoID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5XaWR0aChjb2x1bW5JbmRleCk7XG4gICAgICAgIGNvbnN0IHsgd2lkdGg6IG9yaWdpbldpZHRoLCBvZmZzZXQ6IG9yaWdpbk9mZnNldCB9ID0gZ2V0Q2VsbEhvcml6b250YWxQb3NpdGlvbih7XG4gICAgICAgICAgICBjb2x1bW5XaWR0aCxcbiAgICAgICAgICAgIGNvbHVtbkluZGV4LFxuICAgICAgICAgICAgY29sdW1uQ291bnRcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IG9yaWdpblJlY3QgPSBjb250YWluZXIhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb25zdCBvcmlnaW5Qb3NpdGlvbiA9IHtcbiAgICAgICAgICAgIHg6IG9yaWdpblggKyBvcmlnaW5PZmZzZXQgLSBzY3JvbGxTdGF0ZSgpLnNjcm9sbExlZnQgKyBvcmlnaW5SZWN0LngsXG4gICAgICAgICAgICB5OiBvcmlnaW5ZIC0gc2Nyb2xsU3RhdGUoKS5zY3JvbGxUb3AgKyBvcmlnaW5SZWN0LnksXG4gICAgICAgICAgICB3aWR0aDogb3JpZ2luV2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IHJvd0hlaWdodFxuICAgICAgICB9O1xuICAgICAgICBsZXQgeCA9IG9yaWdpblBvc2l0aW9uLnggKyBnZXRFZGl0b3JCb3hPZmZzZXQoKTtcbiAgICAgICAgbGV0IHkgPSBvcmlnaW5Qb3NpdGlvbi55ICsgZ2V0RWRpdG9yQm94T2Zmc2V0KCk7XG4gICAgICAgIGxldCB3aWR0aCA9IGdldEVkaXRvclNwYWNlKG9yaWdpblBvc2l0aW9uLndpZHRoKTtcbiAgICAgICAgbGV0IGhlaWdodCA9IGdldEVkaXRvclNwYWNlKG9yaWdpblBvc2l0aW9uLmhlaWdodCk7XG4gICAgICAgIC8vIGhvdmVyIOe8lui+kee7hOS7tuaXoOi+ueahhlxuICAgICAgICBpZiAoaXNIb3ZlckVkaXQpIHtcbiAgICAgICAgICAgIHggPSBvcmlnaW5Qb3NpdGlvbi54ICsgZ2V0SG92ZXJFZGl0b3JCb3hPZmZzZXQoKTtcbiAgICAgICAgICAgIHkgPSBvcmlnaW5Qb3NpdGlvbi55ICsgZ2V0SG92ZXJFZGl0b3JCb3hPZmZzZXQoKTtcbiAgICAgICAgICAgIHdpZHRoID0gZ2V0SG92ZXJFZGl0b3JTcGFjZShvcmlnaW5Qb3NpdGlvbi53aWR0aCk7XG4gICAgICAgICAgICBoZWlnaHQgPSBnZXRIb3ZlckVkaXRvclNwYWNlKG9yaWdpblBvc2l0aW9uLmhlaWdodCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLm9yaWdpblBvc2l0aW9uLFxuICAgICAgICAgICAgeDogeCxcbiAgICAgICAgICAgIHk6IHksXG4gICAgICAgICAgICB3aWR0aDogd2lkdGgsXG4gICAgICAgICAgICBoZWlnaHQ6IGhlaWdodFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIG9wZW5DZWxsRWRpdG9yKGFpVGFibGU6IEFJVGFibGUsIG9wdGlvbnM6IEFJVGFibGVPcGVuRWRpdE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBjb250YWluZXIsIHJlY29yZElkLCBmaWVsZElkLCBpc0hvdmVyRWRpdCB9ID0gb3B0aW9ucztcbiAgICAgICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5nZXRFZGl0b3JDb21wb25lbnQodGhpcy5haVRhYmxlLmZpZWxkc01hcCgpW2ZpZWxkSWRdLnR5cGUpO1xuICAgICAgICBjb25zdCBvZmZzZXRPcmlnaW5Qb3NpdGlvbiA9IHRoaXMuZ2V0T3JpZ2luUG9zaXRpb24oYWlUYWJsZSwgb3B0aW9ucyk7XG4gICAgICAgIHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3Blbihjb21wb25lbnQsIHtcbiAgICAgICAgICAgIG9yaWdpbjogY29udGFpbmVyISxcbiAgICAgICAgICAgIG9yaWdpblBvc2l0aW9uOiBvZmZzZXRPcmlnaW5Qb3NpdGlvbixcbiAgICAgICAgICAgIHdpZHRoOiBvZmZzZXRPcmlnaW5Qb3NpdGlvbi53aWR0aCArICdweCcsXG4gICAgICAgICAgICBoZWlnaHQ6IG9mZnNldE9yaWdpblBvc2l0aW9uLmhlaWdodCArICdweCcsXG4gICAgICAgICAgICBtaW5XaWR0aDogb2Zmc2V0T3JpZ2luUG9zaXRpb24ud2lkdGggKyAncHgnLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tJyxcbiAgICAgICAgICAgIG9mZnNldDogLW9mZnNldE9yaWdpblBvc2l0aW9uLmhlaWdodCxcbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZToge1xuICAgICAgICAgICAgICAgIGZpZWxkSWQ6IGZpZWxkSWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkSWQ6IHJlY29yZElkLFxuICAgICAgICAgICAgICAgIGFpVGFibGU6IGFpVGFibGVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwYW5lbENsYXNzOiAnZ3JpZC1jZWxsLWVkaXRvcicsXG4gICAgICAgICAgICBvdXRzaWRlQ2xvc2FibGU6IGZhbHNlLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgbWFudWFsQ2xvc3VyZTogdHJ1ZSxcbiAgICAgICAgICAgIGFuaW1hdGlvbkRpc2FibGVkOiB0cnVlLFxuICAgICAgICAgICAgYXV0b0FkYXB0aXZlOiB0cnVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmKSB7XG4gICAgICAgICAgICBjb25zdCB3aGVlbEV2ZW50ID0gZnJvbUV2ZW50PFdoZWVsRXZlbnQ+KFxuICAgICAgICAgICAgICAgIHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYuY29tcG9uZW50SW5zdGFuY2UuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICd3aGVlbCdcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKChldmVudDogV2hlZWxFdmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5haVRhYmxlLmNvbnRleHQ/LnNjcm9sbEFjdGlvbih7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhWDogZXZlbnQuZGVsdGFYLFxuICAgICAgICAgICAgICAgICAgICBkZWx0YVk6IGV2ZW50LmRlbHRhWSxcbiAgICAgICAgICAgICAgICAgICAgc2hpZnRLZXk6IGV2ZW50LnNoaWZ0S2V5LFxuICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3JpZ2luUG9zaXRpb24gPSB0aGlzLmdldE9yaWdpblBvc2l0aW9uKGFpVGFibGUsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9ICh0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmIGFzIFRoeUFic3RyYWN0SW50ZXJuYWxPdmVybGF5UmVmPGFueSwgYW55LCBhbnk+KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5nZXRPdmVybGF5UmVmKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0Q29uZmlnKCkucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3k7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LnNldE9yaWdpbihvcmlnaW5Qb3NpdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvblN0cmF0ZWd5LmFwcGx5KCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgd2hlZWxFdmVudC51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYgPSBudWxsO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAodGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZi5jb21wb25lbnRJbnN0YW5jZSBhcyBBYnN0cmFjdEVkaXRDZWxsRWRpdG9yPGFueT4pLnVwZGF0ZUZpZWxkVmFsdWUuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIG9wdGlvbnMudXBkYXRlRmllbGRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZjtcbiAgICB9XG5cbiAgICBjbG9zZUNlbGxFZGl0b3IoKSB7XG4gICAgICAgIGlmICh0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmKSB7XG4gICAgICAgICAgICB0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLmNlbGxFZGl0b3JQb3BvdmVyUmVmID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEN1cnJlbnRFZGl0Q2VsbCgpIHtcbiAgICAgICAgaWYgKHRoaXMuY2VsbEVkaXRvclBvcG92ZXJSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlY29yZElkID0gdGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZi5jb21wb25lbnRJbnN0YW5jZT8ucmVjb3JkSWQ7XG4gICAgICAgICAgICBjb25zdCBmaWVsZElkID0gdGhpcy5jZWxsRWRpdG9yUG9wb3ZlclJlZi5jb21wb25lbnRJbnN0YW5jZT8uZmllbGRJZDtcblxuICAgICAgICAgICAgaWYgKHJlY29yZElkICYmIGZpZWxkSWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRJZCxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRJZFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBvcGVuQ29udGV4dE1lbnUoYWlUYWJsZTogQUlUYWJsZSwgb3B0aW9uczogQUlUYWJsZUNvbnRleHRNZW51T3B0aW9ucykge1xuICAgICAgICBjb25zdCB7IG9yaWdpbiwgcG9zaXRpb24sIG1lbnVJdGVtcywgdGFyZ2V0TmFtZSwgdmlld0NvbnRhaW5lclJlZiB9ID0gb3B0aW9ucztcbiAgICAgICAgY29uc3QgcmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oQUlUYWJsZUNvbnRleHRNZW51LCB7XG4gICAgICAgICAgICBvcmlnaW46IG9yaWdpbiBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgIG9yaWdpblBvc2l0aW9uOiBwb3NpdGlvbixcbiAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnLFxuICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgYWlUYWJsZSxcbiAgICAgICAgICAgICAgICBtZW51SXRlbXMsXG4gICAgICAgICAgICAgICAgdGFyZ2V0TmFtZSxcbiAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHJlZjtcbiAgICB9XG59XG4iXX0=
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Injectable } from '@angular/core';
|
2
2
|
import { AITableFieldPropertyEditor } from '../components';
|
3
|
-
import {
|
3
|
+
import { AITableFieldMenu } from '../components/field-menu/field-menu.component';
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
import * as i1 from "ngx-tethys/popover";
|
6
6
|
export const AI_TABLE_GRID_FIELD_SERVICE_MAP = new WeakMap();
|
@@ -20,6 +20,8 @@ export class AITableGridFieldService {
|
|
20
20
|
placement: 'bottomLeft',
|
21
21
|
manualClosure: true,
|
22
22
|
originActiveClass: undefined,
|
23
|
+
height: 'auto',
|
24
|
+
panelClass: 'ai-table-field-property-editor-panel',
|
23
25
|
initialState: {
|
24
26
|
aiTable,
|
25
27
|
aiEditField: field,
|
@@ -29,11 +31,12 @@ export class AITableGridFieldService {
|
|
29
31
|
}
|
30
32
|
openFieldMenu(aiTable, options) {
|
31
33
|
const { origin, editOrigin, position, fieldId, fieldMenus } = options;
|
32
|
-
const ref = this.thyPopover.open(
|
34
|
+
const ref = this.thyPopover.open(AITableFieldMenu, {
|
33
35
|
origin,
|
34
36
|
originPosition: position,
|
35
37
|
placement: 'bottomLeft',
|
36
38
|
originActiveClass: undefined,
|
39
|
+
insideClosable: true,
|
37
40
|
initialState: {
|
38
41
|
origin: editOrigin,
|
39
42
|
position: options.editFieldPosition,
|
@@ -50,4 +53,4 @@ export class AITableGridFieldService {
|
|
50
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AITableGridFieldService, decorators: [{
|
51
54
|
type: Injectable
|
52
55
|
}], ctorParameters: () => [{ type: i1.ThyPopover }] });
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3NlcnZpY2VzL2ZpZWxkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sK0NBQStDLENBQUM7OztBQUlqRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxJQUFJLE9BQU8sRUFBb0MsQ0FBQztBQUcvRixNQUFNLE9BQU8sdUJBQXVCO0lBR2hDLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBRTlDLGlCQUFpQixDQUFDLGFBQXdDO1FBQ3RELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxPQUFnQixFQUFFLE9BQWdDO1FBQ2hFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDdEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxtQkFBbUIsSUFBSSwwQkFBMEIsQ0FBQztRQUN4RixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQyxNQUFNO1lBQ04sY0FBYyxFQUFFLFFBQVE7WUFDeEIsU0FBUyxFQUFFLFlBQVk7WUFDdkIsYUFBYSxFQUFFLElBQUk7WUFDbkIsaUJBQWlCLEVBQUUsU0FBUztZQUM1QixNQUFNLEVBQUUsTUFBTTtZQUNkLFVBQVUsRUFBRSxzQ0FBc0M7WUFDbEQsWUFBWSxFQUFFO2dCQUNWLE9BQU87Z0JBQ1AsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLFFBQVE7YUFDWDtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZ0IsRUFBRSxPQUFnQztRQUM1RCxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUN0RSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMvQyxNQUFNO1lBQ04sY0FBYyxFQUFFLFFBQVE7WUFDeEIsU0FBUyxFQUFFLFlBQVk7WUFDdkIsaUJBQWlCLEVBQUUsU0FBUztZQUM1QixjQUFjLEVBQUUsSUFBSTtZQUNwQixZQUFZLEVBQUU7Z0JBQ1YsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLFFBQVEsRUFBRSxPQUFPLENBQUMsaUJBQWlCO2dCQUNuQyxPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsVUFBVTthQUNiO1NBQ0osQ0FBQyxDQUFDO1FBQ0gsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDOzhHQTdDUSx1QkFBdUI7a0hBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkUHJvcGVydHlFZGl0b3IgfSBmcm9tICcuLi9jb21wb25lbnRzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZE1lbnUgfSBmcm9tICcuLi9jb21wb25lbnRzL2ZpZWxkLW1lbnUvZmllbGQtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQUlUYWJsZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgQUlGaWVsZENvbmZpZywgQUlUYWJsZUVkaXRGaWVsZE9wdGlvbnMsIEFJVGFibGVGaWVsZE1lbnVPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQUlfVEFCTEVfR1JJRF9GSUVMRF9TRVJWSUNFX01BUCA9IG5ldyBXZWFrTWFwPEFJVGFibGUsIEFJVGFibGVHcmlkRmllbGRTZXJ2aWNlPigpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQUlUYWJsZUdyaWRGaWVsZFNlcnZpY2Uge1xuICAgIGFpRmllbGRDb25maWc6IEFJRmllbGRDb25maWcgfCB1bmRlZmluZWQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIpIHt9XG5cbiAgICBpbml0QUlGaWVsZENvbmZpZyhhaUZpZWxkQ29uZmlnOiBBSUZpZWxkQ29uZmlnIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuYWlGaWVsZENvbmZpZyA9IGFpRmllbGRDb25maWc7XG4gICAgfVxuXG4gICAgZWRpdEZpZWxkUHJvcGVydHkoYWlUYWJsZTogQUlUYWJsZSwgb3B0aW9uczogQUlUYWJsZUVkaXRGaWVsZE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBmaWVsZCwgaXNVcGRhdGUsIG9yaWdpbiwgcG9zaXRpb24gfSA9IG9wdGlvbnM7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuYWlGaWVsZENvbmZpZz8uZmllbGRQcm9wZXJ0eUVkaXRvciA/PyBBSVRhYmxlRmllbGRQcm9wZXJ0eUVkaXRvcjtcbiAgICAgICAgcmV0dXJuIHRoaXMudGh5UG9wb3Zlci5vcGVuKGNvbXBvbmVudCwge1xuICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgb3JpZ2luUG9zaXRpb246IHBvc2l0aW9uLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tTGVmdCcsXG4gICAgICAgICAgICBtYW51YWxDbG9zdXJlOiB0cnVlLFxuICAgICAgICAgICAgb3JpZ2luQWN0aXZlQ2xhc3M6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGhlaWdodDogJ2F1dG8nLFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ2FpLXRhYmxlLWZpZWxkLXByb3BlcnR5LWVkaXRvci1wYW5lbCcsXG4gICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICBhaVRhYmxlLFxuICAgICAgICAgICAgICAgIGFpRWRpdEZpZWxkOiBmaWVsZCxcbiAgICAgICAgICAgICAgICBpc1VwZGF0ZVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvcGVuRmllbGRNZW51KGFpVGFibGU6IEFJVGFibGUsIG9wdGlvbnM6IEFJVGFibGVGaWVsZE1lbnVPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgb3JpZ2luLCBlZGl0T3JpZ2luLCBwb3NpdGlvbiwgZmllbGRJZCwgZmllbGRNZW51cyB9ID0gb3B0aW9ucztcbiAgICAgICAgY29uc3QgcmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oQUlUYWJsZUZpZWxkTWVudSwge1xuICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgb3JpZ2luUG9zaXRpb246IHBvc2l0aW9uLFxuICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tTGVmdCcsXG4gICAgICAgICAgICBvcmlnaW5BY3RpdmVDbGFzczogdW5kZWZpbmVkLFxuICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICBvcmlnaW46IGVkaXRPcmlnaW4sXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IG9wdGlvbnMuZWRpdEZpZWxkUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgYWlUYWJsZSxcbiAgICAgICAgICAgICAgICBmaWVsZElkLFxuICAgICAgICAgICAgICAgIGZpZWxkTWVudXNcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZWY7XG4gICAgfVxufVxuIl19
|
package/esm2022/types/grid.mjs
CHANGED
@@ -13,4 +13,4 @@ export var AITableAreaType;
|
|
13
13
|
AITableAreaType["grid"] = "grid";
|
14
14
|
AITableAreaType["none"] = "none";
|
15
15
|
})(AITableAreaType || (AITableAreaType = {}));
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3R5cGVzL2dyaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaURBLE1BQU0sQ0FBTixJQUFZLG9CQUdYO0FBSEQsV0FBWSxvQkFBb0I7SUFDNUIsbUNBQVcsQ0FBQTtJQUNYLHlDQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBZ0JELE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDeEIsdUNBQW1CLENBQUE7SUFDbkIsMkNBQXVCLENBQUE7QUFDM0IsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0I7QUFlRCxNQUFNLENBQU4sSUFBWSxlQUdYO0FBSEQsV0FBWSxlQUFlO0lBQ3ZCLGdDQUFhLENBQUE7SUFDYixnQ0FBYSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxlQUFlLEtBQWYsZUFBZSxRQUcxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICduZ3gtdGV0aHlzL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGUsIEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkVHlwZSwgQUlUYWJsZVJlY29yZCwgQ29vcmRpbmF0ZSwgRmllbGRWYWx1ZSwgVXBkYXRlRmllbGRWYWx1ZU9wdGlvbnMgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZE1lbnVJdGVtIH0gZnJvbSAnLi9maWVsZCc7XG5pbXBvcnQgeyBBSVRhYmxlTGluZWFyUm93LCBBSVRhYmxlQ29udGV4dE1lbnVJdGVtIH0gZnJvbSAnLi9yb3cnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVHcmlkQ2VsbFJlbmRlclNjaGVtYSB7XG4gICAgZWRpdG9yPzogYW55O1xuICAgIHRyYW5zZm9ybT86IChmaWVsZDogQUlUYWJsZUZpZWxkLCB2YWx1ZTogRmllbGRWYWx1ZSkgPT4gYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVHcmlkRGF0YSB7XG4gICAgdHlwZTogJ2dyaWQnO1xuICAgIGZpZWxkczogQUlUYWJsZUZpZWxkW107XG4gICAgcmVjb3JkczogQUlUYWJsZVJlY29yZFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVTZWxlY3Rpb24ge1xuICAgIHNlbGVjdGVkUmVjb3JkczogTWFwPHN0cmluZywgYm9vbGVhbj47XG4gICAgc2VsZWN0ZWRGaWVsZHM6IE1hcDxzdHJpbmcsIGJvb2xlYW4+O1xuICAgIHNlbGVjdGVkQ2VsbHM6IE1hcDxzdHJpbmcsIHt9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSUZpZWxkQ29uZmlnIHtcbiAgICBmaWVsZFJlbmRlcmVycz86IFBhcnRpYWw8UmVjb3JkPEFJVGFibGVGaWVsZFR5cGUsIEFJVGFibGVHcmlkQ2VsbFJlbmRlclNjaGVtYT4+O1xuICAgIGZpZWxkUHJvcGVydHlFZGl0b3I/OiBhbnk7XG4gICAgZmllbGRNZW51cz86IEFJVGFibGVGaWVsZE1lbnVJdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVVzZXJJbmZvIHtcbiAgICB1aWQ/OiBzdHJpbmc7XG4gICAgZGlzcGxheV9uYW1lPzogc3RyaW5nO1xuICAgIGF2YXRhcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlUmVmZXJlbmNlcyB7XG4gICAgbWVtYmVyczogRGljdGlvbmFyeTxBSVRhYmxlVXNlckluZm8+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVSZW5kZXJlckNvbmZpZyB7XG4gICAgYWlUYWJsZTogQUlUYWJsZTtcbiAgICBjb250YWluZXI6IEhUTUxEaXZFbGVtZW50O1xuICAgIGNvb3JkaW5hdGU6IENvb3JkaW5hdGU7XG4gICAgY29udGFpbmVyV2lkdGg6IG51bWJlcjtcbiAgICBjb250YWluZXJIZWlnaHQ6IG51bWJlcjtcbiAgICByZWZlcmVuY2VzOiBBSVRhYmxlUmVmZXJlbmNlcztcbiAgICByZWFkb25seT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIEFJVGFibGVSb3dDb2x1bW5UeXBlIHtcbiAgICByb3cgPSAncm93JyxcbiAgICBjb2x1bW4gPSAnY29sdW1uJ1xufVxuXG5leHBvcnQgdHlwZSBBSVRhYmxlU2l6ZU1hcCA9IFJlY29yZDxudW1iZXIsIG51bWJlcj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUNvb3JkaW5hdGUge1xuICAgIHJvd0NvdW50OiBudW1iZXI7XG4gICAgY29sdW1uQ291bnQ6IG51bWJlcjtcbiAgICBjb250YWluZXI6IEhUTUxEaXZFbGVtZW50O1xuICAgIHJvd0hlaWdodDogbnVtYmVyO1xuICAgIHJvd0luaXRTaXplPzogbnVtYmVyO1xuICAgIHJvd0luZGljZXNNYXA6IEFJVGFibGVTaXplTWFwO1xuICAgIGNvbHVtbkluZGljZXNNYXA6IEFJVGFibGVTaXplTWFwO1xuICAgIGNvbHVtbkluaXRTaXplPzogbnVtYmVyO1xuICAgIGZyb3plbkNvbHVtbkNvdW50PzogbnVtYmVyO1xufVxuXG5leHBvcnQgZW51bSBBSVRhYmxlQ2hlY2tUeXBlIHtcbiAgICBjaGVja2VkID0gJ2NoZWNrZWQnLFxuICAgIHVuY2hlY2tlZCA9ICd1bmNoZWNrZWQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZVNjcm9sbFN0YXRlIHtcbiAgICBzY3JvbGxUb3A6IG51bWJlcjtcbiAgICBzY3JvbGxMZWZ0OiBudW1iZXI7XG4gICAgaXNTY3JvbGxpbmc6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2Nyb2xsQWN0aW9uT3B0aW9ucyB7XG4gICAgZGVsdGFYOiBudW1iZXI7XG4gICAgZGVsdGFZOiBudW1iZXI7XG4gICAgc2hpZnRLZXk6IGJvb2xlYW47XG4gICAgY2FsbGJhY2s/OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgZW51bSBBSVRhYmxlQXJlYVR5cGUge1xuICAgIGdyaWQgPSAnZ3JpZCcsXG4gICAgbm9uZSA9ICdub25lJ1xufVxuXG5leHBvcnQgdHlwZSBBSVRhYmxlUG9pbnRQb3NpdGlvbiA9IHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICAgIGFyZWFUeXBlOiBBSVRhYmxlQXJlYVR5cGU7XG4gICAgdGFyZ2V0TmFtZTogc3RyaW5nO1xuICAgIHJlYWxUYXJnZXROYW1lOiBzdHJpbmc7XG4gICAgcm93SW5kZXg6IG51bWJlcjtcbiAgICBjb2x1bW5JbmRleDogbnVtYmVyO1xuICAgIG9mZnNldFRvcDogbnVtYmVyO1xuICAgIG9mZnNldExlZnQ6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUVkaXRQb3NpdGlvbiB7XG4gICAgeDogbnVtYmVyO1xuICAgIHk6IG51bWJlcjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICAgIGhlaWdodDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVPcGVuRWRpdE9wdGlvbnMge1xuICAgIHJlY29yZElkOiBzdHJpbmc7XG4gICAgZmllbGRJZDogc3RyaW5nO1xuICAgIGNvb3JkaW5hdGU6IENvb3JkaW5hdGU7XG4gICAgY29udGFpbmVyPzogSFRNTERpdkVsZW1lbnQ7XG4gICAgaXNIb3ZlckVkaXQ/OiBib29sZWFuO1xuICAgIHVwZGF0ZUZpZWxkVmFsdWU6IChvcHRpb25zOiBVcGRhdGVGaWVsZFZhbHVlT3B0aW9uczxhbnk+KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVDb250ZXh0IHtcbiAgICBsaW5lYXJSb3dzOiBTaWduYWw8QUlUYWJsZUxpbmVhclJvd1tdPjtcbiAgICBwb2ludFBvc2l0aW9uOiBXcml0YWJsZVNpZ25hbDxBSVRhYmxlUG9pbnRQb3NpdGlvbj47XG4gICAgc2Nyb2xsU3RhdGU6IFdyaXRhYmxlU2lnbmFsPEFJVGFibGVTY3JvbGxTdGF0ZT47XG4gICAgc2Nyb2xsQWN0aW9uOiAob3B0aW9uczogU2Nyb2xsQWN0aW9uT3B0aW9ucykgPT4gdm9pZDtcbiAgICB2aXNpYmxlQ29sdW1uc01hcDogU2lnbmFsPE1hcDxzdHJpbmcsIG51bWJlcj4+O1xuICAgIHZpc2libGVSb3dzSW5kZXhNYXA6IFNpZ25hbDxNYXA8c3RyaW5nLCBudW1iZXI+Pjtcbn1cbiJdfQ==
|
package/esm2022/types/row.mjs
CHANGED
@@ -3,4 +3,4 @@ export var AITableRowType;
|
|
3
3
|
AITableRowType["add"] = "add";
|
4
4
|
AITableRowType["record"] = "record";
|
5
5
|
})(AITableRowType || (AITableRowType = {}));
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvdHlwZXMvcm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sQ0FBTixJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDdEIsNkJBQVcsQ0FBQTtJQUNYLG1DQUFpQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFJVGFibGUsIENvb3JkaW5hdGUgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IEFJVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3NlbGVjdGlvbi5zZXJ2aWNlJztcblxuZXhwb3J0IGVudW0gQUlUYWJsZVJvd1R5cGUge1xuICAgIGFkZCA9ICdhZGQnLFxuICAgIHJlY29yZCA9ICdyZWNvcmQnXG59XG5cbmV4cG9ydCB0eXBlIEFJVGFibGVDZWxsTWV0YURhdGEgPSB7XG4gICAgc2l6ZTogbnVtYmVyO1xuICAgIG9mZnNldDogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQUlUYWJsZUNlbGxNZXRhRGF0YU1hcCA9IFJlY29yZDxudW1iZXIsIEFJVGFibGVDZWxsTWV0YURhdGE+O1xuXG5leHBvcnQgdHlwZSBBSVRhYmxlTGluZWFyUm93QWRkID0ge1xuICAgIF9pZDogc3RyaW5nO1xuICAgIHR5cGU6IEFJVGFibGVSb3dUeXBlLmFkZDtcbn07XG5cbmV4cG9ydCB0eXBlIEFJVGFibGVMaW5lYXJSb3dSZWNvcmQgPSB7XG4gICAgX2lkOiBzdHJpbmc7XG4gICAgdHlwZTogQUlUYWJsZVJvd1R5cGUucmVjb3JkO1xuICAgIGRpc3BsYXlJbmRleDogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQUlUYWJsZUxpbmVhclJvdyA9IEFJVGFibGVMaW5lYXJSb3dBZGQgfCBBSVRhYmxlTGluZWFyUm93UmVjb3JkO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFJVGFibGVSb3dIZWFkc0NvbmZpZyB7XG4gICAgY29vcmRpbmF0ZTogQ29vcmRpbmF0ZTtcbiAgICByb3dTdGFydEluZGV4OiBudW1iZXI7XG4gICAgcm93U3RvcEluZGV4OiBudW1iZXI7XG4gICAgYWlUYWJsZTogQUlUYWJsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBSVRhYmxlQ29udGV4dE1lbnVJdGVtIHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIGV4ZWM/OiAoXG4gICAgICAgIGFpVGFibGU6IEFJVGFibGUsXG4gICAgICAgIHRhcmdldE5hbWU6IHN0cmluZyxcbiAgICAgICAgcG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSxcbiAgICAgICAgYWlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlOiBBSVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2VcbiAgICApID0+IHZvaWQ7XG4gICAgaGlkZGVuPzogKGFpVGFibGU6IEFJVGFibGUsIHRhcmdldE5hbWU6IHN0cmluZywgcG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSkgPT4gYm9vbGVhbjtcbiAgICBkaXNhYmxlZD86IChhaVRhYmxlOiBBSVRhYmxlLCB0YXJnZXROYW1lOiBzdHJpbmcsIHBvc2l0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0pID0+IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQUlUYWJsZUNvbnRleHRNZW51T3B0aW9ucyB7XG4gICAgb3JpZ2luOiBFbGVtZW50UmVmPGFueT4gfCBIVE1MRWxlbWVudDtcbiAgICBwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9O1xuICAgIG1lbnVJdGVtczogQUlUYWJsZUNvbnRleHRNZW51SXRlbVtdO1xuICAgIHRhcmdldE5hbWU6IHN0cmluZztcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xufVxuIl19
|