@hestia-earth/ui-components 0.29.2 → 0.29.4

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 (73) hide show
  1. package/common/maps-utils.d.ts +4 -0
  2. package/common/navigation-menu/navigation-menu.component.d.ts +1 -0
  3. package/common/node-utils.d.ts +4 -2
  4. package/common/semver-utils.d.ts +2 -3
  5. package/common/utils.d.ts +0 -5
  6. package/cycles/cycles-nodes/cycles-nodes.component.d.ts +1 -1
  7. package/engine/engine-models-stage-deep/engine-models-stage-deep.component.d.ts +1 -1
  8. package/engine/engine-models-version-link/engine-models-version-link.component.d.ts +1 -1
  9. package/engine/engine.service.d.ts +1 -1
  10. package/esm2022/bibliographies/bibliographies-search-confirm/bibliographies-search-confirm.component.mjs +3 -3
  11. package/esm2022/chart/chart.component.mjs +3 -3
  12. package/esm2022/chart/line-chart/line-chart.component.mjs +3 -3
  13. package/esm2022/common/blank-node-state/blank-node-state.component.mjs +3 -3
  14. package/esm2022/common/clipboard/clipboard.component.mjs +3 -3
  15. package/esm2022/common/collapsible-box/collapsible-box.component.mjs +3 -3
  16. package/esm2022/common/data-table/data-table.component.mjs +3 -3
  17. package/esm2022/common/drawer-container/drawer-container.component.mjs +3 -3
  18. package/esm2022/common/link-key-value/link-key-value.component.mjs +3 -3
  19. package/esm2022/common/maps-drawing-confirm/maps-drawing-confirm.component.mjs +3 -3
  20. package/esm2022/common/maps-utils.mjs +3 -1
  21. package/esm2022/common/mobile-shell/mobile-shell.component.mjs +3 -3
  22. package/esm2022/common/navigation-menu/navigation-menu.component.mjs +7 -3
  23. package/esm2022/common/node-utils.mjs +12 -7
  24. package/esm2022/common/schema-version-link/schema-version-link.component.mjs +3 -3
  25. package/esm2022/common/search-extend/search-extend.component.mjs +3 -3
  26. package/esm2022/common/semver-utils.mjs +3 -4
  27. package/esm2022/common/shelf-dialog/shelf-dialog.component.mjs +3 -3
  28. package/esm2022/common/shell/shell.component.mjs +3 -3
  29. package/esm2022/common/sort-select/sort-select.component.mjs +3 -3
  30. package/esm2022/common/utils.mjs +1 -9
  31. package/esm2022/cycles/cycles-completeness/cycles-completeness.component.mjs +3 -3
  32. package/esm2022/cycles/cycles-nodes/cycles-nodes.component.mjs +5 -5
  33. package/esm2022/cycles/cycles-nodes-timeline/cycles-nodes-timeline.component.mjs +3 -3
  34. package/esm2022/engine/engine-models-stage-deep/engine-models-stage-deep.component.mjs +9 -8
  35. package/esm2022/engine/engine-models-version-link/engine-models-version-link.component.mjs +3 -3
  36. package/esm2022/engine/engine-requirements-form/engine-requirements-form.component.mjs +3 -3
  37. package/esm2022/engine/engine.service.mjs +3 -2
  38. package/esm2022/files/files-error-summary/files-error-summary-item/files-error-summary-item.component.mjs +3 -3
  39. package/esm2022/files/files-form.model.mjs +3 -2
  40. package/esm2022/files/files-upload-errors/files-upload-errors.component.mjs +3 -3
  41. package/esm2022/impact-assessments/impact-assessments-graph/impact-assessments-graph.component.mjs +3 -3
  42. package/esm2022/impact-assessments/impact-assessments-indicator-breakdown-chart/impact-assessments-indicator-breakdown-chart.component.mjs +3 -3
  43. package/esm2022/impact-assessments/impact-assessments-products/impact-assessments-products.component.mjs +7 -4
  44. package/esm2022/node/node-csv-export-confirm/node-csv-export-confirm.component.mjs +3 -3
  45. package/esm2022/node/node-csv-select-headers/node-csv-select-headers.component.mjs +3 -3
  46. package/esm2022/node/node-diffs/node-diffs.component.mjs +3 -3
  47. package/esm2022/node/node-link/node-link.component.mjs +3 -3
  48. package/esm2022/node/node-logs-file/node-logs-file.component.mjs +3 -3
  49. package/esm2022/node/node-logs-models/node-logs-models.component.mjs +34 -41
  50. package/esm2022/node/node-logs-models/node-logs-models.model.mjs +10 -6
  51. package/esm2022/node/node-missing-lookup-factors/node-missing-lookup-factors.component.mjs +3 -3
  52. package/esm2022/node/node-recommendations/node-recommendations.component.mjs +3 -3
  53. package/esm2022/node/node-store.service.mjs +1 -1
  54. package/esm2022/node/node-value-details/node-value-details.component.mjs +5 -3
  55. package/esm2022/schema/schema-info/schema-info.component.mjs +3 -3
  56. package/esm2022/select/select-option/select-option.component.mjs +3 -3
  57. package/esm2022/select/select-option-group/select-option-group.component.mjs +3 -3
  58. package/esm2022/select/select.component.mjs +3 -3
  59. package/esm2022/sites/sites-management-chart/sites-management-chart.component.mjs +8 -12
  60. package/esm2022/sites/sites-nodes/sites-nodes.component.mjs +6 -5
  61. package/esm2022/terms/terms-property-content/terms-property-content.component.mjs +3 -3
  62. package/esm2022/terms/terms-sub-class-of-content/terms-sub-class-of-content.component.mjs +3 -3
  63. package/esm2022/terms/terms-units-description/terms-units-description.component.mjs +3 -3
  64. package/fesm2022/hestia-earth-ui-components.mjs +172 -170
  65. package/fesm2022/hestia-earth-ui-components.mjs.map +1 -1
  66. package/impact-assessments/impact-assessments-products/impact-assessments-products.component.d.ts +2 -0
  67. package/node/node-logs-models/node-logs-models.component.d.ts +4 -4
  68. package/node/node-logs-models/node-logs-models.model.d.ts +1 -1
  69. package/node/node-store.service.d.ts +1 -1
  70. package/package.json +1 -1
  71. package/sites/sites-management-chart/sites-management-chart.component.d.ts +1 -0
  72. package/sites/sites-nodes/sites-nodes.component.d.ts +2 -1
  73. package/styles.scss +5 -34
@@ -34,13 +34,13 @@ export class DataTableComponent {
34
34
  this.width.set(`${width}px`);
35
35
  }
36
36
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DataTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.11", type: DataTableComponent, isStandalone: true, selector: "he-data-table", inputs: { minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-small": "this.isSmall" } }, ngImport: i0, template: "<div class=\"w-100 | data-table-holder\" [style.height]=\"height()\" (resized)=\"onResized($event)\">\n <div class=\"data-table-content\" [style.height]=\"height()\" [style.width]=\"width()\">\n <div class=\"table-container\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;height:inherit;width:100%}:host *{box-sizing:border-box}:host .data-table-holder{overflow:hidden;position:relative;z-index:1}:host .data-table-content{position:absolute;top:0;left:0;z-index:1}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container{overflow:auto!important;width:100%;height:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table{width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{height:42px;white-space:nowrap}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{border:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th span:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td span:first-child{display:inline-block;max-width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table .fixed-column{position:sticky}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{z-index:10}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{z-index:11}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{top:0;z-index:1070}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column{z-index:1071}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:0;max-width:300px;width:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{max-width:180px;width:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right{box-shadow:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right:after{position:absolute;content:\"\";height:100%;top:0;right:0;width:4px;box-shadow:2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #ffc000,inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #ffc000,2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.fixed-column.has-border-right:after{box-shadow:2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #c5cdd5,inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #c5cdd5,2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr{background-color:transparent!important}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr th{top:42px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr+tr th{top:84px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{background-color:#fff}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-hoverable>tbody>tr:not(.is-selected):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped>tbody>tr:not(.is-selected):nth-child(2n)>td{background-color:#fefcf7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped.is-hoverable>tr:not(.is-selected):nth-child(2n):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow{font-size:.875rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th{height:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:200px;max-width:200px;width:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:160px;max-width:160px;width:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr th{top:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr+tr th{top:60px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{height:30px;font-size:.875rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{padding-top:5px;padding-bottom:5px}\n"], dependencies: [{ kind: "directive", type: ResizedDirective, selector: "[resized]", outputs: ["resized"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.11", type: DataTableComponent, isStandalone: true, selector: "he-data-table", inputs: { minHeight: { classPropertyName: "minHeight", publicName: "minHeight", isSignal: true, isRequired: false, transformFunction: null }, maxHeight: { classPropertyName: "maxHeight", publicName: "maxHeight", isSignal: true, isRequired: false, transformFunction: null }, small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-small": "this.isSmall" } }, ngImport: i0, template: "<div\n class=\"w-100 is-relative is-overflow-hidden | data-table-holder\"\n [style.height]=\"height()\"\n (resized)=\"onResized($event)\">\n <div class=\"is-absolute | data-table-content\" [style.height]=\"height()\" [style.width]=\"width()\">\n <div class=\"table-container\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;height:inherit;width:100%}:host *{box-sizing:border-box}:host .data-table-holder{z-index:1}:host .data-table-content{top:0;left:0;z-index:1}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container{overflow:auto!important;width:100%;height:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table{width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{height:42px;white-space:nowrap}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{border:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th span:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td span:first-child{display:inline-block;max-width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table .fixed-column{position:sticky}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{z-index:10}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{z-index:11}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{top:0;z-index:1070}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column{z-index:1071}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:0;max-width:300px;width:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{max-width:180px;width:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right{box-shadow:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right:after{position:absolute;content:\"\";height:100%;top:0;right:0;width:4px;box-shadow:2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #ffc000,inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #ffc000,2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.fixed-column.has-border-right:after{box-shadow:2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #c5cdd5,inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #c5cdd5,2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr{background-color:transparent!important}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr th{top:42px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr+tr th{top:84px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{background-color:#fff}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-hoverable>tbody>tr:not(.is-selected):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped>tbody>tr:not(.is-selected):nth-child(2n)>td{background-color:#fefcf7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped.is-hoverable>tr:not(.is-selected):nth-child(2n):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow{font-size:.875rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th{height:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:200px;max-width:200px;width:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:160px;max-width:160px;width:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr th{top:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr+tr th{top:60px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{height:30px;font-size:.875rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{padding-top:5px;padding-bottom:5px}\n"], dependencies: [{ kind: "directive", type: ResizedDirective, selector: "[resized]", outputs: ["resized"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
38
  }
39
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DataTableComponent, decorators: [{
40
40
  type: Component,
41
- args: [{ selector: 'he-data-table', imports: [ResizedDirective], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"w-100 | data-table-holder\" [style.height]=\"height()\" (resized)=\"onResized($event)\">\n <div class=\"data-table-content\" [style.height]=\"height()\" [style.width]=\"width()\">\n <div class=\"table-container\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;height:inherit;width:100%}:host *{box-sizing:border-box}:host .data-table-holder{overflow:hidden;position:relative;z-index:1}:host .data-table-content{position:absolute;top:0;left:0;z-index:1}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container{overflow:auto!important;width:100%;height:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table{width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{height:42px;white-space:nowrap}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{border:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th span:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td span:first-child{display:inline-block;max-width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table .fixed-column{position:sticky}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{z-index:10}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{z-index:11}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{top:0;z-index:1070}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column{z-index:1071}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:0;max-width:300px;width:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{max-width:180px;width:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right{box-shadow:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right:after{position:absolute;content:\"\";height:100%;top:0;right:0;width:4px;box-shadow:2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #ffc000,inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #ffc000,2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.fixed-column.has-border-right:after{box-shadow:2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #c5cdd5,inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #c5cdd5,2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr{background-color:transparent!important}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr th{top:42px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr+tr th{top:84px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{background-color:#fff}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-hoverable>tbody>tr:not(.is-selected):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped>tbody>tr:not(.is-selected):nth-child(2n)>td{background-color:#fefcf7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped.is-hoverable>tr:not(.is-selected):nth-child(2n):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow{font-size:.875rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th{height:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:200px;max-width:200px;width:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:160px;max-width:160px;width:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr th{top:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr+tr th{top:60px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{height:30px;font-size:.875rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{padding-top:5px;padding-bottom:5px}\n"] }]
41
+ args: [{ selector: 'he-data-table', imports: [ResizedDirective], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"w-100 is-relative is-overflow-hidden | data-table-holder\"\n [style.height]=\"height()\"\n (resized)=\"onResized($event)\">\n <div class=\"is-absolute | data-table-content\" [style.height]=\"height()\" [style.width]=\"width()\">\n <div class=\"table-container\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;height:inherit;width:100%}:host *{box-sizing:border-box}:host .data-table-holder{z-index:1}:host .data-table-content{top:0;left:0;z-index:1}:host ::ng-deep *{box-sizing:border-box}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container{overflow:auto!important;width:100%;height:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table{width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{height:42px;white-space:nowrap}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{border:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th span:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td span:first-child{display:inline-block;max-width:100%}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table .fixed-column{position:sticky}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{z-index:10}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{z-index:11}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th{top:0;z-index:1070}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column{z-index:1071}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:0;max-width:300px;width:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{max-width:180px;width:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right{box-shadow:none}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column.has-border-right:after{position:absolute;content:\"\";height:100%;top:0;right:0;width:4px;box-shadow:2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:300px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td.fixed-column{left:180px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #ffc000,inset -2px 0 #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #ffc000}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #ffc000,2px 0 4px #c4ae6c1a}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.has-border-right{box-shadow:inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr>th.fixed-column.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>tbody>tr>td.fixed-column.has-border-right:after{box-shadow:2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.has-border-right{box-shadow:inset 0 -1px #c5cdd5,inset -2px 0 #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right{box-shadow:inset 0 -1px #c5cdd5}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th:first-child.has-border-right:after,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-dark>thead>tr:last-child>th.fixed-column.has-border-right:after{box-shadow:inset 0 -1px #c5cdd5,2px 0 4px #6c8093}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr{background-color:transparent!important}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr th{top:42px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr+tr+tr th{top:84px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>thead>tr>th,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table>tbody>tr>td{background-color:#fff}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-hoverable>tbody>tr:not(.is-selected):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped>tbody>tr:not(.is-selected):nth-child(2n)>td{background-color:#fefcf7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-striped.is-hoverable>tr:not(.is-selected):nth-child(2n):hover>td{background-color:#f3f5f7}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow{font-size:.875rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th{height:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:200px;max-width:200px;width:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td:first-child,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{min-width:160px;max-width:160px;width:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:200px}@media screen and (max-width: 767px){:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr>th.fixed-column,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>tbody>tr>td.fixed-column{left:160px}}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr th{top:30px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow>thead>tr+tr+tr th{top:60px}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{height:30px;font-size:.875rem;line-height:1rem}:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .select select,:host ::ng-deep>.data-table-holder>.data-table-content>.table-container>.table.is-narrow .input{padding-top:5px;padding-bottom:5px}\n"] }]
42
42
  }], ctorParameters: () => [], propDecorators: { isSmall: [{
43
43
  type: HostBinding,
44
44
  args: ['class.is-small']
45
45
  }] } });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWdCLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXRFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQztBQVUzQixNQUFNLE9BQU8sa0JBQWtCO0lBVTdCLElBQ1csT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7UUF0QmlCLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUIsY0FBUyxHQUFHLEtBQUssQ0FBa0IsR0FBRyxDQUFDLENBQUM7UUFDeEMsY0FBUyxHQUFHLEtBQUssRUFBbUIsQ0FBQztRQUNyQyxVQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJCLFdBQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0IsVUFBSyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQWdCN0MsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELElBQVksT0FBTztRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUN6QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVTLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFnQjtRQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzsrR0F4Q1Usa0JBQWtCO21HQUFsQixrQkFBa0IsaWhCQ3pCL0IseVNBT0EsaTVWRGNZLGdCQUFnQjs7NEZBSWYsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLGVBQWUsV0FHaEIsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUNmLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTTt3REFhcEMsT0FBTztzQkFEakIsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlc2l6ZWRFdmVudCwgUmVzaXplZERpcmVjdGl2ZSB9IGZyb20gJy4uL3Jlc2l6ZWQuZGlyZWN0aXZlJztcblxuY29uc3QgZGVmYXVsdFNpemUgPSAnMTAwJSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hlLWRhdGEtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgaW1wb3J0czogW1Jlc2l6ZWREaXJlY3RpdmVdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBtaW5IZWlnaHQgPSBpbnB1dDxzdHJpbmcgfCBudW1iZXI+KDIwMCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBtYXhIZWlnaHQgPSBpbnB1dDxzdHJpbmcgfCBudW1iZXI+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBzbWFsbCA9IGlucHV0KGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGVpZ2h0ID0gc2lnbmFsKGRlZmF1bHRTaXplKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHdpZHRoID0gc2lnbmFsKGRlZmF1bHRTaXplKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXNtYWxsJylcbiAgcHVibGljIGdldCBpc1NtYWxsKCkge1xuICAgIHJldHVybiB0aGlzLnNtYWxsKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy51cGRhdGVUYWJsZVNpemUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICB0aGlzLnVwZGF0ZVRhYmxlU2l6ZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHRoaXMudXBkYXRlVGFibGVTaXplKCksIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldCB0YWJsZUVsKCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0YWJsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUYWJsZVNpemUoKSB7XG4gICAgY29uc3QgaGVpZ2h0ID0gdGhpcy50YWJsZUVsLm9mZnNldEhlaWdodDtcbiAgICBjb25zdCBtaW5IZWlnaHQgPSB0aGlzLm1pbkhlaWdodCgpID8gK3RoaXMubWluSGVpZ2h0KCkgOiBoZWlnaHQ7XG4gICAgY29uc3QgbWF4SGVpZ2h0ID0gdGhpcy5tYXhIZWlnaHQoKSA/ICt0aGlzLm1heEhlaWdodCgpIDogaGVpZ2h0O1xuICAgIHRoaXMuaGVpZ2h0LnNldChgJHtNYXRoLm1heChtaW5IZWlnaHQsIE1hdGgubWluKGhlaWdodCwgbWF4SGVpZ2h0KSl9cHhgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblJlc2l6ZWQoeyBuZXdSZWN0OiB7IHdpZHRoIH0gfTogUmVzaXplZEV2ZW50KSB7XG4gICAgdGhpcy53aWR0aC5zZXQoYCR7d2lkdGh9cHhgKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInctMTAwIHwgZGF0YS10YWJsZS1ob2xkZXJcIiBbc3R5bGUuaGVpZ2h0XT1cImhlaWdodCgpXCIgKHJlc2l6ZWQpPVwib25SZXNpemVkKCRldmVudClcIj5cbiAgPGRpdiBjbGFzcz1cImRhdGEtdGFibGUtY29udGVudFwiIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0KClcIiBbc3R5bGUud2lkdGhdPVwid2lkdGgoKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RhdGEtdGFibGUvZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQWdCLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBRXRFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQztBQVUzQixNQUFNLE9BQU8sa0JBQWtCO0lBVTdCLElBQ1csT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7UUF0QmlCLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFOUIsY0FBUyxHQUFHLEtBQUssQ0FBa0IsR0FBRyxDQUFDLENBQUM7UUFDeEMsY0FBUyxHQUFHLEtBQUssRUFBbUIsQ0FBQztRQUNyQyxVQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJCLFdBQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0IsVUFBSyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQWdCN0MsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsRUFBRSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELElBQVksT0FBTztRQUNqQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUN6QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVTLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFnQjtRQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzsrR0F4Q1Usa0JBQWtCO21HQUFsQixrQkFBa0IsaWhCQ3pCL0IsK1ZBVUEsNjFWRFdZLGdCQUFnQjs7NEZBSWYsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLGVBQWUsV0FHaEIsQ0FBQyxnQkFBZ0IsQ0FBQyxjQUNmLElBQUksbUJBQ0MsdUJBQXVCLENBQUMsTUFBTTt3REFhcEMsT0FBTztzQkFEakIsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRDaGVja2VkLFxuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFJlc2l6ZWRFdmVudCwgUmVzaXplZERpcmVjdGl2ZSB9IGZyb20gJy4uL3Jlc2l6ZWQuZGlyZWN0aXZlJztcblxuY29uc3QgZGVmYXVsdFNpemUgPSAnMTAwJSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hlLWRhdGEtdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0YS10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGEtdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbiAgaW1wb3J0czogW1Jlc2l6ZWREaXJlY3RpdmVdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBtaW5IZWlnaHQgPSBpbnB1dDxzdHJpbmcgfCBudW1iZXI+KDIwMCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBtYXhIZWlnaHQgPSBpbnB1dDxzdHJpbmcgfCBudW1iZXI+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBzbWFsbCA9IGlucHV0KGZhbHNlKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaGVpZ2h0ID0gc2lnbmFsKGRlZmF1bHRTaXplKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHdpZHRoID0gc2lnbmFsKGRlZmF1bHRTaXplKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXNtYWxsJylcbiAgcHVibGljIGdldCBpc1NtYWxsKCkge1xuICAgIHJldHVybiB0aGlzLnNtYWxsKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy51cGRhdGVUYWJsZVNpemUoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICB0aGlzLnVwZGF0ZVRhYmxlU2l6ZSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgZWZmZWN0KCgpID0+IHRoaXMudXBkYXRlVGFibGVTaXplKCksIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldCB0YWJsZUVsKCkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCd0YWJsZScpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVUYWJsZVNpemUoKSB7XG4gICAgY29uc3QgaGVpZ2h0ID0gdGhpcy50YWJsZUVsLm9mZnNldEhlaWdodDtcbiAgICBjb25zdCBtaW5IZWlnaHQgPSB0aGlzLm1pbkhlaWdodCgpID8gK3RoaXMubWluSGVpZ2h0KCkgOiBoZWlnaHQ7XG4gICAgY29uc3QgbWF4SGVpZ2h0ID0gdGhpcy5tYXhIZWlnaHQoKSA/ICt0aGlzLm1heEhlaWdodCgpIDogaGVpZ2h0O1xuICAgIHRoaXMuaGVpZ2h0LnNldChgJHtNYXRoLm1heChtaW5IZWlnaHQsIE1hdGgubWluKGhlaWdodCwgbWF4SGVpZ2h0KSl9cHhgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvblJlc2l6ZWQoeyBuZXdSZWN0OiB7IHdpZHRoIH0gfTogUmVzaXplZEV2ZW50KSB7XG4gICAgdGhpcy53aWR0aC5zZXQoYCR7d2lkdGh9cHhgKTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInctMTAwIGlzLXJlbGF0aXZlIGlzLW92ZXJmbG93LWhpZGRlbiB8IGRhdGEtdGFibGUtaG9sZGVyXCJcbiAgW3N0eWxlLmhlaWdodF09XCJoZWlnaHQoKVwiXG4gIChyZXNpemVkKT1cIm9uUmVzaXplZCgkZXZlbnQpXCI+XG4gIDxkaXYgY2xhc3M9XCJpcy1hYnNvbHV0ZSB8IGRhdGEtdGFibGUtY29udGVudFwiIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0KClcIiBbc3R5bGUud2lkdGhdPVwid2lkdGgoKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -124,7 +124,7 @@ export class DrawerContainerComponent {
124
124
  return parseInt(padding, 10) + parseInt(margin, 10);
125
125
  }
