@smartbit4all/ng-client 4.5.44 → 4.5.46

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.
Files changed (54) hide show
  1. package/esm2022/lib/smart-grid/smart-grid-toolbar-util.mjs +13 -9
  2. package/esm2022/lib/smart-grid/smart-grid.component.mjs +36 -3
  3. package/esm2022/lib/smart-icon/smart-icon/smart-icon.component.mjs +2 -2
  4. package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +7 -11
  5. package/esm2022/lib/smart-table/tables/mobile-table/mobile-table.component.mjs +5 -5
  6. package/esm2022/lib/smart-table/tables/table.mjs +53 -59
  7. package/esm2022/lib/smart-tree/smarttree.component.mjs +2 -2
  8. package/esm2022/lib/view-context/api/api/view.service.mjs +1 -1
  9. package/esm2022/lib/view-context/api/model/deviceInfo.mjs +1 -1
  10. package/esm2022/lib/view-context/api/model/iconPosition.mjs +1 -1
  11. package/esm2022/lib/view-context/api/model/menuDescriptor.mjs +2 -0
  12. package/esm2022/lib/view-context/api/model/menuOpenDirection.mjs +23 -0
  13. package/esm2022/lib/view-context/api/model/menuTriggerType.mjs +1 -1
  14. package/esm2022/lib/view-context/api/model/models.mjs +3 -1
  15. package/esm2022/lib/view-context/api/model/namedValidator.mjs +1 -1
  16. package/esm2022/lib/view-context/api/model/publishedViewData.mjs +1 -1
  17. package/esm2022/lib/view-context/api/model/shellProperty.mjs +1 -1
  18. package/esm2022/lib/view-context/api/model/smartLinkData.mjs +1 -1
  19. package/esm2022/lib/view-context/api/model/themeDefinition.mjs +1 -1
  20. package/esm2022/lib/view-context/api/model/themeDescriptor.mjs +1 -1
  21. package/esm2022/lib/view-context/api/model/themeShellDescriptor.mjs +1 -1
  22. package/esm2022/lib/view-context/api/model/uiAction.mjs +1 -1
  23. package/esm2022/lib/view-context/api/model/uiActionDefinition.mjs +1 -1
  24. package/esm2022/lib/view-context/api/model/uiActionDefinitionEntry.mjs +1 -1
  25. package/esm2022/lib/view-context/api/model/uiActionDescriptor.mjs +1 -1
  26. package/esm2022/lib/view-context/api/model/uiActionInputType.mjs +1 -1
  27. package/esm2022/lib/view-context/api/model/uiActionSchedule.mjs +1 -1
  28. package/esm2022/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
  29. package/esm2022/lib/view-context/api/model/view.mjs +1 -1
  30. package/esm2022/lib/view-context/api/model/viewData.mjs +1 -1
  31. package/esm2022/lib/view-context/api/model/viewEventHandler.mjs +1 -1
  32. package/esm2022/lib/view-context/smart-ui-action/components/menu/click/menu.component.mjs +38 -6
  33. package/esm2022/lib/view-context/smart-ui-action/components/menu/hover/hover-menu.component.mjs +31 -6
  34. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.constants.mjs +58 -68
  35. package/esm2022/lib/view-context/smart-ui-action/file-editor-toolbar/file-editor-toolbar.component.mjs +3 -3
  36. package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +18 -10
  37. package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +19 -11
  38. package/fesm2022/smartbit4all-ng-client.mjs +287 -174
  39. package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
  40. package/lib/smart-grid/smart-grid.component.d.ts +3 -0
  41. package/lib/smart-table/tables/material-table/material-table.component.d.ts +0 -1
  42. package/lib/smart-table/tables/table.d.ts +6 -5
  43. package/lib/view-context/api/model/menuDescriptor.d.ts +17 -0
  44. package/lib/view-context/api/model/menuOpenDirection.d.ts +21 -0
  45. package/lib/view-context/api/model/models.d.ts +2 -0
  46. package/lib/view-context/api/model/uiActionDescriptor.d.ts +2 -2
  47. package/lib/view-context/smart-ui-action/components/menu/click/menu.component.d.ts +5 -2
  48. package/lib/view-context/smart-ui-action/components/menu/hover/hover-menu.component.d.ts +4 -2
  49. package/lib/view-context/smart-ui-action/components/menu/menu.constants.d.ts +4 -0
  50. package/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.d.ts +1 -0
  51. package/lib/view-context/smart-ui-action/ui-action-toolbar.component.d.ts +1 -1
  52. package/package.json +1 -1
  53. package/smartbit4all-ng-client-4.5.46.tgz +0 -0
  54. package/smartbit4all-ng-client-4.5.44.tgz +0 -0
