@c8y/ngx-components 1021.80.1 → 1021.81.0

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 (88) hide show
  1. package/core/data-grid/column/tree-node-column/tree-node.cell-renderer.component.d.ts +23 -0
  2. package/core/data-grid/column/tree-node-column/tree-node.cell-renderer.component.d.ts.map +1 -0
  3. package/core/data-grid/column/tree-node-column/tree-node.data-grid-column.d.ts +23 -0
  4. package/core/data-grid/column/tree-node-column/tree-node.data-grid-column.d.ts.map +1 -0
  5. package/core/data-grid/column/tree-node-column/tree-node.header-cell-renderer.component.d.ts +6 -0
  6. package/core/data-grid/column/tree-node-column/tree-node.header-cell-renderer.component.d.ts.map +1 -0
  7. package/core/data-grid/data-grid.component.d.ts +29 -1
  8. package/core/data-grid/data-grid.component.d.ts.map +1 -1
  9. package/core/data-grid/data-grid.model.d.ts +13 -1
  10. package/core/data-grid/data-grid.model.d.ts.map +1 -1
  11. package/core/data-grid/grid-data-source.d.ts +11 -2
  12. package/core/data-grid/grid-data-source.d.ts.map +1 -1
  13. package/core/data-grid/index.d.ts +4 -1
  14. package/core/data-grid/index.d.ts.map +1 -1
  15. package/esm2022/branding/shared/lazy/branding/branding.component.mjs +2 -2
  16. package/esm2022/context-dashboard/dashboard-manager/type-dashboard-target-assets-grid/type-dashboard-target-assets-grid.component.mjs +1 -1
  17. package/esm2022/context-dashboard/dashboard-manager/type-dashboards-list/type-dashboards-list.component.mjs +1 -1
  18. package/esm2022/core/data-grid/column/tree-node-column/tree-node.cell-renderer.component.mjs +87 -0
  19. package/esm2022/core/data-grid/column/tree-node-column/tree-node.data-grid-column.mjs +15 -0
  20. package/esm2022/core/data-grid/column/tree-node-column/tree-node.header-cell-renderer.component.mjs +15 -0
  21. package/esm2022/core/data-grid/configure-custom-column/asset-property-grid.component.mjs +1 -1
  22. package/esm2022/core/data-grid/data-grid.component.mjs +68 -11
  23. package/esm2022/core/data-grid/data-grid.model.mjs +1 -1
  24. package/esm2022/core/data-grid/grid-data-source.mjs +92 -22
  25. package/esm2022/core/data-grid/index.mjs +5 -2
  26. package/esm2022/device-grid/device-grid.component.mjs +1 -1
  27. package/esm2022/device-profile/device-profile-list.component.mjs +1 -1
  28. package/esm2022/device-provisioned-certificates/device-tab-provisioned-certificates.component.mjs +1 -1
  29. package/esm2022/ecosystem/application-plugins/application-plugins.component.mjs +1 -1
  30. package/esm2022/files-repository/files-repository.component.mjs +1 -1
  31. package/esm2022/messaging-management/messaging/topic/topic-list-view.component.mjs +2 -2
  32. package/esm2022/messaging-management/messaging/topic/topic-subscribers-view/topic-subscribers-view.component.mjs +2 -2
  33. package/esm2022/operations/bulk-single-operations-list/single-operations-list.component.mjs +2 -2
  34. package/esm2022/remote-access/configurations/remote-access-configuration-list/remote-access-configuration-list.component.mjs +2 -2
  35. package/esm2022/repository/configuration/list/configuration-list.component.mjs +1 -1
  36. package/esm2022/repository/firmware/list/firmware-list.component.mjs +1 -1
  37. package/esm2022/repository/software/list/software-list.component.mjs +1 -1
  38. package/esm2022/search/search-grid.component.mjs +1 -1
  39. package/esm2022/services/services-device-tab/services-device-tab.component.mjs +1 -1
  40. package/esm2022/sub-assets/sub-assets-grid.component.mjs +1 -1
  41. package/esm2022/tenants/tenant-list/tenant-list.component.mjs +1 -1
  42. package/esm2022/translation-editor/lazy/translation-editor/translation-editor.component.mjs +2 -2
  43. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CmhkghTo.mjs → c8y-ngx-components-asset-property-grid.component-xQgHuomT.mjs} +3 -3
  44. package/fesm2022/{c8y-ngx-components-asset-property-grid.component-CmhkghTo.mjs.map → c8y-ngx-components-asset-property-grid.component-xQgHuomT.mjs.map} +1 -1
  45. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs +1 -1
  46. package/fesm2022/c8y-ngx-components-branding-shared-lazy.mjs.map +1 -1
  47. package/fesm2022/{c8y-ngx-components-c8y-ngx-components-D-YOjLHK.mjs → c8y-ngx-components-c8y-ngx-components-D2rmddmn.mjs} +455 -228
  48. package/fesm2022/c8y-ngx-components-c8y-ngx-components-D2rmddmn.mjs.map +1 -0
  49. package/fesm2022/c8y-ngx-components-context-dashboard.mjs +2 -2
  50. package/fesm2022/c8y-ngx-components-context-dashboard.mjs.map +1 -1
  51. package/fesm2022/c8y-ngx-components-device-grid.mjs +1 -1
  52. package/fesm2022/c8y-ngx-components-device-grid.mjs.map +1 -1
  53. package/fesm2022/c8y-ngx-components-device-profile.mjs +1 -1
  54. package/fesm2022/c8y-ngx-components-device-profile.mjs.map +1 -1
  55. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs +1 -1
  56. package/fesm2022/c8y-ngx-components-device-provisioned-certificates.mjs.map +1 -1
  57. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +1 -1
  58. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
  59. package/fesm2022/c8y-ngx-components-ecosystem.mjs +1 -1
  60. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  61. package/fesm2022/c8y-ngx-components-files-repository.mjs +1 -1
  62. package/fesm2022/c8y-ngx-components-files-repository.mjs.map +1 -1
  63. package/fesm2022/c8y-ngx-components-messaging-management.mjs +2 -2
  64. package/fesm2022/c8y-ngx-components-messaging-management.mjs.map +1 -1
  65. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs +1 -1
  66. package/fesm2022/c8y-ngx-components-operations-bulk-single-operations-list.mjs.map +1 -1
  67. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs +1 -1
  68. package/fesm2022/c8y-ngx-components-remote-access-configurations.mjs.map +1 -1
  69. package/fesm2022/c8y-ngx-components-repository-configuration.mjs +1 -1
  70. package/fesm2022/c8y-ngx-components-repository-configuration.mjs.map +1 -1
  71. package/fesm2022/c8y-ngx-components-repository-firmware.mjs +1 -1
  72. package/fesm2022/c8y-ngx-components-repository-firmware.mjs.map +1 -1
  73. package/fesm2022/c8y-ngx-components-repository-software.mjs +1 -1
  74. package/fesm2022/c8y-ngx-components-repository-software.mjs.map +1 -1
  75. package/fesm2022/c8y-ngx-components-search.mjs +1 -1
  76. package/fesm2022/c8y-ngx-components-search.mjs.map +1 -1
  77. package/fesm2022/c8y-ngx-components-services.mjs +1 -1
  78. package/fesm2022/c8y-ngx-components-services.mjs.map +1 -1
  79. package/fesm2022/c8y-ngx-components-sub-assets.mjs +1 -1
  80. package/fesm2022/c8y-ngx-components-sub-assets.mjs.map +1 -1
  81. package/fesm2022/c8y-ngx-components-tenants.mjs +1 -1
  82. package/fesm2022/c8y-ngx-components-tenants.mjs.map +1 -1
  83. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs +1 -1
  84. package/fesm2022/c8y-ngx-components-translation-editor-lazy.mjs.map +1 -1
  85. package/fesm2022/c8y-ngx-components.mjs +1 -1
  86. package/locales/locales.pot +6 -0
  87. package/package.json +1 -1
  88. package/fesm2022/c8y-ngx-components-c8y-ngx-components-D-YOjLHK.mjs.map +0 -1
@@ -0,0 +1,23 @@
1
+ import { DataGridComponent } from '../../data-grid.component';
2
+ import { Row } from '../../data-grid.model';
3
+ import { CellRendererContext } from '../cell-renderer';
4
+ import * as i0 from "@angular/core";
5
+ export declare class TreeNodeCellRendererComponent {
6
+ context: CellRendererContext;
7
+ dataGridComponent: DataGridComponent;
8
+ readonly collapse: "Collapse";
9
+ readonly expand: "Expand";
10
+ isExpanded: import("@angular/core").WritableSignal<boolean>;
11
+ loading: import("@angular/core").WritableSignal<boolean>;
12
+ level: number;
13
+ btnClass: import("@angular/core").Signal<{
14
+ [x: string]: boolean;
15
+ active: boolean;
16
+ }>;
17
+ constructor(context: CellRendererContext, dataGridComponent: DataGridComponent);
18
+ toggleExpand(): void;
19
+ getLevel(row: Row): number;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<TreeNodeCellRendererComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<TreeNodeCellRendererComponent, "c8y-tree-node-cell-renderer", never, {}, {}, never, never, true, never>;
22
+ }
23
+ //# sourceMappingURL=tree-node.cell-renderer.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-node.cell-renderer.component.d.ts","sourceRoot":"","sources":["../../../../../core/data-grid/column/tree-node-column/tree-node.cell-renderer.component.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;;AAEvD,qBAoBa,6BAA6B;IAY/B,OAAO,EAAE,mBAAmB;IACiB,iBAAiB,EAAE,iBAAiB;IAZ1F,QAAQ,CAAC,QAAQ,aAAuB;IACxC,QAAQ,CAAC,MAAM,WAAqB;IACpC,UAAU,kDAAiB;IAC3B,OAAO,kDAAiB;IACxB,KAAK,SAAoC;IACzC,QAAQ;;;OAGJ;gBAGK,OAAO,EAAE,mBAAmB,EACiB,iBAAiB,EAAE,iBAAiB;IAQ1F,YAAY;IAUZ,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;yCA/Bf,6BAA6B;2CAA7B,6BAA6B;CAkCzC"}
@@ -0,0 +1,23 @@
1
+ import { Type } from '@angular/core';
2
+ import { Column, ColumnDataType, FilterPredicateFunction, SortOrder } from '../../data-grid.model';
3
+ export declare class TreeNodeColumn implements Column {
4
+ name: string;
5
+ path?: string;
6
+ header?: string;
7
+ dataType?: ColumnDataType;
8
+ visible?: boolean;
9
+ positionFixed?: boolean;
10
+ gridTrackSize?: string;
11
+ headerCSSClassName?: string | string[];
12
+ headerCellRendererComponent?: Type<unknown>;
13
+ cellCSSClassName?: string | string[];
14
+ cellRendererComponent?: Type<unknown>;
15
+ sortable?: boolean;
16
+ sortOrder?: SortOrder;
17
+ filterable?: boolean;
18
+ filteringFormRendererComponent?: Type<unknown>;
19
+ filterPredicate?: string | FilterPredicateFunction;
20
+ externalFilterQuery?: string | object;
21
+ constructor();
22
+ }
23
+ //# sourceMappingURL=tree-node.data-grid-column.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-node.data-grid-column.d.ts","sourceRoot":"","sources":["../../../../../core/data-grid/column/tree-node-column/tree-node.data-grid-column.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAInG,qBAAa,cAAe,YAAW,MAAM;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAE1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvC,2BAA2B,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAE5C,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACrC,qBAAqB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAEtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8BAA8B,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAAC;IACnD,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;;CAcvC"}
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TreeNodeHeaderCellRendererComponent {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<TreeNodeHeaderCellRendererComponent, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<TreeNodeHeaderCellRendererComponent, "c8y-tree-node-header-cell-renderer", never, {}, {}, never, never, true, never>;
5
+ }
6
+ //# sourceMappingURL=tree-node.header-cell-renderer.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-node.header-cell-renderer.component.d.ts","sourceRoot":"","sources":["../../../../../core/data-grid/column/tree-node-column/tree-node.header-cell-renderer.component.ts"],"names":[],"mappings":";AAEA,qBAKa,mCAAmC;yCAAnC,mCAAmC;2CAAnC,mCAAmC;CAAG"}
@@ -62,6 +62,8 @@ export declare class DataGridComponent implements DataGrid, OnChanges, AfterView
62
62
  readonly minPossiblePageSize: number;
63
63
  /** Pagination settings, e.g. allows for setting current page or page size. */
64
64
  set _pagination(pagination: Pagination);
65
+ /** Child node pagination settings, e.g. allows for setting page size of loaded child node pages. */
66
+ childNodePagination: Pagination;
65
67
  infiniteScroll: LoadMoreMode;
66
68
  /** Sets load more mode. */
67
69
  set _infiniteScroll(infiniteScroll: LoadMoreMode);
@@ -110,8 +112,24 @@ export declare class DataGridComponent implements DataGrid, OnChanges, AfterView
110
112
  * - `ASYNC` - additional column with expand button is displayed and expandable rows are expanding asynchronously when button is clicked
111
113
  */
112
114
  expandableRows: 'NONE' | 'SYNC' | 'ASYNC';
115
+ /**
116
+ * Determines if the data grid is a tree grid.
117
+ * If set to true, an additional column with expand/collapse button is displayed for rows with child nodes.
118
+ */
119
+ treeGrid: boolean;
113
120
  /** Determines if the Reload button will be hidden. */
114
121
  hideReload: boolean;
122
+ /**
123
+ * In a client side data fed tree-grid, this input determines the name of the
124
+ * property holding the child nodes of the current node.
125
+ * Default value is `childNodes`.
126
+ */
127
+ set childNodesProperty(childNodesProperty: string);
128
+ /**
129
+ * In a tree-grid, this input determines the name of the property that will be used as a label
130
+ * to refer to the parent node its pagination row.
131
+ */
132
+ parentNodeLabelProperty: string;
115
133
  /** Emits an event when mouse is over a row. */
116
134
  rowMouseOver: EventEmitter<object>;
117
135
  /** Emits an event when mouse leaves a row. */
@@ -248,7 +266,11 @@ export declare class DataGridComponent implements DataGrid, OnChanges, AfterView
248
266
  ngOnDestroy(): void;
249
267
  expand(row: Row): BehaviorSubject<boolean> | Subject<boolean>;
250
268
  collapse(row: Row): void;
269
+ expandNode(row: Row): void;
270
+ collapseNode(row: Row): void;
271
+ isDataRow: (idx: number, row: Row) => boolean;
251
272
  isRowExpanded: (_: any, row: Row) => boolean;
273
+ isPaginationRow: (_: any, row: Row) => boolean;
252
274
  setColumns(config: GridConfig): void;
253
275
  setPageSize(config: GridConfig): void;
254
276
  openCustomColumn(): Promise<void>;
@@ -273,6 +295,12 @@ export declare class DataGridComponent implements DataGrid, OnChanges, AfterView
273
295
  itemsPerPage: any;
274
296
  page: any;
275
297
  }): void;
298
+ updateChildPagination({ itemsPerPage, page }: {
299
+ itemsPerPage: any;
300
+ page: any;
301
+ }, { parentRow }: {
302
+ parentRow: any;
303
+ }): void;
276
304
  clickReload(): void;
277
305
  reload(redirect?: boolean): void;
278
306
  loadNextPage(): Promise<IResultList<object>>;
@@ -333,6 +361,6 @@ export declare class DataGridComponent implements DataGrid, OnChanges, AfterView
333
361
  private resolveConfigFilter;
334
362
  private safelyInvokeMatcher;
335
363
  static ɵfac: i0.ɵɵFactoryDeclaration<DataGridComponent, [{ optional: true; }, null, null, null, null, null, null]>;
