@ifsworld/granite-components 10.0.0 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/README.md +4 -28
  2. package/date-picker/lib/date-picker-base.d.ts +1 -1
  3. package/date-picker/lib/date-picker-trigger-for.directive.d.ts +1 -1
  4. package/date-picker/lib/date-picker.component.d.ts +1 -1
  5. package/date-picker/lib/date-range-picker.component.d.ts +1 -1
  6. package/{esm2020 → esm2022}/date-picker/lib/date-picker-base.mjs +4 -4
  7. package/{esm2020 → esm2022}/date-picker/lib/date-picker-trigger-for.directive.mjs +4 -4
  8. package/esm2022/date-picker/lib/date-picker.component.mjs +30 -0
  9. package/{esm2020 → esm2022}/date-picker/lib/date-picker.module.mjs +21 -21
  10. package/esm2022/date-picker/lib/date-range-picker.component.mjs +46 -0
  11. package/{esm2020 → esm2022}/lib/arrange-grid/arrange-grid-item.component.mjs +12 -12
  12. package/{esm2020 → esm2022}/lib/arrange-grid/arrange-grid.component.mjs +7 -7
  13. package/{esm2020 → esm2022}/lib/arrange-grid/arrange-grid.module.mjs +5 -5
  14. package/{esm2020 → esm2022}/lib/badge/badge.component.mjs +5 -5
  15. package/{esm2020 → esm2022}/lib/badge/badge.module.mjs +5 -5
  16. package/esm2022/lib/badge/testing/badge.harness.mjs +25 -0
  17. package/esm2022/lib/button/button.component.mjs +87 -0
  18. package/{esm2020 → esm2022}/lib/button/button.module.mjs +5 -5
  19. package/{esm2020 → esm2022}/lib/checkbox/checkbox-group.component.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/checkbox/checkbox.component.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/checkbox/checkbox.module.mjs +5 -5
  22. package/esm2022/lib/chips/chip-input.mjs +195 -0
  23. package/esm2022/lib/chips/chip-list.component.mjs +567 -0
  24. package/esm2022/lib/chips/chip.component.mjs +287 -0
  25. package/{esm2020 → esm2022}/lib/chips/chips.module.mjs +9 -9
  26. package/{esm2020 → esm2022}/lib/core/common-behaviors/disabled.mjs +4 -4
  27. package/{esm2020 → esm2022}/lib/core/core.module.mjs +11 -11
  28. package/esm2022/lib/core/devices/client-input-desktop.directive.mjs +29 -0
  29. package/esm2022/lib/core/devices/client-input-touch.directive.mjs +29 -0
  30. package/esm2022/lib/core/devices/client-output-desktop.directive.mjs +29 -0
  31. package/esm2022/lib/core/devices/client-output-touch.directive.mjs +29 -0
  32. package/{esm2020 → esm2022}/lib/core/pipes/pure-pipes.module.mjs +5 -5
  33. package/{esm2020 → esm2022}/lib/core/pipes/title.pipe.mjs +4 -4
  34. package/{esm2020 → esm2022}/lib/core/radio-checkbox-base.mjs +4 -4
  35. package/{esm2020 → esm2022}/lib/grid/grid.component.mjs +7 -7
  36. package/{esm2020 → esm2022}/lib/grid/grid.module.mjs +5 -5
  37. package/{esm2020 → esm2022}/lib/icon/icon.component.mjs +4 -4
  38. package/{esm2020 → esm2022}/lib/icon/icon.module.mjs +5 -5
  39. package/{esm2020 → esm2022}/lib/input-field/input-field.component.mjs +5 -5
  40. package/{esm2020 → esm2022}/lib/input-field/input-field.module.mjs +5 -5
  41. package/{esm2020 → esm2022}/lib/label/label.component.mjs +4 -4
  42. package/{esm2020 → esm2022}/lib/label/label.module.mjs +5 -5
  43. package/{esm2020 → esm2022}/lib/menu/divider.directive.mjs +4 -4
  44. package/{esm2020 → esm2022}/lib/menu/menu-base.mjs +4 -4
  45. package/{esm2020 → esm2022}/lib/menu/menu-item.component.mjs +6 -6
  46. package/{esm2020 → esm2022}/lib/menu/menu-touch-close.component.mjs +4 -4
  47. package/{esm2020 → esm2022}/lib/menu/menu-touch-title.component.mjs +6 -6
  48. package/esm2022/lib/menu/menu-trigger-for.directive.mjs +704 -0
  49. package/esm2022/lib/menu/menu.component.mjs +30 -0
  50. package/{esm2020 → esm2022}/lib/menu/menu.module.mjs +17 -17
  51. package/esm2022/lib/menu/testing/menu.harness.mjs +109 -0
  52. package/{esm2020 → esm2022}/lib/menu/title.directive.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/radio-button/radio-button.component.mjs +4 -4
  54. package/{esm2020 → esm2022}/lib/radio-button/radio-button.module.mjs +5 -5
  55. package/{esm2020 → esm2022}/lib/radio-button/radio-group.component.mjs +4 -4
  56. package/{esm2020 → esm2022}/lib/toggle-switch/toggle-switch.component.mjs +4 -4
  57. package/{esm2020 → esm2022}/lib/toggle-switch/toggle-switch.module.mjs +5 -5
  58. package/{esm2020 → esm2022}/table/lib/cell/cell-align/cell-align-classes.directive.mjs +4 -4
  59. package/{esm2020 → esm2022}/table/lib/cell/cell.mjs +4 -4
  60. package/{esm2020 → esm2022}/table/lib/cell/table-data-cell.component.mjs +5 -5
  61. package/{esm2020 → esm2022}/table/lib/cell/table-header-cell.component.mjs +4 -4
  62. package/{esm2020 → esm2022}/table/lib/column/table-column.directive.mjs +4 -4
  63. package/esm2022/table/lib/table-constants.library.mjs +9 -0
  64. package/{esm2020 → esm2022}/table/lib/table.component.mjs +4 -4
  65. package/{esm2020 → esm2022}/table/lib/table.module.mjs +9 -9
  66. package/{esm2020 → esm2022}/tooltip/lib/tooltip-constants.library.mjs +2 -2
  67. package/{esm2020 → esm2022}/tooltip/lib/tooltip-trigger-for.directive.mjs +4 -4
  68. package/{esm2020 → esm2022}/tooltip/lib/tooltip.component.mjs +5 -5
  69. package/{esm2020 → esm2022}/tooltip/lib/tooltip.module.mjs +5 -5
  70. package/fesm2022/ifsworld-granite-components-date-picker.mjs +396 -0
  71. package/{fesm2020 → fesm2022}/ifsworld-granite-components-date-picker.mjs.map +1 -1
  72. package/fesm2022/ifsworld-granite-components-table.mjs +190 -0
  73. package/{fesm2015 → fesm2022}/ifsworld-granite-components-table.mjs.map +1 -1
  74. package/{fesm2020 → fesm2022}/ifsworld-granite-components-tooltip.mjs +12 -12
  75. package/{fesm2020 → fesm2022}/ifsworld-granite-components-tooltip.mjs.map +1 -1
  76. package/{fesm2020 → fesm2022}/ifsworld-granite-components.mjs +340 -341
  77. package/fesm2022/ifsworld-granite-components.mjs.map +1 -0
  78. package/lib/arrange-grid/arrange-grid-item.component.d.ts +5 -5
  79. package/lib/arrange-grid/arrange-grid.component.d.ts +3 -3
  80. package/lib/badge/badge.component.d.ts +1 -1
  81. package/lib/button/button.component.d.ts +2 -2
  82. package/lib/checkbox/checkbox.component.d.ts +1 -1
  83. package/lib/chips/chip-input.d.ts +9 -9
  84. package/lib/chips/chip-list.component.d.ts +33 -33
  85. package/lib/chips/chip.component.d.ts +22 -22
  86. package/lib/core/radio-checkbox-base.d.ts +1 -1
  87. package/lib/grid/grid.component.d.ts +2 -2
  88. package/lib/icon/icon.component.d.ts +1 -1
  89. package/lib/input-field/input-field.component.d.ts +1 -1
  90. package/lib/label/label.component.d.ts +1 -1
  91. package/lib/menu/divider.directive.d.ts +1 -1
  92. package/lib/menu/menu-base.d.ts +1 -1
  93. package/lib/menu/menu-item.component.d.ts +1 -1
  94. package/lib/menu/menu-trigger-for.directive.d.ts +1 -1
  95. package/lib/radio-button/radio-button.component.d.ts +1 -1
  96. package/lib/toggle-switch/toggle-switch.component.d.ts +1 -1
  97. package/package.json +21 -40
  98. package/table/lib/cell/cell-align/cell-align-classes.directive.d.ts +1 -1
  99. package/table/lib/cell/cell.d.ts +1 -1
  100. package/table/lib/cell/table-data-cell.component.d.ts +1 -1
  101. package/table/lib/column/table-column.directive.d.ts +1 -1
  102. package/table/lib/table.component.d.ts +1 -1
  103. package/tooltip/lib/tooltip-trigger-for.directive.d.ts +1 -1
  104. package/esm2020/date-picker/lib/date-picker.component.mjs +0 -30
  105. package/esm2020/date-picker/lib/date-range-picker.component.mjs +0 -46
  106. package/esm2020/lib/badge/testing/badge.harness.mjs +0 -25
  107. package/esm2020/lib/button/button.component.mjs +0 -87
  108. package/esm2020/lib/chips/chip-input.mjs +0 -195
  109. package/esm2020/lib/chips/chip-list.component.mjs +0 -567
  110. package/esm2020/lib/chips/chip.component.mjs +0 -287
  111. package/esm2020/lib/core/devices/client-input-desktop.directive.mjs +0 -29
  112. package/esm2020/lib/core/devices/client-input-touch.directive.mjs +0 -29
  113. package/esm2020/lib/core/devices/client-output-desktop.directive.mjs +0 -29
  114. package/esm2020/lib/core/devices/client-output-touch.directive.mjs +0 -29
  115. package/esm2020/lib/menu/menu-trigger-for.directive.mjs +0 -705
  116. package/esm2020/lib/menu/menu.component.mjs +0 -30
  117. package/esm2020/lib/menu/testing/menu.harness.mjs +0 -109
  118. package/esm2020/table/lib/table-constants.library.mjs +0 -9
  119. package/fesm2015/ifsworld-granite-components-date-picker.mjs +0 -401
  120. package/fesm2015/ifsworld-granite-components-date-picker.mjs.map +0 -1
  121. package/fesm2015/ifsworld-granite-components-table.mjs +0 -190
  122. package/fesm2015/ifsworld-granite-components-tooltip.mjs +0 -169
  123. package/fesm2015/ifsworld-granite-components-tooltip.mjs.map +0 -1
  124. package/fesm2015/ifsworld-granite-components.mjs +0 -4133
  125. package/fesm2015/ifsworld-granite-components.mjs.map +0 -1
  126. package/fesm2020/ifsworld-granite-components-date-picker.mjs +0 -396
  127. package/fesm2020/ifsworld-granite-components-table.mjs +0 -190
  128. package/fesm2020/ifsworld-granite-components-table.mjs.map +0 -1
  129. package/fesm2020/ifsworld-granite-components.mjs.map +0 -1
  130. /package/{esm2020 → esm2022}/date-picker/ifsworld-granite-components-date-picker.mjs +0 -0
  131. /package/{esm2020 → esm2022}/date-picker/index.mjs +0 -0
  132. /package/{esm2020 → esm2022}/ifsworld-granite-components.mjs +0 -0
  133. /package/{esm2020 → esm2022}/index.mjs +0 -0
  134. /package/{esm2020 → esm2022}/lib/core/animation.mjs +0 -0
  135. /package/{esm2020 → esm2022}/lib/core/client-environment.mjs +0 -0
  136. /package/{esm2020 → esm2022}/lib/core/theme.library.mjs +0 -0
  137. /package/{esm2020 → esm2022}/lib/core/types.mjs +0 -0
  138. /package/{esm2020 → esm2022}/lib/menu/menu-desktop-animations.mjs +0 -0
  139. /package/{esm2020 → esm2022}/lib/menu/menu-errors.mjs +0 -0
  140. /package/{esm2020 → esm2022}/lib/menu/menu-panel.mjs +0 -0
  141. /package/{esm2020 → esm2022}/lib/menu/menu-positions.mjs +0 -0
  142. /package/{esm2020 → esm2022}/lib/menu/menu-touch-animations.mjs +0 -0
  143. /package/{esm2020 → esm2022}/table/ifsworld-granite-components-table.mjs +0 -0
  144. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  145. /package/{esm2020 → esm2022}/table/lib/table.types.mjs +0 -0
  146. /package/{esm2020 → esm2022}/tooltip/ifsworld-granite-components-tooltip.mjs +0 -0
  147. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
@@ -320,10 +320,10 @@ export class _MenuBaseComponent {
320
320
  this._directDescendantItems.notifyOnChanges();
321
321
  });
322
322
  }
323
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: _MenuBaseComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
324
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: _MenuBaseComponent, inputs: { xPosition: "xPosition", yPosition: "yPosition", title: "title", closeLabel: "closeLabel", openOnHover: "openOnHover" }, outputs: { closed: "closed" }, queries: [{ propertyName: "_allItems", predicate: GraniteMenuItemComponent, descendants: true }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 }); }
323
325
  }
