@ai-table/state 0.0.43 → 0.0.45

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.
@@ -1 +1 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../packages/state/src/action/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAMb,WAAW,EACd,MAAM,UAAU,CAAC;AAkLlB,eAAO,MAAM,cAAc;uBACJ,WAAW,UAAU,aAAa,GAAG,IAAI;CAS/D,CAAC"}
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../packages/state/src/action/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,aAAa,EAMb,WAAW,EACd,MAAM,UAAU,CAAC;AAoLlB,eAAO,MAAM,cAAc;uBACJ,WAAW,UAAU,aAAa,GAAG,IAAI;CAS/D,CAAC"}
@@ -1,5 +1,5 @@
1
- import { AITableContextMenuItem, AITablePasteActions } from '@ai-table/grid';
2
- export declare const RemoveRecordsItem: AITableContextMenuItem;
3
- export declare const CopyCellsItem: AITableContextMenuItem;
4
- export declare const PasteCellsItem: (actions: AITablePasteActions) => AITableContextMenuItem;
1
+ import { AITable, AITableContextMenuItem, AITableActions } from '@ai-table/grid';
2
+ export declare const RemoveRecordsItem: (aiTable: AITable, actions: AITableActions) => AITableContextMenuItem;
3
+ export declare const CopyCellsItem: (aiTable: AITable, actions: AITableActions) => AITableContextMenuItem;
4
+ export declare const PasteCellsItem: (aiTable: AITable, actions: AITableActions) => AITableContextMenuItem;
5
5
  //# sourceMappingURL=context-menu-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-menu-item.d.ts","sourceRoot":"","sources":["../../../packages/state/src/constants/context-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,sBAAsB,EAA+B,mBAAmB,EAAyB,MAAM,gBAAgB,CAAC;AAM1I,eAAO,MAAM,iBAAiB,EAAE,sBAkB/B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,sBAsB3B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,sBAsB9D,CAAC"}