336
- static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent, "c8y-data-grid", never, { "title": { "alias": "title"; "required": false; }; "loadMoreItemsLabel": { "alias": "loadMoreItemsLabel"; "required": false; }; "loadingItemsLabel": { "alias": "loadingItemsLabel"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "refresh": { "alias": "refresh"; "required": false; }; "_columns": { "alias": "columns"; "required": false; }; "_rows": { "alias": "rows"; "required": false; }; "_pagination": { "alias": "pagination"; "required": false; }; "_infiniteScroll": { "alias": "infiniteScroll"; "required": false; }; "_serverSideDataCallback": { "alias": "serverSideDataCallback"; "required": false; }; "_selectable": { "alias": "selectable"; "required": false; }; "_singleSelection": { "alias": "singleSelection"; "required": false; }; "_selectionPrimaryKey": { "alias": "selectionPrimaryKey"; "required": false; }; "_displayOptions": { "alias": "displayOptions"; "required": false; }; "_actionControls": { "alias": "actionControls"; "required": false; }; "_bulkActionControls": { "alias": "bulkActionControls"; "required": false; }; "_headerActionControls": { "alias": "headerActionControls"; "required": false; }; "searchText": { "alias": "searchText"; "required": false; }; "configureColumnsEnabled": { "alias": "configureColumnsEnabled"; "required": false; }; "showCounterWarning": { "alias": "showCounterWarning"; "required": false; }; "activeClassName": { "alias": "activeClassName"; "required": false; }; "expandableRows": { "alias": "expandableRows"; "required": false; }; "hideReload": { "alias": "hideReload"; "required": false; }; }, { "rowMouseOver": "rowMouseOver"; "rowMouseLeave": "rowMouseLeave"; "rowClick": "rowClick"; "onConfigChange": "onConfigChange"; "onBeforeFilter": "onBeforeFilter"; "onBeforeSearch": "onBeforeSearch"; "onFilter": "onFilter"; "itemsSelect": "itemsSelect"; "onReload": "onReload"; "onAddCustomColumn": "onAddCustomColumn"; "onRemoveCustomColumn": "onRemoveCustomColumn"; "onColumnFilterReset": "onColumnFilterReset"; "onSort": "onSort"; "onPageSizeChange": "onPageSizeChange"; "onColumnReordered": "onColumnReordered"; "onColumnVisibilityChange": "onColumnVisibilityChange"; }, ["expandableRow", "emptyState", "columnRenderers"], ["c8y-ui-empty-state, .c8y-empty-state"], false, never>;
364
+ static ɵcmp: i0.ɵɵComponentDeclaration<DataGridComponent, "c8y-data-grid", never, { "title": { "alias": "title"; "required": false; }; "loadMoreItemsLabel": { "alias": "loadMoreItemsLabel"; "required": false; }; "loadingItemsLabel": { "alias": "loadingItemsLabel"; "required": false; }; "showSearch": { "alias": "showSearch"; "required": false; }; "refresh": { "alias": "refresh"; "required": false; }; "_columns": { "alias": "columns"; "required": false; }; "_rows": { "alias": "rows"; "required": false; }; "_pagination": { "alias": "pagination"; "required": false; }; "childNodePagination": { "alias": "childNodePagination"; "required": false; }; "_infiniteScroll": { "alias": "infiniteScroll"; "required": false; }; "_serverSideDataCallback": { "alias": "serverSideDataCallback"; "required": false; }; "_selectable": { "alias": "selectable"; "required": false; }; "_singleSelection": { "alias": "singleSelection"; "required": false; }; "_selectionPrimaryKey": { "alias": "selectionPrimaryKey"; "required": false; }; "_displayOptions": { "alias": "displayOptions"; "required": false; }; "_actionControls": { "alias": "actionControls"; "required": false; }; "_bulkActionControls": { "alias": "bulkActionControls"; "required": false; }; "_headerActionControls": { "alias": "headerActionControls"; "required": false; }; "searchText": { "alias": "searchText"; "required": false; }; "configureColumnsEnabled": { "alias": "configureColumnsEnabled"; "required": false; }; "showCounterWarning": { "alias": "showCounterWarning"; "required": false; }; "activeClassName": { "alias": "activeClassName"; "required": false; }; "expandableRows": { "alias": "expandableRows"; "required": false; }; "treeGrid": { "alias": "treeGrid"; "required": false; }; "hideReload": { "alias": "hideReload"; "required": false; }; "childNodesProperty": { "alias": "childNodesProperty"; "required": false; }; "parentNodeLabelProperty": { "alias": "parentNodeLabelProperty"; "required": false; }; }, { "rowMouseOver": "rowMouseOver"; "rowMouseLeave": "rowMouseLeave"; "rowClick": "rowClick"; "onConfigChange": "onConfigChange"; "onBeforeFilter": "onBeforeFilter"; "onBeforeSearch": "onBeforeSearch"; "onFilter": "onFilter"; "itemsSelect": "itemsSelect"; "onReload": "onReload"; "onAddCustomColumn": "onAddCustomColumn"; "onRemoveCustomColumn": "onRemoveCustomColumn"; "onColumnFilterReset": "onColumnFilterReset"; "onSort": "onSort"; "onPageSizeChange": "onPageSizeChange"; "onColumnReordered": "onColumnReordered"; "onColumnVisibilityChange": "onColumnVisibilityChange"; }, ["expandableRow", "emptyState", "columnRenderers"], ["c8y-ui-empty-state, .c8y-empty-state"], false, never>;
337
365
  }
338
366
  //# sourceMappingURL=data-grid.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"data-grid.component.d.ts","sourceRoot":"","sources":["../../../core/data-grid/data-grid.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,aAAa,EAIb,UAAU,EACV,YAAY,EAGZ,SAAS,EAGT,SAAS,EAGT,gBAAgB,EAGjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAe,WAAW,EAAU,MAAM,aAAa,CAAC;AAa/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,eAAe,EACf,UAAU,EACV,OAAO,EAQR,MAAM,MAAM,CAAC;AAiBd,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qDAAqD,CAAC;AAEjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAEL,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAEL,6BAA6B,EAG7B,aAAa,EACd,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,aAAa,EAEb,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,EAGN,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,GAAG,EACH,sBAAsB,EACtB,SAAS,EAIV,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;;AAUpD,qBAWa,iBACX,YAAW,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,4BAA4B;IA6SlE,qBAAqB,EAAE,6BAA6B;IAC3D,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,KAAK;IAjTf,wEAAwE;IAC/D,KAAK,EAAE,MAAM,CAAoB;IAC1C,sCAAsC;IAC7B,kBAAkB,EAAE,MAAM,CAA8B;IACjE,uCAAuC;IAC9B,iBAAiB,EAAE,MAAM,CAA6B;IAC/D,0EAA0E;IACjE,UAAU,UAAS;IAC5B,mFAAmF;IAC1E,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAErC,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,uDAAuD;IAEvD,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,UAAU,iBAAwB;IAClC,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,gFAAgF;IAChF,IACI,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAEpB;IAED,qBAAqB;;;MAGnB;IAEF,UAAU,EAAE,UAAU,CAAC;IACvB,qBAAqB;;;;MAInB;IACF,cAAc,EAAE,GAAG,CAAC;IACpB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAiB;IACrD,QAAQ,CAAC,mBAAmB,SAAuC;IACnE,8EAA8E;IAC9E,IACI,WAAW,CAAC,UAAU,EAAE,UAAU,EAErC;IAED,cAAc,EAAE,YAAY,CAAC;IAC7B,2BAA2B;IAC3B,IACI,eAAe,CAAC,cAAc,EAAE,YAAY,EAE/C;IAED,sBAAsB,EAAE,sBAAsB,CAAC;IAC/C;;;OAGG;IACH,IACI,uBAAuB,CAAC,sBAAsB,EAAE,sBAAsB,EAEzE;IAED,UAAU,UAAS;IACnB,2FAA2F;IAC3F,IACI,WAAW,CAAC,UAAU,EAAE,OAAO,EAElC;IAED,eAAe,UAAS;IACxB,6GAA6G;IAC7G,IACI,gBAAgB,CAAC,eAAe,EAAE,OAAO,EAE5C;IAED,mBAAmB,SAAQ;IAC3B,qFAAqF;IACrF,IACI,oBAAoB,CAAC,mBAAmB,EAAE,MAAM,EAEnD;IAED,cAAc,EAAE,cAAc,CAM5B;IACF,4BAA4B;IAC5B,IACI,eAAe,CAAC,cAAc,EAAE,cAAc,EAEjD;IAED,cAAc,EAAE,aAAa,EAAE,CAAM;IACrC,qEAAqE;IACrE,IACI,eAAe,CAAC,cAAc,EAAE,aAAa,EAAE,EAElD;IAED,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,gFAAgF;IAChF,IACI,mBAAmB,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,EAE9D;IAED,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,6EAA6E;IAC7E,IACI,qBAAqB,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,EAEpE;IAED,gCAAgC;IAEhC,UAAU,SAAM;IAEhB,2DAA2D;IAE3D,uBAAuB,UAAQ;IAE/B,mDAAmD;IAEnD,kBAAkB,UAAS;IAE3B;;;OAGG;IAEH,eAAe,SAAY;IAE3B;;;;;OAKG;IACM,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAU;IAE5D,sDAAsD;IAC7C,UAAU,UAAS;IAE5B,+CAA+C;IACrC,YAAY,uBAA8B;IACpD,8CAA8C;IACpC,aAAa,uBAA8B;IACrD,4CAA4C;IAClC,QAAQ,uBAA8B;IAChD,2DAA2D;IACjD,cAAc,2BAAkC;IAC1D,mDAAmD;IACzC,cAAc,uBAA8B;IACtD,qDAAqD;IAC3C,cAAc,uBAA8B;IACtD,2DAA2D;IACjD,QAAQ;qBACH,MAAM;mBACR,mBAAmB;4BACV,MAAM;OACvB;IACL,iJAAiJ;IACvI,WAAW,yBAAgC;IACrD,oDAAoD;IAC1C,QAAQ,qBAA4B;IAC9C,mDAAmD;IACzC,iBAAiB,mCAA0C;IACrE,qDAAqD;IAC3C,oBAAoB,uBAA8B;IAC5D,4DAA4D;IAClD,mBAAmB,uBAA8B;IAC3D,0DAA0D;IAChD,MAAM,2BAAkC;IAClD,qDAAqD;IAC3C,gBAAgB,2BAAkC;IAC5D,wDAAwD;IAC9C,iBAAiB,2BAAkC;IAC7D,wDAAwD;IAC9C,wBAAwB,2BAAkC;IAElC,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAG9E,aAAa,EAAE,sBAAsB,CAAC;IAEC,eAAe,EAAE,UAAU,CAAC;IAGnE,uBAAuB,EAAE,gBAAgB,CAAC;IAEA,UAAU,EAAE,0BAA0B,CAAC;IAEjF,iBAAiB,EAAE,iBAAiB,CAAC;IAErC,WAAW,QAAM;IAEjB,MAAM;;;;MAIJ;IAEF,WAAW,uBAA8B;IACzC,gBAAgB,UAAS;IACzB,yBAAyB,EAAE,MAAM,EAAE,CAAM;IAEzC,gBAAgB,0BAAyC;IACzD,eAAe,sBAGb;IAEF,eAAe,EAAE,MAAM,EAAE,CAAM;IAC/B,yBAAyB;;;MAGvB;IAEF,iBAAiB;;;;MAIf;IAEF,0BAA0B,EAAE,qBAAqB,EAAE,CAUjD;IAEF,oBAAoB,UAAS;IAC7B,kBAAkB,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IAEhD;;OAEG;IACH,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAa;IAE9F,gDAAgD;IAChD,sBAAsB,EAAE,sBAAsB,CAAgC;IAC9E,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;MAAc;IAExB,QAAQ,CAAC,eAAe,+BAAuC;IAE/D,sBAAsB;eAA6B,UAAU;0BAAoB,MAAM;OAAM;IAC7F,+BAA+B,2BAAkC;IACjE,6BAA6B,2BAAkC;IAE/D,sBAAsB,EAAE,MAAM,CAAyD;IAEvF,OAAO,CAAC,kBAAkB,CAGxB;IACiD,OAAO,CAAC,MAAM,CAAwB;IACzF,OAAO,CAAC,KAAK,CAAgB;IAG7B,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAExB,OAAO,CAAC,yBAAyB,CAAU;IAE3C,OAAO,CAAC,kBAAkB,CAAS;IAEnC,OAAO,CAAC,cAAc,CAAgB;IAEtC,OAAO,CAAC,oBAAoB,CAAgC;IAE5D,OAAO,CAAC,oBAAoB,CAA4C;IAExE,OAAO,CAAC,YAAY,CAAuB;IAE3C,OAAO,CAAC,aAAa,CAAyB;IAE9C,OAAO,CAAC,qBAAqB,CAAM;IAEnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAO;IAE5C,OAAO,CAAC,mBAAmB,CAA+B;IAE1D;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAA+B;gBAK7C,qBAAqB,EAAE,6BAA6B,EACnD,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,YAAY,EACvB,gBAAgB,EAAE,gBAAgB,EAClC,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,8BAA8B,EACrD,KAAK,EAAE,cAAc;IA0B/B,QAAQ;IA6ER,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAUzD,WAAW,CAAC,KAAK,KAAA;IAcjB,eAAe;IAMf,WAAW;IAKX,MAAM,CAAC,GAAG,EAAE,GAAG;IAaf,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAKxB,aAAa,gBAAY,GAAG,KAAG,OAAO,CAEpC;IAEF,UAAU,CAAC,MAAM,EAAE,UAAU;IAa7B,WAAW,CAAC,MAAM,EAAE,UAAU;IAiBxB,gBAAgB;IAchB,kBAAkB,CACtB,SAAS,EAAE,uBAAuB,EAClC,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,mBAAmB;IAsBnC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;IAqC9C,WAAW,CAAC,KAAK,KAAA,EAAE,IAAI,KAAA;IAIvB,gBAAgB,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA;IAQ1B,eAAe,CAAC,UAAU,KAAA;IAgB1B,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS;IAmBzD,WAAW,CAAC,UAAU,KAAA,EAAE,QAAQ,KAAA,EAAE,iBAAiB,KAAA;IAenD,WAAW,CAAC,UAAU,KAAA,EAAE,QAAQ,KAAA;IAOhC,YAAY,CAAC,MAAM,UAAO;IAY1B,eAAe,CACb,WAAW,EAAE,MAAM,EAAE,EACrB,MAAM,EAAE;QACN,IAAI,EAAE,mBAAmB,CAAC;QAC1B,OAAO,CAAC,EAAE;YAAE,iBAAiB,EAAE,iBAAiB,CAAA;SAAE,CAAC;KACpD,EACD,MAAM,UAAO;IAqBf,sBAAsB;IAWtB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAMjD,gBAAgB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE;;;KAAA;IAUvC,WAAW;IAOX,MAAM,CAAC,QAAQ,UAAO;IAUtB,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAmB5C,mBAAmB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE;;;;KAAA,GAAG,gBAAgB;IAIjE,yBAAyB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE;;;KAAA,GAAG,gBAAgB;IAIlE,4BAA4B,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE;;;KAAA,GAAG,yBAAyB;IAa7E,mBAAmB,CAAC,QAAQ,KAAA;IAM5B,gCAAgC,CAAC,QAAQ,KAAA;IAIzC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,KAAA;IAWrC,kBAAkB,CAAC,IAAI,EAAE,GAAG;IAK5B,MAAM;IAKN,cAAc,CAAC,IAAI,KAAA;IAInB,YAAY,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE;;;KAAA;IAiB5C,qBAAqB;IAarB,WAAW;IASX,qBAAqB,CAAC,MAAM,EAAE,MAAM;IAUpC,gBAAgB,CAAC,SAAS,CAAC,EAAE,aAAa;IAqB1C,YAAY,CAAC,SAAS,KAAA;IAOtB,WAAW,CAAC,GAAG,EAAE,GAAG;IAKpB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKvC,OAAO,CAAC,sBAAsB;IAkC9B,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,QAAQ;IAyBhB,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,kBAAkB;IA0B1B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,iBAAiB;IAoGzB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,oBAAoB;IAsB5B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,2BAA2B;IAOnC,OAAO,CAAC,2BAA2B;IAanC,OAAO,CAAC,qCAAqC;IAU7C,OAAO,CAAC,uBAAuB;IA2B/B,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,6BAA6B;IA8CrC,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,kBAAkB;IAa1B,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,qBAAqB;IA0B7B,OAAO,CAAC,0BAA0B;IAuBlC,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,mBAAmB;yCAt4ChB,iBAAiB;2CAAjB,iBAAiB;CAs5C7B"}