324
- _MenuBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: _MenuBaseComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
325
- _MenuBaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: _MenuBaseComponent, inputs: { xPosition: "xPosition", yPosition: "yPosition", title: "title", closeLabel: "closeLabel", openOnHover: "openOnHover" }, outputs: { closed: "closed" }, queries: [{ propertyName: "_allItems", predicate: GraniteMenuItemComponent, descendants: true }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 });
326
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: _MenuBaseComponent, decorators: [{
326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: _MenuBaseComponent, decorators: [{
327
327
  type: Directive
328
328
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { xPosition: [{
329
329
  type: Input
@@ -344,4 +344,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
344
344
  }], closed: [{
345
345
  type: Output
346
346
  }] } });
347
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9tZW51L21lbnUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixLQUFLLEVBRUwsT0FBTyxFQUNQLFlBQVksR0FDYixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1uRSxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxHQUNqQyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFJakUsc0NBQXNDO0FBQ3RDLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQTJCckIsb0RBQW9EO0FBQ3BELE1BQU0sb0JBQW9CLEdBQWtCO0lBQzFDLEtBQUssRUFBRSxNQUFNO0lBQ2IsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFLENBQUM7S0FDWDtDQUNGLENBQUM7QUFFRixxREFBcUQ7QUFFckQsa0VBQWtFO0FBQ2xFLE1BQU0sT0FBTyxrQkFBa0I7SUFPN0IsMENBQTBDO0lBQzFDLElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFB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UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU87YUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDL0IsU0FBUyxDQUFDLENBQUMsS0FBMEMsRUFBRSxFQUFFO1lBQ3hELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLENBQ2xELENBQUM7WUFDRixJQUFJLENBQUMsc0JBQXNCLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzsrR0F0YVUsa0JBQWtCO21HQUFsQixrQkFBa0IscU5BZ0RaLHdCQUF3Qiw2RkFIOUIsV0FBVzsyRkE3Q1gsa0JBQWtCO2tCQUY5QixTQUFTO3dHQVdKLFNBQVM7c0JBRFosS0FBSztnQkFhRixTQUFTO3NCQURaLEtBQUs7Z0JBYU4sS0FBSztzQkFESixLQUFLO2dCQVFOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBR2tCLFdBQVc7c0JBQWxDLFNBQVM7dUJBQUMsV0FBVztnQkFJdEIsU0FBUztzQkFEUixlQUFlO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFNN0MsTUFBTTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgaGFzTW9kaWZpZXJLZXkgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgbWVyZ2UsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIFN1YnNjcmlwdGlvbixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIENsaWVudElucHV0SW50ZXJmYWNlLFxuICBDbGllbnRPdXRwdXRJbnRlcmZhY2UsXG59IGZyb20gJy4uL2NvcmUvY2xpZW50LWVudmlyb25tZW50JztcbmltcG9ydCB7XG4gIHRocm93R3Jhbml0ZU1lbnVJbnZhbGlkUG9zaXRpb25YLFxuICB0aHJvd0dyYW5pdGVNZW51SW52YWxpZFBvc2l0aW9uWSxcbn0gZnJvbSAnLi9tZW51LWVycm9ycyc7XG5pbXBvcnQgeyBHcmFuaXRlTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21lbnUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2xvc2VkRXZlbnRUeXBlLCBHcmFuaXRlTWVudVBhbmVsSW50ZXJmYWNlIH0gZnJvbSAnLi9tZW51LXBhbmVsJztcbmltcG9ydCB7IE1lbnVQb3NpdGlvblgsIE1lbnVQb3NpdGlvblkgfSBmcm9tICcuL21lbnUtcG9zaXRpb25zJztcblxuLyoqIENvdW50ZXIgZm9yIHBhbmVsIElEIGdlbmVyYXRpb24gKi9cbmxldCBtZW51UGFuZWxVaWQgPSAwO1xuXG4vKiogTWVudSBwYW5lbCBhbmltYXRpb24gc3RhdGVzICovXG50eXBlIFRyYW5zZm9ybU1lbnVTdGF0ZXMgPVxuICAvLyBUb3VjaCBkZXZpY2VcbiAgfCAndm9pZCdcbiAgfCAnZW50ZXInXG4gIHwgJ2VudGVyLWZyb20tYmVsb3cnXG4gIHwgJ2JlbG93LXdpdGgtZGVsYXknXG4gIHwgJ2JlbG93J1xuICB8ICdwYW4nXG4gIHwgJ2hpZGUnXG4gIHwgJ3Bhbi1oaWRkZW4nO1xuXG4vKipcbiAqIE1lbnUgcGFuZWwgYW5pbWF0aW9uIHRyYW5zZm9ybS9zdGF0ZSBvYmplY3QuIEhhcyB0byBiZSBhbiBvYmplY3QgYXMgd2Ugc3VwcGx5XG4gKiB0aGUgYHhPZmZzZXRgIHBhcmFtZXRlciBhbmQgbm90IGp1c3QgdGhlIHN0YXRlIG5hbWUuXG4gKi9cbnR5cGUgVHJhbnNmb3JtTWVudSA9IHtcbiAgLyoqIEN1cnJlbnQgYW5pbWF0aW9uIHN0YXRlIG5hbWUgKi9cbiAgdmFsdWU6IFRyYW5zZm9ybU1lbnVTdGF0ZXM7XG4gIHBhcmFtczoge1xuICAgIC8qKiBIb3cgZmFyIHRoZSBtZW51IGhhcyBiZWVuIHBhbm5lZC9zd2lwZWQgYnkgdGhlIHVzZXIgKi9cbiAgICB4T2Zmc2V0OiBudW1iZXI7XG4gIH07XG59O1xuXG4vKiogTWVudSBwYW5lbCBhbmltYXRpb24gZGVmYXVsdCB0cmFuc2Zvcm0gdmFsdWVzICovXG5jb25zdCB0cmFuc2Zvcm1NZW51RGVmYXVsdDogVHJhbnNmb3JtTWVudSA9IHtcbiAgdmFsdWU6ICd2b2lkJyxcbiAgcGFyYW1zOiB7XG4gICAgeE9mZnNldDogMCxcbiAgfSxcbn07XG5cbi8qKiBCYXNlIGNsYXNzIHdpdGggYWxsIG9mIHRoZSBtZW51IGZ1bmN0aW9uYWxpdHkuICovXG5ARGlyZWN0aXZlKClcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIF9NZW51QmFzZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgICBHcmFuaXRlTWVudVBhbmVsSW50ZXJmYWNlXG57XG4gIC8qKiBQb3NpdGlvbiBvZiB0aGUgbWVudSBpbiB0aGUgWCBheGlzLiAqL1xuICBASW5wdXQoKVxuICBnZXQgeFBvc2l0aW9uKCk6IE1lbnVQb3NpdGlvblgge1xuICAgIHJldHVybiB0aGlzLl94UG9zaXRpb247XG4gIH1cbiAgc2V0IHhQb3NpdGlvbih2YWx1ZTogTWVudVBvc2l0aW9uWCkge1xuICAgIGlmICh2YWx1ZSAhPT0gJ2JlZm9yZScgJiYgdmFsdWUgIT09ICdhZnRlcicpIHtcbiAgICAgIHRocm93R3Jhbml0ZU1lbnVJbnZhbGlkUG9zaXRpb25YKCk7XG4gICAgfVxuICAgIHRoaXMuX3hQb3NpdGlvbiA9IHZhbHVlO1xuICB9XG5cbiAgLyoqIFBvc2l0aW9uIG9mIHRoZSBtZW51IGluIHRoZSBZIGF4aXMuICovXG4gIEBJbnB1dCgpXG4gIGdldCB5UG9zaXRpb24oKTogTWVudVBvc2l0aW9uWSB7XG4gICAgcmV0dXJuIHRoaXMuX3lQb3NpdGlvbjtcbiAgfVxuICBzZXQgeVBvc2l0aW9uKHZhbHVlOiBNZW51UG9zaXRpb25ZKSB7XG4gICAgaWYgKHZhbHVlICE9PSAnYWJvdmUnICYmIHZhbHVlICE9PSAnYmVsb3cnKSB7XG4gICAgICB0aHJvd0dyYW5pdGVNZW51SW52YWxpZFBvc2l0aW9uWSgpO1xuICAgIH1cbiAgICB0aGlzLl95UG9zaXRpb24gPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKiBPcHRpb25hbCB0b3VjaCBtZW51IHBhbmVsIHRpdGxlICovXG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRvdWNoIG1lbnUgY2xvc2UgYnV0dG9uIGxhYmVsLiBJZiBub3Qgc2V0LCBhbnkgbGFiZWwgc2V0IGJ5IHBhcmVudCB3aWxsXG4gICAqIGJlIHVzZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBjbG9zZUxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgb3Blbk9uSG92ZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKiBBbGwgaXRlbXMgaW5zaWRlIHRoZSBtZW51LiBJbmNsdWRlcyBpdGVtcyBuZXN0ZWQgaW5zaWRlIGFub3RoZXIgbWVudS4gKi9cbiAgQENvbnRlbnRDaGlsZHJlbihHcmFuaXRlTWVudUl0ZW1Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgX2FsbEl0ZW1zOiBRdWVyeUxpc3Q8R3Jhbml0ZU1lbnVJdGVtQ29tcG9uZW50PjtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBtZW51IGlzIGNsb3NlZFxuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGNsb3NlZDogRXZlbnRFbWl0dGVyPENsb3NlZEV2ZW50VHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFVzZWQgZm9yIGxvY2F0aW5nIHRoZSBwYW5lbCBpbiB0ZXN0cyBhbmQgc2V0dGluZyB0aGUgYXJpYS1jb250cm9sIGF0dHJpYnV0ZVxuICAgKiBmb3IgdGhlIG1lbnUgdHJpZ2dlci5cbiAgICovXG4gIHJlYWRvbmx5IHBhbmVsSWQgPSBgZ3Jhbml0ZS1tZW51LXBhbmVsLSR7bWVudVBhbmVsVWlkKyt9YDtcblxuICAvKiogUGFyZW50IG1lbnUgb2YgdGhlIGN1cnJlbnQgbWVudSBwYW5lbC4gKi9cbiAgcGFyZW50TWVudTogR3Jhbml0ZU1lbnVQYW5lbEludGVyZmFjZSB8IHVuZGVmaW5lZDtcblxuICAvKiogTGF5b3V0IGRpcmVjdGlvbiBvZiB0aGUgbWVudS4gKi9cbiAgZGlyZWN0aW9uOiBEaXJlY3Rpb247XG5cbiAgLyoqIFdoZXRoZXIgdG8gc2hvdyBiYWNrIGJ1dHRvbiBpbiB0b3VjaCBtZW51IHRpdGxlIGJhciAqL1xuICBzaG93QmFja0J1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgdG91Y2ggbWVudSB0aXRsZSBiYXIgKi9cbiAgc2hvd1RpdGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdG8gYWRkIGEgY2xvc2UgYnV0dG9uIGJlbG93IHRoZSBtZW51ICovXG4gIHNob3dDbG9zZUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBPYnNlcnZhYmxlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHBhbmVsIGFuaW1hdGlvbi4gKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMvbm8tZXhwb3NlZC1zdWJqZWN0c1xuICBfdHJhbnNmb3JtTWVudTogQmVoYXZpb3JTdWJqZWN0PFRyYW5zZm9ybU1lbnU+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICB0cmFuc2Zvcm1NZW51RGVmYXVsdFxuICApO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciBhbiBhbmltYXRpb24gb24gdGhlIG1lbnUgY29tcGxldGVzLiAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy9uby1leHBvc2VkLXN1YmplY3RzXG4gIF9hbmltYXRpb25Eb25lID0gbmV3IFN1YmplY3Q8QW5pbWF0aW9uRXZlbnQ+KCk7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIG1lbnUgaXMgYW5pbWF0aW5nLiAqL1xuICBfaXNBbmltYXRpbmc6IGJvb2xlYW47XG5cbiAgLyoqIFdoZXRoZXIgdGhlIG1lbnUgaXMgYWJvdXQgdG8gYmUgZGVzdHJveWVkLiAqL1xuICBfaXNDbG9zaW5nOiBib29sZWFuO1xuXG4gIC8qKiBDbGllbnQgaW5wdXQgZGV2aWNlIGluZm9ybWF0aW9uICovXG4gIF9jbGllbnRJbnB1dDogQ2xpZW50SW5wdXRJbnRlcmZhY2U7XG5cbiAgLyoqIENsaWVudCBvdXRwdXQgZGV2aWNlIGluZm9ybWF0aW9uICovXG4gIF9jbGllbnRPdXRwdXQ6IENsaWVudE91dHB1dEludGVyZmFjZTtcblxuICBwcml2YXRlIF9tZW51RW1wdHkkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgX2lzTWVudUVtcHR5JDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX21lbnVFbXB0eSQsXG4gICAgdGhpcy5fYW5pbWF0aW9uRG9uZSxcbiAgXSkucGlwZShcbiAgICBmaWx0ZXIoKFttLCBhXSkgPT4gbSAmJiBhICE9IG51bGwpLFxuICAgIG1hcCgoKSA9PiB0cnVlKVxuICApO1xuXG4gIC8qKiBPbmx5IHRoZSBkaXJlY3QgZGVzY2VuZGFudCBtZW51IGl0ZW1zLiAqL1xuICBwcml2YXRlIF9kaXJlY3REZXNjZW5kYW50SXRlbXMgPSBuZXcgUXVlcnlMaXN0PEdyYW5pdGVNZW51SXRlbUNvbXBvbmVudD4oKTtcblxuICBwcml2YXRlIF9rZXlNYW5hZ2VyOiBGb2N1c0tleU1hbmFnZXI8R3Jhbml0ZU1lbnVJdGVtQ29tcG9uZW50PjtcblxuICAvKiogU3Vic2NyaXB0aW9uIHRvIHRhYiBldmVudHMgb24gdGhlIG1lbnUgcGFuZWwgKi9cbiAgcHJpdmF0ZSBfdGFiU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gIHByaXZhdGUgX3hQb3NpdGlvbjogTWVudVBvc2l0aW9uWCA9ICdhZnRlcic7XG4gIHByaXZhdGUgX3lQb3NpdGlvbjogTWVudVBvc2l0aW9uWSA9ICdiZWxvdyc7XG5cbiAgLyoqIEN1cnJlbnQgc3RhdGUgb2YgdGhlIHBhbmVsIGFuaW1hdGlvbi4gKi9cbiAgc2V0IF9wYW5lbEFuaW1hdGlvblN0YXRlKHN0YXRlOiBUcmFuc2Zvcm1NZW51U3RhdGVzKSB7XG4gICAgdGhpcy5fdHJhbnNmb3JtTWVudS5uZXh0KHtcbiAgICAgIHZhbHVlOiBzdGF0ZSxcbiAgICAgIHBhcmFtczogeyB4T2Zmc2V0OiB0aGlzLnhPZmZzZXQgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDdXJyZW50IGhvcml6b250YWwgb2Zmc2V0LiBVc2VkIHdpdGggYHBhbmAgYW5kIGBwYW4taGlkZGVuYFxuICAgKiBhbmltYXRpb24gc3RhdGVzLlxuICAgKi9cbiAgcHJpdmF0ZSB4T2Zmc2V0OiBudW1iZXIgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVudUVtcHR5JC5uZXh0KHRoaXMuX2FsbEl0ZW1zLmxlbmd0aCA8IDEgPyB0cnVlIDogZmFsc2UpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZURpcmVjdERlc2NlbmRhbnRzKCk7XG4gICAgdGhpcy5fa2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5fZGlyZWN0RGVzY2VuZGFudEl0ZW1zKVxuICAgICAgLndpdGhXcmFwKClcbiAgICAgIC5za2lwUHJlZGljYXRlKChtZW51SXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQgPSBtZW51SXRlbS5fZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICAgICAgcmV0dXJuIGhvc3RFbGVtZW50IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnRcbiAgICAgICAgICA/IGhvc3RFbGVtZW50LmRpc2FibGVkXG4gICAgICAgICAgOiBob3N0RWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2dyYW5pdGVUaXRsZScpO1xuICAgICAgfSk7XG4gICAgdGhpcy5fdGFiU3Vic2NyaXB0aW9uID0gdGhpcy5fa2V5TWFuYWdlci50YWJPdXQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ3RhYicpO1xuICAgIH0pO1xuXG4gICAgLy8gSWYgYSB1c2VyIG1hbnVhbGx5IChwcm9ncmFtYXRpY2FsbHkpIGZvY3VzZXMgYSBtZW51IGl0ZW0sIHdlIG5lZWQgdG8gcmVmbGVjdCB0aGF0IGZvY3VzXG4gICAgLy8gY2hhbmdlIGJhY2sgdG8gdGhlIGtleSBtYW5hZ2VyLiBOb3RlIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byB1bnN1YnNjcmliZSBoZXJlIGJlY2F1c2UgX2ZvY3VzZWRcbiAgICAvLyBpcyBpbnRlcm5hbCBhbmQgd2Uga25vdyB0aGF0IGl0IGdldHMgY29tcGxldGVkIG9uIGRlc3Ryb3kuXG4gICAgdGhpcy5fZGlyZWN0RGVzY2VuZGFudEl0ZW1zLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5fZGlyZWN0RGVzY2VuZGFudEl0ZW1zKSxcbiAgICAgICAgc3dpdGNoTWFwKChpdGVtcykgPT5cbiAgICAgICAgICBtZXJnZTxHcmFuaXRlTWVudUl0ZW1Db21wb25lbnQ+KFxuICAgICAgICAgICAgLi4uaXRlbXMubWFwKChpdGVtOiBHcmFuaXRlTWVudUl0ZW1Db21wb25lbnQpID0+IGl0ZW0uX2ZvY3VzZWQpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChmb2N1c2VkSXRlbSkgPT5cbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGZvY3VzZWRJdGVtKVxuICAgICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2RpcmVjdERlc2NlbmRhbnRJdGVtcy5kZXN0cm95KCk7XG4gICAgdGhpcy5fdGFiU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5jbG9zZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJlYW0gdGhhdCBjb21iaW5lcyB0aGUgYF9ob3ZlcmVkYCBvYnNlcnZhYmxlcyBvZiBhbGwgdGhlIG1lbnUncyBpdGVtc1xuICAgKiBpbnRvIGEgc2luZ2xlIG9ic2VydmFibGUuIEVtaXRzIHdoZW5ldmVyIHRoZSBob3ZlcmVkIG1lbnUgaXRlbSBjaGFuZ2VzLlxuICAgKi9cbiAgX2hvdmVyZWQoKTogT2JzZXJ2YWJsZTxHcmFuaXRlTWVudUl0ZW1Db21wb25lbnQ+IHtcbiAgICAvLyBDb2VyY2UgdGhlIGBjaGFuZ2VzYCBwcm9wZXJ0eSBiZWNhdXNlIEFuZ3VsYXIgdHlwZXMgaXQgYXMgYE9ic2VydmFibGU8YW55PmBcbiAgICBjb25zdCBpdGVtQ2hhbmdlcyA9IHRoaXMuX2RpcmVjdERlc2NlbmRhbnRJdGVtcy5jaGFuZ2VzIGFzIE9ic2VydmFibGU8XG4gICAgICBRdWVyeUxpc3Q8R3Jhbml0ZU1lbnVJdGVtQ29tcG9uZW50PlxuICAgID47XG5cbiAgICByZXR1cm4gaXRlbUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLl9kaXJlY3REZXNjZW5kYW50SXRlbXMpLFxuICAgICAgLy8gSG92ZXJpbmcgaXMgbm90IGFwcGxpY2FibGUgd2hlbiBwcm9kdWNpbmcgdG91Y2ggb3V0cHV0XG4gICAgICBmaWx0ZXIoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2xpZW50T3V0cHV0Py5kZXZpY2UgIT09ICd0b3VjaCc7XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoaXRlbXMpID0+XG4gICAgICAgIG1lcmdlKC4uLml0ZW1zLm1hcCgoaXRlbTogR3Jhbml0ZU1lbnVJdGVtQ29tcG9uZW50KSA9PiBpdGVtLl9ob3ZlcmVkKSlcbiAgICAgIClcbiAgICApIGFzIE9ic2VydmFibGU8R3Jhbml0ZU1lbnVJdGVtQ29tcG9uZW50PjtcbiAgfVxuXG4gIC8qKiBIYW5kbGUgYSBrZXlib2FyZCBldmVudCBmcm9tIHRoZSBtZW51LCBkZWxlZ2F0aW5nIHRvIHRoZSBhcHByb3ByaWF0ZSBhY3Rpb24uICovXG4gIF9oYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xuICAgIGNvbnN0IG1hbmFnZXIgPSB0aGlzLl9rZXlNYW5hZ2VyO1xuXG4gICAgc3dpdGNoIChrZXkpIHtcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIGlmICghaGFzTW9kaWZpZXJLZXkoZXZlbnQpKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KCdrZXlkb3duJyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICBpZiAodGhpcy5wYXJlbnRNZW51ICYmIHRoaXMuZGlyZWN0aW9uID09PSAnbHRyJykge1xuICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2tleWRvd24nKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICBpZiAodGhpcy5wYXJlbnRNZW51ICYmIHRoaXMuZGlyZWN0aW9uID09PSAncnRsJykge1xuICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2tleWRvd24nKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0hvbWUnOlxuICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgaWYgKCFoYXNNb2RpZmllcktleShldmVudCkpIHtcbiAgICAgICAgICBrZXkgPT09ICdIb21lJ1xuICAgICAgICAgICAgPyBtYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpXG4gICAgICAgICAgICA6IG1hbmFnZXIuc2V0TGFzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKGtleSA9PT0gJ0Fycm93VXAnIHx8IGtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgICAgICBtYW5hZ2VyLnNldEZvY3VzT3JpZ2luKCdrZXlib2FyZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgbWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1cyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbWVudS5cbiAgICogQHBhcmFtIG9yaWdpbiBBY3Rpb24gZnJvbSB3aGljaCB0aGUgZm9jdXMgb3JpZ2luYXRlZC4gVXNlZCB0byBzZXQgdGhlIGNvcnJlY3Qgc3R5bGluZy5cbiAgICovXG4gIGZvY3VzRmlyc3RJdGVtKG9yaWdpbjogRm9jdXNPcmlnaW4gPSAncHJvZ3JhbScpOiB2b2lkIHtcbiAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldEZvY3VzT3JpZ2luKG9yaWdpbikuc2V0Rmlyc3RJdGVtQWN0aXZlKCk7XG4gIH1cblxuICAvKiogVXBkYXRlcyB0aGUgYHNob3dUaXRsZWAgcHJvcGVydHkgZm9yIHRvdWNoIGRldmljZSBVSSAqL1xuICBfdXBkYXRlU2hvd1RpdGxlKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1RpdGxlID0gISF0aGlzLnRpdGxlIHx8IHRoaXMuc2hvd0JhY2tCdXR0b247XG4gIH1cblxuICAvKiogU3RhcnRzIHRoZSBlbnRlciBhbmltYXRpb24gKi9cbiAgX3N0YXJ0QW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhbmVsQW5pbWF0aW9uU3RhdGUgPSAnZW50ZXInO1xuICB9XG5cbiAgLyoqIFJlc2V0cyB0aGUgcGFuZWwgYW5pbWF0aW9uIHRvIGl0cyBpbml0aWFsIHN0YXRlLiAqL1xuICBfcmVzZXRBbmltYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fcGFuZWxBbmltYXRpb25TdGF0ZSA9ICd2b2lkJztcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgdGhlICdiZWxvdycgYW5pbWF0aW9uLCBtb3ZpbmcgYSBtZW51IGRvd24sIG91dCBvZiB2aWV3IGJlbG93IHRoZVxuICAgKiB2aWV3cG9ydC4gVXNlZCB0byBjbG9zZSB0aGUgd2hvbGUgbWVudSwgZm9yIGV4YW1wbGUgd2hlbiBjbGlja2luZ1xuICAgKiB0aGUgYmFja2Ryb3AuXG4gICAqL1xuICBfc3RhcnRUb3VjaENsb3NlRG93bkFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9wYW5lbEFuaW1hdGlvblN0YXRlID0gJ2JlbG93JztcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgdGhlICdiZWxvdy13aXRoLWRlbGF5JyBhbmltYXRpb24sIG1vdmluZyBhIG1lbnUgZG93biwgb3V0IG9mIHZpZXcgYmVsb3cgdGhlXG4gICAqIHZpZXdwb3J0LiBVc2VkIHRvIGNsb3NlIHRoZSB3aG9sZSBtZW51IGFzIGEgcmVzcG9uc2UgdG8gdGhlIHVzZXIgdGFwcGluZ1xuICAgKiBhIG1lbnUgaXRlbS4gVGhlcmUgaXMgYSBzaG9ydCBkZWxheSBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMsIHRvIHRoYXRcbiAgICogdGhlIHVzZXIgZ2V0cyBhIHZpc3VhbCBmZWVkYmFjayBvbiB3aGF0IGl0ZW0gd2FzIHNlbGVjdGVkLlxuICAgKi9cbiAgX3N0YXJ0VG91Y2hDbG9zZURvd25BbmltYXRpb25XaXRoRGVsYXkoKTogdm9pZCB7XG4gICAgdGhpcy5fcGFuZWxBbmltYXRpb25TdGF0ZSA9ICdiZWxvdy13aXRoLWRlbGF5JztcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgdGhlICd2b2lkJyBhbmltYXRpb24sIG1vdmluZyBhIChzdWIpIG1lbnUgb3V0IG9mIHZpZXcgdG8gdGhlIHNpZGVcbiAgICogb2YgdGhlIHZpZXdwb3J0LiBVc2VkIHdoZW4gZ29pbmcgXCJiYWNrXCIgZnJvbSBhIHN1YiBtZW51LlxuICAgKi9cbiAgX3N0YXJ0VG91Y2hDbG9zZVNpZGVBbmltYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzZXRBbmltYXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgdGhlIGVudGVyLWZyb20tYmVsb3cgYW5pbWF0aW9uLCBtb3ZpbmcgYSAocm9vdCkgbWVudSBpbnRvIHZpZXcsXG4gICAqIEFuaW1hdGVzIHVwd2FyZHMgZnJvbSBhIHN0YXJ0aW5nIHBvc2l0aW9uIGJlbG93IHRoZSB2aWV3cG9ydC5cbiAgICovXG4gIF9zdGFydFRvdWNoUm9vdEVudGVyQW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhbmVsQW5pbWF0aW9uU3RhdGUgPSAnZW50ZXItZnJvbS1iZWxvdyc7XG4gICAgdGhpcy54T2Zmc2V0ID0gMDtcbiAgfVxuXG4gIC8qKiBTdGFydHMgdGhlIGVudGVyIGFuaW1hdGlvbiwgbW92aW5nIGEgKHN1YikgbWVudSBpbnRvIHZpZXcuICovXG4gIF9zdGFydFRvdWNoU3VibWVudUVudGVyQW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhbmVsQW5pbWF0aW9uU3RhdGUgPSAnZW50ZXInO1xuICAgIHRoaXMueE9mZnNldCA9IDA7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnRzIHRoZSBwYW4gYW5pbWF0aW9uLCB0byBwb3NpdGlvbiBhIHN1Ym1lbnUgaW4gYSByZXNwb25zZVxuICAgKiB0byB1c2VyIGRyYWdnaW5nIHNpZGV3YXlzIChwYW5uaW5nKS5cbiAgICovXG4gIF9zdGFydFRvdWNoUGFuQW5pbWF0aW9uKHhPZmZzZXQ6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX3BhbmVsQW5pbWF0aW9uU3RhdGUgPSAncGFuJztcbiAgICB0aGlzLnhPZmZzZXQgPSB4T2Zmc2V0O1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0cyB0aGUgcGFuLWhpZGRlbiBhbmltYXRpb24sIHRvIHBvc2l0aW9uIGEgcGFyZW50IG1lbnUgbmV4dCB0byBhblxuICAgKiBhY3RpdmUgc3VibWVudSB0aGF0IHRoZSB1c2VyIGlzIGRyYWdnaW5nIHNpZGV3YXlzIChwYW5uaW5nKS5cbiAgICovXG4gIF9zdGFydFRvdWNoSGlkZVBhbkFuaW1hdGlvbih4T2Zmc2V0OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9wYW5lbEFuaW1hdGlvblN0YXRlID0gJ3Bhbi1oaWRkZW4nO1xuICAgIHRoaXMueE9mZnNldCA9IHhPZmZzZXQ7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnRzIHRoZSBoaWRlIGFuaW1hdGlvbiwgdG8gbWFrZSBhIHBhcmVudCBtZW51IHNsaWRlIG91dCB0byBsZWF2ZVxuICAgKiBzcGFjZSBmb3IgYSBzdWJtZW51LlxuICAgKi9cbiAgX3N0YXJ0VG91Y2hIaWRlQW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhbmVsQW5pbWF0aW9uU3RhdGUgPSAnaGlkZSc7XG4gICAgdGhpcy54T2Zmc2V0ID0gMDtcbiAgfVxuXG4gIC8qKiBDYWxsYmFjayB0aGF0IGlzIGludm9rZWQgd2hlbiB0aGUgcGFuZWwgYW5pbWF0aW9uIGNvbXBsZXRlcy4gKi9cbiAgX29uQW5pbWF0aW9uRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9hbmltYXRpb25Eb25lLm5leHQoZXZlbnQpO1xuICAgIHRoaXMuX2lzQW5pbWF0aW5nID0gZmFsc2U7XG4gIH1cblxuICBfb25BbmltYXRpb25TdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9pc0FuaW1hdGluZyA9IHRydWU7XG5cbiAgICAvLyBTY3JvbGwgdGhlIGNvbnRlbnQgZWxlbWVudCB0byB0aGUgdG9wIGFzIHNvb24gYXMgdGhlIGFuaW1hdGlvbiBzdGFydHMuIFRoaXMgaXMgbmVjZXNzYXJ5LFxuICAgIC8vIGJlY2F1c2Ugd2UgbW92ZSBmb2N1cyB0byB0aGUgZmlyc3QgaXRlbSB3aGlsZSBpdCdzIHN0aWxsIGJlaW5nIGFuaW1hdGVkLCB3aGljaCBjYW4gdGhyb3dcbiAgICAvLyB0aGUgYnJvd3NlciBvZmYgd2hlbiBpdCBkZXRlcm1pbmVzIHRoZSBzY3JvbGwgcG9zaXRpb24uIEFsdGVybmF0aXZlbHkgd2UgY2FuIG1vdmUgZm9jdXNcbiAgICAvLyB3aGVuIHRoZSBhbmltYXRpb24gaXMgZG9uZSwgaG93ZXZlciBtb3ZpbmcgZm9jdXMgYXN5bmNocm9ub3VzbHkgd2lsbCBpbnRlcnJ1cHQgc2NyZWVuXG4gICAgLy8gcmVhZGVycyB3aGljaCBhcmUgaW4gdGhlIHByb2Nlc3Mgb2YgcmVhZGluZyBvdXQgdGhlIG1lbnUgYWxyZWFkeS4gV2UgdGFrZSB0aGUgYGVsZW1lbnRgXG4gICAgLy8gZnJvbSB0aGUgYGV2ZW50YCBzaW5jZSB3ZSBjYW4ndCB1c2UgYSBgVmlld0NoaWxkYCB0byBhY2Nlc3MgdGhlIHBhbmUuXG4gICAgaWYgKFxuICAgICAgKGV2ZW50LnRvU3RhdGUgPT09ICdlbnRlcicgfHwgZXZlbnQudG9TdGF0ZSA9PT0gJ2VudGVyLWZyb20tYmVsb3cnKSAmJlxuICAgICAgdGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggPT09IDBcbiAgICApIHtcbiAgICAgIGV2ZW50LmVsZW1lbnQuc2Nyb2xsVG9wID0gMDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGNsaWNrIG9uIHRoZSBtZW51IGJ5IGVtaXR0aW5nIG9uIHRoZSBgY2xvc2VkYCBlbWl0dGVyXG4gICAqIHdpdGggYSBgY2xpY2tgIHJlYXNvblxuICAgKi9cbiAgX2hhbmRsZUNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2NsaWNrJyk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGNsaWNrIG9uIHRoZSBjbG9zZSBidXR0b24gYnkgZW1pdHRpbmcgb24gdGhlIGBjbG9zZWRgIGVtaXR0ZXJcbiAgICogd2l0aG91dCBhbnkgcGFydGljdWxhciByZWFzb25cbiAgICovXG4gIF9oYW5kbGVDbG9zZUNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgY2xpY2sgb24gdGhlIGJhY2sgaWNvbiBieSBlbWl0dGluZyBvbiB0aGUgYGNsaWNrZWRgIGVtaXR0ZXJcbiAgICovXG4gIF9oYW5kbGVCYWNrQ2xpY2soZTogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3dCYWNrQnV0dG9uKSB7XG4gICAgICAvLyBDbG9zZSBzdWJtZW51IGtleWRvd24tc3R5bGU6IGNsb3NlIG9ubHkgdGhpcyBtZW51IGFuZCBsZWF2ZSBwYXJlbnRzIG9wZW5cbiAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2tleWRvd24nKTtcbiAgICB9XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2xpZW50IGRldmljZSBpbmZvcm1hdGlvbiBmb3IgdGhlIG1lbnUgYW5kIGl0cyBtZW51IGl0ZW1zLlxuICAgKi9cbiAgX3NldERldmljZShcbiAgICBjbGllbnRJbnB1dDogQ2xpZW50SW5wdXRJbnRlcmZhY2UsXG4gICAgY2xpZW50T3V0cHV0OiBDbGllbnRPdXRwdXRJbnRlcmZhY2VcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5fY2xpZW50SW5wdXQgPSBjbGllbnRJbnB1dDtcbiAgICB0aGlzLl9jbGllbnRPdXRwdXQgPSBjbGllbnRPdXRwdXQ7XG5cbiAgICB0aGlzLl9kaXJlY3REZXNjZW5kYW50SXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5fY2xpZW50SW5wdXQgPSBjbGllbnRJbnB1dDtcbiAgICAgIGl0ZW0uX2NsaWVudE91dHB1dCA9IGNsaWVudE91dHB1dDtcbiAgICB9KTtcblxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgYWN0aXZlIGl0ZW0gaW4gdGhlIG1lbnUuIFRoaXMgaXMgdXNlZCB3aGVuIHRoZSBtZW51IGlzIG9wZW5lZCwgYWxsb3dpbmdcbiAgICogdGhlIHVzZXIgdG8gc3RhcnQgZnJvbSB0aGUgZmlyc3Qgb3B0aW9uIHdoZW4gcHJlc3NpbmcgdGhlIGRvd24gYXJyb3cuXG4gICAqL1xuICByZXNldEFjdGl2ZUl0ZW0oKTogdm9pZCB7XG4gICAgdGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKC0xKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVwIGEgc3RyZWFtIHRoYXQgd2lsbCBrZWVwIHRyYWNrIG9mIGFueSBuZXdseS1hZGRlZCBtZW51IGl0ZW1zIGFuZCB3aWxsIHVwZGF0ZSB0aGUgbGlzdFxuICAgKiBvZiBkaXJlY3QgZGVzY2VuZGFudHMuIFdlIGNvbGxlY3QgdGhlIGRlc2NlbmRhbnRzIHRoaXMgd2F5LCBiZWNhdXNlIGBfYWxsSXRlbXNgIGNhbiBpbmNsdWRlXG4gICAqIGl0ZW1zIHRoYXQgYXJlIHBhcnQgb2YgY2hpbGQgbWVudXMsIGFuZCB1c2luZyBhIGN1c3RvbSB3YXkgb2YgcmVnaXN0ZXJpbmcgaXRlbXMgaXMgdW5yZWxpYWJsZVxuICAgKiB3aGVuIGl0IGNvbWVzIHRvIG1haW50YWluaW5nIHRoZSBpdGVtIG9yZGVyLlxuICAgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlRGlyZWN0RGVzY2VuZGFudHMoKSB7XG4gICAgdGhpcy5fYWxsSXRlbXMuY2hhbmdlc1xuICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMuX2FsbEl0ZW1zKSlcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zOiBRdWVyeUxpc3Q8R3Jhbml0ZU1lbnVJdGVtQ29tcG9uZW50PikgPT4ge1xuICAgICAgICB0aGlzLl9kaXJlY3REZXNjZW5kYW50SXRlbXMucmVzZXQoXG4gICAgICAgICAgaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLl9wYXJlbnRNZW51ID09PSB0aGlzKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9kaXJlY3REZXNjZW5kYW50SXRlbXMubm90aWZ5T25DaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
347
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ncmFuaXRlLWNvbXBvbmVudHMvc3JjL2xpYi9tZW51L21lbnUtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBRWpFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixLQUFLLEVBRUwsT0FBTyxFQUNQLFlBQVksR0FDYixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU1uRSxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxHQUNqQyxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFJakUsc0NBQXNDO0FBQ3RDLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztBQTJCckIsb0RBQW9EO0FBQ3BELE1BQU0sb0JBQW9CLEdBQWtCO0lBQzFDLEtBQUssRUFBRSxNQUFNO0lBQ2IsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFLENBQUM7S0FDWDtDQUNGLENBQUM7QUFFRixxREFBcUQ7QUFFckQsa0VBQWtFO0FBQ2xFLE1BQU0sT0FBTyxrQkFBa0I7SUFPN0IsMENBQTBDO0lBQzFDLElBQ0ksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBb0I7UUFDaEMsSUFBSSxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxPQUFPLEVBQUU7WUFDM0MsZ0NBQWdDLEVBQUUsQ0FBQztTQUNwQztRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLEtBQUssS0FBSyxPQUFPLElBQUksS0FBSyxLQUFLLE9BQU8sRUFBRTtZQUMxQyxnQ0FBZ0MsRUFBRSxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQTJGRCw0Q0FBNEM7SUFDNUMsSUFBSSxvQkFBb0IsQ0FBQyxLQUEwQjtRQUNqRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztZQUN2QixLQUFLLEVBQUUsS0FBSztZQUNaLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFRRCxZQUFvQixrQkFBcUM7UUFBckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQTNGekQsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFRNUI7O1dBRUc7UUFDZ0IsV0FBTSxHQUFrQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTlFOzs7V0FHRztRQUNNLFlBQU8sR0FBRyxzQkFBc0IsWUFBWSxFQUFFLEVBQUUsQ0FBQztRQVExRCwwREFBMEQ7UUFDMUQsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFFaEMsMkNBQTJDO1FBQzNDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFFM0IsbURBQW1EO1FBQ25ELG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBRWpDLHVEQUF1RDtRQUN2RCxvREFBb0Q7UUFDcEQsbUJBQWMsR0FBbUMsSUFBSSxlQUFlLENBQ2xFLG9CQUFvQixDQUNyQixDQUFDO1FBRUYseURBQXlEO1FBQ3pELG9EQUFvRDtRQUNwRCxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFrQixDQUFDO1FBY3ZDLGdCQUFXLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNFLDhEQUE4RDtRQUM5RCxrQkFBYSxHQUF3QixhQUFhLENBQUM7WUFDakQsSUFBSSxDQUFDLFdBQVc7WUFDaEIsSUFBSSxDQUFDLGNBQWM7U0FDcEIsQ0FBQyxDQUFDLElBQUksQ0FDTCxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsRUFDbEMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUNoQixDQUFDO1FBRUYsNkNBQTZDO1FBQ3JDLDJCQUFzQixHQUFHLElBQUksU0FBUyxFQUE0QixDQUFDO1FBSTNFLG1EQUFtRDtRQUMzQyxxQkFBZ0IsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBRXRDLGVBQVUsR0FBa0IsT0FBTyxDQUFDO1FBQ3BDLGVBQVUsR0FBa0IsT0FBTyxDQUFDO1FBVTVDOzs7V0FHRztRQUNLLFlBQU8sR0FBVyxDQUFDLENBQUM7SUFFZ0MsQ0FBQztJQUU3RCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUM7YUFDaEUsUUFBUSxFQUFFO2FBQ1YsYUFBYSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDMUIsTUFBTSxXQUFXLEdBQWdCLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1RCxPQUFPLFdBQVcsWUFBWSxpQkFBaUI7Z0JBQzdDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUTtnQkFDdEIsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILDBGQUEwRjtRQUMxRiwrRkFBK0Y7UUFDL0YsNkRBQTZEO1FBQzdELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPO2FBQ2hDLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQ3RDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ2xCLEtBQUssQ0FDSCxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUE4QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ2hFLENBQ0YsQ0FDRjthQUNBLFNBQVMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQy9DLENBQUM7SUFDTixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLDhFQUE4RTtRQUM5RSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FFL0MsQ0FBQztRQUVGLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FDckIsU0FBUyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztRQUN0Qyx5REFBeUQ7UUFDekQsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLEtBQUssT0FBTyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxFQUNGLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ2xCLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUE4QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDdkUsQ0FDc0MsQ0FBQztJQUM1QyxDQUFDO0lBRUQsbUZBQW1GO0lBQ25GLGNBQWMsQ0FBQyxLQUFvQjtRQUNqQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFakMsUUFBUSxHQUFHLEVBQUU7WUFDWCxLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDMUIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDN0I7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssV0FBVztnQkFDZCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLEVBQUU7b0JBQy9DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUM3QjtnQkFDRCxNQUFNO1lBQ1IsS0FBSyxZQUFZO2dCQUNmLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLEtBQUssRUFBRTtvQkFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7aUJBQzdCO2dCQUNELE1BQU07WUFDUixLQUFLLE1BQU0sQ0FBQztZQUNaLEtBQUssS0FBSztnQkFDUixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUMxQixHQUFHLEtBQUssTUFBTTt3QkFDWixDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFO3dCQUM5QixDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUM7b0JBQ2hDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztpQkFDeEI7Z0JBQ0QsTUFBTTtZQUNSO2dCQUNFLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssV0FBVyxFQUFFO29CQUM1QyxPQUFPLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUNwQztnQkFFRCxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsQ0FBQyxTQUFzQixTQUFTO1FBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDL0QsQ0FBQztJQUVELDJEQUEyRDtJQUMzRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDdkQsQ0FBQztJQUVELGlDQUFpQztJQUNqQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQztJQUN0QyxDQUFDO0lBRUQsdURBQXVEO0lBQ3ZELGVBQWU7UUFDYixJQUFJLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsNkJBQTZCO1FBQzNCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsc0NBQXNDO1FBQ3BDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxrQkFBa0IsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsNkJBQTZCO1FBQzNCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsNkJBQTZCO1FBQzNCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxrQkFBa0IsQ0FBQztRQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsaUVBQWlFO0lBQ2pFLGdDQUFnQztRQUM5QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsT0FBTyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7O09BR0c7SUFDSCx1QkFBdUIsQ0FBQyxPQUFlO1FBQ3JDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7T0FHRztJQUNILDJCQUEyQixDQUFDLE9BQWU7UUFDekMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFlBQVksQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsd0JBQXdCO1FBQ3RCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxnQkFBZ0IsQ0FBQyxLQUFxQjtRQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBcUI7UUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFekIsNEZBQTRGO1FBQzVGLDJGQUEyRjtRQUMzRiwwRkFBMEY7UUFDMUYsd0ZBQXdGO1FBQ3hGLDBGQUEwRjtRQUMxRix3RUFBd0U7UUFDeEUsSUFDRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssa0JBQWtCLENBQUM7WUFDbkUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEtBQUssQ0FBQyxFQUN0QztZQUNBLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGlCQUFpQjtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0JBQWdCLENBQUMsQ0FBYTtRQUM1QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsMkVBQTJFO1lBQzNFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVUsQ0FDUixXQUFpQyxFQUNqQyxZQUFtQztRQUVuQyxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUVsQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7WUFDaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNILGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU87YUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDL0IsU0FBUyxDQUFDLENBQUMsS0FBMEMsRUFBRSxFQUFFO1lBQ3hELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQy9CLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLENBQ2xELENBQUM7WUFDRixJQUFJLENBQUMsc0JBQXNCLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQXRhVSxrQkFBa0I7bUdBQWxCLGtCQUFrQixxTkFnRFosd0JBQXdCLDZGQUg5QixXQUFXOzs0RkE3Q1gsa0JBQWtCO2tCQUY5QixTQUFTO3dHQVdKLFNBQVM7c0JBRFosS0FBSztnQkFhRixTQUFTO3NCQURaLEtBQUs7Z0JBYU4sS0FBSztzQkFESixLQUFLO2dCQVFOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixXQUFXO3NCQURWLEtBQUs7Z0JBR2tCLFdBQVc7c0JBQWxDLFNBQVM7dUJBQUMsV0FBVztnQkFJdEIsU0FBUztzQkFEUixlQUFlO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFNN0MsTUFBTTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyQ29udGVudENoZWNrZWQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIERpcmVjdGl2ZSxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb2N1c0tleU1hbmFnZXIsIEZvY3VzT3JpZ2luIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgaGFzTW9kaWZpZXJLZXkgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7XG4gIEJlaGF2aW9yU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCxcbiAgbWVyZ2UsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIFN1YnNjcmlwdGlvbixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgc3RhcnRXaXRoLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIENsaWVudElucHV0SW50ZXJmYWNlLFxuICBDbGllbnRPdXRwdXRJbnRlcmZhY2UsXG59IGZyb20gJy4uL2NvcmUvY2xpZW50LWVudmlyb25tZW50JztcbmltcG9ydCB7XG4gIHRocm93R3Jhbml0ZU1lbnVJbnZhbGlkUG9zaXRpb25YLFxuICB0aHJvd0dyYW5pdGVNZW51SW52YWxpZFBvc2l0aW9uWSxcbn0gZnJvbSAnLi9tZW51LWVycm9ycyc7XG5pbXBvcnQgeyBHcmFuaXRlTWVudUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL21lbnUtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ2xvc2VkRXZlbnRUeXBlLCBHcmFuaXRlTWVudVBhbmVsSW50ZXJmYWNlIH0gZnJvbSAnLi9tZW51LXBhbmVsJztcbmltcG9ydCB7IE1lbnVQb3NpdGlvblgsIE1lbnVQb3NpdGlvblkgfSBmcm9tICcuL21lbnUtcG9zaXRpb25zJztcblxuLyoqIENvdW50ZXIgZm9yIHBhbmVsIElEIGdlbmVyYXRpb24gKi9cbmxldCBtZW51UGFuZWxVaWQgPSAwO1xuXG4vKiogTWVudSBwYW5lbCBhbmltYXRpb24gc3RhdGVzICovXG50eXBlIFRyYW5zZm9ybU1lbnVTdGF0ZXMgPVxuICAvLyBUb3VjaCBkZXZpY2VcbiAgfCAndm9pZCdcbiAgfCAnZW50ZXInXG4gIHwgJ2VudGVyLWZyb20tYmVsb3cnXG4gIHwgJ2JlbG93LXdpdGgtZGVsYXknXG4gIHwgJ2JlbG93J1xuICB8ICdwYW4nXG4gIHwgJ2hpZGUnXG4gIHwgJ3Bhbi1oaWRkZW4nO1xuXG4vKipcbiAqIE1lbnUgcGFuZWwgYW5pbWF0aW9uIHRyYW5zZm9ybS9zdGF0ZSBvYmplY3QuIEhhcyB0byBiZSBhbiBvYmplY3QgYXMgd2Ugc3VwcGx5XG4gKiB0aGUgYHhPZmZzZXRgIHBhcmFtZXRlciBhbmQgbm90IGp1c3QgdGhlIHN0YXRlIG5hbWUuXG4gKi9cbnR5cGUgVHJhbnNmb3JtTWVudSA9IHtcbiAgLyoqIEN1cnJlbnQgYW5pbWF0aW9uIHN0YXRlIG5hbWUgKi9cbiAgdmFsdWU6IFRyYW5zZm9ybU1lbnVTdGF0ZXM7XG4gIHBhcmFtczoge1xuICAgIC8qKiBIb3cgZmFyIHRoZSBtZW51IGhhcyBiZWVuIHBhbm5lZC9zd2lwZWQgYnkgdGhlIHVzZXIgKi9cbiAgICB4T2Zmc2V0OiBudW1iZXI7XG4gIH07XG59O1xuXG4vKiogTWVudSBwYW5lbCBhbmltYXRpb24gZGVmYXVsdCB0cmFuc2Zvcm0gdmFsdWVzICovXG5jb25zdCB0cmFuc2Zvcm1NZW51RGVmYXVsdDogVHJhbnNmb3JtTWVudSA9IHtcbiAgdmFsdWU6ICd2b2lkJyxcbiAgcGFyYW1zOiB7XG4gICAgeE9mZnNldDogMCxcbiAgfSxcbn07XG5cbi8qKiBCYXNlIGNsYXNzIHdpdGggYWxsIG9mIHRoZSBtZW51IGZ1bmN0aW9uYWxpdHkuICovXG5ARGlyZWN0aXZlKClcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxuZXhwb3J0IGNsYXNzIF9NZW51QmFzZUNvbXBvbmVudFxuICBpbXBsZW1lbnRzXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgICBHcmFuaXRlTWVudVBhbmVsSW50ZXJmYWNlXG57XG4gIC8qKiBQb3NpdGlvbiBvZiB0aGUgbWVudSBpbiB0aGUgWCBheGlzLiAqL1xuICBASW5wdXQoKVxuICBnZXQgeFBvc2l0aW9uKCk6IE1lbnVQb3NpdGlvblgge1xuICAgIHJldHVybiB0aGlzLl94UG9zaXRpb247XG4gIH1cbiAgc2V0IHhQb3NpdGlvbih2YWx1ZTogTWVudVBvc2l0aW9uWCkge1xuICAgIGlmICh2YWx1ZSAhPT0gJ2JlZm9yZScgJiYgdmFsdWUgIT09ICdhZnRlcicpIHtcbiAgICAgIHRocm93R3Jhbml0ZU1lbnVJbnZhbGlkUG9zaXRpb25YKCk7XG4gICAgfVxuICAgIHRoaXMuX3hQb3NpdGlvbiA9IHZhbHVlO1xuICB9XG5cbiAgLyoqIFBvc2l0aW9uIG9mIHRoZSBtZW51IGluIHRoZSBZIGF4aXMuICovXG4gIEBJbnB1dCgpXG4gIGdldCB5UG9zaXRpb24oKTogTWVudVBvc2l0aW9uWSB7XG4gICAgcmV0dXJuIHRoaXMuX3lQb3NpdGlvbjtcbiAgfVxuICBzZXQgeVBvc2l0aW9uKHZhbHVlOiBNZW51UG9zaXRpb25ZKSB7XG4gICAgaWYgKHZhbHVlICE9PSAnYWJvdmUnICYmIHZhbHVlICE9PSAnYmVsb3cnKSB7XG4gICAgICB0aHJvd0dyYW5pdGVNZW51SW52YWxpZFBvc2l0aW9uWSgpO1xuICAgIH1cbiAgICB0aGlzLl95UG9zaXRpb24gPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKiBPcHRpb25hbCB0b3VjaCBtZW51IHBhbmVsIHRpdGxlICovXG4gIEBJbnB1dCgpXG4gIHRpdGxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRvdWNoIG1lbnUgY2xvc2UgYnV0dG9uIGxhYmVsLiBJZiBub3Qgc2V0LCBhbnkgbGFiZWwgc2V0IGJ5IHBhcmVudCB3aWxsXG4gICAqIGJlIHVzZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBjbG9zZUxhYmVsOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgb3Blbk9uSG92ZXI6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYpIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIC8qKiBBbGwgaXRlbXMgaW5zaWRlIHRoZSBtZW51LiBJbmNsdWRlcyBpdGVtcyBuZXN0ZWQgaW5zaWRlIGFub3RoZXIgbWVudS4gKi9cbiAgQENvbnRlbnRDaGlsZHJlbihHcmFuaXRlTWVudUl0ZW1Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgX2FsbEl0ZW1zOiBRdWVyeUxpc3Q8R3Jhbml0ZU1lbnVJdGVtQ29tcG9uZW50PjtcblxuICAvKipcbiAgICogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSBtZW51IGlzIGNsb3NlZFxuICAgKi9cbiAgQE91dHB1dCgpIHJlYWRvbmx5IGNsb3NlZDogRXZlbnRFbWl0dGVyPENsb3NlZEV2ZW50VHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFVzZWQgZm9yIGxvY2F0aW5nIHRoZSBwYW5lbCBpbiB0ZXN0cyBhbmQgc2V0dGluZyB0aGUgYXJpYS1jb250cm9sIGF0dHJpYnV0ZVxuICAgKiBmb3IgdGhlIG1lbnUgdHJpZ2dlci5cbiAgICovXG4gIHJlYWRvbmx5IHBhbmVsSWQgPSBgZ3Jhbml0ZS1tZW51LXBhbmVsLSR7bWVudVBhbmVsVWlkKyt9YDtcblxuICAvKiogUGFyZW50IG1lbnUgb2YgdGhlIGN1cnJlbnQgbWVudSBwYW5lbC4gKi9cbiAgcGFyZW50TWVudTogR3Jhbml0ZU1lbnVQYW5lbEludGVyZmFjZSB8IHVuZGVmaW5lZDtcblxuICAvKiogTGF5b3V0IGRpcmVjdGlvbiBvZiB0aGUgbWVudS4gKi9cbiAgZGlyZWN0aW9uOiBEaXJlY3Rpb247XG5cbiAgLyoqIFdoZXRoZXIgdG8gc2hvdyBiYWNrIGJ1dHRvbiBpbiB0b3VjaCBtZW51IHRpdGxlIGJhciAqL1xuICBzaG93QmFja0J1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgdG91Y2ggbWVudSB0aXRsZSBiYXIgKi9cbiAgc2hvd1RpdGxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdG8gYWRkIGEgY2xvc2UgYnV0dG9uIGJlbG93IHRoZSBtZW51ICovXG4gIHNob3dDbG9zZUJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKiBPYnNlcnZhYmxlIGN1cnJlbnQgc3RhdGUgb2YgdGhlIHBhbmVsIGFuaW1hdGlvbi4gKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJ4anMvbm8tZXhwb3NlZC1zdWJqZWN0c1xuICBfdHJhbnNmb3JtTWVudTogQmVoYXZpb3JTdWJqZWN0PFRyYW5zZm9ybU1lbnU+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChcbiAgICB0cmFuc2Zvcm1NZW51RGVmYXVsdFxuICApO1xuXG4gIC8qKiBFbWl0cyB3aGVuZXZlciBhbiBhbmltYXRpb24gb24gdGhlIG1lbnUgY29tcGxldGVzLiAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy9uby1leHBvc2VkLXN1YmplY3RzXG4gIF9hbmltYXRpb25Eb25lID0gbmV3IFN1YmplY3Q8QW5pbWF0aW9uRXZlbnQ+KCk7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIG1lbnUgaXMgYW5pbWF0aW5nLiAqL1xuICBfaXNBbmltYXRpbmc6IGJvb2xlYW47XG5cbiAgLyoqIFdoZXRoZXIgdGhlIG1lbnUgaXMgYWJvdXQgdG8gYmUgZGVzdHJveWVkLiAqL1xuICBfaXNDbG9zaW5nOiBib29sZWFuO1xuXG4gIC8qKiBDbGllbnQgaW5wdXQgZGV2aWNlIGluZm9ybWF0aW9uICovXG4gIF9jbGllbnRJbnB1dDogQ2xpZW50SW5wdXRJbnRlcmZhY2U7XG5cbiAgLyoqIENsaWVudCBvdXRwdXQgZGV2aWNlIGluZm9ybWF0aW9uICovXG4gIF9jbGllbnRPdXRwdXQ6IENsaWVudE91dHB1dEludGVyZmFjZTtcblxuICBwcml2YXRlIF9tZW51RW1wdHkkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgX2lzTWVudUVtcHR5JDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMuX21lbnVFbXB0eSQsXG4gICAgdGhpcy5fYW5pbWF0aW9uRG9uZSxcbiAgXSkucGlwZShcbiAgICBmaWx0ZXIoKFttLCBhXSkgPT4gbSAmJiBhICE9IG51bGwpLFxuICAgIG1hcCgoKSA9PiB0cnVlKVxuICApO1xuXG4gIC8qKiBPbmx5IHRoZSBkaXJlY3QgZGVzY2VuZGFudCBtZW51IGl0ZW1zLiAqL1xuICBwcml2YXRlIF9kaXJlY3REZXNjZW5kYW50SXRlbXMgPSBuZXcgUXVlcnlMaXN0PEdyYW5pdGVNZW51SXRlbUNvbXBvbmVudD4oKTtcblxuICBwcml2YXRlIF9rZXlNYW5hZ2VyOiBGb2N1c0tleU1hbmFnZXI8R3Jhbml0ZU1lbnVJdGVtQ29tcG9uZW50PjtcblxuICAvKiogU3Vic2NyaXB0aW9uIHRvIHRhYiBldmVudHMgb24gdGhlIG1lbnUgcGFuZWwgKi9cbiAgcHJpdmF0ZSBfdGFiU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gIHByaXZhdGUgX3hQb3NpdGlvbjogTWVudVBvc2l0aW9uWCA9ICdhZnRlcic7XG4gIHByaXZhdGUgX3lQb3NpdGlvbjogTWVudVBvc2l0aW9uWSA9ICdiZWxvdyc7XG5cbiAgLyoqIEN1cnJlbnQgc3RhdGUgb2YgdGhlIHBhbmVsIGFuaW1hdGlvbi4gKi9cbiAgc2V0IF9wYW5lbEFuaW1hdGlvblN0YXRlKHN0YXRlOiBUcmFuc2Zvcm1NZW51U3RhdGVzKSB7XG4gICAgdGhpcy5fdHJhbnNmb3JtTWVudS5uZXh0KHtcbiAgICAgIHZhbHVlOiBzdGF0ZSxcbiAgICAgIHBhcmFtczogeyB4T2Zmc2V0OiB0aGlzLnhPZmZzZXQgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDdXJyZW50IGhvcml6b250YWwgb2Zmc2V0LiBVc2VkIHdpdGggYHBhbmAgYW5kIGBwYW4taGlkZGVuYFxuICAgKiBhbmltYXRpb24gc3RhdGVzLlxuICAgKi9cbiAgcHJpdmF0ZSB4T2Zmc2V0OiBudW1iZXIgPSAwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVudUVtcHR5JC5uZXh0KHRoaXMuX2FsbEl0ZW1zLmxlbmd0aCA8IDEgPyB0cnVlIDogZmFsc2UpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZURpcmVjdERlc2NlbmRhbnRzKCk7XG4gICAgdGhpcy5fa2V5TWFuYWdlciA9IG5ldyBGb2N1c0tleU1hbmFnZXIodGhpcy5fZGlyZWN0RGVzY2VuZGFudEl0ZW1zKVxuICAgICAgLndpdGhXcmFwKClcbiAgICAgIC5za2lwUHJlZGljYXRlKChtZW51SXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQgPSBtZW51SXRlbS5fZ2V0SG9zdEVsZW1lbnQoKTtcbiAgICAgICAgcmV0dXJuIGhvc3RFbGVtZW50IGluc3RhbmNlb2YgSFRNTEJ1dHRvbkVsZW1lbnRcbiAgICAgICAgICA/IGhvc3RFbGVtZW50LmRpc2FibGVkXG4gICAgICAgICAgOiBob3N0RWxlbWVudC5oYXNBdHRyaWJ1dGUoJ2dyYW5pdGVUaXRsZScpO1xuICAgICAgfSk7XG4gICAgdGhpcy5fdGFiU3Vic2NyaXB0aW9uID0gdGhpcy5fa2V5TWFuYWdlci50YWJPdXQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ3RhYicpO1xuICAgIH0pO1xuXG4gICAgLy8gSWYgYSB1c2VyIG1hbnVhbGx5IChwcm9ncmFtYXRpY2FsbHkpIGZvY3VzZXMgYSBtZW51IGl0ZW0sIHdlIG5lZWQgdG8gcmVmbGVjdCB0aGF0IGZvY3VzXG4gICAgLy8gY2hhbmdlIGJhY2sgdG8gdGhlIGtleSBtYW5hZ2VyLiBOb3RlIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byB1bnN1YnNjcmliZSBoZXJlIGJlY2F1c2UgX2ZvY3VzZWRcbiAgICAvLyBpcyBpbnRlcm5hbCBhbmQgd2Uga25vdyB0aGF0IGl0IGdldHMgY29tcGxldGVkIG9uIGRlc3Ryb3kuXG4gICAgdGhpcy5fZGlyZWN0RGVzY2VuZGFudEl0ZW1zLmNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBzdGFydFdpdGgodGhpcy5fZGlyZWN0RGVzY2VuZGFudEl0ZW1zKSxcbiAgICAgICAgc3dpdGNoTWFwKChpdGVtcykgPT5cbiAgICAgICAgICBtZXJnZTxHcmFuaXRlTWVudUl0ZW1Db21wb25lbnQ+KFxuICAgICAgICAgICAgLi4uaXRlbXMubWFwKChpdGVtOiBHcmFuaXRlTWVudUl0ZW1Db21wb25lbnQpID0+IGl0ZW0uX2ZvY3VzZWQpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKChmb2N1c2VkSXRlbSkgPT5cbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGZvY3VzZWRJdGVtKVxuICAgICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2RpcmVjdERlc2NlbmRhbnRJdGVtcy5kZXN0cm95KCk7XG4gICAgdGhpcy5fdGFiU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5jbG9zZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJlYW0gdGhhdCBjb21iaW5lcyB0aGUgYF9ob3ZlcmVkYCBvYnNlcnZhYmxlcyBvZiBhbGwgdGhlIG1lbnUncyBpdGVtc1xuICAgKiBpbnRvIGEgc2luZ2xlIG9ic2VydmFibGUuIEVtaXRzIHdoZW5ldmVyIHRoZSBob3ZlcmVkIG1lbnUgaXRlbSBjaGFuZ2VzLlxuICAgKi9cbiAgX2hvdmVyZWQoKTogT2JzZXJ2YWJsZTxHcmFuaXRlTWVudUl0ZW1Db21wb25lbnQ+IHtcbiAgICAvLyBDb2VyY2UgdGhlIGBjaGFuZ2VzYCBwcm9wZXJ0eSBiZWNhdXNlIEFuZ3VsYXIgdHlwZXMgaXQgYXMgYE9ic2VydmFibGU8YW55PmBcbiAgICBjb25zdCBpdGVtQ2hhbmdlcyA9IHRoaXMuX2RpcmVjdERlc2NlbmRhbnRJdGVtcy5jaGFuZ2VzIGFzIE9ic2VydmFibGU8XG4gICAgICBRdWVyeUxpc3Q8R3Jhbml0ZU1lbnVJdGVtQ29tcG9uZW50PlxuICAgID47XG5cbiAgICByZXR1cm4gaXRlbUNoYW5nZXMucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLl9kaXJlY3REZXNjZW5kYW50SXRlbXMpLFxuICAgICAgLy8gSG92ZXJpbmcgaXMgbm90IGFwcGxpY2FibGUgd2hlbiBwcm9kdWNpbmcgdG91Y2ggb3V0cHV0XG4gICAgICBmaWx0ZXIoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2xpZW50T3V0cHV0Py5kZXZpY2UgIT09ICd0b3VjaCc7XG4gICAgICB9KSxcbiAgICAgIHN3aXRjaE1hcCgoaXRlbXMpID0+XG4gICAgICAgIG1lcmdlKC4uLml0ZW1zLm1hcCgoaXRlbTogR3Jhbml0ZU1lbnVJdGVtQ29tcG9uZW50KSA9PiBpdGVtLl9ob3ZlcmVkKSlcbiAgICAgIClcbiAgICApIGFzIE9ic2VydmFibGU8R3Jhbml0ZU1lbnVJdGVtQ29tcG9uZW50PjtcbiAgfVxuXG4gIC8qKiBIYW5kbGUgYSBrZXlib2FyZCBldmVudCBmcm9tIHRoZSBtZW51LCBkZWxlZ2F0aW5nIHRvIHRoZSBhcHByb3ByaWF0ZSBhY3Rpb24uICovXG4gIF9oYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3Qga2V5ID0gZXZlbnQua2V5O1xuICAgIGNvbnN0IG1hbmFnZXIgPSB0aGlzLl9rZXlNYW5hZ2VyO1xuXG4gICAgc3dpdGNoIChrZXkpIHtcbiAgICAgIGNhc2UgJ0VzY2FwZSc6XG4gICAgICAgIGlmICghaGFzTW9kaWZpZXJLZXkoZXZlbnQpKSB7XG4gICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KCdrZXlkb3duJyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICBpZiAodGhpcy5wYXJlbnRNZW51ICYmIHRoaXMuZGlyZWN0aW9uID09PSAnbHRyJykge1xuICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2tleWRvd24nKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0Fycm93UmlnaHQnOlxuICAgICAgICBpZiAodGhpcy5wYXJlbnRNZW51ICYmIHRoaXMuZGlyZWN0aW9uID09PSAncnRsJykge1xuICAgICAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2tleWRvd24nKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0hvbWUnOlxuICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgaWYgKCFoYXNNb2RpZmllcktleShldmVudCkpIHtcbiAgICAgICAgICBrZXkgPT09ICdIb21lJ1xuICAgICAgICAgICAgPyBtYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpXG4gICAgICAgICAgICA6IG1hbmFnZXIuc2V0TGFzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKGtleSA9PT0gJ0Fycm93VXAnIHx8IGtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgICAgICBtYW5hZ2VyLnNldEZvY3VzT3JpZ2luKCdrZXlib2FyZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgbWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGb2N1cyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbWVudS5cbiAgICogQHBhcmFtIG9yaWdpbiBBY3Rpb24gZnJvbSB3aGljaCB0aGUgZm9jdXMgb3JpZ2luYXRlZC4gVXNlZCB0byBzZXQgdGhlIGNvcnJlY3Qgc3R5bGluZy5cbiAgICovXG4gIGZvY3VzRmlyc3RJdGVtKG9yaWdpbjogRm9jdXNPcmlnaW4gPSAncHJvZ3JhbScpOiB2b2lkIHtcbiAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldEZvY3VzT3JpZ2luKG9yaWdpbikuc2V0Rmlyc3RJdGVtQWN0aXZlKCk7XG4gIH1cblxuICAvKiogVXBkYXRlcyB0aGUgYHNob3dUaXRsZWAgcHJvcGVydHkgZm9yIHRvdWNoIGRldmljZSBVSSAqL1xuICBfdXBkYXRlU2hvd1RpdGxlKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd1RpdGxlID0gISF0aGlzLnRpdGxlIHx8IHRoaXMuc2hvd0JhY2tCdXR0b247XG4gIH1cblxuICAvKiogU3RhcnRzIHRoZSBlbnRlciBhbmltYXRpb24gKi9cbiAgX3N0YXJ0QW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhbmVsQW5pbWF0aW9uU3RhdGUgPSAnZW50ZXInO1xuICB9XG5cbiAgLyoqIFJlc2V0cyB0aGUgcGFuZWwgYW5pbWF0aW9uIHRvIGl0cyBpbml0aWFsIHN0YXRlLiAqL1xuICBfcmVzZXRBbmltYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fcGFuZWxBbmltYXRpb25TdGF0ZSA9ICd2b2lkJztcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgdGhlICdiZWxvdycgYW5pbWF0aW9uLCBtb3ZpbmcgYSBtZW51IGRvd24sIG91dCBvZiB2aWV3IGJlbG93IHRoZVxuICAgKiB2aWV3cG9ydC4gVXNlZCB0byBjbG9zZSB0aGUgd2hvbGUgbWVudSwgZm9yIGV4YW1wbGUgd2hlbiBjbGlja2luZ1xuICAgKiB0aGUgYmFja2Ryb3AuXG4gICAqL1xuICBfc3RhcnRUb3VjaENsb3NlRG93bkFuaW1hdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9wYW5lbEFuaW1hdGlvblN0YXRlID0gJ2JlbG93JztcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgdGhlICdiZWxvdy13aXRoLWRlbGF5JyBhbmltYXRpb24sIG1vdmluZyBhIG1lbnUgZG93biwgb3V0IG9mIHZpZXcgYmVsb3cgdGhlXG4gICAqIHZpZXdwb3J0LiBVc2VkIHRvIGNsb3NlIHRoZSB3aG9sZSBtZW51IGFzIGEgcmVzcG9uc2UgdG8gdGhlIHVzZXIgdGFwcGluZ1xuICAgKiBhIG1lbnUgaXRlbS4gVGhlcmUgaXMgYSBzaG9ydCBkZWxheSBiZWZvcmUgdGhlIGFuaW1hdGlvbiBzdGFydHMsIHRvIHRoYXRcbiAgICogdGhlIHVzZXIgZ2V0cyBhIHZpc3VhbCBmZWVkYmFjayBvbiB3aGF0IGl0ZW0gd2FzIHNlbGVjdGVkLlxuICAgKi9cbiAgX3N0YXJ0VG91Y2hDbG9zZURvd25BbmltYXRpb25XaXRoRGVsYXkoKTogdm9pZCB7XG4gICAgdGhpcy5fcGFuZWxBbmltYXRpb25TdGF0ZSA9ICdiZWxvdy13aXRoLWRlbGF5JztcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgdGhlICd2b2lkJyBhbmltYXRpb24sIG1vdmluZyBhIChzdWIpIG1lbnUgb3V0IG9mIHZpZXcgdG8gdGhlIHNpZGVcbiAgICogb2YgdGhlIHZpZXdwb3J0LiBVc2VkIHdoZW4gZ29pbmcgXCJiYWNrXCIgZnJvbSBhIHN1YiBtZW51LlxuICAgKi9cbiAgX3N0YXJ0VG91Y2hDbG9zZVNpZGVBbmltYXRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzZXRBbmltYXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydHMgdGhlIGVudGVyLWZyb20tYmVsb3cgYW5pbWF0aW9uLCBtb3ZpbmcgYSAocm9vdCkgbWVudSBpbnRvIHZpZXcsXG4gICAqIEFuaW1hdGVzIHVwd2FyZHMgZnJvbSBhIHN0YXJ0aW5nIHBvc2l0aW9uIGJlbG93IHRoZSB2aWV3cG9ydC5cbiAgICovXG4gIF9zdGFydFRvdWNoUm9vdEVudGVyQW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhbmVsQW5pbWF0aW9uU3RhdGUgPSAnZW50ZXItZnJvbS1iZWxvdyc7XG4gICAgdGhpcy54T2Zmc2V0ID0gMDtcbiAgfVxuXG4gIC8qKiBTdGFydHMgdGhlIGVudGVyIGFuaW1hdGlvbiwgbW92aW5nIGEgKHN1YikgbWVudSBpbnRvIHZpZXcuICovXG4gIF9zdGFydFRvdWNoU3VibWVudUVudGVyQW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhbmVsQW5pbWF0aW9uU3RhdGUgPSAnZW50ZXInO1xuICAgIHRoaXMueE9mZnNldCA9IDA7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnRzIHRoZSBwYW4gYW5pbWF0aW9uLCB0byBwb3NpdGlvbiBhIHN1Ym1lbnUgaW4gYSByZXNwb25zZVxuICAgKiB0byB1c2VyIGRyYWdnaW5nIHNpZGV3YXlzIChwYW5uaW5nKS5cbiAgICovXG4gIF9zdGFydFRvdWNoUGFuQW5pbWF0aW9uKHhPZmZzZXQ6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX3BhbmVsQW5pbWF0aW9uU3RhdGUgPSAncGFuJztcbiAgICB0aGlzLnhPZmZzZXQgPSB4T2Zmc2V0O1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0cyB0aGUgcGFuLWhpZGRlbiBhbmltYXRpb24sIHRvIHBvc2l0aW9uIGEgcGFyZW50IG1lbnUgbmV4dCB0byBhblxuICAgKiBhY3RpdmUgc3VibWVudSB0aGF0IHRoZSB1c2VyIGlzIGRyYWdnaW5nIHNpZGV3YXlzIChwYW5uaW5nKS5cbiAgICovXG4gIF9zdGFydFRvdWNoSGlkZVBhbkFuaW1hdGlvbih4T2Zmc2V0OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9wYW5lbEFuaW1hdGlvblN0YXRlID0gJ3Bhbi1oaWRkZW4nO1xuICAgIHRoaXMueE9mZnNldCA9IHhPZmZzZXQ7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnRzIHRoZSBoaWRlIGFuaW1hdGlvbiwgdG8gbWFrZSBhIHBhcmVudCBtZW51IHNsaWRlIG91dCB0byBsZWF2ZVxuICAgKiBzcGFjZSBmb3IgYSBzdWJtZW51LlxuICAgKi9cbiAgX3N0YXJ0VG91Y2hIaWRlQW5pbWF0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuX3BhbmVsQW5pbWF0aW9uU3RhdGUgPSAnaGlkZSc7XG4gICAgdGhpcy54T2Zmc2V0ID0gMDtcbiAgfVxuXG4gIC8qKiBDYWxsYmFjayB0aGF0IGlzIGludm9rZWQgd2hlbiB0aGUgcGFuZWwgYW5pbWF0aW9uIGNvbXBsZXRlcy4gKi9cbiAgX29uQW5pbWF0aW9uRG9uZShldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9hbmltYXRpb25Eb25lLm5leHQoZXZlbnQpO1xuICAgIHRoaXMuX2lzQW5pbWF0aW5nID0gZmFsc2U7XG4gIH1cblxuICBfb25BbmltYXRpb25TdGFydChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLl9pc0FuaW1hdGluZyA9IHRydWU7XG5cbiAgICAvLyBTY3JvbGwgdGhlIGNvbnRlbnQgZWxlbWVudCB0byB0aGUgdG9wIGFzIHNvb24gYXMgdGhlIGFuaW1hdGlvbiBzdGFydHMuIFRoaXMgaXMgbmVjZXNzYXJ5LFxuICAgIC8vIGJlY2F1c2Ugd2UgbW92ZSBmb2N1cyB0byB0aGUgZmlyc3QgaXRlbSB3aGlsZSBpdCdzIHN0aWxsIGJlaW5nIGFuaW1hdGVkLCB3aGljaCBjYW4gdGhyb3dcbiAgICAvLyB0aGUgYnJvd3NlciBvZmYgd2hlbiBpdCBkZXRlcm1pbmVzIHRoZSBzY3JvbGwgcG9zaXRpb24uIEFsdGVybmF0aXZlbHkgd2UgY2FuIG1vdmUgZm9jdXNcbiAgICAvLyB3aGVuIHRoZSBhbmltYXRpb24gaXMgZG9uZSwgaG93ZXZlciBtb3ZpbmcgZm9jdXMgYXN5bmNocm9ub3VzbHkgd2lsbCBpbnRlcnJ1cHQgc2NyZWVuXG4gICAgLy8gcmVhZGVycyB3aGljaCBhcmUgaW4gdGhlIHByb2Nlc3Mgb2YgcmVhZGluZyBvdXQgdGhlIG1lbnUgYWxyZWFkeS4gV2UgdGFrZSB0aGUgYGVsZW1lbnRgXG4gICAgLy8gZnJvbSB0aGUgYGV2ZW50YCBzaW5jZSB3ZSBjYW4ndCB1c2UgYSBgVmlld0NoaWxkYCB0byBhY2Nlc3MgdGhlIHBhbmUuXG4gICAgaWYgKFxuICAgICAgKGV2ZW50LnRvU3RhdGUgPT09ICdlbnRlcicgfHwgZXZlbnQudG9TdGF0ZSA9PT0gJ2VudGVyLWZyb20tYmVsb3cnKSAmJlxuICAgICAgdGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtSW5kZXggPT09IDBcbiAgICApIHtcbiAgICAgIGV2ZW50LmVsZW1lbnQuc2Nyb2xsVG9wID0gMDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGNsaWNrIG9uIHRoZSBtZW51IGJ5IGVtaXR0aW5nIG9uIHRoZSBgY2xvc2VkYCBlbWl0dGVyXG4gICAqIHdpdGggYSBgY2xpY2tgIHJlYXNvblxuICAgKi9cbiAgX2hhbmRsZUNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2NsaWNrJyk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlIGNsaWNrIG9uIHRoZSBjbG9zZSBidXR0b24gYnkgZW1pdHRpbmcgb24gdGhlIGBjbG9zZWRgIGVtaXR0ZXJcbiAgICogd2l0aG91dCBhbnkgcGFydGljdWxhciByZWFzb25cbiAgICovXG4gIF9oYW5kbGVDbG9zZUNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VkLmVtaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgY2xpY2sgb24gdGhlIGJhY2sgaWNvbiBieSBlbWl0dGluZyBvbiB0aGUgYGNsaWNrZWRgIGVtaXR0ZXJcbiAgICovXG4gIF9oYW5kbGVCYWNrQ2xpY2soZTogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNob3dCYWNrQnV0dG9uKSB7XG4gICAgICAvLyBDbG9zZSBzdWJtZW51IGtleWRvd24tc3R5bGU6IGNsb3NlIG9ubHkgdGhpcyBtZW51IGFuZCBsZWF2ZSBwYXJlbnRzIG9wZW5cbiAgICAgIHRoaXMuY2xvc2VkLmVtaXQoJ2tleWRvd24nKTtcbiAgICB9XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgY2xpZW50IGRldmljZSBpbmZvcm1hdGlvbiBmb3IgdGhlIG1lbnUgYW5kIGl0cyBtZW51IGl0ZW1zLlxuICAgKi9cbiAgX3NldERldmljZShcbiAgICBjbGllbnRJbnB1dDogQ2xpZW50SW5wdXRJbnRlcmZhY2UsXG4gICAgY2xpZW50T3V0cHV0OiBDbGllbnRPdXRwdXRJbnRlcmZhY2VcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5fY2xpZW50SW5wdXQgPSBjbGllbnRJbnB1dDtcbiAgICB0aGlzLl9jbGllbnRPdXRwdXQgPSBjbGllbnRPdXRwdXQ7XG5cbiAgICB0aGlzLl9kaXJlY3REZXNjZW5kYW50SXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaXRlbS5fY2xpZW50SW5wdXQgPSBjbGllbnRJbnB1dDtcbiAgICAgIGl0ZW0uX2NsaWVudE91dHB1dCA9IGNsaWVudE91dHB1dDtcbiAgICB9KTtcblxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgYWN0aXZlIGl0ZW0gaW4gdGhlIG1lbnUuIFRoaXMgaXMgdXNlZCB3aGVuIHRoZSBtZW51IGlzIG9wZW5lZCwgYWxsb3dpbmdcbiAgICogdGhlIHVzZXIgdG8gc3RhcnQgZnJvbSB0aGUgZmlyc3Qgb3B0aW9uIHdoZW4gcHJlc3NpbmcgdGhlIGRvd24gYXJyb3cuXG4gICAqL1xuICByZXNldEFjdGl2ZUl0ZW0oKTogdm9pZCB7XG4gICAgdGhpcy5fa2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKC0xKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVwIGEgc3RyZWFtIHRoYXQgd2lsbCBrZWVwIHRyYWNrIG9mIGFueSBuZXdseS1hZGRlZCBtZW51IGl0ZW1zIGFuZCB3aWxsIHVwZGF0ZSB0aGUgbGlzdFxuICAgKiBvZiBkaXJlY3QgZGVzY2VuZGFudHMuIFdlIGNvbGxlY3QgdGhlIGRlc2NlbmRhbnRzIHRoaXMgd2F5LCBiZWNhdXNlIGBfYWxsSXRlbXNgIGNhbiBpbmNsdWRlXG4gICAqIGl0ZW1zIHRoYXQgYXJlIHBhcnQgb2YgY2hpbGQgbWVudXMsIGFuZCB1c2luZyBhIGN1c3RvbSB3YXkgb2YgcmVnaXN0ZXJpbmcgaXRlbXMgaXMgdW5yZWxpYWJsZVxuICAgKiB3aGVuIGl0IGNvbWVzIHRvIG1haW50YWluaW5nIHRoZSBpdGVtIG9yZGVyLlxuICAgKi9cbiAgcHJpdmF0ZSBfdXBkYXRlRGlyZWN0RGVzY2VuZGFudHMoKSB7XG4gICAgdGhpcy5fYWxsSXRlbXMuY2hhbmdlc1xuICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMuX2FsbEl0ZW1zKSlcbiAgICAgIC5zdWJzY3JpYmUoKGl0ZW1zOiBRdWVyeUxpc3Q8R3Jhbml0ZU1lbnVJdGVtQ29tcG9uZW50PikgPT4ge1xuICAgICAgICB0aGlzLl9kaXJlY3REZXNjZW5kYW50SXRlbXMucmVzZXQoXG4gICAgICAgICAgaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLl9wYXJlbnRNZW51ID09PSB0aGlzKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9kaXJlY3REZXNjZW5kYW50SXRlbXMubm90aWZ5T25DaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
@@ -45,9 +45,8 @@ export class GraniteMenuItemComponent {
45
45
  _getHostElement() {
46
46
  return this._elementRef.nativeElement;
47
47
  }
48
- }
49
- GraniteMenuItemComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteMenuItemComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: GRANITE_MENU_PANEL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
50
- GraniteMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GraniteMenuItemComponent, selector: "[graniteMenuItem]", inputs: { role: "role" }, host: { listeners: { "mouseenter": "_hovered.next(this)" }, properties: { "attr.role": "role", "class.granite-menu-item": "true", "class.granite-menu-item-highlighted": "_highlighted", "class.granite-menu-item-submenu-trigger": "_triggersSubmenu", "class.granite-device-output-touch": "_clientOutput?.device === \"touch\"" } }, exportAs: ["graniteMenuItem"], ngImport: i0, template: `<ng-content></ng-content>
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteMenuItemComponent, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }, { token: GRANITE_MENU_PANEL, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteMenuItemComponent, selector: "[graniteMenuItem]", inputs: { role: "role" }, host: { listeners: { "mouseenter": "_hovered.next(this)" }, properties: { "attr.role": "role", "class.granite-menu-item": "true", "class.granite-menu-item-highlighted": "_highlighted", "class.granite-menu-item-submenu-trigger": "_triggersSubmenu", "class.granite-device-output-touch": "_clientOutput?.device === \"touch\"" } }, exportAs: ["graniteMenuItem"], ngImport: i0, template: `<ng-content></ng-content>
51
50
  <ng-container *ngIf="_triggersSubmenu">
52
51
  <granite-icon
53
52
  class="caret-left"
@@ -57,8 +56,9 @@ GraniteMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0
57
56
  class="caret-right"
58
57
  [fontIcon]="'icon-caret-right'"
59
58
  ></granite-icon>
60
- </ng-container>`, isInline: true, styles: [":host{display:block;position:relative;line-height:2rem;padding:0 var(--granite-spacing-8);width:100%;max-width:100%;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:start;text-decoration:none;background-color:var(--granite-color-background-variant);color:var(--granite-color-text);font-size:var(--granite-font-size-body-small);font-family:inherit}@media (hover: hover) and (pointer: fine){:host:hover:not(.granite-title):not([disabled]){background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}@media (hover: none) and (pointer: coarse){:host:active:not(.granite-title):not([disabled]){background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}:host.granite-title{-webkit-user-select:none;user-select:none;display:flex;align-items:center;line-height:1.5rem;width:100%;outline:none;border:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:var(--granite-color-text);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-bold);cursor:default}:host.cdk-program-focused,:host.cdk-keyboard-focused,:host.granite-menu-item-highlighted{background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}:host granite-icon{position:absolute;font-size:var(--granite-font-size-body-small);color:inherit;top:50%;transform:translateY(-50%)}:host.granite-menu-item-submenu-trigger{padding-inline-end:var(--granite-spacing-24)}html[dir=ltr] :host.granite-menu-item-submenu-trigger granite-icon{right:var(--granite-spacing-4)}:host-context([dir=ltr]) :host.granite-menu-item-submenu-trigger granite-icon{right:var(--granite-spacing-4)}html[dir=rtl] :host.granite-menu-item-submenu-trigger granite-icon{left:var(--granite-spacing-4)}:host-context([dir=rtl]) :host.granite-menu-item-submenu-trigger granite-icon{left:var(--granite-spacing-4)}[dir=rtl] :host.granite-menu-item-submenu-trigger granite-icon.caret-right{display:none}[dir=ltr] :host.granite-menu-item-submenu-trigger granite-icon.caret-left{display:none}:host.granite-divider-top{border-top:.0625rem solid var(--granite-color-border-soft)}:host.granite-divider-bottom{border-bottom:.0625rem solid var(--granite-color-border-soft)}:host.granite-device-output-touch{line-height:3rem;font-size:var(--granite-font-size-body-small);text-align:center;padding:0 var(--granite-spacing-24)}:host.granite-device-output-touch.granite-title{padding:0;justify-content:center;line-height:1.5rem;font-size:var(--granite-font-size-micro)}:host.granite-device-output-touch.granite-menu-item-back-trigger,:host.granite-device-output-touch.granite-menu-item-submenu-trigger{padding:0 var(--granite-spacing-24)}:host.granite-device-output-touch.granite-menu-item-title{line-height:3rem;height:3rem;font-size:var(--granite-font-size-micro);color:var(--granite-color-text-weak)}@media (hover: none) and (pointer: coarse){:host.granite-device-output-touch.granite-menu-item-title:active{background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}html[dir=ltr] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{left:var(--granite-spacing-4)}:host-context([dir=ltr]) :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{left:var(--granite-spacing-4)}html[dir=rtl] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{right:var(--granite-spacing-4)}:host-context([dir=rtl]) :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{right:var(--granite-spacing-4)}[dir=rtl] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon.caret-left{display:none}[dir=ltr] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon.caret-right{display:none}:host:disabled:not(.granite-menu-item-title){opacity:.4;cursor:default}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }] });
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteMenuItemComponent, decorators: [{
59
+ </ng-container>`, isInline: true, styles: [":host{display:block;position:relative;line-height:2rem;padding:0 var(--granite-spacing-8);width:100%;max-width:100%;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:start;text-decoration:none;background-color:var(--granite-color-background-variant);color:var(--granite-color-text);font-size:var(--granite-font-size-body-small);font-family:inherit}@media (hover: hover) and (pointer: fine){:host:hover:not(.granite-title):not([disabled]){background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}@media (hover: none) and (pointer: coarse){:host:active:not(.granite-title):not([disabled]){background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}:host.granite-title{-webkit-user-select:none;user-select:none;display:flex;align-items:center;line-height:1.5rem;width:100%;outline:none;border:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:var(--granite-color-text);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-bold);cursor:default}:host.cdk-program-focused,:host.cdk-keyboard-focused,:host.granite-menu-item-highlighted{background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}:host granite-icon{position:absolute;font-size:var(--granite-font-size-body-small);color:inherit;top:50%;transform:translateY(-50%)}:host.granite-menu-item-submenu-trigger{padding-inline-end:var(--granite-spacing-24)}html[dir=ltr] :host.granite-menu-item-submenu-trigger granite-icon{right:var(--granite-spacing-4)}:host-context([dir=ltr]) :host.granite-menu-item-submenu-trigger granite-icon{right:var(--granite-spacing-4)}html[dir=rtl] :host.granite-menu-item-submenu-trigger granite-icon{left:var(--granite-spacing-4)}:host-context([dir=rtl]) :host.granite-menu-item-submenu-trigger granite-icon{left:var(--granite-spacing-4)}[dir=rtl] :host.granite-menu-item-submenu-trigger granite-icon.caret-right{display:none}[dir=ltr] :host.granite-menu-item-submenu-trigger granite-icon.caret-left{display:none}:host.granite-divider-top{border-top:.0625rem solid var(--granite-color-border-soft)}:host.granite-divider-bottom{border-bottom:.0625rem solid var(--granite-color-border-soft)}:host.granite-device-output-touch{line-height:3rem;font-size:var(--granite-font-size-body-small);text-align:center;padding:0 var(--granite-spacing-24)}:host.granite-device-output-touch.granite-title{padding:0;justify-content:center;line-height:1.5rem;font-size:var(--granite-font-size-micro)}:host.granite-device-output-touch.granite-menu-item-back-trigger,:host.granite-device-output-touch.granite-menu-item-submenu-trigger{padding:0 var(--granite-spacing-24)}:host.granite-device-output-touch.granite-menu-item-title{line-height:3rem;height:3rem;font-size:var(--granite-font-size-micro);color:var(--granite-color-text-weak)}@media (hover: none) and (pointer: coarse){:host.granite-device-output-touch.granite-menu-item-title:active{background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}html[dir=ltr] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{left:var(--granite-spacing-4)}:host-context([dir=ltr]) :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{left:var(--granite-spacing-4)}html[dir=rtl] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{right:var(--granite-spacing-4)}:host-context([dir=rtl]) :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{right:var(--granite-spacing-4)}[dir=rtl] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon.caret-left{display:none}[dir=ltr] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon.caret-right{display:none}:host:disabled:not(.granite-menu-item-title){opacity:.4;cursor:default}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }] }); }
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteMenuItemComponent, decorators: [{
62
62
  type: Component,
63
63
  args: [{ selector: '[graniteMenuItem]', template: `<ng-content></ng-content>
64
64
  <ng-container *ngIf="_triggersSubmenu">
@@ -88,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
88
88
  }] }]; }, propDecorators: { role: [{
89
89
  type: Input
90
90
  }] } });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvbWVudS9tZW51LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsWUFBWSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDL0UsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUsvQixPQUFPLEVBQUUsa0JBQWtCLEVBQTZCLE1BQU0sY0FBYyxDQUFDOzs7OztBQTZCN0UsTUFBTSxPQUFPLHdCQUF3QjtJQTJCbkMsWUFDVSxXQUFvQyxFQUNwQyxhQUEyQixFQUk1QixXQUF1QztRQUx0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFJNUIsZ0JBQVcsR0FBWCxXQUFXLENBQTRCO1FBaENoRCxtQ0FBbUM7UUFDMUIsU0FBSSxHQUFzRCxVQUFVLENBQUM7UUFFOUUsdURBQXVEO1FBQ3ZELG9EQUFvRDtRQUMzQyxhQUFRLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdkQsdURBQXVEO1FBQ3ZELG9EQUFvRDtRQUMzQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUV4QyxnRkFBZ0Y7UUFDaEYscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBRWxDOzs7V0FHRztRQUNILGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBZ0I1QixtRkFBbUY7UUFDbkYsaUZBQWlGO1FBQ2pGLDhCQUE4QjtRQUM5QixhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCw2QkFBNkI7SUFDN0IsS0FBSyxDQUFDLFNBQXNCLFNBQVMsRUFBRSxPQUFzQjtRQUMzRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxvQ0FBb0M7SUFDcEMsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFDeEMsQ0FBQzs7cUhBekRVLHdCQUF3Qix3RUErQnpCLGtCQUFrQjt5R0EvQmpCLHdCQUF3QiwwYkF4QnpCOzs7Ozs7Ozs7O29CQVVROzJGQWNQLHdCQUF3QjtrQkEzQnBDLFNBQVM7K0JBRUUsbUJBQW1CLFlBQ25COzs7Ozs7Ozs7O29CQVVRLFlBQ1IsaUJBQWlCLFFBRXJCO3dCQUNKLGFBQWEsRUFBRSxNQUFNO3dCQUNyQiwyQkFBMkIsRUFBRSxNQUFNO3dCQUNuQyx1Q0FBdUMsRUFBRSxjQUFjO3dCQUN2RCwyQ0FBMkMsRUFBRSxrQkFBa0I7d0JBQy9ELDZDQUE2Qzt3QkFDN0MscUNBQXFDLEVBQUUsbUNBQW1DO3dCQUMxRSxnREFBZ0Q7d0JBQ2hELGNBQWMsRUFBRSxxQkFBcUI7cUJBQ3RDOzswQkFpQ0UsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixRQUFROzRDQTlCRixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c2FibGVPcHRpb24sIEZvY3VzTW9uaXRvciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQ2xpZW50SW5wdXRJbnRlcmZhY2UsXG4gIENsaWVudE91dHB1dEludGVyZmFjZSxcbn0gZnJvbSAnLi4vY29yZS9jbGllbnQtZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgR1JBTklURV9NRU5VX1BBTkVMLCBHcmFuaXRlTWVudVBhbmVsSW50ZXJmYWNlIH0gZnJvbSAnLi9tZW51LXBhbmVsJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW2dyYW5pdGVNZW51SXRlbV0nLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3RyaWdnZXJzU3VibWVudVwiPlxuICAgICAgPGdyYW5pdGUtaWNvblxuICAgICAgICBjbGFzcz1cImNhcmV0LWxlZnRcIlxuICAgICAgICBbZm9udEljb25dPVwiJ2ljb24tY2FyZXQtbGVmdCdcIlxuICAgICAgPjwvZ3Jhbml0ZS1pY29uPlxuICAgICAgPGdyYW5pdGUtaWNvblxuICAgICAgICBjbGFzcz1cImNhcmV0LXJpZ2h0XCJcbiAgICAgICAgW2ZvbnRJY29uXT1cIidpY29uLWNhcmV0LXJpZ2h0J1wiXG4gICAgICA+PC9ncmFuaXRlLWljb24+XG4gICAgPC9uZy1jb250YWluZXI+YCxcbiAgZXhwb3J0QXM6ICdncmFuaXRlTWVudUl0ZW0nLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5yb2xlXSc6ICdyb2xlJyxcbiAgICAnW2NsYXNzLmdyYW5pdGUtbWVudS1pdGVtXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLmdyYW5pdGUtbWVudS1pdGVtLWhpZ2hsaWdodGVkXSc6ICdfaGlnaGxpZ2h0ZWQnLFxuICAgICdbY2xhc3MuZ3Jhbml0ZS1tZW51LWl0ZW0tc3VibWVudS10cmlnZ2VyXSc6ICdfdHJpZ2dlcnNTdWJtZW51JyxcbiAgICAvLyNyZWdpb24gLS0tIFRvdWNoIGRldmljZSBjdXN0b21pemF0aW9ucyAtLS1cbiAgICAnW2NsYXNzLmdyYW5pdGUtZGV2aWNlLW91dHB1dC10b3VjaF0nOiAnX2NsaWVudE91dHB1dD8uZGV2aWNlID09PSBcInRvdWNoXCInLFxuICAgIC8vI2VuZHJlZ2lvbiAtLS0gVG91Y2ggZGV2aWNlIGN1c3RvbWl6YXRpb25zIC0tLVxuICAgICcobW91c2VlbnRlciknOiAnX2hvdmVyZWQubmV4dCh0aGlzKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVNZW51SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgRm9jdXNhYmxlT3B0aW9uIHtcbiAgLyoqIEFSSUEgcm9sZSBmb3IgdGhlIG1lbnUgaXRlbS4gKi9cbiAgQElucHV0KCkgcm9sZTogJ21lbnVpdGVtJyB8ICdtZW51aXRlbXJhZGlvJyB8ICdtZW51aXRlbWNoZWNrYm94JyA9ICdtZW51aXRlbSc7XG5cbiAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gdGhlIG1lbnUgaXRlbSBpcyBob3ZlcmVkLiAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy9uby1leHBvc2VkLXN1YmplY3RzXG4gIHJlYWRvbmx5IF9ob3ZlcmVkOiBTdWJqZWN0PHRoaXM+ID0gbmV3IFN1YmplY3Q8dGhpcz4oKTtcblxuICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiB0aGUgbWVudSBpdGVtIGlzIGZvY3VzZWQuICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByeGpzL25vLWV4cG9zZWQtc3ViamVjdHNcbiAgcmVhZG9ubHkgX2ZvY3VzZWQgPSBuZXcgU3ViamVjdDx0aGlzPigpO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBtZW51IGl0ZW0gYWN0cyBhcyBhIHRyaWdnZXIgZm9yIGEgc3ViLW1lbnUgKHVzZWQgZm9yIHN0eWxpbmcpICovXG4gIF90cmlnZ2Vyc1N1Ym1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBpdGVtIGlzIGhpZ2hsaWdodGVkLCBlLmcuIGluIHRoZSBcImJyZWFkY3J1bWJcIiBwYXJlbnQgY2hhaW5cbiAgICogb2Ygc3ViIG1lbnUgdHJpZ2dlciBpdGVtc1xuICAgKi9cbiAgX2hpZ2hsaWdodGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIENsaWVudCBpbnB1dCBkZXZpY2UgaW5mb3JtYXRpb24gKi9cbiAgX2NsaWVudElucHV0OiBDbGllbnRJbnB1dEludGVyZmFjZTtcblxuICAvKiogQ2xpZW50IG91dHB1dCBkZXZpY2UgaW5mb3JtYXRpb24gKi9cbiAgX2NsaWVudE91dHB1dDogQ2xpZW50T3V0cHV0SW50ZXJmYWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgX2ZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuXG4gICAgQEluamVjdChHUkFOSVRFX01FTlVfUEFORUwpXG4gICAgQE9wdGlvbmFsKClcbiAgICBwdWJsaWMgX3BhcmVudE1lbnU/OiBHcmFuaXRlTWVudVBhbmVsSW50ZXJmYWNlXG4gICkge1xuICAgIC8vIFN0YXJ0IG1vbml0b3JpbmcgdGhlIGVsZW1lbnQgc28gaXQgZ2V0cyB0aGUgYXBwcm9wcmlhdGUgZm9jdXNlZCBjbGFzc2VzLiBXZSB3YW50XG4gICAgLy8gdG8gc2hvdyB0aGUgZm9jdXMgc3R5bGUgZm9yIG1lbnUgaXRlbXMgb25seSB3aGVuIHRoZSBmb2N1cyB3YXMgbm90IGNhdXNlZCBieSBhXG4gICAgLy8gbW91c2Ugb3IgdG91Y2ggaW50ZXJhY3Rpb24uXG4gICAgX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYsIGZhbHNlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKTtcblxuICAgIHRoaXMuX2hvdmVyZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9mb2N1c2VkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKiogRm9jdXNlcyB0aGUgbWVudSBpdGVtLiAqL1xuICBmb2N1cyhvcmlnaW46IEZvY3VzT3JpZ2luID0gJ3Byb2dyYW0nLCBvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNNb25pdG9yLmZvY3VzVmlhKHRoaXMuX2dldEhvc3RFbGVtZW50KCksIG9yaWdpbiwgb3B0aW9ucyk7XG4gICAgdGhpcy5fZm9jdXNlZC5uZXh0KHRoaXMpO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIGhvc3QgRE9NIGVsZW1lbnQuICovXG4gIF9nZXRIb3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuIl19
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZ3Jhbml0ZS1jb21wb25lbnRzL3NyYy9saWIvbWVudS9tZW51LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsWUFBWSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDL0UsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUsvQixPQUFPLEVBQUUsa0JBQWtCLEVBQTZCLE1BQU0sY0FBYyxDQUFDOzs7OztBQTZCN0UsTUFBTSxPQUFPLHdCQUF3QjtJQTJCbkMsWUFDVSxXQUFvQyxFQUNwQyxhQUEyQixFQUk1QixXQUF1QztRQUx0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDcEMsa0JBQWEsR0FBYixhQUFhLENBQWM7UUFJNUIsZ0JBQVcsR0FBWCxXQUFXLENBQTRCO1FBaENoRCxtQ0FBbUM7UUFDMUIsU0FBSSxHQUFzRCxVQUFVLENBQUM7UUFFOUUsdURBQXVEO1FBQ3ZELG9EQUFvRDtRQUMzQyxhQUFRLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdkQsdURBQXVEO1FBQ3ZELG9EQUFvRDtRQUMzQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUV4QyxnRkFBZ0Y7UUFDaEYscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBRWxDOzs7V0FHRztRQUNILGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBZ0I1QixtRkFBbUY7UUFDbkYsaUZBQWlGO1FBQ2pGLDhCQUE4QjtRQUM5QixhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCw2QkFBNkI7SUFDN0IsS0FBSyxDQUFDLFNBQXNCLFNBQVMsRUFBRSxPQUFzQjtRQUMzRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxvQ0FBb0M7SUFDcEMsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFDeEMsQ0FBQzsrR0F6RFUsd0JBQXdCLHdFQStCekIsa0JBQWtCO21HQS9CakIsd0JBQXdCLDBiQXhCekI7Ozs7Ozs7Ozs7b0JBVVE7OzRGQWNQLHdCQUF3QjtrQkEzQnBDLFNBQVM7K0JBRUUsbUJBQW1CLFlBQ25COzs7Ozs7Ozs7O29CQVVRLFlBQ1IsaUJBQWlCLFFBRXJCO3dCQUNKLGFBQWEsRUFBRSxNQUFNO3dCQUNyQiwyQkFBMkIsRUFBRSxNQUFNO3dCQUNuQyx1Q0FBdUMsRUFBRSxjQUFjO3dCQUN2RCwyQ0FBMkMsRUFBRSxrQkFBa0I7d0JBQy9ELDZDQUE2Qzt3QkFDN0MscUNBQXFDLEVBQUUsbUNBQW1DO3dCQUMxRSxnREFBZ0Q7d0JBQ2hELGNBQWMsRUFBRSxxQkFBcUI7cUJBQ3RDOzswQkFpQ0UsTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixRQUFROzRDQTlCRixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c2FibGVPcHRpb24sIEZvY3VzTW9uaXRvciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQ2xpZW50SW5wdXRJbnRlcmZhY2UsXG4gIENsaWVudE91dHB1dEludGVyZmFjZSxcbn0gZnJvbSAnLi4vY29yZS9jbGllbnQtZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgR1JBTklURV9NRU5VX1BBTkVMLCBHcmFuaXRlTWVudVBhbmVsSW50ZXJmYWNlIH0gZnJvbSAnLi9tZW51LXBhbmVsJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW2dyYW5pdGVNZW51SXRlbV0nLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3RyaWdnZXJzU3VibWVudVwiPlxuICAgICAgPGdyYW5pdGUtaWNvblxuICAgICAgICBjbGFzcz1cImNhcmV0LWxlZnRcIlxuICAgICAgICBbZm9udEljb25dPVwiJ2ljb24tY2FyZXQtbGVmdCdcIlxuICAgICAgPjwvZ3Jhbml0ZS1pY29uPlxuICAgICAgPGdyYW5pdGUtaWNvblxuICAgICAgICBjbGFzcz1cImNhcmV0LXJpZ2h0XCJcbiAgICAgICAgW2ZvbnRJY29uXT1cIidpY29uLWNhcmV0LXJpZ2h0J1wiXG4gICAgICA+PC9ncmFuaXRlLWljb24+XG4gICAgPC9uZy1jb250YWluZXI+YCxcbiAgZXhwb3J0QXM6ICdncmFuaXRlTWVudUl0ZW0nLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgICdbYXR0ci5yb2xlXSc6ICdyb2xlJyxcbiAgICAnW2NsYXNzLmdyYW5pdGUtbWVudS1pdGVtXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLmdyYW5pdGUtbWVudS1pdGVtLWhpZ2hsaWdodGVkXSc6ICdfaGlnaGxpZ2h0ZWQnLFxuICAgICdbY2xhc3MuZ3Jhbml0ZS1tZW51LWl0ZW0tc3VibWVudS10cmlnZ2VyXSc6ICdfdHJpZ2dlcnNTdWJtZW51JyxcbiAgICAvLyNyZWdpb24gLS0tIFRvdWNoIGRldmljZSBjdXN0b21pemF0aW9ucyAtLS1cbiAgICAnW2NsYXNzLmdyYW5pdGUtZGV2aWNlLW91dHB1dC10b3VjaF0nOiAnX2NsaWVudE91dHB1dD8uZGV2aWNlID09PSBcInRvdWNoXCInLFxuICAgIC8vI2VuZHJlZ2lvbiAtLS0gVG91Y2ggZGV2aWNlIGN1c3RvbWl6YXRpb25zIC0tLVxuICAgICcobW91c2VlbnRlciknOiAnX2hvdmVyZWQubmV4dCh0aGlzKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVNZW51SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgRm9jdXNhYmxlT3B0aW9uIHtcbiAgLyoqIEFSSUEgcm9sZSBmb3IgdGhlIG1lbnUgaXRlbS4gKi9cbiAgQElucHV0KCkgcm9sZTogJ21lbnVpdGVtJyB8ICdtZW51aXRlbXJhZGlvJyB8ICdtZW51aXRlbWNoZWNrYm94JyA9ICdtZW51aXRlbSc7XG5cbiAgLyoqIFN0cmVhbSB0aGF0IGVtaXRzIHdoZW4gdGhlIG1lbnUgaXRlbSBpcyBob3ZlcmVkLiAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcnhqcy9uby1leHBvc2VkLXN1YmplY3RzXG4gIHJlYWRvbmx5IF9ob3ZlcmVkOiBTdWJqZWN0PHRoaXM+ID0gbmV3IFN1YmplY3Q8dGhpcz4oKTtcblxuICAvKiogU3RyZWFtIHRoYXQgZW1pdHMgd2hlbiB0aGUgbWVudSBpdGVtIGlzIGZvY3VzZWQuICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByeGpzL25vLWV4cG9zZWQtc3ViamVjdHNcbiAgcmVhZG9ubHkgX2ZvY3VzZWQgPSBuZXcgU3ViamVjdDx0aGlzPigpO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBtZW51IGl0ZW0gYWN0cyBhcyBhIHRyaWdnZXIgZm9yIGEgc3ViLW1lbnUgKHVzZWQgZm9yIHN0eWxpbmcpICovXG4gIF90cmlnZ2Vyc1N1Ym1lbnU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBpdGVtIGlzIGhpZ2hsaWdodGVkLCBlLmcuIGluIHRoZSBcImJyZWFkY3J1bWJcIiBwYXJlbnQgY2hhaW5cbiAgICogb2Ygc3ViIG1lbnUgdHJpZ2dlciBpdGVtc1xuICAgKi9cbiAgX2hpZ2hsaWdodGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIENsaWVudCBpbnB1dCBkZXZpY2UgaW5mb3JtYXRpb24gKi9cbiAgX2NsaWVudElucHV0OiBDbGllbnRJbnB1dEludGVyZmFjZTtcblxuICAvKiogQ2xpZW50IG91dHB1dCBkZXZpY2UgaW5mb3JtYXRpb24gKi9cbiAgX2NsaWVudE91dHB1dDogQ2xpZW50T3V0cHV0SW50ZXJmYWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgX2ZvY3VzTW9uaXRvcjogRm9jdXNNb25pdG9yLFxuXG4gICAgQEluamVjdChHUkFOSVRFX01FTlVfUEFORUwpXG4gICAgQE9wdGlvbmFsKClcbiAgICBwdWJsaWMgX3BhcmVudE1lbnU/OiBHcmFuaXRlTWVudVBhbmVsSW50ZXJmYWNlXG4gICkge1xuICAgIC8vIFN0YXJ0IG1vbml0b3JpbmcgdGhlIGVsZW1lbnQgc28gaXQgZ2V0cyB0aGUgYXBwcm9wcmlhdGUgZm9jdXNlZCBjbGFzc2VzLiBXZSB3YW50XG4gICAgLy8gdG8gc2hvdyB0aGUgZm9jdXMgc3R5bGUgZm9yIG1lbnUgaXRlbXMgb25seSB3aGVuIHRoZSBmb2N1cyB3YXMgbm90IGNhdXNlZCBieSBhXG4gICAgLy8gbW91c2Ugb3IgdG91Y2ggaW50ZXJhY3Rpb24uXG4gICAgX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYsIGZhbHNlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvY3VzTW9uaXRvci5zdG9wTW9uaXRvcmluZyh0aGlzLl9lbGVtZW50UmVmKTtcblxuICAgIHRoaXMuX2hvdmVyZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9mb2N1c2VkLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvKiogRm9jdXNlcyB0aGUgbWVudSBpdGVtLiAqL1xuICBmb2N1cyhvcmlnaW46IEZvY3VzT3JpZ2luID0gJ3Byb2dyYW0nLCBvcHRpb25zPzogRm9jdXNPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5fZm9jdXNNb25pdG9yLmZvY3VzVmlhKHRoaXMuX2dldEhvc3RFbGVtZW50KCksIG9yaWdpbiwgb3B0aW9ucyk7XG4gICAgdGhpcy5fZm9jdXNlZC5uZXh0KHRoaXMpO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIGhvc3QgRE9NIGVsZW1lbnQuICovXG4gIF9nZXRIb3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxufVxuIl19
@@ -1,13 +1,13 @@
1
1
  import { Component } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class GraniteMenuTouchCloseComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteMenuTouchCloseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteMenuTouchCloseComponent, selector: "[graniteMenuTouchCloseItem]", host: { properties: { "class.granite-device-output-touch": "true" } }, exportAs: ["graniteMenuTouchCloseItem"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block;position:relative;line-height:2rem;padding:0 var(--granite-spacing-8);width:100%;max-width:100%;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:start;text-decoration:none;background-color:var(--granite-color-background-variant);color:var(--granite-color-text);font-size:var(--granite-font-size-body-small);font-family:inherit}@media (hover: hover) and (pointer: fine){:host:hover:not(.granite-title):not([disabled]){background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}@media (hover: none) and (pointer: coarse){:host:active:not(.granite-title):not([disabled]){background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}:host.granite-title{-webkit-user-select:none;user-select:none;display:flex;align-items:center;line-height:1.5rem;width:100%;outline:none;border:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:var(--granite-color-text);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-bold);cursor:default}:host.cdk-program-focused,:host.cdk-keyboard-focused,:host.granite-menu-item-highlighted{background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}:host granite-icon{position:absolute;font-size:var(--granite-font-size-body-small);color:inherit;top:50%;transform:translateY(-50%)}:host.granite-menu-item-submenu-trigger{padding-inline-end:var(--granite-spacing-24)}html[dir=ltr] :host.granite-menu-item-submenu-trigger granite-icon{right:var(--granite-spacing-4)}:host-context([dir=ltr]) :host.granite-menu-item-submenu-trigger granite-icon{right:var(--granite-spacing-4)}html[dir=rtl] :host.granite-menu-item-submenu-trigger granite-icon{left:var(--granite-spacing-4)}:host-context([dir=rtl]) :host.granite-menu-item-submenu-trigger granite-icon{left:var(--granite-spacing-4)}[dir=rtl] :host.granite-menu-item-submenu-trigger granite-icon.caret-right{display:none}[dir=ltr] :host.granite-menu-item-submenu-trigger granite-icon.caret-left{display:none}:host.granite-divider-top{border-top:.0625rem solid var(--granite-color-border-soft)}:host.granite-divider-bottom{border-bottom:.0625rem solid var(--granite-color-border-soft)}:host.granite-device-output-touch{line-height:3rem;font-size:var(--granite-font-size-body-small);text-align:center;padding:0 var(--granite-spacing-24)}:host.granite-device-output-touch.granite-title{padding:0;justify-content:center;line-height:1.5rem;font-size:var(--granite-font-size-micro)}:host.granite-device-output-touch.granite-menu-item-back-trigger,:host.granite-device-output-touch.granite-menu-item-submenu-trigger{padding:0 var(--granite-spacing-24)}:host.granite-device-output-touch.granite-menu-item-title{line-height:3rem;height:3rem;font-size:var(--granite-font-size-micro);color:var(--granite-color-text-weak)}@media (hover: none) and (pointer: coarse){:host.granite-device-output-touch.granite-menu-item-title:active{background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}html[dir=ltr] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{left:var(--granite-spacing-4)}:host-context([dir=ltr]) :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{left:var(--granite-spacing-4)}html[dir=rtl] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{right:var(--granite-spacing-4)}:host-context([dir=rtl]) :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{right:var(--granite-spacing-4)}[dir=rtl] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon.caret-left{display:none}[dir=ltr] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon.caret-right{display:none}:host:disabled:not(.granite-menu-item-title){opacity:.4;cursor:default}\n"] }); }
4
6
  }
5
- GraniteMenuTouchCloseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteMenuTouchCloseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- GraniteMenuTouchCloseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GraniteMenuTouchCloseComponent, selector: "[graniteMenuTouchCloseItem]", host: { properties: { "class.granite-device-output-touch": "true" } }, exportAs: ["graniteMenuTouchCloseItem"], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{display:block;position:relative;line-height:2rem;padding:0 var(--granite-spacing-8);width:100%;max-width:100%;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:start;text-decoration:none;background-color:var(--granite-color-background-variant);color:var(--granite-color-text);font-size:var(--granite-font-size-body-small);font-family:inherit}@media (hover: hover) and (pointer: fine){:host:hover:not(.granite-title):not([disabled]){background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}@media (hover: none) and (pointer: coarse){:host:active:not(.granite-title):not([disabled]){background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}:host.granite-title{-webkit-user-select:none;user-select:none;display:flex;align-items:center;line-height:1.5rem;width:100%;outline:none;border:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:var(--granite-color-text);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-bold);cursor:default}:host.cdk-program-focused,:host.cdk-keyboard-focused,:host.granite-menu-item-highlighted{background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}:host granite-icon{position:absolute;font-size:var(--granite-font-size-body-small);color:inherit;top:50%;transform:translateY(-50%)}:host.granite-menu-item-submenu-trigger{padding-inline-end:var(--granite-spacing-24)}html[dir=ltr] :host.granite-menu-item-submenu-trigger granite-icon{right:var(--granite-spacing-4)}:host-context([dir=ltr]) :host.granite-menu-item-submenu-trigger granite-icon{right:var(--granite-spacing-4)}html[dir=rtl] :host.granite-menu-item-submenu-trigger granite-icon{left:var(--granite-spacing-4)}:host-context([dir=rtl]) :host.granite-menu-item-submenu-trigger granite-icon{left:var(--granite-spacing-4)}[dir=rtl] :host.granite-menu-item-submenu-trigger granite-icon.caret-right{display:none}[dir=ltr] :host.granite-menu-item-submenu-trigger granite-icon.caret-left{display:none}:host.granite-divider-top{border-top:.0625rem solid var(--granite-color-border-soft)}:host.granite-divider-bottom{border-bottom:.0625rem solid var(--granite-color-border-soft)}:host.granite-device-output-touch{line-height:3rem;font-size:var(--granite-font-size-body-small);text-align:center;padding:0 var(--granite-spacing-24)}:host.granite-device-output-touch.granite-title{padding:0;justify-content:center;line-height:1.5rem;font-size:var(--granite-font-size-micro)}:host.granite-device-output-touch.granite-menu-item-back-trigger,:host.granite-device-output-touch.granite-menu-item-submenu-trigger{padding:0 var(--granite-spacing-24)}:host.granite-device-output-touch.granite-menu-item-title{line-height:3rem;height:3rem;font-size:var(--granite-font-size-micro);color:var(--granite-color-text-weak)}@media (hover: none) and (pointer: coarse){:host.granite-device-output-touch.granite-menu-item-title:active{background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}html[dir=ltr] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{left:var(--granite-spacing-4)}:host-context([dir=ltr]) :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{left:var(--granite-spacing-4)}html[dir=rtl] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{right:var(--granite-spacing-4)}:host-context([dir=rtl]) :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{right:var(--granite-spacing-4)}[dir=rtl] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon.caret-left{display:none}[dir=ltr] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon.caret-right{display:none}:host:disabled:not(.granite-menu-item-title){opacity:.4;cursor:default}\n"] });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteMenuTouchCloseComponent, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteMenuTouchCloseComponent, decorators: [{
8
8
  type: Component,
9
9
  args: [{ selector: '[graniteMenuTouchCloseItem]', template: '<ng-content></ng-content>', exportAs: 'graniteMenuTouchCloseItem', host: {
10
10
  '[class.granite-device-output-touch]': 'true',
11
11
  }, styles: [":host{display:block;position:relative;line-height:2rem;padding:0 var(--granite-spacing-8);width:100%;max-width:100%;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:start;text-decoration:none;background-color:var(--granite-color-background-variant);color:var(--granite-color-text);font-size:var(--granite-font-size-body-small);font-family:inherit}@media (hover: hover) and (pointer: fine){:host:hover:not(.granite-title):not([disabled]){background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}@media (hover: none) and (pointer: coarse){:host:active:not(.granite-title):not([disabled]){background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}:host.granite-title{-webkit-user-select:none;user-select:none;display:flex;align-items:center;line-height:1.5rem;width:100%;outline:none;border:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:var(--granite-color-text);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-bold);cursor:default}:host.cdk-program-focused,:host.cdk-keyboard-focused,:host.granite-menu-item-highlighted{background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}:host granite-icon{position:absolute;font-size:var(--granite-font-size-body-small);color:inherit;top:50%;transform:translateY(-50%)}:host.granite-menu-item-submenu-trigger{padding-inline-end:var(--granite-spacing-24)}html[dir=ltr] :host.granite-menu-item-submenu-trigger granite-icon{right:var(--granite-spacing-4)}:host-context([dir=ltr]) :host.granite-menu-item-submenu-trigger granite-icon{right:var(--granite-spacing-4)}html[dir=rtl] :host.granite-menu-item-submenu-trigger granite-icon{left:var(--granite-spacing-4)}:host-context([dir=rtl]) :host.granite-menu-item-submenu-trigger granite-icon{left:var(--granite-spacing-4)}[dir=rtl] :host.granite-menu-item-submenu-trigger granite-icon.caret-right{display:none}[dir=ltr] :host.granite-menu-item-submenu-trigger granite-icon.caret-left{display:none}:host.granite-divider-top{border-top:.0625rem solid var(--granite-color-border-soft)}:host.granite-divider-bottom{border-bottom:.0625rem solid var(--granite-color-border-soft)}:host.granite-device-output-touch{line-height:3rem;font-size:var(--granite-font-size-body-small);text-align:center;padding:0 var(--granite-spacing-24)}:host.granite-device-output-touch.granite-title{padding:0;justify-content:center;line-height:1.5rem;font-size:var(--granite-font-size-micro)}:host.granite-device-output-touch.granite-menu-item-back-trigger,:host.granite-device-output-touch.granite-menu-item-submenu-trigger{padding:0 var(--granite-spacing-24)}:host.granite-device-output-touch.granite-menu-item-title{line-height:3rem;height:3rem;font-size:var(--granite-font-size-micro);color:var(--granite-color-text-weak)}@media (hover: none) and (pointer: coarse){:host.granite-device-output-touch.granite-menu-item-title:active{background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}html[dir=ltr] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{left:var(--granite-spacing-4)}:host-context([dir=ltr]) :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{left:var(--granite-spacing-4)}html[dir=rtl] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{right:var(--granite-spacing-4)}:host-context([dir=rtl]) :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{right:var(--granite-spacing-4)}[dir=rtl] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon.caret-left{display:none}[dir=ltr] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon.caret-right{display:none}:host:disabled:not(.granite-menu-item-title){opacity:.4;cursor:default}\n"] }]
12
12
  }] });
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS10b3VjaC1jbG9zZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL21lbnUvbWVudS10b3VjaC1jbG9zZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZMUMsTUFBTSxPQUFPLDhCQUE4Qjs7MkhBQTlCLDhCQUE4QjsrR0FBOUIsOEJBQThCLG1MQVAvQiwyQkFBMkI7MkZBTzFCLDhCQUE4QjtrQkFWMUMsU0FBUzsrQkFFRSw2QkFBNkIsWUFDN0IsMkJBQTJCLFlBQzNCLDJCQUEyQixRQUUvQjt3QkFDSixxQ0FBcUMsRUFBRSxNQUFNO3FCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbZ3Jhbml0ZU1lbnVUb3VjaENsb3NlSXRlbV0nLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBleHBvcnRBczogJ2dyYW5pdGVNZW51VG91Y2hDbG9zZUl0ZW0nLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuZ3Jhbml0ZS1kZXZpY2Utb3V0cHV0LXRvdWNoXSc6ICd0cnVlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZU1lbnVUb3VjaENsb3NlQ29tcG9uZW50IHt9XG4iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS10b3VjaC1jbG9zZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL21lbnUvbWVudS10b3VjaC1jbG9zZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZMUMsTUFBTSxPQUFPLDhCQUE4QjsrR0FBOUIsOEJBQThCO21HQUE5Qiw4QkFBOEIsbUxBUC9CLDJCQUEyQjs7NEZBTzFCLDhCQUE4QjtrQkFWMUMsU0FBUzsrQkFFRSw2QkFBNkIsWUFDN0IsMkJBQTJCLFlBQzNCLDJCQUEyQixRQUUvQjt3QkFDSixxQ0FBcUMsRUFBRSxNQUFNO3FCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbZ3Jhbml0ZU1lbnVUb3VjaENsb3NlSXRlbV0nLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICBleHBvcnRBczogJ2dyYW5pdGVNZW51VG91Y2hDbG9zZUl0ZW0nLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuZ3Jhbml0ZS1kZXZpY2Utb3V0cHV0LXRvdWNoXSc6ICd0cnVlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgR3Jhbml0ZU1lbnVUb3VjaENsb3NlQ29tcG9uZW50IHt9XG4iXX0=
@@ -16,9 +16,8 @@ export class GraniteMenuTouchTitleItemComponent {
16
16
  this._triggersBack = false;
17
17
  this._triggersBack = !!_parentMenu.parentMenu;
18
18
  }
19
- }
20
- GraniteMenuTouchTitleItemComponentfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteMenuTouchTitleItemComponent, deps: [{ token: GRANITE_MENU_PANEL, optional: true }], target: i0.ɵɵFactoryTarget.Component });
21
- GraniteMenuTouchTitleItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GraniteMenuTouchTitleItemComponent, selector: "[graniteMenuTouchTitleItem]", host: { properties: { "class.granite-menu-item-title": "true", "class.granite-menu-item-back-trigger": "_triggersBack", "class.granite-device-output-touch": "true" } }, exportAs: ["graniteMenuTouchTitleItem"], ngImport: i0, template: `
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteMenuTouchTitleItemComponent, deps: [{ token: GRANITE_MENU_PANEL, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { thiscmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteMenuTouchTitleItemComponent, selector: "[graniteMenuTouchTitleItem]", host: { properties: { "class.granite-menu-item-title": "true", "class.granite-menu-item-back-trigger": "_triggersBack", "class.granite-device-output-touch": "true" } }, exportAs: ["graniteMenuTouchTitleItem"], ngImport: i0, template: `
22
21
  <ng-container *ngIf="_triggersBack">
23
22
  <granite-icon
24
23
  class="caret-left"
@@ -30,8 +29,9 @@ GraniteMenuTouchTitleItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersio
30
29
  ></granite-icon>
31
30
  </ng-container>
32
31
  <ng-content></ng-content>
33
- `, isInline: true, styles: [":host{display:block;position:relative;line-height:2rem;padding:0 var(--granite-spacing-8);width:100%;max-width:100%;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:start;text-decoration:none;background-color:var(--granite-color-background-variant);color:var(--granite-color-text);font-size:var(--granite-font-size-body-small);font-family:inherit}@media (hover: hover) and (pointer: fine){:host:hover:not(.granite-title):not([disabled]){background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}@media (hover: none) and (pointer: coarse){:host:active:not(.granite-title):not([disabled]){background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}:host.granite-title{-webkit-user-select:none;user-select:none;display:flex;align-items:center;line-height:1.5rem;width:100%;outline:none;border:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:var(--granite-color-text);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-bold);cursor:default}:host.cdk-program-focused,:host.cdk-keyboard-focused,:host.granite-menu-item-highlighted{background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}:host granite-icon{position:absolute;font-size:var(--granite-font-size-body-small);color:inherit;top:50%;transform:translateY(-50%)}:host.granite-menu-item-submenu-trigger{padding-inline-end:var(--granite-spacing-24)}html[dir=ltr] :host.granite-menu-item-submenu-trigger granite-icon{right:var(--granite-spacing-4)}:host-context([dir=ltr]) :host.granite-menu-item-submenu-trigger granite-icon{right:var(--granite-spacing-4)}html[dir=rtl] :host.granite-menu-item-submenu-trigger granite-icon{left:var(--granite-spacing-4)}:host-context([dir=rtl]) :host.granite-menu-item-submenu-trigger granite-icon{left:var(--granite-spacing-4)}[dir=rtl] :host.granite-menu-item-submenu-trigger granite-icon.caret-right{display:none}[dir=ltr] :host.granite-menu-item-submenu-trigger granite-icon.caret-left{display:none}:host.granite-divider-top{border-top:.0625rem solid var(--granite-color-border-soft)}:host.granite-divider-bottom{border-bottom:.0625rem solid var(--granite-color-border-soft)}:host.granite-device-output-touch{line-height:3rem;font-size:var(--granite-font-size-body-small);text-align:center;padding:0 var(--granite-spacing-24)}:host.granite-device-output-touch.granite-title{padding:0;justify-content:center;line-height:1.5rem;font-size:var(--granite-font-size-micro)}:host.granite-device-output-touch.granite-menu-item-back-trigger,:host.granite-device-output-touch.granite-menu-item-submenu-trigger{padding:0 var(--granite-spacing-24)}:host.granite-device-output-touch.granite-menu-item-title{line-height:3rem;height:3rem;font-size:var(--granite-font-size-micro);color:var(--granite-color-text-weak)}@media (hover: none) and (pointer: coarse){:host.granite-device-output-touch.granite-menu-item-title:active{background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}html[dir=ltr] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{left:var(--granite-spacing-4)}:host-context([dir=ltr]) :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{left:var(--granite-spacing-4)}html[dir=rtl] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{right:var(--granite-spacing-4)}:host-context([dir=rtl]) :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{right:var(--granite-spacing-4)}[dir=rtl] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon.caret-left{display:none}[dir=ltr] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon.caret-right{display:none}:host:disabled:not(.granite-menu-item-title){opacity:.4;cursor:default}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }] });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteMenuTouchTitleItemComponent, decorators: [{
32
+ `, isInline: true, styles: [":host{display:block;position:relative;line-height:2rem;padding:0 var(--granite-spacing-8);width:100%;max-width:100%;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:start;text-decoration:none;background-color:var(--granite-color-background-variant);color:var(--granite-color-text);font-size:var(--granite-font-size-body-small);font-family:inherit}@media (hover: hover) and (pointer: fine){:host:hover:not(.granite-title):not([disabled]){background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}@media (hover: none) and (pointer: coarse){:host:active:not(.granite-title):not([disabled]){background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}:host.granite-title{-webkit-user-select:none;user-select:none;display:flex;align-items:center;line-height:1.5rem;width:100%;outline:none;border:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;color:var(--granite-color-text);font-size:var(--granite-font-size-micro);font-weight:var(--granite-font-weight-bold);cursor:default}:host.cdk-program-focused,:host.cdk-keyboard-focused,:host.granite-menu-item-highlighted{background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}:host granite-icon{position:absolute;font-size:var(--granite-font-size-body-small);color:inherit;top:50%;transform:translateY(-50%)}:host.granite-menu-item-submenu-trigger{padding-inline-end:var(--granite-spacing-24)}html[dir=ltr] :host.granite-menu-item-submenu-trigger granite-icon{right:var(--granite-spacing-4)}:host-context([dir=ltr]) :host.granite-menu-item-submenu-trigger granite-icon{right:var(--granite-spacing-4)}html[dir=rtl] :host.granite-menu-item-submenu-trigger granite-icon{left:var(--granite-spacing-4)}:host-context([dir=rtl]) :host.granite-menu-item-submenu-trigger granite-icon{left:var(--granite-spacing-4)}[dir=rtl] :host.granite-menu-item-submenu-trigger granite-icon.caret-right{display:none}[dir=ltr] :host.granite-menu-item-submenu-trigger granite-icon.caret-left{display:none}:host.granite-divider-top{border-top:.0625rem solid var(--granite-color-border-soft)}:host.granite-divider-bottom{border-bottom:.0625rem solid var(--granite-color-border-soft)}:host.granite-device-output-touch{line-height:3rem;font-size:var(--granite-font-size-body-small);text-align:center;padding:0 var(--granite-spacing-24)}:host.granite-device-output-touch.granite-title{padding:0;justify-content:center;line-height:1.5rem;font-size:var(--granite-font-size-micro)}:host.granite-device-output-touch.granite-menu-item-back-trigger,:host.granite-device-output-touch.granite-menu-item-submenu-trigger{padding:0 var(--granite-spacing-24)}:host.granite-device-output-touch.granite-menu-item-title{line-height:3rem;height:3rem;font-size:var(--granite-font-size-micro);color:var(--granite-color-text-weak)}@media (hover: none) and (pointer: coarse){:host.granite-device-output-touch.granite-menu-item-title:active{background:var(--granite-color-background-active-hover);color:var(--granite-color-text-on-active)}}html[dir=ltr] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{left:var(--granite-spacing-4)}:host-context([dir=ltr]) :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{left:var(--granite-spacing-4)}html[dir=rtl] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{right:var(--granite-spacing-4)}:host-context([dir=rtl]) :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon{right:var(--granite-spacing-4)}[dir=rtl] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon.caret-left{display:none}[dir=ltr] :host.granite-device-output-touch.granite-menu-item-back-trigger granite-icon.caret-right{display:none}:host:disabled:not(.granite-menu-item-title){opacity:.4;cursor:default}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GraniteIconComponent, selector: "granite-icon", inputs: ["fontIcon"] }] }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteMenuTouchTitleItemComponent, decorators: [{
35
35
  type: Component,
36
36
  args: [{ selector: '[graniteMenuTouchTitleItem]', template: `
37
37
  <ng-container *ngIf="_triggersBack">
@@ -56,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
56
56
  }, {
57
57
  type: Optional
58
58
  }] }]; } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS10b3VjaC10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL21lbnUvbWVudS10b3VjaC10aXRsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7O0FBMEJqRCxNQUFNLE9BQU8sa0NBQWtDO0lBTzdDO0lBQ0UsNEVBQTRFO0lBRzVFLFdBQStCO1FBVmpDOzs7V0FHRztRQUNILGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBUTdCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7SUFDaEQsQ0FBQzs7K0hBZFUsa0NBQWtDLGtCQVNuQyxrQkFBa0I7bUhBVGpCLGtDQUFrQyxxUkFyQm5DOzs7Ozs7Ozs7Ozs7R0FZVDsyRkFTVSxrQ0FBa0M7a0JBeEI5QyxTQUFTOytCQUVFLDZCQUE2QixZQUM3Qjs7Ozs7Ozs7Ozs7O0dBWVQsWUFDUywyQkFBMkIsUUFFL0I7d0JBQ0osaUNBQWlDLEVBQUUsTUFBTTt3QkFDekMsd0NBQXdDLEVBQUUsZUFBZTt3QkFDekQscUNBQXFDLEVBQUUsTUFBTTtxQkFDOUM7OzBCQVdFLE1BQU07MkJBQUMsa0JBQWtCOzswQkFDekIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR1JBTklURV9NRU5VX1BBTkVMIH0gZnJvbSAnLi9tZW51LXBhbmVsJztcbmltcG9ydCB7IF9NZW51QmFzZUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1iYXNlJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW2dyYW5pdGVNZW51VG91Y2hUaXRsZUl0ZW1dJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3RyaWdnZXJzQmFja1wiPlxuICAgICAgPGdyYW5pdGUtaWNvblxuICAgICAgICBjbGFzcz1cImNhcmV0LWxlZnRcIlxuICAgICAgICBbZm9udEljb25dPVwiJ2ljb24tY2FyZXQtbGVmdCdcIlxuICAgICAgPjwvZ3Jhbml0ZS1pY29uPlxuICAgICAgPGdyYW5pdGUtaWNvblxuICAgICAgICBjbGFzcz1cImNhcmV0LXJpZ2h0XCJcbiAgICAgICAgW2ZvbnRJY29uXT1cIidpY29uLWNhcmV0LXJpZ2h0J1wiXG4gICAgICA+PC9ncmFuaXRlLWljb24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBgLFxuICBleHBvcnRBczogJ2dyYW5pdGVNZW51VG91Y2hUaXRsZUl0ZW0nLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuZ3Jhbml0ZS1tZW51LWl0ZW0tdGl0bGVdJzogJ3RydWUnLFxuICAgICdbY2xhc3MuZ3Jhbml0ZS1tZW51LWl0ZW0tYmFjay10cmlnZ2VyXSc6ICdfdHJpZ2dlcnNCYWNrJyxcbiAgICAnW2NsYXNzLmdyYW5pdGUtZGV2aWNlLW91dHB1dC10b3VjaF0nOiAndHJ1ZScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVNZW51VG91Y2hUaXRsZUl0ZW1Db21wb25lbnQge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBpdGVtIGFjdHMgYXMgYSB0cmlnZ2VyIHRvIHJldHVybiB0byBhIHBhcmVudCBtZW51XG4gICAqICh1c2VkIGZvciBzdHlsaW5nKVxuICAgKi9cbiAgX3RyaWdnZXJzQmFjazogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKiBJZiB0aGlzIGlzIGFuIGl0ZW0gb24gYSBfc3VibWVudV8sIGl0cyBwYXJlbnQgbWVudSB3aWxsIGhhdmUgYSBwYXJlbnQgKi9cbiAgICBASW5qZWN0KEdSQU5JVEVfTUVOVV9QQU5FTClcbiAgICBAT3B0aW9uYWwoKVxuICAgIF9wYXJlbnRNZW51OiBfTWVudUJhc2VDb21wb25lbnRcbiAgKSB7XG4gICAgdGhpcy5fdHJpZ2dlcnNCYWNrID0gISFfcGFyZW50TWVudS5wYXJlbnRNZW51O1xuICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS10b3VjaC10aXRsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2dyYW5pdGUtY29tcG9uZW50cy9zcmMvbGliL21lbnUvbWVudS10b3VjaC10aXRsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7O0FBMEJqRCxNQUFNLE9BQU8sa0NBQWtDO0lBTzdDO0lBQ0UsNEVBQTRFO0lBRzVFLFdBQStCO1FBVmpDOzs7V0FHRztRQUNILGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBUTdCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7SUFDaEQsQ0FBQzsrR0FkVSxrQ0FBa0Msa0JBU25DLGtCQUFrQjttR0FUakIsa0NBQWtDLHFSQXJCbkM7Ozs7Ozs7Ozs7OztHQVlUOzs0RkFTVSxrQ0FBa0M7a0JBeEI5QyxTQUFTOytCQUVFLDZCQUE2QixZQUM3Qjs7Ozs7Ozs7Ozs7O0dBWVQsWUFDUywyQkFBMkIsUUFFL0I7d0JBQ0osaUNBQWlDLEVBQUUsTUFBTTt3QkFDekMsd0NBQXdDLEVBQUUsZUFBZTt3QkFDekQscUNBQXFDLEVBQUUsTUFBTTtxQkFDOUM7OzBCQVdFLE1BQU07MkJBQUMsa0JBQWtCOzswQkFDekIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR1JBTklURV9NRU5VX1BBTkVMIH0gZnJvbSAnLi9tZW51LXBhbmVsJztcbmltcG9ydCB7IF9NZW51QmFzZUNvbXBvbmVudCB9IGZyb20gJy4vbWVudS1iYXNlJztcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW2dyYW5pdGVNZW51VG91Y2hUaXRsZUl0ZW1dJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3RyaWdnZXJzQmFja1wiPlxuICAgICAgPGdyYW5pdGUtaWNvblxuICAgICAgICBjbGFzcz1cImNhcmV0LWxlZnRcIlxuICAgICAgICBbZm9udEljb25dPVwiJ2ljb24tY2FyZXQtbGVmdCdcIlxuICAgICAgPjwvZ3Jhbml0ZS1pY29uPlxuICAgICAgPGdyYW5pdGUtaWNvblxuICAgICAgICBjbGFzcz1cImNhcmV0LXJpZ2h0XCJcbiAgICAgICAgW2ZvbnRJY29uXT1cIidpY29uLWNhcmV0LXJpZ2h0J1wiXG4gICAgICA+PC9ncmFuaXRlLWljb24+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICBgLFxuICBleHBvcnRBczogJ2dyYW5pdGVNZW51VG91Y2hUaXRsZUl0ZW0nLFxuICBzdHlsZVVybHM6IFsnLi9tZW51LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuZ3Jhbml0ZS1tZW51LWl0ZW0tdGl0bGVdJzogJ3RydWUnLFxuICAgICdbY2xhc3MuZ3Jhbml0ZS1tZW51LWl0ZW0tYmFjay10cmlnZ2VyXSc6ICdfdHJpZ2dlcnNCYWNrJyxcbiAgICAnW2NsYXNzLmdyYW5pdGUtZGV2aWNlLW91dHB1dC10b3VjaF0nOiAndHJ1ZScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIEdyYW5pdGVNZW51VG91Y2hUaXRsZUl0ZW1Db21wb25lbnQge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgbWVudSBpdGVtIGFjdHMgYXMgYSB0cmlnZ2VyIHRvIHJldHVybiB0byBhIHBhcmVudCBtZW51XG4gICAqICh1c2VkIGZvciBzdHlsaW5nKVxuICAgKi9cbiAgX3RyaWdnZXJzQmFjazogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKiBJZiB0aGlzIGlzIGFuIGl0ZW0gb24gYSBfc3VibWVudV8sIGl0cyBwYXJlbnQgbWVudSB3aWxsIGhhdmUgYSBwYXJlbnQgKi9cbiAgICBASW5qZWN0KEdSQU5JVEVfTUVOVV9QQU5FTClcbiAgICBAT3B0aW9uYWwoKVxuICAgIF9wYXJlbnRNZW51OiBfTWVudUJhc2VDb21wb25lbnRcbiAgKSB7XG4gICAgdGhpcy5fdHJpZ2dlcnNCYWNrID0gISFfcGFyZW50TWVudS5wYXJlbnRNZW51O1xuICB9XG59XG4iXX0=