1
+ {"version":3,"file":"context-menu-item.d.ts","sourceRoot":"","sources":["../../../packages/state/src/constants/context-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAmD,cAAc,EAA2C,MAAM,gBAAgB,CAAC;AAO3K,eAAO,MAAM,iBAAiB,YAAa,OAAO,WAAW,cAAc,KAAG,sBAkB7E,CAAC;AAEF,eAAO,MAAM,aAAa,YAAa,OAAO,WAAW,cAAc,KAAG,sBA4BzE,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,KAAK,sBAyB3E,CAAC"}
@@ -1,10 +1,10 @@
1
- import { AddFieldOptions, AITableField } from '@ai-table/grid';
1
+ import { AddFieldOptions, AITable, AITableField } from '@ai-table/grid';
2
2
  import { ElementRef, Signal } from '@angular/core';
3
3
  import { AIViewTable } from '../types';
4
4
  export declare const DividerMenuItem: {
5
5
  type: string;
6
6
  };
7
- export declare const EditFieldPropertyItem: {
7
+ export declare const EditFieldPropertyItem: (aiTable: AITable) => {
8
8
  type: string;
9
9
  name: string;
10
10
  icon: string;
@@ -13,7 +13,7 @@ export declare const EditFieldPropertyItem: {
13
13
  y: number;
14
14
  }) => import("ngx-tethys/popover").ThyPopoverRef<unknown, unknown, unknown> | undefined;
15
15
  };
16
- export declare const CopyFieldPropertyItem: (addFieldFn: (data: AddFieldOptions) => void) => {
16
+ export declare const CopyFieldPropertyItem: (aiTable: AITable, addFieldFn: (data: AddFieldOptions) => void) => {
17
17
  type: string;
18
18
  name: string;
19
19
  icon: string;
@@ -1 +1 @@
1
- {"version":3,"file":"field-menu-item.d.ts","sourceRoot":"","sources":["../../../packages/state/src/constants/field-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAmC,YAAY,EAAkC,MAAM,gBAAgB,CAAC;AAChI,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,eAAO,MAAM,eAAe;;CAE3B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;oBAKjB,WAAW,SACb,OAAO,YAAY,CAAC,WAClB,WAAW,GAAG,WAAW,GAAG,CAAC,aAC3B;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;CAoB1C,CAAC;AAEF,eAAO,MAAM,qBAAqB,eAAgB,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI;;;;oBAKzD,WAAW,SAAS,OAAO,YAAY,CAAC;CAqB/D,CAAC"}
1
+ {"version":3,"file":"field-menu-item.d.ts","sourceRoot":"","sources":["../../../packages/state/src/constants/field-menu-item.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAmC,OAAO,EAAE,YAAY,EAAkC,MAAM,gBAAgB,CAAC;AACzI,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIvC,eAAO,MAAM,eAAe;;CAE3B,CAAC;AAEF,eAAO,MAAM,qBAAqB,YAAa,OAAO;;;;oBAKrC,WAAW,SACb,OAAO,YAAY,CAAC,WAClB,WAAW,GAAG,WAAW,GAAG,CAAC,aAC3B;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;CAoBzC,CAAC;AAEH,eAAO,MAAM,qBAAqB,YAAa,OAAO,cAAc,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI;;;;oBAM3E,WAAW,SAAS,OAAO,YAAY,CAAC;CAiB/D,CAAC"}
@@ -44,7 +44,9 @@ const apply = (aiTable, records, fields, views, action) => {
44
44
  const [fieldIndex] = action.path;
45
45
  if (fieldIndex > -1) {
46
46
  const newField = action.field;
47
- newField.positions = createDefaultPositions(aiTable.views(), aiTable.activeViewId(), aiTable.fields(), action.path[0]);
47
+ if (!newField.positions) {
48
+ newField.positions = createDefaultPositions(aiTable.views(), aiTable.activeViewId(), aiTable.gridData().fields, action.path[0]);
49
+ }
48
50
  fields.splice(fieldIndex, 0, newField);
49
51
  records.forEach((item) => {
50
52
  item.values[newField._id] =
@@ -175,4 +177,4 @@ export const GeneralActions = {
175
177
  aiTable.views.set(finishDraft(views));
176
178
  }
177
179
  };
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy9hY3Rpb24vZ2VuZXJhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQVFiLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pELE9BQU8sRUFBK0Isb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9ELE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBb0IsRUFBRSxPQUEyQixFQUFFLE1BQXFCLEVBQUUsS0FBb0IsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDcEksUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsS0FBSyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztZQUN4QyxJQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQztnQkFDakYsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ2hFLENBQUM7WUFDRCxNQUFNO1FBQ1YsQ0FBQztRQUNELEtBQUssVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztZQUNyQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUks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ICBBSVRhYmxlQWN0aW9uLFxuICAgIEFJVGFibGVWaWV3LFxuICAgIEFJVGFibGVWaWV3RmllbGQsXG4gICAgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgQUlUYWJsZVZpZXdSZWNvcmQsXG4gICAgQUlUYWJsZVZpZXdSZWNvcmRzLFxuICAgIEFJVmlld1RhYmxlXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZURyYWZ0LCBmaW5pc2hEcmFmdCB9IGZyb20gJ2ltbWVyJztcbmltcG9ydCB7IEFJVGFibGVGaWVsZCwgQUlUYWJsZUZpZWxkcywgZ2V0RGVmYXVsdEZpZWxkVmFsdWUgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBjcmVhdGVEZWZhdWx0UG9zaXRpb25zLCBpc1BhdGhFcXVhbCB9IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgYXBwbHkgPSAoYWlUYWJsZTogQUlWaWV3VGFibGUsIHJlY29yZHM6IEFJVGFibGVWaWV3UmVjb3JkcywgZmllbGRzOiBBSVRhYmxlRmllbGRzLCB2aWV3czogQUlUYWJsZVZpZXdbXSwgYWN0aW9uOiBBSVRhYmxlQWN0aW9uKSA9PiB7XG4gICAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuVXBkYXRlRmllbGRWYWx1ZToge1xuICAgICAgICAgICAgY29uc3QgW3JlY29yZElkLCBmaWVsZElkXSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKHJlY29yZElkICYmIGZpZWxkSWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRJbmRleCA9IGFpVGFibGUucmVjb3JkcygpLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IHJlY29yZElkKTtcbiAgICAgICAgICAgICAgICByZWNvcmRzW3JlY29yZEluZGV4XS52YWx1ZXNbZmllbGRJZF0gPSBhY3Rpb24ubmV3RmllbGRWYWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5VcGRhdGVTeXN0ZW1GaWVsZFZhbHVlOiB7XG4gICAgICAgICAgICBjb25zdCBbcmVjb3JkSWRdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBpZiAocmVjb3JkSWQgJiYgYWN0aW9uLnVwZGF0ZWRJbmZvKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBhaVRhYmxlLnJlY29yZHMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSByZWNvcmRJZCk7XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbi51cGRhdGVkSW5mby51cGRhdGVkX2F0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlY29yZHNbcmVjb3JkSW5kZXhdLnVwZGF0ZWRfYXQgPSBhY3Rpb24udXBkYXRlZEluZm8udXBkYXRlZF9hdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGFjdGlvbi51cGRhdGVkSW5mby51cGRhdGVkX2J5KSB7XG4gICAgICAgICAgICAgICAgICAgIHJlY29yZHNbcmVjb3JkSW5kZXhdLnVwZGF0ZWRfYnkgPSBhY3Rpb24udXBkYXRlZEluZm8udXBkYXRlZF9ieTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuQWRkUmVjb3JkOiB7XG4gICAgICAgICAgICBjb25zdCBbcmVjb3JkSW5kZXhdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBpZiAocmVjb3JkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGlmICghKGFjdGlvbi5yZWNvcmQgYXMgQUlUYWJsZVZpZXdSZWNvcmQpLnBvc2l0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmVWaWV3ID0gYWlUYWJsZS52aWV3cygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBhaVRhYmxlLmFjdGl2ZVZpZXdJZCgpKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGluZGV4ID0gcmVjb3JkSW5kZXg7XG4gICAgICAgICAgICAgICAgICAgIGlmIChhY3RpdmVWaWV3Py5zZXR0aW5ncz8uY29uZGl0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXggPSByZWNvcmRzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAoYWN0aW9uLnJlY29yZCBhcyBBSVRhYmxlVmlld1JlY29yZCkucG9zaXRpb25zID0gY3JlYXRlRGVmYXVsdFBvc2l0aW9ucyhcbiAgICAgICAgICAgICAgICAgICAgICAgIGFpVGFibGUudmlld3MoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFpVGFibGUuYWN0aXZlVmlld0lkKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnJlY29yZHMoKSBhcyBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZWNvcmRzLnNwbGljZShyZWNvcmRJbmRleCwgMCwgYWN0aW9uLnJlY29yZCBhcyBBSVRhYmxlVmlld1JlY29yZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuQWRkRmllbGQ6IHtcbiAgICAgICAgICAgIGNvbnN0IFtmaWVsZEluZGV4XSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKGZpZWxkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0ZpZWxkID0gYWN0aW9uLmZpZWxkO1xuICAgICAgICAgICAgICAgIChuZXdGaWVsZCBhcyBBSVRhYmxlVmlld0ZpZWxkKS5wb3NpdGlvbnMgPSBjcmVhdGVEZWZhdWx0UG9zaXRpb25zKFxuICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnZpZXdzKCksXG4gICAgICAgICAgICAgICAgICAgIGFpVGFibGUuYWN0aXZlVmlld0lkKCksXG4gICAgICAgICAgICAgICAgICAgIGFpVGFibGUuZmllbGRzKCkgYXMgQUlUYWJsZVZpZXdGaWVsZHMsXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvbi5wYXRoWzBdXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBmaWVsZHMuc3BsaWNlKGZpZWxkSW5kZXgsIDAsIG5ld0ZpZWxkIGFzIEFJVGFibGVWaWV3RmllbGQpO1xuICAgICAgICAgICAgICAgIHJlY29yZHMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpdGVtLnZhbHVlc1tuZXdGaWVsZC5faWRdID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbi5pc0NvcHkgJiYgYWN0aW9uLm9yaWdpbklkID8gaXRlbS52YWx1ZXNbYWN0aW9uLm9yaWdpbklkXSA6IGdldERlZmF1bHRGaWVsZFZhbHVlKGFjdGlvbi5maWVsZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuTW92ZVJlY29yZDoge1xuICAgICAgICAgICAgaWYgKGlzUGF0aEVxdWFsKGFjdGlvbi5wYXRoLCBhY3Rpb24ubmV3UGF0aCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZWNvcmQgPSByZWNvcmRzW2FjdGlvbi5wYXRoWzBdXTtcbiAgICAgICAgICAgIHJlY29yZHMuc3BsaWNlKGFjdGlvbi5wYXRoWzBdLCAxKTtcbiAgICAgICAgICAgIHJlY29yZHMuc3BsaWNlKGFjdGlvbi5uZXdQYXRoWzBdLCAwLCByZWNvcmQpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlJlbW92ZUZpZWxkOiB7XG4gICAgICAgICAgICBjb25zdCBbZmllbGRJZF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkSW5kZXggPSBhaVRhYmxlLmZpZWxkcygpLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IGZpZWxkSWQpO1xuICAgICAgICAgICAgaWYgKGZpZWxkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIGZpZWxkcy5zcGxpY2UoZmllbGRJbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgcmVjb3Jkcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLnZhbHVlc1tmaWVsZElkXTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQ6IHtcbiAgICAgICAgICAgIGNvbnN0IFtyZWNvcmRJZF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGNvbnN0IHJlY29yZEluZGV4ID0gYWlUYWJsZS5yZWNvcmRzKCkuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gcmVjb3JkSWQpO1xuICAgICAgICAgICAgaWYgKHJlY29yZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICByZWNvcmRzLnNwbGljZShyZWNvcmRJbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5TZXRGaWVsZDoge1xuICAgICAgICAgICAgY29uc3QgZmllbGQgPSBmaWVsZHMuZmluZCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IGFjdGlvbi5wYXRoWzBdKSBhcyBBSVRhYmxlRmllbGQ7XG4gICAgICAgICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBhY3Rpb24ubmV3UHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBrID0ga2V5IGFzIGtleW9mIEFJVGFibGVGaWVsZDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBhY3Rpb24ubmV3UHJvcGVydGllc1trXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBmaWVsZFtrXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIChmaWVsZFtrXSBhcyBhbnkpID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBwcm9wZXJ0aWVzIHRoYXQgd2VyZSBwcmV2aW91c2x5IGRlZmluZWQsIGJ1dCBhcmUgbm93IG1pc3NpbmcsIG11c3QgYmUgZGVsZXRlZFxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGFjdGlvbi5wcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghYWN0aW9uLm5ld1Byb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGZpZWxkWzxrZXlvZiBBSVRhYmxlRmllbGQ+a2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5TZXRWaWV3OiB7XG4gICAgICAgICAgICBjb25zdCB2aWV3ID0gdmlld3MuZmluZCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IGFjdGlvbi5wYXRoWzBdKSBhcyBBSVRhYmxlVmlldztcbiAgICAgICAgICAgIGlmICh2aWV3KSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gYWN0aW9uLm5ld1Byb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiBBSVRhYmxlVmlldztcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBhY3Rpb24ubmV3UHJvcGVydGllc1trXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB2aWV3W2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgKHZpZXdba10gYXMgYW55KSA9IHZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gcHJvcGVydGllcyB0aGF0IHdlcmUgcHJldmlvdXNseSBkZWZpbmVkLCBidXQgYXJlIG5vdyBtaXNzaW5nLCBtdXN0IGJlIGRlbGV0ZWRcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBhY3Rpb24ucHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWFjdGlvbi5uZXdQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB2aWV3WzxrZXlvZiBBSVRhYmxlVmlldz5rZXldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLkFkZFZpZXc6IHtcbiAgICAgICAgICAgIGNvbnN0IFt2aWV3SW5kZXhdID0gYWN0aW9uLnBhdGg7XG4gICAgICAgICAgICBpZiAodmlld0luZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICB2aWV3cy5zcGxpY2Uodmlld0luZGV4LCAwLCBhY3Rpb24udmlldyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuUmVtb3ZlVmlldzoge1xuICAgICAgICAgICAgY29uc3QgW3ZpZXdJZF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGNvbnN0IHZpZXdJbmRleCA9IHZpZXdzLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IHZpZXdJZCk7XG4gICAgICAgICAgICBpZiAodmlld0luZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICB2aWV3cy5zcGxpY2Uodmlld0luZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5TZXRSZWNvcmRQb3NpdGlvbnM6IHtcbiAgICAgICAgICAgIGNvbnN0IHsgcG9zaXRpb25zLCBwYXRoIH0gPSBhY3Rpb247XG4gICAgICAgICAgICBjb25zdCByZWNvcmQgPSByZWNvcmRzLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBwYXRoWzBdKTtcbiAgICAgICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdQb3NpdGlvbnMgPSB7IC4uLnJlY29yZC5wb3NpdGlvbnMgfTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBwb3NpdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBvc2l0aW9uc1trZXldID09PSBudWxsIHx8IHBvc2l0aW9uc1trZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBuZXdQb3NpdGlvbnNba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Bvc2l0aW9uc1trZXldID0gcG9zaXRpb25zW2tleV0gYXMgbnVtYmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlY29yZC5wb3NpdGlvbnMgPSBuZXdQb3NpdGlvbnM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICByZWNvcmRzLFxuICAgICAgICBmaWVsZHMsXG4gICAgICAgIHZpZXdzXG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBHZW5lcmFsQWN0aW9ucyA9IHtcbiAgICB0cmFuc2Zvcm0oYWlUYWJsZTogQUlWaWV3VGFibGUsIGFjdGlvbjogQUlUYWJsZUFjdGlvbik6IHZvaWQge1xuICAgICAgICBjb25zdCByZWNvcmRzID0gY3JlYXRlRHJhZnQoYWlUYWJsZS5yZWNvcmRzKCkpIGFzIEFJVGFibGVWaWV3UmVjb3JkcztcbiAgICAgICAgY29uc3QgZmllbGRzID0gY3JlYXRlRHJhZnQoYWlUYWJsZS5ncmlkRGF0YSgpLmZpZWxkcykgYXMgQUlUYWJsZVZpZXdGaWVsZHM7XG4gICAgICAgIGNvbnN0IHZpZXdzID0gY3JlYXRlRHJhZnQoYWlUYWJsZS52aWV3cygpKTtcbiAgICAgICAgYXBwbHkoYWlUYWJsZSwgcmVjb3JkcywgZmllbGRzLCB2aWV3cywgYWN0aW9uKTtcbiAgICAgICAgYWlUYWJsZS5maWVsZHMuc2V0KGZpbmlzaERyYWZ0KGZpZWxkcykpO1xuICAgICAgICBhaVRhYmxlLnJlY29yZHMuc2V0KGZpbmlzaERyYWZ0KHJlY29yZHMpKTtcbiAgICAgICAgYWlUYWJsZS52aWV3cy5zZXQoZmluaXNoRHJhZnQodmlld3MpKTtcbiAgICB9XG59O1xuIl19
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0YXRlL3NyYy9hY3Rpb24vZ2VuZXJhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsVUFBVSxFQVFiLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2pELE9BQU8sRUFBK0Isb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9ELE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBb0IsRUFBRSxPQUEyQixFQUFFLE1BQXFCLEVBQUUsS0FBb0IsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDcEksUUFBUSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsS0FBSyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztZQUN4QyxJQUFJLFFBQVEsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUMsQ0FBQztnQkFDakYsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO1lBQ2hFLENBQUM7WUFDRCxNQUFNO1FBQ1YsQ0FBQztRQUNELEtBQUssVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztZQUNyQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUks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Q0FBQztDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFjdGlvbk5hbWUsXG4gICAgQUlUYWJsZUFjdGlvbixcbiAgICBBSVRhYmxlVmlldyxcbiAgICBBSVRhYmxlVmlld0ZpZWxkLFxuICAgIEFJVGFibGVWaWV3RmllbGRzLFxuICAgIEFJVGFibGVWaWV3UmVjb3JkLFxuICAgIEFJVGFibGVWaWV3UmVjb3JkcyxcbiAgICBBSVZpZXdUYWJsZVxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVEcmFmdCwgZmluaXNoRHJhZnQgfSBmcm9tICdpbW1lcic7XG5pbXBvcnQgeyBBSVRhYmxlRmllbGQsIEFJVGFibGVGaWVsZHMsIGdldERlZmF1bHRGaWVsZFZhbHVlIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgY3JlYXRlRGVmYXVsdFBvc2l0aW9ucywgaXNQYXRoRXF1YWwgfSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IGFwcGx5ID0gKGFpVGFibGU6IEFJVmlld1RhYmxlLCByZWNvcmRzOiBBSVRhYmxlVmlld1JlY29yZHMsIGZpZWxkczogQUlUYWJsZUZpZWxkcywgdmlld3M6IEFJVGFibGVWaWV3W10sIGFjdGlvbjogQUlUYWJsZUFjdGlvbikgPT4ge1xuICAgIHN3aXRjaCAoYWN0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlVwZGF0ZUZpZWxkVmFsdWU6IHtcbiAgICAgICAgICAgIGNvbnN0IFtyZWNvcmRJZCwgZmllbGRJZF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGlmIChyZWNvcmRJZCAmJiBmaWVsZElkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBhaVRhYmxlLnJlY29yZHMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSByZWNvcmRJZCk7XG4gICAgICAgICAgICAgICAgcmVjb3Jkc1tyZWNvcmRJbmRleF0udmFsdWVzW2ZpZWxkSWRdID0gYWN0aW9uLm5ld0ZpZWxkVmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuVXBkYXRlU3lzdGVtRmllbGRWYWx1ZToge1xuICAgICAgICAgICAgY29uc3QgW3JlY29yZElkXSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKHJlY29yZElkICYmIGFjdGlvbi51cGRhdGVkSW5mbykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZEluZGV4ID0gYWlUYWJsZS5yZWNvcmRzKCkuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gcmVjb3JkSWQpO1xuICAgICAgICAgICAgICAgIGlmIChhY3Rpb24udXBkYXRlZEluZm8udXBkYXRlZF9hdCkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRzW3JlY29yZEluZGV4XS51cGRhdGVkX2F0ID0gYWN0aW9uLnVwZGF0ZWRJbmZvLnVwZGF0ZWRfYXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChhY3Rpb24udXBkYXRlZEluZm8udXBkYXRlZF9ieSkge1xuICAgICAgICAgICAgICAgICAgICByZWNvcmRzW3JlY29yZEluZGV4XS51cGRhdGVkX2J5ID0gYWN0aW9uLnVwZGF0ZWRJbmZvLnVwZGF0ZWRfYnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLkFkZFJlY29yZDoge1xuICAgICAgICAgICAgY29uc3QgW3JlY29yZEluZGV4XSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgaWYgKHJlY29yZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICBpZiAoIShhY3Rpb24ucmVjb3JkIGFzIEFJVGFibGVWaWV3UmVjb3JkKS5wb3NpdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlVmlldyA9IGFpVGFibGUudmlld3MoKS5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gYWlUYWJsZS5hY3RpdmVWaWV3SWQoKSk7XG4gICAgICAgICAgICAgICAgICAgIGxldCBpbmRleCA9IHJlY29yZEluZGV4O1xuICAgICAgICAgICAgICAgICAgICBpZiAoYWN0aXZlVmlldz8uc2V0dGluZ3M/LmNvbmRpdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4ID0gcmVjb3Jkcy5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgKGFjdGlvbi5yZWNvcmQgYXMgQUlUYWJsZVZpZXdSZWNvcmQpLnBvc2l0aW9ucyA9IGNyZWF0ZURlZmF1bHRQb3NpdGlvbnMoXG4gICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnZpZXdzKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLmFjdGl2ZVZpZXdJZCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWlUYWJsZS5yZWNvcmRzKCkgYXMgQUlUYWJsZVZpZXdSZWNvcmRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVjb3Jkcy5zcGxpY2UocmVjb3JkSW5kZXgsIDAsIGFjdGlvbi5yZWNvcmQgYXMgQUlUYWJsZVZpZXdSZWNvcmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLkFkZEZpZWxkOiB7XG4gICAgICAgICAgICBjb25zdCBbZmllbGRJbmRleF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGlmIChmaWVsZEluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdGaWVsZCA9IGFjdGlvbi5maWVsZDtcbiAgICAgICAgICAgICAgICBpZiAoIShuZXdGaWVsZCBhcyBBSVRhYmxlVmlld0ZpZWxkKS5wb3NpdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgKG5ld0ZpZWxkIGFzIEFJVGFibGVWaWV3RmllbGQpLnBvc2l0aW9ucyA9IGNyZWF0ZURlZmF1bHRQb3NpdGlvbnMoXG4gICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnZpZXdzKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLmFjdGl2ZVZpZXdJZCgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWlUYWJsZS5ncmlkRGF0YSgpLmZpZWxkcyBhcyBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbi5wYXRoWzBdXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZpZWxkcy5zcGxpY2UoZmllbGRJbmRleCwgMCwgbmV3RmllbGQgYXMgQUlUYWJsZVZpZXdGaWVsZCk7XG4gICAgICAgICAgICAgICAgcmVjb3Jkcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0udmFsdWVzW25ld0ZpZWxkLl9pZF0gPVxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uLmlzQ29weSAmJiBhY3Rpb24ub3JpZ2luSWQgPyBpdGVtLnZhbHVlc1thY3Rpb24ub3JpZ2luSWRdIDogZ2V0RGVmYXVsdEZpZWxkVmFsdWUoYWN0aW9uLmZpZWxkKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5Nb3ZlUmVjb3JkOiB7XG4gICAgICAgICAgICBpZiAoaXNQYXRoRXF1YWwoYWN0aW9uLnBhdGgsIGFjdGlvbi5uZXdQYXRoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJlY29yZCA9IHJlY29yZHNbYWN0aW9uLnBhdGhbMF1dO1xuICAgICAgICAgICAgcmVjb3Jkcy5zcGxpY2UoYWN0aW9uLnBhdGhbMF0sIDEpO1xuICAgICAgICAgICAgcmVjb3Jkcy5zcGxpY2UoYWN0aW9uLm5ld1BhdGhbMF0sIDAsIHJlY29yZCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuUmVtb3ZlRmllbGQ6IHtcbiAgICAgICAgICAgIGNvbnN0IFtmaWVsZElkXSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IGFpVGFibGUuZmllbGRzKCkuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gZmllbGRJZCk7XG4gICAgICAgICAgICBpZiAoZmllbGRJbmRleCA+IC0xKSB7XG4gICAgICAgICAgICAgICAgZmllbGRzLnNwbGljZShmaWVsZEluZGV4LCAxKTtcbiAgICAgICAgICAgICAgICByZWNvcmRzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGl0ZW0udmFsdWVzW2ZpZWxkSWRdO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlJlbW92ZVJlY29yZDoge1xuICAgICAgICAgICAgY29uc3QgW3JlY29yZElkXSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSBhaVRhYmxlLnJlY29yZHMoKS5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSByZWNvcmRJZCk7XG4gICAgICAgICAgICBpZiAocmVjb3JkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIHJlY29yZHMuc3BsaWNlKHJlY29yZEluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlNldEZpZWxkOiB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZCA9IGZpZWxkcy5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gYWN0aW9uLnBhdGhbMF0pIGFzIEFJVGFibGVGaWVsZDtcbiAgICAgICAgICAgIGlmIChmaWVsZCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGFjdGlvbi5uZXdQcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGsgPSBrZXkgYXMga2V5b2YgQUlUYWJsZUZpZWxkO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGFjdGlvbi5uZXdQcm9wZXJ0aWVzW2tdO1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGZpZWxkW2tdO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgKGZpZWxkW2tdIGFzIGFueSkgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIHByb3BlcnRpZXMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgZGVmaW5lZCwgYnV0IGFyZSBub3cgbWlzc2luZywgbXVzdCBiZSBkZWxldGVkXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gYWN0aW9uLnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFhY3Rpb24ubmV3UHJvcGVydGllcy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgZmllbGRbPGtleW9mIEFJVGFibGVGaWVsZD5rZXldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlNldFZpZXc6IHtcbiAgICAgICAgICAgIGNvbnN0IHZpZXcgPSB2aWV3cy5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gYWN0aW9uLnBhdGhbMF0pIGFzIEFJVGFibGVWaWV3O1xuICAgICAgICAgICAgaWYgKHZpZXcpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBhY3Rpb24ubmV3UHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBrID0ga2V5IGFzIGtleW9mIEFJVGFibGVWaWV3O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGFjdGlvbi5uZXdQcm9wZXJ0aWVzW2tdO1xuICAgICAgICAgICAgICAgICAgICBpZiAodmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHZpZXdba107XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAodmlld1trXSBhcyBhbnkpID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBwcm9wZXJ0aWVzIHRoYXQgd2VyZSBwcmV2aW91c2x5IGRlZmluZWQsIGJ1dCBhcmUgbm93IG1pc3NpbmcsIG11c3QgYmUgZGVsZXRlZFxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGFjdGlvbi5wcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghYWN0aW9uLm5ld1Byb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHZpZXdbPGtleW9mIEFJVGFibGVWaWV3PmtleV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIEFjdGlvbk5hbWUuQWRkVmlldzoge1xuICAgICAgICAgICAgY29uc3QgW3ZpZXdJbmRleF0gPSBhY3Rpb24ucGF0aDtcbiAgICAgICAgICAgIGlmICh2aWV3SW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIHZpZXdzLnNwbGljZSh2aWV3SW5kZXgsIDAsIGFjdGlvbi52aWV3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgQWN0aW9uTmFtZS5SZW1vdmVWaWV3OiB7XG4gICAgICAgICAgICBjb25zdCBbdmlld0lkXSA9IGFjdGlvbi5wYXRoO1xuICAgICAgICAgICAgY29uc3Qgdmlld0luZGV4ID0gdmlld3MuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gdmlld0lkKTtcbiAgICAgICAgICAgIGlmICh2aWV3SW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgIHZpZXdzLnNwbGljZSh2aWV3SW5kZXgsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBBY3Rpb25OYW1lLlNldFJlY29yZFBvc2l0aW9uczoge1xuICAgICAgICAgICAgY29uc3QgeyBwb3NpdGlvbnMsIHBhdGggfSA9IGFjdGlvbjtcbiAgICAgICAgICAgIGNvbnN0IHJlY29yZCA9IHJlY29yZHMuZmluZCgoaXRlbSkgPT4gaXRlbS5faWQgPT09IHBhdGhbMF0pO1xuICAgICAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1Bvc2l0aW9ucyA9IHsgLi4ucmVjb3JkLnBvc2l0aW9ucyB9O1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHBvc2l0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBpZiAocG9zaXRpb25zW2tleV0gPT09IG51bGwgfHwgcG9zaXRpb25zW2tleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG5ld1Bvc2l0aW9uc1trZXldO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV3UG9zaXRpb25zW2tleV0gPSBwb3NpdGlvbnNba2V5XSBhcyBudW1iZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmVjb3JkLnBvc2l0aW9ucyA9IG5ld1Bvc2l0aW9ucztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHJlY29yZHMsXG4gICAgICAgIGZpZWxkcyxcbiAgICAgICAgdmlld3NcbiAgICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IEdlbmVyYWxBY3Rpb25zID0ge1xuICAgIHRyYW5zZm9ybShhaVRhYmxlOiBBSVZpZXdUYWJsZSwgYWN0aW9uOiBBSVRhYmxlQWN0aW9uKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlY29yZHMgPSBjcmVhdGVEcmFmdChhaVRhYmxlLnJlY29yZHMoKSkgYXMgQUlUYWJsZVZpZXdSZWNvcmRzO1xuICAgICAgICBjb25zdCBmaWVsZHMgPSBjcmVhdGVEcmFmdChhaVRhYmxlLmdyaWREYXRhKCkuZmllbGRzKSBhcyBBSVRhYmxlVmlld0ZpZWxkcztcbiAgICAgICAgY29uc3Qgdmlld3MgPSBjcmVhdGVEcmFmdChhaVRhYmxlLnZpZXdzKCkpO1xuICAgICAgICBhcHBseShhaVRhYmxlLCByZWNvcmRzLCBmaWVsZHMsIHZpZXdzLCBhY3Rpb24pO1xuICAgICAgICBhaVRhYmxlLmZpZWxkcy5zZXQoZmluaXNoRHJhZnQoZmllbGRzKSk7XG4gICAgICAgIGFpVGFibGUucmVjb3Jkcy5zZXQoZmluaXNoRHJhZnQocmVjb3JkcykpO1xuICAgICAgICBhaVRhYmxlLnZpZXdzLnNldChmaW5pc2hEcmFmdCh2aWV3cykpO1xuICAgIH1cbn07XG4iXX0=
@@ -1,45 +1,51 @@
1
- import { AITable, isMac, writeToAITable } from '@ai-table/grid';
1
+ import { AITable, AITableGridI18nKey, getI18nTextByKey, isMac, writeToAITable } from '@ai-table/grid';
2
2
  import { Actions } from '../action';
3
3
  import { buildClipboardData, writeToClipboard } from '@ai-table/grid';
4
- export const RemoveRecordsItem = {
5
- type: 'removeRecords',
6
- name: '删除行',
7
- icon: 'trash',
8
- exec: (aiTable, targetName, position, aiTableGridSelectionService) => {
9
- let selectedRecordIds = AITable.getActiveRecordIds(aiTable);
10
- selectedRecordIds.forEach((id) => {
11
- Actions.removeRecord(aiTable, [id]);
12
- });
13
- aiTableGridSelectionService.clearSelection();
14
- }
4
+ import { AITableStateI18nKey, getStateI18nTextByKey } from '../utils/i18n';
5
+ export const RemoveRecordsItem = (aiTable, actions) => {
6
+ return {
7
+ type: 'removeRecords',
8
+ name: getStateI18nTextByKey(aiTable, AITableStateI18nKey.removeRecords),
9
+ icon: 'trash',
10
+ exec: (aiTable, targetName, position, aiTableGridSelectionService) => {
11
+ let selectedRecordIds = AITable.getActiveRecordIds(aiTable);
12
+ selectedRecordIds.forEach((id) => {
13
+ Actions.removeRecord(aiTable, [id]);
14
+ });
15
+ aiTableGridSelectionService.clearSelection();
16
+ }
17
+ };
15
18
  };
16
- export const CopyCellsItem = {
17
- type: 'copyCells',
18
- name: '复制',
19
- shortcutKey: isMac() ? `⌘ + C` : `Ctrl + C`,
20
- icon: 'copy',
21
- exec: (aiTable, targetName, position, aiTableGridSelectionService, notifyService) => {
22
- const clipboardData = buildClipboardData(aiTable);
23
- if (clipboardData) {
24
- writeToClipboard(clipboardData).then(() => {
25
- const copiedCellsCount = aiTable.selection().selectedCells.size;
26
- notifyService.success(`已复制 ${copiedCellsCount} 个单元格`, undefined, {
27
- placement: 'bottomLeft'
19
+ export const CopyCellsItem = (aiTable, actions) => {
20
+ return {
21
+ type: 'copyCells',
22
+ name: getStateI18nTextByKey(aiTable, AITableStateI18nKey.copy),
23
+ shortcutKey: isMac() ? `⌘ + C` : `Ctrl + C`,
24
+ icon: 'copy',
25
+ exec: (aiTable, targetName, position, aiTableGridSelectionService, notifyService) => {
26
+ const clipboardData = buildClipboardData(aiTable);
27
+ if (clipboardData) {
28
+ writeToClipboard(clipboardData).then(() => {
29
+ const copiedCellsCount = aiTable.selection().selectedCells.size;
30
+ const message = getI18nTextByKey(aiTable, AITableGridI18nKey.copiedCells).replace('{count}', copiedCellsCount.toString());
31
+ notifyService.success(message, undefined, {
32
+ placement: 'bottomLeft'
33
+ });
28
34
  });
29
- });
35
+ }
30
36
  }
31
- }
37
+ };
32
38
  };
33
- export const PasteCellsItem = (actions) => {
39
+ export const PasteCellsItem = (aiTable, actions) => {
34
40
  return {
35
41
  type: 'pasteCells',
36
- name: '粘贴',
42
+ name: getStateI18nTextByKey(aiTable, AITableStateI18nKey.paste),
37
43
  shortcutKey: isMac() ? `⌘ + V` : `Ctrl + V`,
38
44
  icon: 'paste',
39
45
  exec: async (aiTable, targetName, position, aiTableGridSelectionService, notifyService) => {
40
46
  writeToAITable(aiTable, actions).then((isPasteSuccess) => {
41
47
  if (!isPasteSuccess) {
42
- notifyService.error('粘贴内容不符合当前类型', undefined, {
48
+ notifyService.error(getStateI18nTextByKey(aiTable, AITableStateI18nKey.invalidPasteContent), undefined, {
43
49
  placement: 'bottomLeft'
44
50
  });
45
51
  }
@@ -47,4 +53,4 @@ export const PasteCellsItem = (actions) => {
47
53
  }
48
54
  };
49
55
  };
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvY29uc3RhbnRzL2NvbnRleHQtbWVudS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQTRFLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxSSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RFLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUEyQjtJQUNyRCxJQUFJLEVBQUUsZUFBZTtJQUNyQixJQUFJLEVBQUUsS0FBSztJQUNYLElBQUksRUFBRSxPQUFPO0lBQ2IsSUFBSSxFQUFFLENBQ0YsT0FBZ0IsRUFDaEIsVUFBa0IsRUFDbEIsUUFBa0MsRUFDbEMsMkJBQXdELEVBQzFELEVBQUU7UUFDQSxJQUFJLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU1RCxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFVLEVBQUUsRUFBRTtZQUNyQyxPQUFPLENBQUMsWUFBWSxDQUFDLE9BQXNCLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO1FBRUgsMkJBQTJCLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDakQsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTJCO0lBQ2pELElBQUksRUFBRSxXQUFXO0lBQ2pCLElBQUksRUFBRSxJQUFJO0lBQ1YsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVU7SUFDM0MsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsQ0FDRixPQUFnQixFQUNoQixVQUFrQixFQUNsQixRQUFrQyxFQUNsQywyQkFBd0QsRUFDeEQsYUFBK0IsRUFDakMsRUFBRTtRQUNBLE1BQU0sYUFBYSxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDdEMsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztnQkFDaEUsYUFBYSxDQUFDLE9BQU8sQ0FBQyxPQUFPLGdCQUFnQixPQUFPLEVBQUUsU0FBUyxFQUFFO29CQUM3RCxTQUFTLEVBQUUsWUFBWTtpQkFDMUIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0wsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQTZELENBQUMsT0FBNEIsRUFBRSxFQUFFO0lBQ3JILE9BQU87UUFDSCxJQUFJLEVBQUUsWUFBWTtRQUNsQixJQUFJLEVBQUUsSUFBSTtRQUNWLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVO1FBQzNDLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLEtBQUssRUFDUCxPQUFnQixFQUNoQixVQUFrQixFQUNsQixRQUFrQyxFQUNsQywyQkFBd0QsRUFDeEQsYUFBK0IsRUFDakMsRUFBRTtZQUNBLGNBQWMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUU7Z0JBQ3JELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDbEIsYUFBYSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFO3dCQUMxQyxTQUFTLEVBQUUsWUFBWTtxQkFDMUIsQ0FBQyxDQUFDO2dCQUNQLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUNvbnRleHRNZW51SXRlbSwgQUlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlLCBBSVRhYmxlUGFzdGVBY3Rpb25zLCBpc01hYywgd3JpdGVUb0FJVGFibGUgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9uJztcbmltcG9ydCB7IEFJVmlld1RhYmxlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYnVpbGRDbGlwYm9hcmREYXRhLCB3cml0ZVRvQ2xpcGJvYXJkIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgVGh5Tm90aWZ5U2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvbm90aWZ5JztcblxuZXhwb3J0IGNvbnN0IFJlbW92ZVJlY29yZHNJdGVtOiBBSVRhYmxlQ29udGV4dE1lbnVJdGVtID0ge1xuICAgIHR5cGU6ICdyZW1vdmVSZWNvcmRzJyxcbiAgICBuYW1lOiAn5Yig6Zmk6KGMJyxcbiAgICBpY29uOiAndHJhc2gnLFxuICAgIGV4ZWM6IChcbiAgICAgICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICAgICAgdGFyZ2V0TmFtZTogc3RyaW5nLFxuICAgICAgICBwb3NpdGlvbjogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LFxuICAgICAgICBhaVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2U6IEFJVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZVxuICAgICkgPT4ge1xuICAgICAgICBsZXQgc2VsZWN0ZWRSZWNvcmRJZHMgPSBBSVRhYmxlLmdldEFjdGl2ZVJlY29yZElkcyhhaVRhYmxlKTtcblxuICAgICAgICBzZWxlY3RlZFJlY29yZElkcy5mb3JFYWNoKChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBBY3Rpb25zLnJlbW92ZVJlY29yZChhaVRhYmxlIGFzIEFJVmlld1RhYmxlLCBbaWRdKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgYWlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlLmNsZWFyU2VsZWN0aW9uKCk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENvcHlDZWxsc0l0ZW06IEFJVGFibGVDb250ZXh0TWVudUl0ZW0gPSB7XG4gICAgdHlwZTogJ2NvcHlDZWxscycsXG4gICAgbmFtZTogJ+WkjeWIticsXG4gICAgc2hvcnRjdXRLZXk6IGlzTWFjKCkgPyBg4oyYICsgQ2AgOiBgQ3RybCArIENgLFxuICAgIGljb246ICdjb3B5JyxcbiAgICBleGVjOiAoXG4gICAgICAgIGFpVGFibGU6IEFJVGFibGUsXG4gICAgICAgIHRhcmdldE5hbWU6IHN0cmluZyxcbiAgICAgICAgcG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSxcbiAgICAgICAgYWlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlOiBBSVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UsXG4gICAgICAgIG5vdGlmeVNlcnZpY2U6IFRoeU5vdGlmeVNlcnZpY2VcbiAgICApID0+IHtcbiAgICAgICAgY29uc3QgY2xpcGJvYXJkRGF0YSA9IGJ1aWxkQ2xpcGJvYXJkRGF0YShhaVRhYmxlKTtcbiAgICAgICAgaWYgKGNsaXBib2FyZERhdGEpIHtcbiAgICAgICAgICAgIHdyaXRlVG9DbGlwYm9hcmQoY2xpcGJvYXJkRGF0YSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29waWVkQ2VsbHNDb3VudCA9IGFpVGFibGUuc2VsZWN0aW9uKCkuc2VsZWN0ZWRDZWxscy5zaXplO1xuICAgICAgICAgICAgICAgIG5vdGlmeVNlcnZpY2Uuc3VjY2Vzcyhg5bey5aSN5Yi2ICR7Y29waWVkQ2VsbHNDb3VudH0g5Liq5Y2V5YWD5qC8YCwgdW5kZWZpbmVkLCB7XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBQYXN0ZUNlbGxzSXRlbTogKGFjdGlvbnM6IEFJVGFibGVQYXN0ZUFjdGlvbnMpID0+IEFJVGFibGVDb250ZXh0TWVudUl0ZW0gPSAoYWN0aW9uczogQUlUYWJsZVBhc3RlQWN0aW9ucykgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwYXN0ZUNlbGxzJyxcbiAgICAgICAgbmFtZTogJ+eymOi0tCcsXG4gICAgICAgIHNob3J0Y3V0S2V5OiBpc01hYygpID8gYOKMmCArIFZgIDogYEN0cmwgKyBWYCxcbiAgICAgICAgaWNvbjogJ3Bhc3RlJyxcbiAgICAgICAgZXhlYzogYXN5bmMgKFxuICAgICAgICAgICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICAgICAgICAgIHRhcmdldE5hbWU6IHN0cmluZyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0sXG4gICAgICAgICAgICBhaVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2U6IEFJVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZSxcbiAgICAgICAgICAgIG5vdGlmeVNlcnZpY2U6IFRoeU5vdGlmeVNlcnZpY2VcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICB3cml0ZVRvQUlUYWJsZShhaVRhYmxlLCBhY3Rpb25zKS50aGVuKChpc1Bhc3RlU3VjY2VzcykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaXNQYXN0ZVN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgICAgICAgbm90aWZ5U2VydmljZS5lcnJvcign57KY6LS05YaF5a655LiN56ym5ZCI5b2T5YmN57G75Z6LJywgdW5kZWZpbmVkLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0J1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG59O1xuIl19
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1tZW51LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvY29uc3RhbnRzL2NvbnRleHQtbWVudS1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQTBCLGtCQUFrQixFQUErQyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0ssT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVwQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0UsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxPQUFnQixFQUFFLE9BQXVCLEVBQTBCLEVBQUU7SUFDbkcsT0FBTztRQUNILElBQUksRUFBRSxlQUFlO1FBQ3JCLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUMsYUFBYSxDQUFDO1FBQ3ZFLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLENBQ0YsT0FBZ0IsRUFDaEIsVUFBa0IsRUFDbEIsUUFBa0MsRUFDbEMsMkJBQXdELEVBQzFELEVBQUU7WUFDQSxJQUFJLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1RCxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFVLEVBQUUsRUFBRTtnQkFDckMsT0FBTyxDQUFDLFlBQVksQ0FBQyxPQUFzQixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RCxDQUFDLENBQUMsQ0FBQztZQUNILDJCQUEyQixDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2pELENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsT0FBZ0IsRUFBRSxPQUF1QixFQUEwQixFQUFFO0lBQy9GLE9BQU87UUFDSCxJQUFJLEVBQUUsV0FBVztRQUNqQixJQUFJLEVBQUUscUJBQXFCLENBQUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQztRQUM5RCxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUMzQyxJQUFJLEVBQUUsTUFBTTtRQUNaLElBQUksRUFBRSxDQUNGLE9BQWdCLEVBQ2hCLFVBQWtCLEVBQ2xCLFFBQWtDLEVBQ2xDLDJCQUF3RCxFQUN4RCxhQUErQixFQUNqQyxFQUFFO1lBQ0EsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEQsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDaEIsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDdEMsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztvQkFDaEUsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FDN0UsU0FBUyxFQUNULGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUM5QixDQUFDO29CQUNGLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRTt3QkFDdEMsU0FBUyxFQUFFLFlBQVk7cUJBQzFCLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDO0tBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBMEUsQ0FDakcsT0FBZ0IsRUFDaEIsT0FBdUIsRUFDekIsRUFBRTtJQUNBLE9BQU87UUFDSCxJQUFJLEVBQUUsWUFBWTtRQUNsQixJQUFJLEVBQUUscUJBQXFCLENBQUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDLEtBQUssQ0FBQztRQUMvRCxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUMzQyxJQUFJLEVBQUUsT0FBTztRQUNiLElBQUksRUFBRSxLQUFLLEVBQ1AsT0FBZ0IsRUFDaEIsVUFBa0IsRUFDbEIsUUFBa0MsRUFDbEMsMkJBQXdELEVBQ3hELGFBQStCLEVBQ2pDLEVBQUU7WUFDQSxjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO2dCQUNyRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ2xCLGFBQWEsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLEVBQUUsU0FBUyxFQUFFO3dCQUNwRyxTQUFTLEVBQUUsWUFBWTtxQkFDMUIsQ0FBQyxDQUFDO2dCQUNQLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7S0FDSixDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQUlUYWJsZSwgQUlUYWJsZUNvbnRleHRNZW51SXRlbSwgQUlUYWJsZUdyaWRJMThuS2V5LCBBSVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2UsIEFJVGFibGVBY3Rpb25zLCBnZXRJMThuVGV4dEJ5S2V5LCBpc01hYywgd3JpdGVUb0FJVGFibGUgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9uJztcbmltcG9ydCB7IEFJVmlld1RhYmxlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYnVpbGRDbGlwYm9hcmREYXRhLCB3cml0ZVRvQ2xpcGJvYXJkIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuaW1wb3J0IHsgVGh5Tm90aWZ5U2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvbm90aWZ5JztcbmltcG9ydCB7IEFJVGFibGVTdGF0ZUkxOG5LZXksIGdldFN0YXRlSTE4blRleHRCeUtleSB9IGZyb20gJy4uL3V0aWxzL2kxOG4nO1xuXG5leHBvcnQgY29uc3QgUmVtb3ZlUmVjb3Jkc0l0ZW0gPSAoYWlUYWJsZTogQUlUYWJsZSwgYWN0aW9uczogQUlUYWJsZUFjdGlvbnMpOiBBSVRhYmxlQ29udGV4dE1lbnVJdGVtID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAncmVtb3ZlUmVjb3JkcycsXG4gICAgICAgIG5hbWU6IGdldFN0YXRlSTE4blRleHRCeUtleShhaVRhYmxlLCBBSVRhYmxlU3RhdGVJMThuS2V5LnJlbW92ZVJlY29yZHMpLFxuICAgICAgICBpY29uOiAndHJhc2gnLFxuICAgICAgICBleGVjOiAoXG4gICAgICAgICAgICBhaVRhYmxlOiBBSVRhYmxlLFxuICAgICAgICAgICAgdGFyZ2V0TmFtZTogc3RyaW5nLFxuICAgICAgICAgICAgcG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSxcbiAgICAgICAgICAgIGFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZTogQUlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlXG4gICAgICAgICkgPT4ge1xuICAgICAgICAgICAgbGV0IHNlbGVjdGVkUmVjb3JkSWRzID0gQUlUYWJsZS5nZXRBY3RpdmVSZWNvcmRJZHMoYWlUYWJsZSk7XG4gICAgICAgICAgICBzZWxlY3RlZFJlY29yZElkcy5mb3JFYWNoKChpZDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgQWN0aW9ucy5yZW1vdmVSZWNvcmQoYWlUYWJsZSBhcyBBSVZpZXdUYWJsZSwgW2lkXSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZS5jbGVhclNlbGVjdGlvbigpO1xuICAgICAgICB9XG4gICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBDb3B5Q2VsbHNJdGVtID0gKGFpVGFibGU6IEFJVGFibGUsIGFjdGlvbnM6IEFJVGFibGVBY3Rpb25zKTogQUlUYWJsZUNvbnRleHRNZW51SXRlbSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ2NvcHlDZWxscycsXG4gICAgICAgIG5hbWU6IGdldFN0YXRlSTE4blRleHRCeUtleShhaVRhYmxlLCBBSVRhYmxlU3RhdGVJMThuS2V5LmNvcHkpLFxuICAgICAgICBzaG9ydGN1dEtleTogaXNNYWMoKSA/IGDijJggKyBDYCA6IGBDdHJsICsgQ2AsXG4gICAgICAgIGljb246ICdjb3B5JyxcbiAgICAgICAgZXhlYzogKFxuICAgICAgICAgICAgYWlUYWJsZTogQUlUYWJsZSxcbiAgICAgICAgICAgIHRhcmdldE5hbWU6IHN0cmluZyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH0sXG4gICAgICAgICAgICBhaVRhYmxlR3JpZFNlbGVjdGlvblNlcnZpY2U6IEFJVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZSxcbiAgICAgICAgICAgIG5vdGlmeVNlcnZpY2U6IFRoeU5vdGlmeVNlcnZpY2VcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjbGlwYm9hcmREYXRhID0gYnVpbGRDbGlwYm9hcmREYXRhKGFpVGFibGUpO1xuICAgICAgICAgICAgaWYgKGNsaXBib2FyZERhdGEpIHtcbiAgICAgICAgICAgICAgICB3cml0ZVRvQ2xpcGJvYXJkKGNsaXBib2FyZERhdGEpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb3BpZWRDZWxsc0NvdW50ID0gYWlUYWJsZS5zZWxlY3Rpb24oKS5zZWxlY3RlZENlbGxzLnNpemU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBnZXRJMThuVGV4dEJ5S2V5KGFpVGFibGUsIEFJVGFibGVHcmlkSTE4bktleS5jb3BpZWRDZWxscykucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgICAgICd7Y291bnR9JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvcGllZENlbGxzQ291bnQudG9TdHJpbmcoKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICBub3RpZnlTZXJ2aWNlLnN1Y2Nlc3MobWVzc2FnZSwgdW5kZWZpbmVkLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0J1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG59O1xuXG5leHBvcnQgY29uc3QgUGFzdGVDZWxsc0l0ZW06IChhaVRhYmxlOiBBSVRhYmxlLCBhY3Rpb25zOiBBSVRhYmxlQWN0aW9ucykgPT4gQUlUYWJsZUNvbnRleHRNZW51SXRlbSA9IChcbiAgICBhaVRhYmxlOiBBSVRhYmxlLFxuICAgIGFjdGlvbnM6IEFJVGFibGVBY3Rpb25zXG4pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAncGFzdGVDZWxscycsXG4gICAgICAgIG5hbWU6IGdldFN0YXRlSTE4blRleHRCeUtleShhaVRhYmxlLCBBSVRhYmxlU3RhdGVJMThuS2V5LnBhc3RlKSxcbiAgICAgICAgc2hvcnRjdXRLZXk6IGlzTWFjKCkgPyBg4oyYICsgVmAgOiBgQ3RybCArIFZgLFxuICAgICAgICBpY29uOiAncGFzdGUnLFxuICAgICAgICBleGVjOiBhc3luYyAoXG4gICAgICAgICAgICBhaVRhYmxlOiBBSVRhYmxlLFxuICAgICAgICAgICAgdGFyZ2V0TmFtZTogc3RyaW5nLFxuICAgICAgICAgICAgcG9zaXRpb246IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfSxcbiAgICAgICAgICAgIGFpVGFibGVHcmlkU2VsZWN0aW9uU2VydmljZTogQUlUYWJsZUdyaWRTZWxlY3Rpb25TZXJ2aWNlLFxuICAgICAgICAgICAgbm90aWZ5U2VydmljZTogVGh5Tm90aWZ5U2VydmljZVxuICAgICAgICApID0+IHtcbiAgICAgICAgICAgIHdyaXRlVG9BSVRhYmxlKGFpVGFibGUsIGFjdGlvbnMpLnRoZW4oKGlzUGFzdGVTdWNjZXNzKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc1Bhc3RlU3VjY2Vzcykge1xuICAgICAgICAgICAgICAgICAgICBub3RpZnlTZXJ2aWNlLmVycm9yKGdldFN0YXRlSTE4blRleHRCeUtleShhaVRhYmxlLCBBSVRhYmxlU3RhdGVJMThuS2V5LmludmFsaWRQYXN0ZUNvbnRlbnQpLCB1bmRlZmluZWQsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfTtcbn07XG4iXX0=
@@ -1,12 +1,14 @@
1
1
  import { AI_TABLE_GRID_FIELD_SERVICE_MAP, idCreator } from '@ai-table/grid';
2
2
  import _ from 'lodash';
3
3
  import { Actions } from '../action';
4
+ import { generateCopyName } from '../utils';
5
+ import { AITableStateI18nKey, getStateI18nTextByKey } from '../utils/i18n';
4
6
  export const DividerMenuItem = {
5
7
  type: 'divider'
6
8
  };
7
- export const EditFieldPropertyItem = {
9
+ export const EditFieldPropertyItem = (aiTable) => ({
8
10
  type: 'editFieldProperty',
9
- name: '编辑列',
11
+ name: getStateI18nTextByKey(aiTable, AITableStateI18nKey.editField),
10
12
  icon: 'edit',
11
13
  exec: (aiTable, field, origin, position) => {
12
14
  const fieldService = AI_TABLE_GRID_FIELD_SERVICE_MAP.get(aiTable);
@@ -27,20 +29,17 @@ export const EditFieldPropertyItem = {
27
29
  }
28
30
  return undefined;
29
31
  }
30
- };
31
- export const CopyFieldPropertyItem = (addFieldFn) => {
32
+ });
33
+ export const CopyFieldPropertyItem = (aiTable, addFieldFn) => {
34
+ const name = getStateI18nTextByKey(aiTable, AITableStateI18nKey.copyField);
32
35
  return {
33
36
  type: 'copyFieldProperty',
34
- name: '复制列',
37
+ name,
35
38
  icon: 'copy',
36
39
  exec: (aiTable, field) => {
37
40
  const allFieldNames = (aiTable.fields() || []).map((item) => item.name);
38
- let newFieldName = `${field().name} 副本`;
39
- let index = 2;
40
- while (allFieldNames.includes(newFieldName)) {
41
- newFieldName = `${field().name} 副本 ${index}`;
42
- index++;
43
- }
41
+ const copyName = field().name;
42
+ let newFieldName = generateCopyName(aiTable, allFieldNames, copyName);
44
43
  const fieldOptions = {
45
44
  originId: field()._id,
46
45
  isCopy: true,
@@ -54,4 +53,4 @@ export const CopyFieldPropertyItem = (addFieldFn) => {
54
53
  }
55
54
  };
56
55
  };
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbWVudS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL2NvbnN0YW50cy9maWVsZC1tZW51LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQiwrQkFBK0IsRUFBcUMsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEksT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHcEMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzNCLElBQUksRUFBRSxTQUFTO0NBQ2xCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNqQyxJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLElBQUksRUFBRSxLQUFLO0lBQ1gsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsQ0FDRixPQUFvQixFQUNwQixLQUEyQixFQUMzQixNQUFzQyxFQUN0QyxRQUFtQyxFQUNyQyxFQUFFO1FBQ0EsTUFBTSxZQUFZLEdBQUcsK0JBQStCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sU0FBUyxHQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckQsSUFBSSxNQUFNLElBQUksUUFBUSxFQUFFLENBQUM7WUFDckIsTUFBTSxVQUFVLEdBQUcsWUFBWSxFQUFFLGlCQUFpQixDQUFDLE9BQU8sRUFBRTtnQkFDeEQsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLFFBQVEsRUFBRSxJQUFJO2dCQUNkLE1BQU0sRUFBRSxNQUFPO2dCQUNmLFFBQVE7YUFDWCxDQUFDLENBQUM7WUFDSCxJQUFJLFVBQVUsSUFBSSxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLHFCQUFxQixFQUFFLENBQUM7Z0JBQ2xGLFVBQVUsQ0FBQyxpQkFBeUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQy9FLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN2RCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxPQUFPLFVBQVUsQ0FBQztRQUN0QixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLFVBQTJDLEVBQUUsRUFBRTtJQUNqRixPQUFPO1FBQ0gsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixJQUFJLEVBQUUsS0FBSztRQUNYLElBQUksRUFBRSxNQUFNO1FBQ1osSUFBSSxFQUFFLENBQUMsT0FBb0IsRUFBRSxLQUEyQixFQUFFLEVBQUU7WUFDeEQsTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEUsSUFBSSxZQUFZLEdBQUcsR0FBRyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEtBQUssQ0FBQztZQUN4QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDZCxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsWUFBWSxHQUFHLEdBQUcsS0FBSyxFQUFFLENBQUMsSUFBSSxPQUFPLEtBQUssRUFBRSxDQUFDO2dCQUM3QyxLQUFLLEVBQUUsQ0FBQztZQUNaLENBQUM7WUFFRCxNQUFNLFlBQVksR0FBb0I7Z0JBQ2xDLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFHO2dCQUNyQixNQUFNLEVBQUUsSUFBSTtnQkFDWixZQUFZLEVBQUU7b0JBQ1YsR0FBRyxLQUFLLEVBQUU7b0JBQ1YsR0FBRyxFQUFFLFNBQVMsRUFBRTtvQkFDaEIsSUFBSSxFQUFFLFlBQVk7aUJBQ3JCO2FBQ0osQ0FBQztZQUNGLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QixDQUFDO0tBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkZEZpZWxkT3B0aW9ucywgQUlfVEFCTEVfR1JJRF9GSUVMRF9TRVJWSUNFX01BUCwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmllbGRTZXR0aW5nLCBpZENyZWF0b3IgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9uJztcbmltcG9ydCB7IEFJVmlld1RhYmxlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgRGl2aWRlck1lbnVJdGVtID0ge1xuICAgIHR5cGU6ICdkaXZpZGVyJ1xufTtcblxuZXhwb3J0IGNvbnN0IEVkaXRGaWVsZFByb3BlcnR5SXRlbSA9IHtcbiAgICB0eXBlOiAnZWRpdEZpZWxkUHJvcGVydHknLFxuICAgIG5hbWU6ICfnvJbovpHliJcnLFxuICAgIGljb246ICdlZGl0JyxcbiAgICBleGVjOiAoXG4gICAgICAgIGFpVGFibGU6IEFJVmlld1RhYmxlLFxuICAgICAgICBmaWVsZDogU2lnbmFsPEFJVGFibGVGaWVsZD4sXG4gICAgICAgIG9yaWdpbj86IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZjxhbnk+LFxuICAgICAgICBwb3NpdGlvbj86IHsgeDogbnVtYmVyOyB5OiBudW1iZXIgfVxuICAgICkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZFNlcnZpY2UgPSBBSV9UQUJMRV9HUklEX0ZJRUxEX1NFUlZJQ0VfTUFQLmdldChhaVRhYmxlKTtcbiAgICAgICAgY29uc3QgY29weUZpZWxkOiBBSVRhYmxlRmllbGQgPSBfLmNsb25lRGVlcChmaWVsZCgpKTtcbiAgICAgICAgaWYgKG9yaWdpbiAmJiBwb3NpdGlvbikge1xuICAgICAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IGZpZWxkU2VydmljZT8uZWRpdEZpZWxkUHJvcGVydHkoYWlUYWJsZSwge1xuICAgICAgICAgICAgICAgIGZpZWxkOiBjb3B5RmllbGQsXG4gICAgICAgICAgICAgICAgaXNVcGRhdGU6IHRydWUsXG4gICAgICAgICAgICAgICAgb3JpZ2luOiBvcmlnaW4hLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChwb3BvdmVyUmVmICYmIGZpZWxkU2VydmljZSAmJiAhZmllbGRTZXJ2aWNlLmFpRmllbGRDb25maWc/LmZpZWxkU2V0dGluZ0NvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIChwb3BvdmVyUmVmLmNvbXBvbmVudEluc3RhbmNlIGFzIEFJVGFibGVGaWVsZFNldHRpbmcpLnNldEZpZWxkLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgQWN0aW9ucy5zZXRGaWVsZChhaVRhYmxlLCB2YWx1ZS5maWVsZCwgdmFsdWUucGF0aCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcG9wb3ZlclJlZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDb3B5RmllbGRQcm9wZXJ0eUl0ZW0gPSAoYWRkRmllbGRGbjogKGRhdGE6IEFkZEZpZWxkT3B0aW9ucykgPT4gdm9pZCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdjb3B5RmllbGRQcm9wZXJ0eScsXG4gICAgICAgIG5hbWU6ICflpI3liLbliJcnLFxuICAgICAgICBpY29uOiAnY29weScsXG4gICAgICAgIGV4ZWM6IChhaVRhYmxlOiBBSVZpZXdUYWJsZSwgZmllbGQ6IFNpZ25hbDxBSVRhYmxlRmllbGQ+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhbGxGaWVsZE5hbWVzID0gKGFpVGFibGUuZmllbGRzKCkgfHwgW10pLm1hcCgoaXRlbSkgPT4gaXRlbS5uYW1lKTtcbiAgICAgICAgICAgIGxldCBuZXdGaWVsZE5hbWUgPSBgJHtmaWVsZCgpLm5hbWV9IOWJr+acrGA7XG4gICAgICAgICAgICBsZXQgaW5kZXggPSAyO1xuICAgICAgICAgICAgd2hpbGUgKGFsbEZpZWxkTmFtZXMuaW5jbHVkZXMobmV3RmllbGROYW1lKSkge1xuICAgICAgICAgICAgICAgIG5ld0ZpZWxkTmFtZSA9IGAke2ZpZWxkKCkubmFtZX0g5Ymv5pysICR7aW5kZXh9YDtcbiAgICAgICAgICAgICAgICBpbmRleCsrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBmaWVsZE9wdGlvbnM6IEFkZEZpZWxkT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICBvcmlnaW5JZDogZmllbGQoKS5faWQsXG4gICAgICAgICAgICAgICAgaXNDb3B5OiB0cnVlLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAuLi5maWVsZCgpLFxuICAgICAgICAgICAgICAgICAgICBfaWQ6IGlkQ3JlYXRvcigpLFxuICAgICAgICAgICAgICAgICAgICBuYW1lOiBuZXdGaWVsZE5hbWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYWRkRmllbGRGbihmaWVsZE9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfTtcbn07XG4iXX0=
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtbWVudS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL2NvbnN0YW50cy9maWVsZC1tZW51LWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQiwrQkFBK0IsRUFBOEMsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekksT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFcEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsSUFBSSxFQUFFLFNBQVM7Q0FDbEIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsT0FBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN4RCxJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUMsU0FBUyxDQUFDO0lBQ25FLElBQUksRUFBRSxNQUFNO0lBQ1osSUFBSSxFQUFFLENBQ0YsT0FBb0IsRUFDcEIsS0FBMkIsRUFDM0IsTUFBc0MsRUFDdEMsUUFBbUMsRUFDckMsRUFBRTtRQUNBLE1BQU0sWUFBWSxHQUFHLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRSxNQUFNLFNBQVMsR0FBaUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksTUFBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sVUFBVSxHQUFHLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3hELEtBQUssRUFBRSxTQUFTO2dCQUNoQixRQUFRLEVBQUUsSUFBSTtnQkFDZCxNQUFNLEVBQUUsTUFBTztnQkFDZixRQUFRO2FBQ1gsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxVQUFVLElBQUksWUFBWSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxxQkFBcUIsRUFBRSxDQUFDO2dCQUNsRixVQUFVLENBQUMsaUJBQXlDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUMvRSxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdkQsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBQ0QsT0FBTyxVQUFVLENBQUM7UUFDdEIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE9BQWdCLEVBQUUsVUFBMkMsRUFBRSxFQUFFO0lBQ25HLE1BQU0sSUFBSSxHQUFHLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzRSxPQUFPO1FBQ0gsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixJQUFJO1FBQ0osSUFBSSxFQUFFLE1BQU07UUFDWixJQUFJLEVBQUUsQ0FBQyxPQUFvQixFQUFFLEtBQTJCLEVBQUUsRUFBRTtZQUN4RCxNQUFNLGFBQWEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4RSxNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDOUIsSUFBSSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUV0RSxNQUFNLFlBQVksR0FBb0I7Z0JBQ2xDLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFHO2dCQUNyQixNQUFNLEVBQUUsSUFBSTtnQkFDWixZQUFZLEVBQUU7b0JBQ1YsR0FBRyxLQUFLLEVBQUU7b0JBQ1YsR0FBRyxFQUFFLFNBQVMsRUFBRTtvQkFDaEIsSUFBSSxFQUFFLFlBQVk7aUJBQ3JCO2FBQ0osQ0FBQztZQUNGLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QixDQUFDO0tBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFkZEZpZWxkT3B0aW9ucywgQUlfVEFCTEVfR1JJRF9GSUVMRF9TRVJWSUNFX01BUCwgQUlUYWJsZSwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlRmllbGRTZXR0aW5nLCBpZENyZWF0b3IgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBBY3Rpb25zIH0gZnJvbSAnLi4vYWN0aW9uJztcbmltcG9ydCB7IEFJVmlld1RhYmxlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2VuZXJhdGVDb3B5TmFtZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IEFJVGFibGVTdGF0ZUkxOG5LZXksIGdldFN0YXRlSTE4blRleHRCeUtleSB9IGZyb20gJy4uL3V0aWxzL2kxOG4nO1xuXG5leHBvcnQgY29uc3QgRGl2aWRlck1lbnVJdGVtID0ge1xuICAgIHR5cGU6ICdkaXZpZGVyJ1xufTtcblxuZXhwb3J0IGNvbnN0IEVkaXRGaWVsZFByb3BlcnR5SXRlbSA9IChhaVRhYmxlOiBBSVRhYmxlKSA9PiAoe1xuICAgIHR5cGU6ICdlZGl0RmllbGRQcm9wZXJ0eScsXG4gICAgbmFtZTogZ2V0U3RhdGVJMThuVGV4dEJ5S2V5KGFpVGFibGUsIEFJVGFibGVTdGF0ZUkxOG5LZXkuZWRpdEZpZWxkKSxcbiAgICBpY29uOiAnZWRpdCcsXG4gICAgZXhlYzogKFxuICAgICAgICBhaVRhYmxlOiBBSVZpZXdUYWJsZSxcbiAgICAgICAgZmllbGQ6IFNpZ25hbDxBSVRhYmxlRmllbGQ+LFxuICAgICAgICBvcmlnaW4/OiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8YW55PixcbiAgICAgICAgcG9zaXRpb24/OiB7IHg6IG51bWJlcjsgeTogbnVtYmVyIH1cbiAgICApID0+IHtcbiAgICAgICAgY29uc3QgZmllbGRTZXJ2aWNlID0gQUlfVEFCTEVfR1JJRF9GSUVMRF9TRVJWSUNFX01BUC5nZXQoYWlUYWJsZSk7XG4gICAgICAgIGNvbnN0IGNvcHlGaWVsZDogQUlUYWJsZUZpZWxkID0gXy5jbG9uZURlZXAoZmllbGQoKSk7XG4gICAgICAgIGlmIChvcmlnaW4gJiYgcG9zaXRpb24pIHtcbiAgICAgICAgICAgIGNvbnN0IHBvcG92ZXJSZWYgPSBmaWVsZFNlcnZpY2U/LmVkaXRGaWVsZFByb3BlcnR5KGFpVGFibGUsIHtcbiAgICAgICAgICAgICAgICBmaWVsZDogY29weUZpZWxkLFxuICAgICAgICAgICAgICAgIGlzVXBkYXRlOiB0cnVlLFxuICAgICAgICAgICAgICAgIG9yaWdpbjogb3JpZ2luISxcbiAgICAgICAgICAgICAgICBwb3NpdGlvblxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAocG9wb3ZlclJlZiAmJiBmaWVsZFNlcnZpY2UgJiYgIWZpZWxkU2VydmljZS5haUZpZWxkQ29uZmlnPy5maWVsZFNldHRpbmdDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAocG9wb3ZlclJlZi5jb21wb25lbnRJbnN0YW5jZSBhcyBBSVRhYmxlRmllbGRTZXR0aW5nKS5zZXRGaWVsZC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIEFjdGlvbnMuc2V0RmllbGQoYWlUYWJsZSwgdmFsdWUuZmllbGQsIHZhbHVlLnBhdGgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHBvcG92ZXJSZWY7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IENvcHlGaWVsZFByb3BlcnR5SXRlbSA9IChhaVRhYmxlOiBBSVRhYmxlLCBhZGRGaWVsZEZuOiAoZGF0YTogQWRkRmllbGRPcHRpb25zKSA9PiB2b2lkKSA9PiB7XG4gICAgY29uc3QgbmFtZSA9IGdldFN0YXRlSTE4blRleHRCeUtleShhaVRhYmxlLCBBSVRhYmxlU3RhdGVJMThuS2V5LmNvcHlGaWVsZCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ2NvcHlGaWVsZFByb3BlcnR5JyxcbiAgICAgICAgbmFtZSxcbiAgICAgICAgaWNvbjogJ2NvcHknLFxuICAgICAgICBleGVjOiAoYWlUYWJsZTogQUlWaWV3VGFibGUsIGZpZWxkOiBTaWduYWw8QUlUYWJsZUZpZWxkPikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWxsRmllbGROYW1lcyA9IChhaVRhYmxlLmZpZWxkcygpIHx8IFtdKS5tYXAoKGl0ZW0pID0+IGl0ZW0ubmFtZSk7XG4gICAgICAgICAgICBjb25zdCBjb3B5TmFtZSA9IGZpZWxkKCkubmFtZTtcbiAgICAgICAgICAgIGxldCBuZXdGaWVsZE5hbWUgPSBnZW5lcmF0ZUNvcHlOYW1lKGFpVGFibGUsIGFsbEZpZWxkTmFtZXMsIGNvcHlOYW1lKTtcblxuICAgICAgICAgICAgY29uc3QgZmllbGRPcHRpb25zOiBBZGRGaWVsZE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgb3JpZ2luSWQ6IGZpZWxkKCkuX2lkLFxuICAgICAgICAgICAgICAgIGlzQ29weTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZmllbGQoKSxcbiAgICAgICAgICAgICAgICAgICAgX2lkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogbmV3RmllbGROYW1lXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGFkZEZpZWxkRm4oZmllbGRPcHRpb25zKTtcbiAgICAgICAgfVxuICAgIH07XG59O1xuIl19
@@ -59,7 +59,7 @@ export default function translateArrayEvent(aiTable, sharedType, event) {
59
59
  short_id: getShortIdBySystemFieldValues(systemFieldValues),
60
60
  ...getTrackableEntityBySystemFieldValues(systemFieldValues),
61
61
  positions: getPositionsBySystemFieldValues(systemFieldValues),
62
- values: getValuesByCustomFieldValues(customFieldValues, aiTable.fields())
62
+ values: getValuesByCustomFieldValues(customFieldValues, aiTable.gridData().fields)
63
63
  }
64
64
  });
65
65
  });
@@ -69,9 +69,9 @@ export default function translateArrayEvent(aiTable, sharedType, event) {
69
69
  const sharedRecords = sharedType.get('records');
70
70
  const sharedFields = sharedType.get('fields');
71
71
  let systemFieldOffset = 0;
72
- delta.insert?.map((item) => {
72
+ delta.insert?.map((item, index) => {
73
73
  const recordIndex = targetPath[0];
74
- const fieldIndex = offset;
74
+ const fieldIndex = offset + index;
75
75
  const record = aiTable.records()[recordIndex];
76
76
  if (isSystemFieldOperation(targetPath)) {
77
77
  if (isPositionsOperation(fieldIndex)) {
@@ -118,9 +118,9 @@ export default function translateArrayEvent(aiTable, sharedType, event) {
118
118
  }
119
119
  }
120
120
  if (isFieldsTranslate) {
121
- delta.insert?.map((item) => {
121
+ delta.insert?.map((item, index) => {
122
122
  const data = item.toJSON();
123
- const path = translatePositionToPath(aiTable.fields(), data['positions'][activeViewId], activeViewId);
123
+ const path = translatePositionToPath(aiTable.gridData().fields, data['positions'][activeViewId], activeViewId, index);
124
124
  actions.push({
125
125
  type: ActionName.AddField,
126
126
  path,
@@ -186,4 +186,4 @@ export function getRemoveIds(event, type) {
186
186
  });
187
187
  return ids;
188
188
  }
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXRhYmxlL2FycmF5LWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztBQUN6QixPQUFPLEVBQ0gsVUFBVSxFQVViLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxxQ0FBcUMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1SSxPQUFPLEVBQ0gsK0JBQStCLEVBQy9CLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEVBQ25CLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFxQyxjQUFjLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkcsTUFBTSxDQUFDLE9BQU8sVUFBVSxtQkFBbUIsQ0FBQyxPQUFvQixFQUFFLFVBQXNCLEVBQUUsS0FBb0I7SUFDMUcsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsSUFBSSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELE1BQU0sT0FBTyxHQUFvQixF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QUFJLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDbEMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUMsQ0FDSixDQUFDO0lBQ0YsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5pbXBvcnQge1xuICAgIEFjdGlvbk5hbWUsXG4gICAgQUlUYWJsZUFjdGlvbixcbiAgICBBSVRhYmxlVmlldyxcbiAgICBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgQUlWaWV3VGFibGUsXG4gICAgUG9zaXRpb25zLFxuICAgIFNoYXJlZFR5cGUsXG4gICAgU3luY0FycmF5RWxlbWVudCxcbiAgICBTeW5jTWFwRWxlbWVudFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRJZEJ5U3lzdGVtRmllbGRWYWx1ZXMsIGdldFNoYXJlVHlwZU51bWJlclBhdGgsIGdldFRyYWNrYWJsZUVudGl0eUJ5U3lzdGVtRmllbGRWYWx1ZXMsIHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBnZXRQb3NpdGlvbnNCeVN5c3RlbUZpZWxkVmFsdWVzLFxuICAgIGdldFNoYXJlZE1hcFZhbHVlSWQsXG4gICAgZ2V0U2hhcmVkUmVjb3JkLFxuICAgIGdldFNoYXJlZFJlY29yZElkLFxuICAgIGdldFNob3J0SWRCeVN5c3RlbUZpZWxkVmFsdWVzLFxuICAgIGdldFZhbHVlc0J5Q3VzdG9tRmllbGRWYWx1ZXMsXG4gICAgU3lzdGVtRmllbGRJbmRleFxufSBmcm9tICcuLi91dGlscy90cmFuc2xhdGUnO1xuaW1wb3J0IHsgQUlSZWNvcmRGaWVsZElkUGF0aCwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlUXVlcmllcywgSWRQYXRoLCBOdW1iZXJQYXRoIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0cmFuc2xhdGVBcnJheUV2ZW50KGFpVGFibGU6IEFJVmlld1RhYmxlLCBzaGFyZWRUeXBlOiBTaGFyZWRUeXBlLCBldmVudDogWS5ZRXZlbnQ8YW55Pik6IEFJVGFibGVBY3Rpb25bXSB7XG4gICAgbGV0IG9mZnNldCA9IDA7XG4gICAgbGV0IHRhcmdldFBhdGggPSBnZXRTaGFyZVR5cGVOdW1iZXJQYXRoKGV2ZW50LnBhdGgpO1xuICAgIGNvbnN0IGlzUmVjb3Jkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ3JlY29yZHMnKTtcbiAgICBjb25zdCBpc0ZpZWxkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ2ZpZWxkcycpO1xuICAgIGNvbnN0IGlzVmlld3NUcmFuc2xhdGUgPSBldmVudC5wYXRoLmluY2x1ZGVzKCd2aWV3cycpO1xuICAgIGNvbnN0IGFjdGlvbnM6IEFJVGFibGVBY3Rpb25bXSA9IFtdO1xuICAgIGNvbnN0IGFjdGl2ZVZpZXdJZCA9IGFpVGFibGUuYWN0aXZlVmlld0lkKCk7XG5cbiAgICBldmVudC5jaGFuZ2VzLmRlbHRhLmZvckVhY2goKGRlbHRhKSA9PiB7XG4gICAgICAgIGlmICgncmV0YWluJyBpbiBkZWx0YSkge1xuICAgICAgICAgICAgb2Zmc2V0ICs9IGRlbHRhLnJldGFpbiA/PyAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdkZWxldGUnIGluIGRlbHRhKSB7XG4gICAgICAgICAgICBpZiAoaXNBZGRPclJlbW92ZSh0YXJnZXRQYXRoKSkge1xuICAgICAgICAgICAgICAgIGlmIChpc1ZpZXdzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbW92ZVZpZXcgPSBhaVRhYmxlLnZpZXdzKClbb2Zmc2V0XTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbW92ZVZpZXcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5SZW1vdmVWaWV3LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IFtyZW1vdmVWaWV3Ll9pZF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZSA9IGlzUmVjb3Jkc1RyYW5zbGF0ZSA/IEFjdGlvbk5hbWUuUmVtb3ZlUmVjb3JkIDogQWN0aW9uTmFtZS5SZW1vdmVGaWVsZDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlSWRzID0gZ2V0UmVtb3ZlSWRzKGV2ZW50LCB0eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbW92ZUlkcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZUlkcy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoJ2luc2VydCcgaW4gZGVsdGEpIHtcbiAgICAgICAgICAgIGlmIChpc0FycmF5KGRlbHRhLmluc2VydCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNSZWNvcmRzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0FkZE9yUmVtb3ZlKHRhcmdldFBhdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWx0YS5pbnNlcnQ/Lm1hcCgoaXRlbTogWS5BcnJheTxhbnk+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgW3N5c3RlbUZpZWxkVmFsdWVzLCBjdXN0b21GaWVsZFZhbHVlc10gPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IGdldFBvc2l0aW9uc0J5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gcG9zaXRpb25zW2FjdGl2ZVZpZXdJZF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnJlY29yZHMoKSBhcyBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVWaWV3SWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIGFzIE51bWJlclBhdGg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZFJlY29yZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaWQ6IGdldElkQnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG9ydF9pZDogZ2V0U2hvcnRJZEJ5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uZ2V0VHJhY2thYmxlRW50aXR5QnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IGdldFBvc2l0aW9uc0J5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBnZXRWYWx1ZXNCeUN1c3RvbUZpZWxkVmFsdWVzKGN1c3RvbUZpZWxkVmFsdWVzLCBhaVRhYmxlLmZpZWxkcygpIGFzIEFJVGFibGVWaWV3RmllbGRzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hhcmVkUmVjb3JkcyA9IHNoYXJlZFR5cGUuZ2V0KCdyZWNvcmRzJykhIGFzIFkuQXJyYXk8U3luY0FycmF5RWxlbWVudD47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hhcmVkRmllbGRzID0gc2hhcmVkVHlwZS5nZXQoJ2ZpZWxkcycpISBhcyBZLkFycmF5PFN5bmNNYXBFbGVtZW50PjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc3lzdGVtRmllbGRPZmZzZXQgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSB0YXJnZXRQYXRoWzBdIGFzIG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IG9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkID0gKGFpVGFibGUucmVjb3JkcygpIGFzIEFJVGFibGVWaWV3UmVjb3JkcylbcmVjb3JkSW5kZXhdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNTeXN0ZW1GaWVsZE9wZXJhdGlvbih0YXJnZXRQYXRoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzUG9zaXRpb25zT3BlcmF0aW9uKGZpZWxkSW5kZXgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmV3UG9zaXRpb25zOiBQb3NpdGlvbnMgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Bvc2l0aW9uc1trZXldID0gaXRlbVtrZXldO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLlNldFJlY29yZFBvc2l0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW3JlY29yZC5faWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IG5ld1Bvc2l0aW9uc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIOatpOWkhOeahOW+queOr+S8muWMheWQqyB1cGRhdGVkX2F0IOWSjCB1cGRhdGVkX2J5IOWQhOS4gOasoe+8jOi/memHjOWPquWkhOeQhiB1cGRhdGVkX2J5IOWQjOaXtuWMheWQq+S4pOS4quWtl+auteeahOS/ruaUuVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc1VwZGF0ZWRCeU9wZXJhdGlvbihmaWVsZEluZGV4ICsgc3lzdGVtRmllbGRPZmZzZXQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3lzdGVtRmllbGRWYWx1ZXMgPSBnZXRTaGFyZWRSZWNvcmQoc2hhcmVkUmVjb3JkcywgcmVjb3JkSW5kZXgpLmdldCgwKS50b0pTT04oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHVwZGF0ZWRfYXQsIHVwZGF0ZWRfYnkgfSA9IGdldFRyYWNrYWJsZUVudGl0eUJ5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuVXBkYXRlU3lzdGVtRmllbGRWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogW3JlY29yZC5faWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVkSW5mbzogeyB1cGRhdGVkX2F0LCB1cGRhdGVkX2J5IH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3RlbUZpZWxkT2Zmc2V0Kys7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNvcmRJZCA9IGdldFNoYXJlZFJlY29yZElkKHNoYXJlZFJlY29yZHMsIHJlY29yZEluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkSWQgPSBnZXRTaGFyZWRNYXBWYWx1ZUlkKHNoYXJlZEZpZWxkcywgZmllbGRJbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gW3JlY29yZElkLCBmaWVsZElkXSBhcyBBSVJlY29yZEZpZWxkSWRQYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IEFJVGFibGVRdWVyaWVzLmdldEZpZWxkVmFsdWUoYWlUYWJsZSwgcGF0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBUbyBleGNsdWRlIGluc2VydCB0cmlnZ2VyZWQgYnkgZmllbGQgaW5zZXJ0cy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWVsZFZhbHVlICE9PSBpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5VcGRhdGVGaWVsZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdGaWVsZFZhbHVlOiBpdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7fVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc0ZpZWxkc1RyYW5zbGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICBkZWx0YS5pbnNlcnQ/Lm1hcCgoaXRlbTogWS5NYXA8YW55PikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gdHJhbnNsYXRlUG9zaXRpb25Ub1BhdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWlUYWJsZS5maWVsZHMoKSBhcyBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhWydwb3NpdGlvbnMnXVthY3RpdmVWaWV3SWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZVZpZXdJZFxuICAgICAgICAgICAgICAgICAgICAgICAgKSBhcyBOdW1iZXJQYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZEZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGRhdGEgYXMgQUlUYWJsZUZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc1ZpZXdzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBZLk1hcDxhbnk+LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuQWRkVmlldyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbb2Zmc2V0ICsgaW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXc6IGRhdGEgYXMgQUlUYWJsZVZpZXdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYWN0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWRkT3JSZW1vdmUodGFyZ2V0UGF0aDogbnVtYmVyW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGFyZ2V0UGF0aC5sZW5ndGggPT09IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N5c3RlbUZpZWxkT3BlcmF0aW9uKHRhcmdldFBhdGg6IG51bWJlcltdKTogYm9vbGVhbiB7XG4gICAgaWYgKHRhcmdldFBhdGgubGVuZ3RoID09PSAyICYmIHRhcmdldFBhdGhbMV0gPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ3VzdG9tRmllbGRPcGVyYXRpb24odGFyZ2V0UGF0aDogbnVtYmVyW10pOiBib29sZWFuIHtcbiAgICBpZiAodGFyZ2V0UGF0aC5sZW5ndGggPT09IDIgJiYgdGFyZ2V0UGF0aFsxXSA9PT0gMSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQb3NpdGlvbnNPcGVyYXRpb24oZmllbGRJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpZWxkSW5kZXggPT09IFN5c3RlbUZpZWxkSW5kZXguUG9zaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVcGRhdGVkQnlPcGVyYXRpb24oZmllbGRJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpZWxkSW5kZXggPT09IFN5c3RlbUZpZWxkSW5kZXguVXBkYXRlZEJ5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVtb3ZlSWRzKGV2ZW50OiBZLllFdmVudDxhbnk+LCB0eXBlOiBBY3Rpb25OYW1lLlJlbW92ZUZpZWxkIHwgQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQpIHtcbiAgICBjb25zdCBpZHM6IFtzdHJpbmddW10gPSBbXTtcbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGlkcztcbiAgICB9XG5cbiAgICBZLml0ZXJhdGVEZWxldGVkU3RydWN0cyhcbiAgICAgICAgZXZlbnQudHJhbnNhY3Rpb24sXG4gICAgICAgIGV2ZW50LnRyYW5zYWN0aW9uLmRlbGV0ZVNldCxcbiAgICAgICAgLy8gQHBhcmFtIHtJdGVtfEdDfSBpdGVtXG4gICAgICAgIChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIFkuSXRlbSAmJiBpdGVtLmRlbGV0ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gQWN0aW9uTmFtZS5SZW1vdmVGaWVsZCAmJiBpdGVtLnBhcmVudFN1YiA9PT0gJ19pZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWRzLnB1c2goaXRlbS5jb250ZW50LmdldENvbnRlbnQoKSBhcyBJZFBhdGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IGl0ZW0uY29udGVudC5nZXRDb250ZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250ZW50WzBdICYmIGNvbnRlbnRbMF1bJ19pZCddKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZHMucHVzaChbY29udGVudFswXVsnX2lkJ11dKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIGlkcztcbn1cbiJdfQ==
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9zdGF0ZS9zcmMvc2hhcmVkL3RvLXRhYmxlL2FycmF5LWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQztBQUN6QixPQUFPLEVBQ0gsVUFBVSxFQVViLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxxQ0FBcUMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1SSxPQUFPLEVBQ0gsK0JBQStCLEVBQy9CLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEVBQ25CLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFxQyxjQUFjLEVBQXNCLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkcsTUFBTSxDQUFDLE9BQU8sVUFBVSxtQkFBbUIsQ0FBQyxPQUFvQixFQUFFLFVBQXNCLEVBQUUsS0FBb0I7SUFDMUcsSUFBSSxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsSUFBSSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BELE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELE1BQU0sT0FBTyxHQUFvQixFQUFFLENBQUM7SUFDcEMsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBRTVDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ2xDLElBQUksUUFBUSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxRQUFRLElBQUksS0FBSyxFQUFFLENBQUM7WUFDcEIsSUFBSSxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO29CQUNuQixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzNDLElBQUksVUFBVSxFQUFFLENBQUM7d0JBQ2IsT0FBTyxDQUFDLElBQUksQ0FBQzs0QkFDVCxJQUFJLEVBQUUsVUFBVSxDQUFDLFVBQVU7NEJBQzNCLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7eUJBQ3pCLENBQUMsQ0FBQztvQkFDUCxDQUFDO2dCQUNMLENBQUM7cUJBQU0sQ0FBQztvQkFDSixNQUFNLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztvQkFDbkYsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDNUMsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQ25CLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTs0QkFDdkIsT0FBTyxDQUFDLElBQUksQ0FBQztnQ0FDVCxJQUFJO2dDQUNKLElBQUk7NkJBQ1AsQ0FBQyxDQUFDO3dCQUNQLENBQUMsQ0FBQyxDQUFDO29CQUNQLENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxRQUFRLElBQUksS0FBSyxFQUFFLENBQUM7WUFDcEIsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQzt3QkFDNUIsS0FBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFrQixFQUFFLEVBQUU7NEJBQ3JDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzs0QkFDM0IsTUFBTSxDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDOzRCQUNwRCxNQUFNLFNBQVMsR0FBRywrQkFBK0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDOzRCQUNyRSxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7NEJBQ3pDLE1BQU0sSUFBSSxHQUFHLHVCQUF1QixDQUNoQyxPQUFPLENBQUMsT0FBTyxFQUF3QixFQUN2QyxRQUFRLEVBQ1IsWUFBWSxDQUNELENBQUM7NEJBRWhCLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0NBQ1QsSUFBSSxFQUFFLFVBQVUsQ0FBQyxTQUFTO2dDQUMxQixJQUFJLEVBQUUsSUFBSTtnQ0FDVixNQUFNLEVBQUU7b0NBQ0osR0FBRyxFQUFFLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDO29DQUNoRCxRQUFRLEVBQUUsNkJBQTZCLENBQUMsaUJBQWlCLENBQUM7b0NBQzFELEdBQUcscUNBQXFDLENBQUMsaUJBQWlCLENBQUM7b0NBQzNELFNBQVMsRUFBRSwrQkFBK0IsQ0FBQyxpQkFBaUIsQ0FBQztvQ0FDN0QsTUFBTSxFQUFFLDRCQUE0QixDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUEyQixDQUFDO2lDQUMxRzs2QkFDSixDQUFDLENBQUM7d0JBQ1AsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsQ0FBQzt5QkFBTSxDQUFDO3dCQUNKLElBQUksQ0FBQzs0QkFDRCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBK0IsQ0FBQzs0QkFDOUUsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQTZCLENBQUM7NEJBQzFFLElBQUksaUJBQWlCLEdBQUcsQ0FBQyxDQUFDOzRCQUMxQixLQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxLQUFhLEVBQUUsRUFBRTtnQ0FDM0MsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBVyxDQUFDO2dDQUM1QyxNQUFNLFVBQVUsR0FBRyxNQUFNLEdBQUcsS0FBSyxDQUFDO2dDQUNsQyxNQUFNLE1BQU0sR0FBSSxPQUFPLENBQUMsT0FBTyxFQUF5QixDQUFDLFdBQVcsQ0FBQyxDQUFDO2dDQUN0RSxJQUFJLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7b0NBQ3JDLElBQUksb0JBQW9CLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQzt3Q0FDbkMsTUFBTSxZQUFZLEdBQWMsRUFBRSxDQUFDO3dDQUNuQyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDOzRDQUNyQixZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dDQUNsQyxDQUFDO3dDQUNELE9BQU8sQ0FBQyxJQUFJLENBQUM7NENBQ1QsSUFBSSxFQUFFLFVBQVUsQ0FBQyxrQkFBa0I7NENBQ25DLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7NENBQ2xCLFNBQVMsRUFBRSxZQUFZO3lDQUMxQixDQUFDLENBQUM7d0NBQ0gsb0VBQW9FO29DQUN4RSxDQUFDO3lDQUFNLElBQUksb0JBQW9CLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLEVBQUUsQ0FBQzt3Q0FDOUQsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3Q0FDdEYsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxxQ0FBcUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO3dDQUM1RixPQUFPLENBQUMsSUFBSSxDQUFDOzRDQUNULElBQUksRUFBRSxVQUFVLENBQUMsc0JBQXNCOzRDQUN2QyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDOzRDQUNsQixXQUFXLEVBQUUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFO3lDQUMxQyxDQUFDLENBQUM7b0NBQ1AsQ0FBQztvQ0FDRCxpQkFBaUIsRUFBRSxDQUFDO2dDQUN4QixDQUFDO3FDQUFNLENBQUM7b0NBQ0osTUFBTSxRQUFRLEdBQUcsaUJBQWlCLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO29DQUMvRCxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7b0NBQzlELE1BQU0sSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBd0IsQ0FBQztvQ0FDeEQsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7b0NBQy9ELGdEQUFnRDtvQ0FDaEQsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7d0NBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUM7NENBQ1QsSUFBSSxFQUFFLFVBQVUsQ0FBQyxnQkFBZ0I7NENBQ2pDLElBQUk7NENBQ0osVUFBVTs0Q0FDVixhQUFhLEVBQUUsSUFBSTt5Q0FDdEIsQ0FBQyxDQUFDO29DQUNQLENBQUM7Z0NBQ0wsQ0FBQzs0QkFDTCxDQUFDLENBQUMsQ0FBQzt3QkFDUCxDQUFDO3dCQUFDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQSxDQUFDO29CQUN0QixDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO29CQUNwQixLQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQWdCLEVBQUUsS0FBSyxFQUFFLEVBQUU7d0JBQzFDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDM0IsTUFBTSxJQUFJLEdBQUcsdUJBQXVCLENBQ2hDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUEyQixFQUM5QyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQy9CLFlBQVksRUFDWixLQUFLLENBQ00sQ0FBQzt3QkFDaEIsT0FBTyxDQUFDLElBQUksQ0FBQzs0QkFDVCxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVE7NEJBQ3pCLElBQUk7NEJBQ0osS0FBSyxFQUFFLElBQW9CO3lCQUM5QixDQUFDLENBQUM7b0JBQ1AsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztnQkFDRCxJQUFJLGdCQUFnQixFQUFFLENBQUM7b0JBQ25CLEtBQUssQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBZ0IsRUFBRSxLQUFLLEVBQUUsRUFBRTt3QkFDMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO3dCQUMzQixPQUFPLENBQUMsSUFBSSxDQUFDOzRCQUNULElBQUksRUFBRSxVQUFVLENBQUMsT0FBTzs0QkFDeEIsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQzs0QkFDdEIsSUFBSSxFQUFFLElBQW1CO3lCQUM1QixDQUFDLENBQUM7b0JBQ1AsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE9BQU8sQ0FBQztBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxVQUFvQjtJQUM5QyxPQUFPLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsVUFBb0I7SUFDdkQsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsVUFBb0I7SUFDdkQsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsVUFBa0I7SUFDbkQsT0FBTyxVQUFVLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxDQUFDO0FBQ3JELENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsVUFBa0I7SUFDbkQsT0FBTyxVQUFVLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxDQUFDO0FBQ3JELENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEtBQW9CLEVBQUUsSUFBc0Q7SUFDckcsTUFBTSxHQUFHLEdBQWUsRUFBRSxDQUFDO0lBQzNCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNSLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVELENBQUMsQ0FBQyxxQkFBcUIsQ0FDbkIsS0FBSyxDQUFDLFdBQVcsRUFDakIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTO0lBQzNCLHdCQUF3QjtJQUN4QixDQUFDLElBQUksRUFBRSxFQUFFO1FBQ0wsSUFBSSxJQUFJLFlBQVksQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDekMsSUFBSSxJQUFJLEtBQUssVUFBVSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUM5RCxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFZLENBQUMsQ0FBQztZQUNsRCxDQUFDO1lBQ0QsSUFBSSxJQUFJLEtBQUssVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDbEMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUMsQ0FDSixDQUFDO0lBQ0YsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5pbXBvcnQge1xuICAgIEFjdGlvbk5hbWUsXG4gICAgQUlUYWJsZUFjdGlvbixcbiAgICBBSVRhYmxlVmlldyxcbiAgICBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgQUlWaWV3VGFibGUsXG4gICAgUG9zaXRpb25zLFxuICAgIFNoYXJlZFR5cGUsXG4gICAgU3luY0FycmF5RWxlbWVudCxcbiAgICBTeW5jTWFwRWxlbWVudFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBnZXRJZEJ5U3lzdGVtRmllbGRWYWx1ZXMsIGdldFNoYXJlVHlwZU51bWJlclBhdGgsIGdldFRyYWNrYWJsZUVudGl0eUJ5U3lzdGVtRmllbGRWYWx1ZXMsIHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHtcbiAgICBnZXRQb3NpdGlvbnNCeVN5c3RlbUZpZWxkVmFsdWVzLFxuICAgIGdldFNoYXJlZE1hcFZhbHVlSWQsXG4gICAgZ2V0U2hhcmVkUmVjb3JkLFxuICAgIGdldFNoYXJlZFJlY29yZElkLFxuICAgIGdldFNob3J0SWRCeVN5c3RlbUZpZWxkVmFsdWVzLFxuICAgIGdldFZhbHVlc0J5Q3VzdG9tRmllbGRWYWx1ZXMsXG4gICAgU3lzdGVtRmllbGRJbmRleFxufSBmcm9tICcuLi91dGlscy90cmFuc2xhdGUnO1xuaW1wb3J0IHsgQUlSZWNvcmRGaWVsZElkUGF0aCwgQUlUYWJsZUZpZWxkLCBBSVRhYmxlUXVlcmllcywgSWRQYXRoLCBOdW1iZXJQYXRoIH0gZnJvbSAnQGFpLXRhYmxlL2dyaWQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0cmFuc2xhdGVBcnJheUV2ZW50KGFpVGFibGU6IEFJVmlld1RhYmxlLCBzaGFyZWRUeXBlOiBTaGFyZWRUeXBlLCBldmVudDogWS5ZRXZlbnQ8YW55Pik6IEFJVGFibGVBY3Rpb25bXSB7XG4gICAgbGV0IG9mZnNldCA9IDA7XG4gICAgbGV0IHRhcmdldFBhdGggPSBnZXRTaGFyZVR5cGVOdW1iZXJQYXRoKGV2ZW50LnBhdGgpO1xuICAgIGNvbnN0IGlzUmVjb3Jkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ3JlY29yZHMnKTtcbiAgICBjb25zdCBpc0ZpZWxkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ2ZpZWxkcycpO1xuICAgIGNvbnN0IGlzVmlld3NUcmFuc2xhdGUgPSBldmVudC5wYXRoLmluY2x1ZGVzKCd2aWV3cycpO1xuICAgIGNvbnN0IGFjdGlvbnM6IEFJVGFibGVBY3Rpb25bXSA9IFtdO1xuICAgIGNvbnN0IGFjdGl2ZVZpZXdJZCA9IGFpVGFibGUuYWN0aXZlVmlld0lkKCk7XG5cbiAgICBldmVudC5jaGFuZ2VzLmRlbHRhLmZvckVhY2goKGRlbHRhKSA9PiB7XG4gICAgICAgIGlmICgncmV0YWluJyBpbiBkZWx0YSkge1xuICAgICAgICAgICAgb2Zmc2V0ICs9IGRlbHRhLnJldGFpbiA/PyAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCdkZWxldGUnIGluIGRlbHRhKSB7XG4gICAgICAgICAgICBpZiAoaXNBZGRPclJlbW92ZSh0YXJnZXRQYXRoKSkge1xuICAgICAgICAgICAgICAgIGlmIChpc1ZpZXdzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlbW92ZVZpZXcgPSBhaVRhYmxlLnZpZXdzKClbb2Zmc2V0XTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbW92ZVZpZXcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5SZW1vdmVWaWV3LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IFtyZW1vdmVWaWV3Ll9pZF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdHlwZSA9IGlzUmVjb3Jkc1RyYW5zbGF0ZSA/IEFjdGlvbk5hbWUuUmVtb3ZlUmVjb3JkIDogQWN0aW9uTmFtZS5SZW1vdmVGaWVsZDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtb3ZlSWRzID0gZ2V0UmVtb3ZlSWRzKGV2ZW50LCB0eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbW92ZUlkcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZUlkcy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoJ2luc2VydCcgaW4gZGVsdGEpIHtcbiAgICAgICAgICAgIGlmIChpc0FycmF5KGRlbHRhLmluc2VydCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXNSZWNvcmRzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0FkZE9yUmVtb3ZlKHRhcmdldFBhdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWx0YS5pbnNlcnQ/Lm1hcCgoaXRlbTogWS5BcnJheTxhbnk+KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgW3N5c3RlbUZpZWxkVmFsdWVzLCBjdXN0b21GaWVsZFZhbHVlc10gPSBkYXRhO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IGdldFBvc2l0aW9uc0J5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gcG9zaXRpb25zW2FjdGl2ZVZpZXdJZF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IHRyYW5zbGF0ZVBvc2l0aW9uVG9QYXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhaVRhYmxlLnJlY29yZHMoKSBhcyBBSVRhYmxlVmlld1JlY29yZHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3RpdmVWaWV3SWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApIGFzIE51bWJlclBhdGg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZFJlY29yZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfaWQ6IGdldElkQnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG9ydF9pZDogZ2V0U2hvcnRJZEJ5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uZ2V0VHJhY2thYmxlRW50aXR5QnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbnM6IGdldFBvc2l0aW9uc0J5U3lzdGVtRmllbGRWYWx1ZXMoc3lzdGVtRmllbGRWYWx1ZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzOiBnZXRWYWx1ZXNCeUN1c3RvbUZpZWxkVmFsdWVzKGN1c3RvbUZpZWxkVmFsdWVzLCBhaVRhYmxlLmdyaWREYXRhKCkuZmllbGRzIGFzIEFJVGFibGVWaWV3RmllbGRzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hhcmVkUmVjb3JkcyA9IHNoYXJlZFR5cGUuZ2V0KCdyZWNvcmRzJykhIGFzIFkuQXJyYXk8U3luY0FycmF5RWxlbWVudD47XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hhcmVkRmllbGRzID0gc2hhcmVkVHlwZS5nZXQoJ2ZpZWxkcycpISBhcyBZLkFycmF5PFN5bmNNYXBFbGVtZW50PjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgc3lzdGVtRmllbGRPZmZzZXQgPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVjb3JkSW5kZXggPSB0YXJnZXRQYXRoWzBdIGFzIG51bWJlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRJbmRleCA9IG9mZnNldCArIGluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZWNvcmQgPSAoYWlUYWJsZS5yZWNvcmRzKCkgYXMgQUlUYWJsZVZpZXdSZWNvcmRzKVtyZWNvcmRJbmRleF07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc1N5c3RlbUZpZWxkT3BlcmF0aW9uKHRhcmdldFBhdGgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNQb3NpdGlvbnNPcGVyYXRpb24oZmllbGRJbmRleCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdQb3NpdGlvbnM6IFBvc2l0aW9ucyA9IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UG9zaXRpb25zW2tleV0gPSBpdGVtW2tleV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuU2V0UmVjb3JkUG9zaXRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbcmVjb3JkLl9pZF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uczogbmV3UG9zaXRpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g5q2k5aSE55qE5b6q546v5Lya5YyF5ZCrIHVwZGF0ZWRfYXQg5ZKMIHVwZGF0ZWRfYnkg5ZCE5LiA5qyh77yM6L+Z6YeM5Y+q5aSE55CGIHVwZGF0ZWRfYnkg5ZCM5pe25YyF5ZCr5Lik5Liq5a2X5q6155qE5L+u5pS5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzVXBkYXRlZEJ5T3BlcmF0aW9uKGZpZWxkSW5kZXggKyBzeXN0ZW1GaWVsZE9mZnNldCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzeXN0ZW1GaWVsZFZhbHVlcyA9IGdldFNoYXJlZFJlY29yZChzaGFyZWRSZWNvcmRzLCByZWNvcmRJbmRleCkuZ2V0KDApLnRvSlNPTigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgdXBkYXRlZF9hdCwgdXBkYXRlZF9ieSB9ID0gZ2V0VHJhY2thYmxlRW50aXR5QnlTeXN0ZW1GaWVsZFZhbHVlcyhzeXN0ZW1GaWVsZFZhbHVlcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogQWN0aW9uTmFtZS5VcGRhdGVTeXN0ZW1GaWVsZFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbcmVjb3JkLl9pZF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRJbmZvOiB7IHVwZGF0ZWRfYXQsIHVwZGF0ZWRfYnkgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtRmllbGRPZmZzZXQrKztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlY29yZElkID0gZ2V0U2hhcmVkUmVjb3JkSWQoc2hhcmVkUmVjb3JkcywgcmVjb3JkSW5kZXgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRJZCA9IGdldFNoYXJlZE1hcFZhbHVlSWQoc2hhcmVkRmllbGRzLCBmaWVsZEluZGV4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBbcmVjb3JkSWQsIGZpZWxkSWRdIGFzIEFJUmVjb3JkRmllbGRJZFBhdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gQUlUYWJsZVF1ZXJpZXMuZ2V0RmllbGRWYWx1ZShhaVRhYmxlLCBwYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRvIGV4Y2x1ZGUgaW5zZXJ0IHRyaWdnZXJlZCBieSBmaWVsZCBpbnNlcnRzLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkVmFsdWUgIT09IGl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLlVwZGF0ZUZpZWxkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkVmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld0ZpZWxkVmFsdWU6IGl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHt9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGlzRmllbGRzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBZLk1hcDxhbnk+LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gdHJhbnNsYXRlUG9zaXRpb25Ub1BhdGgoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWlUYWJsZS5ncmlkRGF0YSgpLmZpZWxkcyBhcyBBSVRhYmxlVmlld0ZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhWydwb3NpdGlvbnMnXVthY3RpdmVWaWV3SWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZVZpZXdJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgKSBhcyBOdW1iZXJQYXRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBY3Rpb25OYW1lLkFkZEZpZWxkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQ6IGRhdGEgYXMgQUlUYWJsZUZpZWxkXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChpc1ZpZXdzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlbHRhLmluc2VydD8ubWFwKChpdGVtOiBZLk1hcDxhbnk+LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGl0ZW0udG9KU09OKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb25zLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFjdGlvbk5hbWUuQWRkVmlldyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBbb2Zmc2V0ICsgaW5kZXhdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXc6IGRhdGEgYXMgQUlUYWJsZVZpZXdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYWN0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQWRkT3JSZW1vdmUodGFyZ2V0UGF0aDogbnVtYmVyW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGFyZ2V0UGF0aC5sZW5ndGggPT09IDA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N5c3RlbUZpZWxkT3BlcmF0aW9uKHRhcmdldFBhdGg6IG51bWJlcltdKTogYm9vbGVhbiB7XG4gICAgaWYgKHRhcmdldFBhdGgubGVuZ3RoID09PSAyICYmIHRhcmdldFBhdGhbMV0gPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ3VzdG9tRmllbGRPcGVyYXRpb24odGFyZ2V0UGF0aDogbnVtYmVyW10pOiBib29sZWFuIHtcbiAgICBpZiAodGFyZ2V0UGF0aC5sZW5ndGggPT09IDIgJiYgdGFyZ2V0UGF0aFsxXSA9PT0gMSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQb3NpdGlvbnNPcGVyYXRpb24oZmllbGRJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpZWxkSW5kZXggPT09IFN5c3RlbUZpZWxkSW5kZXguUG9zaXRpb25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVcGRhdGVkQnlPcGVyYXRpb24oZmllbGRJbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZpZWxkSW5kZXggPT09IFN5c3RlbUZpZWxkSW5kZXguVXBkYXRlZEJ5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVtb3ZlSWRzKGV2ZW50OiBZLllFdmVudDxhbnk+LCB0eXBlOiBBY3Rpb25OYW1lLlJlbW92ZUZpZWxkIHwgQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQpIHtcbiAgICBjb25zdCBpZHM6IFtzdHJpbmddW10gPSBbXTtcbiAgICBpZiAoIXR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGlkcztcbiAgICB9XG5cbiAgICBZLml0ZXJhdGVEZWxldGVkU3RydWN0cyhcbiAgICAgICAgZXZlbnQudHJhbnNhY3Rpb24sXG4gICAgICAgIGV2ZW50LnRyYW5zYWN0aW9uLmRlbGV0ZVNldCxcbiAgICAgICAgLy8gQHBhcmFtIHtJdGVtfEdDfSBpdGVtXG4gICAgICAgIChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbSBpbnN0YW5jZW9mIFkuSXRlbSAmJiBpdGVtLmRlbGV0ZWQpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gQWN0aW9uTmFtZS5SZW1vdmVGaWVsZCAmJiBpdGVtLnBhcmVudFN1YiA9PT0gJ19pZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWRzLnB1c2goaXRlbS5jb250ZW50LmdldENvbnRlbnQoKSBhcyBJZFBhdGgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodHlwZSA9PT0gQWN0aW9uTmFtZS5SZW1vdmVSZWNvcmQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IGl0ZW0uY29udGVudC5nZXRDb250ZW50KCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb250ZW50WzBdICYmIGNvbnRlbnRbMF1bJ19pZCddKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZHMucHVzaChbY29udGVudFswXVsnX2lkJ11dKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICk7XG4gICAgcmV0dXJuIGlkcztcbn1cbiJdfQ==
@@ -11,7 +11,7 @@ export default function translateMapEvent(aiTable, sharedType, event) {
11
11
  if (isFieldsTranslate) {
12
12
  const field = sharedType.get('fields')?.get(targetPath);
13
13
  const fieldId = field && field.get('_id');
14
- targetElement = fieldId && aiTable.fields().find((item) => item._id === field.get('_id'));
14
+ targetElement = fieldId && aiTable.gridData().fields.find((item) => item._id === field.get('_id'));
15
15
  }
16
16
  if (isViewTranslate) {
17
17
  targetElement = aiTable.views()[targetPath];
@@ -46,4 +46,4 @@ export default function translateMapEvent(aiTable, sharedType, event) {
46
46
  }
47
47
  return [];
48
48
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3NoYXJlZC90by10YWJsZS9tYXAtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7QUFDekIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQXVFLE1BQU0sYUFBYSxDQUFDO0FBRTlHLE1BQU0sQ0FBQyxPQUFPLFVBQVUsaUJBQWlCLENBQ3JDLE9BQW9CLEVBQ3BCLFVBQXNCLEVBQ3RCLEtBQTJCO0lBRTNCLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFckQsSUFBSSxlQUFlLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBYSxDQUFDO1FBQ2xFLElBQUksYUFBYSxDQUFDO1FBQ2xCLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLE1BQW9CLENBQUM7UUFDckQsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBbUIsQ0FBQztZQUMxRSxNQUFNLE9BQU8sR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQyxhQUFhLEdBQUcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzlGLENBQUM7UUFFRCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLGFBQWEsR0FBRyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUVELElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsTUFBTSxVQUFVLEdBQXVFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUNoSSxNQUFNLGFBQWEsR0FBd0MsRUFBRSxDQUFDO1lBQzlELE1BQU0sVUFBVSxHQUF3QyxFQUFFLENBQUM7WUFFM0QsTUFBTSxPQUFPLEdBQW9CLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFO2dCQUM1RCxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxZQUFZLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDN0csQ0FBQyxDQUFDLENBQUM7WUFFSCxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sQ0FBQyxHQUFHLEdBQXlDLENBQUM7Z0JBQ3BELGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDN0IsQ0FBQztZQUVELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRyxhQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sQ0FBQyxHQUFHLEdBQXlDLENBQUM7Z0JBQ3BELFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDMUIsQ0FBQztZQUNELE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO1lBQzFFLE9BQU87Z0JBQ0g7b0JBQ0ksSUFBSTtvQkFDSixVQUFVLEVBQUUsVUFBVTtvQkFDdEIsYUFBYSxFQUFFLGFBQWE7b0JBQzVCLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUM7aUJBQzVCO2FBQ2UsQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFJVGFibGVGaWVsZCB9IGZyb20gJ0BhaS10YWJsZS9ncmlkJztcbmltcG9ydCAqIGFzIFkgZnJvbSAneWpzJztcbmltcG9ydCB7IGdldFNoYXJlVHlwZU51bWJlclBhdGggfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBBY3Rpb25OYW1lLCBBSVRhYmxlQWN0aW9uLCBBSVRhYmxlVmlldywgQUlWaWV3VGFibGUsIFNoYXJlZFR5cGUsIFN5bmNNYXBFbGVtZW50IH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB0cmFuc2xhdGVNYXBFdmVudChcbiAgICBhaVRhYmxlOiBBSVZpZXdUYWJsZSxcbiAgICBzaGFyZWRUeXBlOiBTaGFyZWRUeXBlLFxuICAgIGV2ZW50OiBZLllNYXBFdmVudDx1bmtub3duPlxuKTogQUlUYWJsZUFjdGlvbltdIHtcbiAgICBjb25zdCBpc0ZpZWxkc1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ2ZpZWxkcycpO1xuICAgIGNvbnN0IGlzVmlld1RyYW5zbGF0ZSA9IGV2ZW50LnBhdGguaW5jbHVkZXMoJ3ZpZXdzJyk7XG5cbiAgICBpZiAoaXNWaWV3VHJhbnNsYXRlIHx8IGlzRmllbGRzVHJhbnNsYXRlKSB7XG4gICAgICAgIGxldCBbdGFyZ2V0UGF0aF0gPSBnZXRTaGFyZVR5cGVOdW1iZXJQYXRoKGV2ZW50LnBhdGgpIGFzIFtudW1iZXJdO1xuICAgICAgICBsZXQgdGFyZ2V0RWxlbWVudDtcbiAgICAgICAgY29uc3QgdGFyZ2V0U3luY0VsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgU2hhcmVkVHlwZTtcbiAgICAgICAgaWYgKGlzRmllbGRzVHJhbnNsYXRlKSB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZCA9IHNoYXJlZFR5cGUuZ2V0KCdmaWVsZHMnKT8uZ2V0KHRhcmdldFBhdGgpIGFzIFN5bmNNYXBFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgZmllbGRJZCA9IGZpZWxkICYmIGZpZWxkLmdldCgnX2lkJyk7XG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50ID0gZmllbGRJZCAmJiBhaVRhYmxlLmZpZWxkcygpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uX2lkID09PSBmaWVsZC5nZXQoJ19pZCcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc1ZpZXdUcmFuc2xhdGUpIHtcbiAgICAgICAgICAgIHRhcmdldEVsZW1lbnQgPSBhaVRhYmxlLnZpZXdzKClbdGFyZ2V0UGF0aF07XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3Qga2V5Q2hhbmdlczogW3N0cmluZywgeyBhY3Rpb246ICdhZGQnIHwgJ3VwZGF0ZScgfCAnZGVsZXRlJzsgb2xkVmFsdWU6IGFueSB9XVtdID0gQXJyYXkuZnJvbShldmVudC5jaGFuZ2VzLmtleXMuZW50cmllcygpKTtcbiAgICAgICAgICAgIGNvbnN0IG5ld1Byb3BlcnRpZXM6IFBhcnRpYWw8QUlUYWJsZVZpZXcgfCBBSVRhYmxlRmllbGQ+ID0ge307XG4gICAgICAgICAgICBjb25zdCBwcm9wZXJ0aWVzOiBQYXJ0aWFsPEFJVGFibGVWaWV3IHwgQUlUYWJsZUZpZWxkPiA9IHt9O1xuXG4gICAgICAgICAgICBjb25zdCBlbnRyaWVzOiBbc3RyaW5nLCBhbnldW10gPSBrZXlDaGFuZ2VzLm1hcCgoW2tleSwgaW5mb10pID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRhcmdldFN5bmNFbGVtZW50LmdldChrZXkpO1xuICAgICAgICAgICAgICAgIHJldHVybiBba2V5LCBpbmZvLmFjdGlvbiA9PT0gJ2RlbGV0ZScgPyBudWxsIDogdmFsdWUgaW5zdGFuY2VvZiBZLkFic3RyYWN0VHlwZSA/IHZhbHVlLnRvSlNPTigpIDogdmFsdWVdO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIGVudHJpZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBrID0ga2V5IGFzIGtleW9mIChBSVRhYmxlVmlldyB8IEFJVGFibGVGaWVsZCk7XG4gICAgICAgICAgICAgICAgbmV3UHJvcGVydGllc1trXSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBvbGRFbnRyaWVzID0ga2V5Q2hhbmdlcy5tYXAoKFtrZXldKSA9PiBba2V5LCAodGFyZ2V0RWxlbWVudCBhcyBhbnkpW2tleV1dKTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIG9sZEVudHJpZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBrID0ga2V5IGFzIGtleW9mIChBSVRhYmxlVmlldyB8IEFJVGFibGVGaWVsZCk7XG4gICAgICAgICAgICAgICAgcHJvcGVydGllc1trXSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgdHlwZSA9IGlzRmllbGRzVHJhbnNsYXRlID8gQWN0aW9uTmFtZS5TZXRGaWVsZCA6IEFjdGlvbk5hbWUuU2V0VmlldztcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzOiBwcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICAgICAgICBuZXdQcm9wZXJ0aWVzOiBuZXdQcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBbdGFyZ2V0RWxlbWVudC5faWRdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSBhcyBBSVRhYmxlQWN0aW9uW107XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtdO1xufVxuIl19
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3RhdGUvc3JjL3NoYXJlZC90by10YWJsZS9tYXAtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUM7QUFDekIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQXVFLE1BQU0sYUFBYSxDQUFDO0FBRTlHLE1BQU0sQ0FBQyxPQUFPLFVBQVUsaUJBQWlCLENBQUMsT0FBb0IsRUFBRSxVQUFzQixFQUFFLEtBQTJCO0lBQy9HLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEQsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFckQsSUFBSSxlQUFlLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsc0JBQXNCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBYSxDQUFDO1FBQ2xFLElBQUksYUFBYSxDQUFDO1FBQ2xCLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLE1BQW9CLENBQUM7UUFDckQsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBbUIsQ0FBQztZQUMxRSxNQUFNLE9BQU8sR0FBRyxLQUFLLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQyxhQUFhLEdBQUcsT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN2RyxDQUFDO1FBRUQsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNsQixhQUFhLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sVUFBVSxHQUF1RSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDaEksTUFBTSxhQUFhLEdBQXdDLEVBQUUsQ0FBQztZQUM5RCxNQUFNLFVBQVUsR0FBd0MsRUFBRSxDQUFDO1lBRTNELE1BQU0sT0FBTyxHQUFvQixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtnQkFDNUQsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN6QyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssWUFBWSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdHLENBQUMsQ0FBQyxDQUFDO1lBRUgsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUNqQyxNQUFNLENBQUMsR0FBRyxHQUF5QyxDQUFDO2dCQUNwRCxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzdCLENBQUM7WUFFRCxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUcsYUFBcUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakYsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLENBQUMsR0FBRyxHQUF5QyxDQUFDO2dCQUNwRCxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzFCLENBQUM7WUFDRCxNQUFNLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztZQUMxRSxPQUFPO2dCQUNIO29CQUNJLElBQUk7b0JBQ0osVUFBVSxFQUFFLFVBQVU7b0JBQ3RCLGFBQWEsRUFBRSxhQUFhO29CQUM1QixJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO2lCQUM1QjthQUNlLENBQUM7UUFDekIsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBSVRhYmxlRmllbGQgfSBmcm9tICdAYWktdGFibGUvZ3JpZCc7XG5pbXBvcnQgKiBhcyBZIGZyb20gJ3lqcyc7XG5pbXBvcnQgeyBnZXRTaGFyZVR5cGVOdW1iZXJQYXRoIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgQWN0aW9uTmFtZSwgQUlUYWJsZUFjdGlvbiwgQUlUYWJsZVZpZXcsIEFJVmlld1RhYmxlLCBTaGFyZWRUeXBlLCBTeW5jTWFwRWxlbWVudCB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdHJhbnNsYXRlTWFwRXZlbnQoYWlUYWJsZTogQUlWaWV3VGFibGUsIHNoYXJlZFR5cGU6IFNoYXJlZFR5cGUsIGV2ZW50OiBZLllNYXBFdmVudDx1bmtub3duPik6IEFJVGFibGVBY3Rpb25bXSB7XG4gICAgY29uc3QgaXNGaWVsZHNUcmFuc2xhdGUgPSBldmVudC5wYXRoLmluY2x1ZGVzKCdmaWVsZHMnKTtcbiAgICBjb25zdCBpc1ZpZXdUcmFuc2xhdGUgPSBldmVudC5wYXRoLmluY2x1ZGVzKCd2aWV3cycpO1xuXG4gICAgaWYgKGlzVmlld1RyYW5zbGF0ZSB8fCBpc0ZpZWxkc1RyYW5zbGF0ZSkge1xuICAgICAgICBsZXQgW3RhcmdldFBhdGhdID0gZ2V0U2hhcmVUeXBlTnVtYmVyUGF0aChldmVudC5wYXRoKSBhcyBbbnVtYmVyXTtcbiAgICAgICAgbGV0IHRhcmdldEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHRhcmdldFN5bmNFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIFNoYXJlZFR5cGU7XG4gICAgICAgIGlmIChpc0ZpZWxkc1RyYW5zbGF0ZSkge1xuICAgICAgICAgICAgY29uc3QgZmllbGQgPSBzaGFyZWRUeXBlLmdldCgnZmllbGRzJyk/LmdldCh0YXJnZXRQYXRoKSBhcyBTeW5jTWFwRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkSWQgPSBmaWVsZCAmJiBmaWVsZC5nZXQoJ19pZCcpO1xuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudCA9IGZpZWxkSWQgJiYgYWlUYWJsZS5ncmlkRGF0YSgpLmZpZWxkcy5maW5kKChpdGVtKSA9PiBpdGVtLl9pZCA9PT0gZmllbGQuZ2V0KCdfaWQnKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNWaWV3VHJhbnNsYXRlKSB7XG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50ID0gYWlUYWJsZS52aWV3cygpW3RhcmdldFBhdGhdO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleUNoYW5nZXM6IFtzdHJpbmcsIHsgYWN0aW9uOiAnYWRkJyB8ICd1cGRhdGUnIHwgJ2RlbGV0ZSc7IG9sZFZhbHVlOiBhbnkgfV1bXSA9IEFycmF5LmZyb20oZXZlbnQuY2hhbmdlcy5rZXlzLmVudHJpZXMoKSk7XG4gICAgICAgICAgICBjb25zdCBuZXdQcm9wZXJ0aWVzOiBQYXJ0aWFsPEFJVGFibGVWaWV3IHwgQUlUYWJsZUZpZWxkPiA9IHt9O1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydGllczogUGFydGlhbDxBSVRhYmxlVmlldyB8IEFJVGFibGVGaWVsZD4gPSB7fTtcblxuICAgICAgICAgICAgY29uc3QgZW50cmllczogW3N0cmluZywgYW55XVtdID0ga2V5Q2hhbmdlcy5tYXAoKFtrZXksIGluZm9dKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0YXJnZXRTeW5jRWxlbWVudC5nZXQoa2V5KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gW2tleSwgaW5mby5hY3Rpb24gPT09ICdkZWxldGUnID8gbnVsbCA6IHZhbHVlIGluc3RhbmNlb2YgWS5BYnN0cmFjdFR5cGUgPyB2YWx1ZS50b0pTT04oKSA6IHZhbHVlXTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBlbnRyaWVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiAoQUlUYWJsZVZpZXcgfCBBSVRhYmxlRmllbGQpO1xuICAgICAgICAgICAgICAgIG5ld1Byb3BlcnRpZXNba10gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3Qgb2xkRW50cmllcyA9IGtleUNoYW5nZXMubWFwKChba2V5XSkgPT4gW2tleSwgKHRhcmdldEVsZW1lbnQgYXMgYW55KVtrZXldXSk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBvbGRFbnRyaWVzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgayA9IGtleSBhcyBrZXlvZiAoQUlUYWJsZVZpZXcgfCBBSVRhYmxlRmllbGQpO1xuICAgICAgICAgICAgICAgIHByb3BlcnRpZXNba10gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHR5cGUgPSBpc0ZpZWxkc1RyYW5zbGF0ZSA/IEFjdGlvbk5hbWUuU2V0RmllbGQgOiBBY3Rpb25OYW1lLlNldFZpZXc7XG4gICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczogcHJvcGVydGllcyxcbiAgICAgICAgICAgICAgICAgICAgbmV3UHJvcGVydGllczogbmV3UHJvcGVydGllcyxcbiAgICAgICAgICAgICAgICAgICAgcGF0aDogW3RhcmdldEVsZW1lbnQuX2lkXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0gYXMgQUlUYWJsZUFjdGlvbltdO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbXTtcbn1cbiJdfQ==