@@ -4,8 +4,11 @@ export class SmartGridToolbarActionsUtil {
4
4
  if (!row.columnActions && row.actions && row.actions.length > 0) {
5
5
  return true;
6
6
  }
7
- let _columnsToFilter = [...orderedColumns, this.defaultActionToolbarId];
8
- let filteredActionColumns = Object.keys(row.columnActions || {})
7
+ var _columnsToFilter = [
8
+ ...orderedColumns.map((col) => col.startsWith('data.') ? col.substring('data.'.length) : col),
9
+ this.defaultActionToolbarId,
10
+ ];
11
+ var filteredActionColumns = Object.keys(row.columnActions || {})
9
12
  .filter((key) => _columnsToFilter.includes(key))
10
13
  .reduce((acc, key) => {
11
14
  acc[key] = row.columnActions[key];
@@ -13,7 +16,7 @@ export class SmartGridToolbarActionsUtil {
13
16
  }, {});
14
17
  return (row.actions &&
15
18
  row.actions.length > 0 &&
16
- Object.values(filteredActionColumns).flat().length != row.actions.length);
19
+ Object.values(filteredActionColumns).flat().length !== row.actions.length);
17
20
  }
18
21
  static showToolbar(row, columnName) {
19
22
  return !!row.actions && row.actions.length > 0 && !!row.columnActions?.[columnName];
@@ -48,18 +51,19 @@ export class SmartGridToolbarActionsUtil {
48
51
  return cellToActionMap;
49
52
  }
50
53
  static calculateMenuActions(row, orderedColumns) {
51
- let _columnsToFilter = [...orderedColumns, this.defaultActionToolbarId];
52
- let columnCodes = Object.keys(row.columnActions || {})
54
+ var _columnsToFilter = [
55
+ ...orderedColumns.map((col) => col.startsWith('data.') ? col.substring('data.'.length) : col),
56
+ this.defaultActionToolbarId,
57
+ ];
58
+ var columnCodes = Object.keys(row.columnActions || {})
53
59
  .filter((key) => _columnsToFilter.includes(key))
54
60
  .map((key) => row.columnActions[key])
55
61
  .flat();
56
- return row.actions?.filter((action) => {
57
- return !columnCodes.includes(action.code);
58
- });
62
+ return row.actions?.filter((action) => !columnCodes.includes(action.code)) ?? [];
59
63
  }
60
64
  static getActionModelsFromMap(cellToActionMap, row, header) {
61
65
  let key = row.id + header;
62
66
  return cellToActionMap[key];
63
67
  }
64
68
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZ3JpZC10b29sYmFyLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1ncmlkL3NtYXJ0LWdyaWQtdG9vbGJhci11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTywyQkFBMkI7YUFDL0IsMkJBQXNCLEdBQUcsNEJBQTRCLENBQUM7SUFFN0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFZLEVBQUUsY0FBd0I7UUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLGdCQUFnQixHQUFHLENBQUMsR0FBRyxjQUFjLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDeEUsSUFBSSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO2FBQzdELE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQy9DLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNuQixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLGFBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUF5QixDQUFDLENBQUM7UUFFaEMsT0FBTyxDQUNMLEdBQUcsQ0FBQyxPQUFPO1lBQ1gsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN0QixNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUN6RSxDQUFDO0lBQ0osQ0FBQztJQUNELE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBWSxFQUFFLFVBQWtCO1FBQ2pELE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELE1BQU0sQ0FBQyx3QkFBd0IsQ0FDN0IsSUFBZSxFQUNmLFlBQWlCLEVBQ2pCLE1BQWM7UUFFZCxJQUFJLGVBQWUsR0FBMEIsRUFBRSxDQUFDO1FBRWhELElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNuQixJQUFJLEdBQUcsRUFBRSxhQUFhLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDO2dCQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtvQkFDcEQsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxVQUFVLENBQUM7b0JBQzlCLE1BQU0sV0FBVyxHQUFhLEdBQUcsQ0FBQyxhQUFjLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQzdELE1BQU0sT0FBTyxHQUFlLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUM1QyxDQUFDLE1BQWdCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQ3ZFLENBQUM7b0JBQ0YsTUFBTSxZQUFZLEdBQVUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTt3QkFDN0QscUJBQXFCO3dCQUNyQixJQUFJLFNBQVMsR0FBRyxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUM7d0JBRWhDLFNBQVMsQ0FBQyxNQUFNLEdBQUc7NEJBQ2pCLEdBQUcsUUFBUSxDQUFDLE1BQU07NEJBQ2xCLEtBQUssRUFBRSxHQUFHO3lCQUNYLENBQUM7d0JBRUYseUNBQXlDO3dCQUN6QyxPQUFPOzRCQUNMLFlBQVksRUFBRSxZQUFZOzRCQUMxQixRQUFRLEVBQUUsU0FBUzs0QkFDbkIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxFQUFFOzRCQUNkLFFBQVEsRUFBRSxNQUFNO3lCQUNqQixDQUFDO29CQUNKLENBQUMsQ0FBQyxDQUFDO29CQUNILGVBQWUsQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxlQUFlLENBQUM7SUFDekIsQ0FBQztJQUVELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFZLEVBQUUsY0FBd0I7UUFDaEUsSUFBSSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsY0FBYyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3hFLElBQUksV0FBVyxHQUFhLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7YUFDN0QsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDL0MsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3JDLElBQUksRUFBRSxDQUFDO1FBRVYsT0FBTyxHQUFHLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQWdCLEVBQUUsRUFBRTtZQUM5QyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUMzQixlQUFzQyxFQUN0QyxHQUFZLEVBQ1osTUFBYztRQUVkLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQzFCLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVaUFjdGlvbiB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGknO1xyXG5pbXBvcnQgeyBHcmlkUm93IH0gZnJvbSAnLi9hcGkvZ3JpZC1hcGknO1xyXG5leHBvcnQgY2xhc3MgU21hcnRHcmlkVG9vbGJhckFjdGlvbnNVdGlsIHtcclxuICBzdGF0aWMgZGVmYXVsdEFjdGlvblRvb2xiYXJJZCA9ICd0b29sYmFyRGVmYXVsdEFjdGlvbkNvbHVtbic7XHJcblxyXG4gIHN0YXRpYyBzaG93TWVudShyb3c6IEdyaWRSb3csIG9yZGVyZWRDb2x1bW5zOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFyb3cuY29sdW1uQWN0aW9ucyAmJiByb3cuYWN0aW9ucyAmJiByb3cuYWN0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBfY29sdW1uc1RvRmlsdGVyID0gWy4uLm9yZGVyZWRDb2x1bW5zLCB0aGlzLmRlZmF1bHRBY3Rpb25Ub29sYmFySWRdO1xyXG4gICAgbGV0IGZpbHRlcmVkQWN0aW9uQ29sdW1ucyA9IE9iamVjdC5rZXlzKHJvdy5jb2x1bW5BY3Rpb25zIHx8IHt9KVxyXG4gICAgICAuZmlsdGVyKChrZXkpID0+IF9jb2x1bW5zVG9GaWx0ZXIuaW5jbHVkZXMoa2V5KSlcclxuICAgICAgLnJlZHVjZSgoYWNjLCBrZXkpID0+IHtcclxuICAgICAgICBhY2Nba2V5XSA9IHJvdy5jb2x1bW5BY3Rpb25zIVtrZXldO1xyXG4gICAgICAgIHJldHVybiBhY2M7XHJcbiAgICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIGFueT4pO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIHJvdy5hY3Rpb25zICYmXHJcbiAgICAgIHJvdy5hY3Rpb25zLmxlbmd0aCA+IDAgJiZcclxuICAgICAgT2JqZWN0LnZhbHVlcyhmaWx0ZXJlZEFjdGlvbkNvbHVtbnMpLmZsYXQoKS5sZW5ndGggIT0gcm93LmFjdGlvbnMubGVuZ3RoXHJcbiAgICApO1xyXG4gIH1cclxuICBzdGF0aWMgc2hvd1Rvb2xiYXIocm93OiBHcmlkUm93LCBjb2x1bW5OYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhIXJvdy5hY3Rpb25zICYmIHJvdy5hY3Rpb25zLmxlbmd0aCA+IDAgJiYgISFyb3cuY29sdW1uQWN0aW9ucz8uW2NvbHVtbk5hbWVdO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNhbGN1bGF0ZUNlbGxUb0FjdGlvbk1hcChcclxuICAgIHJvd3M6IEdyaWRSb3dbXSxcclxuICAgIHNlcnZpY2VUb1VzZTogYW55LFxyXG4gICAgZ3JpZElkOiBzdHJpbmdcclxuICApOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4ge1xyXG4gICAgbGV0IGNlbGxUb0FjdGlvbk1hcDogUmVjb3JkPHN0cmluZywgYW55W10+ID0ge307XHJcblxyXG4gICAgcm93cy5mb3JFYWNoKChyb3cpID0+IHtcclxuICAgICAgaWYgKHJvdz8uY29sdW1uQWN0aW9ucyAmJiByb3c/LmFjdGlvbnMpIHtcclxuICAgICAgICBPYmplY3Qua2V5cyhyb3cuY29sdW1uQWN0aW9ucykuZm9yRWFjaCgoY29sdW1uTmFtZSkgPT4ge1xyXG4gICAgICAgICAgbGV0IGtleSA9IHJvdy5pZCArIGNvbHVtbk5hbWU7XHJcbiAgICAgICAgICBjb25zdCBhY3Rpb25Db2Rlczogc3RyaW5nW10gPSByb3cuY29sdW1uQWN0aW9ucyFbY29sdW1uTmFtZV07XHJcbiAgICAgICAgICBjb25zdCBhY3Rpb25zOiBVaUFjdGlvbltdID0gcm93LmFjdGlvbnMuZmlsdGVyKFxyXG4gICAgICAgICAgICAoYWN0aW9uOiBVaUFjdGlvbikgPT4gYWN0aW9uLmNvZGUgJiYgYWN0aW9uQ29kZXMuaW5jbHVkZXMoYWN0aW9uLmNvZGUpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgY29uc3QgYWN0aW9uTW9kZWxzOiBhbnlbXSA9IGFjdGlvbnMubWFwKCh1aUFjdGlvbjogVWlBY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgLy9BZGQgcm93IHRvIHVpQWN0aW9uXHJcbiAgICAgICAgICAgIGxldCBfdWlBY3Rpb24gPSB7IC4uLnVpQWN0aW9uIH07XHJcblxyXG4gICAgICAgICAgICBfdWlBY3Rpb24ucGFyYW1zID0ge1xyXG4gICAgICAgICAgICAgIC4uLnVpQWN0aW9uLnBhcmFtcyxcclxuICAgICAgICAgICAgICBtb2RlbDogcm93LFxyXG4gICAgICAgICAgICB9O1xyXG5cclxuICAgICAgICAgICAgLy8gQWRkIGdyaWRJZCBhbmQgd2lkZ2V0SWQgdG8gdWlBY3Rpb25Nb2RcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICBzZXJ2aWNlVG9Vc2U6IHNlcnZpY2VUb1VzZSxcclxuICAgICAgICAgICAgICB1aUFjdGlvbjogX3VpQWN0aW9uLFxyXG4gICAgICAgICAgICAgIG5vZGVJZDogcm93LmlkLFxyXG4gICAgICAgICAgICAgIHdpZGdldElkOiBncmlkSWQsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGNlbGxUb0FjdGlvbk1hcFtrZXldID0gYWN0aW9uTW9kZWxzO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBjZWxsVG9BY3Rpb25NYXA7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY2FsY3VsYXRlTWVudUFjdGlvbnMocm93OiBHcmlkUm93LCBvcmRlcmVkQ29sdW1uczogc3RyaW5nW10pOiBVaUFjdGlvbltdIHtcclxuICAgIGxldCBfY29sdW1uc1RvRmlsdGVyID0gWy4uLm9yZGVyZWRDb2x1bW5zLCB0aGlzLmRlZmF1bHRBY3Rpb25Ub29sYmFySWRdO1xyXG4gICAgbGV0IGNvbHVtbkNvZGVzOiBzdHJpbmdbXSA9IE9iamVjdC5rZXlzKHJvdy5jb2x1bW5BY3Rpb25zIHx8IHt9KVxyXG4gICAgICAuZmlsdGVyKChrZXkpID0+IF9jb2x1bW5zVG9GaWx0ZXIuaW5jbHVkZXMoa2V5KSlcclxuICAgICAgLm1hcCgoa2V5KSA9PiByb3cuY29sdW1uQWN0aW9ucyFba2V5XSlcclxuICAgICAgLmZsYXQoKTtcclxuXHJcbiAgICByZXR1cm4gcm93LmFjdGlvbnM/LmZpbHRlcigoYWN0aW9uOiBVaUFjdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gIWNvbHVtbkNvZGVzLmluY2x1ZGVzKGFjdGlvbi5jb2RlISk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRBY3Rpb25Nb2RlbHNGcm9tTWFwKFxyXG4gICAgY2VsbFRvQWN0aW9uTWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4sXHJcbiAgICByb3c6IEdyaWRSb3csXHJcbiAgICBoZWFkZXI6IHN0cmluZ1xyXG4gICk6IGFueVtdIHtcclxuICAgIGxldCBrZXkgPSByb3cuaWQgKyBoZWFkZXI7XHJcbiAgICByZXR1cm4gY2VsbFRvQWN0aW9uTWFwW2tleV07XHJcbiAgfVxyXG59XHJcbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZ3JpZC10b29sYmFyLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1ncmlkL3NtYXJ0LWdyaWQtdG9vbGJhci11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTywyQkFBMkI7YUFDL0IsMkJBQXNCLEdBQUcsNEJBQTRCLENBQUM7SUFFN0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFZLEVBQUUsY0FBd0I7UUFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNoRSxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLGdCQUFnQixHQUFHO1lBQ3JCLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQzVCLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQzlEO1lBQ0QsSUFBSSxDQUFDLHNCQUFzQjtTQUM1QixDQUFDO1FBRUYsSUFBSSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO2FBQzdELE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQy9DLE1BQU0sQ0FDTCxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNYLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsYUFBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lB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QUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMvQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDckMsSUFBSSxFQUFFLENBQUM7UUFFVixPQUFPLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsTUFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5RixDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQixDQUMzQixlQUFzQyxFQUN0QyxHQUFZLEVBQ1osTUFBYztRQUVkLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQzFCLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVaUFjdGlvbiB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGknO1xyXG5pbXBvcnQgeyBHcmlkUm93IH0gZnJvbSAnLi9hcGkvZ3JpZC1hcGknO1xyXG5leHBvcnQgY2xhc3MgU21hcnRHcmlkVG9vbGJhckFjdGlvbnNVdGlsIHtcclxuICBzdGF0aWMgZGVmYXVsdEFjdGlvblRvb2xiYXJJZCA9ICd0b29sYmFyRGVmYXVsdEFjdGlvbkNvbHVtbic7XHJcblxyXG4gIHN0YXRpYyBzaG93TWVudShyb3c6IEdyaWRSb3csIG9yZGVyZWRDb2x1bW5zOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFyb3cuY29sdW1uQWN0aW9ucyAmJiByb3cuYWN0aW9ucyAmJiByb3cuYWN0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHZhciBfY29sdW1uc1RvRmlsdGVyID0gW1xyXG4gICAgICAuLi5vcmRlcmVkQ29sdW1ucy5tYXAoKGNvbCkgPT5cclxuICAgICAgICBjb2wuc3RhcnRzV2l0aCgnZGF0YS4nKSA/IGNvbC5zdWJzdHJpbmcoJ2RhdGEuJy5sZW5ndGgpIDogY29sXHJcbiAgICAgICksXHJcbiAgICAgIHRoaXMuZGVmYXVsdEFjdGlvblRvb2xiYXJJZCxcclxuICAgIF07XHJcblxyXG4gICAgdmFyIGZpbHRlcmVkQWN0aW9uQ29sdW1ucyA9IE9iamVjdC5rZXlzKHJvdy5jb2x1bW5BY3Rpb25zIHx8IHt9KVxyXG4gICAgICAuZmlsdGVyKChrZXkpID0+IF9jb2x1bW5zVG9GaWx0ZXIuaW5jbHVkZXMoa2V5KSlcclxuICAgICAgLnJlZHVjZShcclxuICAgICAgICAoYWNjLCBrZXkpID0+IHtcclxuICAgICAgICAgIGFjY1trZXldID0gcm93LmNvbHVtbkFjdGlvbnMhW2tleV07XHJcbiAgICAgICAgICByZXR1cm4gYWNjO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge30gYXMgUmVjb3JkPHN0cmluZywgYW55PlxyXG4gICAgICApO1xyXG5cclxuICAgIHJldHVybiAoXHJcbiAgICAgIHJvdy5hY3Rpb25zICYmXHJcbiAgICAgIHJvdy5hY3Rpb25zLmxlbmd0aCA+IDAgJiZcclxuICAgICAgT2JqZWN0LnZhbHVlcyhmaWx0ZXJlZEFjdGlvbkNvbHVtbnMpLmZsYXQoKS5sZW5ndGggIT09IHJvdy5hY3Rpb25zLmxlbmd0aFxyXG4gICAgKTtcclxuICB9XHJcbiAgc3RhdGljIHNob3dUb29sYmFyKHJvdzogR3JpZFJvdywgY29sdW1uTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISFyb3cuYWN0aW9ucyAmJiByb3cuYWN0aW9ucy5sZW5ndGggPiAwICYmICEhcm93LmNvbHVtbkFjdGlvbnM/Lltjb2x1bW5OYW1lXTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBjYWxjdWxhdGVDZWxsVG9BY3Rpb25NYXAoXHJcbiAgICByb3dzOiBHcmlkUm93W10sXHJcbiAgICBzZXJ2aWNlVG9Vc2U6IGFueSxcclxuICAgIGdyaWRJZDogc3RyaW5nXHJcbiAgKTogUmVjb3JkPHN0cmluZywgYW55W10+IHtcclxuICAgIGxldCBjZWxsVG9BY3Rpb25NYXA6IFJlY29yZDxzdHJpbmcsIGFueVtdPiA9IHt9O1xyXG5cclxuICAgIHJvd3MuZm9yRWFjaCgocm93KSA9PiB7XHJcbiAgICAgIGlmIChyb3c/LmNvbHVtbkFjdGlvbnMgJiYgcm93Py5hY3Rpb25zKSB7XHJcbiAgICAgICAgT2JqZWN0LmtleXMocm93LmNvbHVtbkFjdGlvbnMpLmZvckVhY2goKGNvbHVtbk5hbWUpID0+IHtcclxuICAgICAgICAgIGxldCBrZXkgPSByb3cuaWQgKyBjb2x1bW5OYW1lO1xyXG4gICAgICAgICAgY29uc3QgYWN0aW9uQ29kZXM6IHN0cmluZ1tdID0gcm93LmNvbHVtbkFjdGlvbnMhW2NvbHVtbk5hbWVdO1xyXG4gICAgICAgICAgY29uc3QgYWN0aW9uczogVWlBY3Rpb25bXSA9IHJvdy5hY3Rpb25zLmZpbHRlcihcclxuICAgICAgICAgICAgKGFjdGlvbjogVWlBY3Rpb24pID0+IGFjdGlvbi5jb2RlICYmIGFjdGlvbkNvZGVzLmluY2x1ZGVzKGFjdGlvbi5jb2RlKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIGNvbnN0IGFjdGlvbk1vZGVsczogYW55W10gPSBhY3Rpb25zLm1hcCgodWlBY3Rpb246IFVpQWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIC8vQWRkIHJvdyB0byB1aUFjdGlvblxyXG4gICAgICAgICAgICBsZXQgX3VpQWN0aW9uID0geyAuLi51aUFjdGlvbiB9O1xyXG5cclxuICAgICAgICAgICAgX3VpQWN0aW9uLnBhcmFtcyA9IHtcclxuICAgICAgICAgICAgICAuLi51aUFjdGlvbi5wYXJhbXMsXHJcbiAgICAgICAgICAgICAgbW9kZWw6IHJvdyxcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIC8vIEFkZCBncmlkSWQgYW5kIHdpZGdldElkIHRvIHVpQWN0aW9uTW9kXHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgc2VydmljZVRvVXNlOiBzZXJ2aWNlVG9Vc2UsXHJcbiAgICAgICAgICAgICAgdWlBY3Rpb246IF91aUFjdGlvbixcclxuICAgICAgICAgICAgICBub2RlSWQ6IHJvdy5pZCxcclxuICAgICAgICAgICAgICB3aWRnZXRJZDogZ3JpZElkLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBjZWxsVG9BY3Rpb25NYXBba2V5XSA9IGFjdGlvbk1vZGVscztcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gY2VsbFRvQWN0aW9uTWFwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNhbGN1bGF0ZU1lbnVBY3Rpb25zKHJvdzogR3JpZFJvdywgb3JkZXJlZENvbHVtbnM6IHN0cmluZ1tdKTogVWlBY3Rpb25bXSB7XHJcbiAgICB2YXIgX2NvbHVtbnNUb0ZpbHRlciA9IFtcclxuICAgICAgLi4ub3JkZXJlZENvbHVtbnMubWFwKChjb2wpID0+XHJcbiAgICAgICAgY29sLnN0YXJ0c1dpdGgoJ2RhdGEuJykgPyBjb2wuc3Vic3RyaW5nKCdkYXRhLicubGVuZ3RoKSA6IGNvbFxyXG4gICAgICApLFxyXG4gICAgICB0aGlzLmRlZmF1bHRBY3Rpb25Ub29sYmFySWQsXHJcbiAgICBdO1xyXG5cclxuICAgIHZhciBjb2x1bW5Db2Rlczogc3RyaW5nW10gPSBPYmplY3Qua2V5cyhyb3cuY29sdW1uQWN0aW9ucyB8fCB7fSlcclxuICAgICAgLmZpbHRlcigoa2V5KSA9PiBfY29sdW1uc1RvRmlsdGVyLmluY2x1ZGVzKGtleSkpXHJcbiAgICAgIC5tYXAoKGtleSkgPT4gcm93LmNvbHVtbkFjdGlvbnMhW2tleV0pXHJcbiAgICAgIC5mbGF0KCk7XHJcblxyXG4gICAgcmV0dXJuIHJvdy5hY3Rpb25zPy5maWx0ZXIoKGFjdGlvbjogVWlBY3Rpb24pID0+ICFjb2x1bW5Db2Rlcy5pbmNsdWRlcyhhY3Rpb24uY29kZSEpKSA/PyBbXTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRBY3Rpb25Nb2RlbHNGcm9tTWFwKFxyXG4gICAgY2VsbFRvQWN0aW9uTWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4sXHJcbiAgICByb3c6IEdyaWRSb3csXHJcbiAgICBoZWFkZXI6IHN0cmluZ1xyXG4gICk6IGFueVtdIHtcclxuICAgIGxldCBrZXkgPSByb3cuaWQgKyBoZWFkZXI7XHJcbiAgICByZXR1cm4gY2VsbFRvQWN0aW9uTWFwW2tleV07XHJcbiAgfVxyXG59XHJcbiJdfQ==