1
+ {"version":3,"file":"data-grid.component.d.ts","sourceRoot":"","sources":["../../../core/data-grid/data-grid.component.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,11 @@ import { TemplateRef, Type } from '@angular/core';
2
2
  import { FormGroup } from '@angular/forms';
3
3
  import { ActivatedRoute } from '@angular/router';
4
4
  import { IResultList } from '@c8y/client';
5
+ import { SupportedIconsSuggestions } from '@c8y/ngx-components/icon-selector/icons';
5
6
  import { FormlyFieldConfig } from '@ngx-formly/core';
6
7
  import { Observable } from 'rxjs';
7
8
  import { ExtensionFactory } from '../common/extension-hooks';
8
9
  import { GridConfigContext } from './data-grid-configuration.model';
9
- import { SupportedIconsSuggestions } from '@c8y/ngx-components/icon-selector/icons';
10
10
  /** Describes the interface of the data grid. */
11
11
  export interface DataGrid {
12
12
  /** The list of columns. */
@@ -204,6 +204,14 @@ export declare const enum SortOrderModifier {
204
204
  export interface Row {
205
205
  /** The unique identifier of the item. */
206
206
  id: string;
207
+ /** If the row has child nodes in a tree grid */
208
+ hasChildren?: boolean;
209
+ /** The parent row in case of a tree grid */
210
+ parentRow?: Row;
211
+ /** Pagination stats for child elements */
212
+ childrenStats?: DataSourceStats;
213
+ /** Pagination settings for loading child rows */
214
+ pagination?: Pagination;
207
215
  /** Any item property. */
208
216
  [key: string]: any;
209
217
  }
@@ -237,6 +245,8 @@ export interface DataSourceModifier {
237
245
  /** The name of the primary key. */
238
246
  primaryKey: string;
239
247
  };
248
+ /** The parent row in case of a tree grid */
249
+ parentRow?: Row;
240
250
  }
241
251
  /** Describes a result from server with data and additional statistics. */
242
252
  export type ServerSideDataResult = IResultList<object> & {
@@ -246,6 +256,8 @@ export type ServerSideDataResult = IResultList<object> & {
246
256
  filteredSize: number;
247
257
  /** The list of ids of all filtered items (subset). */
248
258
  filteredDataIds?: string[];
259
+ /** The row to which the results has to be assigned as child rows */
260
+ parentRow?: Row;
249
261
  };
250
262
  /** Describes an object with data source statistics. */
251
263
  export interface DataSourceStats {
@@ -1 +1 @@
1
- {"version":3,"file":"data-grid.model.d.ts","sourceRoot":"","sources":["../../../core/data-grid/data-grid.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-grid.model.d.ts","sourceRoot":"","sources":["../../../core/data-grid/data-grid.model.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,26 @@
1
1
  import { CollectionViewer, DataSource } from '@angular/cdk/collections';
2
2
  import { IResultList } from '@c8y/client';
3
3
  import { Observable } from 'rxjs';
4
- import { DataSourceStats } from './data-grid.model';
4
+ import { DataSourceStats, Row } from './data-grid.model';
5
5
  export declare class GridDataSource implements DataSource<object> {
6
6
  loading$: Observable<boolean>;
7
7
  data$: Observable<object[]>;
8
8
  stats$: Observable<DataSourceStats>;
9
9
  selection$: Observable<any>;
10
10
  resultList$: Observable<IResultList<object>>;
11
+ nodesLoading$: Observable<Row[]>;
12
+ set childNodesProperty(name: string);
11
13
  private loadingSubject;
12
14
  private dataSourceSubject;
13
15
  private dataStatsSubject;
14
16
  private dataSelectionSubject;
15
17
  private resultListSubject;
18
+ private nodesLoadingSubject;
19
+ private childNodesPropertyName;
16
20
  constructor();
17
21
  connect(_collectionViewer: CollectionViewer): Observable<object[]>;
18
22
  disconnect(_collectionViewer: CollectionViewer): void;
19
- loadData({ rows, columns, pagination, searchText, serverSideDataCallback, selectable, selectionPrimaryKey, infiniteScroll, reload }: {
23
+ loadData({ rows, columns, pagination, searchText, serverSideDataCallback, selectable, selectionPrimaryKey, infiniteScroll, reload, parentRow }: {
20
24
  rows: any;
21
25
  columns: any;
22
26
  pagination: any;
@@ -26,14 +30,19 @@ export declare class GridDataSource implements DataSource<object> {
26
30
  selectionPrimaryKey: any;
27
31
  infiniteScroll: any;
28
32
  reload?: boolean;
33
+ parentRow?: any;
29
34
  }): void;
35
+ collapseNode(row: Row): void;
30
36
  resolveValue(x: any, path: any): any;
31
37
  resolveFunction(x: any): any;
32
38
  normalizeNil(x: any): any;
39
+ private emitLoadingStart;
40
+ private emitLoadingEnd;
33
41
  private doClientSideFiltering;
34
42
  private doClientSideSearch;
35
43
  private doClientSideSorting;
36
44
  private doClientSidePagination;
37
45
  private createRegexSearch;
46
+ private isParent;
38
47
  }
39
48
  //# sourceMappingURL=grid-data-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid-data-source.d.ts","sourceRoot":"","sources":["../../../core/data-grid/grid-data-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAA0B,UAAU,EAAe,MAAM,MAAM,CAAC;AAGvE,OAAO,EAAU,eAAe,EAAwB,MAAM,mBAAmB,CAAC;AAElF,qBAAa,cAAe,YAAW,UAAU,CAAC,MAAM,CAAC;IACvD,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5B,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IACpC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5B,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAE7C,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,iBAAiB,CAAqC;IAC9D,OAAO,CAAC,gBAAgB,CAMrB;IACH,OAAO,CAAC,oBAAoB,CAEzB;IACH,OAAO,CAAC,iBAAiB,CAAsC;;IAU/D,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IAIlE,UAAU,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,IAAI;IAOrD,QAAQ,CAAC,EACP,IAAI,EACJ,OAAO,EACP,UAAU,EACV,UAAU,EACV,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,MAAc,EACf;;;;;;;;;;KAAA;IAuFD,YAAY,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAIpB,eAAe,CAAC,CAAC,KAAA;IAIjB,YAAY,CAAC,CAAC,KAAA;IAId,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,iBAAiB;CAG1B"}
1
+ {"version":3,"file":"grid-data-source.d.ts","sourceRoot":"","sources":["../../../core/data-grid/grid-data-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAA0B,UAAU,EAAe,MAAM,MAAM,CAAC;AAGvE,OAAO,EAAU,eAAe,EAAE,GAAG,EAAwB,MAAM,mBAAmB,CAAC;AAEvF,qBAAa,cAAe,YAAW,UAAU,CAAC,MAAM,CAAC;IACvD,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5B,MAAM,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;IACpC,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5B,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7C,aAAa,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;IACjC,IAAI,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAElC;IAED,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,iBAAiB,CAAqC;IAC9D,OAAO,CAAC,gBAAgB,CAMrB;IACH,OAAO,CAAC,oBAAoB,CAEzB;IACH,OAAO,CAAC,iBAAiB,CAAsC;IAC/D,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,sBAAsB,CAAgB;;IAW9C,OAAO,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;IAIlE,UAAU,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,IAAI;IAQrD,QAAQ,CAAC,EACP,IAAI,EACJ,OAAO,EACP,UAAU,EACV,UAAU,EACV,sBAAsB,EACtB,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,MAAc,EACd,SAAgB,EACjB;;;;;;;;;;;KAAA;IAiID,YAAY,CAAC,GAAG,EAAE,GAAG;IAKrB,YAAY,CAAC,CAAC,KAAA,EAAE,IAAI,KAAA;IAIpB,eAAe,CAAC,CAAC,KAAA;IAIjB,YAAY,CAAC,CAAC,KAAA;IAId,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,QAAQ;CAMjB"}
@@ -8,12 +8,16 @@ export * from './column/column.directive';
8
8
  export * from './column/custom.column';
9
9
  export * from './column/filtering-form-renderer';
10
10
  export * from './column/filtering-form-renderer.component';
11
+ export * from './column/tree-node-column/tree-node.cell-renderer.component';
12
+ export * from './column/tree-node-column/tree-node.data-grid-column';
13
+ export * from './column/tree-node-column/tree-node.header-cell-renderer.component';
11
14
  export * from './configure-custom-column';
12
15
  export * from './data-grid-configuration.model';
13
16
  export * from './data-grid.component';
14
17
  export * from './data-grid.model';
15
18
  export * from './data-grid.module';
16
19
  export * from './data-grid.service';
20
+ export * from './expandable-row.directive';
17
21
  export * from './filter-chip/filter-mapper-impl.service';
18
22
  export * from './filter-chip/filter-mapper.factory';
19
23
  export * from './filter-chip/filter-mapper.module';
@@ -25,5 +29,4 @@ export * from './legacy-grid-config-mapper.service';
25
29
  export * from './product-experience.constants';
26
30
  export * from './user-preferences-configuration-strategy.service';
27
31
  export * from './visible-controls.pipe';
28
- export * from './expandable-row.directive';
29
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/data-grid/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,iDAAiD,CAAC;AAChE,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0CAA0C,CAAC;AACzD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mDAAmD,CAAC;AAClE,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/data-grid/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sBAAsB,CAAC;AACrC,cAAc,iDAAiD,CAAC;AAChE,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,6DAA6D,CAAC;AAC5E,cAAc,sDAAsD,CAAC;AACrE,cAAc,oEAAoE,CAAC;AACnF,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0CAA0C,CAAC;AACzD,cAAc,qCAAqC,CAAC;AACpD,cAAc,oCAAoC,CAAC;AACnD,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,yCAAyC,CAAC;AACxD,cAAc,oBAAoB,CAAC;AACnC,cAAc,qCAAqC,CAAC;AACpD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mDAAmD,CAAC;AAClE,cAAc,yBAAyB,CAAC"}
@@ -317,10 +317,10 @@ export class BrandingComponent {
317
317
  }
318
318
  }
319
319
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BrandingComponent, deps: [{ token: i1.StoreBrandingService }, { token: i2.ActivatedRoute }, { token: i3.AppStateService }, { token: i4.ApplicationService }, { token: i3.ZipService }, { token: i5.StaticAssetsService }, { token: i2.Router }, { token: i6.BsModalService }, { token: i3.ModalService }, { token: i1.BrandingVersionService }, { token: i7.AddBrandingModalService }, { token: i3.AlertService }, { token: i8.BrandingImportModalService }, { token: i1.BrandingTrackingService }], target: i0.ɵɵFactoryTarget.Component }); }
320
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BrandingComponent, isStandalone: true, selector: "c8y-branding", ngImport: i0, template: "<c8y-title translate>Branding</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'palette'\"\n [label]=\"'Branding' | translate\"\n [path]=\"'/branding-editor'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<ng-container *ngIf=\"availableBrandingVariants$ | async as brandingVariant; else loading\">\n <c8y-action-bar-item\n *ngIf=\"brandingVariant.publicOptions\"\n [placement]=\"'right'\"\n [priority]=\"30\"\n >\n <button\n class=\"btn btn-link\"\n (click)=\"addNewVersion()\"\n data-cy=\"branding-add-branding-variant\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n <span translate>Add variant</span>\n </button>\n </c8y-action-bar-item>\n <c8y-action-bar-item\n [placement]=\"'right'\"\n [priority]=\"20\"\n >\n <button\n class=\"btn btn-link\"\n data-cy=\"branding-import-branding\"\n (click)=\"importBranding()\"\n >\n <i [c8yIcon]=\"'data-import'\"></i>\n <span translate>Import variant</span>\n </button>\n </c8y-action-bar-item>\n\n <c8y-action-bar-item\n *ngIf=\"brandingVariant.publicOptions\"\n [placement]=\"'right'\"\n [priority]=\"10\"\n >\n <button\n class=\"btn btn-link\"\n (click)=\"deleteAllBrandings(brandingVariant.publicOptions)\"\n data-cy=\"branding-remove-all-brandings\"\n >\n <i [c8yIcon]=\"'trash-o'\"></i>\n <span translate>Delete all variants</span>\n </button>\n </c8y-action-bar-item>\n\n <div class=\"content-fullpage d-flex d-col border-top\">\n <c8y-data-grid\n [title]=\"'Branding variants' | translate\"\n [columns]=\"columns\"\n [actionControls]=\"actionControls\"\n [pagination]=\"pagination\"\n [displayOptions]=\"displayOptions\"\n (onReload)=\"refresh()\"\n [rows]=\"brandingVariant.variants\"\n >\n <c8y-ui-empty-state\n [icon]=\"'palette'\"\n [title]=\"'No branding variants' | translate\"\n [subtitle]=\"\n 'Personalize your experience with a theme-able interface. Create a unique look that aligns with your brand identity.'\n | translate\n \"\n *ngIf=\"!brandingVariant.publicOptions\"\n [horizontal]=\"false\"\n >\n <button\n class=\"btn btn-default\"\n data-cy=\"branding-get-started-using-branding\"\n (click)=\"getStartedUsingBranding()\"\n translate\n >\n Add branding variant\n </button>\n </c8y-ui-empty-state>\n </c8y-data-grid>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <c8y-loading></c8y-loading>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "component", type: i3.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i3.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i3.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: i3.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i3.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "component", type: i3.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: i3.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "hideReload"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "component", type: i3.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "ngmodule", type: DataGridModule }] }); }
320
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: BrandingComponent, isStandalone: true, selector: "c8y-branding", ngImport: i0, template: "<c8y-title translate>Branding</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'palette'\"\n [label]=\"'Branding' | translate\"\n [path]=\"'/branding-editor'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<ng-container *ngIf=\"availableBrandingVariants$ | async as brandingVariant; else loading\">\n <c8y-action-bar-item\n *ngIf=\"brandingVariant.publicOptions\"\n [placement]=\"'right'\"\n [priority]=\"30\"\n >\n <button\n class=\"btn btn-link\"\n (click)=\"addNewVersion()\"\n data-cy=\"branding-add-branding-variant\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n <span translate>Add variant</span>\n </button>\n </c8y-action-bar-item>\n <c8y-action-bar-item\n [placement]=\"'right'\"\n [priority]=\"20\"\n >\n <button\n class=\"btn btn-link\"\n data-cy=\"branding-import-branding\"\n (click)=\"importBranding()\"\n >\n <i [c8yIcon]=\"'data-import'\"></i>\n <span translate>Import variant</span>\n </button>\n </c8y-action-bar-item>\n\n <c8y-action-bar-item\n *ngIf=\"brandingVariant.publicOptions\"\n [placement]=\"'right'\"\n [priority]=\"10\"\n >\n <button\n class=\"btn btn-link\"\n (click)=\"deleteAllBrandings(brandingVariant.publicOptions)\"\n data-cy=\"branding-remove-all-brandings\"\n >\n <i [c8yIcon]=\"'trash-o'\"></i>\n <span translate>Delete all variants</span>\n </button>\n </c8y-action-bar-item>\n\n <div class=\"content-fullpage d-flex d-col border-top\">\n <c8y-data-grid\n [title]=\"'Branding variants' | translate\"\n [columns]=\"columns\"\n [actionControls]=\"actionControls\"\n [pagination]=\"pagination\"\n [displayOptions]=\"displayOptions\"\n (onReload)=\"refresh()\"\n [rows]=\"brandingVariant.variants\"\n >\n <c8y-ui-empty-state\n [icon]=\"'palette'\"\n [title]=\"'No branding variants' | translate\"\n [subtitle]=\"\n 'Personalize your experience with a theme-able interface. Create a unique look that aligns with your brand identity.'\n | translate\n \"\n *ngIf=\"!brandingVariant.publicOptions\"\n [horizontal]=\"false\"\n >\n <button\n class=\"btn btn-default\"\n data-cy=\"branding-get-started-using-branding\"\n (click)=\"getStartedUsingBranding()\"\n translate\n >\n Add branding variant\n </button>\n </c8y-ui-empty-state>\n </c8y-data-grid>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <c8y-loading></c8y-loading>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: CoreModule }, { kind: "component", type: i3.ActionBarItemComponent, selector: "c8y-action-bar-item", inputs: ["placement", "priority", "itemClass", "injector", "groupId", "inGroupPriority"] }, { kind: "component", type: i3.BreadcrumbComponent, selector: "c8y-breadcrumb" }, { kind: "component", type: i3.BreadcrumbItemComponent, selector: "c8y-breadcrumb-item", inputs: ["icon", "translate", "label", "path", "injector"] }, { kind: "component", type: i3.EmptyStateComponent, selector: "c8y-ui-empty-state", inputs: ["icon", "title", "subtitle", "horizontal"] }, { kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }, { kind: "directive", type: i3.C8yTranslateDirective, selector: "[translate],[ngx-translate]" }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }, { kind: "component", type: i3.LoadingComponent, selector: "c8y-loading", inputs: ["layout", "progress", "message"] }, { kind: "component", type: i3.DataGridComponent, selector: "c8y-data-grid", inputs: ["title", "loadMoreItemsLabel", "loadingItemsLabel", "showSearch", "refresh", "columns", "rows", "pagination", "childNodePagination", "infiniteScroll", "serverSideDataCallback", "selectable", "singleSelection", "selectionPrimaryKey", "displayOptions", "actionControls", "bulkActionControls", "headerActionControls", "searchText", "configureColumnsEnabled", "showCounterWarning", "activeClassName", "expandableRows", "treeGrid", "hideReload", "childNodesProperty", "parentNodeLabelProperty"], outputs: ["rowMouseOver", "rowMouseLeave", "rowClick", "onConfigChange", "onBeforeFilter", "onBeforeSearch", "onFilter", "itemsSelect", "onReload", "onAddCustomColumn", "onRemoveCustomColumn", "onColumnFilterReset", "onSort", "onPageSizeChange", "onColumnReordered", "onColumnVisibilityChange"] }, { kind: "component", type: i3.TitleComponent, selector: "c8y-title", inputs: ["pageTitleUpdate"] }, { kind: "ngmodule", type: DataGridModule }] }); }
321
321
  }
322
322
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: BrandingComponent, decorators: [{
323
323
  type: Component,
324
324
  args: [{ selector: 'c8y-branding', standalone: true, imports: [CoreModule, DataGridModule], template: "<c8y-title translate>Branding</c8y-title>\n\n<c8y-breadcrumb>\n <c8y-breadcrumb-item\n [icon]=\"'palette'\"\n [label]=\"'Branding' | translate\"\n [path]=\"'/branding-editor'\"\n ></c8y-breadcrumb-item>\n</c8y-breadcrumb>\n\n<ng-container *ngIf=\"availableBrandingVariants$ | async as brandingVariant; else loading\">\n <c8y-action-bar-item\n *ngIf=\"brandingVariant.publicOptions\"\n [placement]=\"'right'\"\n [priority]=\"30\"\n >\n <button\n class=\"btn btn-link\"\n (click)=\"addNewVersion()\"\n data-cy=\"branding-add-branding-variant\"\n >\n <i c8yIcon=\"plus-circle\"></i>\n <span translate>Add variant</span>\n </button>\n </c8y-action-bar-item>\n <c8y-action-bar-item\n [placement]=\"'right'\"\n [priority]=\"20\"\n >\n <button\n class=\"btn btn-link\"\n data-cy=\"branding-import-branding\"\n (click)=\"importBranding()\"\n >\n <i [c8yIcon]=\"'data-import'\"></i>\n <span translate>Import variant</span>\n </button>\n </c8y-action-bar-item>\n\n <c8y-action-bar-item\n *ngIf=\"brandingVariant.publicOptions\"\n [placement]=\"'right'\"\n [priority]=\"10\"\n >\n <button\n class=\"btn btn-link\"\n (click)=\"deleteAllBrandings(brandingVariant.publicOptions)\"\n data-cy=\"branding-remove-all-brandings\"\n >\n <i [c8yIcon]=\"'trash-o'\"></i>\n <span translate>Delete all variants</span>\n </button>\n </c8y-action-bar-item>\n\n <div class=\"content-fullpage d-flex d-col border-top\">\n <c8y-data-grid\n [title]=\"'Branding variants' | translate\"\n [columns]=\"columns\"\n [actionControls]=\"actionControls\"\n [pagination]=\"pagination\"\n [displayOptions]=\"displayOptions\"\n (onReload)=\"refresh()\"\n [rows]=\"brandingVariant.variants\"\n >\n <c8y-ui-empty-state\n [icon]=\"'palette'\"\n [title]=\"'No branding variants' | translate\"\n [subtitle]=\"\n 'Personalize your experience with a theme-able interface. Create a unique look that aligns with your brand identity.'\n | translate\n \"\n *ngIf=\"!brandingVariant.publicOptions\"\n [horizontal]=\"false\"\n >\n <button\n class=\"btn btn-default\"\n data-cy=\"branding-get-started-using-branding\"\n (click)=\"getStartedUsingBranding()\"\n translate\n >\n Add branding variant\n </button>\n </c8y-ui-empty-state>\n </c8y-data-grid>\n </div>\n</ng-container>\n\n<ng-template #loading>\n <c8y-loading></c8y-loading>\n</ng-template>\n" }]
325
325
  }], ctorParameters: () => [{ type: i1.StoreBrandingService }, { type: i2.ActivatedRoute }, { type: i3.AppStateService }, { type: i4.ApplicationService }, { type: i3.ZipService }, { type: i5.StaticAssetsService }, { type: i2.Router }, { type: i6.BsModalService }, { type: i3.ModalService }, { type: i1.BrandingVersionService }, { type: i7.AddBrandingModalService }, { type: i3.AlertService }, { type: i8.BrandingImportModalService }, { type: i1.BrandingTrackingService }] });
326
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYnJhbmRpbmcvc2hhcmVkL2xhenkvYnJhbmRpbmcvYnJhbmRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vYnJhbmRpbmcvc2hhcmVkL2xhenkvYnJhbmRpbmcvYnJhbmRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBRUwsb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDeEIsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFjLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFFTCxZQUFZLEVBQ1osZUFBZSxFQUNmLGlCQUFpQixFQUdqQixZQUFZLEVBRVosTUFBTSxFQUNOLFVBQVUsRUFDVixPQUFPLEVBQ1AsVUFBVSxFQUNWLGNBQWMsRUFDZixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxrQkFBa0IsRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDeEgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkRB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ZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQnJhbmRWZXJzaW9uLFxuICBTdG9yZUJyYW5kaW5nU2VydmljZSxcbiAgQnJhbmRpbmdWZXJzaW9uU2VydmljZSxcbiAgQnJhbmRpbmdUcmFja2luZ1NlcnZpY2Vcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9icmFuZGluZy9zaGFyZWQvZGF0YSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEFjdGlvbkNvbnRyb2wsXG4gIEFsZXJ0U2VydmljZSxcbiAgQXBwU3RhdGVTZXJ2aWNlLFxuICBCdWlsdEluQWN0aW9uVHlwZSxcbiAgQ29sdW1uLFxuICBEaXNwbGF5T3B0aW9ucyxcbiAgTW9kYWxTZXJ2aWNlLFxuICBQYWdpbmF0aW9uLFxuICBTdGF0dXMsXG4gIFppcFNlcnZpY2UsXG4gIGdldHRleHQsXG4gIENvcmVNb2R1bGUsXG4gIERhdGFHcmlkTW9kdWxlXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25TZXJ2aWNlLCBJQXBwbGljYXRpb24gfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBzYXZlQXMgfSBmcm9tICdmaWxlLXNhdmVyJztcbmltcG9ydCB7IFN0YXRpY0Fzc2V0c1NlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL3N0YXRpYy1hc3NldHMvZGF0YSc7XG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgQXBwbHlCcmFuZGluZ1RvQXBwTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9hcHBseS1icmFuZGluZy10by1hcHAtbW9kYWwvYXBwbHktYnJhbmRpbmctdG8tYXBwLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZGRCcmFuZGluZ01vZGFsU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvYnJhbmRpbmcvc2hhcmVkL2xhenkvYWRkLWJyYW5kaW5nLW1vZGFsJztcbmltcG9ydCB7IEJyYW5kaW5nVGFnc0NlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4uL2JyYW5kaW5nLXRhZ3MtY2VsbC1yZW5kZXJlci9icmFuZGluZy10YWdzLWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJyYW5kaW5nSW1wb3J0TW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vYnJhbmRpbmctaW1wb3J0LW1vZGFsL2JyYW5kaW5nLWltcG9ydC1tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IEJyYW5kaW5nTmFtZUNlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4uL2JyYW5kaW5nLW5hbWUtY2VsbC1yZW5kZXJlci9icmFuZGluZy1uYW1lLWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJyYW5kaW5nVGFnc0hlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4uL2JyYW5kaW5nLXRhZ3MtaGVhZGVyLWNlbGwtcmVuZGVyZXIvYnJhbmRpbmctdGFncy1oZWFkZXItY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYnJhbmRpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJhbmRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgRGF0YUdyaWRNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEJyYW5kaW5nQ29tcG9uZW50IHtcbiAgcGFnaW5hdGlvbjogUGFnaW5hdGlvbiA9IHtcbiAgICBwYWdlU2l6ZTogMTAsXG4gICAgY3VycmVudFBhZ2U6IDFcbiAgfTtcbiAgZGlzcGxheU9wdGlvbnM6IERpc3BsYXlPcHRpb25zID0ge1xuICAgIGJvcmRlcmVkOiBmYWxzZSxcbiAgICBzdHJpcGVkOiB0cnVlLFxuICAgIGZpbHRlcjogdHJ1ZSxcbiAgICBncmlkSGVhZGVyOiB0cnVlLFxuICAgIGhvdmVyOiB0cnVlXG4gIH07XG4gIGFjdGlvbkNvbnRyb2xzOiBBY3Rpb25Db250cm9sW10gPSBbXG4gICAge1xuICAgICAgdHlwZTogQnVpbHRJbkFjdGlvblR5cGUuRWRpdCxcbiAgICAgIGNhbGxiYWNrOiAoZW50cnk6IEJyYW5kVmVyc2lvbiwgX3JlbG9hZCkgPT4ge1xuICAgICAgICB0aGlzLmVkaXRCcmFuZGluZyhlbnRyeS5uYW1lKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6IEJ1aWx0SW5BY3Rpb25UeXBlLkV4cG9ydCxcbiAgICAgIGNhbGxiYWNrOiBhc3luYyAoZW50cnk6IEJyYW5kVmVyc2lvbiwgX3JlbG9hZCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLmV4cG9ydEJyYW5kaW5nKGVudHJ5KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdwcmV2aWV3JyxcbiAgICAgIGljb246ICdleHRlcm5hbC1saW5rJyxcbiAgICAgIHRleHQ6IGdldHRleHQoJ09wZW4gcHJldmlldycpLFxuICAgICAgY2FsbGJhY2s6IGFzeW5jIChlbnRyeTogQnJhbmRWZXJzaW9uLCBfcmVsb2FkKSA9PiB7XG4gICAgICAgIHRoaXMuYnJhbmRpbmdzLm9wZW5QcmV2aWV3Rm9yQnJhbmRpbmcoZW50cnkubmFtZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnZHVwbGljYXRlJyxcbiAgICAgIGljb246ICdjb3B5JyxcbiAgICAgIHRleHQ6IGdldHRleHQoJ0R1cGxpY2F0ZScpLFxuICAgICAgY2FsbGJhY2s6IGFzeW5jIChlbnRyeTogQnJhbmRWZXJzaW9uLCBfcmVsb2FkKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMuZHVwbGljYXRlVmVyc2lvbihlbnRyeSk7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2FwcGx5LXRvLWFwcCcsXG4gICAgICBpY29uOiAnZm9ybScsXG4gICAgICB0ZXh0OiBnZXR0ZXh0KCdBcHBseSB0byBzcGVjaWZpYyBhcHBzJyksXG4gICAgICBjYWxsYmFjazogYXN5bmMgKGVudHJ5OiBCcmFuZFZlcnNpb24sIF9yZWxvYWQpID0+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5hcHBseVRvQXBwcyhlbnRyeSk7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ3NldC1hcy1kZWZhdWx0JyxcbiAgICAgIGljb246ICdnbG9iZTEnLFxuICAgICAgdGV4dDogZ2V0dGV4dCgnU2V0IGFzIGdsb2JhbCcpLFxuICAgICAgc2hvd0lmOiAoZW50cnk6IEJyYW5kVmVyc2lvbikgPT4ge1xuICAgICAgICBpZiAoZW50cnkudGFncz8uaW5jbHVkZXMoJ2xhdGVzdCcpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSxcbiAgICAgIGNhbGxiYWNrOiBhc3luYyAoZW50cnk6IEJyYW5kVmVyc2lvbiwgX3JlbG9hZCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuY29uZmlybU1vZGFsLmNvbmZpcm0oXG4gICAgICAgICAgICBnZXR0ZXh0KCdTZXQgYXMgZ2xvYmFsIGJyYW5kaW5nJyksXG4gICAgICAgICAgICBnZXR0ZXh0KFxuICAgICAgICAgICAgICAnQXJlIHlvdSBzdXJlIHRoYXQgeW91IHdhbnQgdG8gc2V0IHRoaXMgdmFyaWFudCBhcyB0aGUgZ2xvYmFsIGJyYW5kaW5nPyBCeSBkb2luZyBzbywgdGhpcyB2YXJpYW50IHdpbGwgYmUgYXBwbGllZCB0byBhbGwgYXBwcyB0aGF0IGRvIG5vdCBoYXZlIGEgc3BlY2lmaWMgYnJhbmRpbmcgYXBwbGllZC4gRG8geW91IHdhbnQgdG8gcHJvY2VlZD8nXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgU3RhdHVzLklORk9cbiAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAvLyBkaWQgbm90IGNvbmZpcm1cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgdGhpcy5icmFuZGluZ3MubWFya0FzQWN0aXZlKGVudHJ5KTtcbiAgICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiBCdWlsdEluQWN0aW9uVHlwZS5EZWxldGUsXG4gICAgICBzaG93SWY6IChlbnRyeTogQnJhbmRWZXJzaW9uKSA9PiB7XG4gICAgICAgIGlmIChlbnRyeS50YWdzPy5pbmNsdWRlcygnbGF0ZXN0JykpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9LFxuICAgICAgY2FsbGJhY2s6IGFzeW5jIChlbnRyeTogQnJhbmRWZXJzaW9uLCBfcmVsb2FkKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5jb25maXJtTW9kYWwuY29uZmlybShcbiAgICAgICAgICAgIGdldHRleHQoJ0RlbGV0ZSBicmFuZGluZyB2YXJpYW50JyksXG4gICAgICAgICAgICBnZXR0ZXh0KFxuICAgICAgICAgICAgICAnWW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhpcyBicmFuZGluZyB2YXJpYW50LiBUaGlzIGFjdGlvbiBjYW5ub3QgYmUgdW5kb25lLiBEbyB5b3Ugd2FudCB0byBwcm9jZWVkPydcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBTdGF0dXMuREFOR0VSXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLy8gZGlkIG5vdCBjb25maXJtXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5icmFuZGluZ1RyYWNraW5nLmRlbGV0ZUJyYW5kaW5nVmFyaWFudCgpO1xuICAgICAgICBhd2FpdCB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS5kZWxldGVWZXJzaW9uUGFja2FnZShlbnRyeS5wdWJsaWNPcHRpb25zQXBwLCB7XG4gICAgICAgICAgdmVyc2lvbjogZW50cnkudmVyc2lvblxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICB9XG4gICAgfVxuICBdO1xuICBjb2x1bW5zOiBDb2x1bW5bXSA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnbmFtZScsXG4gICAgICBoZWFkZXI6IGdldHRleHQoJ05hbWUnKSxcbiAgICAgIHBhdGg6ICduYW1lJyxcbiAgICAgIGZpbHRlcmFibGU6IHRydWUsXG4gICAgICBjZWxsUmVuZGVyZXJDb21wb25lbnQ6IEJyYW5kaW5nTmFtZUNlbGxSZW5kZXJlckNvbXBvbmVudFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogZ2V0dGV4dCgnQXBwbGllZCB0b2BBcHBsaWNhdGlvbnMgYSBicmFuZGluZyBhcHBsaWVzIHRvICh0YWJsZSBjb2x1bW4gaGVhZGVyKWAnKSxcbiAgICAgIHBhdGg6ICd0YWdzJyxcbiAgICAgIGZpbHRlcmFibGU6IGZhbHNlLFxuICAgICAgY2VsbENTU0NsYXNzTmFtZTogJ3NtYWxsJyxcbiAgICAgIGNlbGxSZW5kZXJlckNvbXBvbmVudDogQnJhbmRpbmdUYWdzQ2VsbFJlbmRlcmVyQ29tcG9uZW50LFxuICAgICAgaGVhZGVyQ2VsbFJlbmRlcmVyQ29tcG9uZW50OiBCcmFuZGluZ1RhZ3NIZWFkZXJDZWxsUmVuZGVyZXJDb21wb25lbnRcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdvd25lcicsXG4gICAgICBoZWFkZXI6IGdldHRleHQoJ093bmVyJyksXG4gICAgICBwYXRoOiAnb3duZXInLFxuICAgICAgZmlsdGVyYWJsZTogZmFsc2VcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdsYXN0VXBkYXRlZCcsXG4gICAgICBoZWFkZXI6IGdldHRleHQoJ0xhc3QgdXBkYXRlZCcpLFxuICAgICAgcGF0aDogJ2xhc3RVcGRhdGVkJyxcbiAgICAgIGZpbHRlcmFibGU6IGZhbHNlXG4gICAgfVxuICBdO1xuICBjdXJyZW50QXBwQ29udGV4dFBhdGggPSAnYWRtaW5pc3RyYXRpb24nO1xuICBhdmFpbGFibGVCcmFuZGluZ1ZhcmlhbnRzJDogT2JzZXJ2YWJsZTx7XG4gICAgcHVibGljT3B0aW9uczogSUFwcGxpY2F0aW9uO1xuICAgIHZhcmlhbnRzOiBCcmFuZFZlcnNpb25bXTtcbiAgfT47XG5cbiAgcHJpdmF0ZSByZWxvYWRUcmlnZ2VyID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJyYW5kaW5nczogU3RvcmVCcmFuZGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwbGljYXRpb25TZXJ2aWNlOiBBcHBsaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB6aXA6IFppcFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdGF0aWNBc3NldHM6IFN0YXRpY0Fzc2V0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIG1vZGFsOiBCc01vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpcm1Nb2RhbDogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnJhbmRpbmdWZXJzaW9uU2VydmljZTogQnJhbmRpbmdWZXJzaW9uU2VydmljZSxcbiAgICBwcml2YXRlIGFkZEJyYW5kaW5nTW9kYWxTZXJ2aWNlOiBBZGRCcmFuZGluZ01vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0OiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBicmFuZGluZ0ltcG9ydE1vZGFsU2VydmljZTogQnJhbmRpbmdJbXBvcnRNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBicmFuZGluZ1RyYWNraW5nOiBCcmFuZGluZ1RyYWNraW5nU2VydmljZVxuICApIHtcbiAgICB0aGlzLmN1cnJlbnRBcHBDb250ZXh0UGF0aCA9IHRoaXMuYXBwU3RhdGUuc3RhdGUuYXBwPy5jb250ZXh0UGF0aCB8fCB0aGlzLmN1cnJlbnRBcHBDb250ZXh0UGF0aDtcbiAgICB0aGlzLmF2YWlsYWJsZUJyYW5kaW5nVmFyaWFudHMkID0gdGhpcy5yZWxvYWRUcmlnZ2VyLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5icmFuZGluZ3MubG9hZEJyYW5kaW5nVmFyaWFudHMoKSksXG4gICAgICAvLyBoaWRlIHRoZSBmYWxsYmFjayBmcm9tIHVzZXJzXG4gICAgICBtYXAodmFyaWFudHMgPT4ge1xuICAgICAgICB2YXJpYW50cy52YXJpYW50cyA9IHZhcmlhbnRzLnZhcmlhbnRzLmZpbHRlcih2ID0+ICF2LnRhZ3M/LmluY2x1ZGVzKCdmYWxsYmFjaycpKTtcbiAgICAgICAgcmV0dXJuIHZhcmlhbnRzO1xuICAgICAgfSksXG4gICAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUFsbEJyYW5kaW5ncyhwdWJsaWNPcHRpb25zPzogSUFwcGxpY2F0aW9uKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb25maXJtTW9kYWwuY29uZmlybShcbiAgICAgIGdldHRleHQoJ0RlbGV0ZSBhbGwgYnJhbmRpbmcgdmFyaWFudHMnKSxcbiAgICAgIGdldHRleHQoXG4gICAgICAgIGA8cCBjbGFzcz1cIm0tYi04XCI+XG4gICAgICAgICAgVGhpcyBhY3Rpb24gd2lsbCBwZXJtYW5lbnRseSByZW1vdmUgYWxsIGN1c3RvbSBicmFuZGluZyB2YXJpYW50cy4gWW91ciB0ZW5hbnQgd2lsbCByZXZlcnRcbiAgICAgICAgICB0byB0aGUgZGVmYXVsdCBicmFuZGluZy5cbiAgICAgICAgPC9wPlxuICAgICAgICA8cCBjbGFzcz1cIm0tYi04XCI+XG4gICAgICAgICAgQ29uc2lkZXIgZXhwb3J0aW5nIHlvdXIgY3VzdG9tIGJyYW5kaW5nIHZhcmlhbnRzIGJlZm9yZSBwcm9jZWVkaW5nLCBhcyB0aGlzIGFjdGlvbiBjYW5ub3RcbiAgICAgICAgICBiZSB1bmRvbmUuXG4gICAgICAgIDwvcD5cbiAgICAgICAgPHA+XG4gICAgICAgICAgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNvbnRpbnVlP1xuICAgICAgICA8L3A+YFxuICAgICAgKSxcbiAgICAgIFN0YXR1cy5EQU5HRVIsXG4gICAgICB7IGNhbmNlbDogZ2V0dGV4dCgnQ2FuY2VsJyksIG9rOiBnZXR0ZXh0KCdEZWxldGUgYWxsJykgfVxuICAgICk7XG4gICAgaWYgKHJlc3VsdCA9PT0gZmFsc2UgfHwgKHR5cGVvZiByZXN1bHQgPT09ICdvYmplY3QnICYmICFyZXN1bHQuY29uZmlybWVkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYnJhbmRpbmdUcmFja2luZy5kZWxldGVBbGxCcmFuZGluZ3MoKTtcblxuICAgIGF3YWl0IHRoaXMuYnJhbmRpbmdzLmRlbGV0ZUFsbEJyYW5kaW5ncyhwdWJsaWNPcHRpb25zKTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIGFzeW5jIGV4cG9ydEJyYW5kaW5nKHZhcmlhbnQ6IEJyYW5kVmVyc2lvbikge1xuICAgIHRoaXMuYnJhbmRpbmdUcmFja2luZy5leHBvcnRCcmFuZGluZygpO1xuICAgIGNvbnN0IGJyYW5kaW5nID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5icmFuZGluZ3MuZ2V0WmlwRm9yQmluYXJ5KHZhcmlhbnQuaWQpKTtcbiAgICBjb25zdCBzdGF0aWNBc3NldHNBcHAgPSBhd2FpdCB0aGlzLnN0YXRpY0Fzc2V0cy5nZXRBcHBGb3JUZW5hbnQoJ2JyYW5kaW5nJyk7XG4gICAgY29uc3Qgc3RhdGljQXNzZXRzWmlwID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmJyYW5kaW5ncy5nZXRaaXBGb3JCaW5hcnkoXG4gICAgICAgIHN0YXRpY0Fzc2V0c0FwcC5hY3RpdmVWZXJzaW9uSWQsXG4gICAgICAgIHRoaXMuc3RhdGljQXNzZXRzLmZpbGVOYW1lcy5leHBvcnRaaXBOYW1lXG4gICAgICApXG4gICAgKTtcbiAgICBjb25zdCBibG9iID0gYXdhaXQgdGhpcy56aXAuY3JlYXRlWmlwKFtcbiAgICAgIHsgZmlsZU5hbWU6IHRoaXMuYnJhbmRpbmdzLmZpbGVOYW1lcy5leHBvcnRaaXBOYW1lLCBibG9iOiBicmFuZGluZyB9LFxuICAgICAgeyBmaWxlTmFtZTogdGhpcy5zdGF0aWNBc3NldHMuZmlsZU5hbWVzLmV4cG9ydFppcE5hbWUsIGJsb2I6IHN0YXRpY0Fzc2V0c1ppcCB9XG4gICAgXSk7XG4gICAgc2F2ZUFzKGJsb2IsIGBicmFuZGluZy1leHBvcnQtJHt2YXJpYW50Lm5hbWV9LSR7dmFyaWFudC5yZXZpc2lvbn0tJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX0uemlwYCk7XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMucmVsb2FkVHJpZ2dlci5uZXh0KCk7XG4gIH1cblxuICBhc3luYyBhZGROZXdWZXJzaW9uKCkge1xuICAgIGNvbnN0IHZlcnNpb25EZXRhaWxzID0gYXdhaXQgdGhpcy5hZGRCcmFuZGluZ01vZGFsU2VydmljZS5vcGVuQWRkQnJhbmRpbmdNb2RhbCgpO1xuICAgIGlmICghdmVyc2lvbkRldGFpbHMpIHtcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgZmFsbEJhY2tCcmFuZGluZyA9IHt9O1xuICAgIHRyeSB7XG4gICAgICBmYWxsQmFja0JyYW5kaW5nID0gYXdhaXQgdGhpcy5icmFuZGluZ3MuZ2V0QnJhbmRpbmdPcHRpb25zRm9yVmVyc2lvbignbGF0ZXN0Jyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS53YXJuKGBGYWlsZWQgdG8gbG9hZCBsYXRlc3QgYnJhbmRpbmdgKTtcbiAgICB9XG5cbiAgICB0aGlzLmJyYW5kaW5nVHJhY2tpbmcuYWRkTmV3VmVyc2lvbigpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuYnJhbmRpbmdzLmFkZEJyYW5kaW5nKFxuICAgICAgICB0aGlzLmJyYW5kaW5nVmVyc2lvblNlcnZpY2UuY3JlYXRlSW5pdGlhbEJyYW5kaW5nVmVyc2lvbih2ZXJzaW9uRGV0YWlscy5icmFuZGluZ05hbWUpLFxuICAgICAgICBmYWxsQmFja0JyYW5kaW5nLFxuICAgICAgICBbdmVyc2lvbkRldGFpbHMuYnJhbmRpbmdOYW1lXVxuICAgICAgKTtcbiAgICAgIGF3YWl0IHRoaXMuYnJhbmRpbmdzLndhaXRGb3JCcmFuZGluZ1RvQmVQcmVzZW50KHZlcnNpb25EZXRhaWxzLmJyYW5kaW5nTmFtZSk7XG4gICAgICB0aGlzLmVkaXRCcmFuZGluZyh2ZXJzaW9uRGV0YWlscy5icmFuZGluZ05hbWUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZShlLCAnZGFuZ2VyJyk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZHVwbGljYXRlVmVyc2lvbih2ZXJzaW9uOiBCcmFuZFZlcnNpb24pIHtcbiAgICBjb25zdCBvcHRpb25zID0gYXdhaXQgdGhpcy5icmFuZGluZ3MuZ2V0QnJhbmRpbmdPcHRpb25zRm9yVmVyc2lvbih2ZXJzaW9uLnZlcnNpb24pO1xuICAgIGNvbnN0IHZlcnNpb25EZXRhaWxzID0gYXdhaXQgdGhpcy5hZGRCcmFuZGluZ01vZGFsU2VydmljZS5vcGVuRHVwbGljYXRlQnJhbmRpbmdNb2RhbCgpO1xuICAgIGlmICghdmVyc2lvbkRldGFpbHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmJyYW5kaW5nVHJhY2tpbmcuZHVwbGljYXRlVmVyc2lvbigpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuYnJhbmRpbmdzLmFkZEJyYW5kaW5nKFxuICAgICAgICB0aGlzLmJyYW5kaW5nVmVyc2lvblNlcnZpY2UuY3JlYXRlSW5pdGlhbEJyYW5kaW5nVmVyc2lvbih2ZXJzaW9uRGV0YWlscy5icmFuZGluZ05hbWUpLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICBbdmVyc2lvbkRldGFpbHMuYnJhbmRpbmdOYW1lXVxuICAgICAgKTtcbiAgICAgIGF3YWl0IHRoaXMuYnJhbmRpbmdzLndhaXRGb3JCcmFuZGluZ1RvQmVQcmVzZW50KHZlcnNpb25EZXRhaWxzLmJyYW5kaW5nTmFtZSk7XG4gICAgICB0aGlzLmVkaXRCcmFuZGluZyh2ZXJzaW9uRGV0YWlscy5icmFuZGluZ05hbWUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZShlLCAnZGFuZ2VyJyk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZWRpdEJyYW5kaW5nKGJyYW5kaW5nTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFticmFuZGluZ05hbWUsICdlZGl0J10sIHsgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldFN0YXJ0ZWRVc2luZ0JyYW5kaW5nKCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY29uZmlybU1vZGFsLmNvbmZpcm0oXG4gICAgICBnZXR0ZXh0KGBHZXQgc3RhcnRlZCB1c2luZyBicmFuZGluZyB2YXJpYW50c2ApLFxuICAgICAgZ2V0dGV4dChcbiAgICAgICAgYDxwIGNsYXNzPVwibS1iLThcIj5Db25maXJtaW5nIHRoaXMgYWN0aW9uIGNyZWF0ZXMgdHdvIGJyYW5kaW5nIHZhcmlhbnRzOjwvcD5cbiAgICAgICAgPHVsIGNsYXNzPVwibS1iLTggcC1sLTE2XCI+XG4gICAgICAgICAgPGxpPkEgZGVmYXVsdCBjb3B5IG9mIHlvdXIgY3VycmVudCBnbG9iYWwgYnJhbmRpbmc8L2xpPlxuICAgICAgICAgIDxsaT5Zb3VyIG5ldyBjdXN0b21pemFibGUgdmFyaWFudC48L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgICA8cCBjbGFzcz1cIm0tYi04XCI+XG4gICAgICAgICAgQWZ0ZXIgY3VzdG9taXphdGlvbiwgeW91IGNhbiBzZXQgeW91ciBuZXcgdmFyaWFudCBhcyBnbG9iYWwgb3IgYXBwbHkgaXQgdG8gc3BlY2lmaWMgYXBwcy5cbiAgICAgICAgPC9wPlxuICAgICAgICA8cD5cbiAgICAgICAgICBUbyByZXZlcnQgY2hhbmdlcywgc2ltcGx5IHNldCB0aGUgZGVmYXVsdCBicmFuZGluZyBhcyBnbG9iYWwgb3IgdXNlIHRoZSBcIkRlbGV0ZSBhbGwgdmFyaWFudHNcIiBidXR0b24gYXQgYW55IHRpbWUuXG4gICAgICAgIDwvcD5gXG4gICAgICApXG4gICAgKTtcbiAgICBpZiAocmVzdWx0ID09PSBmYWxzZSB8fCAodHlwZW9mIHJlc3VsdCA9PT0gJ29iamVjdCcgJiYgIXJlc3VsdC5jb25maXJtZWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5icmFuZGluZ1RyYWNraW5nLmdldFN0YXJ0ZWRVc2luZ0JyYW5kaW5nKCk7XG5cbiAgICBhd2FpdCB0aGlzLmJyYW5kaW5ncy5nZXRTdGFydGVkVXNpbmdCcmFuZGluZygpO1xuICAgIGF3YWl0IHRoaXMuYWRkTmV3VmVyc2lvbigpO1xuICB9XG5cbiAgYXN5bmMgYXBwbHlUb0FwcHModmVyc2lvbjogQnJhbmRWZXJzaW9uKSB7XG4gICAgY29uc3QgcHJlZml4ID0gJ2FwcC0nO1xuICAgIGNvbnN0IGN1cnJlbnRUYWdzID0gdmVyc2lvbi50YWdzXG4gICAgICAuZmlsdGVyKHRhZyA9PiB0YWcuc3RhcnRzV2l0aChwcmVmaXgpKVxuICAgICAgLm1hcCh0YWcgPT4gdGFnLnJlcGxhY2UocHJlZml4LCAnJykpO1xuICAgIGNvbnN0IG90aGVyVGFncyA9IHZlcnNpb24udGFncy5maWx0ZXIodGFnID0+ICF0YWcuc3RhcnRzV2l0aChwcmVmaXgpKTtcbiAgICBsZXQgc2VsZWN0ZWRUYWdzOiBBd2FpdGVkPEFwcGx5QnJhbmRpbmdUb0FwcE1vZGFsQ29tcG9uZW50WydyZXN1bHQnXT47XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbC5zaG93KEFwcGx5QnJhbmRpbmdUb0FwcE1vZGFsQ29tcG9uZW50LCB7XG4gICAgICAgIGluaXRpYWxTdGF0ZTogeyBjdXJyZW50VGFncyB9LFxuICAgICAgICBpZ25vcmVCYWNrZHJvcENsaWNrOiB0cnVlLFxuICAgICAgICBrZXlib2FyZDogZmFsc2VcbiAgICAgIH0pO1xuICAgICAgc2VsZWN0ZWRUYWdzID0gYXdhaXQgbW9kYWxSZWYuY29udGVudC5yZXN1bHQ7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gbW9kYWwgY2xvc2VkXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0ZWRBcHBzID0gT2JqZWN0LmtleXMoc2VsZWN0ZWRUYWdzKS5maWx0ZXIoa2V5ID0+IHNlbGVjdGVkVGFnc1trZXldKTtcblxuICAgIHRoaXMuYnJhbmRpbmdUcmFja2luZy5hcHBseVRvQXBwcyhzZWxlY3RlZEFwcHMpO1xuXG4gICAgY29uc3QgdGFnc1RvU2V0ID0gWy4uLm90aGVyVGFncywgLi4uc2VsZWN0ZWRBcHBzLm1hcCh0YWcgPT4gYCR7cHJlZml4fSR7dGFnfWApXTtcblxuICAgIGF3YWl0IHRoaXMucmVtb3ZlVGFnc0Zyb21PdGhlclZlcnNpb25zKHZlcnNpb24ucHVibGljT3B0aW9uc0FwcCwgdGFnc1RvU2V0LCB2ZXJzaW9uLnZlcnNpb24pO1xuICAgIGF3YWl0IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLnNldFBhY2thZ2VWZXJzaW9uVGFnKFxuICAgICAgdmVyc2lvbi5wdWJsaWNPcHRpb25zQXBwLFxuICAgICAgdmVyc2lvbi52ZXJzaW9uLFxuICAgICAgdGFnc1RvU2V0XG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGltcG9ydEJyYW5kaW5nKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmJyYW5kaW5nSW1wb3J0TW9kYWxTZXJ2aWNlLm9wZW5CcmFuZGluZ0ltcG9ydE1vZGFsKCk7XG5cbiAgICAgIHRoaXMuYnJhbmRpbmdzLnJlZnJlc2hUcmlnZ2VyQnJhbmRpbmdWYXJpYW50cy5uZXh0KCk7XG4gICAgICB0aGlzLnJlbG9hZFRyaWdnZXIubmV4dCgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIG1vZGFsIGNsb3NlZFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVtb3ZlVGFnc0Zyb21PdGhlclZlcnNpb25zKFxuICAgIHB1YmxpY09wdGlvbnNBcHA6IElBcHBsaWNhdGlvbixcbiAgICB0YWdzVG9SZW1vdmU6IHN0cmluZ1tdLFxuICAgIHZlcnNpb25Ub0lnbm9yZT86IHN0cmluZ1xuICApIHtcbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gb2YgcHVibGljT3B0aW9uc0FwcC5hcHBsaWNhdGlvblZlcnNpb25zKSB7XG4gICAgICBpZiAodmVyc2lvbi52ZXJzaW9uID09PSB2ZXJzaW9uVG9JZ25vcmUpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCByZW1vdmVkVGFncyA9IHZlcnNpb24udGFncy5maWx0ZXIodGFnID0+ICF0YWdzVG9SZW1vdmUuaW5jbHVkZXModGFnKSk7XG4gICAgICBpZiAocmVtb3ZlZFRhZ3MubGVuZ3RoID09PSB2ZXJzaW9uLnRhZ3MubGVuZ3RoKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy5hcHBsaWNhdGlvblNlcnZpY2Uuc2V0UGFja2FnZVZlcnNpb25UYWcoXG4gICAgICAgIHB1YmxpY09wdGlvbnNBcHAsXG4gICAgICAgIHZlcnNpb24udmVyc2lvbixcbiAgICAgICAgcmVtb3ZlZFRhZ3NcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCI8Yzh5LXRpdGxlIHRyYW5zbGF0ZT5CcmFuZGluZzwvYzh5LXRpdGxlPlxuXG48Yzh5LWJyZWFkY3J1bWI+XG4gIDxjOHktYnJlYWRjcnVtYi1pdGVtXG4gICAgW2ljb25dPVwiJ3BhbGV0dGUnXCJcbiAgICBbbGFiZWxdPVwiJ0JyYW5kaW5nJyB8IHRyYW5zbGF0ZVwiXG4gICAgW3BhdGhdPVwiJy9icmFuZGluZy1lZGl0b3InXCJcbiAgPjwvYzh5LWJyZWFkY3J1bWItaXRlbT5cbjwvYzh5LWJyZWFkY3J1bWI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJhdmFpbGFibGVCcmFuZGluZ1ZhcmlhbnRzJCB8IGFzeW5jIGFzIGJyYW5kaW5nVmFyaWFudDsgZWxzZSBsb2FkaW5nXCI+XG4gIDxjOHktYWN0aW9uLWJhci1pdGVtXG4gICAgKm5nSWY9XCJicmFuZGluZ1ZhcmlhbnQucHVibGljT3B0aW9uc1wiXG4gICAgW3BsYWNlbWVudF09XCIncmlnaHQnXCJcbiAgICBbcHJpb3JpdHldPVwiMzBcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmtcIlxuICAgICAgKGNsaWNrKT1cImFkZE5ld1ZlcnNpb24oKVwiXG4gICAgICBkYXRhLWN5PVwiYnJhbmRpbmctYWRkLWJyYW5kaW5nLXZhcmlhbnRcIlxuICAgID5cbiAgICAgIDxpIGM4eUljb249XCJwbHVzLWNpcmNsZVwiPjwvaT5cbiAgICAgIDxzcGFuIHRyYW5zbGF0ZT5BZGQgdmFyaWFudDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuICA8Yzh5LWFjdGlvbi1iYXItaXRlbVxuICAgIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiXG4gICAgW3ByaW9yaXR5XT1cIjIwXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICAgIGRhdGEtY3k9XCJicmFuZGluZy1pbXBvcnQtYnJhbmRpbmdcIlxuICAgICAgKGNsaWNrKT1cImltcG9ydEJyYW5kaW5nKClcIlxuICAgID5cbiAgICAgIDxpIFtjOHlJY29uXT1cIidkYXRhLWltcG9ydCdcIj48L2k+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+SW1wb3J0IHZhcmlhbnQ8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuICA8Yzh5LWFjdGlvbi1iYXItaXRlbVxuICAgICpuZ0lmPVwiYnJhbmRpbmdWYXJpYW50LnB1YmxpY09wdGlvbnNcIlxuICAgIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiXG4gICAgW3ByaW9yaXR5XT1cIjEwXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICAgIChjbGljayk9XCJkZWxldGVBbGxCcmFuZGluZ3MoYnJhbmRpbmdWYXJpYW50LnB1YmxpY09wdGlvbnMpXCJcbiAgICAgIGRhdGEtY3k9XCJicmFuZGluZy1yZW1vdmUtYWxsLWJyYW5kaW5nc1wiXG4gICAgPlxuICAgICAgPGkgW2M4eUljb25dPVwiJ3RyYXNoLW8nXCI+PC9pPlxuICAgICAgPHNwYW4gdHJhbnNsYXRlPkRlbGV0ZSBhbGwgdmFyaWFudHM8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuICA8ZGl2IGNsYXNzPVwiY29udGVudC1mdWxscGFnZSBkLWZsZXggZC1jb2wgYm9yZGVyLXRvcFwiPlxuICAgIDxjOHktZGF0YS1ncmlkXG4gICAgICBbdGl0bGVdPVwiJ0JyYW5kaW5nIHZhcmlhbnRzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcbiAgICAgIFthY3Rpb25Db250cm9sc109XCJhY3Rpb25Db250cm9sc1wiXG4gICAgICBbcGFnaW5hdGlvbl09XCJwYWdpbmF0aW9uXCJcbiAgICAgIFtkaXNwbGF5T3B0aW9uc109XCJkaXNwbGF5T3B0aW9uc1wiXG4gICAgICAob25SZWxvYWQpPVwicmVmcmVzaCgpXCJcbiAgICAgIFtyb3dzXT1cImJyYW5kaW5nVmFyaWFudC52YXJpYW50c1wiXG4gICAgPlxuICAgICAgPGM4eS11aS1lbXB0eS1zdGF0ZVxuICAgICAgICBbaWNvbl09XCIncGFsZXR0ZSdcIlxuICAgICAgICBbdGl0bGVdPVwiJ05vIGJyYW5kaW5nIHZhcmlhbnRzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtzdWJ0aXRsZV09XCJcbiAgICAgICAgICAnUGVyc29uYWxpemUgeW91ciBleHBlcmllbmNlIHdpdGggYSB0aGVtZS1hYmxlIGludGVyZmFjZS4gQ3JlYXRlIGEgdW5pcXVlIGxvb2sgdGhhdCBhbGlnbnMgd2l0aCB5b3VyIGJyYW5kIGlkZW50aXR5LidcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgIFwiXG4gICAgICAgICpuZ0lmPVwiIWJyYW5kaW5nVmFyaWFudC5wdWJsaWNPcHRpb25zXCJcbiAgICAgICAgW2hvcml6b250YWxdPVwiZmFsc2VcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgICAgICAgIGRhdGEtY3k9XCJicmFuZGluZy1nZXQtc3RhcnRlZC11c2luZy1icmFuZGluZ1wiXG4gICAgICAgICAgKGNsaWNrKT1cImdldFN0YXJ0ZWRVc2luZ0JyYW5kaW5nKClcIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICA+XG4gICAgICAgICAgQWRkIGJyYW5kaW5nIHZhcmlhbnRcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2M4eS11aS1lbXB0eS1zdGF0ZT5cbiAgICA8L2M4eS1kYXRhLWdyaWQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgPGM4eS1sb2FkaW5nPjwvYzh5LWxvYWRpbmc+XG48L25nLXRlbXBsYXRlPlxuIl19
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhbmRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYnJhbmRpbmcvc2hhcmVkL2xhenkvYnJhbmRpbmcvYnJhbmRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vYnJhbmRpbmcvc2hhcmVkL2xhenkvYnJhbmRpbmcvYnJhbmRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBRUwsb0JBQW9CLEVBQ3BCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDeEIsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFjLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFFTCxZQUFZLEVBQ1osZUFBZSxFQUNmLGlCQUFpQixFQUdqQixZQUFZLEVBRVosTUFBTSxFQUNOLFVBQVUsRUFDVixPQUFPLEVBQ1AsVUFBVSxFQUNWLGNBQWMsRUFDZixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxrQkFBa0IsRUFBZ0IsTUFBTSxhQUFhLENBQUM7QUFDL0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sc0VBQXNFLENBQUM7QUFDeEgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkRB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ZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQnJhbmRWZXJzaW9uLFxuICBTdG9yZUJyYW5kaW5nU2VydmljZSxcbiAgQnJhbmRpbmdWZXJzaW9uU2VydmljZSxcbiAgQnJhbmRpbmdUcmFja2luZ1NlcnZpY2Vcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cy9icmFuZGluZy9zaGFyZWQvZGF0YSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIEFjdGlvbkNvbnRyb2wsXG4gIEFsZXJ0U2VydmljZSxcbiAgQXBwU3RhdGVTZXJ2aWNlLFxuICBCdWlsdEluQWN0aW9uVHlwZSxcbiAgQ29sdW1uLFxuICBEaXNwbGF5T3B0aW9ucyxcbiAgTW9kYWxTZXJ2aWNlLFxuICBQYWdpbmF0aW9uLFxuICBTdGF0dXMsXG4gIFppcFNlcnZpY2UsXG4gIGdldHRleHQsXG4gIENvcmVNb2R1bGUsXG4gIERhdGFHcmlkTW9kdWxlXG59IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25TZXJ2aWNlLCBJQXBwbGljYXRpb24gfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBzYXZlQXMgfSBmcm9tICdmaWxlLXNhdmVyJztcbmltcG9ydCB7IFN0YXRpY0Fzc2V0c1NlcnZpY2UgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL3N0YXRpYy1hc3NldHMvZGF0YSc7XG5pbXBvcnQgeyBCc01vZGFsU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgQXBwbHlCcmFuZGluZ1RvQXBwTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi9hcHBseS1icmFuZGluZy10by1hcHAtbW9kYWwvYXBwbHktYnJhbmRpbmctdG8tYXBwLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBZGRCcmFuZGluZ01vZGFsU2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMvYnJhbmRpbmcvc2hhcmVkL2xhenkvYWRkLWJyYW5kaW5nLW1vZGFsJztcbmltcG9ydCB7IEJyYW5kaW5nVGFnc0NlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4uL2JyYW5kaW5nLXRhZ3MtY2VsbC1yZW5kZXJlci9icmFuZGluZy10YWdzLWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJyYW5kaW5nSW1wb3J0TW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi4vYnJhbmRpbmctaW1wb3J0LW1vZGFsL2JyYW5kaW5nLWltcG9ydC1tb2RhbC5zZXJ2aWNlJztcbmltcG9ydCB7IEJyYW5kaW5nTmFtZUNlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4uL2JyYW5kaW5nLW5hbWUtY2VsbC1yZW5kZXJlci9icmFuZGluZy1uYW1lLWNlbGwtcmVuZGVyZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJyYW5kaW5nVGFnc0hlYWRlckNlbGxSZW5kZXJlckNvbXBvbmVudCB9IGZyb20gJy4uL2JyYW5kaW5nLXRhZ3MtaGVhZGVyLWNlbGwtcmVuZGVyZXIvYnJhbmRpbmctdGFncy1oZWFkZXItY2VsbC1yZW5kZXJlci5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYnJhbmRpbmcnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJhbmRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29yZU1vZHVsZSwgRGF0YUdyaWRNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEJyYW5kaW5nQ29tcG9uZW50IHtcbiAgcGFnaW5hdGlvbjogUGFnaW5hdGlvbiA9IHtcbiAgICBwYWdlU2l6ZTogMTAsXG4gICAgY3VycmVudFBhZ2U6IDFcbiAgfTtcbiAgZGlzcGxheU9wdGlvbnM6IERpc3BsYXlPcHRpb25zID0ge1xuICAgIGJvcmRlcmVkOiBmYWxzZSxcbiAgICBzdHJpcGVkOiB0cnVlLFxuICAgIGZpbHRlcjogdHJ1ZSxcbiAgICBncmlkSGVhZGVyOiB0cnVlLFxuICAgIGhvdmVyOiB0cnVlXG4gIH07XG4gIGFjdGlvbkNvbnRyb2xzOiBBY3Rpb25Db250cm9sW10gPSBbXG4gICAge1xuICAgICAgdHlwZTogQnVpbHRJbkFjdGlvblR5cGUuRWRpdCxcbiAgICAgIGNhbGxiYWNrOiAoZW50cnk6IEJyYW5kVmVyc2lvbiwgX3JlbG9hZCkgPT4ge1xuICAgICAgICB0aGlzLmVkaXRCcmFuZGluZyhlbnRyeS5uYW1lKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6IEJ1aWx0SW5BY3Rpb25UeXBlLkV4cG9ydCxcbiAgICAgIGNhbGxiYWNrOiBhc3luYyAoZW50cnk6IEJyYW5kVmVyc2lvbiwgX3JlbG9hZCkgPT4ge1xuICAgICAgICBhd2FpdCB0aGlzLmV4cG9ydEJyYW5kaW5nKGVudHJ5KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIHR5cGU6ICdwcmV2aWV3JyxcbiAgICAgIGljb246ICdleHRlcm5hbC1saW5rJyxcbiAgICAgIHRleHQ6IGdldHRleHQoJ09wZW4gcHJldmlldycpLFxuICAgICAgY2FsbGJhY2s6IGFzeW5jIChlbnRyeTogQnJhbmRWZXJzaW9uLCBfcmVsb2FkKSA9PiB7XG4gICAgICAgIHRoaXMuYnJhbmRpbmdzLm9wZW5QcmV2aWV3Rm9yQnJhbmRpbmcoZW50cnkubmFtZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiAnZHVwbGljYXRlJyxcbiAgICAgIGljb246ICdjb3B5JyxcbiAgICAgIHRleHQ6IGdldHRleHQoJ0R1cGxpY2F0ZScpLFxuICAgICAgY2FsbGJhY2s6IGFzeW5jIChlbnRyeTogQnJhbmRWZXJzaW9uLCBfcmVsb2FkKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMuZHVwbGljYXRlVmVyc2lvbihlbnRyeSk7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ2FwcGx5LXRvLWFwcCcsXG4gICAgICBpY29uOiAnZm9ybScsXG4gICAgICB0ZXh0OiBnZXR0ZXh0KCdBcHBseSB0byBzcGVjaWZpYyBhcHBzJyksXG4gICAgICBjYWxsYmFjazogYXN5bmMgKGVudHJ5OiBCcmFuZFZlcnNpb24sIF9yZWxvYWQpID0+IHtcbiAgICAgICAgYXdhaXQgdGhpcy5hcHBseVRvQXBwcyhlbnRyeSk7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgdHlwZTogJ3NldC1hcy1kZWZhdWx0JyxcbiAgICAgIGljb246ICdnbG9iZTEnLFxuICAgICAgdGV4dDogZ2V0dGV4dCgnU2V0IGFzIGdsb2JhbCcpLFxuICAgICAgc2hvd0lmOiAoZW50cnk6IEJyYW5kVmVyc2lvbikgPT4ge1xuICAgICAgICBpZiAoZW50cnkudGFncz8uaW5jbHVkZXMoJ2xhdGVzdCcpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSxcbiAgICAgIGNhbGxiYWNrOiBhc3luYyAoZW50cnk6IEJyYW5kVmVyc2lvbiwgX3JlbG9hZCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuY29uZmlybU1vZGFsLmNvbmZpcm0oXG4gICAgICAgICAgICBnZXR0ZXh0KCdTZXQgYXMgZ2xvYmFsIGJyYW5kaW5nJyksXG4gICAgICAgICAgICBnZXR0ZXh0KFxuICAgICAgICAgICAgICAnQXJlIHlvdSBzdXJlIHRoYXQgeW91IHdhbnQgdG8gc2V0IHRoaXMgdmFyaWFudCBhcyB0aGUgZ2xvYmFsIGJyYW5kaW5nPyBCeSBkb2luZyBzbywgdGhpcyB2YXJpYW50IHdpbGwgYmUgYXBwbGllZCB0byBhbGwgYXBwcyB0aGF0IGRvIG5vdCBoYXZlIGEgc3BlY2lmaWMgYnJhbmRpbmcgYXBwbGllZC4gRG8geW91IHdhbnQgdG8gcHJvY2VlZD8nXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgU3RhdHVzLklORk9cbiAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAvLyBkaWQgbm90IGNvbmZpcm1cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgdGhpcy5icmFuZGluZ3MubWFya0FzQWN0aXZlKGVudHJ5KTtcbiAgICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICB7XG4gICAgICB0eXBlOiBCdWlsdEluQWN0aW9uVHlwZS5EZWxldGUsXG4gICAgICBzaG93SWY6IChlbnRyeTogQnJhbmRWZXJzaW9uKSA9PiB7XG4gICAgICAgIGlmIChlbnRyeS50YWdzPy5pbmNsdWRlcygnbGF0ZXN0JykpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9LFxuICAgICAgY2FsbGJhY2s6IGFzeW5jIChlbnRyeTogQnJhbmRWZXJzaW9uLCBfcmVsb2FkKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5jb25maXJtTW9kYWwuY29uZmlybShcbiAgICAgICAgICAgIGdldHRleHQoJ0RlbGV0ZSBicmFuZGluZyB2YXJpYW50JyksXG4gICAgICAgICAgICBnZXR0ZXh0KFxuICAgICAgICAgICAgICAnWW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhpcyBicmFuZGluZyB2YXJpYW50LiBUaGlzIGFjdGlvbiBjYW5ub3QgYmUgdW5kb25lLiBEbyB5b3Ugd2FudCB0byBwcm9jZWVkPydcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBTdGF0dXMuREFOR0VSXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLy8gZGlkIG5vdCBjb25maXJtXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5icmFuZGluZ1RyYWNraW5nLmRlbGV0ZUJyYW5kaW5nVmFyaWFudCgpO1xuICAgICAgICBhd2FpdCB0aGlzLmFwcGxpY2F0aW9uU2VydmljZS5kZWxldGVWZXJzaW9uUGFja2FnZShlbnRyeS5wdWJsaWNPcHRpb25zQXBwLCB7XG4gICAgICAgICAgdmVyc2lvbjogZW50cnkudmVyc2lvblxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgICB9XG4gICAgfVxuICBdO1xuICBjb2x1bW5zOiBDb2x1bW5bXSA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnbmFtZScsXG4gICAgICBoZWFkZXI6IGdldHRleHQoJ05hbWUnKSxcbiAgICAgIHBhdGg6ICduYW1lJyxcbiAgICAgIGZpbHRlcmFibGU6IHRydWUsXG4gICAgICBjZWxsUmVuZGVyZXJDb21wb25lbnQ6IEJyYW5kaW5nTmFtZUNlbGxSZW5kZXJlckNvbXBvbmVudFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogZ2V0dGV4dCgnQXBwbGllZCB0b2BBcHBsaWNhdGlvbnMgYSBicmFuZGluZyBhcHBsaWVzIHRvICh0YWJsZSBjb2x1bW4gaGVhZGVyKWAnKSxcbiAgICAgIHBhdGg6ICd0YWdzJyxcbiAgICAgIGZpbHRlcmFibGU6IGZhbHNlLFxuICAgICAgY2VsbENTU0NsYXNzTmFtZTogJ3NtYWxsJyxcbiAgICAgIGNlbGxSZW5kZXJlckNvbXBvbmVudDogQnJhbmRpbmdUYWdzQ2VsbFJlbmRlcmVyQ29tcG9uZW50LFxuICAgICAgaGVhZGVyQ2VsbFJlbmRlcmVyQ29tcG9uZW50OiBCcmFuZGluZ1RhZ3NIZWFkZXJDZWxsUmVuZGVyZXJDb21wb25lbnRcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdvd25lcicsXG4gICAgICBoZWFkZXI6IGdldHRleHQoJ093bmVyJyksXG4gICAgICBwYXRoOiAnb3duZXInLFxuICAgICAgZmlsdGVyYWJsZTogZmFsc2VcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdsYXN0VXBkYXRlZCcsXG4gICAgICBoZWFkZXI6IGdldHRleHQoJ0xhc3QgdXBkYXRlZCcpLFxuICAgICAgcGF0aDogJ2xhc3RVcGRhdGVkJyxcbiAgICAgIGZpbHRlcmFibGU6IGZhbHNlXG4gICAgfVxuICBdO1xuICBjdXJyZW50QXBwQ29udGV4dFBhdGggPSAnYWRtaW5pc3RyYXRpb24nO1xuICBhdmFpbGFibGVCcmFuZGluZ1ZhcmlhbnRzJDogT2JzZXJ2YWJsZTx7XG4gICAgcHVibGljT3B0aW9uczogSUFwcGxpY2F0aW9uO1xuICAgIHZhcmlhbnRzOiBCcmFuZFZlcnNpb25bXTtcbiAgfT47XG5cbiAgcHJpdmF0ZSByZWxvYWRUcmlnZ2VyID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGJyYW5kaW5nczogU3RvcmVCcmFuZGluZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwbGljYXRpb25TZXJ2aWNlOiBBcHBsaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSB6aXA6IFppcFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBzdGF0aWNBc3NldHM6IFN0YXRpY0Fzc2V0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIG1vZGFsOiBCc01vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGNvbmZpcm1Nb2RhbDogTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgYnJhbmRpbmdWZXJzaW9uU2VydmljZTogQnJhbmRpbmdWZXJzaW9uU2VydmljZSxcbiAgICBwcml2YXRlIGFkZEJyYW5kaW5nTW9kYWxTZXJ2aWNlOiBBZGRCcmFuZGluZ01vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGFsZXJ0OiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBicmFuZGluZ0ltcG9ydE1vZGFsU2VydmljZTogQnJhbmRpbmdJbXBvcnRNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBicmFuZGluZ1RyYWNraW5nOiBCcmFuZGluZ1RyYWNraW5nU2VydmljZVxuICApIHtcbiAgICB0aGlzLmN1cnJlbnRBcHBDb250ZXh0UGF0aCA9IHRoaXMuYXBwU3RhdGUuc3RhdGUuYXBwPy5jb250ZXh0UGF0aCB8fCB0aGlzLmN1cnJlbnRBcHBDb250ZXh0UGF0aDtcbiAgICB0aGlzLmF2YWlsYWJsZUJyYW5kaW5nVmFyaWFudHMkID0gdGhpcy5yZWxvYWRUcmlnZ2VyLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5icmFuZGluZ3MubG9hZEJyYW5kaW5nVmFyaWFudHMoKSksXG4gICAgICAvLyBoaWRlIHRoZSBmYWxsYmFjayBmcm9tIHVzZXJzXG4gICAgICBtYXAodmFyaWFudHMgPT4ge1xuICAgICAgICB2YXJpYW50cy52YXJpYW50cyA9IHZhcmlhbnRzLnZhcmlhbnRzLmZpbHRlcih2ID0+ICF2LnRhZ3M/LmluY2x1ZGVzKCdmYWxsYmFjaycpKTtcbiAgICAgICAgcmV0dXJuIHZhcmlhbnRzO1xuICAgICAgfSksXG4gICAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZUFsbEJyYW5kaW5ncyhwdWJsaWNPcHRpb25zPzogSUFwcGxpY2F0aW9uKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb25maXJtTW9kYWwuY29uZmlybShcbiAgICAgIGdldHRleHQoJ0RlbGV0ZSBhbGwgYnJhbmRpbmcgdmFyaWFudHMnKSxcbiAgICAgIGdldHRleHQoXG4gICAgICAgIGA8cCBjbGFzcz1cIm0tYi04XCI+XG4gICAgICAgICAgVGhpcyBhY3Rpb24gd2lsbCBwZXJtYW5lbnRseSByZW1vdmUgYWxsIGN1c3RvbSBicmFuZGluZyB2YXJpYW50cy4gWW91ciB0ZW5hbnQgd2lsbCByZXZlcnRcbiAgICAgICAgICB0byB0aGUgZGVmYXVsdCBicmFuZGluZy5cbiAgICAgICAgPC9wPlxuICAgICAgICA8cCBjbGFzcz1cIm0tYi04XCI+XG4gICAgICAgICAgQ29uc2lkZXIgZXhwb3J0aW5nIHlvdXIgY3VzdG9tIGJyYW5kaW5nIHZhcmlhbnRzIGJlZm9yZSBwcm9jZWVkaW5nLCBhcyB0aGlzIGFjdGlvbiBjYW5ub3RcbiAgICAgICAgICBiZSB1bmRvbmUuXG4gICAgICAgIDwvcD5cbiAgICAgICAgPHA+XG4gICAgICAgICAgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNvbnRpbnVlP1xuICAgICAgICA8L3A+YFxuICAgICAgKSxcbiAgICAgIFN0YXR1cy5EQU5HRVIsXG4gICAgICB7IGNhbmNlbDogZ2V0dGV4dCgnQ2FuY2VsJyksIG9rOiBnZXR0ZXh0KCdEZWxldGUgYWxsJykgfVxuICAgICk7XG4gICAgaWYgKHJlc3VsdCA9PT0gZmFsc2UgfHwgKHR5cGVvZiByZXN1bHQgPT09ICdvYmplY3QnICYmICFyZXN1bHQuY29uZmlybWVkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYnJhbmRpbmdUcmFja2luZy5kZWxldGVBbGxCcmFuZGluZ3MoKTtcblxuICAgIGF3YWl0IHRoaXMuYnJhbmRpbmdzLmRlbGV0ZUFsbEJyYW5kaW5ncyhwdWJsaWNPcHRpb25zKTtcbiAgICB0aGlzLnJlZnJlc2goKTtcbiAgfVxuXG4gIGFzeW5jIGV4cG9ydEJyYW5kaW5nKHZhcmlhbnQ6IEJyYW5kVmVyc2lvbikge1xuICAgIHRoaXMuYnJhbmRpbmdUcmFja2luZy5leHBvcnRCcmFuZGluZygpO1xuICAgIGNvbnN0IGJyYW5kaW5nID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5icmFuZGluZ3MuZ2V0WmlwRm9yQmluYXJ5KHZhcmlhbnQuaWQpKTtcbiAgICBjb25zdCBzdGF0aWNBc3NldHNBcHAgPSBhd2FpdCB0aGlzLnN0YXRpY0Fzc2V0cy5nZXRBcHBGb3JUZW5hbnQoJ2JyYW5kaW5nJyk7XG4gICAgY29uc3Qgc3RhdGljQXNzZXRzWmlwID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmJyYW5kaW5ncy5nZXRaaXBGb3JCaW5hcnkoXG4gICAgICAgIHN0YXRpY0Fzc2V0c0FwcC5hY3RpdmVWZXJzaW9uSWQsXG4gICAgICAgIHRoaXMuc3RhdGljQXNzZXRzLmZpbGVOYW1lcy5leHBvcnRaaXBOYW1lXG4gICAgICApXG4gICAgKTtcbiAgICBjb25zdCBibG9iID0gYXdhaXQgdGhpcy56aXAuY3JlYXRlWmlwKFtcbiAgICAgIHsgZmlsZU5hbWU6IHRoaXMuYnJhbmRpbmdzLmZpbGVOYW1lcy5leHBvcnRaaXBOYW1lLCBibG9iOiBicmFuZGluZyB9LFxuICAgICAgeyBmaWxlTmFtZTogdGhpcy5zdGF0aWNBc3NldHMuZmlsZU5hbWVzLmV4cG9ydFppcE5hbWUsIGJsb2I6IHN0YXRpY0Fzc2V0c1ppcCB9XG4gICAgXSk7XG4gICAgc2F2ZUFzKGJsb2IsIGBicmFuZGluZy1leHBvcnQtJHt2YXJpYW50Lm5hbWV9LSR7dmFyaWFudC5yZXZpc2lvbn0tJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX0uemlwYCk7XG4gIH1cblxuICByZWZyZXNoKCkge1xuICAgIHRoaXMucmVsb2FkVHJpZ2dlci5uZXh0KCk7XG4gIH1cblxuICBhc3luYyBhZGROZXdWZXJzaW9uKCkge1xuICAgIGNvbnN0IHZlcnNpb25EZXRhaWxzID0gYXdhaXQgdGhpcy5hZGRCcmFuZGluZ01vZGFsU2VydmljZS5vcGVuQWRkQnJhbmRpbmdNb2RhbCgpO1xuICAgIGlmICghdmVyc2lvbkRldGFpbHMpIHtcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsZXQgZmFsbEJhY2tCcmFuZGluZyA9IHt9O1xuICAgIHRyeSB7XG4gICAgICBmYWxsQmFja0JyYW5kaW5nID0gYXdhaXQgdGhpcy5icmFuZGluZ3MuZ2V0QnJhbmRpbmdPcHRpb25zRm9yVmVyc2lvbignbGF0ZXN0Jyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS53YXJuKGBGYWlsZWQgdG8gbG9hZCBsYXRlc3QgYnJhbmRpbmdgKTtcbiAgICB9XG5cbiAgICB0aGlzLmJyYW5kaW5nVHJhY2tpbmcuYWRkTmV3VmVyc2lvbigpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuYnJhbmRpbmdzLmFkZEJyYW5kaW5nKFxuICAgICAgICB0aGlzLmJyYW5kaW5nVmVyc2lvblNlcnZpY2UuY3JlYXRlSW5pdGlhbEJyYW5kaW5nVmVyc2lvbih2ZXJzaW9uRGV0YWlscy5icmFuZGluZ05hbWUpLFxuICAgICAgICBmYWxsQmFja0JyYW5kaW5nLFxuICAgICAgICBbdmVyc2lvbkRldGFpbHMuYnJhbmRpbmdOYW1lXVxuICAgICAgKTtcbiAgICAgIGF3YWl0IHRoaXMuYnJhbmRpbmdzLndhaXRGb3JCcmFuZGluZ1RvQmVQcmVzZW50KHZlcnNpb25EZXRhaWxzLmJyYW5kaW5nTmFtZSk7XG4gICAgICB0aGlzLmVkaXRCcmFuZGluZyh2ZXJzaW9uRGV0YWlscy5icmFuZGluZ05hbWUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZShlLCAnZGFuZ2VyJyk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZHVwbGljYXRlVmVyc2lvbih2ZXJzaW9uOiBCcmFuZFZlcnNpb24pIHtcbiAgICBjb25zdCBvcHRpb25zID0gYXdhaXQgdGhpcy5icmFuZGluZ3MuZ2V0QnJhbmRpbmdPcHRpb25zRm9yVmVyc2lvbih2ZXJzaW9uLnZlcnNpb24pO1xuICAgIGNvbnN0IHZlcnNpb25EZXRhaWxzID0gYXdhaXQgdGhpcy5hZGRCcmFuZGluZ01vZGFsU2VydmljZS5vcGVuRHVwbGljYXRlQnJhbmRpbmdNb2RhbCgpO1xuICAgIGlmICghdmVyc2lvbkRldGFpbHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmJyYW5kaW5nVHJhY2tpbmcuZHVwbGljYXRlVmVyc2lvbigpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuYnJhbmRpbmdzLmFkZEJyYW5kaW5nKFxuICAgICAgICB0aGlzLmJyYW5kaW5nVmVyc2lvblNlcnZpY2UuY3JlYXRlSW5pdGlhbEJyYW5kaW5nVmVyc2lvbih2ZXJzaW9uRGV0YWlscy5icmFuZGluZ05hbWUpLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgICBbdmVyc2lvbkRldGFpbHMuYnJhbmRpbmdOYW1lXVxuICAgICAgKTtcbiAgICAgIGF3YWl0IHRoaXMuYnJhbmRpbmdzLndhaXRGb3JCcmFuZGluZ1RvQmVQcmVzZW50KHZlcnNpb25EZXRhaWxzLmJyYW5kaW5nTmFtZSk7XG4gICAgICB0aGlzLmVkaXRCcmFuZGluZyh2ZXJzaW9uRGV0YWlscy5icmFuZGluZ05hbWUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMuYWxlcnQuYWRkU2VydmVyRmFpbHVyZShlLCAnZGFuZ2VyJyk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZWRpdEJyYW5kaW5nKGJyYW5kaW5nTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlKFticmFuZGluZ05hbWUsICdlZGl0J10sIHsgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldFN0YXJ0ZWRVc2luZ0JyYW5kaW5nKCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY29uZmlybU1vZGFsLmNvbmZpcm0oXG4gICAgICBnZXR0ZXh0KGBHZXQgc3RhcnRlZCB1c2luZyBicmFuZGluZyB2YXJpYW50c2ApLFxuICAgICAgZ2V0dGV4dChcbiAgICAgICAgYDxwIGNsYXNzPVwibS1iLThcIj5Db25maXJtaW5nIHRoaXMgYWN0aW9uIGNyZWF0ZXMgdHdvIGJyYW5kaW5nIHZhcmlhbnRzOjwvcD5cbiAgICAgICAgPHVsIGNsYXNzPVwibS1iLTggcC1sLTE2XCI+XG4gICAgICAgICAgPGxpPkEgZGVmYXVsdCBjb3B5IG9mIHlvdXIgY3VycmVudCBnbG9iYWwgYnJhbmRpbmc8L2xpPlxuICAgICAgICAgIDxsaT5Zb3VyIG5ldyBjdXN0b21pemFibGUgdmFyaWFudC48L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgICA8cCBjbGFzcz1cIm0tYi04XCI+XG4gICAgICAgICAgQWZ0ZXIgY3VzdG9taXphdGlvbiwgeW91IGNhbiBzZXQgeW91ciBuZXcgdmFyaWFudCBhcyBnbG9iYWwgb3IgYXBwbHkgaXQgdG8gc3BlY2lmaWMgYXBwcy5cbiAgICAgICAgPC9wPlxuICAgICAgICA8cD5cbiAgICAgICAgICBUbyByZXZlcnQgY2hhbmdlcywgc2ltcGx5IHNldCB0aGUgZGVmYXVsdCBicmFuZGluZyBhcyBnbG9iYWwgb3IgdXNlIHRoZSBcIkRlbGV0ZSBhbGwgdmFyaWFudHNcIiBidXR0b24gYXQgYW55IHRpbWUuXG4gICAgICAgIDwvcD5gXG4gICAgICApXG4gICAgKTtcbiAgICBpZiAocmVzdWx0ID09PSBmYWxzZSB8fCAodHlwZW9mIHJlc3VsdCA9PT0gJ29iamVjdCcgJiYgIXJlc3VsdC5jb25maXJtZWQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5icmFuZGluZ1RyYWNraW5nLmdldFN0YXJ0ZWRVc2luZ0JyYW5kaW5nKCk7XG5cbiAgICBhd2FpdCB0aGlzLmJyYW5kaW5ncy5nZXRTdGFydGVkVXNpbmdCcmFuZGluZygpO1xuICAgIGF3YWl0IHRoaXMuYWRkTmV3VmVyc2lvbigpO1xuICB9XG5cbiAgYXN5bmMgYXBwbHlUb0FwcHModmVyc2lvbjogQnJhbmRWZXJzaW9uKSB7XG4gICAgY29uc3QgcHJlZml4ID0gJ2FwcC0nO1xuICAgIGNvbnN0IGN1cnJlbnRUYWdzID0gdmVyc2lvbi50YWdzXG4gICAgICAuZmlsdGVyKHRhZyA9PiB0YWcuc3RhcnRzV2l0aChwcmVmaXgpKVxuICAgICAgLm1hcCh0YWcgPT4gdGFnLnJlcGxhY2UocHJlZml4LCAnJykpO1xuICAgIGNvbnN0IG90aGVyVGFncyA9IHZlcnNpb24udGFncy5maWx0ZXIodGFnID0+ICF0YWcuc3RhcnRzV2l0aChwcmVmaXgpKTtcbiAgICBsZXQgc2VsZWN0ZWRUYWdzOiBBd2FpdGVkPEFwcGx5QnJhbmRpbmdUb0FwcE1vZGFsQ29tcG9uZW50WydyZXN1bHQnXT47XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1vZGFsUmVmID0gdGhpcy5tb2RhbC5zaG93KEFwcGx5QnJhbmRpbmdUb0FwcE1vZGFsQ29tcG9uZW50LCB7XG4gICAgICAgIGluaXRpYWxTdGF0ZTogeyBjdXJyZW50VGFncyB9LFxuICAgICAgICBpZ25vcmVCYWNrZHJvcENsaWNrOiB0cnVlLFxuICAgICAgICBrZXlib2FyZDogZmFsc2VcbiAgICAgIH0pO1xuICAgICAgc2VsZWN0ZWRUYWdzID0gYXdhaXQgbW9kYWxSZWYuY29udGVudC5yZXN1bHQ7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gbW9kYWwgY2xvc2VkXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2VsZWN0ZWRBcHBzID0gT2JqZWN0LmtleXMoc2VsZWN0ZWRUYWdzKS5maWx0ZXIoa2V5ID0+IHNlbGVjdGVkVGFnc1trZXldKTtcblxuICAgIHRoaXMuYnJhbmRpbmdUcmFja2luZy5hcHBseVRvQXBwcyhzZWxlY3RlZEFwcHMpO1xuXG4gICAgY29uc3QgdGFnc1RvU2V0ID0gWy4uLm90aGVyVGFncywgLi4uc2VsZWN0ZWRBcHBzLm1hcCh0YWcgPT4gYCR7cHJlZml4fSR7dGFnfWApXTtcblxuICAgIGF3YWl0IHRoaXMucmVtb3ZlVGFnc0Zyb21PdGhlclZlcnNpb25zKHZlcnNpb24ucHVibGljT3B0aW9uc0FwcCwgdGFnc1RvU2V0LCB2ZXJzaW9uLnZlcnNpb24pO1xuICAgIGF3YWl0IHRoaXMuYXBwbGljYXRpb25TZXJ2aWNlLnNldFBhY2thZ2VWZXJzaW9uVGFnKFxuICAgICAgdmVyc2lvbi5wdWJsaWNPcHRpb25zQXBwLFxuICAgICAgdmVyc2lvbi52ZXJzaW9uLFxuICAgICAgdGFnc1RvU2V0XG4gICAgKTtcbiAgfVxuXG4gIGFzeW5jIGltcG9ydEJyYW5kaW5nKCkge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmJyYW5kaW5nSW1wb3J0TW9kYWxTZXJ2aWNlLm9wZW5CcmFuZGluZ0ltcG9ydE1vZGFsKCk7XG5cbiAgICAgIHRoaXMuYnJhbmRpbmdzLnJlZnJlc2hUcmlnZ2VyQnJhbmRpbmdWYXJpYW50cy5uZXh0KCk7XG4gICAgICB0aGlzLnJlbG9hZFRyaWdnZXIubmV4dCgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIG1vZGFsIGNsb3NlZFxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVtb3ZlVGFnc0Zyb21PdGhlclZlcnNpb25zKFxuICAgIHB1YmxpY09wdGlvbnNBcHA6IElBcHBsaWNhdGlvbixcbiAgICB0YWdzVG9SZW1vdmU6IHN0cmluZ1tdLFxuICAgIHZlcnNpb25Ub0lnbm9yZT86IHN0cmluZ1xuICApIHtcbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gb2YgcHVibGljT3B0aW9uc0FwcC5hcHBsaWNhdGlvblZlcnNpb25zKSB7XG4gICAgICBpZiAodmVyc2lvbi52ZXJzaW9uID09PSB2ZXJzaW9uVG9JZ25vcmUpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCByZW1vdmVkVGFncyA9IHZlcnNpb24udGFncy5maWx0ZXIodGFnID0+ICF0YWdzVG9SZW1vdmUuaW5jbHVkZXModGFnKSk7XG4gICAgICBpZiAocmVtb3ZlZFRhZ3MubGVuZ3RoID09PSB2ZXJzaW9uLnRhZ3MubGVuZ3RoKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy5hcHBsaWNhdGlvblNlcnZpY2Uuc2V0UGFja2FnZVZlcnNpb25UYWcoXG4gICAgICAgIHB1YmxpY09wdGlvbnNBcHAsXG4gICAgICAgIHZlcnNpb24udmVyc2lvbixcbiAgICAgICAgcmVtb3ZlZFRhZ3NcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCI8Yzh5LXRpdGxlIHRyYW5zbGF0ZT5CcmFuZGluZzwvYzh5LXRpdGxlPlxuXG48Yzh5LWJyZWFkY3J1bWI+XG4gIDxjOHktYnJlYWRjcnVtYi1pdGVtXG4gICAgW2ljb25dPVwiJ3BhbGV0dGUnXCJcbiAgICBbbGFiZWxdPVwiJ0JyYW5kaW5nJyB8IHRyYW5zbGF0ZVwiXG4gICAgW3BhdGhdPVwiJy9icmFuZGluZy1lZGl0b3InXCJcbiAgPjwvYzh5LWJyZWFkY3J1bWItaXRlbT5cbjwvYzh5LWJyZWFkY3J1bWI+XG5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJhdmFpbGFibGVCcmFuZGluZ1ZhcmlhbnRzJCB8IGFzeW5jIGFzIGJyYW5kaW5nVmFyaWFudDsgZWxzZSBsb2FkaW5nXCI+XG4gIDxjOHktYWN0aW9uLWJhci1pdGVtXG4gICAgKm5nSWY9XCJicmFuZGluZ1ZhcmlhbnQucHVibGljT3B0aW9uc1wiXG4gICAgW3BsYWNlbWVudF09XCIncmlnaHQnXCJcbiAgICBbcHJpb3JpdHldPVwiMzBcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJidG4gYnRuLWxpbmtcIlxuICAgICAgKGNsaWNrKT1cImFkZE5ld1ZlcnNpb24oKVwiXG4gICAgICBkYXRhLWN5PVwiYnJhbmRpbmctYWRkLWJyYW5kaW5nLXZhcmlhbnRcIlxuICAgID5cbiAgICAgIDxpIGM4eUljb249XCJwbHVzLWNpcmNsZVwiPjwvaT5cbiAgICAgIDxzcGFuIHRyYW5zbGF0ZT5BZGQgdmFyaWFudDwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9jOHktYWN0aW9uLWJhci1pdGVtPlxuICA8Yzh5LWFjdGlvbi1iYXItaXRlbVxuICAgIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiXG4gICAgW3ByaW9yaXR5XT1cIjIwXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICAgIGRhdGEtY3k9XCJicmFuZGluZy1pbXBvcnQtYnJhbmRpbmdcIlxuICAgICAgKGNsaWNrKT1cImltcG9ydEJyYW5kaW5nKClcIlxuICAgID5cbiAgICAgIDxpIFtjOHlJY29uXT1cIidkYXRhLWltcG9ydCdcIj48L2k+XG4gICAgICA8c3BhbiB0cmFuc2xhdGU+SW1wb3J0IHZhcmlhbnQ8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuICA8Yzh5LWFjdGlvbi1iYXItaXRlbVxuICAgICpuZ0lmPVwiYnJhbmRpbmdWYXJpYW50LnB1YmxpY09wdGlvbnNcIlxuICAgIFtwbGFjZW1lbnRdPVwiJ3JpZ2h0J1wiXG4gICAgW3ByaW9yaXR5XT1cIjEwXCJcbiAgPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1saW5rXCJcbiAgICAgIChjbGljayk9XCJkZWxldGVBbGxCcmFuZGluZ3MoYnJhbmRpbmdWYXJpYW50LnB1YmxpY09wdGlvbnMpXCJcbiAgICAgIGRhdGEtY3k9XCJicmFuZGluZy1yZW1vdmUtYWxsLWJyYW5kaW5nc1wiXG4gICAgPlxuICAgICAgPGkgW2M4eUljb25dPVwiJ3RyYXNoLW8nXCI+PC9pPlxuICAgICAgPHNwYW4gdHJhbnNsYXRlPkRlbGV0ZSBhbGwgdmFyaWFudHM8L3NwYW4+XG4gICAgPC9idXR0b24+XG4gIDwvYzh5LWFjdGlvbi1iYXItaXRlbT5cblxuICA8ZGl2IGNsYXNzPVwiY29udGVudC1mdWxscGFnZSBkLWZsZXggZC1jb2wgYm9yZGVyLXRvcFwiPlxuICAgIDxjOHktZGF0YS1ncmlkXG4gICAgICBbdGl0bGVdPVwiJ0JyYW5kaW5nIHZhcmlhbnRzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcbiAgICAgIFthY3Rpb25Db250cm9sc109XCJhY3Rpb25Db250cm9sc1wiXG4gICAgICBbcGFnaW5hdGlvbl09XCJwYWdpbmF0aW9uXCJcbiAgICAgIFtkaXNwbGF5T3B0aW9uc109XCJkaXNwbGF5T3B0aW9uc1wiXG4gICAgICAob25SZWxvYWQpPVwicmVmcmVzaCgpXCJcbiAgICAgIFtyb3dzXT1cImJyYW5kaW5nVmFyaWFudC52YXJpYW50c1wiXG4gICAgPlxuICAgICAgPGM4eS11aS1lbXB0eS1zdGF0ZVxuICAgICAgICBbaWNvbl09XCIncGFsZXR0ZSdcIlxuICAgICAgICBbdGl0bGVdPVwiJ05vIGJyYW5kaW5nIHZhcmlhbnRzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgIFtzdWJ0aXRsZV09XCJcbiAgICAgICAgICAnUGVyc29uYWxpemUgeW91ciBleHBlcmllbmNlIHdpdGggYSB0aGVtZS1hYmxlIGludGVyZmFjZS4gQ3JlYXRlIGEgdW5pcXVlIGxvb2sgdGhhdCBhbGlnbnMgd2l0aCB5b3VyIGJyYW5kIGlkZW50aXR5LidcbiAgICAgICAgICAgIHwgdHJhbnNsYXRlXG4gICAgICAgIFwiXG4gICAgICAgICpuZ0lmPVwiIWJyYW5kaW5nVmFyaWFudC5wdWJsaWNPcHRpb25zXCJcbiAgICAgICAgW2hvcml6b250YWxdPVwiZmFsc2VcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgICAgICAgIGRhdGEtY3k9XCJicmFuZGluZy1nZXQtc3RhcnRlZC11c2luZy1icmFuZGluZ1wiXG4gICAgICAgICAgKGNsaWNrKT1cImdldFN0YXJ0ZWRVc2luZ0JyYW5kaW5nKClcIlxuICAgICAgICAgIHRyYW5zbGF0ZVxuICAgICAgICA+XG4gICAgICAgICAgQWRkIGJyYW5kaW5nIHZhcmlhbnRcbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2M4eS11aS1lbXB0eS1zdGF0ZT5cbiAgICA8L2M4eS1kYXRhLWdyaWQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjbG9hZGluZz5cbiAgPGM4eS1sb2FkaW5nPjwvYzh5LWxvYWRpbmc+XG48L25nLXRlbXBsYXRlPlxuIl19