@ai-table/grid 0.0.66 → 0.0.68
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/components/cell-editors/abstract-cell-editor.component.d.ts +3 -3
- package/components/cell-editors/abstract-cell-editor.component.d.ts.map +1 -1
- package/components/cell-editors/date/date-editor.component.d.ts +1 -1
- package/components/cell-editors/date/date-editor.component.d.ts.map +1 -1
- package/components/cell-editors/link/link-editor.component.d.ts.map +1 -1
- package/components/cell-editors/select/select-editor.component.d.ts +1 -1
- package/components/cell-editors/select/select-editor.component.d.ts.map +1 -1
- package/components/cell-views/select/option.component.d.ts +1 -1
- package/components/cell-views/select/option.component.d.ts.map +1 -1
- package/components/drag/drag.component.d.ts +1 -1
- package/components/drag/drag.component.d.ts.map +1 -1
- package/components/field-menu/field-menu.component.d.ts +2 -1
- package/components/field-menu/field-menu.component.d.ts.map +1 -1
- package/components/field-setting/field-setting.component.d.ts +2 -1
- package/components/field-setting/field-setting.component.d.ts.map +1 -1
- package/constants/editor.d.ts +1 -1
- package/constants/editor.d.ts.map +1 -1
- package/constants/grid.d.ts +1 -1
- package/constants/grid.d.ts.map +1 -1
- package/core/constants/field.d.ts +2 -1
- package/core/constants/field.d.ts.map +1 -1
- package/core/context.d.ts +3 -1
- package/core/context.d.ts.map +1 -1
- package/core/coordinate.d.ts +2 -1
- package/core/coordinate.d.ts.map +1 -1
- package/core/types/ai-table.d.ts +2 -1
- package/core/types/ai-table.d.ts.map +1 -1
- package/core/types/core.d.ts +1 -188
- package/core/types/core.d.ts.map +1 -1
- package/core/utils/common.d.ts +2 -1
- package/core/utils/common.d.ts.map +1 -1
- package/core/utils/field.d.ts +2 -1
- package/core/utils/field.d.ts.map +1 -1
- package/core/utils/index.d.ts.map +1 -1
- package/core/utils/queries.d.ts +2 -1
- package/core/utils/queries.d.ts.map +1 -1
- package/dom-grid.component.d.ts +1 -1
- package/dom-grid.component.d.ts.map +1 -1
- package/esm2022/components/cell-editors/abstract-cell-editor.component.mjs +1 -1
- package/esm2022/components/cell-editors/date/date-editor.component.mjs +1 -1
- package/esm2022/components/cell-editors/link/link-editor.component.mjs +2 -1
- package/esm2022/components/cell-editors/select/select-editor.component.mjs +3 -2
- package/esm2022/components/cell-views/select/option.component.mjs +2 -2
- package/esm2022/components/drag/drag.component.mjs +4 -4
- package/esm2022/components/field-menu/field-menu.component.mjs +1 -1
- package/esm2022/components/field-setting/field-setting.component.mjs +3 -2
- package/esm2022/constants/editor.mjs +2 -2
- package/esm2022/constants/grid.mjs +2 -2
- package/esm2022/core/constants/field.mjs +2 -2
- package/esm2022/core/context.mjs +3 -2
- package/esm2022/core/coordinate.mjs +2 -2
- package/esm2022/core/types/ai-table.mjs +1 -1
- package/esm2022/core/types/core.mjs +2 -58
- package/esm2022/core/utils/common.mjs +1 -1
- package/esm2022/core/utils/field.mjs +2 -2
- package/esm2022/core/utils/index.mjs +1 -1
- package/esm2022/core/utils/queries.mjs +2 -2
- package/esm2022/dom-grid.component.mjs +1 -1
- package/esm2022/grid-base.component.mjs +3 -2
- package/esm2022/grid.component.mjs +5 -3
- package/esm2022/pipes/grid.pipe.mjs +1 -1
- package/esm2022/renderer/components/cells/attachment.component.mjs +2 -2
- package/esm2022/renderer/components/cells/cells.mjs +1 -1
- package/esm2022/renderer/components/cells/link.component.mjs +3 -3
- package/esm2022/renderer/components/cells/progress.component.mjs +2 -2
- package/esm2022/renderer/components/cells/rate.component.mjs +2 -2
- package/esm2022/renderer/components/cells/rich-text.component.mjs +2 -2
- package/esm2022/renderer/components/field-icon.component.mjs +2 -2
- package/esm2022/renderer/components/frozen-heads.component.mjs +123 -38
- package/esm2022/renderer/components/hover-cell.component.mjs +2 -3
- package/esm2022/renderer/components/hover-row-heads.component.mjs +4 -4
- package/esm2022/renderer/components/icon.component.mjs +2 -2
- package/esm2022/renderer/creations/create-cells.mjs +7 -3
- package/esm2022/renderer/drawers/add-row-layout-drawer.mjs +7 -7
- package/esm2022/renderer/drawers/cell-drawer.mjs +3 -2
- package/esm2022/renderer/drawers/layout-drawer.mjs +7 -3
- package/esm2022/renderer/drawers/record-row-layout-drawer.mjs +46 -30
- package/esm2022/renderer/interfaces/hover-cell.mjs +1 -1
- package/esm2022/renderer/renderer.component.mjs +7 -5
- package/esm2022/services/event.service.mjs +6 -4
- package/esm2022/services/selection.service.mjs +3 -2
- package/esm2022/types/canvas.mjs +1 -1
- package/esm2022/types/cell.mjs +1 -1
- package/esm2022/types/component-config.mjs +1 -1
- package/esm2022/types/field.mjs +1 -1
- package/esm2022/types/grid.mjs +1 -6
- package/esm2022/types/index.mjs +1 -2
- package/esm2022/types/layout.mjs +1 -1
- package/esm2022/utils/build.mjs +1 -1
- package/esm2022/utils/cell.mjs +2 -2
- package/esm2022/utils/clipboard/copy.mjs +4 -3
- package/esm2022/utils/clipboard/paste.mjs +4 -3
- package/esm2022/utils/common.mjs +1 -11
- package/esm2022/utils/field/field-operable.mjs +2 -0
- package/esm2022/utils/field/field.mjs +20 -0
- package/esm2022/utils/field/index.mjs +4 -0
- package/esm2022/utils/field/model/attachment.mjs +7 -26
- package/esm2022/utils/field/model/date.mjs +8 -17
- package/esm2022/utils/field/model/index.mjs +12 -28
- package/esm2022/utils/field/model/link.mjs +6 -22
- package/esm2022/utils/field/model/member.mjs +6 -26
- package/esm2022/utils/field/model/number.mjs +7 -14
- package/esm2022/utils/field/model/progress.mjs +7 -18
- package/esm2022/utils/field/model/rate.mjs +7 -12
- package/esm2022/utils/field/model/rich-text.mjs +7 -11
- package/esm2022/utils/field/model/select.mjs +7 -21
- package/esm2022/utils/field/model/text.mjs +6 -11
- package/esm2022/utils/field/operate.mjs +27 -2
- package/esm2022/utils/index.mjs +2 -3
- package/esm2022/utils/match-keywords.mjs +2 -2
- package/esm2022/utils/position.mjs +6 -6
- package/esm2022/utils/visible-range.mjs +3 -3
- package/fesm2022/ai-table-grid.mjs +430 -507
- 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 -1
- package/grid.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/pipes/grid.pipe.d.ts +4 -3
- package/pipes/grid.pipe.d.ts.map +1 -1
- package/renderer/components/cells/attachment.component.d.ts +1 -1
- package/renderer/components/cells/attachment.component.d.ts.map +1 -1
- package/renderer/components/cells/cells.d.ts +1 -1
- package/renderer/components/cells/cells.d.ts.map +1 -1
- package/renderer/components/cells/link.component.d.ts +1 -1
- package/renderer/components/cells/link.component.d.ts.map +1 -1
- package/renderer/components/cells/progress.component.d.ts +1 -1
- package/renderer/components/cells/progress.component.d.ts.map +1 -1
- package/renderer/components/cells/rate.component.d.ts +1 -1
- package/renderer/components/cells/rate.component.d.ts.map +1 -1
- package/renderer/components/cells/rich-text.component.d.ts +1 -1
- package/renderer/components/cells/rich-text.component.d.ts.map +1 -1
- package/renderer/components/field-head.component.d.ts +1 -1
- package/renderer/components/frozen-heads.component.d.ts +39 -3
- package/renderer/components/frozen-heads.component.d.ts.map +1 -1
- package/renderer/components/hover-cell.component.d.ts +2 -2
- package/renderer/components/hover-cell.component.d.ts.map +1 -1
- package/renderer/components/hover-row-heads.component.d.ts.map +1 -1
- package/renderer/creations/create-cells.d.ts +2 -1
- package/renderer/creations/create-cells.d.ts.map +1 -1
- package/renderer/drawers/add-row-layout-drawer.d.ts.map +1 -1
- package/renderer/drawers/cell-drawer.d.ts +1 -1
- package/renderer/drawers/cell-drawer.d.ts.map +1 -1
- package/renderer/drawers/layout-drawer.d.ts +3 -1
- package/renderer/drawers/layout-drawer.d.ts.map +1 -1
- package/renderer/drawers/record-row-layout-drawer.d.ts.map +1 -1
- package/renderer/interfaces/hover-cell.d.ts +1 -1
- package/renderer/interfaces/hover-cell.d.ts.map +1 -1
- package/renderer/renderer.component.d.ts +3 -2
- package/renderer/renderer.component.d.ts.map +1 -1
- package/services/event.service.d.ts +3 -2
- package/services/event.service.d.ts.map +1 -1
- package/services/selection.service.d.ts +2 -1
- package/services/selection.service.d.ts.map +1 -1
- package/types/canvas.d.ts +1 -1
- package/types/canvas.d.ts.map +1 -1
- package/types/cell.d.ts +3 -2
- package/types/cell.d.ts.map +1 -1
- package/types/component-config.d.ts +4 -2
- package/types/component-config.d.ts.map +1 -1
- package/types/field.d.ts +2 -1
- package/types/field.d.ts.map +1 -1
- package/types/grid.d.ts +4 -42
- package/types/grid.d.ts.map +1 -1
- package/types/index.d.ts +0 -1
- package/types/index.d.ts.map +1 -1
- package/types/layout.d.ts +2 -0
- package/types/layout.d.ts.map +1 -1
- package/utils/build.d.ts +2 -1
- package/utils/build.d.ts.map +1 -1
- package/utils/cell.d.ts +2 -2
- package/utils/cell.d.ts.map +1 -1
- package/utils/clipboard/copy.d.ts.map +1 -1
- package/utils/clipboard/paste.d.ts +2 -2
- package/utils/clipboard/paste.d.ts.map +1 -1
- package/utils/common.d.ts +0 -1
- package/utils/common.d.ts.map +1 -1
- package/utils/field/field-operable.d.ts +17 -0
- package/utils/field/field-operable.d.ts.map +1 -0
- package/utils/field/field.d.ts +4 -0
- package/utils/field/field.d.ts.map +1 -0
- package/utils/field/index.d.ts +4 -0
- package/utils/field/index.d.ts.map +1 -0
- package/utils/field/model/attachment.d.ts +5 -6
- package/utils/field/model/attachment.d.ts.map +1 -1
- package/utils/field/model/date.d.ts +4 -6
- package/utils/field/model/date.d.ts.map +1 -1
- package/utils/field/model/index.d.ts +11 -3
- package/utils/field/model/index.d.ts.map +1 -1
- package/utils/field/model/link.d.ts +3 -7
- package/utils/field/model/link.d.ts.map +1 -1
- package/utils/field/model/member.d.ts +4 -6
- package/utils/field/model/member.d.ts.map +1 -1
- package/utils/field/model/number.d.ts +4 -6
- package/utils/field/model/number.d.ts.map +1 -1
- package/utils/field/model/progress.d.ts +4 -6
- package/utils/field/model/progress.d.ts.map +1 -1
- package/utils/field/model/rate.d.ts +4 -5
- package/utils/field/model/rate.d.ts.map +1 -1
- package/utils/field/model/rich-text.d.ts +5 -5
- package/utils/field/model/rich-text.d.ts.map +1 -1
- package/utils/field/model/select.d.ts +5 -5
- package/utils/field/model/select.d.ts.map +1 -1
- package/utils/field/model/text.d.ts +3 -5
- package/utils/field/model/text.d.ts.map +1 -1
- package/utils/field/operate.d.ts +7 -0
- package/utils/field/operate.d.ts.map +1 -1
- package/utils/hover-cell.d.ts +1 -1
- package/utils/index.d.ts +1 -2
- package/utils/index.d.ts.map +1 -1
- package/utils/match-keywords.d.ts +2 -2
- package/utils/match-keywords.d.ts.map +1 -1
- package/utils/position.d.ts +3 -2
- package/utils/position.d.ts.map +1 -1
- package/utils/visible-range.d.ts +2 -1
- package/utils/visible-range.d.ts.map +1 -1
- package/esm2022/types/view.mjs +0 -18
- package/esm2022/utils/field/model/field.mjs +0 -37
- package/types/view.d.ts +0 -23
- package/types/view.d.ts.map +0 -1
- package/utils/field/model/field.d.ts +0 -21
- package/utils/field/model/field.d.ts.map +0 -1
@@ -1,7 +1,7 @@
|
|
1
1
|
import { Component, computed, input, signal } from '@angular/core';
|
2
2
|
import { ChangeDetectionStrategy } from '@angular/core';
|
3
3
|
import { KoShape } from '../../../angular-konva';
|
4
|
-
import { AITableFieldType } from '
|
4
|
+
import { AITableFieldType } from '@ai-table/utils';
|
5
5
|
import { generateTargetName } from '../../../utils';
|
6
6
|
import { isActiveCell } from '../../../renderer';
|
7
7
|
import { Colors, AI_TABLE_CELL_PADDING, AI_TABLE_ROW_BLANK_HEIGHT, AI_TABLE_OFFSET, AI_TABLE_CELL, AI_TABLE_CELL_BORDER, AI_TABLE_PROGRESS_BAR_HEIGHT, AI_TABLE_PROGRESS_TEXT_WIDTH, AI_TABLE_PROGRESS_BAR_RADIUS, AI_TABLE_PROGRESS_BAR_POINTER_WIDTH, AI_TABLE_PROGRESS_BAR_POINTER_HEIGHT, AI_TABLE_TEXT_GAP, DEFAULT_FONT_FAMILY, DEFAULT_FONT_SIZE, DEFAULT_TEXT_FILL } from '../../../constants';
|
@@ -265,4 +265,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
265
265
|
changeDetection: ChangeDetectionStrategy.OnPush
|
266
266
|
}]
|
267
267
|
}] });
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvY29tcG9uZW50cy9jZWxscy9wcm9ncmVzcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUdoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFDSCxNQUFNLEVBQ04scUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6QixlQUFlLEVBQ2YsYUFBYSxFQUNiLG9CQUFvQixFQUNwQiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsb0NBQW9DLEVBQ3BDLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNwQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBc0IvQixNQUFNLE9BQU8sbUJBQW1CO0lBcEJoQztRQXVCSSxXQUFNLEdBQUcsS0FBSyxFQUEwQixDQUFDO1FBRXpDLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLFFBQVEsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztRQUVL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SztZQUFFLE9BQU87UUFFbkIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxRCxPQUFPLENBQUMsZ0JBQWdCLENBQUM7Z0JBQ3JCLEtBQUssRUFBRSxVQUFVO2dCQUNqQixJQUFJLEVBQUUsQ0FBQyxRQUFTLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQzthQUMvQixDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQzsrR0F6UFEsbUJBQW1CO21HQUFuQixtQkFBbUIsb05BbEJsQjs7Ozs7Ozs7Ozs7OztLQWFULDREQUVTLE9BQU87OzRGQUdSLG1CQUFtQjtrQkFwQi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0tBYVQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtvU2hhcGUsIEtvRXZlbnRPYmplY3QgfSBmcm9tICcuLi8uLi8uLi9hbmd1bGFyLWtvbnZhJztcbmltcG9ydCB7IEhvdmVyQ2VsbENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQUlUYWJsZUhvdmVyQ2VsbENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZFR5cGUgfSBmcm9tICcuLi8uLi8uLi9jb3JlJztcbmltcG9ydCB7IGdlbmVyYXRlVGFyZ2V0TmFtZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGlzQWN0aXZlQ2VsbCB9IGZyb20gJy4uLy4uLy4uL3JlbmRlcmVyJztcbmltcG9ydCB7XG4gICAgQ29sb3JzLFxuICAgIEFJX1RBQkxFX0NFTExfUEFERElORyxcbiAgICBBSV9UQUJMRV9ST1dfQkxBTktfSEVJR0hULFxuICAgIEFJX1RBQkxFX09GRlNFVCxcbiAgICBBSV9UQUJMRV9DRUxMLFxuICAgIEFJX1RBQkxFX0NFTExfQk9SREVSLFxuICAgIEFJX1RBQkxFX1BST0dSRVNTX0JBUl9IRUlHSFQsXG4gICAgQUlfVEFCTEVfUFJPR1JFU1NfVEVYVF9XSURUSCxcbiAgICBBSV9UQUJMRV9QUk9HUkVTU19CQVJfUkFESVVTLFxuICAgIEFJX1RBQkxFX1BST0dSRVNTX0JBUl9QT0lOVEVSX1dJRFRILFxuICAgIEFJX1RBQkxFX1BST0dSRVNTX0JBUl9QT0lOVEVSX0hFSUdIVCxcbiAgICBBSV9UQUJMRV9URVhUX0dBUCxcbiAgICBERUZBVUxUX0ZPTlRfRkFNSUxZLFxuICAgIERFRkFVTFRfRk9OVF9TSVpFLFxuICAgIERFRkFVTFRfVEVYVF9GSUxMXG59IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpc05pbCB9IGZyb20gJ2xvZGFzaCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWktdGFibGUtcHJvZ3Jlc3MnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBpZiAoIXJlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgIDxrby1yZWN0IFtjb25maWddPVwid2hpdGVCZ0NvbmZpZygpXCI+PC9rby1yZWN0PlxuICAgICAgICB9XG4gICAgICAgIDxrby1yZWN0IFtjb25maWddPVwicmFpbENvbmZpZygpXCIgKGtvQ2xpY2spPVwia29DbGljaygkZXZlbnQpXCI+PC9rby1yZWN0PlxuICAgICAgICA8a28tcmVjdCBbY29uZmlnXT1cInRyYWNrQ29uZmlnKClcIiAoa29DbGljayk9XCJrb0NsaWNrKCRldmVudClcIj48L2tvLXJlY3Q+XG4gICAgICAgIDxrby1yZWN0XG4gICAgICAgICAgICBbY29uZmlnXT1cInBvaW50ZXJDb25maWcoKVwiXG4gICAgICAgICAgICAoa29EcmFnc3RhcnQpPVwicG9pbnRlckRyYWdzdGFydCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrb0RyYWdtb3ZlKT1cInBvaW50ZXJEcmFnbW92ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIChrb0RyYWdlbmQpPVwicG9pbnRlckRyYWdlbmQoJGV2ZW50KVwiXG4gICAgICAgID48L2tvLXJlY3Q+XG4gICAgICAgIDxrby10ZXh0IFtjb25maWddPVwidGV4dENvbmZpZygpXCI+PC9rby10ZXh0PlxuICAgIGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS29TaGFwZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgQUlUYWJsZUNlbGxQcm9ncmVzcyBpbXBsZW1lbnRzIEhvdmVyQ2VsbENvbXBvbmVudCB7XG4gICAgc3RhdGljIGZpZWxkVHlwZSA9IEFJVGFibGVGaWVsZFR5cGUucHJvZ3Jlc3M7XG5cbiAgICBjb25maWcgPSBpbnB1dDxBSVRhYmxlSG92ZXJDZWxsQ29uZmlnPigpO1xuXG4gICAgcmVhZG9ubHkgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZygpPy5yZWFkb25seTtcbiAgICB9KTtcblxuICAgIHByaXZhdGUgZHJhZ1BvaW50ZXJYID0gc2lnbmFsPG51bWJlciB8IG51bGw+KG51bGwpO1xuXG4gICAgcHJpdmF0ZSByYWlsV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgY29sdW1uV2lkdGggfSA9IHRoaXMuY29uZmlnKCkhLnJlbmRlcjtcbiAgICAgICAgcmV0dXJuIGNvbHVtbldpZHRoIC0gMiAqIEFJX1RBQkxFX0NFTExfUEFERElORyAtIEFJX1RBQkxFX1BST0dSRVNTX1RFWFRfV0lEVEg7XG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHRyYWNrV2lkdGggPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiAodGhpcy5wcm9ncmVzc1ZhbHVlKCkgLyAxMDApICogdGhpcy5yYWlsV2lkdGgoKTtcbiAgICB9KTtcblxuICAgIHByaXZhdGUgcG9pbnRlcldpZHRoID0gQUlfVEFCTEVfUFJPR1JFU1NfQkFSX1BPSU5URVJfV0lEVEg7XG5cbiAgICBwcml2YXRlIHByb2dyZXNzT2Zmc2V0WSA9IChBSV9UQUJMRV9ST1dfQkxBTktfSEVJR0hUIC0gQUlfVEFCTEVfUFJPR1JFU1NfQkFSX0hFSUdIVCkgLyAyICsgQUlfVEFCTEVfT0ZGU0VUO1xuXG4gICAgcHJpdmF0ZSBkcmFnUHJvZ3Jlc3NWYWx1ZSA9IHNpZ25hbDxudW1iZXIgfCBudWxsPihudWxsKTtcblxuICAgIHByaXZhdGUgcHJvZ3Jlc3NWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgZHJhZ1ZhbHVlID0gdGhpcy5kcmFnUHJvZ3Jlc3NWYWx1ZSgpO1xuICAgICAgICBpZiAoZHJhZ1ZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gZHJhZ1ZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyByZW5kZXIgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCB7IHRyYW5zZm9ybVZhbHVlIH0gPSByZW5kZXI7XG4gICAgICAgIGlmIChpc05pbCh0cmFuc2Zvcm1WYWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cmFuc2Zvcm1WYWx1ZTtcbiAgICB9KTtcblxuICAgIHdoaXRlQmdDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgYWlUYWJsZSwgcmVuZGVyLCBmaWVsZCwgcmVjb3JkSWQsIGNvb3JkaW5hdGUgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCBwb2ludFBvc2l0aW9uID0gYWlUYWJsZS5jb250ZXh0IS5wb2ludFBvc2l0aW9uKCk7XG4gICAgICAgIGNvbnN0IHsgeCwgeSB9ID0gcmVuZGVyO1xuICAgICAgICBjb25zdCB7IGNvbHVtbkluZGV4IH0gPSBwb2ludFBvc2l0aW9uO1xuICAgICAgICBjb25zdCBpc0FjdGl2ZSA9IGlzQWN0aXZlQ2VsbChbcmVjb3JkSWQhLCBmaWVsZC5faWRdLCBhaVRhYmxlKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogeCAtIEFJX1RBQkxFX0NFTExfUEFERElORyArIEFJX1RBQkxFX0NFTExfQk9SREVSIC8gMixcbiAgICAgICAgICAgIHk6IHkgKyBBSV9UQUJMRV9DRUxMX0JPUkRFUiArIEFJX1RBQkxFX09GRlNFVCxcbiAgICAgICAgICAgIHdpZHRoOiBjb29yZGluYXRlLmdldENvbHVtbldpZHRoKGNvbHVtbkluZGV4KSAtIChBSV9UQUJMRV9DRUxMX0JPUkRFUiArIEFJX1RBQkxFX09GRlNFVCkgKiAyICsgQUlfVEFCTEVfQ0VMTF9CT1JERVIgLyAyLFxuICAgICAgICAgICAgaGVpZ2h0OiBBSV9UQUJMRV9ST1dfQkxBTktfSEVJR0hUIC0gKEFJX1RBQkxFX0NFTExfQk9SREVSICsgQUlfVEFCTEVfT0ZGU0VUKSxcbiAgICAgICAgICAgIGZpbGw6IENvbG9ycy53aGl0ZSxcbiAgICAgICAgICAgIHN0cm9rZTogaXNBY3RpdmUgPyBudWxsIDogQ29sb3JzLndoaXRlLFxuICAgICAgICAgICAgbmFtZTogZ2VuZXJhdGVUYXJnZXROYW1lKHtcbiAgICAgICAgICAgICAgICB0YXJnZXROYW1lOiBBSV9UQUJMRV9DRUxMLFxuICAgICAgICAgICAgICAgIGZpZWxkSWQ6IGZpZWxkLl9pZCxcbiAgICAgICAgICAgICAgICByZWNvcmRJZFxuICAgICAgICAgICAgfSlcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIHJhaWxDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcmVuZGVyLCBmaWVsZCwgcmVjb3JkSWQgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCB7IHggfSA9IHJlbmRlcjtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeCxcbiAgICAgICAgICAgIHk6IHRoaXMucHJvZ3Jlc3NPZmZzZXRZLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMucmFpbFdpZHRoKCksXG4gICAgICAgICAgICBoZWlnaHQ6IEFJX1RBQkxFX1BST0dSRVNTX0JBUl9IRUlHSFQsXG4gICAgICAgICAgICBjb3JuZXJSYWRpdXM6IEFJX1RBQkxFX1BST0dSRVNTX0JBUl9SQURJVVMsXG4gICAgICAgICAgICBmaWxsOiBDb2xvcnMuZ3JheTIwMCxcbiAgICAgICAgICAgIG5hbWU6IGdlbmVyYXRlVGFyZ2V0TmFtZSh7XG4gICAgICAgICAgICAgICAgdGFyZ2V0TmFtZTogQUlfVEFCTEVfQ0VMTCxcbiAgICAgICAgICAgICAgICBmaWVsZElkOiBmaWVsZC5faWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkSWQsXG4gICAgICAgICAgICAgICAgbW91c2VTdHlsZTogdGhpcy5yZWFkb25seSgpID8gJ2RlZmF1bHQnIDogJ3BvaW50ZXInXG4gICAgICAgICAgICB9KVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgdHJhY2tDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcmVuZGVyLCBmaWVsZCwgcmVjb3JkSWQgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCB7IHggfSA9IHJlbmRlcjtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeCxcbiAgICAgICAgICAgIHk6IHRoaXMucHJvZ3Jlc3NPZmZzZXRZLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMudHJhY2tXaWR0aCgpLFxuICAgICAgICAgICAgaGVpZ2h0OiBBSV9UQUJMRV9QUk9HUkVTU19CQVJfSEVJR0hULFxuICAgICAgICAgICAgY29ybmVyUmFkaXVzOiBBSV9UQUJMRV9QUk9HUkVTU19CQVJfUkFESVVTLFxuICAgICAgICAgICAgZmlsbDogQ29sb3JzLnN1Y2Nlc3MsXG4gICAgICAgICAgICBuYW1lOiBnZW5lcmF0ZVRhcmdldE5hbWUoe1xuICAgICAgICAgICAgICAgIHRhcmdldE5hbWU6IEFJX1RBQkxFX0NFTEwsXG4gICAgICAgICAgICAgICAgZmllbGRJZDogZmllbGQuX2lkLFxuICAgICAgICAgICAgICAgIHJlY29yZElkLFxuICAgICAgICAgICAgICAgIG1vdXNlU3R5bGU6IHRoaXMucmVhZG9ubHkoKSA/ICdkZWZhdWx0JyA6ICdwb2ludGVyJ1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIHBvaW50ZXJDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcmVuZGVyLCBmaWVsZCwgcmVjb3JkSWQgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCB7IHggfSA9IHJlbmRlcjtcbiAgICAgICAgY29uc3QgaGFsZlBvaW50ZXJXaWR0aCA9IHRoaXMucG9pbnRlcldpZHRoIC8gMjtcbiAgICAgICAgY29uc3QgcG9pbnRlclkgPSB0aGlzLnByb2dyZXNzT2Zmc2V0WSAtIChBSV9UQUJMRV9QUk9HUkVTU19CQVJfUE9JTlRFUl9IRUlHSFQgLSBBSV9UQUJMRV9QUk9HUkVTU19CQVJfSEVJR0hUKSAvIDI7XG5cbiAgICAgICAgbGV0IHBvaW50ZXJYOiBudW1iZXI7XG4gICAgICAgIGlmICh0aGlzLmRyYWdQb2ludGVyWCgpICE9PSBudWxsKSB7XG4gICAgICAgICAgICBwb2ludGVyWCA9IHRoaXMuZHJhZ1BvaW50ZXJYKCkhIC0gaGFsZlBvaW50ZXJXaWR0aDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBvaW50ZXJYID0geCArIHRoaXMudHJhY2tXaWR0aCgpIC0gaGFsZlBvaW50ZXJXaWR0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiBwb2ludGVyWCxcbiAgICAgICAgICAgIHk6IHBvaW50ZXJZLFxuICAgICAgICAgICAgd2lkdGg6IHRoaXMucG9pbnRlcldpZHRoLFxuICAgICAgICAgICAgaGVpZ2h0OiBBSV9UQUJMRV9QUk9HUkVTU19CQVJfUE9JTlRFUl9IRUlHSFQsXG4gICAgICAgICAgICBmaWxsOiBDb2xvcnMud2hpdGUsXG4gICAgICAgICAgICBzdHJva2U6IENvbG9ycy5zdWNjZXNzLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDEsXG4gICAgICAgICAgICBjb3JuZXJSYWRpdXM6IEFJX1RBQkxFX1BST0dSRVNTX0JBUl9SQURJVVMsXG4gICAgICAgICAgICBvcGFjaXR5OiB0aGlzLnJlYWRvbmx5KCkgPyAwIDogMSxcbiAgICAgICAgICAgIGRyYWdnYWJsZTogIXRoaXMucmVhZG9ubHkoKSxcbiAgICAgICAgICAgIGRyYWdCb3VuZEZ1bmM6IChwb3M6IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1pblggPSB4O1xuICAgICAgICAgICAgICAgIGNvbnN0IG1heFggPSB4ICsgdGhpcy5yYWlsV2lkdGgoKSAtIHRoaXMucG9pbnRlcldpZHRoO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgeDogTWF0aC5taW4obWluWCwgTWF0aC5taW4obWF4WCwgcG9zLngpKSxcbiAgICAgICAgICAgICAgICAgICAgeTogcG9pbnRlcllcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5hbWU6IGdlbmVyYXRlVGFyZ2V0TmFtZSh7XG4gICAgICAgICAgICAgICAgdGFyZ2V0TmFtZTogQUlfVEFCTEVfQ0VMTCxcbiAgICAgICAgICAgICAgICBmaWVsZElkOiBmaWVsZC5faWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkSWQsXG4gICAgICAgICAgICAgICAgbW91c2VTdHlsZTogdGhpcy5yZWFkb25seSgpID8gJ2RlZmF1bHQnIDogJ3BvaW50ZXInXG4gICAgICAgICAgICB9KVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgdGV4dENvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyByZW5kZXIsIGZpZWxkLCByZWNvcmRJZCB9ID0gdGhpcy5jb25maWcoKSE7XG4gICAgICAgIGNvbnN0IHsgeCB9ID0gcmVuZGVyO1xuICAgICAgICBjb25zdCB0ZXh0WCA9IHggKyB0aGlzLnJhaWxXaWR0aCgpICsgQUlfVEFCTEVfVEVYVF9HQVA7XG4gICAgICAgIGNvbnN0IHRleHRZID0gKEFJX1RBQkxFX1JPV19CTEFOS19IRUlHSFQgLSBERUZBVUxUX0ZPTlRfU0laRSkgLyAyICsgQUlfVEFCTEVfT0ZGU0VUO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiB0ZXh0WCxcbiAgICAgICAgICAgIHk6IHRleHRZLFxuICAgICAgICAgICAgdGV4dDogYCR7dGhpcy5wcm9ncmVzc1ZhbHVlKCl9JWAsXG4gICAgICAgICAgICBmaWxsOiBERUZBVUxUX1RFWFRfRklMTCxcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IERFRkFVTFRfRk9OVF9GQU1JTFksXG4gICAgICAgICAgICBmb250U2l6ZTogREVGQVVMVF9GT05UX1NJWkUsXG4gICAgICAgICAgICBuYW1lOiBnZW5lcmF0ZVRhcmdldE5hbWUoe1xuICAgICAgICAgICAgICAgIHRhcmdldE5hbWU6IEFJX1RBQkxFX0NFTEwsXG4gICAgICAgICAgICAgICAgZmllbGRJZDogZmllbGQuX2lkLFxuICAgICAgICAgICAgICAgIHJlY29yZElkXG4gICAgICAgICAgICB9KVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSBjYWxjdWxhdGVQZXJjZW50YWdlKGNsaWNrWDogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIE1hdGgubWluKDEwMCwgTWF0aC5yb3VuZCgoY2xpY2tYIC8gdGhpcy5yYWlsV2lkdGgoKSkgKiAxMDApKSk7XG4gICAgfVxuXG4gICAga29DbGljayhlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVwZGF0ZVByb2dyZXNzVmFsdWUoZSk7XG4gICAgfVxuXG4gICAgcG9pbnRlckRyYWdzdGFydChlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBvaW50ZXJEcmFnbW92ZShlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgcmVuZGVyLCBhaVRhYmxlLCBjb29yZGluYXRlIH0gPSB0aGlzLmNvbmZpZygpITtcbiAgICAgICAgY29uc3QgeyB4IH0gPSByZW5kZXI7XG4gICAgICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCB9ID0gYWlUYWJsZS5jb250ZXh0IS5zY3JvbGxTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwb2ludFBvc2l0aW9uID0gYWlUYWJsZS5jb250ZXh0IS5wb2ludFBvc2l0aW9uKCk7XG4gICAgICAgIGNvbnN0IHsgY29sdW1uSW5kZXggfSA9IHBvaW50UG9zaXRpb247XG4gICAgICAgIGNvbnN0IGNvbHVtbkxlZnRYID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5PZmZzZXQoY29sdW1uSW5kZXgpIC0gc2Nyb2xsTGVmdCArIEFJX1RBQkxFX09GRlNFVDtcblxuICAgICAgICBjb25zdCBzdGFnZSA9IGUuZXZlbnQudGFyZ2V0LmdldFN0YWdlKCk7XG4gICAgICAgIGlmICghc3RhZ2UpIHJldHVybjtcblxuICAgICAgICBjb25zdCBwb2ludCA9IHN0YWdlLmdldFBvaW50ZXJQb3NpdGlvbigpO1xuICAgICAgICBpZiAoIXBvaW50KSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgZHJhZ1ggPSBwb2ludC54IC0gY29sdW1uTGVmdFggLSB4O1xuICAgICAgICBjb25zdCBtaW5YID0geDtcbiAgICAgICAgY29uc3QgbWF4WCA9IHggKyB0aGlzLnJhaWxXaWR0aCgpO1xuXG4gICAgICAgIGxldCBkcmFnUG9pbnRlclggPSBwb2ludC54IC0gY29sdW1uTGVmdFg7XG4gICAgICAgIGlmIChkcmFnUG9pbnRlclggPCBtaW5YKSB7XG4gICAgICAgICAgICBkcmFnUG9pbnRlclggPSBtaW5YO1xuICAgICAgICB9IGVsc2UgaWYgKGRyYWdQb2ludGVyWCA+IG1heFgpIHtcbiAgICAgICAgICAgIGRyYWdQb2ludGVyWCA9IG1heFg7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRyYWdQb2ludGVyWC5zZXQoZHJhZ1BvaW50ZXJYKTtcbiAgICAgICAgY29uc3QgcGVyY2VudGFnZSA9IHRoaXMuY2FsY3VsYXRlUGVyY2VudGFnZShkcmFnWCk7XG4gICAgICAgIHRoaXMuZHJhZ1Byb2dyZXNzVmFsdWUuc2V0KHBlcmNlbnRhZ2UpO1xuICAgIH1cblxuICAgIHBvaW50ZXJEcmFnZW5kKGU6IEtvRXZlbnRPYmplY3Q8TW91c2VFdmVudD4pIHtcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVQcm9ncmVzc1ZhbHVlKGUpO1xuICAgICAgICB0aGlzLmRyYWdQb2ludGVyWC5zZXQobnVsbCk7XG4gICAgICAgIHRoaXMuZHJhZ1Byb2dyZXNzVmFsdWUuc2V0KG51bGwpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUHJvZ3Jlc3NWYWx1ZShlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgcmVuZGVyLCBhaVRhYmxlLCBjb29yZGluYXRlLCBhY3Rpb25zLCBmaWVsZCwgcmVjb3JkSWQgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCB7IHggfSA9IHJlbmRlcjtcbiAgICAgICAgY29uc3QgeyBzY3JvbGxMZWZ0IH0gPSBhaVRhYmxlLmNvbnRleHQhLnNjcm9sbFN0YXRlKCk7XG4gICAgICAgIGNvbnN0IHBvaW50UG9zaXRpb24gPSBhaVRhYmxlLmNvbnRleHQhLnBvaW50UG9zaXRpb24oKTtcbiAgICAgICAgY29uc3QgeyBjb2x1bW5JbmRleCB9ID0gcG9pbnRQb3NpdGlvbjtcbiAgICAgICAgY29uc3QgY29sdW1uTGVmdFggPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldChjb2x1bW5JbmRleCkgLSBzY3JvbGxMZWZ0ICsgQUlfVEFCTEVfT0ZGU0VUO1xuXG4gICAgICAgIGNvbnN0IHN0YWdlID0gZS5ldmVudC50YXJnZXQuZ2V0U3RhZ2UoKTtcbiAgICAgICAgaWYgKCFzdGFnZSkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IHBvaW50ID0gc3RhZ2UuZ2V0UG9pbnRlclBvc2l0aW9uKCk7XG4gICAgICAgIGlmICghcG9pbnQpIHJldHVybjtcblxuICAgICAgICBjb25zdCBkcmFnWCA9IHBvaW50LnggLSBjb2x1bW5MZWZ0WCAtIHg7XG4gICAgICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSB0aGlzLmNhbGN1bGF0ZVBlcmNlbnRhZ2UoZHJhZ1gpO1xuXG4gICAgICAgIGlmICghdGhpcy5yZWFkb25seSgpICYmIGFjdGlvbnMgJiYgYWN0aW9ucy51cGRhdGVGaWVsZFZhbHVlKSB7XG4gICAgICAgICAgICBhY3Rpb25zLnVwZGF0ZUZpZWxkVmFsdWUoe1xuICAgICAgICAgICAgICAgIHZhbHVlOiBwZXJjZW50YWdlLFxuICAgICAgICAgICAgICAgIHBhdGg6IFtyZWNvcmRJZCEsIGZpZWxkLl9pZF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
268
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9zcmMvcmVuZGVyZXIvY29tcG9uZW50cy9jZWxscy9wcm9ncmVzcy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUdoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUNILE1BQU0sRUFDTixxQkFBcUIsRUFDckIseUJBQXlCLEVBQ3pCLGVBQWUsRUFDZixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLDRCQUE0QixFQUM1Qiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ3BCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQzs7QUFzQi9CLE1BQU0sT0FBTyxtQkFBbUI7SUFwQmhDO1FBdUJJLFdBQU0sR0FBRyxLQUFLLEVBQTBCLENBQUM7UUFFekMsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDckIsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsUUFBUSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FB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QUFLO1lBQUUsT0FBTztRQUVuQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFELE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDckIsS0FBSyxFQUFFLFVBQVU7Z0JBQ2pCLElBQUksRUFBRSxDQUFDLFFBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDO2FBQy9CLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDOytHQXpQUSxtQkFBbUI7bUdBQW5CLG1CQUFtQixvTkFsQmxCOzs7Ozs7Ozs7Ozs7O0tBYVQsNERBRVMsT0FBTzs7NEZBR1IsbUJBQW1CO2tCQXBCL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7S0FhVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDO29CQUNsQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS29TaGFwZSwgS29FdmVudE9iamVjdCB9IGZyb20gJy4uLy4uLy4uL2FuZ3VsYXIta29udmEnO1xuaW1wb3J0IHsgSG92ZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBSVRhYmxlSG92ZXJDZWxsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkVHlwZSB9IGZyb20gJ0BhaS10YWJsZS91dGlscyc7XG5pbXBvcnQgeyBnZW5lcmF0ZVRhcmdldE5hbWUgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBpc0FjdGl2ZUNlbGwgfSBmcm9tICcuLi8uLi8uLi9yZW5kZXJlcic7XG5pbXBvcnQge1xuICAgIENvbG9ycyxcbiAgICBBSV9UQUJMRV9DRUxMX1BBRERJTkcsXG4gICAgQUlfVEFCTEVfUk9XX0JMQU5LX0hFSUdIVCxcbiAgICBBSV9UQUJMRV9PRkZTRVQsXG4gICAgQUlfVEFCTEVfQ0VMTCxcbiAgICBBSV9UQUJMRV9DRUxMX0JPUkRFUixcbiAgICBBSV9UQUJMRV9QUk9HUkVTU19CQVJfSEVJR0hULFxuICAgIEFJX1RBQkxFX1BST0dSRVNTX1RFWFRfV0lEVEgsXG4gICAgQUlfVEFCTEVfUFJPR1JFU1NfQkFSX1JBRElVUyxcbiAgICBBSV9UQUJMRV9QUk9HUkVTU19CQVJfUE9JTlRFUl9XSURUSCxcbiAgICBBSV9UQUJMRV9QUk9HUkVTU19CQVJfUE9JTlRFUl9IRUlHSFQsXG4gICAgQUlfVEFCTEVfVEVYVF9HQVAsXG4gICAgREVGQVVMVF9GT05UX0ZBTUlMWSxcbiAgICBERUZBVUxUX0ZPTlRfU0laRSxcbiAgICBERUZBVUxUX1RFWFRfRklMTFxufSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLXByb2dyZXNzJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICBAaWYgKCFyZWFkb25seSgpKSB7XG4gICAgICAgICAgICA8a28tcmVjdCBbY29uZmlnXT1cIndoaXRlQmdDb25maWcoKVwiPjwva28tcmVjdD5cbiAgICAgICAgfVxuICAgICAgICA8a28tcmVjdCBbY29uZmlnXT1cInJhaWxDb25maWcoKVwiIChrb0NsaWNrKT1cImtvQ2xpY2soJGV2ZW50KVwiPjwva28tcmVjdD5cbiAgICAgICAgPGtvLXJlY3QgW2NvbmZpZ109XCJ0cmFja0NvbmZpZygpXCIgKGtvQ2xpY2spPVwia29DbGljaygkZXZlbnQpXCI+PC9rby1yZWN0PlxuICAgICAgICA8a28tcmVjdFxuICAgICAgICAgICAgW2NvbmZpZ109XCJwb2ludGVyQ29uZmlnKClcIlxuICAgICAgICAgICAgKGtvRHJhZ3N0YXJ0KT1cInBvaW50ZXJEcmFnc3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa29EcmFnbW92ZSk9XCJwb2ludGVyRHJhZ21vdmUoJGV2ZW50KVwiXG4gICAgICAgICAgICAoa29EcmFnZW5kKT1cInBvaW50ZXJEcmFnZW5kKCRldmVudClcIlxuICAgICAgICA+PC9rby1yZWN0PlxuICAgICAgICA8a28tdGV4dCBbY29uZmlnXT1cInRleHRDb25maWcoKVwiPjwva28tdGV4dD5cbiAgICBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0tvU2hhcGVdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVDZWxsUHJvZ3Jlc3MgaW1wbGVtZW50cyBIb3ZlckNlbGxDb21wb25lbnQge1xuICAgIHN0YXRpYyBmaWVsZFR5cGUgPSBBSVRhYmxlRmllbGRUeXBlLnByb2dyZXNzO1xuXG4gICAgY29uZmlnID0gaW5wdXQ8QUlUYWJsZUhvdmVyQ2VsbENvbmZpZz4oKTtcblxuICAgIHJlYWRvbmx5ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcoKT8ucmVhZG9ubHk7XG4gICAgfSk7XG5cbiAgICBwcml2YXRlIGRyYWdQb2ludGVyWCA9IHNpZ25hbDxudW1iZXIgfCBudWxsPihudWxsKTtcblxuICAgIHByaXZhdGUgcmFpbFdpZHRoID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGNvbHVtbldpZHRoIH0gPSB0aGlzLmNvbmZpZygpIS5yZW5kZXI7XG4gICAgICAgIHJldHVybiBjb2x1bW5XaWR0aCAtIDIgKiBBSV9UQUJMRV9DRUxMX1BBRERJTkcgLSBBSV9UQUJMRV9QUk9HUkVTU19URVhUX1dJRFRIO1xuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSB0cmFja1dpZHRoID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gKHRoaXMucHJvZ3Jlc3NWYWx1ZSgpIC8gMTAwKSAqIHRoaXMucmFpbFdpZHRoKCk7XG4gICAgfSk7XG5cbiAgICBwcml2YXRlIHBvaW50ZXJXaWR0aCA9IEFJX1RBQkxFX1BST0dSRVNTX0JBUl9QT0lOVEVSX1dJRFRIO1xuXG4gICAgcHJpdmF0ZSBwcm9ncmVzc09mZnNldFkgPSAoQUlfVEFCTEVfUk9XX0JMQU5LX0hFSUdIVCAtIEFJX1RBQkxFX1BST0dSRVNTX0JBUl9IRUlHSFQpIC8gMiArIEFJX1RBQkxFX09GRlNFVDtcblxuICAgIHByaXZhdGUgZHJhZ1Byb2dyZXNzVmFsdWUgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgICBwcml2YXRlIHByb2dyZXNzVmFsdWUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRyYWdWYWx1ZSA9IHRoaXMuZHJhZ1Byb2dyZXNzVmFsdWUoKTtcbiAgICAgICAgaWYgKGRyYWdWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGRyYWdWYWx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHsgcmVuZGVyIH0gPSB0aGlzLmNvbmZpZygpITtcbiAgICAgICAgY29uc3QgeyB0cmFuc2Zvcm1WYWx1ZSB9ID0gcmVuZGVyO1xuICAgICAgICBpZiAoaXNOaWwodHJhbnNmb3JtVmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJhbnNmb3JtVmFsdWU7XG4gICAgfSk7XG5cbiAgICB3aGl0ZUJnQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGFpVGFibGUsIHJlbmRlciwgZmllbGQsIHJlY29yZElkLCBjb29yZGluYXRlIH0gPSB0aGlzLmNvbmZpZygpITtcbiAgICAgICAgY29uc3QgcG9pbnRQb3NpdGlvbiA9IGFpVGFibGUuY29udGV4dCEucG9pbnRQb3NpdGlvbigpO1xuICAgICAgICBjb25zdCB7IHgsIHkgfSA9IHJlbmRlcjtcbiAgICAgICAgY29uc3QgeyBjb2x1bW5JbmRleCB9ID0gcG9pbnRQb3NpdGlvbjtcbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSBpc0FjdGl2ZUNlbGwoW3JlY29yZElkISwgZmllbGQuX2lkXSwgYWlUYWJsZSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHg6IHggLSBBSV9UQUJMRV9DRUxMX1BBRERJTkcgKyBBSV9UQUJMRV9DRUxMX0JPUkRFUiAvIDIsXG4gICAgICAgICAgICB5OiB5ICsgQUlfVEFCTEVfQ0VMTF9CT1JERVIgKyBBSV9UQUJMRV9PRkZTRVQsXG4gICAgICAgICAgICB3aWR0aDogY29vcmRpbmF0ZS5nZXRDb2x1bW5XaWR0aChjb2x1bW5JbmRleCkgLSAoQUlfVEFCTEVfQ0VMTF9CT1JERVIgKyBBSV9UQUJMRV9PRkZTRVQpICogMiArIEFJX1RBQkxFX0NFTExfQk9SREVSIC8gMixcbiAgICAgICAgICAgIGhlaWdodDogQUlfVEFCTEVfUk9XX0JMQU5LX0hFSUdIVCAtIChBSV9UQUJMRV9DRUxMX0JPUkRFUiArIEFJX1RBQkxFX09GRlNFVCksXG4gICAgICAgICAgICBmaWxsOiBDb2xvcnMud2hpdGUsXG4gICAgICAgICAgICBzdHJva2U6IGlzQWN0aXZlID8gbnVsbCA6IENvbG9ycy53aGl0ZSxcbiAgICAgICAgICAgIG5hbWU6IGdlbmVyYXRlVGFyZ2V0TmFtZSh7XG4gICAgICAgICAgICAgICAgdGFyZ2V0TmFtZTogQUlfVEFCTEVfQ0VMTCxcbiAgICAgICAgICAgICAgICBmaWVsZElkOiBmaWVsZC5faWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkSWRcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICByYWlsQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHJlbmRlciwgZmllbGQsIHJlY29yZElkIH0gPSB0aGlzLmNvbmZpZygpITtcbiAgICAgICAgY29uc3QgeyB4IH0gPSByZW5kZXI7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHgsXG4gICAgICAgICAgICB5OiB0aGlzLnByb2dyZXNzT2Zmc2V0WSxcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLnJhaWxXaWR0aCgpLFxuICAgICAgICAgICAgaGVpZ2h0OiBBSV9UQUJMRV9QUk9HUkVTU19CQVJfSEVJR0hULFxuICAgICAgICAgICAgY29ybmVyUmFkaXVzOiBBSV9UQUJMRV9QUk9HUkVTU19CQVJfUkFESVVTLFxuICAgICAgICAgICAgZmlsbDogQ29sb3JzLmdyYXkyMDAsXG4gICAgICAgICAgICBuYW1lOiBnZW5lcmF0ZVRhcmdldE5hbWUoe1xuICAgICAgICAgICAgICAgIHRhcmdldE5hbWU6IEFJX1RBQkxFX0NFTEwsXG4gICAgICAgICAgICAgICAgZmllbGRJZDogZmllbGQuX2lkLFxuICAgICAgICAgICAgICAgIHJlY29yZElkLFxuICAgICAgICAgICAgICAgIG1vdXNlU3R5bGU6IHRoaXMucmVhZG9ubHkoKSA/ICdkZWZhdWx0JyA6ICdwb2ludGVyJ1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIHRyYWNrQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHJlbmRlciwgZmllbGQsIHJlY29yZElkIH0gPSB0aGlzLmNvbmZpZygpITtcbiAgICAgICAgY29uc3QgeyB4IH0gPSByZW5kZXI7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHgsXG4gICAgICAgICAgICB5OiB0aGlzLnByb2dyZXNzT2Zmc2V0WSxcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLnRyYWNrV2lkdGgoKSxcbiAgICAgICAgICAgIGhlaWdodDogQUlfVEFCTEVfUFJPR1JFU1NfQkFSX0hFSUdIVCxcbiAgICAgICAgICAgIGNvcm5lclJhZGl1czogQUlfVEFCTEVfUFJPR1JFU1NfQkFSX1JBRElVUyxcbiAgICAgICAgICAgIGZpbGw6IENvbG9ycy5zdWNjZXNzLFxuICAgICAgICAgICAgbmFtZTogZ2VuZXJhdGVUYXJnZXROYW1lKHtcbiAgICAgICAgICAgICAgICB0YXJnZXROYW1lOiBBSV9UQUJMRV9DRUxMLFxuICAgICAgICAgICAgICAgIGZpZWxkSWQ6IGZpZWxkLl9pZCxcbiAgICAgICAgICAgICAgICByZWNvcmRJZCxcbiAgICAgICAgICAgICAgICBtb3VzZVN0eWxlOiB0aGlzLnJlYWRvbmx5KCkgPyAnZGVmYXVsdCcgOiAncG9pbnRlcidcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBwb2ludGVyQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHJlbmRlciwgZmllbGQsIHJlY29yZElkIH0gPSB0aGlzLmNvbmZpZygpITtcbiAgICAgICAgY29uc3QgeyB4IH0gPSByZW5kZXI7XG4gICAgICAgIGNvbnN0IGhhbGZQb2ludGVyV2lkdGggPSB0aGlzLnBvaW50ZXJXaWR0aCAvIDI7XG4gICAgICAgIGNvbnN0IHBvaW50ZXJZID0gdGhpcy5wcm9ncmVzc09mZnNldFkgLSAoQUlfVEFCTEVfUFJPR1JFU1NfQkFSX1BPSU5URVJfSEVJR0hUIC0gQUlfVEFCTEVfUFJPR1JFU1NfQkFSX0hFSUdIVCkgLyAyO1xuXG4gICAgICAgIGxldCBwb2ludGVyWDogbnVtYmVyO1xuICAgICAgICBpZiAodGhpcy5kcmFnUG9pbnRlclgoKSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcG9pbnRlclggPSB0aGlzLmRyYWdQb2ludGVyWCgpISAtIGhhbGZQb2ludGVyV2lkdGg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwb2ludGVyWCA9IHggKyB0aGlzLnRyYWNrV2lkdGgoKSAtIGhhbGZQb2ludGVyV2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogcG9pbnRlclgsXG4gICAgICAgICAgICB5OiBwb2ludGVyWSxcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLnBvaW50ZXJXaWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogQUlfVEFCTEVfUFJPR1JFU1NfQkFSX1BPSU5URVJfSEVJR0hULFxuICAgICAgICAgICAgZmlsbDogQ29sb3JzLndoaXRlLFxuICAgICAgICAgICAgc3Ryb2tlOiBDb2xvcnMuc3VjY2VzcyxcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICAgICAgY29ybmVyUmFkaXVzOiBBSV9UQUJMRV9QUk9HUkVTU19CQVJfUkFESVVTLFxuICAgICAgICAgICAgb3BhY2l0eTogdGhpcy5yZWFkb25seSgpID8gMCA6IDEsXG4gICAgICAgICAgICBkcmFnZ2FibGU6ICF0aGlzLnJlYWRvbmx5KCksXG4gICAgICAgICAgICBkcmFnQm91bmRGdW5jOiAocG9zOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBtaW5YID0geDtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXhYID0geCArIHRoaXMucmFpbFdpZHRoKCkgLSB0aGlzLnBvaW50ZXJXaWR0aDtcblxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHg6IE1hdGgubWluKG1pblgsIE1hdGgubWluKG1heFgsIHBvcy54KSksXG4gICAgICAgICAgICAgICAgICAgIHk6IHBvaW50ZXJZXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuYW1lOiBnZW5lcmF0ZVRhcmdldE5hbWUoe1xuICAgICAgICAgICAgICAgIHRhcmdldE5hbWU6IEFJX1RBQkxFX0NFTEwsXG4gICAgICAgICAgICAgICAgZmllbGRJZDogZmllbGQuX2lkLFxuICAgICAgICAgICAgICAgIHJlY29yZElkLFxuICAgICAgICAgICAgICAgIG1vdXNlU3R5bGU6IHRoaXMucmVhZG9ubHkoKSA/ICdkZWZhdWx0JyA6ICdwb2ludGVyJ1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIHRleHRDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcmVuZGVyLCBmaWVsZCwgcmVjb3JkSWQgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCB7IHggfSA9IHJlbmRlcjtcbiAgICAgICAgY29uc3QgdGV4dFggPSB4ICsgdGhpcy5yYWlsV2lkdGgoKSArIEFJX1RBQkxFX1RFWFRfR0FQO1xuICAgICAgICBjb25zdCB0ZXh0WSA9IChBSV9UQUJMRV9ST1dfQkxBTktfSEVJR0hUIC0gREVGQVVMVF9GT05UX1NJWkUpIC8gMiArIEFJX1RBQkxFX09GRlNFVDtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogdGV4dFgsXG4gICAgICAgICAgICB5OiB0ZXh0WSxcbiAgICAgICAgICAgIHRleHQ6IGAke3RoaXMucHJvZ3Jlc3NWYWx1ZSgpfSVgLFxuICAgICAgICAgICAgZmlsbDogREVGQVVMVF9URVhUX0ZJTEwsXG4gICAgICAgICAgICBmb250RmFtaWx5OiBERUZBVUxUX0ZPTlRfRkFNSUxZLFxuICAgICAgICAgICAgZm9udFNpemU6IERFRkFVTFRfRk9OVF9TSVpFLFxuICAgICAgICAgICAgbmFtZTogZ2VuZXJhdGVUYXJnZXROYW1lKHtcbiAgICAgICAgICAgICAgICB0YXJnZXROYW1lOiBBSV9UQUJMRV9DRUxMLFxuICAgICAgICAgICAgICAgIGZpZWxkSWQ6IGZpZWxkLl9pZCxcbiAgICAgICAgICAgICAgICByZWNvcmRJZFxuICAgICAgICAgICAgfSlcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIHByaXZhdGUgY2FsY3VsYXRlUGVyY2VudGFnZShjbGlja1g6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIE1hdGgucm91bmQoKGNsaWNrWCAvIHRoaXMucmFpbFdpZHRoKCkpICogMTAwKSkpO1xuICAgIH1cblxuICAgIGtvQ2xpY2soZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVQcm9ncmVzc1ZhbHVlKGUpO1xuICAgIH1cblxuICAgIHBvaW50ZXJEcmFnc3RhcnQoZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwb2ludGVyRHJhZ21vdmUoZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7IHJlbmRlciwgYWlUYWJsZSwgY29vcmRpbmF0ZSB9ID0gdGhpcy5jb25maWcoKSE7XG4gICAgICAgIGNvbnN0IHsgeCB9ID0gcmVuZGVyO1xuICAgICAgICBjb25zdCB7IHNjcm9sbExlZnQgfSA9IGFpVGFibGUuY29udGV4dCEuc2Nyb2xsU3RhdGUoKTtcbiAgICAgICAgY29uc3QgcG9pbnRQb3NpdGlvbiA9IGFpVGFibGUuY29udGV4dCEucG9pbnRQb3NpdGlvbigpO1xuICAgICAgICBjb25zdCB7IGNvbHVtbkluZGV4IH0gPSBwb2ludFBvc2l0aW9uO1xuICAgICAgICBjb25zdCBjb2x1bW5MZWZ0WCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uT2Zmc2V0KGNvbHVtbkluZGV4KSAtIHNjcm9sbExlZnQgKyBBSV9UQUJMRV9PRkZTRVQ7XG5cbiAgICAgICAgY29uc3Qgc3RhZ2UgPSBlLmV2ZW50LnRhcmdldC5nZXRTdGFnZSgpO1xuICAgICAgICBpZiAoIXN0YWdlKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgcG9pbnQgPSBzdGFnZS5nZXRQb2ludGVyUG9zaXRpb24oKTtcbiAgICAgICAgaWYgKCFwb2ludCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGRyYWdYID0gcG9pbnQueCAtIGNvbHVtbkxlZnRYIC0geDtcbiAgICAgICAgY29uc3QgbWluWCA9IHg7XG4gICAgICAgIGNvbnN0IG1heFggPSB4ICsgdGhpcy5yYWlsV2lkdGgoKTtcblxuICAgICAgICBsZXQgZHJhZ1BvaW50ZXJYID0gcG9pbnQueCAtIGNvbHVtbkxlZnRYO1xuICAgICAgICBpZiAoZHJhZ1BvaW50ZXJYIDwgbWluWCkge1xuICAgICAgICAgICAgZHJhZ1BvaW50ZXJYID0gbWluWDtcbiAgICAgICAgfSBlbHNlIGlmIChkcmFnUG9pbnRlclggPiBtYXhYKSB7XG4gICAgICAgICAgICBkcmFnUG9pbnRlclggPSBtYXhYO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kcmFnUG9pbnRlclguc2V0KGRyYWdQb2ludGVyWCk7XG4gICAgICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSB0aGlzLmNhbGN1bGF0ZVBlcmNlbnRhZ2UoZHJhZ1gpO1xuICAgICAgICB0aGlzLmRyYWdQcm9ncmVzc1ZhbHVlLnNldChwZXJjZW50YWdlKTtcbiAgICB9XG5cbiAgICBwb2ludGVyRHJhZ2VuZChlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlUHJvZ3Jlc3NWYWx1ZShlKTtcbiAgICAgICAgdGhpcy5kcmFnUG9pbnRlclguc2V0KG51bGwpO1xuICAgICAgICB0aGlzLmRyYWdQcm9ncmVzc1ZhbHVlLnNldChudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVByb2dyZXNzVmFsdWUoZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pik6IHZvaWQge1xuICAgICAgICBjb25zdCB7IHJlbmRlciwgYWlUYWJsZSwgY29vcmRpbmF0ZSwgYWN0aW9ucywgZmllbGQsIHJlY29yZElkIH0gPSB0aGlzLmNvbmZpZygpITtcbiAgICAgICAgY29uc3QgeyB4IH0gPSByZW5kZXI7XG4gICAgICAgIGNvbnN0IHsgc2Nyb2xsTGVmdCB9ID0gYWlUYWJsZS5jb250ZXh0IS5zY3JvbGxTdGF0ZSgpO1xuICAgICAgICBjb25zdCBwb2ludFBvc2l0aW9uID0gYWlUYWJsZS5jb250ZXh0IS5wb2ludFBvc2l0aW9uKCk7XG4gICAgICAgIGNvbnN0IHsgY29sdW1uSW5kZXggfSA9IHBvaW50UG9zaXRpb247XG4gICAgICAgIGNvbnN0IGNvbHVtbkxlZnRYID0gY29vcmRpbmF0ZS5nZXRDb2x1bW5PZmZzZXQoY29sdW1uSW5kZXgpIC0gc2Nyb2xsTGVmdCArIEFJX1RBQkxFX09GRlNFVDtcblxuICAgICAgICBjb25zdCBzdGFnZSA9IGUuZXZlbnQudGFyZ2V0LmdldFN0YWdlKCk7XG4gICAgICAgIGlmICghc3RhZ2UpIHJldHVybjtcblxuICAgICAgICBjb25zdCBwb2ludCA9IHN0YWdlLmdldFBvaW50ZXJQb3NpdGlvbigpO1xuICAgICAgICBpZiAoIXBvaW50KSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgZHJhZ1ggPSBwb2ludC54IC0gY29sdW1uTGVmdFggLSB4O1xuICAgICAgICBjb25zdCBwZXJjZW50YWdlID0gdGhpcy5jYWxjdWxhdGVQZXJjZW50YWdlKGRyYWdYKTtcblxuICAgICAgICBpZiAoIXRoaXMucmVhZG9ubHkoKSAmJiBhY3Rpb25zICYmIGFjdGlvbnMudXBkYXRlRmllbGRWYWx1ZSkge1xuICAgICAgICAgICAgYWN0aW9ucy51cGRhdGVGaWVsZFZhbHVlKHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogcGVyY2VudGFnZSxcbiAgICAgICAgICAgICAgICBwYXRoOiBbcmVjb3JkSWQhLCBmaWVsZC5faWRdXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { Component, computed, input, signal } from '@angular/core';
|
2
2
|
import { ChangeDetectionStrategy } from '@angular/core';
|
3
3
|
import { KoShape } from '../../../angular-konva';
|
4
|
-
import { AITableFieldType } from '
|
4
|
+
import { AITableFieldType } from '@ai-table/utils';
|
5
5
|
import { generateTargetName } from '../../../utils';
|
6
6
|
import { isActiveCell } from '../../../renderer';
|
7
7
|
import { StarFill, Colors, AI_TABLE_CELL_EMOJI_PADDING, AI_TABLE_CELL_PADDING, AI_TABLE_ROW_BLANK_HEIGHT, AI_TABLE_CELL_EMOJI_SIZE, AI_TABLE_OFFSET, AI_TABLE_CELL, AI_TABLE_RATE_MAX, AI_TABLE_CELL_BORDER } from '../../../constants';
|
@@ -150,4 +150,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
150
150
|
changeDetection: ChangeDetectionStrategy.OnPush
|
151
151
|
}]
|
152
152
|
}] });
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2NlbGxzL3JhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQWlCLE1BQU0sd0JBQXdCLENBQUM7QUFHaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQ0gsUUFBUSxFQUNSLE1BQU0sRUFDTiwyQkFBMkIsRUFDM0IscUJBQXFCLEVBQ3JCLHlCQUF5QixFQUN6Qix3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3ZCLE1BQU0sb0JBQW9CLENBQUM7O0FBZ0I1QixNQUFNLE9BQU8sZUFBZTtJQWQ1QjtRQWlCWSxhQUFRLEdBQUcsTUFBTSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBRTdCLGFBQVEsR0FBRyxNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFN0IsZ0JBQVcsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFN0MsV0FBTSxHQUFHLEtBQUssRUFBMEIsQ0FBQztRQUV6QyxhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxRQUFRLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQUM7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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS29TaGFwZSwgS29FdmVudE9iamVjdCB9IGZyb20gJy4uLy4uLy4uL2FuZ3VsYXIta29udmEnO1xuaW1wb3J0IHsgSG92ZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBSVRhYmxlSG92ZXJDZWxsQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkVHlwZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgZ2VuZXJhdGVUYXJnZXROYW1lIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgaXNBY3RpdmVDZWxsIH0gZnJvbSAnLi4vLi4vLi4vcmVuZGVyZXInO1xuaW1wb3J0IHtcbiAgICBTdGFyRmlsbCxcbiAgICBDb2xvcnMsXG4gICAgQUlfVEFCTEVfQ0VMTF9FTU9KSV9QQURESU5HLFxuICAgIEFJX1RBQkxFX0NFTExfUEFERElORyxcbiAgICBBSV9UQUJMRV9ST1dfQkxBTktfSEVJR0hULFxuICAgIEFJX1RBQkxFX0NFTExfRU1PSklfU0laRSxcbiAgICBBSV9UQUJMRV9PRkZTRVQsXG4gICAgQUlfVEFCTEVfQ0VMTCxcbiAgICBBSV9UQUJMRV9SQVRFX01BWCxcbiAgICBBSV9UQUJMRV9DRUxMX0JPUkRFUlxufSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLXJhdGUnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBpZiAoIXJlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgIDxrby1yZWN0IFtjb25maWddPVwid2hpdGVCZ0NvbmZpZygpXCIgKGtvTW91c2Vtb3ZlKT1cImtvTW91c2Vtb3ZlKCRldmVudClcIj48L2tvLXJlY3Q+XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAoY29uZmlnIG9mIHN0YXJDb25maWdzKCk7IGxldCBpbmRleCA9ICRpbmRleDsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8a28tcGF0aCBbY29uZmlnXT1cImNvbmZpZ1wiIChrb0NsaWNrKT1cImtvQ2xpY2soJGV2ZW50LCBpbmRleClcIj48L2tvLXBhdGg+XG4gICAgICAgIH1cbiAgICBgLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0tvU2hhcGVdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVDZWxsUmF0ZSBpbXBsZW1lbnRzIEhvdmVyQ2VsbENvbXBvbmVudCB7XG4gICAgc3RhdGljIGZpZWxkVHlwZSA9IEFJVGFibGVGaWVsZFR5cGUucmF0ZTtcblxuICAgIHByaXZhdGUgcG9pbnRlclggPSBzaWduYWw8bnVtYmVyPigwKTtcblxuICAgIHByaXZhdGUgcG9pbnRlclkgPSBzaWduYWw8bnVtYmVyPigwKTtcblxuICAgIHByaXZhdGUgcmVzZXRTdGF0dXMgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gICAgY29uZmlnID0gaW5wdXQ8QUlUYWJsZUhvdmVyQ2VsbENvbmZpZz4oKTtcblxuICAgIHJlYWRvbmx5ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcoKT8ucmVhZG9ubHk7XG4gICAgfSk7XG5cbiAgICB3aGl0ZUJnQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGFpVGFibGUsIHJlbmRlciwgZmllbGQsIHJlY29yZElkLCBjb29yZGluYXRlIH0gPSB0aGlzLmNvbmZpZygpITtcbiAgICAgICAgY29uc3QgcG9pbnRQb3NpdGlvbiA9IGFpVGFibGUuY29udGV4dCEucG9pbnRQb3NpdGlvbigpO1xuICAgICAgICBjb25zdCB7IHgsIHkgfSA9IHJlbmRlcjtcbiAgICAgICAgY29uc3QgeyBjb2x1bW5JbmRleCB9ID0gcG9pbnRQb3NpdGlvbjtcbiAgICAgICAgY29uc3QgaXNBY3RpdmUgPSBpc0FjdGl2ZUNlbGwoW3JlY29yZElkISwgZmllbGQuX2lkXSwgYWlUYWJsZSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHg6IHggLSBBSV9UQUJMRV9DRUxMX1BBRERJTkcgKyBBSV9UQUJMRV9DRUxMX0JPUkRFUixcbiAgICAgICAgICAgIHk6IHkgKyBBSV9UQUJMRV9DRUxMX0JPUkRFUiArIEFJX1RBQkxFX09GRlNFVCxcbiAgICAgICAgICAgIHdpZHRoOiBjb29yZGluYXRlLmdldENvbHVtbldpZHRoKGNvbHVtbkluZGV4KSAtIChBSV9UQUJMRV9DRUxMX0JPUkRFUiArIEFJX1RBQkxFX09GRlNFVCkgKiAyLFxuICAgICAgICAgICAgaGVpZ2h0OiBBSV9UQUJMRV9ST1dfQkxBTktfSEVJR0hUIC0gKEFJX1RBQkxFX0NFTExfQk9SREVSICsgQUlfVEFCTEVfT0ZGU0VUKSxcbiAgICAgICAgICAgIGZpbGw6IENvbG9ycy53aGl0ZSxcbiAgICAgICAgICAgIHN0cm9rZTogaXNBY3RpdmUgPyBudWxsIDogQ29sb3JzLndoaXRlLFxuICAgICAgICAgICAgekluZGV4OiAwLFxuICAgICAgICAgICAgbmFtZTogZ2VuZXJhdGVUYXJnZXROYW1lKHtcbiAgICAgICAgICAgICAgICB0YXJnZXROYW1lOiBBSV9UQUJMRV9DRUxMLFxuICAgICAgICAgICAgICAgIGZpZWxkSWQ6IGZpZWxkLl9pZCxcbiAgICAgICAgICAgICAgICByZWNvcmRJZFxuICAgICAgICAgICAgfSlcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIHN0YXJDb25maWdzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IHJlbmRlciwgZmllbGQsIHJlY29yZElkLCByZWFkb25seSwgYWlUYWJsZSwgY29vcmRpbmF0ZSB9ID0gdGhpcy5jb25maWcoKSE7XG4gICAgICAgIGNvbnN0IHsgeCwgdHJhbnNmb3JtVmFsdWUgfSA9IHJlbmRlcjtcbiAgICAgICAgY29uc3QgbWF4ID0gQUlfVEFCTEVfUkFURV9NQVg7XG4gICAgICAgIGNvbnN0IHN0YXJZID0gKEFJX1RBQkxFX1JPV19CTEFOS19IRUlHSFQgLSBBSV9UQUJMRV9DRUxMX0VNT0pJX1NJWkUpIC8gMiArIEFJX1RBQkxFX09GRlNFVDtcblxuICAgICAgICBjb25zdCBwb2ludFBvc2l0aW9uID0gYWlUYWJsZS5jb250ZXh0IS5wb2ludFBvc2l0aW9uKCk7XG4gICAgICAgIGNvbnN0IHsgcm93SW5kZXgsIGNvbHVtbkluZGV4IH0gPSBwb2ludFBvc2l0aW9uO1xuICAgICAgICBjb25zdCB7IHNjcm9sbExlZnQsIHNjcm9sbFRvcCB9ID0gYWlUYWJsZS5jb250ZXh0IS5zY3JvbGxTdGF0ZSgpO1xuICAgICAgICBjb25zdCBjb2x1bW5MZWZ0WCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uT2Zmc2V0KGNvbHVtbkluZGV4KSAtIHNjcm9sbExlZnQgKyBBSV9UQUJMRV9PRkZTRVQ7XG4gICAgICAgIGNvbnN0IGNvbHVtblRvcFkgPSBjb29yZGluYXRlLmdldFJvd09mZnNldChyb3dJbmRleCkgLSBzY3JvbGxUb3AgKyBBSV9UQUJMRV9PRkZTRVQ7XG4gICAgICAgIGNvbnN0IGZpcnN0U3RhckxlZnRYID0gY29sdW1uTGVmdFggKyBBSV9UQUJMRV9DRUxMX1BBRERJTkc7XG4gICAgICAgIGNvbnN0IGxhc3RTdGFyUmlnaHRYID1cbiAgICAgICAgICAgIGNvbHVtbkxlZnRYICsgQUlfVEFCTEVfQ0VMTF9QQURESU5HICsgbWF4ICogQUlfVEFCTEVfQ0VMTF9FTU9KSV9TSVpFICsgKG1heCAtIDEpICogQUlfVEFCTEVfQ0VMTF9FTU9KSV9QQURESU5HO1xuICAgICAgICBjb25zdCBzdGFydFRvcFkgPSBjb2x1bW5Ub3BZICsgc3Rhclk7XG4gICAgICAgIGNvbnN0IHN0YXJ0Qm90dG9tWSA9IGNvbHVtblRvcFkgKyBzdGFyWSArIEFJX1RBQkxFX0NFTExfRU1PSklfU0laRTtcblxuICAgICAgICBjb25zdCBpc0hvdmVyU3RhciA9XG4gICAgICAgICAgICB0aGlzLnBvaW50ZXJYKCkgPj0gZmlyc3RTdGFyTGVmdFggJiZcbiAgICAgICAgICAgIHRoaXMucG9pbnRlclgoKSA8PSBsYXN0U3RhclJpZ2h0WCAmJlxuICAgICAgICAgICAgdGhpcy5wb2ludGVyWSgpID49IHN0YXJ0VG9wWSAmJlxuICAgICAgICAgICAgdGhpcy5wb2ludGVyWSgpIDw9IHN0YXJ0Qm90dG9tWTtcblxuICAgICAgICBjb25zdCByZW5kZXJXaWR0aCA9IGNvb3JkaW5hdGUuZ2V0Q29sdW1uV2lkdGgoY29sdW1uSW5kZXgpIC0gQUlfVEFCTEVfQ0VMTF9QQURESU5HO1xuICAgICAgICBjb25zdCBzdGFyV2lkdGggPSBBSV9UQUJMRV9DRUxMX0VNT0pJX1NJWkUgKyBBSV9UQUJMRV9DRUxMX0VNT0pJX1BBRERJTkc7XG4gICAgICAgIGNvbnN0IG1heFN0YXIgPSBNYXRoLm1pbihtYXgsIE1hdGguZmxvb3IocmVuZGVyV2lkdGggLyBzdGFyV2lkdGgpKTtcblxuICAgICAgICByZXR1cm4gWy4uLkFycmF5KG1heFN0YXIpLmtleXMoKV0ubWFwKChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBpbmRleCArIDE7XG4gICAgICAgICAgICBjb25zdCBjaGVja2VkID0gdmFsdWUgPD0gdHJhbnNmb3JtVmFsdWU7XG4gICAgICAgICAgICBjb25zdCBzdGFyWCA9IHggKyBpbmRleCAqIChBSV9UQUJMRV9DRUxMX0VNT0pJX1NJWkUgKyBBSV9UQUJMRV9DRUxMX0VNT0pJX1BBRERJTkcpO1xuXG4gICAgICAgICAgICBsZXQgZmlsbCA9IG51bGw7XG4gICAgICAgICAgICBpZiAodGhpcy5yZXNldFN0YXR1cygpKSB7XG4gICAgICAgICAgICAgICAgZmlsbCA9IENvbG9ycy5ncmF5MTAwO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNIb3ZlclN0YXIpIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbCA9IGNvbHVtbkxlZnRYICsgc3RhclggPD0gdGhpcy5wb2ludGVyWCgpID8gQ29sb3JzLndhcmluZyA6IENvbG9ycy5ncmF5MTAwO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGwgPSBjaGVja2VkID8gQ29sb3JzLndhcmluZyA6IENvbG9ycy5ncmF5MTAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB4OiBzdGFyWCxcbiAgICAgICAgICAgICAgICB5OiBzdGFyWSxcbiAgICAgICAgICAgICAgICBzaXplOiAyMixcbiAgICAgICAgICAgICAgICBkYXRhOiBTdGFyRmlsbCxcbiAgICAgICAgICAgICAgICBmaWxsLFxuICAgICAgICAgICAgICAgIHNjYWxlWDogMS4xNCxcbiAgICAgICAgICAgICAgICBzY2FsZVk6IDEuMTQsXG4gICAgICAgICAgICAgICAgbmFtZTogZ2VuZXJhdGVUYXJnZXROYW1lKHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0TmFtZTogQUlfVEFCTEVfQ0VMTCxcbiAgICAgICAgICAgICAgICAgICAgZmllbGRJZDogZmllbGQuX2lkLFxuICAgICAgICAgICAgICAgICAgICByZWNvcmRJZCxcbiAgICAgICAgICAgICAgICAgICAgbW91c2VTdHlsZTogcmVhZG9ubHkgPyAnZGVmYXVsdCcgOiAncG9pbnRlcidcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBrb01vdXNlbW92ZShlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+KSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVzZXRTdGF0dXMuc2V0KGZhbHNlKTtcbiAgICAgICAgY29uc3QgcG9zID0gZS5ldmVudC50YXJnZXQuZ2V0U3RhZ2UoKT8uZ2V0UG9pbnRlclBvc2l0aW9uKCk7XG4gICAgICAgIGlmICghcG9zKSByZXR1cm47XG4gICAgICAgIGNvbnN0IHsgeCwgeSB9ID0gcG9zO1xuICAgICAgICB0aGlzLnBvaW50ZXJYLnNldCh4KTtcbiAgICAgICAgdGhpcy5wb2ludGVyWS5zZXQoeSk7XG4gICAgfVxuXG4gICAga29DbGljayhlOiBLb0V2ZW50T2JqZWN0PE1vdXNlRXZlbnQ+LCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0aGlzLnJlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVzZXRTdGF0dXMuc2V0KGZhbHNlKTtcbiAgICAgICAgY29uc3QgeyByZW5kZXIsIHJlYWRvbmx5LCBmaWVsZCwgcmVjb3JkSWQsIGFjdGlvbnMgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCB7IHRyYW5zZm9ybVZhbHVlIH0gPSByZW5kZXI7XG5cbiAgICAgICAgbGV0IHZhbHVlID0gaW5kZXggKyAxO1xuICAgICAgICBpZiAodHJhbnNmb3JtVmFsdWUgPT09IHZhbHVlKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IDA7XG4gICAgICAgICAgICB0aGlzLnJlc2V0U3RhdHVzLnNldCh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcmVhZG9ubHkgJiYgYWN0aW9ucyAmJiBhY3Rpb25zLnVwZGF0ZUZpZWxkVmFsdWUpIHtcbiAgICAgICAgICAgIGFjdGlvbnMudXBkYXRlRmllbGRWYWx1ZSh7XG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgcGF0aDogW3JlY29yZElkISwgZmllbGQuX2lkXVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2NlbGxzL3JhdGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxPQUFPLEVBQWlCLE1BQU0sd0JBQXdCLENBQUM7QUFHaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFDSCxRQUFRLEVBQ1IsTUFBTSxFQUNOLDJCQUEyQixFQUMzQixxQkFBcUIsRUFDckIseUJBQXlCLEVBQ3pCLHdCQUF3QixFQUN4QixlQUFlLEVBQ2YsYUFBYSxFQUNiLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDdkIsTUFBTSxvQkFBb0IsQ0FBQzs7QUFnQjVCLE1BQU0sT0FBTyxlQUFlO0lBZDVCO1FBaUJZLGFBQVEsR0FBRyxNQUFNLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFFN0IsYUFBUSxHQUFHLE1BQU0sQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUU3QixnQkFBVyxHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUU3QyxXQUFNLEdBQUcsS0FBSyxFQUEwQixDQUFDO1FBRXpDLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLFFBQVEsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FB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RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLb1NoYXBlLCBLb0V2ZW50T2JqZWN0IH0gZnJvbSAnLi4vLi4vLi4vYW5ndWxhci1rb252YSc7XG5pbXBvcnQgeyBIb3ZlckNlbGxDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEFJVGFibGVIb3ZlckNlbGxDb25maWcgfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGRUeXBlIH0gZnJvbSAnQGFpLXRhYmxlL3V0aWxzJztcbmltcG9ydCB7IGdlbmVyYXRlVGFyZ2V0TmFtZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IGlzQWN0aXZlQ2VsbCB9IGZyb20gJy4uLy4uLy4uL3JlbmRlcmVyJztcbmltcG9ydCB7XG4gICAgU3RhckZpbGwsXG4gICAgQ29sb3JzLFxuICAgIEFJX1RBQkxFX0NFTExfRU1PSklfUEFERElORyxcbiAgICBBSV9UQUJMRV9DRUxMX1BBRERJTkcsXG4gICAgQUlfVEFCTEVfUk9XX0JMQU5LX0hFSUdIVCxcbiAgICBBSV9UQUJMRV9DRUxMX0VNT0pJX1NJWkUsXG4gICAgQUlfVEFCTEVfT0ZGU0VULFxuICAgIEFJX1RBQkxFX0NFTEwsXG4gICAgQUlfVEFCTEVfUkFURV9NQVgsXG4gICAgQUlfVEFCTEVfQ0VMTF9CT1JERVJcbn0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhaS10YWJsZS1yYXRlJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICBAaWYgKCFyZWFkb25seSgpKSB7XG4gICAgICAgICAgICA8a28tcmVjdCBbY29uZmlnXT1cIndoaXRlQmdDb25maWcoKVwiIChrb01vdXNlbW92ZSk9XCJrb01vdXNlbW92ZSgkZXZlbnQpXCI+PC9rby1yZWN0PlxuICAgICAgICB9XG4gICAgICAgIEBmb3IgKGNvbmZpZyBvZiBzdGFyQ29uZmlncygpOyBsZXQgaW5kZXggPSAkaW5kZXg7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgPGtvLXBhdGggW2NvbmZpZ109XCJjb25maWdcIiAoa29DbGljayk9XCJrb0NsaWNrKCRldmVudCwgaW5kZXgpXCI+PC9rby1wYXRoPlxuICAgICAgICB9XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLb1NoYXBlXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlQ2VsbFJhdGUgaW1wbGVtZW50cyBIb3ZlckNlbGxDb21wb25lbnQge1xuICAgIHN0YXRpYyBmaWVsZFR5cGUgPSBBSVRhYmxlRmllbGRUeXBlLnJhdGU7XG5cbiAgICBwcml2YXRlIHBvaW50ZXJYID0gc2lnbmFsPG51bWJlcj4oMCk7XG5cbiAgICBwcml2YXRlIHBvaW50ZXJZID0gc2lnbmFsPG51bWJlcj4oMCk7XG5cbiAgICBwcml2YXRlIHJlc2V0U3RhdHVzID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuICAgIGNvbmZpZyA9IGlucHV0PEFJVGFibGVIb3ZlckNlbGxDb25maWc+KCk7XG5cbiAgICByZWFkb25seSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnKCk/LnJlYWRvbmx5O1xuICAgIH0pO1xuXG4gICAgd2hpdGVCZ0NvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBhaVRhYmxlLCByZW5kZXIsIGZpZWxkLCByZWNvcmRJZCwgY29vcmRpbmF0ZSB9ID0gdGhpcy5jb25maWcoKSE7XG4gICAgICAgIGNvbnN0IHBvaW50UG9zaXRpb24gPSBhaVRhYmxlLmNvbnRleHQhLnBvaW50UG9zaXRpb24oKTtcbiAgICAgICAgY29uc3QgeyB4LCB5IH0gPSByZW5kZXI7XG4gICAgICAgIGNvbnN0IHsgY29sdW1uSW5kZXggfSA9IHBvaW50UG9zaXRpb247XG4gICAgICAgIGNvbnN0IGlzQWN0aXZlID0gaXNBY3RpdmVDZWxsKFtyZWNvcmRJZCEsIGZpZWxkLl9pZF0sIGFpVGFibGUpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiB4IC0gQUlfVEFCTEVfQ0VMTF9QQURESU5HICsgQUlfVEFCTEVfQ0VMTF9CT1JERVIsXG4gICAgICAgICAgICB5OiB5ICsgQUlfVEFCTEVfQ0VMTF9CT1JERVIgKyBBSV9UQUJMRV9PRkZTRVQsXG4gICAgICAgICAgICB3aWR0aDogY29vcmRpbmF0ZS5nZXRDb2x1bW5XaWR0aChjb2x1bW5JbmRleCkgLSAoQUlfVEFCTEVfQ0VMTF9CT1JERVIgKyBBSV9UQUJMRV9PRkZTRVQpICogMixcbiAgICAgICAgICAgIGhlaWdodDogQUlfVEFCTEVfUk9XX0JMQU5LX0hFSUdIVCAtIChBSV9UQUJMRV9DRUxMX0JPUkRFUiArIEFJX1RBQkxFX09GRlNFVCksXG4gICAgICAgICAgICBmaWxsOiBDb2xvcnMud2hpdGUsXG4gICAgICAgICAgICBzdHJva2U6IGlzQWN0aXZlID8gbnVsbCA6IENvbG9ycy53aGl0ZSxcbiAgICAgICAgICAgIHpJbmRleDogMCxcbiAgICAgICAgICAgIG5hbWU6IGdlbmVyYXRlVGFyZ2V0TmFtZSh7XG4gICAgICAgICAgICAgICAgdGFyZ2V0TmFtZTogQUlfVEFCTEVfQ0VMTCxcbiAgICAgICAgICAgICAgICBmaWVsZElkOiBmaWVsZC5faWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkSWRcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBzdGFyQ29uZmlncyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyByZW5kZXIsIGZpZWxkLCByZWNvcmRJZCwgcmVhZG9ubHksIGFpVGFibGUsIGNvb3JkaW5hdGUgfSA9IHRoaXMuY29uZmlnKCkhO1xuICAgICAgICBjb25zdCB7IHgsIHRyYW5zZm9ybVZhbHVlIH0gPSByZW5kZXI7XG4gICAgICAgIGNvbnN0IG1heCA9IEFJX1RBQkxFX1JBVEVfTUFYO1xuICAgICAgICBjb25zdCBzdGFyWSA9IChBSV9UQUJMRV9ST1dfQkxBTktfSEVJR0hUIC0gQUlfVEFCTEVfQ0VMTF9FTU9KSV9TSVpFKSAvIDIgKyBBSV9UQUJMRV9PRkZTRVQ7XG5cbiAgICAgICAgY29uc3QgcG9pbnRQb3NpdGlvbiA9IGFpVGFibGUuY29udGV4dCEucG9pbnRQb3NpdGlvbigpO1xuICAgICAgICBjb25zdCB7IHJvd0luZGV4LCBjb2x1bW5JbmRleCB9ID0gcG9pbnRQb3NpdGlvbjtcbiAgICAgICAgY29uc3QgeyBzY3JvbGxMZWZ0LCBzY3JvbGxUb3AgfSA9IGFpVGFibGUuY29udGV4dCEuc2Nyb2xsU3RhdGUoKTtcbiAgICAgICAgY29uc3QgY29sdW1uTGVmdFggPSBjb29yZGluYXRlLmdldENvbHVtbk9mZnNldChjb2x1bW5JbmRleCkgLSBzY3JvbGxMZWZ0ICsgQUlfVEFCTEVfT0ZGU0VUO1xuICAgICAgICBjb25zdCBjb2x1bW5Ub3BZID0gY29vcmRpbmF0ZS5nZXRSb3dPZmZzZXQocm93SW5kZXgpIC0gc2Nyb2xsVG9wICsgQUlfVEFCTEVfT0ZGU0VUO1xuICAgICAgICBjb25zdCBmaXJzdFN0YXJMZWZ0WCA9IGNvbHVtbkxlZnRYICsgQUlfVEFCTEVfQ0VMTF9QQURESU5HO1xuICAgICAgICBjb25zdCBsYXN0U3RhclJpZ2h0WCA9XG4gICAgICAgICAgICBjb2x1bW5MZWZ0WCArIEFJX1RBQkxFX0NFTExfUEFERElORyArIG1heCAqIEFJX1RBQkxFX0NFTExfRU1PSklfU0laRSArIChtYXggLSAxKSAqIEFJX1RBQkxFX0NFTExfRU1PSklfUEFERElORztcbiAgICAgICAgY29uc3Qgc3RhcnRUb3BZID0gY29sdW1uVG9wWSArIHN0YXJZO1xuICAgICAgICBjb25zdCBzdGFydEJvdHRvbVkgPSBjb2x1bW5Ub3BZICsgc3RhclkgKyBBSV9UQUJMRV9DRUxMX0VNT0pJX1NJWkU7XG5cbiAgICAgICAgY29uc3QgaXNIb3ZlclN0YXIgPVxuICAgICAgICAgICAgdGhpcy5wb2ludGVyWCgpID49IGZpcnN0U3RhckxlZnRYICYmXG4gICAgICAgICAgICB0aGlzLnBvaW50ZXJYKCkgPD0gbGFzdFN0YXJSaWdodFggJiZcbiAgICAgICAgICAgIHRoaXMucG9pbnRlclkoKSA+PSBzdGFydFRvcFkgJiZcbiAgICAgICAgICAgIHRoaXMucG9pbnRlclkoKSA8PSBzdGFydEJvdHRvbVk7XG5cbiAgICAgICAgY29uc3QgcmVuZGVyV2lkdGggPSBjb29yZGluYXRlLmdldENvbHVtbldpZHRoKGNvbHVtbkluZGV4KSAtIEFJX1RBQkxFX0NFTExfUEFERElORztcbiAgICAgICAgY29uc3Qgc3RhcldpZHRoID0gQUlfVEFCTEVfQ0VMTF9FTU9KSV9TSVpFICsgQUlfVEFCTEVfQ0VMTF9FTU9KSV9QQURESU5HO1xuICAgICAgICBjb25zdCBtYXhTdGFyID0gTWF0aC5taW4obWF4LCBNYXRoLmZsb29yKHJlbmRlcldpZHRoIC8gc3RhcldpZHRoKSk7XG5cbiAgICAgICAgcmV0dXJuIFsuLi5BcnJheShtYXhTdGFyKS5rZXlzKCldLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gaW5kZXggKyAxO1xuICAgICAgICAgICAgY29uc3QgY2hlY2tlZCA9IHZhbHVlIDw9IHRyYW5zZm9ybVZhbHVlO1xuICAgICAgICAgICAgY29uc3Qgc3RhclggPSB4ICsgaW5kZXggKiAoQUlfVEFCTEVfQ0VMTF9FTU9KSV9TSVpFICsgQUlfVEFCTEVfQ0VMTF9FTU9KSV9QQURESU5HKTtcblxuICAgICAgICAgICAgbGV0IGZpbGwgPSBudWxsO1xuICAgICAgICAgICAgaWYgKHRoaXMucmVzZXRTdGF0dXMoKSkge1xuICAgICAgICAgICAgICAgIGZpbGwgPSBDb2xvcnMuZ3JheTEwMDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzSG92ZXJTdGFyKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGwgPSBjb2x1bW5MZWZ0WCArIHN0YXJYIDw9IHRoaXMucG9pbnRlclgoKSA/IENvbG9ycy53YXJpbmcgOiBDb2xvcnMuZ3JheTEwMDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBmaWxsID0gY2hlY2tlZCA/IENvbG9ycy53YXJpbmcgOiBDb2xvcnMuZ3JheTEwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgeDogc3RhclgsXG4gICAgICAgICAgICAgICAgeTogc3RhclksXG4gICAgICAgICAgICAgICAgc2l6ZTogMjIsXG4gICAgICAgICAgICAgICAgZGF0YTogU3RhckZpbGwsXG4gICAgICAgICAgICAgICAgZmlsbCxcbiAgICAgICAgICAgICAgICBzY2FsZVg6IDEuMTQsXG4gICAgICAgICAgICAgICAgc2NhbGVZOiAxLjE0LFxuICAgICAgICAgICAgICAgIG5hbWU6IGdlbmVyYXRlVGFyZ2V0TmFtZSh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldE5hbWU6IEFJX1RBQkxFX0NFTEwsXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkSWQ6IGZpZWxkLl9pZCxcbiAgICAgICAgICAgICAgICAgICAgcmVjb3JkSWQsXG4gICAgICAgICAgICAgICAgICAgIG1vdXNlU3R5bGU6IHJlYWRvbmx5ID8gJ2RlZmF1bHQnIDogJ3BvaW50ZXInXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAga29Nb3VzZW1vdmUoZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50Pikge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlc2V0U3RhdHVzLnNldChmYWxzZSk7XG4gICAgICAgIGNvbnN0IHBvcyA9IGUuZXZlbnQudGFyZ2V0LmdldFN0YWdlKCk/LmdldFBvaW50ZXJQb3NpdGlvbigpO1xuICAgICAgICBpZiAoIXBvcykgcmV0dXJuO1xuICAgICAgICBjb25zdCB7IHgsIHkgfSA9IHBvcztcbiAgICAgICAgdGhpcy5wb2ludGVyWC5zZXQoeCk7XG4gICAgICAgIHRoaXMucG9pbnRlclkuc2V0KHkpO1xuICAgIH1cblxuICAgIGtvQ2xpY2soZTogS29FdmVudE9iamVjdDxNb3VzZUV2ZW50PiwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5yZWFkb25seSgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJlc2V0U3RhdHVzLnNldChmYWxzZSk7XG4gICAgICAgIGNvbnN0IHsgcmVuZGVyLCByZWFkb25seSwgZmllbGQsIHJlY29yZElkLCBhY3Rpb25zIH0gPSB0aGlzLmNvbmZpZygpITtcbiAgICAgICAgY29uc3QgeyB0cmFuc2Zvcm1WYWx1ZSB9ID0gcmVuZGVyO1xuXG4gICAgICAgIGxldCB2YWx1ZSA9IGluZGV4ICsgMTtcbiAgICAgICAgaWYgKHRyYW5zZm9ybVZhbHVlID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSAwO1xuICAgICAgICAgICAgdGhpcy5yZXNldFN0YXR1cy5zZXQodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXJlYWRvbmx5ICYmIGFjdGlvbnMgJiYgYWN0aW9ucy51cGRhdGVGaWVsZFZhbHVlKSB7XG4gICAgICAgICAgICBhY3Rpb25zLnVwZGF0ZUZpZWxkVmFsdWUoe1xuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgIHBhdGg6IFtyZWNvcmRJZCEsIGZpZWxkLl9pZF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
2
2
|
import { AI_TABLE_ACTION_COMMON_RADIUS, AI_TABLE_ACTION_COMMON_RIGHT_PADDING, AI_TABLE_ACTION_COMMON_SIZE, AI_TABLE_CELL, AI_TABLE_CELL_EDIT, AI_TABLE_CELL_PADDING, Colors, EditPath } from '../../../constants';
|
3
3
|
import { generateTargetName } from '../../../utils';
|
4
|
-
import { AITableFieldType } from '
|
4
|
+
import { AITableFieldType } from '@ai-table/utils';
|
5
5
|
import { AITableActionIcon } from '../action-icon.component';
|
6
6
|
import { drawer } from '../../drawers/drawer';
|
7
7
|
import { AITableText } from '../text.component';
|
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
92
92
|
changeDetection: ChangeDetectionStrategy.OnPush
|
93
93
|
}]
|
94
94
|
}] });
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmljaC10ZXh0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3JlbmRlcmVyL2NvbXBvbmVudHMvY2VsbHMvcmljaC10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUNILDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsMkJBQTJCLEVBQzNCLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLE1BQU0sRUFDTixRQUFRLEVBQ1gsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBYy9CLE1BQU0sT0FBTyxtQkFBbUI7SUFaaEM7UUFlSSxXQUFNLEdBQUcsS0FBSyxFQUEwQixDQUFDO1FBRXpDLGVBQVUsR0FBRyxRQUFRLENBQXlCLEdBQUcsRUFBRTtZQUMvQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDO1lBQ3JDLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1QsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFF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aGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9SQURJVVMsXG4gICAgQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9SSUdIVF9QQURESU5HLFxuICAgIEFJX1RBQkxFX0FDVElPTl9DT01NT05fU0laRSxcbiAgICBBSV9UQUJMRV9DRUxMLFxuICAgIEFJX1RBQkxFX0NFTExfRURJVCxcbiAgICBBSV9UQUJMRV9DRUxMX1BBRERJTkcsXG4gICAgQ29sb3JzLFxuICAgIEVkaXRQYXRoXG59IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZW5lcmF0ZVRhcmdldE5hbWUgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBBSVRhYmxlQWN0aW9uSWNvbkNvbmZpZywgQUlUYWJsZUhvdmVyQ2VsbENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZFR5cGUgfSBmcm9tICdAYWktdGFibGUvdXRpbHMnO1xuaW1wb3J0IHsgSG92ZXJDZWxsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBSVRhYmxlQWN0aW9uSWNvbiB9IGZyb20gJy4uL2FjdGlvbi1pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUZXh0Q29uZmlnIH0gZnJvbSAna29udmEvbGliL3NoYXBlcy9UZXh0JztcbmltcG9ydCB7IGRyYXdlciB9IGZyb20gJy4uLy4uL2RyYXdlcnMvZHJhd2VyJztcbmltcG9ydCB7IEFJVGFibGVUZXh0IH0gZnJvbSAnLi4vdGV4dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNOaWwgfSBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLXJpY2gtdGV4dCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgQGlmICh0ZXh0Q29uZmlnKCkpIHtcbiAgICAgICAgICAgIDxhaS10YWJsZS10ZXh0IFtjb25maWddPVwidGV4dENvbmZpZygpIVwiPjwvYWktdGFibGUtdGV4dD5cbiAgICAgICAgfVxuICAgICAgICA8YWktdGFibGUtYWN0aW9uLWljb24gW2NvbmZpZ109XCJpY29uQ29uZmlnKClcIj48L2FpLXRhYmxlLWFjdGlvbi1pY29uPlxuICAgIGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQUlUYWJsZVRleHQsIEFJVGFibGVBY3Rpb25JY29uXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlQ2VsbFJpY2hUZXh0IGltcGxlbWVudHMgSG92ZXJDZWxsQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgZmllbGRUeXBlID0gQUlUYWJsZUZpZWxkVHlwZS5yaWNoVGV4dDtcblxuICAgIGNvbmZpZyA9IGlucHV0PEFJVGFibGVIb3ZlckNlbGxDb25maWc+KCk7XG5cbiAgICB0ZXh0Q29uZmlnID0gY29tcHV0ZWQ8VGV4dENvbmZpZyB8IHVuZGVmaW5lZD4oKCkgPT4ge1xuICAgICAgICBjb25zdCByZW5kZXIgPSB0aGlzLmNvbmZpZygpPy5yZW5kZXI7XG4gICAgICAgIGlmIChyZW5kZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgeCwgeSwgdHJhbnNmb3JtVmFsdWUsIGZpZWxkLCBjb2x1bW5XaWR0aCwgcm93SGVpZ2h0LCBzdHlsZSwgekluZGV4IH0gPSByZW5kZXI7XG4gICAgICAgICAgICBsZXQgdGV4dFJlbmRlcjogc3RyaW5nIHwgbnVsbCA9IHRyYW5zZm9ybVZhbHVlO1xuICAgICAgICAgICAgaWYgKGlzTmlsKHRleHRSZW5kZXIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGV4dFJlbmRlciA9IHRleHRSZW5kZXIucmVwbGFjZSgvXFxyfFxcbi9nLCAnICcpO1xuICAgICAgICAgICAgY29uc3QgZm9udFdlaWdodCA9IHN0eWxlPy5mb250V2VpZ2h0O1xuICAgICAgICAgICAgY29uc3QgdGV4dE1heFdpZHRoID0gY29sdW1uV2lkdGggLSBBSV9UQUJMRV9DRUxMX1BBRERJTkcgLSBBSV9UQUJMRV9BQ1RJT05fQ09NTU9OX1JJR0hUX1BBRERJTkcgLSBBSV9UQUJMRV9BQ1RJT05fQ09NTU9OX1NJWkU7XG4gICAgICAgICAgICBjb25zdCB7IHRleHQsIHRleHRXaWR0aCB9ID0gZHJhd2VyLnRleHRFbGxpcHNpcyh7XG4gICAgICAgICAgICAgICAgdGV4dDogdGV4dFJlbmRlcixcbiAgICAgICAgICAgICAgICBtYXhXaWR0aDogdGV4dE1heFdpZHRoLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHRcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHgsXG4gICAgICAgICAgICAgICAgeSxcbiAgICAgICAgICAgICAgICB0ZXh0LFxuICAgICAgICAgICAgICAgIHdyYXA6ICdub25lJyxcbiAgICAgICAgICAgICAgICB3aWR0aDogdGV4dFdpZHRoLFxuICAgICAgICAgICAgICAgIGZpbGxTdHlsZTogQ29sb3JzLnByaW1hcnksXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByb3dIZWlnaHQgKyAyLFxuICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6IDEuODQsXG4gICAgICAgICAgICAgICAgbGlzdGVuaW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBlbGxpcHNpczogdHJ1ZSxcbiAgICAgICAgICAgICAgICB6SW5kZXhcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgIH0pO1xuXG4gICAgaWNvbkNvbmZpZyA9IGNvbXB1dGVkPEFJVGFibGVBY3Rpb25JY29uQ29uZmlnPigoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgY29vcmRpbmF0ZSwgcmVuZGVyLCBmaWVsZCwgcmVjb3JkSWQsIHJlYWRvbmx5IH0gPSB0aGlzLmNvbmZpZygpITtcbiAgICAgICAgY29uc3Qgb2Zmc2V0WCA9IHJlbmRlci5jb2x1bW5XaWR0aCAtIEFJX1RBQkxFX0FDVElPTl9DT01NT05fU0laRSAtIEFJX1RBQkxFX0FDVElPTl9DT01NT05fUklHSFRfUEFERElORztcbiAgICAgICAgY29uc3Qgb2Zmc2V0WSA9IChjb29yZGluYXRlLnJvd0luaXRTaXplIC0gQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9TSVpFKSAvIDI7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvb3JkaW5hdGUsXG4gICAgICAgICAgICByZWFkb25seSxcbiAgICAgICAgICAgIG5hbWU6IGdlbmVyYXRlVGFyZ2V0TmFtZSh7XG4gICAgICAgICAgICAgICAgdGFyZ2V0TmFtZTogQUlfVEFCTEVfQ0VMTCxcbiAgICAgICAgICAgICAgICBmaWVsZElkOiBmaWVsZC5faWQsXG4gICAgICAgICAgICAgICAgcmVjb3JkSWQsXG4gICAgICAgICAgICAgICAgc291cmNlOiBBSV9UQUJMRV9DRUxMX0VESVQsXG4gICAgICAgICAgICAgICAgbW91c2VTdHlsZTogcmVhZG9ubHkgPyAnZGVmYXVsdCcgOiAncG9pbnRlcidcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgeDogb2Zmc2V0WCxcbiAgICAgICAgICAgIHk6IG9mZnNldFksXG4gICAgICAgICAgICBkYXRhOiBFZGl0UGF0aCxcbiAgICAgICAgICAgIGZpbGw6IENvbG9ycy5ncmF5NjAwLFxuICAgICAgICAgICAgaG92ZXJGaWxsOiBDb2xvcnMucHJpbWFyeSxcbiAgICAgICAgICAgIGJhY2tncm91bmRXaWR0aDogQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9TSVpFLFxuICAgICAgICAgICAgYmFja2dyb3VuZEhlaWdodDogQUlfVEFCTEVfQUNUSU9OX0NPTU1PTl9TSVpFLFxuICAgICAgICAgICAgY29ybmVyUmFkaXVzOiBBSV9UQUJMRV9BQ1RJT05fQ09NTU9OX1JBRElVUyxcbiAgICAgICAgICAgIGxpc3RlbmluZzogdHJ1ZVxuICAgICAgICB9O1xuICAgIH0pO1xufVxuIl19
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
2
2
|
import { AttachmentPath, ColumnCalendarFilledPath, ColumnLinkOutlinedPath, ColumnMemberFilledPath, ColumnMultipleFillPath, ColumnNumberFilledPath, ColumnProgressFilledPath, ColumnRatingFilledPath, ColumnRichTextFilledPath, ColumnSelectFilledPath, ColumnTextFilledPath } from '../../constants';
|
3
|
-
import { AITableFieldType } from '
|
3
|
+
import { AITableFieldType } from '@ai-table/utils';
|
4
4
|
import { AITableIcon } from './icon.component';
|
5
5
|
import * as i0 from "@angular/core";
|
6
6
|
export class AITableFieldIcon {
|
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
69
69
|
changeDetection: ChangeDetectionStrategy.OnPush
|
70
70
|
}]
|
71
71
|
}] });
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL3NyYy9yZW5kZXJlci9jb21wb25lbnRzL2ZpZWxkLWljb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQ0gsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsc0JBQXNCLEVBQ3RCLHNCQUFzQixFQUN0QixzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0Qix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLG9CQUFvQixFQUN2QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBUy9DLE1BQU0sT0FBTyxnQkFBZ0I7SUFQN0I7UUFRSSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBOEIsQ0FBQztRQUV0RCxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN2QixNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0QsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2hCLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNqQixLQUFLLGdCQUFnQixDQUFDLElBQUk7b0JBQ3RCLElBQUksR0FBRyxvQkFBb0IsQ0FBQztvQkFDNUIsTUFBTTtnQkFDVixLQUFLLGdCQUFnQixDQUFDLFFBQVE7b0JBQzFCLElBQUksR0FBRyx3QkFBd0IsQ0FBQztvQkFDaEMsTUFBTTtnQkFDVixLQUFLLGdCQUFnQixDQUFDLE1BQU07b0JBQ3hCLElBQUksR0FBSSxLQUFLLENBQUMsUUFBMkIsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDekcsTUFBTTtnQkFDVixLQUFLLGdCQUFnQixDQUFDLElBQUksQ0FBQztnQkFDM0IsS0FBSyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUM7Z0JBQ2hDLEtBQUssZ0JBQWdCLENBQUMsU0FBUztvQkFDM0IsSUFBSSxHQUFHLHdCQUF3QixDQUFDO29CQUNoQyxNQUFNO2dCQUNWLEtBQUssZ0JBQWdCLENBQUMsTUFBTTtvQkFDeEIsSUFBSSxHQUFHLHNCQUFzQixDQUFDO29CQUM5QixNQUFNO2dCQUNWLEtBQUssZ0JBQWdCLENBQUMsSUFBSTtvQkFDdEIsSUFBSSxHQUFHLHNCQUFzQixDQUFDO29CQUM5QixNQUFNO2dCQUNWLEtBQUssZ0JBQWdCLENBQUMsSUFBSTtvQkFDdEIsSUFBSSxHQUFHLHNCQUFzQixDQUFDO29CQUM5QixNQUFNO2dCQUNWLEtBQUssZ0JBQWdCLENBQUMsTUFBTSxDQUFDO2dCQUM3QixLQUFLLGdCQUFnQixDQUFDLFNBQVMsQ0FBQztnQkFDaEMsS0FBSyxnQkFBZ0IsQ0FBQyxTQUFTO29CQUMzQixJQUFJLEdBQUcsc0JBQXNCLENBQUM7b0JBQzlCLE1BQU07Z0JBQ1YsS0FBSyxnQkFBZ0IsQ0FBQyxRQUFRO29CQUMxQixJQUFJLEdBQUcsd0JBQXdCLENBQUM7b0JBQ2hDLE1BQU07Z0JBQ1YsS0FBSyxnQkFBZ0IsQ0FBQyxVQUFVO29CQUM1QixJQUFJLEdBQUcsY0FBYyxDQUFDO29CQUN0QixNQUFNO1lBQ2QsQ0FBQztZQUNELE9BQU87Z0JBQ0gsQ0FBQztnQkFDRCxDQUFDO2dCQUNELElBQUksRUFBRSxLQUFLO2dCQUNYLGdCQUFnQixFQUFFLE1BQU07Z0JBQ3hCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixJQUFJO2dCQUNKLElBQUk7YUFDUCxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7S0FDTjsrR0FwRFksZ0JBQWdCO21HQUFoQixnQkFBZ0IscU5BTGYsMkRBQTJELDREQUUzRCxXQUFXOzs0RkFHWixnQkFBZ0I7a0JBUDVCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsUUFBUSxFQUFFLDJEQUEyRDtvQkFDckUsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFdBQVcsQ0FBQztvQkFDdEIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEF0dGFjaG1lbnRQYXRoLFxuICAgIENvbHVtbkNhbGVuZGFyRmlsbGVkUGF0aCxcbiAgICBDb2x1bW5MaW5rT3V0bGluZWRQYXRoLFxuICAgIENvbHVtbk1lbWJlckZpbGxlZFBhdGgsXG4gICAgQ29sdW1uTXVsdGlwbGVGaWxsUGF0aCxcbiAgICBDb2x1bW5OdW1iZXJGaWxsZWRQYXRoLFxuICAgIENvbHVtblByb2dyZXNzRmlsbGVkUGF0aCxcbiAgICBDb2x1bW5SYXRpbmdGaWxsZWRQYXRoLFxuICAgIENvbHVtblJpY2hUZXh0RmlsbGVkUGF0aCxcbiAgICBDb2x1bW5TZWxlY3RGaWxsZWRQYXRoLFxuICAgIENvbHVtblRleHRGaWxsZWRQYXRoXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGRUeXBlLCBTZWxlY3RTZXR0aW5ncyB9IGZyb20gJ0BhaS10YWJsZS91dGlscyc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGRUeXBlSWNvbkNvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEFJVGFibGVJY29uIH0gZnJvbSAnLi9pY29uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWktdGFibGUtZmllbGQtaWNvbicsXG4gICAgdGVtcGxhdGU6IGAgPGFpLXRhYmxlLWljb24gW2NvbmZpZ109XCJpY29uQ29uZmlnKClcIj48L2FpLXRhYmxlLWljb24+IGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQUlUYWJsZUljb25dLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVGaWVsZEljb24ge1xuICAgIGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPEFJVGFibGVGaWVsZFR5cGVJY29uQ29uZmlnPigpO1xuXG4gICAgaWNvbkNvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBmaWVsZCwgeCwgeSwgd2lkdGgsIGhlaWdodCwgZmlsbCB9ID0gdGhpcy5jb25maWcoKTtcbiAgICAgICAgbGV0IGRhdGEgPSBudWxsO1xuICAgICAgICBzd2l0Y2ggKGZpZWxkLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpZWxkVHlwZS50ZXh0OlxuICAgICAgICAgICAgICAgIGRhdGEgPSBDb2x1bW5UZXh0RmlsbGVkUGF0aDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpZWxkVHlwZS5yaWNoVGV4dDpcbiAgICAgICAgICAgICAgICBkYXRhID0gQ29sdW1uUmljaFRleHRGaWxsZWRQYXRoO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmllbGRUeXBlLnNlbGVjdDpcbiAgICAgICAgICAgICAgICBkYXRhID0gKGZpZWxkLnNldHRpbmdzIGFzIFNlbGVjdFNldHRpbmdzKT8uaXNfbXVsdGlwbGUgPyBDb2x1bW5NdWx0aXBsZUZpbGxQYXRoIDogQ29sdW1uU2VsZWN0RmlsbGVkUGF0aDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpZWxkVHlwZS5kYXRlOlxuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmllbGRUeXBlLmNyZWF0ZWRBdDpcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpZWxkVHlwZS51cGRhdGVkQXQ6XG4gICAgICAgICAgICAgICAgZGF0YSA9IENvbHVtbkNhbGVuZGFyRmlsbGVkUGF0aDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpZWxkVHlwZS5udW1iZXI6XG4gICAgICAgICAgICAgICAgZGF0YSA9IENvbHVtbk51bWJlckZpbGxlZFBhdGg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWVsZFR5cGUubGluazpcbiAgICAgICAgICAgICAgICBkYXRhID0gQ29sdW1uTGlua091dGxpbmVkUGF0aDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpZWxkVHlwZS5yYXRlOlxuICAgICAgICAgICAgICAgIGRhdGEgPSBDb2x1bW5SYXRpbmdGaWxsZWRQYXRoO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmllbGRUeXBlLm1lbWJlcjpcbiAgICAgICAgICAgIGNhc2UgQUlUYWJsZUZpZWxkVHlwZS5jcmVhdGVkQnk6XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWVsZFR5cGUudXBkYXRlZEJ5OlxuICAgICAgICAgICAgICAgIGRhdGEgPSBDb2x1bW5NZW1iZXJGaWxsZWRQYXRoO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBBSVRhYmxlRmllbGRUeXBlLnByb2dyZXNzOlxuICAgICAgICAgICAgICAgIGRhdGEgPSBDb2x1bW5Qcm9ncmVzc0ZpbGxlZFBhdGg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIEFJVGFibGVGaWVsZFR5cGUuYXR0YWNobWVudDpcbiAgICAgICAgICAgICAgICBkYXRhID0gQXR0YWNobWVudFBhdGg7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHgsXG4gICAgICAgICAgICB5LFxuICAgICAgICAgICAgc2l6ZTogd2lkdGgsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kSGVpZ2h0OiBoZWlnaHQsXG4gICAgICAgICAgICBsaXN0ZW5pbmc6IGZhbHNlLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGZpbGxcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cbiJdfQ==
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
|
2
2
|
import { KoShape, KoContainer } from '../../angular-konva';
|
3
|
-
import { AI_TABLE_CELL_PADDING, AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX, AI_TABLE_ICON_COMMON_SIZE, AI_TABLE_OFFSET, AI_TABLE_ROW_DRAG_ICON_WIDTH,
|
3
|
+
import { AI_TABLE_CELL_PADDING, AI_TABLE_FIELD_HEAD_SELECT_CHECKBOX, AI_TABLE_ICON_COMMON_SIZE, AI_TABLE_OFFSET, AI_TABLE_ROW_DRAG_ICON_WIDTH, Colors } from '../../constants';
|
4
4
|
import { AITableCheckType, AITableSelectAllState } from '../../types';
|
5
5
|
import { createColumnHeads } from '../creations/create-heads';
|
6
6
|
import { AITableFieldHead } from './field-head.component';
|
@@ -10,20 +10,43 @@ export class AITableFrozenColumnHeads {
|
|
10
10
|
constructor() {
|
11
11
|
this.config = input.required();
|
12
12
|
this.coordinate = computed(() => {
|
13
|
-
|
13
|
+
const config = this.config();
|
14
|
+
if (!config)
|
15
|
+
return null;
|
16
|
+
return config.coordinate;
|
17
|
+
});
|
18
|
+
this.hiddenIndexColumn = computed(() => {
|
19
|
+
const context = this.context();
|
20
|
+
if (!context)
|
21
|
+
return false;
|
22
|
+
return context?.aiFieldConfig()?.hiddenIndexColumn;
|
23
|
+
});
|
24
|
+
this.context = computed(() => {
|
25
|
+
const config = this.config();
|
26
|
+
if (!config)
|
27
|
+
return null;
|
28
|
+
return config?.aiTable.context;
|
14
29
|
});
|
15
30
|
this.isChecked = computed(() => {
|
16
|
-
|
17
|
-
|
31
|
+
const config = this.config();
|
32
|
+
if (!config)
|
33
|
+
return false;
|
34
|
+
return config.aiTable.selection().selectAllState === AITableSelectAllState.all;
|
18
35
|
});
|
19
36
|
this.fieldHeadHeight = computed(() => {
|
20
|
-
|
37
|
+
const coord = this.coordinate();
|
38
|
+
if (!coord)
|
39
|
+
return 0;
|
40
|
+
return coord.rowInitSize;
|
21
41
|
});
|
22
42
|
this.headConfigs = computed(() => {
|
43
|
+
const coord = this.coordinate();
|
44
|
+
if (!coord)
|
45
|
+
return [];
|
23
46
|
return createColumnHeads({
|
24
47
|
...this.config(),
|
25
48
|
columnStartIndex: 0,
|
26
|
-
columnStopIndex:
|
49
|
+
columnStopIndex: coord.frozenColumnCount - 1
|
27
50
|
});
|
28
51
|
});
|
29
52
|
this.dragHeadBgConfig = computed(() => {
|
@@ -37,28 +60,39 @@ export class AITableFrozenColumnHeads {
|
|
37
60
|
};
|
38
61
|
});
|
39
62
|
this.numberHeadBgConfig = computed(() => {
|
63
|
+
const ctx = this.context();
|
64
|
+
if (!ctx)
|
65
|
+
return { width: 0, height: 0 };
|
40
66
|
return {
|
41
67
|
x: AI_TABLE_OFFSET,
|
42
68
|
y: AI_TABLE_OFFSET,
|
43
|
-
width:
|
69
|
+
width: ctx.rowHeadWidth() || 0,
|
44
70
|
height: this.fieldHeadHeight(),
|
45
71
|
fill: Colors.white,
|
46
72
|
listening: false
|
47
73
|
};
|
48
74
|
});
|
49
|
-
this.topLineConfig = {
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
75
|
+
this.topLineConfig = computed(() => {
|
76
|
+
const ctx = this.context();
|
77
|
+
if (!ctx)
|
78
|
+
return { points: [0, 0, 0, 0] };
|
79
|
+
return {
|
80
|
+
x: AI_TABLE_OFFSET + AI_TABLE_ROW_DRAG_ICON_WIDTH,
|
81
|
+
y: AI_TABLE_OFFSET,
|
82
|
+
points: [0, 0, ctx.rowHeadWidth(), 0],
|
83
|
+
stroke: Colors.gray200,
|
84
|
+
strokeWidth: 1,
|
85
|
+
listening: false
|
86
|
+
};
|
87
|
+
});
|
57
88
|
this.bottomLineConfig = computed(() => {
|
89
|
+
const ctx = this.context();
|
90
|
+
if (!ctx)
|
91
|
+
return { points: [0, 0, 0, 0] };
|
58
92
|
return {
|
59
93
|
x: AI_TABLE_OFFSET + AI_TABLE_ROW_DRAG_ICON_WIDTH,
|
60
94
|
y: AI_TABLE_OFFSET,
|
61
|
-
points: [
|
95
|
+
points: [ctx.rowHeadWidth(), this.fieldHeadHeight(), 0, this.fieldHeadHeight()],
|
62
96
|
stroke: Colors.gray200,
|
63
97
|
strokeWidth: 1,
|
64
98
|
listening: false
|
@@ -76,32 +110,77 @@ export class AITableFrozenColumnHeads {
|
|
76
110
|
};
|
77
111
|
});
|
78
112
|
this.headBgConfig = computed(() => {
|
79
|
-
const
|
113
|
+
const coord = this.coordinate();
|
114
|
+
const ctx = this.context();
|
115
|
+
if (!coord || !ctx)
|
116
|
+
return { width: 0, height: 0 };
|
80
117
|
return {
|
81
|
-
x:
|
118
|
+
x: ctx.rowHeadWidth(),
|
82
119
|
y: AI_TABLE_OFFSET,
|
83
|
-
width: frozenColumnWidth + AI_TABLE_OFFSET,
|
120
|
+
width: coord.frozenColumnWidth + AI_TABLE_OFFSET,
|
84
121
|
height: this.fieldHeadHeight(),
|
85
122
|
stroke: Colors.gray200,
|
86
|
-
strokeWidth: 1,
|
123
|
+
strokeWidth: this.hiddenIndexColumn() ? 0 : 1,
|
87
124
|
fill: Colors.transparent,
|
88
|
-
listening: false
|
125
|
+
listening: false,
|
126
|
+
zIndex: 10
|
89
127
|
};
|
90
128
|
});
|
129
|
+
this.cellLinesConfig = computed(() => {
|
130
|
+
const coord = this.coordinate();
|
131
|
+
const ctx = this.context();
|
132
|
+
if (!coord || !ctx)
|
133
|
+
return [];
|
134
|
+
return [
|
135
|
+
{
|
136
|
+
x: ctx.rowHeadWidth(),
|
137
|
+
y: AI_TABLE_OFFSET,
|
138
|
+
points: [0, 0, coord.frozenColumnWidth + AI_TABLE_OFFSET, 0],
|
139
|
+
stroke: Colors.gray200,
|
140
|
+
strokeWidth: 1,
|
141
|
+
listening: false,
|
142
|
+
zIndex: 10
|
143
|
+
},
|
144
|
+
{
|
145
|
+
x: ctx.rowHeadWidth(),
|
146
|
+
y: AI_TABLE_OFFSET,
|
147
|
+
points: [coord.frozenColumnWidth + AI_TABLE_OFFSET, 0, coord.frozenColumnWidth + AI_TABLE_OFFSET, this.fieldHeadHeight()],
|
148
|
+
stroke: Colors.gray200,
|
149
|
+
strokeWidth: 1,
|
150
|
+
listening: false,
|
151
|
+
zIndex: 10
|
152
|
+
},
|
153
|
+
{
|
154
|
+
x: ctx.rowHeadWidth(),
|
155
|
+
y: AI_TABLE_OFFSET,
|
156
|
+
points: [0, this.fieldHeadHeight(), coord.frozenColumnWidth + AI_TABLE_OFFSET, this.fieldHeadHeight()],
|
157
|
+
stroke: Colors.gray200,
|
158
|
+
strokeWidth: 1,
|
159
|
+
listening: false,
|
160
|
+
zIndex: 10
|
161
|
+
}
|
162
|
+
];
|
163
|
+
});
|
91
164
|
}
|
92
165
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableFrozenColumnHeads, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
93
166
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AITableFrozenColumnHeads, isStandalone: true, selector: "ai-table-frozen-column-heads", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
94
|
-
<ko-rect [config]="
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
<
|
100
|
-
|
167
|
+
<ko-rect [config]="headBgConfig()"></ko-rect>
|
168
|
+
@if (!hiddenIndexColumn()) {
|
169
|
+
<ko-rect [config]="dragHeadBgConfig()"></ko-rect>
|
170
|
+
<ko-rect [config]="numberHeadBgConfig()"></ko-rect>
|
171
|
+
<ko-line [config]="topLineConfig()"></ko-line>
|
172
|
+
<ko-line [config]="bottomLineConfig()"></ko-line>
|
173
|
+
<ko-group>
|
174
|
+
<ai-table-icon [config]="iconConfig()"></ai-table-icon>
|
175
|
+
</ko-group>
|
176
|
+
} @else {
|
177
|
+
@for (lineConfig of cellLinesConfig(); track $index) {
|
178
|
+
<ko-line [config]="lineConfig"></ko-line>
|
179
|
+
}
|
180
|
+
}
|
101
181
|
@for (config of headConfigs(); track $index) {
|
102
182
|
<ai-table-field-head [config]="config"></ai-table-field-head>
|
103
183
|
}
|
104
|
-
<ko-rect [config]="headBgConfig()"></ko-rect>
|
105
184
|
`, isInline: true, dependencies: [{ 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: AITableFieldHead, selector: "ai-table-field-head", inputs: ["config"] }, { kind: "component", type: AITableIcon, selector: "ai-table-icon", inputs: ["config"] }, { kind: "component", type: KoContainer, selector: "ko-layer, ko-fastlayer, ko-group" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
106
185
|
}
|
107
186
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AITableFrozenColumnHeads, decorators: [{
|
@@ -109,21 +188,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
109
188
|
args: [{
|
110
189
|
selector: 'ai-table-frozen-column-heads',
|
111
190
|
template: `
|
112
|
-
<ko-rect [config]="
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
<
|
118
|
-
|
191
|
+
<ko-rect [config]="headBgConfig()"></ko-rect>
|
192
|
+
@if (!hiddenIndexColumn()) {
|
193
|
+
<ko-rect [config]="dragHeadBgConfig()"></ko-rect>
|
194
|
+
<ko-rect [config]="numberHeadBgConfig()"></ko-rect>
|
195
|
+
<ko-line [config]="topLineConfig()"></ko-line>
|
196
|
+
<ko-line [config]="bottomLineConfig()"></ko-line>
|
197
|
+
<ko-group>
|
198
|
+
<ai-table-icon [config]="iconConfig()"></ai-table-icon>
|
199
|
+
</ko-group>
|
200
|
+
} @else {
|
201
|
+
@for (lineConfig of cellLinesConfig(); track $index) {
|
202
|
+
<ko-line [config]="lineConfig"></ko-line>
|
203
|
+
}
|
204
|
+
}
|
119
205
|
@for (config of headConfigs(); track $index) {
|
120
206
|
<ai-table-field-head [config]="config"></ai-table-field-head>
|
121
207
|
}
|
122
|
-
<ko-rect [config]="headBgConfig()"></ko-rect>
|
123
208
|
`,
|
124
209
|
standalone: true,
|
125
210
|
imports: [KoShape, AITableFieldHead, AITableIcon, KoContainer],
|
126
211
|
changeDetection: ChangeDetectionStrategy.OnPush
|
127
212
|
}]
|
128
213
|
}] });
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLWhlYWRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3JlbmRlcmVyL2NvbXBvbmVudHMvZnJvemVuLWhlYWRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG1DQUFtQyxFQUNuQyx5QkFBeUIsRUFDekIsZUFBZSxFQUNmLDRCQUE0QixFQUM1Qix1QkFBdUIsRUFDdkIsTUFBTSxFQUNULE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGdCQUFnQixFQUE0QixxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNoRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBcUIvQyxNQUFNLE9BQU8sd0JBQXdCO0lBbkJyQztRQW9CSSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBNEIsQ0FBQztRQUVwRCxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN0QixtQkFBbUI7WUFDbkIsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLGNB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QkFDaEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPO2FBQzNCLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILGlCQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN6QixNQUFNLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEQsT0FBTztnQkFDSCxDQUFDLEVBQUUsdUJBQXVCO2dCQUMxQixDQUFDLEVBQUUsZUFBZTtnQkFDbEIsS0FBSyxFQUFFLGlCQUFpQixHQUFHLGVBQWU7Z0JBQzFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUM5QixNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU87Z0JBQ3RCLFdBQVcsRUFBRSxDQUFDO2dCQUNkLElBQUksRUFBRSxNQUFNLENBQUMsV0FBVztnQkFDeEIsU0FBUyxFQUFFLEtBQUs7YUFDbkIsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0tBQ047K0dBNUZZLHdCQUF3QjttR0FBeEIsd0JBQXdCLDhOQWpCdkI7Ozs7Ozs7Ozs7OztLQVlULDREQUVTLE9BQU8sK2hCQUFFLGdCQUFnQixvRkFBRSxXQUFXLDhFQUFFLFdBQVc7OzRGQUdwRCx3QkFBd0I7a0JBbkJwQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O0tBWVQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDO29CQUM5RCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0YWdlQ29uZmlnIH0gZnJvbSAna29udmEvbGliL1N0YWdlJztcbmltcG9ydCB7IEtvU2hhcGUsIEtvQ29udGFpbmVyIH0gZnJvbSAnLi4vLi4vYW5ndWxhci1rb252YSc7XG5pbXBvcnQge1xuICAgIEFJX1RBQkxFX0NFTExfUEFERElORyxcbiAgICBBSV9UQUJMRV9GSUVMRF9IRUFEX1NFTEVDVF9DSEVDS0JPWCxcbiAgICBBSV9UQUJMRV9JQ09OX0NPTU1PTl9TSVpFLFxuICAgIEFJX1RBQkxFX09GRlNFVCxcbiAgICBBSV9UQUJMRV9ST1dfRFJBR19JQ09OX1dJRFRILFxuICAgIEFJX1RBQkxFX1JPV19IRUFEX1dJRFRILFxuICAgIENvbG9yc1xufSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQUlUYWJsZUNoZWNrVHlwZSwgQUlUYWJsZUNvbHVtbkhlYWRzQ29uZmlnLCBBSVRhYmxlU2VsZWN0QWxsU3RhdGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVDb2x1bW5IZWFkcyB9IGZyb20gJy4uL2NyZWF0aW9ucy9jcmVhdGUtaGVhZHMnO1xuaW1wb3J0IHsgQUlUYWJsZUZpZWxkSGVhZCB9IGZyb20gJy4vZmllbGQtaGVhZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQUlUYWJsZUljb24gfSBmcm9tICcuL2ljb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhaS10YWJsZS1mcm96ZW4tY29sdW1uLWhlYWRzJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8a28tcmVjdCBbY29uZmlnXT1cImRyYWdIZWFkQmdDb25maWcoKVwiPjwva28tcmVjdD5cbiAgICAgICAgPGtvLXJlY3QgW2NvbmZpZ109XCJudW1iZXJIZWFkQmdDb25maWcoKVwiPjwva28tcmVjdD5cbiAgICAgICAgPGtvLWxpbmUgW2NvbmZpZ109XCJ0b3BMaW5lQ29uZmlnXCI+PC9rby1saW5lPlxuICAgICAgICA8a28tbGluZSBbY29uZmlnXT1cImJvdHRvbUxpbmVDb25maWcoKVwiPjwva28tbGluZT5cbiAgICAgICAgPGtvLWdyb3VwPlxuICAgICAgICAgICAgPGFpLXRhYmxlLWljb24gW2NvbmZpZ109XCJpY29uQ29uZmlnKClcIj48L2FpLXRhYmxlLWljb24+XG4gICAgICAgIDwva28tZ3JvdXA+XG4gICAgICAgIEBmb3IgKGNvbmZpZyBvZiBoZWFkQ29uZmlncygpOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxhaS10YWJsZS1maWVsZC1oZWFkIFtjb25maWddPVwiY29uZmlnXCI+PC9haS10YWJsZS1maWVsZC1oZWFkPlxuICAgICAgICB9XG4gICAgICAgIDxrby1yZWN0IFtjb25maWddPVwiaGVhZEJnQ29uZmlnKClcIj48L2tvLXJlY3Q+XG4gICAgYCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtLb1NoYXBlLCBBSVRhYmxlRmllbGRIZWFkLCBBSVRhYmxlSWNvbiwgS29Db250YWluZXJdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEFJVGFibGVGcm96ZW5Db2x1bW5IZWFkcyB7XG4gICAgY29uZmlnID0gaW5wdXQucmVxdWlyZWQ8QUlUYWJsZUNvbHVtbkhlYWRzQ29uZmlnPigpO1xuXG4gICAgY29vcmRpbmF0ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnKCkuY29vcmRpbmF0ZTtcbiAgICB9KTtcblxuICAgIGlzQ2hlY2tlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgLy8g55uu5YmN5Y+q6ZyA6KaB5bGV56S65YWo6YOo6YCJ5Lit5ZKM56m655qE54q25oCBXG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZygpLmFpVGFibGUuc2VsZWN0aW9uKCkuc2VsZWN0QWxsU3RhdGUgPT09IEFJVGFibGVTZWxlY3RBbGxTdGF0ZS5hbGw7XG4gICAgfSk7XG5cbiAgICBmaWVsZEhlYWRIZWlnaHQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvb3JkaW5hdGUoKS5yb3dJbml0U2l6ZTtcbiAgICB9KTtcblxuICAgIGhlYWRDb25maWdzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gY3JlYXRlQ29sdW1uSGVhZHMoe1xuICAgICAgICAgICAgLi4udGhpcy5jb25maWcoKSxcbiAgICAgICAgICAgIGNvbHVtblN0YXJ0SW5kZXg6IDAsXG4gICAgICAgICAgICBjb2x1bW5TdG9wSW5kZXg6IHRoaXMuY29vcmRpbmF0ZSgpLmZyb3plbkNvbHVtbkNvdW50IC0gMVxuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGRyYWdIZWFkQmdDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgd2lkdGg6IEFJX1RBQkxFX1JPV19EUkFHX0lDT05fV0lEVEgsXG4gICAgICAgICAgICBoZWlnaHQ6IHRoaXMuZmllbGRIZWFkSGVpZ2h0KCksXG4gICAgICAgICAgICBmaWxsOiBDb2xvcnMud2hpdGUsXG4gICAgICAgICAgICBsaXN0ZW5pbmc6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBudW1iZXJIZWFkQmdDb25maWcgPSBjb21wdXRlZDxQYXJ0aWFsPFN0YWdlQ29uZmlnPj4oKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgd2lkdGg6IEFJX1RBQkxFX1JPV19IRUFEX1dJRFRILFxuICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmZpZWxkSGVhZEhlaWdodCgpLFxuICAgICAgICAgICAgZmlsbDogQ29sb3JzLndoaXRlLFxuICAgICAgICAgICAgbGlzdGVuaW5nOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgdG9wTGluZUNvbmZpZyA9IHtcbiAgICAgICAgeDogQUlfVEFCTEVfT0ZGU0VUICsgQUlfVEFCTEVfUk9XX0RSQUdfSUNPTl9XSURUSCxcbiAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICBwb2ludHM6IFswLCAwLCBBSV9UQUJMRV9ST1dfSEVBRF9XSURUSCwgMF0sXG4gICAgICAgIHN0cm9rZTogQ29sb3JzLmdyYXkyMDAsXG4gICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICBsaXN0ZW5pbmc6IGZhbHNlXG4gICAgfTtcblxuICAgIGJvdHRvbUxpbmVDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiBBSV9UQUJMRV9PRkZTRVQgKyBBSV9UQUJMRV9ST1dfRFJBR19JQ09OX1dJRFRILFxuICAgICAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgcG9pbnRzOiBbQUlfVEFCTEVfUk9XX0hFQURfV0lEVEgsIHRoaXMuZmllbGRIZWFkSGVpZ2h0KCksIDAsIHRoaXMuZmllbGRIZWFkSGVpZ2h0KCldLFxuICAgICAgICAgICAgc3Ryb2tlOiBDb2xvcnMuZ3JheTIwMCxcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICAgICAgbGlzdGVuaW5nOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgaWNvbkNvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IEFJX1RBQkxFX0ZJRUxEX0hFQURfU0VMRUNUX0NIRUNLQk9YLFxuICAgICAgICAgICAgeDogQUlfVEFCTEVfQ0VMTF9QQURESU5HICsgQUlfVEFCTEVfUk9XX0RSQUdfSUNPTl9XSURUSCxcbiAgICAgICAgICAgIHk6ICh0aGlzLmZpZWxkSGVhZEhlaWdodCgpIC0gQUlfVEFCTEVfSUNPTl9DT01NT05fU0laRSkgLyAyLFxuICAgICAgICAgICAgdHlwZTogdGhpcy5pc0NoZWNrZWQoKSA/IEFJVGFibGVDaGVja1R5cGUuY2hlY2tlZCA6IEFJVGFibGVDaGVja1R5cGUudW5jaGVja2VkLFxuICAgICAgICAgICAgZmlsbDpcbiAgICAgICAgICAgICAgICB0aGlzLmlzQ2hlY2tlZCgpIHx8ICh0aGlzLmNvbmZpZygpLnBvaW50UG9zaXRpb24udGFyZ2V0TmFtZSA9PT0gQUlfVEFCTEVfRklFTERfSEVBRF9TRUxFQ1RfQ0hFQ0tCT1ggJiYgIXRoaXMuaXNDaGVja2VkKCkpXG4gICAgICAgICAgICAgICAgICAgID8gQ29sb3JzLnByaW1hcnlcbiAgICAgICAgICAgICAgICAgICAgOiBDb2xvcnMuZ3JheTMwMFxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgaGVhZEJnQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGZyb3plbkNvbHVtbldpZHRoIH0gPSB0aGlzLmNvb3JkaW5hdGUoKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHg6IEFJX1RBQkxFX1JPV19IRUFEX1dJRFRILFxuICAgICAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgd2lkdGg6IGZyb3plbkNvbHVtbldpZHRoICsgQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmZpZWxkSGVhZEhlaWdodCgpLFxuICAgICAgICAgICAgc3Ryb2tlOiBDb2xvcnMuZ3JheTIwMCxcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICAgICAgZmlsbDogQ29sb3JzLnRyYW5zcGFyZW50LFxuICAgICAgICAgICAgbGlzdGVuaW5nOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0pO1xufVxuIl19
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLWhlYWRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2dyaWQvc3JjL3JlbmRlcmVyL2NvbXBvbmVudHMvZnJvemVuLWhlYWRzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRCxPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLG1DQUFtQyxFQUNuQyx5QkFBeUIsRUFDekIsZUFBZSxFQUNmLDRCQUE0QixFQUM1QixNQUFNLEVBQ1QsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZ0JBQWdCLEVBQTRCLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUEyQi9DLE1BQU0sT0FBTyx3QkFBd0I7SUF6QnJDO1FBMEJJLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUE0QixDQUFDO1FBRXBELGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUN6QixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxzQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsT0FBTztnQkFBRSxPQUFPLEtBQUssQ0FBQztZQUMzQixPQUFPLE9BQU8sRUFBRSxhQUFhLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztRQUVILFlBQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3BCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsTUFBTTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUN6QixPQUFPLE1BQU0sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBRUgsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1lBQzFCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxjQUFjLEtBQUsscUJBQXFCLENBQUMsR0FBRyxDQUFDO1FBQ25GLENBQUMsQ0FBQyxDQUFDO1FBRUgsb0JBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzVCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPLENBQUMsQ0FBQztZQUNyQixPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDeEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLE9BQU8saUJBQWlCLENBQUM7Z0JBQ3JCLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDaEIsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDbkIsZUFBZSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxDQUFDO2FBQy9DLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO1FBRUgscUJBQWdCLEdBQUcsUUFBUSxDQUF1QixHQUFHLEVBQUU7WUFDbkQsT0FBTztnQkFDSCxDQUFDLEVBQUUsZUFBZTtnQkFDbEIsQ0FBQyxFQUFFLGVBQWU7Z0JBQ2xCLEtBQUssRUFBRSw0QkFBNEI7Z0JBQ25DLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUM5QixJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUs7Z0JBQ2xCLFNBQVMsRUFBRSxLQUFLO2FBQ25CLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILHVCQUFrQixHQUFHLFFBQVEsQ0FBdUIsR0FBRyxFQUFFO1lBQ3JELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsR0FBRztnQkFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDekMsT0FBTztnQkFDSCxDQUFDLEVBQUUsZUFBZTtnQkFDbEIsQ0FBQyxFQUFFLGVBQWU7Z0JBQ2xCLEtBQUssRUFBRSxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQztnQkFDOUIsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQzlCLElBQUksRUFBRSxNQUFNLENBQUMsS0FBSztnQkFDbEIsU0FBUyxFQUFFLEtBQUs7YUFDbkIsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzFCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsR0FBRztnQkFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxPQUFPO2dCQUNILENBQUMsRUFBRSxlQUFlLEdBQUcsNEJBQTRCO2dCQUNqRCxDQUFDLEVBQUUsZUFBZTtnQkFDbEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNyQyxNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU87Z0JBQ3RCLFdBQVcsRUFBRSxDQUFDO2dCQUNkLFNBQVMsRUFBRSxLQUFLO2FBQ25CLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILHFCQUFnQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDN0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFDLE9BQU87Z0JBQ0gsQ0FBQyxFQUFFLGVBQWUsR0FBRyw0QkFBNEI7Z0JBQ2pELENBQUMsRUFBRSxlQUFlO2dCQUNsQixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQy9FLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTztnQkFDdEIsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsU0FBUyxFQUFFLEtBQUs7YUFDbkIsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdkIsT0FBTztnQkFDSCxJQUFJLEVBQUUsbUNBQW1DO2dCQUN6QyxDQUFDLEVBQUUscUJBQXFCLEdBQUcsNEJBQTRCO2dCQUN2RCxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcseUJBQXlCLENBQUMsR0FBRyxDQUFDO2dCQUMzRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVM7Z0JBQzlFLElBQUksRUFDQSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDLFVBQVUsS0FBSyxtQ0FBbUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDckgsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPO29CQUNoQixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU87YUFDM0IsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO1FBRUgsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3pCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUc7Z0JBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ25ELE9BQU87Z0JBQ0gsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JCLENBQUMsRUFBRSxlQUFlO2dCQUNsQixLQUFLLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixHQUFHLGVBQWU7Z0JBQ2hELE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO2dCQUM5QixNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU87Z0JBQ3RCLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUM3QyxJQUFJLEVBQUUsTUFBTSxDQUFDLFdBQVc7Z0JBQ3hCLFNBQVMsRUFBRSxLQUFLO2dCQUNoQixNQUFNLEVBQUUsRUFBRTthQUNiLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztRQUVILG9CQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxHQUFHO2dCQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzlCLE9BQU87Z0JBQ0g7b0JBQ0ksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxZQUFZLEVBQUU7b0JBQ3JCLENBQUMsRUFBRSxlQUFlO29CQUNsQixNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxlQUFlLEVBQUUsQ0FBQyxDQUFDO29CQUM1RCxNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU87b0JBQ3RCLFdBQVcsRUFBRSxDQUFDO29CQUNkLFNBQVMsRUFBRSxLQUFLO29CQUNoQixNQUFNLEVBQUUsRUFBRTtpQkFDYjtnQkFDRDtvQkFDSSxDQUFDLEVBQUUsR0FBRyxDQUFDLFlBQVksRUFBRTtvQkFDckIsQ0FBQyxFQUFFLGVBQWU7b0JBQ2xCLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxlQUFlLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUN6SCxNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU87b0JBQ3RCLFdBQVcsRUFBRSxDQUFDO29CQUNkLFNBQVMsRUFBRSxLQUFLO29CQUNoQixNQUFNLEVBQUUsRUFBRTtpQkFDYjtnQkFDRDtvQkFDSSxDQUFDLEVBQUUsR0FBRyxDQUFDLFlBQVksRUFBRTtvQkFDckIsQ0FBQyxFQUFFLGVBQWU7b0JBQ2xCLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixHQUFHLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7b0JBQ3RHLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTztvQkFDdEIsV0FBVyxFQUFFLENBQUM7b0JBQ2QsU0FBUyxFQUFFLEtBQUs7b0JBQ2hCLE1BQU0sRUFBRSxFQUFFO2lCQUNiO2FBQ0osQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0tBQ047K0dBN0pZLHdCQUF3QjttR0FBeEIsd0JBQXdCLDhOQXZCdkI7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQWtCVCw0REFFUyxPQUFPLCtoQkFBRSxnQkFBZ0Isb0ZBQUUsV0FBVyw4RUFBRSxXQUFXOzs0RkFHcEQsd0JBQXdCO2tCQXpCcEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQWtCVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7b0JBQzlELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhZ2VDb25maWcgfSBmcm9tICdrb252YS9saWIvU3RhZ2UnO1xuaW1wb3J0IHsgS29TaGFwZSwgS29Db250YWluZXIgfSBmcm9tICcuLi8uLi9hbmd1bGFyLWtvbnZhJztcbmltcG9ydCB7XG4gICAgQUlfVEFCTEVfQ0VMTF9QQURESU5HLFxuICAgIEFJX1RBQkxFX0ZJRUxEX0hFQURfU0VMRUNUX0NIRUNLQk9YLFxuICAgIEFJX1RBQkxFX0lDT05fQ09NTU9OX1NJWkUsXG4gICAgQUlfVEFCTEVfT0ZGU0VULFxuICAgIEFJX1RBQkxFX1JPV19EUkFHX0lDT05fV0lEVEgsXG4gICAgQ29sb3JzXG59IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBBSVRhYmxlQ2hlY2tUeXBlLCBBSVRhYmxlQ29sdW1uSGVhZHNDb25maWcsIEFJVGFibGVTZWxlY3RBbGxTdGF0ZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZUNvbHVtbkhlYWRzIH0gZnJvbSAnLi4vY3JlYXRpb25zL2NyZWF0ZS1oZWFkcyc7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGRIZWFkIH0gZnJvbSAnLi9maWVsZC1oZWFkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBSVRhYmxlSWNvbiB9IGZyb20gJy4vaWNvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FpLXRhYmxlLWZyb3plbi1jb2x1bW4taGVhZHMnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxrby1yZWN0IFtjb25maWddPVwiaGVhZEJnQ29uZmlnKClcIj48L2tvLXJlY3Q+XG4gICAgICAgIEBpZiAoIWhpZGRlbkluZGV4Q29sdW1uKCkpIHtcbiAgICAgICAgICAgIDxrby1yZWN0IFtjb25maWddPVwiZHJhZ0hlYWRCZ0NvbmZpZygpXCI+PC9rby1yZWN0PlxuICAgICAgICAgICAgPGtvLXJlY3QgW2NvbmZpZ109XCJudW1iZXJIZWFkQmdDb25maWcoKVwiPjwva28tcmVjdD5cbiAgICAgICAgICAgIDxrby1saW5lIFtjb25maWddPVwidG9wTGluZUNvbmZpZygpXCI+PC9rby1saW5lPlxuICAgICAgICAgICAgPGtvLWxpbmUgW2NvbmZpZ109XCJib3R0b21MaW5lQ29uZmlnKClcIj48L2tvLWxpbmU+XG4gICAgICAgICAgICA8a28tZ3JvdXA+XG4gICAgICAgICAgICAgICAgPGFpLXRhYmxlLWljb24gW2NvbmZpZ109XCJpY29uQ29uZmlnKClcIj48L2FpLXRhYmxlLWljb24+XG4gICAgICAgICAgICA8L2tvLWdyb3VwPlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBmb3IgKGxpbmVDb25maWcgb2YgY2VsbExpbmVzQ29uZmlnKCk7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxrby1saW5lIFtjb25maWddPVwibGluZUNvbmZpZ1wiPjwva28tbGluZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZm9yIChjb25maWcgb2YgaGVhZENvbmZpZ3MoKTsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8YWktdGFibGUtZmllbGQtaGVhZCBbY29uZmlnXT1cImNvbmZpZ1wiPjwvYWktdGFibGUtZmllbGQtaGVhZD5cbiAgICAgICAgfVxuICAgIGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbS29TaGFwZSwgQUlUYWJsZUZpZWxkSGVhZCwgQUlUYWJsZUljb24sIEtvQ29udGFpbmVyXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBBSVRhYmxlRnJvemVuQ29sdW1uSGVhZHMge1xuICAgIGNvbmZpZyA9IGlucHV0LnJlcXVpcmVkPEFJVGFibGVDb2x1bW5IZWFkc0NvbmZpZz4oKTtcblxuICAgIGNvb3JkaW5hdGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgICAgIGlmICghY29uZmlnKSByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIGNvbmZpZy5jb29yZGluYXRlO1xuICAgIH0pO1xuXG4gICAgaGlkZGVuSW5kZXhDb2x1bW4gPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNvbnRleHQoKTtcbiAgICAgICAgaWYgKCFjb250ZXh0KSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiBjb250ZXh0Py5haUZpZWxkQ29uZmlnKCk/LmhpZGRlbkluZGV4Q29sdW1uO1xuICAgIH0pO1xuXG4gICAgY29udGV4dCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWcoKTtcbiAgICAgICAgaWYgKCFjb25maWcpIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4gY29uZmlnPy5haVRhYmxlLmNvbnRleHQ7XG4gICAgfSk7XG5cbiAgICBpc0NoZWNrZWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnKCk7XG4gICAgICAgIGlmICghY29uZmlnKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiBjb25maWcuYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RBbGxTdGF0ZSA9PT0gQUlUYWJsZVNlbGVjdEFsbFN0YXRlLmFsbDtcbiAgICB9KTtcblxuICAgIGZpZWxkSGVhZEhlaWdodCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY29vcmQgPSB0aGlzLmNvb3JkaW5hdGUoKTtcbiAgICAgICAgaWYgKCFjb29yZCkgcmV0dXJuIDA7XG4gICAgICAgIHJldHVybiBjb29yZC5yb3dJbml0U2l6ZTtcbiAgICB9KTtcblxuICAgIGhlYWRDb25maWdzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBjb29yZCA9IHRoaXMuY29vcmRpbmF0ZSgpO1xuICAgICAgICBpZiAoIWNvb3JkKSByZXR1cm4gW107XG4gICAgICAgIHJldHVybiBjcmVhdGVDb2x1bW5IZWFkcyh7XG4gICAgICAgICAgICAuLi50aGlzLmNvbmZpZygpLFxuICAgICAgICAgICAgY29sdW1uU3RhcnRJbmRleDogMCxcbiAgICAgICAgICAgIGNvbHVtblN0b3BJbmRleDogY29vcmQuZnJvemVuQ29sdW1uQ291bnQgLSAxXG4gICAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZHJhZ0hlYWRCZ0NvbmZpZyA9IGNvbXB1dGVkPFBhcnRpYWw8U3RhZ2VDb25maWc+PigoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiBBSV9UQUJMRV9PRkZTRVQsXG4gICAgICAgICAgICB5OiBBSV9UQUJMRV9PRkZTRVQsXG4gICAgICAgICAgICB3aWR0aDogQUlfVEFCTEVfUk9XX0RSQUdfSUNPTl9XSURUSCxcbiAgICAgICAgICAgIGhlaWdodDogdGhpcy5maWVsZEhlYWRIZWlnaHQoKSxcbiAgICAgICAgICAgIGZpbGw6IENvbG9ycy53aGl0ZSxcbiAgICAgICAgICAgIGxpc3RlbmluZzogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIG51bWJlckhlYWRCZ0NvbmZpZyA9IGNvbXB1dGVkPFBhcnRpYWw8U3RhZ2VDb25maWc+PigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuY29udGV4dCgpO1xuICAgICAgICBpZiAoIWN0eCkgcmV0dXJuIHsgd2lkdGg6IDAsIGhlaWdodDogMCB9O1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgd2lkdGg6IGN0eC5yb3dIZWFkV2lkdGgoKSB8fCAwLFxuICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmZpZWxkSGVhZEhlaWdodCgpLFxuICAgICAgICAgICAgZmlsbDogQ29sb3JzLndoaXRlLFxuICAgICAgICAgICAgbGlzdGVuaW5nOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH0pO1xuXG4gICAgdG9wTGluZUNvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5jb250ZXh0KCk7XG4gICAgICAgIGlmICghY3R4KSByZXR1cm4geyBwb2ludHM6IFswLCAwLCAwLCAwXSB9O1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogQUlfVEFCTEVfT0ZGU0VUICsgQUlfVEFCTEVfUk9XX0RSQUdfSUNPTl9XSURUSCxcbiAgICAgICAgICAgIHk6IEFJX1RBQkxFX09GRlNFVCxcbiAgICAgICAgICAgIHBvaW50czogWzAsIDAsIGN0eC5yb3dIZWFkV2lkdGgoKSwgMF0sXG4gICAgICAgICAgICBzdHJva2U6IENvbG9ycy5ncmF5MjAwLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDEsXG4gICAgICAgICAgICBsaXN0ZW5pbmc6IGZhbHNlXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBib3R0b21MaW5lQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBjdHggPSB0aGlzLmNvbnRleHQoKTtcbiAgICAgICAgaWYgKCFjdHgpIHJldHVybiB7IHBvaW50czogWzAsIDAsIDAsIDBdIH07XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB4OiBBSV9UQUJMRV9PRkZTRVQgKyBBSV9UQUJMRV9ST1dfRFJBR19JQ09OX1dJRFRILFxuICAgICAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgcG9pbnRzOiBbY3R4LnJvd0hlYWRXaWR0aCgpLCB0aGlzLmZpZWxkSGVhZEhlaWdodCgpLCAwLCB0aGlzLmZpZWxkSGVhZEhlaWdodCgpXSxcbiAgICAgICAgICAgIHN0cm9rZTogQ29sb3JzLmdyYXkyMDAsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgIGxpc3RlbmluZzogZmFsc2VcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGljb25Db25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiBBSV9UQUJMRV9GSUVMRF9IRUFEX1NFTEVDVF9DSEVDS0JPWCxcbiAgICAgICAgICAgIHg6IEFJX1RBQkxFX0NFTExfUEFERElORyArIEFJX1RBQkxFX1JPV19EUkFHX0lDT05fV0lEVEgsXG4gICAgICAgICAgICB5OiAodGhpcy5maWVsZEhlYWRIZWlnaHQoKSAtIEFJX1RBQkxFX0lDT05fQ09NTU9OX1NJWkUpIC8gMixcbiAgICAgICAgICAgIHR5cGU6IHRoaXMuaXNDaGVja2VkKCkgPyBBSVRhYmxlQ2hlY2tUeXBlLmNoZWNrZWQgOiBBSVRhYmxlQ2hlY2tUeXBlLnVuY2hlY2tlZCxcbiAgICAgICAgICAgIGZpbGw6XG4gICAgICAgICAgICAgICAgdGhpcy5pc0NoZWNrZWQoKSB8fCAodGhpcy5jb25maWcoKS5wb2ludFBvc2l0aW9uLnRhcmdldE5hbWUgPT09IEFJX1RBQkxFX0ZJRUxEX0hFQURfU0VMRUNUX0NIRUNLQk9YICYmICF0aGlzLmlzQ2hlY2tlZCgpKVxuICAgICAgICAgICAgICAgICAgICA/IENvbG9ycy5wcmltYXJ5XG4gICAgICAgICAgICAgICAgICAgIDogQ29sb3JzLmdyYXkzMDBcbiAgICAgICAgfTtcbiAgICB9KTtcblxuICAgIGhlYWRCZ0NvbmZpZyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY29vcmQgPSB0aGlzLmNvb3JkaW5hdGUoKTtcbiAgICAgICAgY29uc3QgY3R4ID0gdGhpcy5jb250ZXh0KCk7XG4gICAgICAgIGlmICghY29vcmQgfHwgIWN0eCkgcmV0dXJuIHsgd2lkdGg6IDAsIGhlaWdodDogMCB9O1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgeDogY3R4LnJvd0hlYWRXaWR0aCgpLFxuICAgICAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgd2lkdGg6IGNvb3JkLmZyb3plbkNvbHVtbldpZHRoICsgQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmZpZWxkSGVhZEhlaWdodCgpLFxuICAgICAgICAgICAgc3Ryb2tlOiBDb2xvcnMuZ3JheTIwMCxcbiAgICAgICAgICAgIHN0cm9rZVdpZHRoOiB0aGlzLmhpZGRlbkluZGV4Q29sdW1uKCkgPyAwIDogMSxcbiAgICAgICAgICAgIGZpbGw6IENvbG9ycy50cmFuc3BhcmVudCxcbiAgICAgICAgICAgIGxpc3RlbmluZzogZmFsc2UsXG4gICAgICAgICAgICB6SW5kZXg6IDEwXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBjZWxsTGluZXNDb25maWcgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvb3JkID0gdGhpcy5jb29yZGluYXRlKCk7XG4gICAgICAgIGNvbnN0IGN0eCA9IHRoaXMuY29udGV4dCgpO1xuICAgICAgICBpZiAoIWNvb3JkIHx8ICFjdHgpIHJldHVybiBbXTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB4OiBjdHgucm93SGVhZFdpZHRoKCksXG4gICAgICAgICAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgICAgIHBvaW50czogWzAsIDAsIGNvb3JkLmZyb3plbkNvbHVtbldpZHRoICsgQUlfVEFCTEVfT0ZGU0VULCAwXSxcbiAgICAgICAgICAgICAgICBzdHJva2U6IENvbG9ycy5ncmF5MjAwLFxuICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiAxLFxuICAgICAgICAgICAgICAgIGxpc3RlbmluZzogZmFsc2UsXG4gICAgICAgICAgICAgICAgekluZGV4OiAxMFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB4OiBjdHgucm93SGVhZFdpZHRoKCksXG4gICAgICAgICAgICAgICAgeTogQUlfVEFCTEVfT0ZGU0VULFxuICAgICAgICAgICAgICAgIHBvaW50czogW2Nvb3JkLmZyb3plbkNvbHVtbldpZHRoICsgQUlfVEFCTEVfT0ZGU0VULCAwLCBjb29yZC5mcm96ZW5Db2x1bW5XaWR0aCArIEFJX1RBQkxFX09GRlNFVCwgdGhpcy5maWVsZEhlYWRIZWlnaHQoKV0sXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBDb2xvcnMuZ3JheTIwMCxcbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgICAgICBsaXN0ZW5pbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHpJbmRleDogMTBcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgeDogY3R4LnJvd0hlYWRXaWR0aCgpLFxuICAgICAgICAgICAgICAgIHk6IEFJX1RBQkxFX09GRlNFVCxcbiAgICAgICAgICAgICAgICBwb2ludHM6IFswLCB0aGlzLmZpZWxkSGVhZEhlaWdodCgpLCBjb29yZC5mcm96ZW5Db2x1bW5XaWR0aCArIEFJX1RBQkxFX09GRlNFVCwgdGhpcy5maWVsZEhlYWRIZWlnaHQoKV0sXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBDb2xvcnMuZ3JheTIwMCxcbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogMSxcbiAgICAgICAgICAgICAgICBsaXN0ZW5pbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHpJbmRleDogMTBcbiAgICAgICAgICAgIH1cbiAgICAgICAgXTtcbiAgICB9KTtcbn1cbiJdfQ==
|