126
126
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DrawerContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
127
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: DrawerContainerComponent, isStandalone: true, selector: "he-drawer-container", inputs: { compactBreakpoint: { classPropertyName: "compactBreakpoint", publicName: "compactBreakpoint", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, contentPaddingStyles: { classPropertyName: "contentPaddingStyles", publicName: "contentPaddingStyles", isSignal: true, isRequired: false, transformFunction: null }, menuOverlap: { classPropertyName: "menuOverlap", publicName: "menuOverlap", isSignal: true, isRequired: false, transformFunction: null }, links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null }, drawerHeaderTemplate: { classPropertyName: "drawerHeaderTemplate", publicName: "drawerHeaderTemplate", isSignal: true, isRequired: false, transformFunction: null }, drawerMenuHeaderTemplate: { classPropertyName: "drawerMenuHeaderTemplate", publicName: "drawerMenuHeaderTemplate", isSignal: true, isRequired: false, transformFunction: null }, compactHeaderClass: { classPropertyName: "compactHeaderClass", publicName: "compactHeaderClass", isSignal: true, isRequired: false, transformFunction: null }, minMenuDistance: { classPropertyName: "minMenuDistance", publicName: "minMenuDistance", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { width: "widthChange", opened: "opened", closed: "closed" }, host: { listeners: { "window:mouseup": "stopResizing()" }, properties: { "class": "hostClass()", "attr.drawer-position": "position()", "attr.drawer-state": "menuState()" } }, providers: [sidenavStore], viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "@if (visible()) {\n @if (isCompact()) {\n <div class=\"compact-header\">\n <div [ngClass]=\"compactHeaderClass()\">\n <div class=\"is-flex is-align-items-flex-start is-justify-content-space-between w-100\">\n <div class=\"is-flex is-flex-grow-1 is-justify-content-space-between is-flex-direction-column\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (drawerMenuHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </div>\n\n @if (links()?.length > 0) {\n <div ngbDropdown #optionDd=\"ngbDropdown\" container=\"body\" placement=\"bottom-end\">\n <button\n ngbDropdownToggle\n class=\"compact-header--btn button is-small is-no-shadow\"\n aria-controls=\"drawer-menu\"\n type=\"button\">\n Menu\n\n <fa-icon\n class=\"compact-header--btn__icon\"\n [icon]=\"optionDd.isOpen() ? faChevronUp : faChevronDown\"\n aria-hidden=\"true\"></fa-icon>\n </button>\n\n <div ngbDropdownMenu id=\"drawer-menu\">\n <div class=\"dropdown-content navigation-menu-dropdown\">\n <he-navigation-menu (closed)=\"optionDd.close()\" [links]=\"links()\" />\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n } @else {\n <aside>\n <div\n class=\"shell__menuContent | h-100\"\n (@sideMenu.done)=\"animationDone($event)\"\n [@sideMenu]=\"expanded() ? 'full' : 'hidden'\">\n <div class=\"h-100 is-overflow-y-auto is-py-4 is-px-2\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (links()?.length > 0) {\n <he-navigation-menu [links]=\"links()\">\n @if (drawerMenuHeaderTemplate()) {\n <ng-container outer-content [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </he-navigation-menu>\n }\n </div>\n <button (click)=\"toggleMenu()\" (mousedown)=\"startResizing($event)\" class=\"shell__menuContent--toggle\">\n <fa-icon [icon]=\"toggleIcon()\" />\n </button>\n </div>\n </aside>\n }\n}\n\n<div [class.is-resizing]=\"isHoldingToggle()\" class=\"shell__content | h-100 w-100 is-flex\">\n <div class=\"shell__content--body | w-100\" [@reduceWidth]=\"reduceAnimation()\">\n <div #contentContainer class=\"w-100\" [className]=\"contentPaddingStyles()\">\n <ng-content select=\"[drawer-content]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: ["::ng-deep :root{--drawer-toggle-position: -20px;--sidenav-left-width: 256px;--sidenav-right-width: 256px;--content-transition-left-x: 0;--content-transition-right-x: 0}:host-context[drawer-position=left]{--sidenav-side-transform: 1;--sidenav-width: var(--sidenav-left-width);--content-transition-x: var(--content-transition-left-x);--menu-transition-transform: -1}:host-context[drawer-position=right]{--sidenav-side-transform: 0;--sidenav-width: var(--sidenav-right-width);--content-transition-x: var(--content-transition-right-x);--menu-transition-transform: 1}:host-context[drawer-position=right] aside{order:1}:host-context[drawer-position=right] aside .shell__menuContent{right:0;box-shadow:-3px 3px 3px #00000008}:host-context[drawer-position=right] aside .shell__menuContent--toggle{left:var(--drawer-toggle-position);border-radius:9px 0 0 9px}:host{position:relative;max-height:100%;display:flex;justify-content:space-between}:host aside{position:sticky;top:var(--navbar-height);z-index:10;height:calc(100vh - var(--navbar-height))}:host aside .shell__menuContent{position:absolute;top:0;box-shadow:3px 3px 3px #00000008;background-color:#fff;width:var(--sidenav-width)}:host aside .shell__menuContent--toggle{position:absolute;top:calc(50% - 24px);right:var(--drawer-toggle-position);background:#dbe3ea;border-radius:0 9px 9px 0;cursor:pointer;border:none;width:20px;height:48px;overflow:hidden;display:flex;justify-content:center;align-items:center}:host.is-resizable .shell__menuContent--toggle:active{cursor:col-resize}.shell__content--body{container-type:inline-size;transition:none}.shell__content:not(.is-resizing) .shell__content--body{transition:transform .3s ease-in-out,width .3s ease-in-out}.navigation-menu-dropdown{width:300px}@media screen and (max-width: 767px){.navigation-menu-dropdown{width:calc(100dvw - 3rem)}}.compact-header{position:sticky;top:calc(var(--navbar-height));z-index:10}@media screen and (max-width: 767px){.compact-header{top:0}}.compact-header--btn{display:block;background:#dbe3ea;border-radius:3px;color:#193957;font-weight:700;font-size:1rem;line-height:21px;padding:.25rem .5rem}.compact-header--btn__icon{margin-left:.25rem;font-size:12px}.compact-header--btn .show .compact-header--btn__icon{transform:rotate(180deg)}he-navigation-menu ::ng-deep .menu{width:100%!important;min-width:100%!important;max-width:100%!important}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "component", type: NavigationMenuComponent, selector: "he-navigation-menu", inputs: ["links", "sticky", "collapsible", "routerLinkMatchOptions"], outputs: ["closed"] }], animations: ANIMATIONS, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
127
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: DrawerContainerComponent, isStandalone: true, selector: "he-drawer-container", inputs: { compactBreakpoint: { classPropertyName: "compactBreakpoint", publicName: "compactBreakpoint", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, resizable: { classPropertyName: "resizable", publicName: "resizable", isSignal: true, isRequired: false, transformFunction: null }, contentPaddingStyles: { classPropertyName: "contentPaddingStyles", publicName: "contentPaddingStyles", isSignal: true, isRequired: false, transformFunction: null }, menuOverlap: { classPropertyName: "menuOverlap", publicName: "menuOverlap", isSignal: true, isRequired: false, transformFunction: null }, links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null }, drawerHeaderTemplate: { classPropertyName: "drawerHeaderTemplate", publicName: "drawerHeaderTemplate", isSignal: true, isRequired: false, transformFunction: null }, drawerMenuHeaderTemplate: { classPropertyName: "drawerMenuHeaderTemplate", publicName: "drawerMenuHeaderTemplate", isSignal: true, isRequired: false, transformFunction: null }, compactHeaderClass: { classPropertyName: "compactHeaderClass", publicName: "compactHeaderClass", isSignal: true, isRequired: false, transformFunction: null }, minMenuDistance: { classPropertyName: "minMenuDistance", publicName: "minMenuDistance", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { width: "widthChange", opened: "opened", closed: "closed" }, host: { listeners: { "window:mouseup": "stopResizing()" }, properties: { "class": "hostClass()", "attr.drawer-position": "position()", "attr.drawer-state": "menuState()" } }, providers: [sidenavStore], viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "@if (visible()) {\n @if (isCompact()) {\n <div class=\"compact-header\">\n <div [ngClass]=\"compactHeaderClass()\">\n <div class=\"is-flex is-align-items-flex-start is-justify-content-space-between w-100\">\n <div class=\"is-flex is-flex-grow-1 is-justify-content-space-between is-flex-direction-column\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (drawerMenuHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </div>\n\n @if (links()?.length > 0) {\n <div ngbDropdown #optionDd=\"ngbDropdown\" container=\"body\" placement=\"bottom-end\">\n <button\n ngbDropdownToggle\n class=\"compact-header--btn button is-small is-no-shadow\"\n aria-controls=\"drawer-menu\"\n type=\"button\">\n Menu\n\n <fa-icon\n class=\"compact-header--btn__icon\"\n [icon]=\"optionDd.isOpen() ? faChevronUp : faChevronDown\"\n aria-hidden=\"true\" />\n </button>\n\n <div ngbDropdownMenu id=\"drawer-menu\">\n <div class=\"dropdown-content navigation-menu-dropdown\">\n <he-navigation-menu (closed)=\"optionDd.close()\" [links]=\"links()\" />\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n } @else {\n <aside>\n <div\n class=\"shell__menuContent | h-100\"\n (@sideMenu.done)=\"animationDone($event)\"\n [@sideMenu]=\"expanded() ? 'full' : 'hidden'\">\n <div class=\"h-100 is-overflow-y-auto is-py-4 is-px-2\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (links()?.length > 0) {\n <he-navigation-menu [links]=\"links()\">\n @if (drawerMenuHeaderTemplate()) {\n <ng-container outer-content [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </he-navigation-menu>\n }\n </div>\n <button\n (click)=\"toggleMenu()\"\n (mousedown)=\"startResizing($event)\"\n class=\"is-absolute is-overflow-hidden is-flex is-justify-content-center is-align-items-center | shell__menuContent--toggle\"\n pointer>\n <fa-icon [icon]=\"toggleIcon()\" />\n </button>\n </div>\n </aside>\n }\n}\n\n<div [class.is-resizing]=\"isHoldingToggle()\" class=\"shell__content | h-100 w-100 is-flex\">\n <div class=\"shell__content--body | w-100\" [@reduceWidth]=\"reduceAnimation()\">\n <div #contentContainer class=\"w-100\" [className]=\"contentPaddingStyles()\">\n <ng-content select=\"[drawer-content]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: ["::ng-deep :root{--drawer-toggle-position: -20px;--sidenav-left-width: 256px;--sidenav-right-width: 256px;--content-transition-left-x: 0;--content-transition-right-x: 0}:host-context[drawer-position=left]{--sidenav-side-transform: 1;--sidenav-width: var(--sidenav-left-width);--content-transition-x: var(--content-transition-left-x);--menu-transition-transform: -1}:host-context[drawer-position=right]{--sidenav-side-transform: 0;--sidenav-width: var(--sidenav-right-width);--content-transition-x: var(--content-transition-right-x);--menu-transition-transform: 1}:host-context[drawer-position=right] aside{order:1}:host-context[drawer-position=right] aside .shell__menuContent{right:0;box-shadow:-3px 3px 3px #00000008}:host-context[drawer-position=right] aside .shell__menuContent--toggle{left:var(--drawer-toggle-position);border-radius:9px 0 0 9px}:host{position:relative;max-height:100%;display:flex;justify-content:space-between}:host aside{position:sticky;top:var(--navbar-height);z-index:10;height:calc(100vh - var(--navbar-height))}:host aside .shell__menuContent{position:absolute;top:0;box-shadow:3px 3px 3px #00000008;background-color:#fff;width:var(--sidenav-width)}:host aside .shell__menuContent--toggle{top:calc(50% - 24px);right:var(--drawer-toggle-position);background:#dbe3ea;border-radius:0 9px 9px 0;border:none;width:20px;height:48px}:host.is-resizable .shell__menuContent--toggle:active{cursor:col-resize}.shell__content--body{container-type:inline-size;transition:none}.shell__content:not(.is-resizing) .shell__content--body{transition:transform .3s ease-in-out,width .3s ease-in-out}.navigation-menu-dropdown{width:300px}@media screen and (max-width: 767px){.navigation-menu-dropdown{width:calc(100dvw - 3rem)}}.compact-header{position:sticky;top:calc(var(--navbar-height));z-index:10}@media screen and (max-width: 767px){.compact-header{top:0}}.compact-header--btn{display:block;background:#dbe3ea;border-radius:3px;color:#193957;font-weight:700;font-size:1rem;line-height:21px;padding:.25rem .5rem}.compact-header--btn__icon{margin-left:.25rem;font-size:12px}.compact-header--btn .show .compact-header--btn__icon{transform:rotate(180deg)}he-navigation-menu ::ng-deep .menu{width:100%!important;min-width:100%!important;max-width:100%!important}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: NgbDropdown, selector: "[ngbDropdown]", inputs: ["autoClose", "dropdownClass", "open", "placement", "popperOptions", "container", "display"], outputs: ["openChange"], exportAs: ["ngbDropdown"] }, { kind: "directive", type: NgbDropdownMenu, selector: "[ngbDropdownMenu]" }, { kind: "directive", type: NgbDropdownToggle, selector: "[ngbDropdownToggle]" }, { kind: "component", type: NavigationMenuComponent, selector: "he-navigation-menu", inputs: ["links", "sticky", "collapsible", "routerLinkMatchOptions"], outputs: ["closed"] }], animations: ANIMATIONS, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
128
128
  }
129
129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DrawerContainerComponent, decorators: [{
130
130
  type: Component,
@@ -141,9 +141,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
141
141
  '[class]': 'hostClass()',
142
142
  '[attr.drawer-position]': 'position()',
143
143
  '[attr.drawer-state]': 'menuState()'
144
- }, providers: [sidenavStore], template: "@if (visible()) {\n @if (isCompact()) {\n <div class=\"compact-header\">\n <div [ngClass]=\"compactHeaderClass()\">\n <div class=\"is-flex is-align-items-flex-start is-justify-content-space-between w-100\">\n <div class=\"is-flex is-flex-grow-1 is-justify-content-space-between is-flex-direction-column\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (drawerMenuHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </div>\n\n @if (links()?.length > 0) {\n <div ngbDropdown #optionDd=\"ngbDropdown\" container=\"body\" placement=\"bottom-end\">\n <button\n ngbDropdownToggle\n class=\"compact-header--btn button is-small is-no-shadow\"\n aria-controls=\"drawer-menu\"\n type=\"button\">\n Menu\n\n <fa-icon\n class=\"compact-header--btn__icon\"\n [icon]=\"optionDd.isOpen() ? faChevronUp : faChevronDown\"\n aria-hidden=\"true\"></fa-icon>\n </button>\n\n <div ngbDropdownMenu id=\"drawer-menu\">\n <div class=\"dropdown-content navigation-menu-dropdown\">\n <he-navigation-menu (closed)=\"optionDd.close()\" [links]=\"links()\" />\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n } @else {\n <aside>\n <div\n class=\"shell__menuContent | h-100\"\n (@sideMenu.done)=\"animationDone($event)\"\n [@sideMenu]=\"expanded() ? 'full' : 'hidden'\">\n <div class=\"h-100 is-overflow-y-auto is-py-4 is-px-2\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (links()?.length > 0) {\n <he-navigation-menu [links]=\"links()\">\n @if (drawerMenuHeaderTemplate()) {\n <ng-container outer-content [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </he-navigation-menu>\n }\n </div>\n <button (click)=\"toggleMenu()\" (mousedown)=\"startResizing($event)\" class=\"shell__menuContent--toggle\">\n <fa-icon [icon]=\"toggleIcon()\" />\n </button>\n </div>\n </aside>\n }\n}\n\n<div [class.is-resizing]=\"isHoldingToggle()\" class=\"shell__content | h-100 w-100 is-flex\">\n <div class=\"shell__content--body | w-100\" [@reduceWidth]=\"reduceAnimation()\">\n <div #contentContainer class=\"w-100\" [className]=\"contentPaddingStyles()\">\n <ng-content select=\"[drawer-content]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: ["::ng-deep :root{--drawer-toggle-position: -20px;--sidenav-left-width: 256px;--sidenav-right-width: 256px;--content-transition-left-x: 0;--content-transition-right-x: 0}:host-context[drawer-position=left]{--sidenav-side-transform: 1;--sidenav-width: var(--sidenav-left-width);--content-transition-x: var(--content-transition-left-x);--menu-transition-transform: -1}:host-context[drawer-position=right]{--sidenav-side-transform: 0;--sidenav-width: var(--sidenav-right-width);--content-transition-x: var(--content-transition-right-x);--menu-transition-transform: 1}:host-context[drawer-position=right] aside{order:1}:host-context[drawer-position=right] aside .shell__menuContent{right:0;box-shadow:-3px 3px 3px #00000008}:host-context[drawer-position=right] aside .shell__menuContent--toggle{left:var(--drawer-toggle-position);border-radius:9px 0 0 9px}:host{position:relative;max-height:100%;display:flex;justify-content:space-between}:host aside{position:sticky;top:var(--navbar-height);z-index:10;height:calc(100vh - var(--navbar-height))}:host aside .shell__menuContent{position:absolute;top:0;box-shadow:3px 3px 3px #00000008;background-color:#fff;width:var(--sidenav-width)}:host aside .shell__menuContent--toggle{position:absolute;top:calc(50% - 24px);right:var(--drawer-toggle-position);background:#dbe3ea;border-radius:0 9px 9px 0;cursor:pointer;border:none;width:20px;height:48px;overflow:hidden;display:flex;justify-content:center;align-items:center}:host.is-resizable .shell__menuContent--toggle:active{cursor:col-resize}.shell__content--body{container-type:inline-size;transition:none}.shell__content:not(.is-resizing) .shell__content--body{transition:transform .3s ease-in-out,width .3s ease-in-out}.navigation-menu-dropdown{width:300px}@media screen and (max-width: 767px){.navigation-menu-dropdown{width:calc(100dvw - 3rem)}}.compact-header{position:sticky;top:calc(var(--navbar-height));z-index:10}@media screen and (max-width: 767px){.compact-header{top:0}}.compact-header--btn{display:block;background:#dbe3ea;border-radius:3px;color:#193957;font-weight:700;font-size:1rem;line-height:21px;padding:.25rem .5rem}.compact-header--btn__icon{margin-left:.25rem;font-size:12px}.compact-header--btn .show .compact-header--btn__icon{transform:rotate(180deg)}he-navigation-menu ::ng-deep .menu{width:100%!important;min-width:100%!important;max-width:100%!important}\n"] }]
144
+ }, providers: [sidenavStore], template: "@if (visible()) {\n @if (isCompact()) {\n <div class=\"compact-header\">\n <div [ngClass]=\"compactHeaderClass()\">\n <div class=\"is-flex is-align-items-flex-start is-justify-content-space-between w-100\">\n <div class=\"is-flex is-flex-grow-1 is-justify-content-space-between is-flex-direction-column\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (drawerMenuHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </div>\n\n @if (links()?.length > 0) {\n <div ngbDropdown #optionDd=\"ngbDropdown\" container=\"body\" placement=\"bottom-end\">\n <button\n ngbDropdownToggle\n class=\"compact-header--btn button is-small is-no-shadow\"\n aria-controls=\"drawer-menu\"\n type=\"button\">\n Menu\n\n <fa-icon\n class=\"compact-header--btn__icon\"\n [icon]=\"optionDd.isOpen() ? faChevronUp : faChevronDown\"\n aria-hidden=\"true\" />\n </button>\n\n <div ngbDropdownMenu id=\"drawer-menu\">\n <div class=\"dropdown-content navigation-menu-dropdown\">\n <he-navigation-menu (closed)=\"optionDd.close()\" [links]=\"links()\" />\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n </div>\n } @else {\n <aside>\n <div\n class=\"shell__menuContent | h-100\"\n (@sideMenu.done)=\"animationDone($event)\"\n [@sideMenu]=\"expanded() ? 'full' : 'hidden'\">\n <div class=\"h-100 is-overflow-y-auto is-py-4 is-px-2\">\n @if (drawerHeaderTemplate()) {\n <ng-container [ngTemplateOutlet]=\"drawerHeaderTemplate()\" />\n }\n\n @if (links()?.length > 0) {\n <he-navigation-menu [links]=\"links()\">\n @if (drawerMenuHeaderTemplate()) {\n <ng-container outer-content [ngTemplateOutlet]=\"drawerMenuHeaderTemplate()\" />\n }\n </he-navigation-menu>\n }\n </div>\n <button\n (click)=\"toggleMenu()\"\n (mousedown)=\"startResizing($event)\"\n class=\"is-absolute is-overflow-hidden is-flex is-justify-content-center is-align-items-center | shell__menuContent--toggle\"\n pointer>\n <fa-icon [icon]=\"toggleIcon()\" />\n </button>\n </div>\n </aside>\n }\n}\n\n<div [class.is-resizing]=\"isHoldingToggle()\" class=\"shell__content | h-100 w-100 is-flex\">\n <div class=\"shell__content--body | w-100\" [@reduceWidth]=\"reduceAnimation()\">\n <div #contentContainer class=\"w-100\" [className]=\"contentPaddingStyles()\">\n <ng-content select=\"[drawer-content]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: ["::ng-deep :root{--drawer-toggle-position: -20px;--sidenav-left-width: 256px;--sidenav-right-width: 256px;--content-transition-left-x: 0;--content-transition-right-x: 0}:host-context[drawer-position=left]{--sidenav-side-transform: 1;--sidenav-width: var(--sidenav-left-width);--content-transition-x: var(--content-transition-left-x);--menu-transition-transform: -1}:host-context[drawer-position=right]{--sidenav-side-transform: 0;--sidenav-width: var(--sidenav-right-width);--content-transition-x: var(--content-transition-right-x);--menu-transition-transform: 1}:host-context[drawer-position=right] aside{order:1}:host-context[drawer-position=right] aside .shell__menuContent{right:0;box-shadow:-3px 3px 3px #00000008}:host-context[drawer-position=right] aside .shell__menuContent--toggle{left:var(--drawer-toggle-position);border-radius:9px 0 0 9px}:host{position:relative;max-height:100%;display:flex;justify-content:space-between}:host aside{position:sticky;top:var(--navbar-height);z-index:10;height:calc(100vh - var(--navbar-height))}:host aside .shell__menuContent{position:absolute;top:0;box-shadow:3px 3px 3px #00000008;background-color:#fff;width:var(--sidenav-width)}:host aside .shell__menuContent--toggle{top:calc(50% - 24px);right:var(--drawer-toggle-position);background:#dbe3ea;border-radius:0 9px 9px 0;border:none;width:20px;height:48px}:host.is-resizable .shell__menuContent--toggle:active{cursor:col-resize}.shell__content--body{container-type:inline-size;transition:none}.shell__content:not(.is-resizing) .shell__content--body{transition:transform .3s ease-in-out,width .3s ease-in-out}.navigation-menu-dropdown{width:300px}@media screen and (max-width: 767px){.navigation-menu-dropdown{width:calc(100dvw - 3rem)}}.compact-header{position:sticky;top:calc(var(--navbar-height));z-index:10}@media screen and (max-width: 767px){.compact-header{top:0}}.compact-header--btn{display:block;background:#dbe3ea;border-radius:3px;color:#193957;font-weight:700;font-size:1rem;line-height:21px;padding:.25rem .5rem}.compact-header--btn__icon{margin-left:.25rem;font-size:12px}.compact-header--btn .show .compact-header--btn__icon{transform:rotate(180deg)}he-navigation-menu ::ng-deep .menu{width:100%!important;min-width:100%!important;max-width:100%!important}\n"] }]
145
145
  }], ctorParameters: () => [], propDecorators: { stopResizing: [{
146
146
  type: HostListener,
147
147
  args: ['window:mouseup']
148
148
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RyYXdlci1jb250YWluZXIvZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RyYXdlci1jb250YWluZXIvZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFGLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBYyxNQUFNLE1BQU0sQ0FB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LENBQUM7SUFDdEQsQ0FBQzsrR0F4S1Usd0JBQXdCO21HQUF4Qix3QkFBd0Isa3VFQUZ4QixDQUFDLFlBQVksQ0FBQywySEFPaUQsVUFBVSw2Q0M3RHRGLDAwRkEwRUEsaTRFRHRDSSxnQkFBZ0Isb0pBQ2hCLGVBQWUsNE1BQ2YsT0FBTyxtRkFDUCxXQUFXLCtCQUNYLFdBQVcsb05BQ1gsZUFBZSw4REFDZixpQkFBaUIsZ0VBQ2pCLHVCQUF1Qiw0SUFLYixVQUFVOzs0RkFRWCx3QkFBd0I7a0JBeEJwQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQix1QkFBdUI7cUJBQ3hCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLFVBQVUsUUFDaEI7d0JBQ0osU0FBUyxFQUFFLGFBQWE7d0JBQ3hCLHdCQUF3QixFQUFFLFlBQVk7d0JBQ3RDLHFCQUFxQixFQUFFLGFBQWE7cUJBQ3JDLGFBQ1UsQ0FBQyxZQUFZLENBQUM7d0RBcUl6QixZQUFZO3NCQURYLFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgc2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgdmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGYUljb25Db21wb25lbnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBmYUNoZXZyb25Eb3duLCBmYUNoZXZyb25MZWZ0LCBmYUNoZXZyb25SaWdodCwgZmFDaGV2cm9uVXAgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHR5cGUgeyBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgb3V0cHV0RnJvbU9ic2VydmFibGUsIHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgc2tpcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdiRHJvcGRvd24sIE5nYkRyb3Bkb3duTWVudSwgTmdiRHJvcGRvd25Ub2dnbGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBhbmltYXRpb25GcmFtZVNjaGVkdWxlciwgY29tYmluZUxhdGVzdCwgRU1QVFksIGZyb21FdmVudCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJ25neC13ZWJzdG9yYWdlJztcblxuaW1wb3J0IHsgQU5JTUFUSU9OUyB9IGZyb20gJy4vZHJhd2VyLWNvbnRhaW5lci5hbmltYXRpb25zJztcbmltcG9ydCB7IHNpZGVuYXZTdG9yZSwgaW5pdGlhbFN0YXRlLCBkcmF3ZXJQb3NpdGlvbiB9IGZyb20gJy4vc2lkZW5hdi5zdG9yZSc7XG5pbXBvcnQgeyBJTmF2aWdhdGlvbk1lbnVMaW5rLCBOYXZpZ2F0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tbWVudS9uYXZpZ2F0aW9uLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFJlc3BvbnNpdmVCcmVha3BvaW50LCBSZXNwb25zaXZlU2VydmljZSB9IGZyb20gJy4uL3Jlc3BvbnNpdmUuc2VydmljZSc7XG5cbmNvbnN0IHN0b3JhZ2VLZXkgPSAnaGUtZHJhd2VyLWNvbnRhaW5lcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hlLWRyYXdlci1jb250YWluZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBGYUljb25Db21wb25lbnQsXG4gICAgTmdDbGFzcyxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBOZ2JEcm9wZG93bixcbiAgICBOZ2JEcm9wZG93bk1lbnUsXG4gICAgTmdiRHJvcGRvd25Ub2dnbGUsXG4gICAgTmF2aWdhdGlvbk1lbnVDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXdlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBBTklNQVRJT05TLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzc10nOiAnaG9zdENsYXNzKCknLFxuICAgICdbYXR0ci5kcmF3ZXItcG9zaXRpb25dJzogJ3Bvc2l0aW9uKCknLFxuICAgICdbYXR0ci5kcmF3ZXItc3RhdGVdJzogJ21lbnVTdGF0ZSgpJ1xuICB9LFxuICBwcm92aWRlcnM6IFtzaWRlbmF2U3RvcmVdXG59KVxuZXhwb3J0IGNsYXNzIERyYXdlckNvbnRhaW5lckNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2lkZW5hdlN0b3JlID0gaW5qZWN0KHNpZGVuYXZTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2l2ZVNlcnZpY2UgPSBpbmplY3QoUmVzcG9uc2l2ZVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZSA9IGluamVjdChMb2NhbFN0b3JhZ2VTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRlbnRDb250YWluZXIgPSB2aWV3Q2hpbGQoJ2NvbnRlbnRDb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1lbnVTdGF0ZSA9IHNpZ25hbDwnb3BlbicgfCAnY2xvc2UnPignY2xvc2UnKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGV4cGFuZGVkID0gc2lnbmFsKGluaXRpYWxTdGF0ZS5leHBhbmRlZCk7XG5cbiAgLyoqXG4gICAqIFRoZSBicmVha3BvaW50IGF0IHdoaWNoIHRoZSBkcmF3ZXIgd2lsbCBubyBsb25nZXIgYmUgY29tcGFjdC5cbiAgICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIGl0IHdpbGwgYmUgdXNlZCBhcyB0aGUgd2lkdGggaW4gcGl4ZWxzLlxuICAgKiBJZiAnbm9uZScgaXMgcHJvdmlkZWQsIHRoZSBkcmF3ZXIgd2lsbCBuZXZlciBiZSBjb21wYWN0LlxuICAgKiBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBwcm92aWRlZCwgdGhlIGRyYXdlciB3aWxsIGJlIGNvbXBhY3QgdW50aWwgdGhhdCBicmVha3BvaW50LlxuICAgKiBAZGVmYXVsdCAndGFibGV0JyAtIHRoZSBkcmF3ZXIgd2lsbCBiZSBjb21wYWN0IHVudGlsIHRoZSB0YWJsZXQgYnJlYWtwb2ludC5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjb21wYWN0QnJlYWtwb2ludCA9IGlucHV0PFJlc3BvbnNpdmVCcmVha3BvaW50PigndGFibGV0Jyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBwb3NpdGlvbiA9IGlucHV0PGRyYXdlclBvc2l0aW9uPihpbml0aWFsU3RhdGUuc2lkZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBtaW4gPSBpbnB1dDxudW1iZXI+KGluaXRpYWxTdGF0ZS5taW5XaWR0aCk7XG4gIHByb3RlY3RlZCByZWFkb25seSB3aWR0aCA9IG1vZGVsPG51bWJlcj4oaW5pdGlhbFN0YXRlLndpZHRoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1heCA9IGlucHV0PG51bWJlcj4oaW5pdGlhbFN0YXRlLm1heFdpZHRoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlc2l6YWJsZSA9IGlucHV0KHRydWUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGVudFBhZGRpbmdTdHlsZXMgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBtZW51T3ZlcmxhcCA9IGlucHV0KHRydWUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGlua3MgPSBpbnB1dDxJTmF2aWdhdGlvbk1lbnVMaW5rW10+KFtdKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyYXdlckhlYWRlclRlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyYXdlck1lbnVIZWFkZXJUZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb21wYWN0SGVhZGVyQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzWyduZ0NsYXNzJ10+KG51bGwpO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gZGlzdGFuY2UgYmV0d2VlbiB0aGUgbWVudSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1pbk1lbnVEaXN0YW5jZSA9IGlucHV0PG51bWJlcj4oaW5pdGlhbFN0YXRlLm1pbk1lbnVEaXN0YW5jZSk7XG4gIC8qKlxuICAgKiBHaXZpbmcgYW4gaWQgdG8gdGhlIG1lbnUgc28gdGhhdCBpdCBjYW4gc3RvcmUgdGhlIHJlc2l6ZWQgcG9zaXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWQgPSBpbnB1dCgnJyk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wZW5lZCA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLm1lbnVTdGF0ZSkucGlwZShcbiAgICAgIHNraXAoMSksXG4gICAgICBmaWx0ZXIoc3RhdGUgPT4gc3RhdGUgPT09ICdvcGVuJyksXG4gICAgICBtYXAoKCkgPT4gdHJ1ZSlcbiAgICApXG4gICk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjbG9zZWQgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZShcbiAgICB0b09ic2VydmFibGUodGhpcy5tZW51U3RhdGUpLnBpcGUoXG4gICAgICBza2lwKDEpLFxuICAgICAgZmlsdGVyKHN0YXRlID0+IHN0YXRlID09PSAnY2xvc2UnKSxcbiAgICAgIG1hcCgoKSA9PiB0cnVlKVxuICAgIClcbiAgKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmFDaGV2cm9uVXAgPSBmYUNoZXZyb25VcDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZhQ2hldnJvbkRvd24gPSBmYUNoZXZyb25Eb3duO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB2aXNpYmxlID0gY29tcHV0ZWQoKCkgPT5cbiAgICBbdGhpcy5saW5rcygpPy5sZW5ndGggPiAwLCAhIXRoaXMuZHJhd2VySGVhZGVyVGVtcGxhdGUoKSwgISF0aGlzLmRyYXdlck1lbnVIZWFkZXJUZW1wbGF0ZSgpXS5zb21lKEJvb2xlYW4pXG4gICk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzQ29tcGFjdCA9IHRvU2lnbmFsKFxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmNvbXBhY3RCcmVha3BvaW50KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGJyZWFrcG9pbnQgPT5cbiAgICAgICAgdGhpcy5yZXNwb25zaXZlU2VydmljZS5pc0Fib3ZlQnJlYWtwb2ludCQoYnJlYWtwb2ludCkucGlwZShtYXAoaXNBYm92ZUJyZWFrcG9pbnQgPT4gIWlzQWJvdmVCcmVha3BvaW50KSlcbiAgICAgIClcbiAgICApXG4gICk7XG4gIHByb3RlY3RlZCByZWFkb25seSBob3N0Q2xhc3MgPSBjb21wdXRlZCgoKSA9PlxuICAgIFsnaXMtZmxleCcsIHRoaXMuaXNDb21wYWN0KCkgPyAnaXMtZmxleC1kaXJlY3Rpb24tY29sdW1uJyA6ICcnLCB0aGlzLnJlc2l6YWJsZSgpID8gJ2lzLXJlc2l6YWJsZScgOiAnJ10uam9pbignICcpXG4gICk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc0hvbGRpbmdUb2dnbGUgPSB0aGlzLnNpZGVuYXZTdG9yZS5pc1Jlc2l6aW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3VwZGF0ZVNpZGVuYXZFdmVudCQgPSB0b09ic2VydmFibGUodGhpcy5zaWRlbmF2U3RvcmUuaXNSZXNpemluZykucGlwZShcbiAgICBzd2l0Y2hNYXAobGlzdGVuID0+IChsaXN0ZW4gPyAoZnJvbUV2ZW50KHdpbmRvdywgJ21vdXNlbW92ZScpIGFzIE9ic2VydmFibGU8TW91c2VFdmVudD4pIDogRU1QVFkpKSxcbiAgICB0aHJvdHRsZVRpbWUoMCwgYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIpXG4gICk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRlbnRDb250YWluZXIkID0gdG9PYnNlcnZhYmxlKHRoaXMuY29udGVudENvbnRhaW5lcikucGlwZShmaWx0ZXIoeCA9PiAhIXgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaG9zdENvbXBvbmVudFdpZHRoJCA9IGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKS5waXBlKHN0YXJ0V2l0aCh3aW5kb3cuaW5uZXJXaWR0aCkpO1xuXG4gIC8qKlxuICAgKiB3ZSB1c2UgY29tYmluZUxhdGVzdCBpbnN0ZWFkIG9mIGNvbXB1dGVkIHRvIGF2b2lkIHRoZSBhbmltYXRpb24gZmxpY2tlcmluZyAod2FpdCBmb3IgYWxsIHNvdXJjZXMgdG8gZW1pdClcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSByZWR1Y2VBbmltYXRpb24gPSB0b1NpZ25hbChcbiAgICBjb21iaW5lTGF0ZXN0KFt0b09ic2VydmFibGUodGhpcy5leHBhbmRlZCksIHRvT2JzZXJ2YWJsZSh0aGlzLmlzQ29tcGFjdCksIHRvT2JzZXJ2YWJsZSh0aGlzLnZpc2libGUpXSkucGlwZShcbiAgICAgIG1hcCgoW2V4cGFuZGVkLCBpc0NvbXBhY3QsIHZpc2libGVdKSA9PiAoW2V4cGFuZGVkLCAhaXNDb21wYWN0LCB2aXNpYmxlXS5ldmVyeShCb29sZWFuKSA/ICdyZWR1Y2VkJyA6ICdmdWxsJykpXG4gICAgKVxuICApO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZW50Q29udGFpbmVyUGFkZGluZyQgPSB0aGlzLl9ob3N0Q29tcG9uZW50V2lkdGgkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX2NvbnRlbnRDb250YWluZXIkLnBpcGUobWFwKGVsID0+IHRoaXMuX2dldENvbnRlbnRMZWZ0U2lkZVNwYWNlKGVsKSkpKVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZUtleSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmlkKCkgPyBbc3RvcmFnZUtleSwgdGhpcy5pZCgpXS5qb2luKCctJykgOiBudWxsKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmVkV2l0aCA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5zdG9yYWdlS2V5KCkgPyBKU09OLnBhcnNlKHRoaXMubG9jYWxTdG9yYWdlLnJldHJpZXZlKHRoaXMuc3RvcmFnZUtleSgpKSB8fCAne30nKS53aWR0aCB8fCAwIDogMFxuICApO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldFNpZGUodGhpcy5wb3NpdGlvbik7XG4gICAgdGhpcy5zaWRlbmF2U3RvcmUuc2V0TWluV2lkdGgodGhpcy5taW4pO1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldE1heFdpZHRoKHRoaXMubWF4KTtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS5zZXRXaWR0aCh0aGlzLndpZHRoKTtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS51cGRhdGVSZXNpemluZyh0aGlzLl91cGRhdGVTaWRlbmF2RXZlbnQkKTtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS5zZXRDb250ZW50Q29udGFpbmVyU3BhY2luZyh0aGlzLl9jb250ZW50Q29udGFpbmVyUGFkZGluZyQpO1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldEV4cGFuZGVkKHRoaXMuZXhwYW5kZWQpO1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldE1pbk1lbnVEaXN0YW5jZSh0aGlzLm1pbk1lbnVEaXN0YW5jZSk7XG5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnJlc2l6YWJsZSgpICYmIHRoaXMuc3RvcmVkV2l0aCgpKSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLndpZHRoLnNldCh0aGlzLnN0b3JlZFdpdGgoKSkpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcblxuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnZpc2libGUoKSkge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5tZW51U3RhdGUuc2V0KCdjbG9zZScpKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICk7XG4gIH1cblxuICBzdGFydFJlc2l6aW5nKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJlc2l6YWJsZSgpKSByZXR1cm47XG4gICAgdGhpcy5zaWRlbmF2U3RvcmUuc3RhcnRSZXNpemluZyhldmVudCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2V1cCcpXG4gIHN0b3BSZXNpemluZygpIHtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS5zdG9wUmVzaXppbmcoKTtcbiAgICB0aGlzLnN0b3JhZ2VLZXkoKSAmJlxuICAgICAgdGhpcy5sb2NhbFN0b3JhZ2Uuc3RvcmUodGhpcy5zdG9yYWdlS2V5KCksIEpTT04uc3RyaW5naWZ5KHsgd2lkdGg6IHRoaXMuc2lkZW5hdlN0b3JlLndpZHRoKCkgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRvZ2dsZUljb24oKSB7XG4gICAgcmV0dXJuICh0aGlzLmV4cGFuZGVkKCkgJiYgdGhpcy5wb3NpdGlvbigpID09PSAnbGVmdCcpIHx8ICghdGhpcy5leHBhbmRlZCgpICYmIHRoaXMucG9zaXRpb24oKSA9PT0gJ3JpZ2h0JylcbiAgICAgID8gZmFDaGV2cm9uTGVmdFxuICAgICAgOiBmYUNoZXZyb25SaWdodDtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVNZW51KCkge1xuICAgIGlmICh0aGlzLnNpZGVuYXZTdG9yZS5oYXNNZW51V2lkdGhDaGFuZ2VkKCkgJiYgdGhpcy5leHBhbmRlZCgpKSByZXR1cm47XG5cbiAgICB0aGlzLmV4cGFuZGVkKCkgPyB0aGlzLmhpZGVNZW51KCkgOiB0aGlzLnNob3dNZW51KCk7XG4gIH1cblxuICBwdWJsaWMgaGlkZU1lbnUoKSB7XG4gICAgdGhpcy5leHBhbmRlZC5zZXQoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIHNob3dNZW51KCkge1xuICAgIHRoaXMuZXhwYW5kZWQuc2V0KHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgY29uc3QgZGlkT3BlbiA9IGV2ZW50LnRvU3RhdGUgIT09ICdoaWRkZW4nO1xuICAgIHRoaXMubWVudVN0YXRlLnNldChkaWRPcGVuID8gJ29wZW4nIDogJ2Nsb3NlJyk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDb250ZW50TGVmdFNpZGVTcGFjZShlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5wb3NpdGlvbigpO1xuICAgIGNvbnN0IHN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQubmF0aXZlRWxlbWVudCwgbnVsbCk7XG4gICAgY29uc3QgcGFkZGluZyA9IHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLScgKyBwb3NpdGlvbik7XG4gICAgY29uc3QgbWFyZ2luID0gc3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ21hcmdpbi0nICsgcG9zaXRpb24pO1xuICAgIHJldHVybiBwYXJzZUludChwYWRkaW5nLCAxMCkgKyBwYXJzZUludChtYXJnaW4sIDEwKTtcbiAgfVxufVxuIiwiQGlmICh2aXNpYmxlKCkpIHtcbiAgQGlmIChpc0NvbXBhY3QoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJjb21wYWN0LWhlYWRlclwiPlxuICAgICAgPGRpdiBbbmdDbGFzc109XCJjb21wYWN0SGVhZGVyQ2xhc3MoKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXMtZmxleCBpcy1hbGlnbi1pdGVtcy1mbGV4LXN0YXJ0IGlzLWp1c3RpZnktY29udGVudC1zcGFjZS1iZXR3ZWVuIHctMTAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlzLWZsZXggaXMtZmxleC1ncm93LTEgaXMtanVzdGlmeS1jb250ZW50LXNwYWNlLWJldHdlZW4gaXMtZmxleC1kaXJlY3Rpb24tY29sdW1uXCI+XG4gICAgICAgICAgICBAaWYgKGRyYXdlckhlYWRlclRlbXBsYXRlKCkpIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkcmF3ZXJIZWFkZXJUZW1wbGF0ZSgpXCIgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChkcmF3ZXJNZW51SGVhZGVyVGVtcGxhdGUoKSkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyYXdlck1lbnVIZWFkZXJUZW1wbGF0ZSgpXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIEBpZiAobGlua3MoKT8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93biAjb3B0aW9uRGQ9XCJuZ2JEcm9wZG93blwiIGNvbnRhaW5lcj1cImJvZHlcIiBwbGFjZW1lbnQ9XCJib3R0b20tZW5kXCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBuZ2JEcm9wZG93blRvZ2dsZVxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY29tcGFjdC1oZWFkZXItLWJ0biBidXR0b24gaXMtc21hbGwgaXMtbm8tc2hhZG93XCJcbiAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwiZHJhd2VyLW1lbnVcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICBNZW51XG5cbiAgICAgICAgICAgICAgICA8ZmEtaWNvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb21wYWN0LWhlYWRlci0tYnRuX19pY29uXCJcbiAgICAgICAgICAgICAgICAgIFtpY29uXT1cIm9wdGlvbkRkLmlzT3BlbigpID8gZmFDaGV2cm9uVXAgOiBmYUNoZXZyb25Eb3duXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvZmEtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnUgaWQ9XCJkcmF3ZXItbWVudVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93bi1jb250ZW50IG5hdmlnYXRpb24tbWVudS1kcm9wZG93blwiPlxuICAgICAgICAgICAgICAgICAgPGhlLW5hdmlnYXRpb24tbWVudSAoY2xvc2VkKT1cIm9wdGlvbkRkLmNsb3NlKClcIiBbbGlua3NdPVwibGlua3MoKVwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICB9IEBlbHNlIHtcbiAgICA8YXNpZGU+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2hlbGxfX21lbnVDb250ZW50IHwgaC0xMDBcIlxuICAgICAgICAoQHNpZGVNZW51LmRvbmUpPVwiYW5pbWF0aW9uRG9uZSgkZXZlbnQpXCJcbiAgICAgICAgW0BzaWRlTWVudV09XCJleHBhbmRlZCgpID8gJ2Z1bGwnIDogJ2hpZGRlbidcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImgtMTAwIGlzLW92ZXJmbG93LXktYXV0byBpcy1weS00IGlzLXB4LTJcIj5cbiAgICAgICAgICBAaWYgKGRyYXdlckhlYWRlclRlbXBsYXRlKCkpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJhd2VySGVhZGVyVGVtcGxhdGUoKVwiIC8+XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIChsaW5rcygpPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICA8aGUtbmF2aWdhdGlvbi1tZW51IFtsaW5rc109XCJsaW5rcygpXCI+XG4gICAgICAgICAgICAgIEBpZiAoZHJhd2VyTWVudUhlYWRlclRlbXBsYXRlKCkpIHtcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG91dGVyLWNvbnRlbnQgW25nVGVtcGxhdGVPdXRsZXRdPVwiZHJhd2VyTWVudUhlYWRlclRlbXBsYXRlKClcIiAvPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2hlLW5hdmlnYXRpb24tbWVudT5cbiAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJ0b2dnbGVNZW51KClcIiAobW91c2Vkb3duKT1cInN0YXJ0UmVzaXppbmcoJGV2ZW50KVwiIGNsYXNzPVwic2hlbGxfX21lbnVDb250ZW50LS10b2dnbGVcIj5cbiAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJ0b2dnbGVJY29uKClcIiAvPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvYXNpZGU+XG4gIH1cbn1cblxuPGRpdiBbY2xhc3MuaXMtcmVzaXppbmddPVwiaXNIb2xkaW5nVG9nZ2xlKClcIiBjbGFzcz1cInNoZWxsX19jb250ZW50IHwgaC0xMDAgdy0xMDAgaXMtZmxleFwiPlxuICA8ZGl2IGNsYXNzPVwic2hlbGxfX2NvbnRlbnQtLWJvZHkgfCB3LTEwMFwiIFtAcmVkdWNlV2lkdGhdPVwicmVkdWNlQW5pbWF0aW9uKClcIj5cbiAgICA8ZGl2ICNjb250ZW50Q29udGFpbmVyIGNsYXNzPVwidy0xMDBcIiBbY2xhc3NOYW1lXT1cImNvbnRlbnRQYWRkaW5nU3R5bGVzKClcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltkcmF3ZXItY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RyYXdlci1jb250YWluZXIvZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2RyYXdlci1jb250YWluZXIvZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFGLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBYyxNQUFNLE1BQU0sQ0FB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LENBQUM7SUFDdEQsQ0FBQzsrR0F4S1Usd0JBQXdCO21HQUF4Qix3QkFBd0Isa3VFQUZ4QixDQUFDLFlBQVksQ0FBQywySEFPaUQsVUFBVSw2Q0M3RHRGLCs4RkE4RUEseXhFRDFDSSxnQkFBZ0Isb0pBQ2hCLGVBQWUsNE1BQ2YsT0FBTyxtRkFDUCxXQUFXLCtCQUNYLFdBQVcsb05BQ1gsZUFBZSw4REFDZixpQkFBaUIsZ0VBQ2pCLHVCQUF1Qiw0SUFLYixVQUFVOzs0RkFRWCx3QkFBd0I7a0JBeEJwQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLE9BQU87d0JBQ1AsV0FBVzt3QkFDWCxXQUFXO3dCQUNYLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQix1QkFBdUI7cUJBQ3hCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLFVBQVUsUUFDaEI7d0JBQ0osU0FBUyxFQUFFLGFBQWE7d0JBQ3hCLHdCQUF3QixFQUFFLFlBQVk7d0JBQ3RDLHFCQUFxQixFQUFFLGFBQWE7cUJBQ3JDLGFBQ1UsQ0FBQyxZQUFZLENBQUM7d0RBcUl6QixZQUFZO3NCQURYLFlBQVk7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBtb2RlbCxcbiAgc2lnbmFsLFxuICBUZW1wbGF0ZVJlZixcbiAgdmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzcywgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGYUljb25Db21wb25lbnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBmYUNoZXZyb25Eb3duLCBmYUNoZXZyb25MZWZ0LCBmYUNoZXZyb25SaWdodCwgZmFDaGV2cm9uVXAgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHR5cGUgeyBBbmltYXRpb25FdmVudCB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgb3V0cHV0RnJvbU9ic2VydmFibGUsIHRvT2JzZXJ2YWJsZSwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgc2tpcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAsIHRocm90dGxlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdiRHJvcGRvd24sIE5nYkRyb3Bkb3duTWVudSwgTmdiRHJvcGRvd25Ub2dnbGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBhbmltYXRpb25GcmFtZVNjaGVkdWxlciwgY29tYmluZUxhdGVzdCwgRU1QVFksIGZyb21FdmVudCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJ25neC13ZWJzdG9yYWdlJztcblxuaW1wb3J0IHsgQU5JTUFUSU9OUyB9IGZyb20gJy4vZHJhd2VyLWNvbnRhaW5lci5hbmltYXRpb25zJztcbmltcG9ydCB7IHNpZGVuYXZTdG9yZSwgaW5pdGlhbFN0YXRlLCBkcmF3ZXJQb3NpdGlvbiB9IGZyb20gJy4vc2lkZW5hdi5zdG9yZSc7XG5pbXBvcnQgeyBJTmF2aWdhdGlvbk1lbnVMaW5rLCBOYXZpZ2F0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL25hdmlnYXRpb24tbWVudS9uYXZpZ2F0aW9uLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFJlc3BvbnNpdmVCcmVha3BvaW50LCBSZXNwb25zaXZlU2VydmljZSB9IGZyb20gJy4uL3Jlc3BvbnNpdmUuc2VydmljZSc7XG5cbmNvbnN0IHN0b3JhZ2VLZXkgPSAnaGUtZHJhd2VyLWNvbnRhaW5lcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2hlLWRyYXdlci1jb250YWluZXInLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICBGYUljb25Db21wb25lbnQsXG4gICAgTmdDbGFzcyxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBOZ2JEcm9wZG93bixcbiAgICBOZ2JEcm9wZG93bk1lbnUsXG4gICAgTmdiRHJvcGRvd25Ub2dnbGUsXG4gICAgTmF2aWdhdGlvbk1lbnVDb21wb25lbnRcbiAgXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2RyYXdlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZHJhd2VyLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBBTklNQVRJT05TLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzc10nOiAnaG9zdENsYXNzKCknLFxuICAgICdbYXR0ci5kcmF3ZXItcG9zaXRpb25dJzogJ3Bvc2l0aW9uKCknLFxuICAgICdbYXR0ci5kcmF3ZXItc3RhdGVdJzogJ21lbnVTdGF0ZSgpJ1xuICB9LFxuICBwcm92aWRlcnM6IFtzaWRlbmF2U3RvcmVdXG59KVxuZXhwb3J0IGNsYXNzIERyYXdlckNvbnRhaW5lckNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2lkZW5hdlN0b3JlID0gaW5qZWN0KHNpZGVuYXZTdG9yZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2l2ZVNlcnZpY2UgPSBpbmplY3QoUmVzcG9uc2l2ZVNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsU3RvcmFnZSA9IGluamVjdChMb2NhbFN0b3JhZ2VTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRlbnRDb250YWluZXIgPSB2aWV3Q2hpbGQoJ2NvbnRlbnRDb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1lbnVTdGF0ZSA9IHNpZ25hbDwnb3BlbicgfCAnY2xvc2UnPignY2xvc2UnKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGV4cGFuZGVkID0gc2lnbmFsKGluaXRpYWxTdGF0ZS5leHBhbmRlZCk7XG5cbiAgLyoqXG4gICAqIFRoZSBicmVha3BvaW50IGF0IHdoaWNoIHRoZSBkcmF3ZXIgd2lsbCBubyBsb25nZXIgYmUgY29tcGFjdC5cbiAgICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIGl0IHdpbGwgYmUgdXNlZCBhcyB0aGUgd2lkdGggaW4gcGl4ZWxzLlxuICAgKiBJZiAnbm9uZScgaXMgcHJvdmlkZWQsIHRoZSBkcmF3ZXIgd2lsbCBuZXZlciBiZSBjb21wYWN0LlxuICAgKiBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBwcm92aWRlZCwgdGhlIGRyYXdlciB3aWxsIGJlIGNvbXBhY3QgdW50aWwgdGhhdCBicmVha3BvaW50LlxuICAgKiBAZGVmYXVsdCAndGFibGV0JyAtIHRoZSBkcmF3ZXIgd2lsbCBiZSBjb21wYWN0IHVudGlsIHRoZSB0YWJsZXQgYnJlYWtwb2ludC5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjb21wYWN0QnJlYWtwb2ludCA9IGlucHV0PFJlc3BvbnNpdmVCcmVha3BvaW50PigndGFibGV0Jyk7XG4gIHByb3RlY3RlZCByZWFkb25seSBwb3NpdGlvbiA9IGlucHV0PGRyYXdlclBvc2l0aW9uPihpbml0aWFsU3RhdGUuc2lkZSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBtaW4gPSBpbnB1dDxudW1iZXI+KGluaXRpYWxTdGF0ZS5taW5XaWR0aCk7XG4gIHByb3RlY3RlZCByZWFkb25seSB3aWR0aCA9IG1vZGVsPG51bWJlcj4oaW5pdGlhbFN0YXRlLndpZHRoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1heCA9IGlucHV0PG51bWJlcj4oaW5pdGlhbFN0YXRlLm1heFdpZHRoKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlc2l6YWJsZSA9IGlucHV0KHRydWUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29udGVudFBhZGRpbmdTdHlsZXMgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBtZW51T3ZlcmxhcCA9IGlucHV0KHRydWUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGlua3MgPSBpbnB1dDxJTmF2aWdhdGlvbk1lbnVMaW5rW10+KFtdKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyYXdlckhlYWRlclRlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55Pj4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRyYXdlck1lbnVIZWFkZXJUZW1wbGF0ZSA9IGlucHV0PFRlbXBsYXRlUmVmPGFueT4+KCk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjb21wYWN0SGVhZGVyQ2xhc3MgPSBpbnB1dDxOZ0NsYXNzWyduZ0NsYXNzJ10+KG51bGwpO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gZGlzdGFuY2UgYmV0d2VlbiB0aGUgbWVudSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1pbk1lbnVEaXN0YW5jZSA9IGlucHV0PG51bWJlcj4oaW5pdGlhbFN0YXRlLm1pbk1lbnVEaXN0YW5jZSk7XG4gIC8qKlxuICAgKiBHaXZpbmcgYW4gaWQgdG8gdGhlIG1lbnUgc28gdGhhdCBpdCBjYW4gc3RvcmUgdGhlIHJlc2l6ZWQgcG9zaXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWQgPSBpbnB1dCgnJyk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wZW5lZCA9IG91dHB1dEZyb21PYnNlcnZhYmxlKFxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLm1lbnVTdGF0ZSkucGlwZShcbiAgICAgIHNraXAoMSksXG4gICAgICBmaWx0ZXIoc3RhdGUgPT4gc3RhdGUgPT09ICdvcGVuJyksXG4gICAgICBtYXAoKCkgPT4gdHJ1ZSlcbiAgICApXG4gICk7XG4gIHByb3RlY3RlZCByZWFkb25seSBjbG9zZWQgPSBvdXRwdXRGcm9tT2JzZXJ2YWJsZShcbiAgICB0b09ic2VydmFibGUodGhpcy5tZW51U3RhdGUpLnBpcGUoXG4gICAgICBza2lwKDEpLFxuICAgICAgZmlsdGVyKHN0YXRlID0+IHN0YXRlID09PSAnY2xvc2UnKSxcbiAgICAgIG1hcCgoKSA9PiB0cnVlKVxuICAgIClcbiAgKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmFDaGV2cm9uVXAgPSBmYUNoZXZyb25VcDtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZhQ2hldnJvbkRvd24gPSBmYUNoZXZyb25Eb3duO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB2aXNpYmxlID0gY29tcHV0ZWQoKCkgPT5cbiAgICBbdGhpcy5saW5rcygpPy5sZW5ndGggPiAwLCAhIXRoaXMuZHJhd2VySGVhZGVyVGVtcGxhdGUoKSwgISF0aGlzLmRyYXdlck1lbnVIZWFkZXJUZW1wbGF0ZSgpXS5zb21lKEJvb2xlYW4pXG4gICk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGlzQ29tcGFjdCA9IHRvU2lnbmFsKFxuICAgIHRvT2JzZXJ2YWJsZSh0aGlzLmNvbXBhY3RCcmVha3BvaW50KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKGJyZWFrcG9pbnQgPT5cbiAgICAgICAgdGhpcy5yZXNwb25zaXZlU2VydmljZS5pc0Fib3ZlQnJlYWtwb2ludCQoYnJlYWtwb2ludCkucGlwZShtYXAoaXNBYm92ZUJyZWFrcG9pbnQgPT4gIWlzQWJvdmVCcmVha3BvaW50KSlcbiAgICAgIClcbiAgICApXG4gICk7XG4gIHByb3RlY3RlZCByZWFkb25seSBob3N0Q2xhc3MgPSBjb21wdXRlZCgoKSA9PlxuICAgIFsnaXMtZmxleCcsIHRoaXMuaXNDb21wYWN0KCkgPyAnaXMtZmxleC1kaXJlY3Rpb24tY29sdW1uJyA6ICcnLCB0aGlzLnJlc2l6YWJsZSgpID8gJ2lzLXJlc2l6YWJsZScgOiAnJ10uam9pbignICcpXG4gICk7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc0hvbGRpbmdUb2dnbGUgPSB0aGlzLnNpZGVuYXZTdG9yZS5pc1Jlc2l6aW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3VwZGF0ZVNpZGVuYXZFdmVudCQgPSB0b09ic2VydmFibGUodGhpcy5zaWRlbmF2U3RvcmUuaXNSZXNpemluZykucGlwZShcbiAgICBzd2l0Y2hNYXAobGlzdGVuID0+IChsaXN0ZW4gPyAoZnJvbUV2ZW50KHdpbmRvdywgJ21vdXNlbW92ZScpIGFzIE9ic2VydmFibGU8TW91c2VFdmVudD4pIDogRU1QVFkpKSxcbiAgICB0aHJvdHRsZVRpbWUoMCwgYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIpXG4gICk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRlbnRDb250YWluZXIkID0gdG9PYnNlcnZhYmxlKHRoaXMuY29udGVudENvbnRhaW5lcikucGlwZShmaWx0ZXIoeCA9PiAhIXgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfaG9zdENvbXBvbmVudFdpZHRoJCA9IGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKS5waXBlKHN0YXJ0V2l0aCh3aW5kb3cuaW5uZXJXaWR0aCkpO1xuXG4gIC8qKlxuICAgKiB3ZSB1c2UgY29tYmluZUxhdGVzdCBpbnN0ZWFkIG9mIGNvbXB1dGVkIHRvIGF2b2lkIHRoZSBhbmltYXRpb24gZmxpY2tlcmluZyAod2FpdCBmb3IgYWxsIHNvdXJjZXMgdG8gZW1pdClcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSByZWR1Y2VBbmltYXRpb24gPSB0b1NpZ25hbChcbiAgICBjb21iaW5lTGF0ZXN0KFt0b09ic2VydmFibGUodGhpcy5leHBhbmRlZCksIHRvT2JzZXJ2YWJsZSh0aGlzLmlzQ29tcGFjdCksIHRvT2JzZXJ2YWJsZSh0aGlzLnZpc2libGUpXSkucGlwZShcbiAgICAgIG1hcCgoW2V4cGFuZGVkLCBpc0NvbXBhY3QsIHZpc2libGVdKSA9PiAoW2V4cGFuZGVkLCAhaXNDb21wYWN0LCB2aXNpYmxlXS5ldmVyeShCb29sZWFuKSA/ICdyZWR1Y2VkJyA6ICdmdWxsJykpXG4gICAgKVxuICApO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb250ZW50Q29udGFpbmVyUGFkZGluZyQgPSB0aGlzLl9ob3N0Q29tcG9uZW50V2lkdGgkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuX2NvbnRlbnRDb250YWluZXIkLnBpcGUobWFwKGVsID0+IHRoaXMuX2dldENvbnRlbnRMZWZ0U2lkZVNwYWNlKGVsKSkpKVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmFnZUtleSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmlkKCkgPyBbc3RvcmFnZUtleSwgdGhpcy5pZCgpXS5qb2luKCctJykgOiBudWxsKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RvcmVkV2l0aCA9IGNvbXB1dGVkKCgpID0+XG4gICAgdGhpcy5zdG9yYWdlS2V5KCkgPyBKU09OLnBhcnNlKHRoaXMubG9jYWxTdG9yYWdlLnJldHJpZXZlKHRoaXMuc3RvcmFnZUtleSgpKSB8fCAne30nKS53aWR0aCB8fCAwIDogMFxuICApO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldFNpZGUodGhpcy5wb3NpdGlvbik7XG4gICAgdGhpcy5zaWRlbmF2U3RvcmUuc2V0TWluV2lkdGgodGhpcy5taW4pO1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldE1heFdpZHRoKHRoaXMubWF4KTtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS5zZXRXaWR0aCh0aGlzLndpZHRoKTtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS51cGRhdGVSZXNpemluZyh0aGlzLl91cGRhdGVTaWRlbmF2RXZlbnQkKTtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS5zZXRDb250ZW50Q29udGFpbmVyU3BhY2luZyh0aGlzLl9jb250ZW50Q29udGFpbmVyUGFkZGluZyQpO1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldEV4cGFuZGVkKHRoaXMuZXhwYW5kZWQpO1xuICAgIHRoaXMuc2lkZW5hdlN0b3JlLnNldE1pbk1lbnVEaXN0YW5jZSh0aGlzLm1pbk1lbnVEaXN0YW5jZSk7XG5cbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnJlc2l6YWJsZSgpICYmIHRoaXMuc3RvcmVkV2l0aCgpKSB7XG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLndpZHRoLnNldCh0aGlzLnN0b3JlZFdpdGgoKSkpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9XG4gICAgKTtcblxuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLnZpc2libGUoKSkge1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5tZW51U3RhdGUuc2V0KCdjbG9zZScpKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfVxuICAgICk7XG4gIH1cblxuICBzdGFydFJlc2l6aW5nKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnJlc2l6YWJsZSgpKSByZXR1cm47XG4gICAgdGhpcy5zaWRlbmF2U3RvcmUuc3RhcnRSZXNpemluZyhldmVudCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2V1cCcpXG4gIHN0b3BSZXNpemluZygpIHtcbiAgICB0aGlzLnNpZGVuYXZTdG9yZS5zdG9wUmVzaXppbmcoKTtcbiAgICB0aGlzLnN0b3JhZ2VLZXkoKSAmJlxuICAgICAgdGhpcy5sb2NhbFN0b3JhZ2Uuc3RvcmUodGhpcy5zdG9yYWdlS2V5KCksIEpTT04uc3RyaW5naWZ5KHsgd2lkdGg6IHRoaXMuc2lkZW5hdlN0b3JlLndpZHRoKCkgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHRvZ2dsZUljb24oKSB7XG4gICAgcmV0dXJuICh0aGlzLmV4cGFuZGVkKCkgJiYgdGhpcy5wb3NpdGlvbigpID09PSAnbGVmdCcpIHx8ICghdGhpcy5leHBhbmRlZCgpICYmIHRoaXMucG9zaXRpb24oKSA9PT0gJ3JpZ2h0JylcbiAgICAgID8gZmFDaGV2cm9uTGVmdFxuICAgICAgOiBmYUNoZXZyb25SaWdodDtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVNZW51KCkge1xuICAgIGlmICh0aGlzLnNpZGVuYXZTdG9yZS5oYXNNZW51V2lkdGhDaGFuZ2VkKCkgJiYgdGhpcy5leHBhbmRlZCgpKSByZXR1cm47XG5cbiAgICB0aGlzLmV4cGFuZGVkKCkgPyB0aGlzLmhpZGVNZW51KCkgOiB0aGlzLnNob3dNZW51KCk7XG4gIH1cblxuICBwdWJsaWMgaGlkZU1lbnUoKSB7XG4gICAgdGhpcy5leHBhbmRlZC5zZXQoZmFsc2UpO1xuICB9XG5cbiAgcHVibGljIHNob3dNZW51KCkge1xuICAgIHRoaXMuZXhwYW5kZWQuc2V0KHRydWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFuaW1hdGlvbkRvbmUoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgY29uc3QgZGlkT3BlbiA9IGV2ZW50LnRvU3RhdGUgIT09ICdoaWRkZW4nO1xuICAgIHRoaXMubWVudVN0YXRlLnNldChkaWRPcGVuID8gJ29wZW4nIDogJ2Nsb3NlJyk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDb250ZW50TGVmdFNpZGVTcGFjZShlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5wb3NpdGlvbigpO1xuICAgIGNvbnN0IHN0eWxlcyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQubmF0aXZlRWxlbWVudCwgbnVsbCk7XG4gICAgY29uc3QgcGFkZGluZyA9IHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCdwYWRkaW5nLScgKyBwb3NpdGlvbik7XG4gICAgY29uc3QgbWFyZ2luID0gc3R5bGVzLmdldFByb3BlcnR5VmFsdWUoJ21hcmdpbi0nICsgcG9zaXRpb24pO1xuICAgIHJldHVybiBwYXJzZUludChwYWRkaW5nLCAxMCkgKyBwYXJzZUludChtYXJnaW4sIDEwKTtcbiAgfVxufVxuIiwiQGlmICh2aXNpYmxlKCkpIHtcbiAgQGlmIChpc0NvbXBhY3QoKSkge1xuICAgIDxkaXYgY2xhc3M9XCJjb21wYWN0LWhlYWRlclwiPlxuICAgICAgPGRpdiBbbmdDbGFzc109XCJjb21wYWN0SGVhZGVyQ2xhc3MoKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXMtZmxleCBpcy1hbGlnbi1pdGVtcy1mbGV4LXN0YXJ0IGlzLWp1c3RpZnktY29udGVudC1zcGFjZS1iZXR3ZWVuIHctMTAwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImlzLWZsZXggaXMtZmxleC1ncm93LTEgaXMtanVzdGlmeS1jb250ZW50LXNwYWNlLWJldHdlZW4gaXMtZmxleC1kaXJlY3Rpb24tY29sdW1uXCI+XG4gICAgICAgICAgICBAaWYgKGRyYXdlckhlYWRlclRlbXBsYXRlKCkpIHtcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJkcmF3ZXJIZWFkZXJUZW1wbGF0ZSgpXCIgLz5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGlmIChkcmF3ZXJNZW51SGVhZGVyVGVtcGxhdGUoKSkge1xuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyYXdlck1lbnVIZWFkZXJUZW1wbGF0ZSgpXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIEBpZiAobGlua3MoKT8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgPGRpdiBuZ2JEcm9wZG93biAjb3B0aW9uRGQ9XCJuZ2JEcm9wZG93blwiIGNvbnRhaW5lcj1cImJvZHlcIiBwbGFjZW1lbnQ9XCJib3R0b20tZW5kXCI+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBuZ2JEcm9wZG93blRvZ2dsZVxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY29tcGFjdC1oZWFkZXItLWJ0biBidXR0b24gaXMtc21hbGwgaXMtbm8tc2hhZG93XCJcbiAgICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwiZHJhd2VyLW1lbnVcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICBNZW51XG5cbiAgICAgICAgICAgICAgICA8ZmEtaWNvblxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjb21wYWN0LWhlYWRlci0tYnRuX19pY29uXCJcbiAgICAgICAgICAgICAgICAgIFtpY29uXT1cIm9wdGlvbkRkLmlzT3BlbigpID8gZmFDaGV2cm9uVXAgOiBmYUNoZXZyb25Eb3duXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICAgIDxkaXYgbmdiRHJvcGRvd25NZW51IGlkPVwiZHJhd2VyLW1lbnVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tY29udGVudCBuYXZpZ2F0aW9uLW1lbnUtZHJvcGRvd25cIj5cbiAgICAgICAgICAgICAgICAgIDxoZS1uYXZpZ2F0aW9uLW1lbnUgKGNsb3NlZCk9XCJvcHRpb25EZC5jbG9zZSgpXCIgW2xpbmtzXT1cImxpbmtzKClcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPGFzaWRlPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNoZWxsX19tZW51Q29udGVudCB8IGgtMTAwXCJcbiAgICAgICAgKEBzaWRlTWVudS5kb25lKT1cImFuaW1hdGlvbkRvbmUoJGV2ZW50KVwiXG4gICAgICAgIFtAc2lkZU1lbnVdPVwiZXhwYW5kZWQoKSA/ICdmdWxsJyA6ICdoaWRkZW4nXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoLTEwMCBpcy1vdmVyZmxvdy15LWF1dG8gaXMtcHktNCBpcy1weC0yXCI+XG4gICAgICAgICAgQGlmIChkcmF3ZXJIZWFkZXJUZW1wbGF0ZSgpKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyYXdlckhlYWRlclRlbXBsYXRlKClcIiAvPlxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiAobGlua3MoKT8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgPGhlLW5hdmlnYXRpb24tbWVudSBbbGlua3NdPVwibGlua3MoKVwiPlxuICAgICAgICAgICAgICBAaWYgKGRyYXdlck1lbnVIZWFkZXJUZW1wbGF0ZSgpKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBvdXRlci1jb250ZW50IFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRyYXdlck1lbnVIZWFkZXJUZW1wbGF0ZSgpXCIgLz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9oZS1uYXZpZ2F0aW9uLW1lbnU+XG4gICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVNZW51KClcIlxuICAgICAgICAgIChtb3VzZWRvd24pPVwic3RhcnRSZXNpemluZygkZXZlbnQpXCJcbiAgICAgICAgICBjbGFzcz1cImlzLWFic29sdXRlIGlzLW92ZXJmbG93LWhpZGRlbiBpcy1mbGV4IGlzLWp1c3RpZnktY29udGVudC1jZW50ZXIgaXMtYWxpZ24taXRlbXMtY2VudGVyIHwgc2hlbGxfX21lbnVDb250ZW50LS10b2dnbGVcIlxuICAgICAgICAgIHBvaW50ZXI+XG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwidG9nZ2xlSWNvbigpXCIgLz5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2FzaWRlPlxuICB9XG59XG5cbjxkaXYgW2NsYXNzLmlzLXJlc2l6aW5nXT1cImlzSG9sZGluZ1RvZ2dsZSgpXCIgY2xhc3M9XCJzaGVsbF9fY29udGVudCB8IGgtMTAwIHctMTAwIGlzLWZsZXhcIj5cbiAgPGRpdiBjbGFzcz1cInNoZWxsX19jb250ZW50LS1ib2R5IHwgdy0xMDBcIiBbQHJlZHVjZVdpZHRoXT1cInJlZHVjZUFuaW1hdGlvbigpXCI+XG4gICAgPGRpdiAjY29udGVudENvbnRhaW5lciBjbGFzcz1cInctMTAwXCIgW2NsYXNzTmFtZV09XCJjb250ZW50UGFkZGluZ1N0eWxlcygpXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZHJhd2VyLWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -53,13 +53,13 @@ export class LinkKeyValueComponent {
53
53
  return isExpandable(value) && 'term' in value;
54
54
  }
55
55
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: LinkKeyValueComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: LinkKeyValueComponent, isStandalone: true, selector: "he-link-key-value", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null }, nodeType: { classPropertyName: "nodeType", publicName: "nodeType", isSignal: true, isRequired: true, transformFunction: null }, dataState: { classPropertyName: "dataState", publicName: "dataState", isSignal: true, isRequired: true, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: true, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-inline-block": "this.isInlineBlock" } }, ngImport: i0, template: "@if (hasValue()) {\n <a class=\"is-dark\" [href]=\"schemaBaseUrl + '/' + type() + '#' + key()\" target=\"_blank\">\n <b>{{ key() }}</b>\n </a>\n <span class=\"pr-2\">:</span>\n @if (isArray()) {\n <div class=\"array-container is-pl-2\">\n @for (v of value(); track v) {\n @if (isBlankNode(v)) {\n <div>\n <a class=\"is-dark\" [href]=\"valueLink(v.term)\">{{ v.term.name || v.term['@id'] }}</a>\n <span>:</span>\n @if (!isUndefined(v.value)) {\n <span class=\"is-pl-2\">\n <ng-container *ngTemplateOutlet=\"valueContent; context: { value: v.value }\"></ng-container>\n </span>\n }\n @if (!isUndefined(v.min) || !isUndefined(v.max)) {\n <small class=\"is-pl-1\">({{ minMaxValue(v.min, v.max) }})</small>\n }\n <he-blank-node-state\n class=\"pl-1\"\n [node]=\"v\"\n [nodeType]=\"nodeType()\"\n [dataState]=\"dataState()\"\n [dataKey]=\"dataKey()\"\n key=\"value\"\n linkClass=\"is-dark\"></he-blank-node-state>\n </div>\n } @else {\n <p>\n <ng-container *ngTemplateOutlet=\"valueContent; context: { value: v }\"></ng-container>\n </p>\n }\n }\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"valueContent; context: { value: value() }\"></ng-container>\n <he-blank-node-state\n class=\"pl-1\"\n [node]=\"node()\"\n [nodeType]=\"nodeType()\"\n [dataState]=\"dataState()\"\n [dataKey]=\"dataKey()\"\n [key]=\"key()\"\n linkClass=\"is-dark\"></he-blank-node-state>\n }\n} @else if (!!defaultValue()) {\n <span>{{ defaultValue() }}</span>\n}\n\n<ng-template #valueContent let-v=\"value\">\n <span class=\"is-inline-block is-nowrap\" [innerHtml]=\"toString(v)\"></span>\n</ng-template>\n", styles: [":host{display:block}:host a.has-text-white:hover,:host a.has-text-white.is-hovered{text-decoration:underline}.array-container{max-height:100px;overflow-y:auto}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BlankNodeStateComponent, selector: "he-blank-node-state", inputs: ["dataState", "nodeType", "dataKey", "key", "node", "state", "linkClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: LinkKeyValueComponent, isStandalone: true, selector: "he-link-key-value", inputs: { node: { classPropertyName: "node", publicName: "node", isSignal: true, isRequired: true, transformFunction: null }, nodeType: { classPropertyName: "nodeType", publicName: "nodeType", isSignal: true, isRequired: true, transformFunction: null }, dataState: { classPropertyName: "dataState", publicName: "dataState", isSignal: true, isRequired: true, transformFunction: null }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: true, transformFunction: null }, key: { classPropertyName: "key", publicName: "key", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.is-inline-block": "this.isInlineBlock" } }, ngImport: i0, template: "@if (hasValue()) {\n <a class=\"is-dark\" [href]=\"schemaBaseUrl + '/' + type() + '#' + key()\" target=\"_blank\">\n <b>{{ key() }}</b>\n </a>\n <span class=\"pr-2\">:</span>\n @if (isArray()) {\n <div class=\"is-overflow-y-auto is-pl-2 | array-container\">\n @for (v of value(); track v) {\n @if (isBlankNode(v)) {\n <div>\n <a class=\"is-dark\" [href]=\"valueLink(v.term)\">{{ v.term.name || v.term['@id'] }}</a>\n <span>:</span>\n @if (!isUndefined(v.value)) {\n <span class=\"is-pl-2\">\n <ng-container *ngTemplateOutlet=\"valueContent; context: { value: v.value }\"></ng-container>\n </span>\n }\n @if (!isUndefined(v.min) || !isUndefined(v.max)) {\n <small class=\"is-pl-1\">({{ minMaxValue(v.min, v.max) }})</small>\n }\n <he-blank-node-state\n class=\"pl-1\"\n [node]=\"v\"\n [nodeType]=\"nodeType()\"\n [dataState]=\"dataState()\"\n [dataKey]=\"dataKey()\"\n key=\"value\"\n linkClass=\"is-dark\"></he-blank-node-state>\n </div>\n } @else {\n <p>\n <ng-container *ngTemplateOutlet=\"valueContent; context: { value: v }\"></ng-container>\n </p>\n }\n }\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"valueContent; context: { value: value() }\"></ng-container>\n <he-blank-node-state\n class=\"pl-1\"\n [node]=\"node()\"\n [nodeType]=\"nodeType()\"\n [dataState]=\"dataState()\"\n [dataKey]=\"dataKey()\"\n [key]=\"key()\"\n linkClass=\"is-dark\"></he-blank-node-state>\n }\n} @else if (!!defaultValue()) {\n <span>{{ defaultValue() }}</span>\n}\n\n<ng-template #valueContent let-v=\"value\">\n <span class=\"is-inline-block is-nowrap\" [innerHtml]=\"toString(v)\"></span>\n</ng-template>\n", styles: [":host{display:block}:host a.has-text-white:hover,:host a.has-text-white.is-hovered{text-decoration:underline}.array-container{max-height:100px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BlankNodeStateComponent, selector: "he-blank-node-state", inputs: ["dataState", "nodeType", "dataKey", "key", "node", "state", "linkClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
57
57
  }
58
58
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: LinkKeyValueComponent, decorators: [{
59
59
  type: Component,
60
- args: [{ selector: 'he-link-key-value', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgTemplateOutlet, BlankNodeStateComponent], template: "@if (hasValue()) {\n <a class=\"is-dark\" [href]=\"schemaBaseUrl + '/' + type() + '#' + key()\" target=\"_blank\">\n <b>{{ key() }}</b>\n </a>\n <span class=\"pr-2\">:</span>\n @if (isArray()) {\n <div class=\"array-container is-pl-2\">\n @for (v of value(); track v) {\n @if (isBlankNode(v)) {\n <div>\n <a class=\"is-dark\" [href]=\"valueLink(v.term)\">{{ v.term.name || v.term['@id'] }}</a>\n <span>:</span>\n @if (!isUndefined(v.value)) {\n <span class=\"is-pl-2\">\n <ng-container *ngTemplateOutlet=\"valueContent; context: { value: v.value }\"></ng-container>\n </span>\n }\n @if (!isUndefined(v.min) || !isUndefined(v.max)) {\n <small class=\"is-pl-1\">({{ minMaxValue(v.min, v.max) }})</small>\n }\n <he-blank-node-state\n class=\"pl-1\"\n [node]=\"v\"\n [nodeType]=\"nodeType()\"\n [dataState]=\"dataState()\"\n [dataKey]=\"dataKey()\"\n key=\"value\"\n linkClass=\"is-dark\"></he-blank-node-state>\n </div>\n } @else {\n <p>\n <ng-container *ngTemplateOutlet=\"valueContent; context: { value: v }\"></ng-container>\n </p>\n }\n }\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"valueContent; context: { value: value() }\"></ng-container>\n <he-blank-node-state\n class=\"pl-1\"\n [node]=\"node()\"\n [nodeType]=\"nodeType()\"\n [dataState]=\"dataState()\"\n [dataKey]=\"dataKey()\"\n [key]=\"key()\"\n linkClass=\"is-dark\"></he-blank-node-state>\n }\n} @else if (!!defaultValue()) {\n <span>{{ defaultValue() }}</span>\n}\n\n<ng-template #valueContent let-v=\"value\">\n <span class=\"is-inline-block is-nowrap\" [innerHtml]=\"toString(v)\"></span>\n</ng-template>\n", styles: [":host{display:block}:host a.has-text-white:hover,:host a.has-text-white.is-hovered{text-decoration:underline}.array-container{max-height:100px;overflow-y:auto}\n"] }]
60
+ args: [{ selector: 'he-link-key-value', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgTemplateOutlet, BlankNodeStateComponent], template: "@if (hasValue()) {\n <a class=\"is-dark\" [href]=\"schemaBaseUrl + '/' + type() + '#' + key()\" target=\"_blank\">\n <b>{{ key() }}</b>\n </a>\n <span class=\"pr-2\">:</span>\n @if (isArray()) {\n <div class=\"is-overflow-y-auto is-pl-2 | array-container\">\n @for (v of value(); track v) {\n @if (isBlankNode(v)) {\n <div>\n <a class=\"is-dark\" [href]=\"valueLink(v.term)\">{{ v.term.name || v.term['@id'] }}</a>\n <span>:</span>\n @if (!isUndefined(v.value)) {\n <span class=\"is-pl-2\">\n <ng-container *ngTemplateOutlet=\"valueContent; context: { value: v.value }\"></ng-container>\n </span>\n }\n @if (!isUndefined(v.min) || !isUndefined(v.max)) {\n <small class=\"is-pl-1\">({{ minMaxValue(v.min, v.max) }})</small>\n }\n <he-blank-node-state\n class=\"pl-1\"\n [node]=\"v\"\n [nodeType]=\"nodeType()\"\n [dataState]=\"dataState()\"\n [dataKey]=\"dataKey()\"\n key=\"value\"\n linkClass=\"is-dark\"></he-blank-node-state>\n </div>\n } @else {\n <p>\n <ng-container *ngTemplateOutlet=\"valueContent; context: { value: v }\"></ng-container>\n </p>\n }\n }\n </div>\n } @else {\n <ng-container *ngTemplateOutlet=\"valueContent; context: { value: value() }\"></ng-container>\n <he-blank-node-state\n class=\"pl-1\"\n [node]=\"node()\"\n [nodeType]=\"nodeType()\"\n [dataState]=\"dataState()\"\n [dataKey]=\"dataKey()\"\n [key]=\"key()\"\n linkClass=\"is-dark\"></he-blank-node-state>\n }\n} @else if (!!defaultValue()) {\n <span>{{ defaultValue() }}</span>\n}\n\n<ng-template #valueContent let-v=\"value\">\n <span class=\"is-inline-block is-nowrap\" [innerHtml]=\"toString(v)\"></span>\n</ng-template>\n", styles: [":host{display:block}:host a.has-text-white:hover,:host a.has-text-white.is-hovered{text-decoration:underline}.array-container{max-height:100px}\n"] }]
61
61
  }], propDecorators: { isInlineBlock: [{
62
62
  type: HostBinding,
63
63
  args: ['class.is-inline-block']
64
64
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1rZXktdmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9saW5rLWtleS12YWx1ZS9saW5rLWtleS12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2xpbmsta2V5LXZhbHVlL2xpbmsta2V5LXZhbHVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOztBQUV6RixNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQy9CLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBRWpILE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBVSxFQUFFLElBQWEsRUFBRSxFQUFFLENBQ2pELElBQUksQ0FBQyxD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QU8sR0FBRyxRQUFRLENBQ25DLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDOUcsQ0FBQztLQUtIO0lBbEJDLElBQ0ksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFZUyxXQUFXLENBQUMsS0FBVTtRQUM5QixPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDO0lBQ2hELENBQUM7K0dBL0JVLHFCQUFxQjttR0FBckIscUJBQXFCLHE1QkNqRWxDLDA1REFzREEsMk5EU1ksZ0JBQWdCLG9KQUFFLHVCQUF1Qjs7NEZBRXhDLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQzs4QkFpQmhELGFBQWE7c0JBRGhCLFdBQVc7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEYXRhU3RhdGUgfSBmcm9tICdAaGVzdGlhLWVhcnRoL2FwaSc7XG5pbXBvcnQgeyBpc0V4cGFuZGFibGUsIE5vZGVUeXBlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9zY2hlbWEnO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQsIHRvUHJlY2lzaW9uIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC91dGlscyc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC5nZXQnO1xuXG5pbXBvcnQgeyBiYXNlVXJsLCBzY2hlbWFCYXNlVXJsIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgQmxhbmtOb2RlU3RhdGVDb21wb25lbnQgfSBmcm9tICcuLi9ibGFuay1ub2RlLXN0YXRlL2JsYW5rLW5vZGUtc3RhdGUuY29tcG9uZW50JztcblxuY29uc3QgdmFsdWVMaW5rID0gKHZhbHVlOiBhbnkpID0+XG4gIGlzRXhwYW5kYWJsZSh2YWx1ZSkgJiYgdmFsdWVbJ0BpZCddID8gW2Jhc2VVcmwoKSwgdmFsdWVbJ0B0eXBlJ10udG9Mb3dlckNhc2UoKSwgdmFsdWVbJ0BpZCddXS5qb2luKCcvJykgOiBudWxsO1xuXG5jb25zdCB2YWx1ZUxpbmtSZWYgPSAodmFsdWU6IGFueSwgaHJlZj86IHN0cmluZykgPT5cbiAgaHJlZiA/IGA8YSBjbGFzcz1cImlzLWRhcmtcIiBocmVmPVwiJHtocmVmfVwiPiR7dmFsdWUubmFtZSB8fCB2YWx1ZVsnQGlkJ119PC9hPmAgOiBudWxsO1xuXG5jb25zdCB2YWx1ZVZhbHVlID0gKHZhbHVlOiBhbnkpID0+IChBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLm1hcCh2YWx1ZVZhbHVlKS5qb2luKCcsICcpIDogdG9QcmVjaXNpb24odmFsdWUpKTtcblxuY29uc3QgbWluTWF4VmFsdWUgPSAobWluPzogbnVtYmVyLCBtYXg/OiBudW1iZXIpID0+XG4gIFtpc1VuZGVmaW5lZChtaW4pID8gJycgOiBgTWluOiAke3ZhbHVlVmFsdWUobWluKX1gLCBpc1VuZGVmaW5lZChtYXgpID8gJycgOiBgTWF4OiAke3ZhbHVlVmFsdWUobWF4KX1gXS5qb2luKCc7ICcpO1xuXG5jb25zdCBibGFua05vZGVWYWx1ZSA9ICh7XG4gIHRlcm0sXG4gIHZhbHVlLFxuICBtaW4sXG4gIG1heFxufToge1xuICB0ZXJtOiBhbnk7XG4gIHZhbHVlPzogbnVtYmVyIHwgYm9vbGVhbjtcbiAgbWluPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXI7XG59KSA9PlxuICBbXG4gICAgW3ZhbHVlTGlua1JlZih0ZXJtLCB2YWx1ZUxpbmsodGVybSkpLCBpc1VuZGVmaW5lZCh2YWx1ZSkgPyAnJyA6IHZhbHVlVmFsdWUodmFsdWUpXS5qb2luKCc6ICcpLFxuICAgIFtpc1VuZGVmaW5lZChtaW4pID8gJycgOiBgTWluOiAke3ZhbHVlVmFsdWUobWluKX1gLCBpc1VuZGVmaW5lZChtYXgpID8gJycgOiBgTWF4OiAke3ZhbHVlVmFsdWUobWF4KX1gXS5qb2luKCc7ICcpXG4gIF0uam9pbignIC0gJyk7XG5cbmNvbnN0IHN0cmluZ01hcHBlcjoge1xuICBbdHlwZTogc3RyaW5nXTogKHZhbHVlPzogYW55KSA9PiBzdHJpbmc7XG59ID0ge1xuICBudW1iZXI6ICh2YWx1ZTogbnVtYmVyKSA9PiBgJHt0b1ByZWNpc2lvbih2YWx1ZSwgMyl9YCxcbiAgdW5kZWZpbmVkOiAoKSA9PiAnJyxcbiAgYmxhbmtOb2RlOiB2YWx1ZSA9PlxuICAgICd0ZXJtJyBpbiB2YWx1ZSA/IGJsYW5rTm9kZVZhbHVlKHZhbHVlKSA6IHZhbHVlTGlua1JlZih2YWx1ZSwgdmFsdWVMaW5rKHZhbHVlKSkgfHwgdmFsdWUubmFtZSB8fCB2YWx1ZVsnQGlkJ10sXG4gIG9iamVjdDogdmFsdWUgPT5cbiAgICBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgPyB2YWx1ZS5tYXAodG9TdHJpbmcpLmpvaW4oJywgJylcbiAgICAgIDogdmFsdWUgaW5zdGFuY2VvZiBEYXRlXG4gICAgICAgID8gdmFsdWUudG9KU09OKClcbiAgICAgICAgOiBpc0V4cGFuZGFibGUodmFsdWUpXG4gICAgICAgICAgPyBzdHJpbmdNYXBwZXIuYmxhbmtOb2RlKHZhbHVlKVxuICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkodmFsdWUsIG51bGwsIDIpXG59O1xuXG5jb25zdCB0b1N0cmluZyA9ICh2YWx1ZTogYW55KSA9PlxuICAodHlwZW9mIHZhbHVlKSBpbiBzdHJpbmdNYXBwZXIgPyBzdHJpbmdNYXBwZXJbdHlwZW9mIHZhbHVlXSh2YWx1ZSkgOiB2YWx1ZS50b1N0cmluZygpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1saW5rLWtleS12YWx1ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rLWtleS12YWx1ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpbmsta2V5LXZhbHVlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgQmxhbmtOb2RlU3RhdGVDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIExpbmtLZXlWYWx1ZUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBub2RlID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm9kZVR5cGUgPSBpbnB1dC5yZXF1aXJlZDxOb2RlVHlwZT4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGFTdGF0ZSA9IGlucHV0LnJlcXVpcmVkPERhdGFTdGF0ZT4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGFLZXkgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGtleSA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRWYWx1ZSA9IGlucHV0PGFueT4oJycpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpc0V4cGFuZGFibGUgPSBpc0V4cGFuZGFibGU7XG4gIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZUxpbmsgPSB2YWx1ZUxpbms7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc1VuZGVmaW5lZCA9IGlzVW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWluTWF4VmFsdWUgPSBtaW5NYXhWYWx1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWlubGluZS1ibG9jaycpXG4gIGdldCBpc0lubGluZUJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLmlzQXJyYXkoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBzY2hlbWFCYXNlVXJsID0gc2NoZW1hQmFzZVVybCgpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG9TdHJpbmcgPSB0b1N0cmluZztcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHlwZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMubm9kZSgpPy5bJ0B0eXBlJ10gfHwgdGhpcy5ub2RlKCk/LnR5cGUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWUgPSBjb21wdXRlZCgoKSA9PiBnZXQodGhpcy5ub2RlKCksIHRoaXMua2V5KCkpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhc1ZhbHVlID0gY29tcHV0ZWQoKCkgPT4gIWlzVW5kZWZpbmVkKHRoaXMudmFsdWUoKSkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNBcnJheSA9IGNvbXB1dGVkKFxuICAgICgpID0+IEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSgpKSAmJiBbdGhpcy52YWx1ZSgpLmxlbmd0aCA+IDEsIGlzRXhwYW5kYWJsZSh0aGlzLnZhbHVlKCk/LlswXSldLnNvbWUoQm9vbGVhbilcbiAgKTtcblxuICBwcm90ZWN0ZWQgaXNCbGFua05vZGUodmFsdWU6IGFueSkge1xuICAgIHJldHVybiBpc0V4cGFuZGFibGUodmFsdWUpICYmICd0ZXJtJyBpbiB2YWx1ZTtcbiAgfVxufVxuIiwiQGlmIChoYXNWYWx1ZSgpKSB7XG4gIDxhIGNsYXNzPVwiaXMtZGFya1wiIFtocmVmXT1cInNjaGVtYUJhc2VVcmwgKyAnLycgKyB0eXBlKCkgKyAnIycgKyBrZXkoKVwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgIDxiPnt7IGtleSgpIH19PC9iPlxuICA8L2E+XG4gIDxzcGFuIGNsYXNzPVwicHItMlwiPjo8L3NwYW4+XG4gIEBpZiAoaXNBcnJheSgpKSB7XG4gICAgPGRpdiBjbGFzcz1cImFycmF5LWNvbnRhaW5lciBpcy1wbC0yXCI+XG4gICAgICBAZm9yICh2IG9mIHZhbHVlKCk7IHRyYWNrIHYpIHtcbiAgICAgICAgQGlmIChpc0JsYW5rTm9kZSh2KSkge1xuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YSBjbGFzcz1cImlzLWRhcmtcIiBbaHJlZl09XCJ2YWx1ZUxpbmsodi50ZXJtKVwiPnt7IHYudGVybS5uYW1lIHx8IHYudGVybVsnQGlkJ10gfX08L2E+XG4gICAgICAgICAgICA8c3Bhbj46PC9zcGFuPlxuICAgICAgICAgICAgQGlmICghaXNVbmRlZmluZWQodi52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpcy1wbC0yXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInZhbHVlQ29udGVudDsgY29udGV4dDogeyB2YWx1ZTogdi52YWx1ZSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoIWlzVW5kZWZpbmVkKHYubWluKSB8fCAhaXNVbmRlZmluZWQodi5tYXgpKSB7XG4gICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImlzLXBsLTFcIj4oe3sgbWluTWF4VmFsdWUodi5taW4sIHYubWF4KSB9fSk8L3NtYWxsPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGhlLWJsYW5rLW5vZGUtc3RhdGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJwbC0xXCJcbiAgICAgICAgICAgICAgW25vZGVdPVwidlwiXG4gICAgICAgICAgICAgIFtub2RlVHlwZV09XCJub2RlVHlwZSgpXCJcbiAgICAgICAgICAgICAgW2RhdGFTdGF0ZV09XCJkYXRhU3RhdGUoKVwiXG4gICAgICAgICAgICAgIFtkYXRhS2V5XT1cImRhdGFLZXkoKVwiXG4gICAgICAgICAgICAgIGtleT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgbGlua0NsYXNzPVwiaXMtZGFya1wiPjwvaGUtYmxhbmstbm9kZS1zdGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidmFsdWVDb250ZW50OyBjb250ZXh0OiB7IHZhbHVlOiB2IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInZhbHVlQ29udGVudDsgY29udGV4dDogeyB2YWx1ZTogdmFsdWUoKSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPGhlLWJsYW5rLW5vZGUtc3RhdGVcbiAgICAgIGNsYXNzPVwicGwtMVwiXG4gICAgICBbbm9kZV09XCJub2RlKClcIlxuICAgICAgW25vZGVUeXBlXT1cIm5vZGVUeXBlKClcIlxuICAgICAgW2RhdGFTdGF0ZV09XCJkYXRhU3RhdGUoKVwiXG4gICAgICBbZGF0YUtleV09XCJkYXRhS2V5KClcIlxuICAgICAgW2tleV09XCJrZXkoKVwiXG4gICAgICBsaW5rQ2xhc3M9XCJpcy1kYXJrXCI+PC9oZS1ibGFuay1ub2RlLXN0YXRlPlxuICB9XG59IEBlbHNlIGlmICghIWRlZmF1bHRWYWx1ZSgpKSB7XG4gIDxzcGFuPnt7IGRlZmF1bHRWYWx1ZSgpIH19PC9zcGFuPlxufVxuXG48bmctdGVtcGxhdGUgI3ZhbHVlQ29udGVudCBsZXQtdj1cInZhbHVlXCI+XG4gIDxzcGFuIGNsYXNzPVwiaXMtaW5saW5lLWJsb2NrIGlzLW5vd3JhcFwiIFtpbm5lckh0bWxdPVwidG9TdHJpbmcodilcIj48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1rZXktdmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9saW5rLWtleS12YWx1ZS9saW5rLWtleS12YWx1ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL2xpbmsta2V5LXZhbHVlL2xpbmsta2V5LXZhbHVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxHQUFHLE1BQU0sWUFBWSxDQUFDO0FBRTdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOztBQUV6RixNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQy9CLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBRWpILE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBVSxFQUFFLElBQWEsRUFBRSxFQUFFLENBQ2pELElBQUksQ0FBQyxD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QU8sR0FBRyxRQUFRLENBQ25DLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FDOUcsQ0FBQztLQUtIO0lBbEJDLElBQ0ksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFZUyxXQUFXLENBQUMsS0FBVTtRQUM5QixPQUFPLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDO0lBQ2hELENBQUM7K0dBL0JVLHFCQUFxQjttR0FBckIscUJBQXFCLHE1QkNqRWxDLCs2REFzREEsMk1EU1ksZ0JBQWdCLG9KQUFFLHVCQUF1Qjs7NEZBRXhDLHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1AsQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQzs4QkFpQmhELGFBQWE7c0JBRGhCLFdBQVc7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGNvbXB1dGVkLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEYXRhU3RhdGUgfSBmcm9tICdAaGVzdGlhLWVhcnRoL2FwaSc7XG5pbXBvcnQgeyBpc0V4cGFuZGFibGUsIE5vZGVUeXBlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9zY2hlbWEnO1xuaW1wb3J0IHsgaXNVbmRlZmluZWQsIHRvUHJlY2lzaW9uIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC91dGlscyc7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC5nZXQnO1xuXG5pbXBvcnQgeyBiYXNlVXJsLCBzY2hlbWFCYXNlVXJsIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgQmxhbmtOb2RlU3RhdGVDb21wb25lbnQgfSBmcm9tICcuLi9ibGFuay1ub2RlLXN0YXRlL2JsYW5rLW5vZGUtc3RhdGUuY29tcG9uZW50JztcblxuY29uc3QgdmFsdWVMaW5rID0gKHZhbHVlOiBhbnkpID0+XG4gIGlzRXhwYW5kYWJsZSh2YWx1ZSkgJiYgdmFsdWVbJ0BpZCddID8gW2Jhc2VVcmwoKSwgdmFsdWVbJ0B0eXBlJ10udG9Mb3dlckNhc2UoKSwgdmFsdWVbJ0BpZCddXS5qb2luKCcvJykgOiBudWxsO1xuXG5jb25zdCB2YWx1ZUxpbmtSZWYgPSAodmFsdWU6IGFueSwgaHJlZj86IHN0cmluZykgPT5cbiAgaHJlZiA/IGA8YSBjbGFzcz1cImlzLWRhcmtcIiBocmVmPVwiJHtocmVmfVwiPiR7dmFsdWUubmFtZSB8fCB2YWx1ZVsnQGlkJ119PC9hPmAgOiBudWxsO1xuXG5jb25zdCB2YWx1ZVZhbHVlID0gKHZhbHVlOiBhbnkpID0+IChBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLm1hcCh2YWx1ZVZhbHVlKS5qb2luKCcsICcpIDogdG9QcmVjaXNpb24odmFsdWUpKTtcblxuY29uc3QgbWluTWF4VmFsdWUgPSAobWluPzogbnVtYmVyLCBtYXg/OiBudW1iZXIpID0+XG4gIFtpc1VuZGVmaW5lZChtaW4pID8gJycgOiBgTWluOiAke3ZhbHVlVmFsdWUobWluKX1gLCBpc1VuZGVmaW5lZChtYXgpID8gJycgOiBgTWF4OiAke3ZhbHVlVmFsdWUobWF4KX1gXS5qb2luKCc7ICcpO1xuXG5jb25zdCBibGFua05vZGVWYWx1ZSA9ICh7XG4gIHRlcm0sXG4gIHZhbHVlLFxuICBtaW4sXG4gIG1heFxufToge1xuICB0ZXJtOiBhbnk7XG4gIHZhbHVlPzogbnVtYmVyIHwgYm9vbGVhbjtcbiAgbWluPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXI7XG59KSA9PlxuICBbXG4gICAgW3ZhbHVlTGlua1JlZih0ZXJtLCB2YWx1ZUxpbmsodGVybSkpLCBpc1VuZGVmaW5lZCh2YWx1ZSkgPyAnJyA6IHZhbHVlVmFsdWUodmFsdWUpXS5qb2luKCc6ICcpLFxuICAgIFtpc1VuZGVmaW5lZChtaW4pID8gJycgOiBgTWluOiAke3ZhbHVlVmFsdWUobWluKX1gLCBpc1VuZGVmaW5lZChtYXgpID8gJycgOiBgTWF4OiAke3ZhbHVlVmFsdWUobWF4KX1gXS5qb2luKCc7ICcpXG4gIF0uam9pbignIC0gJyk7XG5cbmNvbnN0IHN0cmluZ01hcHBlcjoge1xuICBbdHlwZTogc3RyaW5nXTogKHZhbHVlPzogYW55KSA9PiBzdHJpbmc7XG59ID0ge1xuICBudW1iZXI6ICh2YWx1ZTogbnVtYmVyKSA9PiBgJHt0b1ByZWNpc2lvbih2YWx1ZSwgMyl9YCxcbiAgdW5kZWZpbmVkOiAoKSA9PiAnJyxcbiAgYmxhbmtOb2RlOiB2YWx1ZSA9PlxuICAgICd0ZXJtJyBpbiB2YWx1ZSA/IGJsYW5rTm9kZVZhbHVlKHZhbHVlKSA6IHZhbHVlTGlua1JlZih2YWx1ZSwgdmFsdWVMaW5rKHZhbHVlKSkgfHwgdmFsdWUubmFtZSB8fCB2YWx1ZVsnQGlkJ10sXG4gIG9iamVjdDogdmFsdWUgPT5cbiAgICBBcnJheS5pc0FycmF5KHZhbHVlKVxuICAgICAgPyB2YWx1ZS5tYXAodG9TdHJpbmcpLmpvaW4oJywgJylcbiAgICAgIDogdmFsdWUgaW5zdGFuY2VvZiBEYXRlXG4gICAgICAgID8gdmFsdWUudG9KU09OKClcbiAgICAgICAgOiBpc0V4cGFuZGFibGUodmFsdWUpXG4gICAgICAgICAgPyBzdHJpbmdNYXBwZXIuYmxhbmtOb2RlKHZhbHVlKVxuICAgICAgICAgIDogSlNPTi5zdHJpbmdpZnkodmFsdWUsIG51bGwsIDIpXG59O1xuXG5jb25zdCB0b1N0cmluZyA9ICh2YWx1ZTogYW55KSA9PlxuICAodHlwZW9mIHZhbHVlKSBpbiBzdHJpbmdNYXBwZXIgPyBzdHJpbmdNYXBwZXJbdHlwZW9mIHZhbHVlXSh2YWx1ZSkgOiB2YWx1ZS50b1N0cmluZygpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1saW5rLWtleS12YWx1ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saW5rLWtleS12YWx1ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpbmsta2V5LXZhbHVlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTmdUZW1wbGF0ZU91dGxldCwgQmxhbmtOb2RlU3RhdGVDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIExpbmtLZXlWYWx1ZUNvbXBvbmVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBub2RlID0gaW5wdXQucmVxdWlyZWQ8YW55PigpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm9kZVR5cGUgPSBpbnB1dC5yZXF1aXJlZDxOb2RlVHlwZT4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGFTdGF0ZSA9IGlucHV0LnJlcXVpcmVkPERhdGFTdGF0ZT4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRhdGFLZXkgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGtleSA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRlZmF1bHRWYWx1ZSA9IGlucHV0PGFueT4oJycpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBpc0V4cGFuZGFibGUgPSBpc0V4cGFuZGFibGU7XG4gIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZUxpbmsgPSB2YWx1ZUxpbms7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc1VuZGVmaW5lZCA9IGlzVW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWluTWF4VmFsdWUgPSBtaW5NYXhWYWx1ZTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWlubGluZS1ibG9jaycpXG4gIGdldCBpc0lubGluZUJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLmlzQXJyYXkoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkb25seSBzY2hlbWFCYXNlVXJsID0gc2NoZW1hQmFzZVVybCgpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdG9TdHJpbmcgPSB0b1N0cmluZztcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHlwZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMubm9kZSgpPy5bJ0B0eXBlJ10gfHwgdGhpcy5ub2RlKCk/LnR5cGUpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWUgPSBjb21wdXRlZCgoKSA9PiBnZXQodGhpcy5ub2RlKCksIHRoaXMua2V5KCkpKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGhhc1ZhbHVlID0gY29tcHV0ZWQoKCkgPT4gIWlzVW5kZWZpbmVkKHRoaXMudmFsdWUoKSkpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNBcnJheSA9IGNvbXB1dGVkKFxuICAgICgpID0+IEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSgpKSAmJiBbdGhpcy52YWx1ZSgpLmxlbmd0aCA+IDEsIGlzRXhwYW5kYWJsZSh0aGlzLnZhbHVlKCk/LlswXSldLnNvbWUoQm9vbGVhbilcbiAgKTtcblxuICBwcm90ZWN0ZWQgaXNCbGFua05vZGUodmFsdWU6IGFueSkge1xuICAgIHJldHVybiBpc0V4cGFuZGFibGUodmFsdWUpICYmICd0ZXJtJyBpbiB2YWx1ZTtcbiAgfVxufVxuIiwiQGlmIChoYXNWYWx1ZSgpKSB7XG4gIDxhIGNsYXNzPVwiaXMtZGFya1wiIFtocmVmXT1cInNjaGVtYUJhc2VVcmwgKyAnLycgKyB0eXBlKCkgKyAnIycgKyBrZXkoKVwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgIDxiPnt7IGtleSgpIH19PC9iPlxuICA8L2E+XG4gIDxzcGFuIGNsYXNzPVwicHItMlwiPjo8L3NwYW4+XG4gIEBpZiAoaXNBcnJheSgpKSB7XG4gICAgPGRpdiBjbGFzcz1cImlzLW92ZXJmbG93LXktYXV0byBpcy1wbC0yIHwgYXJyYXktY29udGFpbmVyXCI+XG4gICAgICBAZm9yICh2IG9mIHZhbHVlKCk7IHRyYWNrIHYpIHtcbiAgICAgICAgQGlmIChpc0JsYW5rTm9kZSh2KSkge1xuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8YSBjbGFzcz1cImlzLWRhcmtcIiBbaHJlZl09XCJ2YWx1ZUxpbmsodi50ZXJtKVwiPnt7IHYudGVybS5uYW1lIHx8IHYudGVybVsnQGlkJ10gfX08L2E+XG4gICAgICAgICAgICA8c3Bhbj46PC9zcGFuPlxuICAgICAgICAgICAgQGlmICghaXNVbmRlZmluZWQodi52YWx1ZSkpIHtcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpcy1wbC0yXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInZhbHVlQ29udGVudDsgY29udGV4dDogeyB2YWx1ZTogdi52YWx1ZSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoIWlzVW5kZWZpbmVkKHYubWluKSB8fCAhaXNVbmRlZmluZWQodi5tYXgpKSB7XG4gICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImlzLXBsLTFcIj4oe3sgbWluTWF4VmFsdWUodi5taW4sIHYubWF4KSB9fSk8L3NtYWxsPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGhlLWJsYW5rLW5vZGUtc3RhdGVcbiAgICAgICAgICAgICAgY2xhc3M9XCJwbC0xXCJcbiAgICAgICAgICAgICAgW25vZGVdPVwidlwiXG4gICAgICAgICAgICAgIFtub2RlVHlwZV09XCJub2RlVHlwZSgpXCJcbiAgICAgICAgICAgICAgW2RhdGFTdGF0ZV09XCJkYXRhU3RhdGUoKVwiXG4gICAgICAgICAgICAgIFtkYXRhS2V5XT1cImRhdGFLZXkoKVwiXG4gICAgICAgICAgICAgIGtleT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgbGlua0NsYXNzPVwiaXMtZGFya1wiPjwvaGUtYmxhbmstbm9kZS1zdGF0ZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgPHA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidmFsdWVDb250ZW50OyBjb250ZXh0OiB7IHZhbHVlOiB2IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInZhbHVlQ29udGVudDsgY29udGV4dDogeyB2YWx1ZTogdmFsdWUoKSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPGhlLWJsYW5rLW5vZGUtc3RhdGVcbiAgICAgIGNsYXNzPVwicGwtMVwiXG4gICAgICBbbm9kZV09XCJub2RlKClcIlxuICAgICAgW25vZGVUeXBlXT1cIm5vZGVUeXBlKClcIlxuICAgICAgW2RhdGFTdGF0ZV09XCJkYXRhU3RhdGUoKVwiXG4gICAgICBbZGF0YUtleV09XCJkYXRhS2V5KClcIlxuICAgICAgW2tleV09XCJrZXkoKVwiXG4gICAgICBsaW5rQ2xhc3M9XCJpcy1kYXJrXCI+PC9oZS1ibGFuay1ub2RlLXN0YXRlPlxuICB9XG59IEBlbHNlIGlmICghIWRlZmF1bHRWYWx1ZSgpKSB7XG4gIDxzcGFuPnt7IGRlZmF1bHRWYWx1ZSgpIH19PC9zcGFuPlxufVxuXG48bmctdGVtcGxhdGUgI3ZhbHVlQ29udGVudCBsZXQtdj1cInZhbHVlXCI+XG4gIDxzcGFuIGNsYXNzPVwiaXMtaW5saW5lLWJsb2NrIGlzLW5vd3JhcFwiIFtpbm5lckh0bWxdPVwidG9TdHJpbmcodilcIj48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -21,10 +21,10 @@ export class MapsDrawingConfirmComponent {
21
21
  this.activeModal?.close(value);
22
22
  }
23
23
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: MapsDrawingConfirmComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", type: MapsDrawingConfirmComponent, isStandalone: true, selector: "he-maps-drawing-confirm", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, modes: { classPropertyName: "modes", publicName: "modes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, viewQueries: [{ propertyName: "map", first: true, predicate: MapsDrawingComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"modal is-large is-active\">\n <div class=\"modal-background\"></div>\n <div class=\"modal-card\">\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title\">Draw on Map</p>\n <button class=\"delete\" aria-label=\"close\" (click)=\"close()\"></button>\n </header>\n <section class=\"modal-card-body p-0\">\n <he-maps-drawing #map [value]=\"value()\" [modes]=\"modes()\"></he-maps-drawing>\n </section>\n <footer class=\"modal-card-foot\">\n <button class=\"button is-primary\" (click)=\"confirm()\">\n <span>Confirm</span>\n </button>\n <button class=\"button is-ghost\" (click)=\"close()\">\n <span>Close</span>\n </button>\n <button class=\"button is-danger\" (click)=\"map.clear()\">\n <fa-icon class=\"mr-2\" [icon]=\"faTimes\"></fa-icon>\n <span>Clear</span>\n </button>\n </footer>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "component", type: MapsDrawingComponent, selector: "he-maps-drawing", inputs: ["value", "modes", "center", "zoom"], outputs: ["updated"] }] }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", type: MapsDrawingConfirmComponent, isStandalone: true, selector: "he-maps-drawing-confirm", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, modes: { classPropertyName: "modes", publicName: "modes", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, viewQueries: [{ propertyName: "map", first: true, predicate: MapsDrawingComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"modal is-large is-active\">\n <div class=\"modal-background\"></div>\n <div class=\"modal-card\">\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title\">Draw on Map</p>\n <button class=\"delete\" aria-label=\"close\" (click)=\"close()\"></button>\n </header>\n <section class=\"modal-card-body p-0\">\n <he-maps-drawing #map [value]=\"value()\" [modes]=\"modes()\"></he-maps-drawing>\n </section>\n <footer class=\"modal-card-foot\">\n <button class=\"button is-primary\" (click)=\"confirm()\">\n <span>Confirm</span>\n </button>\n <button class=\"button is-ghost\" (click)=\"close()\">\n <span>Close</span>\n </button>\n <button class=\"button is-danger\" (click)=\"map.clear()\">\n <fa-icon class=\"mr-2\" [icon]=\"faTimes\" />\n <span>Clear</span>\n </button>\n </footer>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "component", type: MapsDrawingComponent, selector: "he-maps-drawing", inputs: ["value", "modes", "center", "zoom"], outputs: ["updated"] }] }); }
25
25
  }
26
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: MapsDrawingConfirmComponent, decorators: [{
27
27
  type: Component,
28
- args: [{ selector: 'he-maps-drawing-confirm', standalone: true, imports: [FaIconComponent, MapsDrawingComponent], template: "<div class=\"modal is-large is-active\">\n <div class=\"modal-background\"></div>\n <div class=\"modal-card\">\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title\">Draw on Map</p>\n <button class=\"delete\" aria-label=\"close\" (click)=\"close()\"></button>\n </header>\n <section class=\"modal-card-body p-0\">\n <he-maps-drawing #map [value]=\"value()\" [modes]=\"modes()\"></he-maps-drawing>\n </section>\n <footer class=\"modal-card-foot\">\n <button class=\"button is-primary\" (click)=\"confirm()\">\n <span>Confirm</span>\n </button>\n <button class=\"button is-ghost\" (click)=\"close()\">\n <span>Close</span>\n </button>\n <button class=\"button is-danger\" (click)=\"map.clear()\">\n <fa-icon class=\"mr-2\" [icon]=\"faTimes\"></fa-icon>\n <span>Clear</span>\n </button>\n </footer>\n </div>\n</div>\n" }]
28
+ args: [{ selector: 'he-maps-drawing-confirm', standalone: true, imports: [FaIconComponent, MapsDrawingComponent], template: "<div class=\"modal is-large is-active\">\n <div class=\"modal-background\"></div>\n <div class=\"modal-card\">\n <header class=\"modal-card-head\">\n <p class=\"modal-card-title\">Draw on Map</p>\n <button class=\"delete\" aria-label=\"close\" (click)=\"close()\"></button>\n </header>\n <section class=\"modal-card-body p-0\">\n <he-maps-drawing #map [value]=\"value()\" [modes]=\"modes()\"></he-maps-drawing>\n </section>\n <footer class=\"modal-card-foot\">\n <button class=\"button is-primary\" (click)=\"confirm()\">\n <span>Confirm</span>\n </button>\n <button class=\"button is-ghost\" (click)=\"close()\">\n <span>Close</span>\n </button>\n <button class=\"button is-danger\" (click)=\"map.clear()\">\n <fa-icon class=\"mr-2\" [icon]=\"faTimes\" />\n <span>Clear</span>\n </button>\n </footer>\n </div>\n</div>\n" }]
29
29
  }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcy1kcmF3aW5nLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9tYXBzLWRyYXdpbmctY29uZmlybS9tYXBzLWRyYXdpbmctY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL21hcHMtZHJhd2luZy1jb25maXJtL21hcHMtZHJhd2luZy1jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQVM5RSxNQUFNLE9BQU8sMkJBQTJCO0lBUHhDO1FBUW1CLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXZELFlBQU8sR0FBRyxPQUFPLENBQUM7UUFFcEIsUUFBRyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUU3QyxVQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDeEIsVUFBSyxHQUFHLEtBQUssRUFBcUMsQ0FBQztRQUVuRCxXQUFNLEdBQUcsTUFBTSxFQUFzQyxDQUFDO0tBVTFFO0lBUlcsT0FBTztRQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVTLEtBQUssQ0FBQyxLQUEwQztRQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDOytHQW5CVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixtWkFLSSxvQkFBb0IsZ0VDbkJoRSw0NUJBd0JBLDBERFpZLGVBQWUsNE1BQUUsb0JBQW9COzs0RkFFcEMsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNFLHlCQUF5QixjQUd2QixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIG91dHB1dCwgaW5qZWN0LCBpbnB1dCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGYUljb25Db21wb25lbnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBmYVRpbWVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuXG5pbXBvcnQgeyBNYXBzRHJhd2luZ0NvbXBvbmVudCB9IGZyb20gJy4uL21hcHMtZHJhd2luZy9tYXBzLWRyYXdpbmcuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtbWFwcy1kcmF3aW5nLWNvbmZpcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwcy1kcmF3aW5nLWNvbmZpcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXBzLWRyYXdpbmctY29uZmlybS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbRmFJY29uQ29tcG9uZW50LCBNYXBzRHJhd2luZ0NvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTWFwc0RyYXdpbmdDb25maXJtQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmVNb2RhbCA9IGluamVjdChOZ2JBY3RpdmVNb2RhbCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmFUaW1lcyA9IGZhVGltZXM7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtYXAgPSB2aWV3Q2hpbGQucmVxdWlyZWQoTWFwc0RyYXdpbmdDb21wb25lbnQpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vZGVzID0gaW5wdXQ8Z29vZ2xlLm1hcHMuZHJhd2luZy5PdmVybGF5VHlwZVtdPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjbG9zZWQgPSBvdXRwdXQ8Z29vZ2xlLm1hcHMuTGF0TG5nTGl0ZXJhbCB8IHN0cmluZz4oKTtcblxuICBwcm90ZWN0ZWQgY29uZmlybSgpIHtcbiAgICB0aGlzLmNsb3NlKHRoaXMubWFwKCkuZGF0YSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjbG9zZSh2YWx1ZT86IGdvb2dsZS5tYXBzLkxhdExuZ0xpdGVyYWwgfCBzdHJpbmcpIHtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLmFjdGl2ZU1vZGFsPy5jbG9zZSh2YWx1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtb2RhbCBpcy1sYXJnZSBpcy1hY3RpdmVcIj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJhY2tncm91bmRcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWNhcmRcIj5cbiAgICA8aGVhZGVyIGNsYXNzPVwibW9kYWwtY2FyZC1oZWFkXCI+XG4gICAgICA8cCBjbGFzcz1cIm1vZGFsLWNhcmQtdGl0bGVcIj5EcmF3IG9uIE1hcDwvcD5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJkZWxldGVcIiBhcmlhLWxhYmVsPVwiY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoKVwiPjwvYnV0dG9uPlxuICAgIDwvaGVhZGVyPlxuICAgIDxzZWN0aW9uIGNsYXNzPVwibW9kYWwtY2FyZC1ib2R5IHAtMFwiPlxuICAgICAgPGhlLW1hcHMtZHJhd2luZyAjbWFwIFt2YWx1ZV09XCJ2YWx1ZSgpXCIgW21vZGVzXT1cIm1vZGVzKClcIj48L2hlLW1hcHMtZHJhd2luZz5cbiAgICA8L3NlY3Rpb24+XG4gICAgPGZvb3RlciBjbGFzcz1cIm1vZGFsLWNhcmQtZm9vdFwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBpcy1wcmltYXJ5XCIgKGNsaWNrKT1cImNvbmZpcm0oKVwiPlxuICAgICAgICA8c3Bhbj5Db25maXJtPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGlzLWdob3N0XCIgKGNsaWNrKT1cImNsb3NlKClcIj5cbiAgICAgICAgPHNwYW4+Q2xvc2U8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gaXMtZGFuZ2VyXCIgKGNsaWNrKT1cIm1hcC5jbGVhcigpXCI+XG4gICAgICAgIDxmYS1pY29uIGNsYXNzPVwibXItMlwiIFtpY29uXT1cImZhVGltZXNcIj48L2ZhLWljb24+XG4gICAgICAgIDxzcGFuPkNsZWFyPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9mb290ZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcy1kcmF3aW5nLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1vbi9tYXBzLWRyYXdpbmctY29uZmlybS9tYXBzLWRyYXdpbmctY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvY29tbW9uL21hcHMtZHJhd2luZy1jb25maXJtL21hcHMtZHJhd2luZy1jb25maXJtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRTVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQVM5RSxNQUFNLE9BQU8sMkJBQTJCO0lBUHhDO1FBUW1CLGdCQUFXLEdBQUcsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXZELFlBQU8sR0FBRyxPQUFPLENBQUM7UUFFcEIsUUFBRyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUU3QyxVQUFLLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDeEIsVUFBSyxHQUFHLEtBQUssRUFBcUMsQ0FBQztRQUVuRCxXQUFNLEdBQUcsTUFBTSxFQUFzQyxDQUFDO0tBVTFFO0lBUlcsT0FBTztRQUNmLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVTLEtBQUssQ0FBQyxLQUEwQztRQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDOytHQW5CVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixtWkFLSSxvQkFBb0IsZ0VDbkJoRSxvNUJBd0JBLDBERFpZLGVBQWUsNE1BQUUsb0JBQW9COzs0RkFFcEMsMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNFLHlCQUF5QixjQUd2QixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIG91dHB1dCwgaW5qZWN0LCBpbnB1dCwgdmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGYUljb25Db21wb25lbnQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBmYVRpbWVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuXG5pbXBvcnQgeyBNYXBzRHJhd2luZ0NvbXBvbmVudCB9IGZyb20gJy4uL21hcHMtZHJhd2luZy9tYXBzLWRyYXdpbmcuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtbWFwcy1kcmF3aW5nLWNvbmZpcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbWFwcy1kcmF3aW5nLWNvbmZpcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tYXBzLWRyYXdpbmctY29uZmlybS5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbRmFJY29uQ29tcG9uZW50LCBNYXBzRHJhd2luZ0NvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTWFwc0RyYXdpbmdDb25maXJtQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSByZWFkb25seSBhY3RpdmVNb2RhbCA9IGluamVjdChOZ2JBY3RpdmVNb2RhbCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmFUaW1lcyA9IGZhVGltZXM7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtYXAgPSB2aWV3Q2hpbGQucmVxdWlyZWQoTWFwc0RyYXdpbmdDb21wb25lbnQpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZSA9IGlucHV0PHN0cmluZz4oKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1vZGVzID0gaW5wdXQ8Z29vZ2xlLm1hcHMuZHJhd2luZy5PdmVybGF5VHlwZVtdPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBjbG9zZWQgPSBvdXRwdXQ8Z29vZ2xlLm1hcHMuTGF0TG5nTGl0ZXJhbCB8IHN0cmluZz4oKTtcblxuICBwcm90ZWN0ZWQgY29uZmlybSgpIHtcbiAgICB0aGlzLmNsb3NlKHRoaXMubWFwKCkuZGF0YSgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjbG9zZSh2YWx1ZT86IGdvb2dsZS5tYXBzLkxhdExuZ0xpdGVyYWwgfCBzdHJpbmcpIHtcbiAgICB0aGlzLmNsb3NlZC5lbWl0KHZhbHVlKTtcbiAgICB0aGlzLmFjdGl2ZU1vZGFsPy5jbG9zZSh2YWx1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtb2RhbCBpcy1sYXJnZSBpcy1hY3RpdmVcIj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJhY2tncm91bmRcIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWNhcmRcIj5cbiAgICA8aGVhZGVyIGNsYXNzPVwibW9kYWwtY2FyZC1oZWFkXCI+XG4gICAgICA8cCBjbGFzcz1cIm1vZGFsLWNhcmQtdGl0bGVcIj5EcmF3IG9uIE1hcDwvcD5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJkZWxldGVcIiBhcmlhLWxhYmVsPVwiY2xvc2VcIiAoY2xpY2spPVwiY2xvc2UoKVwiPjwvYnV0dG9uPlxuICAgIDwvaGVhZGVyPlxuICAgIDxzZWN0aW9uIGNsYXNzPVwibW9kYWwtY2FyZC1ib2R5IHAtMFwiPlxuICAgICAgPGhlLW1hcHMtZHJhd2luZyAjbWFwIFt2YWx1ZV09XCJ2YWx1ZSgpXCIgW21vZGVzXT1cIm1vZGVzKClcIj48L2hlLW1hcHMtZHJhd2luZz5cbiAgICA8L3NlY3Rpb24+XG4gICAgPGZvb3RlciBjbGFzcz1cIm1vZGFsLWNhcmQtZm9vdFwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvbiBpcy1wcmltYXJ5XCIgKGNsaWNrKT1cImNvbmZpcm0oKVwiPlxuICAgICAgICA8c3Bhbj5Db25maXJtPC9zcGFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uIGlzLWdob3N0XCIgKGNsaWNrKT1cImNsb3NlKClcIj5cbiAgICAgICAgPHNwYW4+Q2xvc2U8L3NwYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJidXR0b24gaXMtZGFuZ2VyXCIgKGNsaWNrKT1cIm1hcC5jbGVhcigpXCI+XG4gICAgICAgIDxmYS1pY29uIGNsYXNzPVwibXItMlwiIFtpY29uXT1cImZhVGltZXNcIiAvPlxuICAgICAgICA8c3Bhbj5DbGVhcjwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZm9vdGVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19