@coolon/angular-ui-powerups 16.1.0-aplpha.18 → 16.1.0-aplpha.180

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 (251) hide show
  1. package/assets/activities/activities.scss +5 -3
  2. package/assets/activities/input-activities.scss +14 -6
  3. package/assets/draw.scss +20 -0
  4. package/assets/form.scss +74 -27
  5. package/assets/icons.scss +1 -0
  6. package/assets/layout.scss +3 -0
  7. package/assets/styles.scss +2 -0
  8. package/assets/table.scss +41 -19
  9. package/assets/tabs.scss +15 -5
  10. package/esm2022/lib/animations/slide-animations.mjs +15 -10
  11. package/esm2022/lib/components/cards/abstract-card-container.component.mjs +28 -5
  12. package/esm2022/lib/components/cards/card-container/card-container.component.mjs +4 -4
  13. package/esm2022/lib/components/commands/button-renderer/button-renderer.component.mjs +115 -0
  14. package/esm2022/lib/components/commands/command/command.component.mjs +34 -29
  15. package/esm2022/lib/components/commands/command-face/command-face.component.mjs +11 -3
  16. package/esm2022/lib/components/commands/command-face.mjs +12 -11
  17. package/esm2022/lib/components/commands/group/popup-aware.component.mjs +31 -8
  18. package/esm2022/lib/components/commands/group/popup-menu/abstract-popup-menu.component.mjs +25 -23
  19. package/esm2022/lib/components/commands/group/popup-menu/more-menu.component.mjs +11 -20
  20. package/esm2022/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.mjs +12 -7
  21. package/esm2022/lib/components/commands/group/popup-menu/popup-menu.component.mjs +11 -20
  22. package/esm2022/lib/components/commands/group/tool-bar/tool-bar.component.mjs +8 -6
  23. package/esm2022/lib/components/commands/separator.component.mjs +6 -12
  24. package/esm2022/lib/components/components.module.mjs +55 -30
  25. package/esm2022/lib/components/disposable-component.mjs +32 -7
  26. package/esm2022/lib/components/exports.mjs +14 -5
  27. package/esm2022/lib/components/file/file-download/file-download.component.mjs +78 -0
  28. package/esm2022/lib/components/forms/abstract-input.component.mjs +55 -12
  29. package/esm2022/lib/components/forms/autocomplete-input/autocomplete-input.component.mjs +4 -4
  30. package/esm2022/lib/components/forms/checkbox-input/checkbox-input.component.mjs +8 -6
  31. package/esm2022/lib/components/forms/form-field.mjs +2 -0
  32. package/esm2022/lib/components/forms/multiple-select-input/multiple-select-input.component.mjs +4 -4
  33. package/esm2022/lib/components/forms/number-input/number-input.component.mjs +85 -9
  34. package/esm2022/lib/components/forms/password-input/password-input.component.mjs +40 -3
  35. package/esm2022/lib/components/forms/search-input/search-input.component.mjs +33 -0
  36. package/esm2022/lib/components/forms/select-input/select-input.component.mjs +11 -10
  37. package/esm2022/lib/components/forms/string-input/string-input.component.mjs +30 -11
  38. package/esm2022/lib/components/forms/text-input/text-input.component.mjs +8 -4
  39. package/esm2022/lib/components/icon/icon.component.mjs +7 -4
  40. package/esm2022/lib/components/loadable-component.mjs +21 -10
  41. package/esm2022/lib/components/resize-aware.component.mjs +61 -24
  42. package/esm2022/lib/components/switch-case/switch-case.component.mjs +5 -7
  43. package/esm2022/lib/components/tables/abstract-table-model.mjs +112 -63
  44. package/esm2022/lib/components/tables/abstract-table.component.mjs +19 -5
  45. package/esm2022/lib/components/tables/column/column-manager.mjs +81 -0
  46. package/esm2022/lib/components/tables/column/column-model.mjs +16 -6
  47. package/esm2022/lib/components/tables/column/column-order-manager.mjs +19 -0
  48. package/esm2022/lib/components/tables/column/custom-template-column-model.mjs +3 -3
  49. package/esm2022/lib/components/tables/column/custom-value-column-model.mjs +3 -3
  50. package/esm2022/lib/components/tables/column/editor-controls-column-model.mjs +3 -3
  51. package/esm2022/lib/components/tables/column/list-propery-column-model.mjs +3 -3
  52. package/esm2022/lib/components/tables/column/property-column-model.mjs +3 -3
  53. package/esm2022/lib/components/tables/column/selection-column-model.mjs +35 -13
  54. package/esm2022/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.mjs +2 -2
  55. package/esm2022/lib/components/tables/editor/edit-session.mjs +1 -1
  56. package/esm2022/lib/components/tables/filter/table-filter-model.mjs +4 -2
  57. package/esm2022/lib/components/tables/filter/text-search-predicate.mjs +16 -2
  58. package/esm2022/lib/components/tables/footer/footer-row-model.mjs +38 -0
  59. package/esm2022/lib/components/tables/paginator/paginator.component.mjs +1 -1
  60. package/esm2022/lib/components/tables/renderer/abstract-cell-renderer.mjs +7 -0
  61. package/esm2022/lib/components/tables/renderer/cell-portal-ref.mjs +23 -5
  62. package/esm2022/lib/components/tables/renderer/default-cell-renderer/default-cell-renderer.component.mjs +3 -3
  63. package/esm2022/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.mjs +7 -4
  64. package/esm2022/lib/components/tables/renderer/table-action-column/menu-builder.mjs +2 -0
  65. package/esm2022/lib/components/tables/renderer/table-action-column/table-action-column.component.mjs +153 -0
  66. package/esm2022/lib/components/tables/renderer/table-body/table-body.component.mjs +150 -40
  67. package/esm2022/lib/components/tables/renderer/table-cell/table-cell.component.mjs +6 -6
  68. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.mjs +45 -0
  69. package/esm2022/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu.component.mjs +71 -0
  70. package/esm2022/lib/components/tables/renderer/table-footer-row/table-footer-row.component.mjs +30 -0
  71. package/esm2022/lib/components/tables/table/table-model.mjs +12 -3
  72. package/esm2022/lib/components/tables/table/table.component.mjs +39 -61
  73. package/esm2022/lib/components/tables/tree-table/decorated-tree-node.mjs +5 -4
  74. package/esm2022/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.mjs +1 -1
  75. package/esm2022/lib/components/tables/tree-table/tree-label-column-model.mjs +3 -3
  76. package/esm2022/lib/components/tables/tree-table/tree-table-component.mjs +12 -5
  77. package/esm2022/lib/components/tables/tree-table/tree-table-model.mjs +4 -7
  78. package/esm2022/lib/components/text/markdown/markdown.component.mjs +2 -2
  79. package/esm2022/lib/directives/command.directive.mjs +18 -7
  80. package/esm2022/lib/directives/directives.module.mjs +1 -1
  81. package/esm2022/lib/directives/exports.mjs +2 -1
  82. package/esm2022/lib/directives/highlight.pipe.mjs +9 -8
  83. package/esm2022/lib/directives/resize-observer.directive.mjs +40 -0
  84. package/esm2022/lib/interaction/abstract-interaction-context.mjs +6 -7
  85. package/esm2022/lib/interaction/activity-context.mjs +4 -0
  86. package/esm2022/lib/interaction/activity.mjs +20 -21
  87. package/esm2022/lib/interaction/alert.mjs +2 -2
  88. package/esm2022/lib/interaction/components/abstract-confirm-dialog.component.mjs +11 -8
  89. package/esm2022/lib/interaction/components/abstract-dialog.component.mjs +1 -41
  90. package/esm2022/lib/interaction/components/activity-actions/activity-actions.component.mjs +28 -16
  91. package/esm2022/lib/interaction/components/activity-body/activity-body.component.mjs +8 -2
  92. package/esm2022/lib/interaction/components/activity-container/activity-container.component.mjs +46 -15
  93. package/esm2022/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.mjs +53 -15
  94. package/esm2022/lib/interaction/components/activity-title/activity-title.component.mjs +4 -4
  95. package/esm2022/lib/interaction/components/activity-triggers/inline-activity-trigger/inline-activity-trigger.component.mjs +1 -1
  96. package/esm2022/lib/interaction/components/add-card-activity/add-card-activity.component.mjs +1 -1
  97. package/esm2022/lib/interaction/components/add-item-interaction-context/add-item-interaction-context.component.mjs +1 -1
  98. package/esm2022/lib/interaction/components/alert-dialog/alert-dialog.component.mjs +10 -10
  99. package/esm2022/lib/interaction/components/alert-renderer/alert-renderer.component.mjs +55 -0
  100. package/esm2022/lib/interaction/components/confirm-renderer/confirm-renderer.component.mjs +54 -0
  101. package/esm2022/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.mjs +4 -8
  102. package/esm2022/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.mjs +4 -8
  103. package/esm2022/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.mjs +7 -9
  104. package/esm2022/lib/interaction/components/editors/edit-context.mjs +1 -1
  105. package/esm2022/lib/interaction/components/editors/inline-string-editor/inline-string-editor.component.mjs +4 -4
  106. package/esm2022/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.mjs +21 -5
  107. package/esm2022/lib/interaction/components/input-activities/input-activity.mjs +2 -2
  108. package/esm2022/lib/interaction/components/input-activities/select-input-activity.mjs +4 -2
  109. package/esm2022/lib/interaction/components/input-activities/string-input-activity.mjs +8 -4
  110. package/esm2022/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.mjs +134 -0
  111. package/esm2022/lib/interaction/confirm.mjs +26 -2
  112. package/esm2022/lib/interaction/directives/interaction-context-trigger-for.directive.mjs +2 -2
  113. package/esm2022/lib/interaction/exports.mjs +6 -1
  114. package/esm2022/lib/interaction/interaction-context-provider.mjs +17 -0
  115. package/esm2022/lib/interaction/interaction-context.mjs +3 -2
  116. package/esm2022/lib/interaction/interaction.module.mjs +22 -14
  117. package/esm2022/lib/interaction/services/interaction-service-routing-adapter.mjs +4 -4
  118. package/esm2022/lib/interaction/services/interaction.service.mjs +18 -6
  119. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.mjs +2 -2
  120. package/esm2022/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.mjs +23 -4
  121. package/esm2022/lib/place/components/list-place-nav/list-place-nav.component.mjs +4 -5
  122. package/esm2022/lib/place/components/place-outlet/place-outlet.component.mjs +7 -9
  123. package/esm2022/lib/place/components/side-place-navigation/side-place-navigation.component.mjs +2 -2
  124. package/esm2022/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.mjs +1 -1
  125. package/esm2022/lib/place/guards/consolidated-param-map.mjs +4 -4
  126. package/esm2022/lib/place/guards/place.guard.mjs +6 -5
  127. package/esm2022/lib/place/navigation/place-component-deactivation-handler.mjs +2 -2
  128. package/esm2022/lib/place/navigation/session/interactions/synchronise-interaction-context-ids-with-route.mjs +3 -6
  129. package/esm2022/lib/place/navigation/session/navigation-session.mjs +2 -2
  130. package/esm2022/lib/place/place-auth-service.mjs +7 -6
  131. package/esm2022/lib/place/place-component.mjs +29 -19
  132. package/esm2022/lib/place/place-definition.mjs +15 -4
  133. package/esm2022/lib/place/place-history.mjs +2 -2
  134. package/esm2022/lib/place/place-router.mjs +27 -23
  135. package/esm2022/lib/place/place.decorator.mjs +2 -2
  136. package/esm2022/lib/place/place.module.mjs +1 -5
  137. package/esm2022/lib/place/route/formatter.mjs +2 -2
  138. package/esm2022/lib/place/route/parameter-decorators.mjs +54 -50
  139. package/esm2022/lib/place/route/parameter-definition.mjs +2 -2
  140. package/esm2022/lib/place/url-snapshot.mjs +3 -3
  141. package/esm2022/lib/place/visit-segment.mjs +2 -2
  142. package/esm2022/lib/place/visit.mjs +2 -2
  143. package/esm2022/lib/services/exports.mjs +2 -1
  144. package/esm2022/lib/services/loading-monitor.mjs +83 -0
  145. package/fesm2022/coolon-angular-ui-powerups.mjs +2543 -1086
  146. package/fesm2022/coolon-angular-ui-powerups.mjs.map +1 -1
  147. package/lib/animations/slide-animations.d.ts +1 -0
  148. package/lib/components/cards/abstract-card-container.component.d.ts +6 -3
  149. package/lib/components/cards/card-container/card-container.component.d.ts +1 -1
  150. package/lib/components/commands/button-renderer/button-renderer.component.d.ts +30 -0
  151. package/lib/components/commands/command/command.component.d.ts +8 -8
  152. package/lib/components/commands/command-face/command-face.component.d.ts +2 -0
  153. package/lib/components/commands/command-face.d.ts +8 -9
  154. package/lib/components/commands/group/popup-aware.component.d.ts +9 -4
  155. package/lib/components/commands/group/popup-menu/abstract-popup-menu.component.d.ts +4 -4
  156. package/lib/components/commands/group/popup-menu/more-menu.component.d.ts +2 -4
  157. package/lib/components/commands/group/popup-menu/popup-menu-renderer/popup-menu-renderer.component.d.ts +2 -0
  158. package/lib/components/commands/group/popup-menu/popup-menu.component.d.ts +2 -4
  159. package/lib/components/commands/group/tool-bar/tool-bar.component.d.ts +1 -1
  160. package/lib/components/commands/separator.component.d.ts +2 -4
  161. package/lib/components/components.module.d.ts +60 -55
  162. package/lib/components/disposable-component.d.ts +16 -3
  163. package/lib/components/exports.d.ts +13 -4
  164. package/lib/components/file/file-download/file-download.component.d.ts +43 -0
  165. package/lib/components/forms/abstract-input.component.d.ts +13 -5
  166. package/lib/components/forms/checkbox-input/checkbox-input.component.d.ts +2 -0
  167. package/lib/components/forms/form-field.d.ts +5 -0
  168. package/lib/components/forms/number-input/number-input.component.d.ts +16 -4
  169. package/lib/components/forms/password-input/password-input.component.d.ts +7 -1
  170. package/lib/components/forms/search-input/search-input.component.d.ts +10 -0
  171. package/lib/components/forms/select-input/select-input.component.d.ts +4 -3
  172. package/lib/components/forms/string-input/string-input.component.d.ts +7 -1
  173. package/lib/components/forms/text-input/text-input.component.d.ts +3 -0
  174. package/lib/components/loadable-component.d.ts +10 -5
  175. package/lib/components/resize-aware.component.d.ts +24 -5
  176. package/lib/components/switch-case/switch-case.component.d.ts +2 -3
  177. package/lib/components/tables/abstract-table-model.d.ts +50 -25
  178. package/lib/components/tables/abstract-table.component.d.ts +4 -3
  179. package/lib/components/tables/column/column-manager.d.ts +19 -0
  180. package/lib/components/tables/column/column-model.d.ts +7 -3
  181. package/lib/components/tables/column/column-order-manager.d.ts +20 -0
  182. package/lib/components/tables/column/custom-template-column-model.d.ts +3 -2
  183. package/lib/components/tables/column/custom-value-column-model.d.ts +3 -2
  184. package/lib/components/tables/column/editor-controls-column-model.d.ts +3 -2
  185. package/lib/components/tables/column/list-propery-column-model.d.ts +3 -2
  186. package/lib/components/tables/column/property-column-model.d.ts +3 -2
  187. package/lib/components/tables/column/selection-column-model.d.ts +10 -4
  188. package/lib/components/tables/editor/edit-row-controls/edit-row-controls.component.d.ts +1 -1
  189. package/lib/components/tables/editor/edit-session.d.ts +1 -1
  190. package/lib/components/tables/filter/text-search-predicate.d.ts +9 -0
  191. package/lib/components/tables/footer/footer-row-model.d.ts +22 -0
  192. package/lib/components/tables/renderer/abstract-cell-renderer.d.ts +6 -0
  193. package/lib/components/tables/renderer/cell-portal-ref.d.ts +20 -12
  194. package/lib/components/tables/renderer/select-header-cell/selection-header-cell.component.d.ts +1 -1
  195. package/lib/components/tables/renderer/table-action-column/menu-builder.d.ts +7 -0
  196. package/lib/components/tables/renderer/table-action-column/table-action-column.component.d.ts +42 -0
  197. package/lib/components/tables/renderer/table-body/table-body.component.d.ts +40 -16
  198. package/lib/components/tables/renderer/table-cell/table-cell.component.d.ts +2 -3
  199. package/lib/components/tables/renderer/table-custom-more-menu/table-custom-more-menu-popup.component.d.ts +19 -0
  200. package/lib/components/tables/renderer/{table-more-menu/table-more-menu.component.d.ts → table-custom-more-menu/table-custom-more-menu.component.d.ts} +8 -7
  201. package/lib/components/tables/renderer/table-footer-row/table-footer-row.component.d.ts +11 -0
  202. package/lib/components/tables/table/table-model.d.ts +4 -4
  203. package/lib/components/tables/table/table.component.d.ts +14 -10
  204. package/lib/components/tables/tree-table/tree-label-cell-renderer/tree-label-cell-renderer.component.d.ts +1 -1
  205. package/lib/components/tables/tree-table/tree-label-column-model.d.ts +3 -2
  206. package/lib/components/tables/tree-table/tree-table-component.d.ts +3 -0
  207. package/lib/components/tables/tree-table/tree-table-model.d.ts +4 -5
  208. package/lib/directives/command.directive.d.ts +6 -4
  209. package/lib/directives/exports.d.ts +1 -0
  210. package/lib/directives/resize-observer.directive.d.ts +16 -0
  211. package/lib/interaction/abstract-interaction-context.d.ts +1 -1
  212. package/lib/interaction/activity-context.d.ts +9 -0
  213. package/lib/interaction/activity.d.ts +7 -7
  214. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +2 -1
  215. package/lib/interaction/components/abstract-dialog.component.d.ts +5 -14
  216. package/lib/interaction/components/activity-actions/activity-actions.component.d.ts +12 -9
  217. package/lib/interaction/components/activity-body/activity-body.component.d.ts +2 -1
  218. package/lib/interaction/components/activity-container/activity-container.component.d.ts +10 -4
  219. package/lib/interaction/components/activity-container/activity-outlet/activity-outlet.component.d.ts +3 -3
  220. package/lib/interaction/components/activity-title/activity-title.component.d.ts +1 -1
  221. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +6 -1
  222. package/lib/interaction/components/alert-renderer/alert-renderer.component.d.ts +17 -0
  223. package/lib/interaction/components/confirm-renderer/confirm-renderer.component.d.ts +15 -0
  224. package/lib/interaction/components/editors/edit-context.d.ts +1 -1
  225. package/lib/interaction/components/inplace-interaction-context/in-place-interaction-context.component.d.ts +5 -3
  226. package/lib/interaction/components/slide-down-interaction-context/slide-down-interaction-context.component.d.ts +53 -0
  227. package/lib/interaction/confirm.d.ts +4 -0
  228. package/lib/interaction/exports.d.ts +5 -0
  229. package/lib/interaction/interaction-context-provider.d.ts +11 -0
  230. package/lib/interaction/interaction-context.d.ts +7 -1
  231. package/lib/interaction/interaction.module.d.ts +35 -33
  232. package/lib/interaction/services/interaction-service-routing-adapter.d.ts +2 -2
  233. package/lib/interaction/services/interaction.service.d.ts +2 -1
  234. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context-factory.d.ts +1 -1
  235. package/lib/interaction/services/mat-dialog-interaction/dialog-interaction-context.d.ts +3 -1
  236. package/lib/place/components/place-outlet/place-outlet.component.d.ts +3 -4
  237. package/lib/place/place-auth-service.d.ts +4 -4
  238. package/lib/place/place-component.d.ts +7 -5
  239. package/lib/place/place-definition.d.ts +2 -0
  240. package/lib/place/place-router.d.ts +6 -2
  241. package/lib/place/place.module.d.ts +4 -5
  242. package/lib/services/exports.d.ts +1 -0
  243. package/lib/services/loading-monitor.d.ts +29 -0
  244. package/package.json +6 -4
  245. package/esm2022/lib/components/tables/column/column-list-model.mjs +0 -44
  246. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.mjs +0 -33
  247. package/esm2022/lib/components/tables/renderer/table-more-menu/table-more-menu.component.mjs +0 -60
  248. package/esm2022/lib/components/tables/table-row-menu/table-row-menu.component.mjs +0 -84
  249. package/lib/components/tables/column/column-list-model.d.ts +0 -13
  250. package/lib/components/tables/renderer/table-more-menu/table-more-menu-popup/table-more-menu-popup.component.d.ts +0 -15
  251. package/lib/components/tables/table-row-menu/table-row-menu.component.d.ts +0 -28
@@ -1,7 +1,8 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Memoize } from '@typescript-plus/fast-memoize-decorator';
3
- import { isFunction } from 'lodash';
2
+ import { MemoizeGet } from "@coolon/typescript-utilities";
3
+ import { isFunction } from 'lodash-es';
4
4
  import { Enum } from 'typescript-string-enums';
5
+ // TODO: make this a DecoratedCommandFace?
5
6
  export var CommandFace;
6
7
  (function (CommandFace) {
7
8
  let Position;
@@ -69,45 +70,45 @@ export var CommandFace;
69
70
  }
70
71
  }
71
72
  __decorate([
72
- Memoize(),
73
+ MemoizeGet(),
73
74
  __metadata("design:type", Object),
74
75
  __metadata("design:paramtypes", [])
75
76
  ], Adapter.prototype, "text", null);
76
77
  __decorate([
77
- Memoize(),
78
+ MemoizeGet(),
78
79
  __metadata("design:type", Object),
79
80
  __metadata("design:paramtypes", [])
80
81
  ], Adapter.prototype, "icon", null);
81
82
  __decorate([
82
- Memoize(),
83
+ MemoizeGet(),
83
84
  __metadata("design:type", Object),
84
85
  __metadata("design:paramtypes", [])
85
86
  ], Adapter.prototype, "iconPosition", null);
86
87
  __decorate([
87
- Memoize(),
88
+ MemoizeGet(),
88
89
  __metadata("design:type", Object),
89
90
  __metadata("design:paramtypes", [])
90
91
  ], Adapter.prototype, "tooltip", null);
91
92
  __decorate([
92
- Memoize(),
93
+ MemoizeGet(),
93
94
  __metadata("design:type", Boolean),
94
95
  __metadata("design:paramtypes", [])
95
96
  ], Adapter.prototype, "iconPositionStart", null);
96
97
  __decorate([
97
- Memoize(),
98
+ MemoizeGet(),
98
99
  __metadata("design:type", Boolean),
99
100
  __metadata("design:paramtypes", [])
100
101
  ], Adapter.prototype, "iconPositionEnd", null);
101
102
  __decorate([
102
- Memoize(),
103
+ MemoizeGet(),
103
104
  __metadata("design:type", String),
104
105
  __metadata("design:paramtypes", [])
105
106
  ], Adapter.prototype, "color", null);
106
107
  __decorate([
107
- Memoize(),
108
+ MemoizeGet(),
108
109
  __metadata("design:type", String),
109
110
  __metadata("design:paramtypes", [])
110
111
  ], Adapter.prototype, "style", null);
111
112
  CommandFace.Adapter = Adapter;
112
113
  })(CommandFace || (CommandFace = {}));
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1mYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9jb21tYW5kcy9jb21tYW5kLWZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUVoRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQWdCN0MsTUFBTSxLQUFXLFdBQVcsQ0FtRjNCO0FBbkZELFdBQWlCLFdBQVc7SUFFMUIsSUFBWSxRQUdYO0lBSEQsV0FBWSxRQUFRO1FBQ2xCLDJCQUFlLENBQUE7UUFDZix1QkFBVyxDQUFBO0lBQ2IsQ0FBQyxFQUhXLFFBQVEsR0FBUixvQkFBUSxLQUFSLG9CQUFRLFFBR25CO0lBRVksaUJBQUssR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsU0FBUztRQUNsQixNQUFNLEVBQUUsUUFBUTtLQUNqQixDQUFDLENBQUM7SUFHSCxTQUFnQixVQUFVLENBQUMsSUFBaUI7UUFDMUMsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM1RCxDQUFDO0lBRmUsc0JBQVUsYUFFekIsQ0FBQTtJQUVELFNBQWdCLFVBQVUsQ0FBQyxJQUFpQjtRQUMxQyxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzVELENBQUM7SUFGZSxzQkFBVSxhQUV6QixDQUFBO0lBRUQsU0FBZ0IsU0FBUyxDQUFDLElBQWlCO1FBQ3pDLE9BQU8sVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDMUQsQ0FBQztJQUZlLHFCQUFTLFlBRXhCLENBQUE7SUFFRCxTQUFnQixpQkFBaUIsQ0FBQyxJQUFpQjtRQUNqRCxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzFFLENBQUM7SUFGZSw2QkFBaUIsb0JBRWhDLENBQUE7SUFFRCxTQUFnQixZQUFZLENBQUMsSUFBaUI7UUFDNUMsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoRSxDQUFDO0lBRmUsd0JBQVksZUFFM0IsQ0FBQTtJQUVELFNBQWdCLFNBQVMsQ0FBQyxJQUFpQjtRQUN6QyxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzFELENBQUM7SUFGZSxxQkFBUyxZQUV4QixDQUFBO0lBRUQsTUFBYSxPQUFPO1FBQ0c7UUFBckIsWUFBcUIsSUFBaUI7WUFBakIsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUN0QyxDQUFDO1FBRUQsSUFDSSxJQUFJO1lBQ04sT0FBTyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFDSSxJQUFJO1lBQ04sT0FBTyxXQUFXLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsSUFDSSxZQUFZO1lBQ2QsT0FBTyxXQUFXLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFFRCxJQUNJLE9BQU87WUFDVCxPQUFPLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxJQUNJLGlCQUFpQjtZQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDMUQsQ0FBQztRQUVELElBQ0ksZUFBZTtZQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLEtBQUssV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7UUFDeEQsQ0FBQztRQUVELElBQ0ksS0FBSztZQUNQLE9BQU8sV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUVELElBQ0ksS0FBSztZQUNQLE9BQU8sV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsQ0FBQztLQUVGO0lBeENDO1FBQUMsT0FBTyxFQUFFOzs7dUNBR1Q7SUFFRDtRQUFDLE9BQU8sRUFBRTs7O3VDQUdUO0lBRUQ7UUFBQyxPQUFPLEVBQUU7OzsrQ0FHVDtJQUVEO1FBQUMsT0FBTyxFQUFFOzs7MENBR1Q7SUFFRDtRQUFDLE9BQU8sRUFBRTs7O29EQUdUO0lBRUQ7UUFBQyxPQUFPLEVBQUU7OztrREFHVDtJQUVEO1FBQUMsT0FBTyxFQUFFOzs7d0NBR1Q7SUFFRDtRQUFDLE9BQU8sRUFBRTs7O3dDQUdUO0lBMUNVLG1CQUFPLFVBNENuQixDQUFBO0FBQ0gsQ0FBQyxFQW5GZ0IsV0FBVyxLQUFYLFdBQVcsUUFtRjNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNZW1vaXplfSBmcm9tICdAdHlwZXNjcmlwdC1wbHVzL2Zhc3QtbWVtb2l6ZS1kZWNvcmF0b3InO1xuXG5pbXBvcnQge2lzRnVuY3Rpb259IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge0VudW19IGZyb20gJ3R5cGVzY3JpcHQtc3RyaW5nLWVudW1zJztcblxuZXhwb3J0IGludGVyZmFjZSBDb21tYW5kRmFjZSB7XG4gIHRleHQ/KCk6IHN0cmluZztcblxuICBpY29uPygpOiBzdHJpbmc7XG5cbiAgaWNvblBvc2l0aW9uPygpOiBzdHJpbmc7XG5cbiAgdG9vbHRpcD8oKTogc3RyaW5nO1xuXG4gIGNvbG9yPygpOiBzdHJpbmc7IC8vIFRoZW1lUGFsZXR0ZVxuXG4gIHN0eWxlPygpOiBzdHJpbmc7IC8vIENvbW1hbmRGYWNlLlN0eWxlO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENvbW1hbmRGYWNlIHtcblxuICBleHBvcnQgZW51bSBQb3NpdGlvbiB7XG4gICAgU1RBUlQgPSAnc3RhcnQnLFxuICAgIEVORCA9ICdlbmQnXG4gIH1cblxuICBleHBvcnQgY29uc3QgU3R5bGUgPSBFbnVtKHtcbiAgICBGTEFUOiAnZmxhdCcsXG4gICAgU1RST0tFRDogJ3N0cm9rZWQnLFxuICAgIFJBSVNFRDogJ3JhaXNlZCdcbiAgfSk7XG4gIGV4cG9ydCB0eXBlIFN0eWxlID0gRW51bTx0eXBlb2YgU3R5bGU+O1xuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRDb2xvck9mKGZhY2U6IENvbW1hbmRGYWNlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihmYWNlPy5jb2xvcikgPyBmYWNlLmNvbG9yKCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0U3R5bGVPZihmYWNlOiBDb21tYW5kRmFjZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24oZmFjZT8uc3R5bGUpID8gZmFjZS5zdHlsZSgpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldEljb25PZihmYWNlOiBDb21tYW5kRmFjZSkge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGZhY2U/Lmljb24pID8gZmFjZS5pY29uKCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0SWNvblBvc2l0aW9uT2YoZmFjZTogQ29tbWFuZEZhY2UpIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihmYWNlPy5pY29uUG9zaXRpb24pID8gZmFjZS5pY29uUG9zaXRpb24oKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRUb29sdGlwT2YoZmFjZTogQ29tbWFuZEZhY2UpIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihmYWNlPy50b29sdGlwKSA/IGZhY2UudG9vbHRpcCgpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFRleHRPZihmYWNlOiBDb21tYW5kRmFjZSkge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGZhY2U/LnRleHQpID8gZmFjZS50ZXh0KCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBleHBvcnQgY2xhc3MgQWRhcHRlciB7XG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgZmFjZTogQ29tbWFuZEZhY2UpIHtcbiAgICB9XG5cbiAgICBATWVtb2l6ZSgpXG4gICAgZ2V0IHRleHQoKSB7XG4gICAgICByZXR1cm4gQ29tbWFuZEZhY2UuZ2V0VGV4dE9mKHRoaXMuZmFjZSk7XG4gICAgfVxuXG4gICAgQE1lbW9pemUoKVxuICAgIGdldCBpY29uKCkge1xuICAgICAgcmV0dXJuIENvbW1hbmRGYWNlLmdldEljb25PZih0aGlzLmZhY2UpO1xuICAgIH1cblxuICAgIEBNZW1vaXplKClcbiAgICBnZXQgaWNvblBvc2l0aW9uKCkge1xuICAgICAgcmV0dXJuIENvbW1hbmRGYWNlLmdldEljb25Qb3NpdGlvbk9mKHRoaXMuZmFjZSk7XG4gICAgfVxuXG4gICAgQE1lbW9pemUoKVxuICAgIGdldCB0b29sdGlwKCkge1xuICAgICAgcmV0dXJuIENvbW1hbmRGYWNlLmdldFRvb2x0aXBPZih0aGlzLmZhY2UpO1xuICAgIH1cblxuICAgIEBNZW1vaXplKClcbiAgICBnZXQgaWNvblBvc2l0aW9uU3RhcnQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5pY29uUG9zaXRpb24gPT09IENvbW1hbmRGYWNlLlBvc2l0aW9uLlNUQVJUO1xuICAgIH1cblxuICAgIEBNZW1vaXplKClcbiAgICBnZXQgaWNvblBvc2l0aW9uRW5kKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuaWNvblBvc2l0aW9uID09PSBDb21tYW5kRmFjZS5Qb3NpdGlvbi5FTkQ7XG4gICAgfVxuXG4gICAgQE1lbW9pemUoKVxuICAgIGdldCBjb2xvcigpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIENvbW1hbmRGYWNlLmdldENvbG9yT2YodGhpcy5mYWNlKTtcbiAgICB9XG5cbiAgICBATWVtb2l6ZSgpXG4gICAgZ2V0IHN0eWxlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gQ29tbWFuZEZhY2UuZ2V0U3R5bGVPZih0aGlzLmZhY2UpO1xuICAgIH1cblxuICB9XG59XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC1mYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9jb21tYW5kcy9jb21tYW5kLWZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQVU3QywwQ0FBMEM7QUFFMUMsTUFBTSxLQUFXLFdBQVcsQ0FtRjNCO0FBbkZELFdBQWlCLFdBQVc7SUFFMUIsSUFBWSxRQUdYO0lBSEQsV0FBWSxRQUFRO1FBQ2xCLDJCQUFlLENBQUE7UUFDZix1QkFBVyxDQUFBO0lBQ2IsQ0FBQyxFQUhXLFFBQVEsR0FBUixvQkFBUSxLQUFSLG9CQUFRLFFBR25CO0lBRVksaUJBQUssR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsU0FBUztRQUNsQixNQUFNLEVBQUUsUUFBUTtLQUNqQixDQUFDLENBQUM7SUFHSCxTQUFnQixVQUFVLENBQUMsSUFBaUI7UUFDMUMsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFrQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDNUUsQ0FBQztJQUZlLHNCQUFVLGFBRXpCLENBQUE7SUFFRCxTQUFnQixVQUFVLENBQUMsSUFBaUI7UUFDMUMsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUM1RCxDQUFDO0lBRmUsc0JBQVUsYUFFekIsQ0FBQTtJQUVELFNBQWdCLFNBQVMsQ0FBQyxJQUFpQjtRQUN6QyxPQUFPLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzFELENBQUM7SUFGZSxxQkFBUyxZQUV4QixDQUFBO0lBRUQsU0FBZ0IsaUJBQWlCLENBQUMsSUFBaUI7UUFDakQsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMxRSxDQUFDO0lBRmUsNkJBQWlCLG9CQUVoQyxDQUFBO0lBRUQsU0FBZ0IsWUFBWSxDQUFDLElBQWlCO1FBQzVDLE9BQU8sVUFBVSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDaEUsQ0FBQztJQUZlLHdCQUFZLGVBRTNCLENBQUE7SUFFRCxTQUFnQixTQUFTLENBQUMsSUFBaUI7UUFDekMsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMxRCxDQUFDO0lBRmUscUJBQVMsWUFFeEIsQ0FBQTtJQUVELE1BQWEsT0FBTztRQUNHO1FBQXJCLFlBQXFCLElBQWlCO1lBQWpCLFNBQUksR0FBSixJQUFJLENBQWE7UUFDdEMsQ0FBQztRQUVELElBQ0ksSUFBSTtZQUNOLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELElBQ0ksSUFBSTtZQUNOLE9BQU8sV0FBVyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELElBQ0ksWUFBWTtZQUNkLE9BQU8sV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRCxDQUFDO1FBRUQsSUFDSSxPQUFPO1lBQ1QsT0FBTyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsSUFDSSxpQkFBaUI7WUFDbkIsT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQzFELENBQUM7UUFFRCxJQUNJLGVBQWU7WUFDakIsT0FBTyxJQUFJLENBQUMsWUFBWSxLQUFLLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3hELENBQUM7UUFFRCxJQUNJLEtBQUs7WUFDUCxPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFFRCxJQUNJLEtBQUs7WUFDUCxPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLENBQUM7S0FFRjtJQXhDQztRQUFDLFVBQVUsRUFBRTs7O3VDQUdaO0lBRUQ7UUFBQyxVQUFVLEVBQUU7Ozt1Q0FHWjtJQUVEO1FBQUMsVUFBVSxFQUFFOzs7K0NBR1o7SUFFRDtRQUFDLFVBQVUsRUFBRTs7OzBDQUdaO0lBRUQ7UUFBQyxVQUFVLEVBQUU7OztvREFHWjtJQUVEO1FBQUMsVUFBVSxFQUFFOzs7a0RBR1o7SUFFRDtRQUFDLFVBQVUsRUFBRTs7O3dDQUdaO0lBRUQ7UUFBQyxVQUFVLEVBQUU7Ozt3Q0FHWjtJQTFDVSxtQkFBTyxVQTRDbkIsQ0FBQTtBQUNILENBQUMsRUFuRmdCLFdBQVcsS0FBWCxXQUFXLFFBbUYzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZVwiO1xuaW1wb3J0IHtNZW1vaXplR2V0fSBmcm9tIFwiQGNvb2xvbi90eXBlc2NyaXB0LXV0aWxpdGllc1wiO1xuXG5pbXBvcnQge2lzRnVuY3Rpb259IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQge0VudW19IGZyb20gJ3R5cGVzY3JpcHQtc3RyaW5nLWVudW1zJztcblxuaW1wb3J0IHtDb21tYW5kRmFjZSBhcyBQZWN0aW5Db21tYW5kRmFjZX0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7XG5cbi8qKlxuICogQGRlcHJlY3RhdGVkLCB1c2UgaW1wb3J0IHtDb21tYW5kRmFjZX0gZnJvbSBcIkBjb29sb24vcGVjdGluXCI7IGluc3RlYWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21tYW5kRmFjZSBleHRlbmRzIFBlY3RpbkNvbW1hbmRGYWNlIHtcbn1cblxuLy8gVE9ETzogbWFrZSB0aGlzIGEgRGVjb3JhdGVkQ29tbWFuZEZhY2U/XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29tbWFuZEZhY2Uge1xuXG4gIGV4cG9ydCBlbnVtIFBvc2l0aW9uIHtcbiAgICBTVEFSVCA9ICdzdGFydCcsXG4gICAgRU5EID0gJ2VuZCdcbiAgfVxuXG4gIGV4cG9ydCBjb25zdCBTdHlsZSA9IEVudW0oe1xuICAgIEZMQVQ6ICdmbGF0JyxcbiAgICBTVFJPS0VEOiAnc3Ryb2tlZCcsXG4gICAgUkFJU0VEOiAncmFpc2VkJ1xuICB9KTtcbiAgZXhwb3J0IHR5cGUgU3R5bGUgPSBFbnVtPHR5cGVvZiBTdHlsZT47XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldENvbG9yT2YoZmFjZTogQ29tbWFuZEZhY2UpOiBUaGVtZVBhbGV0dGUge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGZhY2U/LmNvbG9yKSA/IGZhY2UuY29sb3IoKSBhcyBUaGVtZVBhbGV0dGUgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0U3R5bGVPZihmYWNlOiBDb21tYW5kRmFjZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24oZmFjZT8uc3R5bGUpID8gZmFjZS5zdHlsZSgpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldEljb25PZihmYWNlOiBDb21tYW5kRmFjZSkge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGZhY2U/Lmljb24pID8gZmFjZS5pY29uKCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBleHBvcnQgZnVuY3Rpb24gZ2V0SWNvblBvc2l0aW9uT2YoZmFjZTogQ29tbWFuZEZhY2UpIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihmYWNlPy5pY29uUG9zaXRpb24pID8gZmFjZS5pY29uUG9zaXRpb24oKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBnZXRUb29sdGlwT2YoZmFjZTogQ29tbWFuZEZhY2UpIHtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihmYWNlPy50b29sdGlwKSA/IGZhY2UudG9vbHRpcCgpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZXhwb3J0IGZ1bmN0aW9uIGdldFRleHRPZihmYWNlOiBDb21tYW5kRmFjZSkge1xuICAgIHJldHVybiBpc0Z1bmN0aW9uKGZhY2U/LnRleHQpID8gZmFjZS50ZXh0KCkgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBleHBvcnQgY2xhc3MgQWRhcHRlciB7XG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgZmFjZTogQ29tbWFuZEZhY2UpIHtcbiAgICB9XG5cbiAgICBATWVtb2l6ZUdldCgpXG4gICAgZ2V0IHRleHQoKSB7XG4gICAgICByZXR1cm4gQ29tbWFuZEZhY2UuZ2V0VGV4dE9mKHRoaXMuZmFjZSk7XG4gICAgfVxuXG4gICAgQE1lbW9pemVHZXQoKVxuICAgIGdldCBpY29uKCkge1xuICAgICAgcmV0dXJuIENvbW1hbmRGYWNlLmdldEljb25PZih0aGlzLmZhY2UpO1xuICAgIH1cblxuICAgIEBNZW1vaXplR2V0KClcbiAgICBnZXQgaWNvblBvc2l0aW9uKCkge1xuICAgICAgcmV0dXJuIENvbW1hbmRGYWNlLmdldEljb25Qb3NpdGlvbk9mKHRoaXMuZmFjZSk7XG4gICAgfVxuXG4gICAgQE1lbW9pemVHZXQoKVxuICAgIGdldCB0b29sdGlwKCkge1xuICAgICAgcmV0dXJuIENvbW1hbmRGYWNlLmdldFRvb2x0aXBPZih0aGlzLmZhY2UpO1xuICAgIH1cblxuICAgIEBNZW1vaXplR2V0KClcbiAgICBnZXQgaWNvblBvc2l0aW9uU3RhcnQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5pY29uUG9zaXRpb24gPT09IENvbW1hbmRGYWNlLlBvc2l0aW9uLlNUQVJUO1xuICAgIH1cblxuICAgIEBNZW1vaXplR2V0KClcbiAgICBnZXQgaWNvblBvc2l0aW9uRW5kKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMuaWNvblBvc2l0aW9uID09PSBDb21tYW5kRmFjZS5Qb3NpdGlvbi5FTkQ7XG4gICAgfVxuXG4gICAgQE1lbW9pemVHZXQoKVxuICAgIGdldCBjb2xvcigpOiBUaGVtZVBhbGV0dGUge1xuICAgICAgcmV0dXJuIENvbW1hbmRGYWNlLmdldENvbG9yT2YodGhpcy5mYWNlKTtcbiAgICB9XG5cbiAgICBATWVtb2l6ZUdldCgpXG4gICAgZ2V0IHN0eWxlKCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gQ29tbWFuZEZhY2UuZ2V0U3R5bGVPZih0aGlzLmZhY2UpO1xuICAgIH1cblxuICB9XG59XG4iXX0=
@@ -1,15 +1,26 @@
1
+ import { Component, ElementRef, HostBinding } from '@angular/core';
2
+ import { MatMenu } from "@angular/material/menu";
1
3
  import { DisposableComponent } from '../../disposable-component';
4
+ import { POPUP_CONTAINER } from './popup-container';
5
+ import * as i0 from "@angular/core";
2
6
  export class PopupAwareComponent extends DisposableComponent {
3
- element;
4
- parent;
5
- constructor(element, parent) {
7
+ element = this.inject(ElementRef);
8
+ popupContainer = this.inject(POPUP_CONTAINER, {
9
+ optional: true,
10
+ skipSelf: true
11
+ });
12
+ menu = this.inject(MatMenu, {
13
+ optional: true
14
+ });
15
+ constructor() {
6
16
  super();
7
- this.element = element;
8
- this.parent = parent;
9
- if (parent) {
10
- this.registerDisposable(this.parent.register(this));
17
+ if (this.popupContainer) {
18
+ this.registerDisposable(this.popupContainer.register(this));
11
19
  }
12
20
  }
21
+ get inPopup() {
22
+ return !!this.menu || !!this.popupContainer;
23
+ }
13
24
  get componentIndex() {
14
25
  return this.computeComponentIndex();
15
26
  }
@@ -24,5 +35,17 @@ export class PopupAwareComponent extends DisposableComponent {
24
35
  getFace() {
25
36
  return undefined;
26
37
  }
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PopupAwareComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PopupAwareComponent, selector: "aup-popup-aware", host: { properties: { "class.in-popup": "this.inPopup" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
27
40
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtYXdhcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9jb21tYW5kcy9ncm91cC9wb3B1cC1hd2FyZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFJL0QsTUFBTSxPQUFnQixtQkFBb0IsU0FBUSxtQkFBbUI7SUFFOUM7SUFBOEI7SUFBbkQsWUFBcUIsT0FBbUIsRUFBVyxNQUF1QjtRQUN4RSxLQUFLLEVBQUUsQ0FBQztRQURXLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBVyxXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUV4RSxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0gsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDdEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRTtZQUMzQyxLQUFLLEVBQUUsQ0FBQztTQUNUO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RWxlbWVudFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Rpc3Bvc2FibGVDb21wb25lbnR9IGZyb20gJy4uLy4uL2Rpc3Bvc2FibGUtY29tcG9uZW50JztcbmltcG9ydCB7Q29tbWFuZEZhY2V9IGZyb20gJy4uL2NvbW1hbmQtZmFjZSc7XG5pbXBvcnQge1BvcHVwQ29udGFpbmVyfSBmcm9tICcuL3BvcHVwLWNvbnRhaW5lcic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQb3B1cEF3YXJlQ29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZWxlbWVudDogRWxlbWVudFJlZiwgcmVhZG9ubHkgcGFyZW50PzogUG9wdXBDb250YWluZXIpIHtcbiAgICBzdXBlcigpO1xuICAgIGlmIChwYXJlbnQpIHtcbiAgICAgIHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKHRoaXMucGFyZW50LnJlZ2lzdGVyKHRoaXMpKTtcbiAgICB9XG4gIH1cblxuICBnZXQgY29tcG9uZW50SW5kZXgoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcHV0ZUNvbXBvbmVudEluZGV4KCk7XG4gIH1cblxuICBwcml2YXRlIGNvbXB1dGVDb21wb25lbnRJbmRleCgpIHtcbiAgICBsZXQgbm9kZSA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIGxldCBpbmRleCA9IDA7XG4gICAgd2hpbGUgKChub2RlID0gbm9kZS5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSkge1xuICAgICAgaW5kZXgrKztcbiAgICB9XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgZ2V0RmFjZSgpOiBDb21tYW5kRmFjZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PopupAwareComponent, decorators: [{
42
+ type: Component,
43
+ args: [{
44
+ selector: 'aup-popup-aware',
45
+ template: ''
46
+ }]
47
+ }], ctorParameters: function () { return []; }, propDecorators: { inPopup: [{
48
+ type: HostBinding,
49
+ args: ["class.in-popup"]
50
+ }] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtYXdhcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9jb21tYW5kcy9ncm91cC9wb3B1cC1hd2FyZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUUvRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7O0FBTWxELE1BQU0sT0FBZ0IsbUJBQW9CLFNBQVEsbUJBQW1CO0lBRWhELE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLGNBQWMsR0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRTtRQUNoRSxRQUFRLEVBQUUsSUFBSTtRQUNkLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQyxDQUFDO0lBRWdCLElBQUksR0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtRQUM5QyxRQUFRLEVBQUUsSUFBSTtLQUNmLENBQUMsQ0FBQTtJQUVGO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDN0Q7SUFDSCxDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtJQUM3QyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUN0QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxPQUFPLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQzNDLEtBQUssRUFBRSxDQUFDO1NBQ1Q7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQzt1R0F2Q21CLG1CQUFtQjsyRkFBbkIsbUJBQW1CLDBJQUY3QixFQUFFOzsyRkFFUSxtQkFBbUI7a0JBSnhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7MEVBcUJLLE9BQU87c0JBRFYsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmd9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRNZW51fSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudVwiO1xuaW1wb3J0IHtEaXNwb3NhYmxlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9kaXNwb3NhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQge0NvbW1hbmRGYWNlfSBmcm9tICcuLi9jb21tYW5kLWZhY2UnO1xuaW1wb3J0IHtQT1BVUF9DT05UQUlORVJ9IGZyb20gJy4vcG9wdXAtY29udGFpbmVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLXBvcHVwLWF3YXJlJyxcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBvcHVwQXdhcmVDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IHtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWxlbWVudCA9IHRoaXMuaW5qZWN0KEVsZW1lbnRSZWYpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcG9wdXBDb250YWluZXI/ID0gdGhpcy5pbmplY3QoUE9QVVBfQ09OVEFJTkVSLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgc2tpcFNlbGY6IHRydWVcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1lbnU/ID0gdGhpcy5pbmplY3QoTWF0TWVudSwge1xuICAgIG9wdGlvbmFsOiB0cnVlXG4gIH0pXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBpZiAodGhpcy5wb3B1cENvbnRhaW5lcikge1xuICAgICAgdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUodGhpcy5wb3B1cENvbnRhaW5lci5yZWdpc3Rlcih0aGlzKSk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuaW4tcG9wdXBcIilcbiAgZ2V0IGluUG9wdXAoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5tZW51IHx8ICEhdGhpcy5wb3B1cENvbnRhaW5lclxuICB9XG5cbiAgZ2V0IGNvbXBvbmVudEluZGV4KCkge1xuICAgIHJldHVybiB0aGlzLmNvbXB1dGVDb21wb25lbnRJbmRleCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb21wdXRlQ29tcG9uZW50SW5kZXgoKSB7XG4gICAgbGV0IG5vZGUgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudDtcbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIHdoaWxlICgobm9kZSA9IG5vZGUucHJldmlvdXNFbGVtZW50U2libGluZykpIHtcbiAgICAgIGluZGV4Kys7XG4gICAgfVxuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIGdldEZhY2UoKTogQ29tbWFuZEZhY2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,10 +1,9 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Component, ElementRef, Inject, Input, QueryList, ViewChildren } from '@angular/core';
2
+ import { Component, Input, QueryList, ViewChildren } from '@angular/core';
3
3
  import { MatMenuTrigger } from '@angular/material/menu';
4
- import { DelegatingValueModel, Disposable, Dsl, MutableListModel, Proxify, proxify, StoreInValueModel, ValueModel } from '@coolon/pectin';
4
+ import { DelegatingValueModel, Disposable, Dsl, MutableListModel, Proxify, proxify, StoreInValueModel, Trace, ValueModel } from '@coolon/pectin';
5
5
  import { CommandFace } from '../../command-face';
6
6
  import { PopupAwareComponent } from '../popup-aware.component';
7
- import { POPUP_CONTAINER } from '../popup-container';
8
7
  import * as i0 from "@angular/core";
9
8
  /**
10
9
  *
@@ -16,16 +15,16 @@ export class AbstractPopupMenuComponent extends PopupAwareComponent {
16
15
  xPosition = 'after';
17
16
  yPosition = 'below';
18
17
  triggers;
19
- #enabled_accessor_storage;
20
- get enabled() { return this.#enabled_accessor_storage; }
21
- set enabled(value) { this.#enabled_accessor_storage = value; }
22
18
  #enabled$_accessor_storage = proxify((ValueModel));
23
19
  get enabled$() { return this.#enabled$_accessor_storage; }
24
20
  set enabled$(value) { this.#enabled$_accessor_storage = value; }
21
+ #enabled_accessor_storage = true;
22
+ get enabled() { return this.#enabled_accessor_storage; }
23
+ set enabled(value) { this.#enabled_accessor_storage = value; }
25
24
  children;
26
25
  faces$;
27
- constructor(element, parent) {
28
- super(element, parent);
26
+ constructor() {
27
+ super();
29
28
  const { chain, valueOf, before, when, after, observe, switchOn } = Dsl.disposeWith(this);
30
29
  // group.faceListModel = chain(this.faceModel).mapToList(face => [face]);
31
30
  this.faceAdapter$ = chain(this.faceModelDelegate).map(f => new CommandFace.Adapter(f));
@@ -43,7 +42,7 @@ export class AbstractPopupMenuComponent extends PopupAwareComponent {
43
42
  return this.faceAdapter$?.value ?? new CommandFace.Adapter(undefined);
44
43
  }
45
44
  isRoot() {
46
- return !this.parent;
45
+ return !this.popupContainer;
47
46
  }
48
47
  // @Trace()
49
48
  register(component) {
@@ -62,33 +61,36 @@ export class AbstractPopupMenuComponent extends PopupAwareComponent {
62
61
  getFace() {
63
62
  return this.faceAdapter.face;
64
63
  }
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractPopupMenuComponent, deps: [{ token: i0.ElementRef }, { token: POPUP_CONTAINER }], target: i0.ɵɵFactoryTarget.Component });
66
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractPopupMenuComponent, selector: "aup-abstract-popup-menu", inputs: { xPosition: "xPosition", yPosition: "yPosition", enabled: "enabled", enabled$: "enabled$" }, viewQueries: [{ propertyName: "triggers", predicate: MatMenuTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
64
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractPopupMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
65
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: AbstractPopupMenuComponent, selector: "aup-abstract-popup-menu", inputs: { xPosition: "xPosition", yPosition: "yPosition", enabled$: "enabled$", enabled: "enabled" }, viewQueries: [{ propertyName: "triggers", predicate: MatMenuTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
67
66
  }
68
- __decorate([
69
- StoreInValueModel(),
70
- __metadata("design:type", Boolean)
71
- ], AbstractPopupMenuComponent.prototype, "enabled", null);
72
67
  __decorate([
73
68
  Proxify(),
74
69
  __metadata("design:type", Object)
75
70
  ], AbstractPopupMenuComponent.prototype, "enabled$", null);
71
+ __decorate([
72
+ StoreInValueModel(),
73
+ __metadata("design:type", Object)
74
+ ], AbstractPopupMenuComponent.prototype, "enabled", null);
75
+ __decorate([
76
+ Trace(),
77
+ __metadata("design:type", Function),
78
+ __metadata("design:paramtypes", []),
79
+ __metadata("design:returntype", void 0)
80
+ ], AbstractPopupMenuComponent.prototype, "onCommandFired", null);
76
81
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: AbstractPopupMenuComponent, decorators: [{
77
82
  type: Component,
78
83
  args: [{ selector: 'aup-abstract-popup-menu', template: '' }]
79
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
80
- type: Inject,
81
- args: [POPUP_CONTAINER]
82
- }] }]; }, propDecorators: { xPosition: [{
84
+ }], ctorParameters: function () { return []; }, propDecorators: { xPosition: [{
83
85
  type: Input
84
86
  }], yPosition: [{
85
87
  type: Input
86
88
  }], triggers: [{
87
89
  type: ViewChildren,
88
90
  args: [MatMenuTrigger]
89
- }], enabled: [{
90
- type: Input
91
91
  }], enabled$: [{
92
92
  type: Input
93
- }] } });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcG9wdXAtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbW1hbmRzL2dyb3VwL3BvcHVwLW1lbnUvYWJzdHJhY3QtcG9wdXAtbWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBc0IsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRXRELE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsVUFBVSxFQUNWLEdBQUcsRUFFSCxnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLE9BQU8sRUFDUCxpQkFBaUIsRUFDakIsVUFBVSxFQUVYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBQyxlQUFlLEVBQWlCLE1BQU0sb0JBQW9CLENBQUM7O0FBRW5FOztHQUVHO0FBTUgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG1CQUFtQjtJQUV6RCxrQkFBa0IsR0FBRyxJQUFJLGdCQUFnQixFQUF1QixDQUFDO0lBRXRELGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFlLENBQUMsQ0FBQztJQUNoRyxZQUFZLENBQXVDO0lBRzNELFNBQVMsR0FBdUIsT0FBTyxDQUFDO0lBR3hDLFNBQVMsR0FBc0IsT0FBTyxDQUFDO0lBR3ZDLFFBQVEsQ0FBNEI7SUFHM0IsMEJBQWlCO0lBQWpCLElBQUEsT0FBTyw2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O3NCQURQLFlBQVk7dUJBQUMsY0FBYztnQkFJbkIsT0FBTztzQkFEZixLQUFLO2dCQUlHLFFBQVE7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyQ29udGVudENoZWNrZWQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRNZW51VHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5cbmltcG9ydCB7XG4gIERlbGVnYXRpbmdWYWx1ZU1vZGVsLFxuICBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIExpc3RNb2RlbENoYWluLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBQcm94aWZ5LFxuICBwcm94aWZ5LFxuICBTdG9yZUluVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbCxcbiAgVmFsdWVNb2RlbENoYWluXG59IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7Q29tbWFuZEZhY2V9IGZyb20gJy4uLy4uL2NvbW1hbmQtZmFjZSc7XG5pbXBvcnQge1BvcHVwQXdhcmVDb21wb25lbnR9IGZyb20gJy4uL3BvcHVwLWF3YXJlLmNvbXBvbmVudCc7XG5pbXBvcnQge1BPUFVQX0NPTlRBSU5FUiwgUG9wdXBDb250YWluZXJ9IGZyb20gJy4uL3BvcHVwLWNvbnRhaW5lcic7XG5cbi8qKlxuICpcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXVwLWFic3RyYWN0LXBvcHVwLW1lbnUnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogW11cbn0pXG5leHBvcnQgY2xhc3MgQWJzdHJhY3RQb3B1cE1lbnVDb21wb25lbnQgZXh0ZW5kcyBQb3B1cEF3YXJlQ29tcG9uZW50IGltcGxlbWVudHMgUG9wdXBDb250YWluZXIsIEFmdGVyQ29udGVudENoZWNrZWQge1xuXG4gIHByaXZhdGUgX3Vub3JkZXJlZENoaWxkcmVuID0gbmV3IE11dGFibGVMaXN0TW9kZWw8UG9wdXBBd2FyZUNvbXBvbmVudD4oKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmFjZU1vZGVsRGVsZWdhdGUgPSB0aGlzLnJlZ2lzdGVyRGlzcG9zYWJsZShuZXcgRGVsZWdhdGluZ1ZhbHVlTW9kZWw8Q29tbWFuZEZhY2U+KCkpO1xuICBwcml2YXRlIGZhY2VBZGFwdGVyJDogVmFsdWVNb2RlbENoYWluPENvbW1hbmRGYWNlLkFkYXB0ZXI+O1xuXG4gIEBJbnB1dCgpXG4gIHhQb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInID0gJ2FmdGVyJztcblxuICBASW5wdXQoKVxuICB5UG9zaXRpb246ICdhYm92ZScgfCAnYmVsb3cnID0gJ2JlbG93JztcblxuICBAVmlld0NoaWxkcmVuKE1hdE1lbnVUcmlnZ2VyKVxuICB0cmlnZ2VyczogUXVlcnlMaXN0PE1hdE1lbnVUcmlnZ2VyPjtcblxuICBASW5wdXQoKSBAU3RvcmVJblZhbHVlTW9kZWwoKVxuICBhY2Nlc3NvciBlbmFibGVkOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgZW5hYmxlZCQgPSBwcm94aWZ5KFZhbHVlTW9kZWw8Ym9vbGVhbj4pO1xuXG5cbiAgcmVhZG9ubHkgY2hpbGRyZW46IExpc3RNb2RlbENoYWluPFBvcHVwQXdhcmVDb21wb25lbnQ+O1xuICByZWFkb25seSBmYWNlcyQ6IExpc3RNb2RlbENoYWluPENvbW1hbmRGYWNlPjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmLCBASW5qZWN0KFBPUFVQX0NPTlRBSU5FUikgcGFyZW50PzogUG9wdXBDb250YWluZXIpIHtcbiAgICBzdXBlcihlbGVtZW50LCBwYXJlbnQpO1xuICAgIGNvbnN0IHtjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT259ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIC8vIGdyb3VwLmZhY2VMaXN0TW9kZWwgPSBjaGFpbih0aGlzLmZhY2VNb2RlbCkubWFwVG9MaXN0KGZhY2UgPT4gW2ZhY2VdKTtcblxuICAgIHRoaXMuZmFjZUFkYXB0ZXIkID0gY2hhaW4odGhpcy5mYWNlTW9kZWxEZWxlZ2F0ZSkubWFwKGYgPT4gbmV3IENvbW1hbmRGYWNlLkFkYXB0ZXIoZikpO1xuICAgIHRoaXMuZmFjZXMkID0gY2hhaW4odGhpcy5mYWNlQWRhcHRlciQpLnBsdWNrKCdmYWNlJykubWFwVG9MaXN0KGZhY2UgPT4gW2ZhY2VdKTtcblxuICAgIHRoaXMuY2hpbGRyZW4gPSBjaGFpbih0aGlzLl91bm9yZGVyZWRDaGlsZHJlbikuc29ydEJ5KCdjb21wb25lbnRJbmRleCcpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIC8vIGZvcmNlIHRoZSBsaXN0IHRvIHJlLW9yZGVyIGFzIHRoZSBjaGlsZCBpbmRpY2llcyBtYXkgaGF2ZSBjaGFuZ2VkLlxuICAgIHRoaXMuX3Vub3JkZXJlZENoaWxkcmVuLnZhbHVlID0gWy4uLnRoaXMuX3Vub3JkZXJlZENoaWxkcmVuLnZhbHVlXTtcbiAgfVxuXG5cbiAgZ2V0IGZhY2VBZGFwdGVyKCk6IENvbW1hbmRGYWNlLkFkYXB0ZXIge1xuICAgIGlmICghdGhpcy5mYWNlQWRhcHRlciQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1NvbWVob3cgZmFjZUFkYXB0ZXJNb2RlbCBpcyBuaWwgLS0gc2V0IGEgYnJlYWsgcG9pbnQgaGVyZSBhbmQgbGV0IG1lIGtub3cgd2hhdFxcJ3MgZ29pbmcgb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmFjZUFkYXB0ZXIkPy52YWx1ZSA/PyBuZXcgQ29tbWFuZEZhY2UuQWRhcHRlcih1bmRlZmluZWQpO1xuICB9XG5cbiAgaXNSb290KCkge1xuICAgIHJldHVybiAhdGhpcy5wYXJlbnQ7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICByZWdpc3Rlcihjb21wb25lbnQ6IFBvcHVwQXdhcmVDb21wb25lbnQpIHtcbiAgICB0aGlzLl91bm9yZGVyZWRDaGlsZHJlbi5wdXNoKGNvbXBvbmVudCk7XG4gICAgcmV0dXJuIERpc3Bvc2FibGUuZGlzcG9zYWJsZVRoYXRSdW5zKCgpID0+IHtcbiAgICAgIHRoaXMuX3Vub3JkZXJlZENoaWxkcmVuLnJlbW92ZShjb21wb25lbnQpO1xuICAgIH0pO1xuICB9XG5cbiAgb25Db21tYW5kRmlyZWQoKSB7XG4gICAgdGhpcy50cmlnZ2Vycy5mb3JFYWNoKHRyaWdnZXIgPT4ge1xuICAgICAgaWYgKHRyaWdnZXIubWVudU9wZW4pIHtcbiAgICAgICAgdHJpZ2dlci5jbG9zZU1lbnUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldEZhY2UoKTogQ29tbWFuZEZhY2UgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZhY2VBZGFwdGVyLmZhY2U7XG4gIH1cblxufVxuIl19
93
+ }], enabled: [{
94
+ type: Input
95
+ }], onCommandFired: [] } });
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtcG9wdXAtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbW1hbmRzL2dyb3VwL3BvcHVwLW1lbnUvYWJzdHJhY3QtcG9wdXAtbWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBc0IsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUV0RCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFVBQVUsRUFDVixHQUFHLEVBRUgsZ0JBQWdCLEVBQ2hCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxVQUFVLEVBRVgsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sMEJBQTBCLENBQUM7O0FBRzdEOztHQUVHO0FBTUgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG1CQUFtQjtJQUV6RCxrQkFBa0IsR0FBRyxJQUFJLGdCQUFnQixFQUF1QixDQUFDO0lBRXRELGlCQUFpQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLG9CQUFvQixFQUFlLENBQUMsQ0FBQztJQUNoRyxZQUFZLENBQXVDO0lBRzNELFNBQVMsR0FBdUIsT0FBTyxDQUFDO0lBR3hDLFNBQVMsR0FBc0IsT0FBTyxDQUFDO0lBR3ZDLFFBQVEsQ0FBNEI7SUFHM0IsNkJBQVcsT0FBTyxDQUFDLENBQUEsVUFBbUIsQ0FBQSxDQUFDLENBQUM7SUFBeEMsSUFBQSxRQUFRLDhDQUFnQztJQUF4QyxJQUFBLFFBQVEsb0RBQWdDO0lBR3hDLDRCQUFVLElBQUksQ0FBQztJQUFmLElBQUEsT0FBTyw2Q0FBUTtJQUFmLElBQUEsT0FBTyxtREFBUTtJQUdmLFFBQVEsQ0FBc0M7SUFDOUMsTUFBTSxDQUE4QjtJQUU3QztRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBQyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkYseUVBQXlFO1FBRXpFLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBRS9FLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIscUVBQXFFO1FBQ3JFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBR0QsSUFBSSxXQUFXO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsT0FBTyxDQUFDLEtBQUssQ0FBQyw0RkFBNEYsQ0FBQyxDQUFDO1NBQzdHO1FBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssSUFBSSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztJQUNYLFFBQVEsQ0FBQyxTQUE4QjtRQUNyQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sVUFBVSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRTtZQUN4QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELGNBQWM7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7Z0JBQ3BCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNyQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7dUdBekVVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLGtNQWF2QixjQUFjLHVFQWhCbEIsRUFBRTs7QUFvQkg7SUFEQyxPQUFPLEVBQUU7OzBEQUM4QjtBQUd4QztJQURDLGlCQUFpQixFQUFFOzt5REFDTDtBQTJDeEI7SUFEQyxLQUFLLEVBQUU7Ozs7Z0VBT1A7MkZBckVVLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx5QkFBeUIsWUFDekIsRUFBRTswRUFXWixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sU0FBUztzQkFEUixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxjQUFjO2dCQUluQixRQUFRO3NCQURoQixLQUFLO2dCQUlHLE9BQU87c0JBRGYsS0FBSztnQkE0Q04sY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJDb250ZW50Q2hlY2tlZCwgQ29tcG9uZW50LCBJbnB1dCwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRNZW51VHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5cbmltcG9ydCB7XG4gIERlbGVnYXRpbmdWYWx1ZU1vZGVsLFxuICBEaXNwb3NhYmxlLFxuICBEc2wsXG4gIExpc3RNb2RlbENoYWluLFxuICBNdXRhYmxlTGlzdE1vZGVsLFxuICBQcm94aWZ5LFxuICBwcm94aWZ5LFxuICBTdG9yZUluVmFsdWVNb2RlbCxcbiAgVHJhY2UsXG4gIFZhbHVlTW9kZWwsXG4gIFZhbHVlTW9kZWxDaGFpblxufSBmcm9tICdAY29vbG9uL3BlY3Rpbic7XG5pbXBvcnQge0NvbW1hbmRGYWNlfSBmcm9tICcuLi8uLi9jb21tYW5kLWZhY2UnO1xuaW1wb3J0IHtQb3B1cEF3YXJlQ29tcG9uZW50fSBmcm9tICcuLi9wb3B1cC1hd2FyZS5jb21wb25lbnQnO1xuaW1wb3J0IHtQb3B1cENvbnRhaW5lcn0gZnJvbSAnLi4vcG9wdXAtY29udGFpbmVyJztcblxuLyoqXG4gKlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdXAtYWJzdHJhY3QtcG9wdXAtbWVudScsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVVcmxzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBBYnN0cmFjdFBvcHVwTWVudUNvbXBvbmVudCBleHRlbmRzIFBvcHVwQXdhcmVDb21wb25lbnQgaW1wbGVtZW50cyBQb3B1cENvbnRhaW5lciwgQWZ0ZXJDb250ZW50Q2hlY2tlZCB7XG5cbiAgcHJpdmF0ZSBfdW5vcmRlcmVkQ2hpbGRyZW4gPSBuZXcgTXV0YWJsZUxpc3RNb2RlbDxQb3B1cEF3YXJlQ29tcG9uZW50PigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBmYWNlTW9kZWxEZWxlZ2F0ZSA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nVmFsdWVNb2RlbDxDb21tYW5kRmFjZT4oKSk7XG4gIHByaXZhdGUgZmFjZUFkYXB0ZXIkOiBWYWx1ZU1vZGVsQ2hhaW48Q29tbWFuZEZhY2UuQWRhcHRlcj47XG5cbiAgQElucHV0KClcbiAgeFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgPSAnYWZ0ZXInO1xuXG4gIEBJbnB1dCgpXG4gIHlQb3NpdGlvbjogJ2Fib3ZlJyB8ICdiZWxvdycgPSAnYmVsb3cnO1xuXG4gIEBWaWV3Q2hpbGRyZW4oTWF0TWVudVRyaWdnZXIpXG4gIHRyaWdnZXJzOiBRdWVyeUxpc3Q8TWF0TWVudVRyaWdnZXI+O1xuXG4gIEBJbnB1dCgpIEBQcm94aWZ5KClcbiAgYWNjZXNzb3IgZW5hYmxlZCQgPSBwcm94aWZ5KFZhbHVlTW9kZWw8Ym9vbGVhbj4pO1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgpXG4gIGFjY2Vzc29yIGVuYWJsZWQgPSB0cnVlO1xuXG5cbiAgcmVhZG9ubHkgY2hpbGRyZW46IExpc3RNb2RlbENoYWluPFBvcHVwQXdhcmVDb21wb25lbnQ+O1xuICByZWFkb25seSBmYWNlcyQ6IExpc3RNb2RlbENoYWluPENvbW1hbmRGYWNlPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHtjaGFpbiwgdmFsdWVPZiwgYmVmb3JlLCB3aGVuLCBhZnRlciwgb2JzZXJ2ZSwgc3dpdGNoT259ID0gRHNsLmRpc3Bvc2VXaXRoKHRoaXMpO1xuICAgIC8vIGdyb3VwLmZhY2VMaXN0TW9kZWwgPSBjaGFpbih0aGlzLmZhY2VNb2RlbCkubWFwVG9MaXN0KGZhY2UgPT4gW2ZhY2VdKTtcblxuICAgIHRoaXMuZmFjZUFkYXB0ZXIkID0gY2hhaW4odGhpcy5mYWNlTW9kZWxEZWxlZ2F0ZSkubWFwKGYgPT4gbmV3IENvbW1hbmRGYWNlLkFkYXB0ZXIoZikpO1xuICAgIHRoaXMuZmFjZXMkID0gY2hhaW4odGhpcy5mYWNlQWRhcHRlciQpLnBsdWNrKCdmYWNlJykubWFwVG9MaXN0KGZhY2UgPT4gW2ZhY2VdKTtcblxuICAgIHRoaXMuY2hpbGRyZW4gPSBjaGFpbih0aGlzLl91bm9yZGVyZWRDaGlsZHJlbikuc29ydEJ5KCdjb21wb25lbnRJbmRleCcpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xuICAgIC8vIGZvcmNlIHRoZSBsaXN0IHRvIHJlLW9yZGVyIGFzIHRoZSBjaGlsZCBpbmRpY2llcyBtYXkgaGF2ZSBjaGFuZ2VkLlxuICAgIHRoaXMuX3Vub3JkZXJlZENoaWxkcmVuLnZhbHVlID0gWy4uLnRoaXMuX3Vub3JkZXJlZENoaWxkcmVuLnZhbHVlXTtcbiAgfVxuXG5cbiAgZ2V0IGZhY2VBZGFwdGVyKCk6IENvbW1hbmRGYWNlLkFkYXB0ZXIge1xuICAgIGlmICghdGhpcy5mYWNlQWRhcHRlciQpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1NvbWVob3cgZmFjZUFkYXB0ZXJNb2RlbCBpcyBuaWwgLS0gc2V0IGEgYnJlYWsgcG9pbnQgaGVyZSBhbmQgbGV0IG1lIGtub3cgd2hhdFxcJ3MgZ29pbmcgb24nKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmFjZUFkYXB0ZXIkPy52YWx1ZSA/PyBuZXcgQ29tbWFuZEZhY2UuQWRhcHRlcih1bmRlZmluZWQpO1xuICB9XG5cbiAgaXNSb290KCkge1xuICAgIHJldHVybiAhdGhpcy5wb3B1cENvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIHJlZ2lzdGVyKGNvbXBvbmVudDogUG9wdXBBd2FyZUNvbXBvbmVudCkge1xuICAgIHRoaXMuX3Vub3JkZXJlZENoaWxkcmVuLnB1c2goY29tcG9uZW50KTtcbiAgICByZXR1cm4gRGlzcG9zYWJsZS5kaXNwb3NhYmxlVGhhdFJ1bnMoKCkgPT4ge1xuICAgICAgdGhpcy5fdW5vcmRlcmVkQ2hpbGRyZW4ucmVtb3ZlKGNvbXBvbmVudCk7XG4gICAgfSk7XG4gIH1cblxuICBAVHJhY2UoKVxuICBvbkNvbW1hbmRGaXJlZCgpIHtcbiAgICB0aGlzLnRyaWdnZXJzLmZvckVhY2godHJpZ2dlciA9PiB7XG4gICAgICBpZiAodHJpZ2dlci5tZW51T3Blbikge1xuICAgICAgICB0cmlnZ2VyLmNsb3NlTWVudSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0RmFjZSgpOiBDb21tYW5kRmFjZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuZmFjZUFkYXB0ZXIuZmFjZTtcbiAgfVxuXG59XG4iXX0=
@@ -1,15 +1,13 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import { Component, ElementRef, Inject, Input, Optional, SkipSelf } from '@angular/core';
2
+ import { Component, Input } from '@angular/core';
3
3
  import { Dsl, MutableValueModel, StoreInValueModel } from '@coolon/pectin';
4
4
  import { POPUP_CONTAINER } from '../popup-container';
5
5
  import { AbstractPopupMenuComponent } from './abstract-popup-menu.component';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "@angular/common";
8
- import * as i2 from "@angular/material/button";
9
- import * as i3 from "@angular/material/tooltip";
10
- import * as i4 from "@angular/material/menu";
11
- import * as i5 from "../../command-face/command-face.component";
12
- import * as i6 from "./popup-menu-renderer/popup-menu-renderer.component";
8
+ import * as i2 from "@angular/material/menu";
9
+ import * as i3 from "./popup-menu-renderer/popup-menu-renderer.component";
10
+ import * as i4 from "../../button-renderer/button-renderer.component";
13
11
  /**
14
12
  *
15
13
  */
@@ -18,8 +16,8 @@ export class MoreMenuComponent extends AbstractPopupMenuComponent {
18
16
  #tooltip_accessor_storage;
19
17
  get tooltip() { return this.#tooltip_accessor_storage; }
20
18
  set tooltip(value) { this.#tooltip_accessor_storage = value; }
21
- constructor(element, parent) {
22
- super(element, parent);
19
+ constructor() {
20
+ super();
23
21
  const { chain } = Dsl.disposeWith(this);
24
22
  this.faceModelDelegate.setDelegate(chain(this.tooltip$).map(tooltip => {
25
23
  return {
@@ -33,10 +31,10 @@ export class MoreMenuComponent extends AbstractPopupMenuComponent {
33
31
  get face() {
34
32
  return this.faceModelDelegate.value;
35
33
  }
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: MoreMenuComponent, deps: [{ token: i0.ElementRef }, { token: POPUP_CONTAINER, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: MoreMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
35
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: MoreMenuComponent, selector: "aup-more-menu", inputs: { tooltip: "tooltip" }, providers: [
38
36
  { provide: POPUP_CONTAINER, useExisting: MoreMenuComponent }
39
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"content\" style=\"display: none\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"isRoot()\">\n <ng-container *ngIf=\"faceAdapter.text\" [ngSwitch]=\"faceAdapter.style\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-stroked-button>\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-raised-button>\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-button>\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu [parent]=\"this\" (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!faceAdapter.text\">\n <button matMenuTrigger\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n >\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }, { kind: "component", type: i6.PopupMenuRendererComponent, selector: "aup-popup-menu-renderer", inputs: ["parent"], outputs: ["commandFired"] }] });
37
+ ], usesInheritance: true, ngImport: i0, template: "<!-- we hide our commands as they need to be rendered by the menu renderer so the menu -> submenu heirarch is maintained -->\n<!-- probably a better way to do this is with a aup-menu-item directive that makes a template and skips the rendering all together -->\n<div class=\"content\" style=\"display: none\">\n <ng-content></ng-content>\n</div>\n\n<ng-container *ngIf=\"isRoot()\">\n <aup-button-renderer [faces$]=\"faces$\" [matMenuTriggerFor]=\"subMenu.menuComponent \"\n (click)=\"$event.stopPropagation()\"\n [forceRenderAsButton]=\"true\"\n ></aup-button-renderer>\n <aup-popup-menu-renderer #subMenu [parent]=\"this\" (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i3.PopupMenuRendererComponent, selector: "aup-popup-menu-renderer", inputs: ["parent"], outputs: ["commandFired"] }, { kind: "component", type: i4.ButtonRendererComponent, selector: "aup-button-renderer", inputs: ["faces$", "faces", "enabled$", "enabled", "busy$", "busy", "alignFace", "forceRenderAsButton"] }] });
40
38
  }
41
39
  __decorate([
42
40
  StoreInValueModel(),
@@ -46,15 +44,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
46
44
  type: Component,
47
45
  args: [{ selector: 'aup-more-menu', providers: [
48
46
  { provide: POPUP_CONTAINER, useExisting: MoreMenuComponent }
49
- ], template: "<div class=\"content\" style=\"display: none\">\n <ng-content></ng-content>\n</div>\n<ng-container *ngIf=\"isRoot()\">\n <ng-container *ngIf=\"faceAdapter.text\" [ngSwitch]=\"faceAdapter.style\">\n <ng-container *ngSwitchCase=\"'stroked'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-stroked-button>\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'raised'\">\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-raised-button>\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button matMenuTrigger\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n mat-button>\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu [parent]=\"this\" (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n </ng-container>\n\n <ng-container *ngIf=\"!faceAdapter.text\">\n <button matMenuTrigger\n mat-icon-button\n [matMenuTriggerFor]=\"subMenu.menuComponent\"\n (click) = \"$event.stopPropagation()\"\n [matTooltip]=\"faceAdapter.tooltip\"\n [color]=\"faceAdapter.color\"\n [disabled]=\"!enabled\"\n >\n <aup-command-face [faces]=\"faces$.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #subMenu\n [parent]=\"this\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n</ng-container>\n" }]
50
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: undefined, decorators: [{
51
- type: Inject,
52
- args: [POPUP_CONTAINER]
53
- }, {
54
- type: Optional
55
- }, {
56
- type: SkipSelf
57
- }] }]; }, propDecorators: { tooltip: [{
47
+ ], template: "<!-- we hide our commands as they need to be rendered by the menu renderer so the menu -> submenu heirarch is maintained -->\n<!-- probably a better way to do this is with a aup-menu-item directive that makes a template and skips the rendering all together -->\n<div class=\"content\" style=\"display: none\">\n <ng-content></ng-content>\n</div>\n\n<ng-container *ngIf=\"isRoot()\">\n <aup-button-renderer [faces$]=\"faces$\" [matMenuTriggerFor]=\"subMenu.menuComponent \"\n (click)=\"$event.stopPropagation()\"\n [forceRenderAsButton]=\"true\"\n ></aup-button-renderer>\n <aup-popup-menu-renderer #subMenu [parent]=\"this\" (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n</ng-container>\n" }]
48
+ }], ctorParameters: function () { return []; }, propDecorators: { tooltip: [{
58
49
  type: Input
59
50
  }] } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvY29tbWFuZHMvZ3JvdXAvcG9wdXAtbWVudS9tb3JlLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9jb21tYW5kcy9ncm91cC9wb3B1cC1tZW51L3BvcHVwLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUMsR0FBRyxFQUFFLGlCQUFpQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFDLGVBQWUsRUFBaUIsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRSxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7QUFFM0U7O0dBRUc7QUFRSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsMEJBQTBCO0lBRXZELFFBQVEsR0FBRyxJQUFJLGlCQUFpQixFQUFVLENBQUM7SUFHMUMsMEJBQWdCO0lBQWhCLElBQUEsT0FBTyw2Q0FBUztJQUFoQixJQUFBLE9BQU8sbURBQVM7SUFFekIsWUFBWSxPQUFtQixFQUFtRCxNQUF1QjtRQUN2RyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDcEUsT0FBTztnQkFDTCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsZUFBZTtnQkFDM0IsT0FBTztvQkFDTCxPQUFPLE9BQU8sQ0FBQztnQkFDakIsQ0FBQzthQUNGLENBQUM7UUFDSixDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQzt1R0F0QlUsaUJBQWlCLDRDQU9hLGVBQWU7MkZBUDdDLGlCQUFpQix3RUFKbEI7WUFDUixFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFDO1NBQzNELGlEQ2JILG90RkFrRUE7O0FEOUNXO0lBREMsaUJBQWlCLEVBQUU7O2dEQUNKOzJGQUxkLGlCQUFpQjtrQkFQN0IsU0FBUzsrQkFDRSxlQUFlLGFBRWY7d0JBQ1IsRUFBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsbUJBQW1CLEVBQUM7cUJBQzNEOzswQkFTaUMsTUFBTTsyQkFBQyxlQUFlOzswQkFBRyxRQUFROzswQkFBSSxRQUFROzRDQUZ0RSxPQUFPO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFNraXBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RHNsLCBNdXRhYmxlVmFsdWVNb2RlbCwgU3RvcmVJblZhbHVlTW9kZWx9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7UE9QVVBfQ09OVEFJTkVSLCBQb3B1cENvbnRhaW5lcn0gZnJvbSAnLi4vcG9wdXAtY29udGFpbmVyJztcbmltcG9ydCB7QWJzdHJhY3RQb3B1cE1lbnVDb21wb25lbnR9IGZyb20gJy4vYWJzdHJhY3QtcG9wdXAtbWVudS5jb21wb25lbnQnO1xuXG4vKipcbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1tb3JlLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wdXAtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczpbXG4gICAge3Byb3ZpZGU6IFBPUFVQX0NPTlRBSU5FUiwgdXNlRXhpc3Rpbmc6IE1vcmVNZW51Q29tcG9uZW50fVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1vcmVNZW51Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RQb3B1cE1lbnVDb21wb25lbnQge1xuXG4gIHByaXZhdGUgdG9vbHRpcCQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8c3RyaW5nPigpO1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgpXG4gIGFjY2Vzc29yIHRvb2x0aXA6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50OiBFbGVtZW50UmVmLCBASW5qZWN0KFBPUFVQX0NPTlRBSU5FUikgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50PzogUG9wdXBDb250YWluZXIpIHtcbiAgICBzdXBlcihlbGVtZW50LCBwYXJlbnQpO1xuICAgIGNvbnN0IHsgY2hhaW4gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLmZhY2VNb2RlbERlbGVnYXRlLnNldERlbGVnYXRlKGNoYWluKHRoaXMudG9vbHRpcCQpLm1hcCh0b29sdGlwID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb246ICgpID0+ICdtYXQ6bW9yZV92ZXJ0JyxcbiAgICAgICAgdG9vbHRpcCgpOiBzdHJpbmcge1xuICAgICAgICAgIHJldHVybiB0b29sdGlwO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sIHsgYWxsb3dOaWw6IHRydWUgfSkpO1xuICB9XG5cbiAgZ2V0IGZhY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmFjZU1vZGVsRGVsZWdhdGUudmFsdWU7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRlbnRcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNSb290KClcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZhY2VBZGFwdGVyLnRleHRcIiBbbmdTd2l0Y2hdPVwiZmFjZUFkYXB0ZXIuc3R5bGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc3Ryb2tlZCdcIj5cbiAgICAgIDxidXR0b24gbWF0TWVudVRyaWdnZXJcbiAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInN1Yk1lbnUubWVudUNvbXBvbmVudFwiXG4gICAgICAgICAgICAgIChjbGljaykgPSBcIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImZhY2VBZGFwdGVyLnRvb2x0aXBcIlxuICAgICAgICAgICAgICBbY29sb3JdPVwiZmFjZUFkYXB0ZXIuY29sb3JcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVuYWJsZWRcIlxuICAgICAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b24+XG4gICAgICAgIDxhdXAtY29tbWFuZC1mYWNlIFtmYWNlc109XCJmYWNlcyQudmFsdWVcIj48L2F1cC1jb21tYW5kLWZhY2U+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxhdXAtcG9wdXAtbWVudS1yZW5kZXJlciAjc3ViTWVudVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRdPVwidGhpc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29tbWFuZEZpcmVkKT1cIm9uQ29tbWFuZEZpcmVkKClcIj48L2F1cC1wb3B1cC1tZW51LXJlbmRlcmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ3JhaXNlZCdcIj5cbiAgICAgIDxidXR0b24gbWF0TWVudVRyaWdnZXJcbiAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cInN1Yk1lbnUubWVudUNvbXBvbmVudFwiXG4gICAgICAgICAgICAgIChjbGljaykgPSBcIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImZhY2VBZGFwdGVyLnRvb2x0aXBcIlxuICAgICAgICAgICAgICBbY29sb3JdPVwiZmFjZUFkYXB0ZXIuY29sb3JcIlxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVuYWJsZWRcIlxuICAgICAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvbj5cbiAgICAgICAgPGF1cC1jb21tYW5kLWZhY2UgW2ZhY2VzXT1cImZhY2VzJC52YWx1ZVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGF1cC1wb3B1cC1tZW51LXJlbmRlcmVyICNzdWJNZW51XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmVudF09XCJ0aGlzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb21tYW5kRmlyZWQpPVwib25Db21tYW5kRmlyZWQoKVwiPjwvYXVwLXBvcHVwLW1lbnUtcmVuZGVyZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICA8YnV0dG9uIG1hdE1lbnVUcmlnZ2VyXG4gICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJzdWJNZW51Lm1lbnVDb21wb25lbnRcIlxuICAgICAgICAgICAgICAoY2xpY2spID0gXCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJmYWNlQWRhcHRlci50b29sdGlwXCJcbiAgICAgICAgICAgICAgW2NvbG9yXT1cImZhY2VBZGFwdGVyLmNvbG9yXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFlbmFibGVkXCJcbiAgICAgICAgICAgICAgbWF0LWJ1dHRvbj5cbiAgICAgICAgPGF1cC1jb21tYW5kLWZhY2UgW2ZhY2VzXT1cImZhY2VzJC52YWx1ZVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGF1cC1wb3B1cC1tZW51LXJlbmRlcmVyICNzdWJNZW51IFtwYXJlbnRdPVwidGhpc1wiIChjb21tYW5kRmlyZWQpPVwib25Db21tYW5kRmlyZWQoKVwiPjwvYXVwLXBvcHVwLW1lbnUtcmVuZGVyZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFmYWNlQWRhcHRlci50ZXh0XCI+XG4gICAgPGJ1dHRvbiBtYXRNZW51VHJpZ2dlclxuICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwic3ViTWVudS5tZW51Q29tcG9uZW50XCJcbiAgICAgICAgICAgIChjbGljaykgPSBcIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJmYWNlQWRhcHRlci50b29sdGlwXCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJmYWNlQWRhcHRlci5jb2xvclwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWVuYWJsZWRcIlxuICAgID5cbiAgICAgIDxhdXAtY29tbWFuZC1mYWNlIFtmYWNlc109XCJmYWNlcyQudmFsdWVcIj48L2F1cC1jb21tYW5kLWZhY2U+XG4gICAgPC9idXR0b24+XG4gICAgPGF1cC1wb3B1cC1tZW51LXJlbmRlcmVyICNzdWJNZW51XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRdPVwidGhpc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbW1hbmRGaXJlZCk9XCJvbkNvbW1hbmRGaXJlZCgpXCI+PC9hdXAtcG9wdXAtbWVudS1yZW5kZXJlcj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9yZS1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvY29tbWFuZHMvZ3JvdXAvcG9wdXAtbWVudS9tb3JlLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXVpLXBvd2VydXBzL3NyYy9saWIvY29tcG9uZW50cy9jb21tYW5kcy9ncm91cC9wb3B1cC1tZW51L3BvcHVwLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQXNCLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFDLEdBQUcsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxlQUFlLEVBQWlCLE1BQU0sb0JBQW9CLENBQUM7QUFDbkUsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7Ozs7OztBQUUzRTs7R0FFRztBQVFILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSwwQkFBMEI7SUFFdkQsUUFBUSxHQUFHLElBQUksaUJBQWlCLEVBQVUsQ0FBQztJQUcxQywwQkFBZ0I7SUFBaEIsSUFBQSxPQUFPLDZDQUFTO0lBQWhCLElBQUEsT0FBTyxtREFBUztJQUV6QjtRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNwRSxPQUFPO2dCQUNMLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxlQUFlO2dCQUMzQixPQUFPO29CQUNMLE9BQU8sT0FBTyxDQUFDO2dCQUNqQixDQUFDO2FBQ0YsQ0FBQztRQUNKLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQztJQUN0QyxDQUFDO3VHQXRCVSxpQkFBaUI7MkZBQWpCLGlCQUFpQix3RUFKbEI7WUFDUixFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFDO1NBQzNELGlEQ2JILG92QkFhQTs7QURPVztJQURDLGlCQUFpQixFQUFFOztnREFDSjsyRkFMZCxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsZUFBZSxhQUVmO3dCQUNSLEVBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLG1CQUFtQixFQUFDO3FCQUMzRDswRUFPUSxPQUFPO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT3B0aW9uYWwsIFNraXBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RHNsLCBNdXRhYmxlVmFsdWVNb2RlbCwgU3RvcmVJblZhbHVlTW9kZWx9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7UE9QVVBfQ09OVEFJTkVSLCBQb3B1cENvbnRhaW5lcn0gZnJvbSAnLi4vcG9wdXAtY29udGFpbmVyJztcbmltcG9ydCB7QWJzdHJhY3RQb3B1cE1lbnVDb21wb25lbnR9IGZyb20gJy4vYWJzdHJhY3QtcG9wdXAtbWVudS5jb21wb25lbnQnO1xuXG4vKipcbiAqXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1cC1tb3JlLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG9wdXAtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczpbXG4gICAge3Byb3ZpZGU6IFBPUFVQX0NPTlRBSU5FUiwgdXNlRXhpc3Rpbmc6IE1vcmVNZW51Q29tcG9uZW50fVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1vcmVNZW51Q29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RQb3B1cE1lbnVDb21wb25lbnQge1xuXG4gIHByaXZhdGUgdG9vbHRpcCQgPSBuZXcgTXV0YWJsZVZhbHVlTW9kZWw8c3RyaW5nPigpO1xuXG4gIEBJbnB1dCgpIEBTdG9yZUluVmFsdWVNb2RlbCgpXG4gIGFjY2Vzc29yIHRvb2x0aXA6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4gfSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICB0aGlzLmZhY2VNb2RlbERlbGVnYXRlLnNldERlbGVnYXRlKGNoYWluKHRoaXMudG9vbHRpcCQpLm1hcCh0b29sdGlwID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGljb246ICgpID0+ICdtYXQ6bW9yZV92ZXJ0JyxcbiAgICAgICAgdG9vbHRpcCgpOiBzdHJpbmcge1xuICAgICAgICAgIHJldHVybiB0b29sdGlwO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sIHsgYWxsb3dOaWw6IHRydWUgfSkpO1xuICB9XG5cbiAgZ2V0IGZhY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmFjZU1vZGVsRGVsZWdhdGUudmFsdWU7XG4gIH1cblxufVxuIiwiPCEtLSB3ZSBoaWRlIG91ciBjb21tYW5kcyBhcyB0aGV5IG5lZWQgdG8gYmUgcmVuZGVyZWQgYnkgdGhlIG1lbnUgcmVuZGVyZXIgc28gdGhlIG1lbnUgLT4gc3VibWVudSBoZWlyYXJjaCBpcyBtYWludGFpbmVkIC0tPlxuPCEtLSBwcm9iYWJseSBhIGJldHRlciB3YXkgdG8gZG8gdGhpcyBpcyB3aXRoIGEgYXVwLW1lbnUtaXRlbSBkaXJlY3RpdmUgdGhhdCBtYWtlcyBhIHRlbXBsYXRlIGFuZCBza2lwcyB0aGUgcmVuZGVyaW5nIGFsbCB0b2dldGhlciAtLT5cbjxkaXYgY2xhc3M9XCJjb250ZW50XCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNSb290KClcIj5cbiAgPGF1cC1idXR0b24tcmVuZGVyZXIgW2ZhY2VzJF09XCJmYWNlcyRcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwic3ViTWVudS5tZW51Q29tcG9uZW50IFwiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAgICAgICAgICAgICAgICBbZm9yY2VSZW5kZXJBc0J1dHRvbl09XCJ0cnVlXCJcbiAgPjwvYXVwLWJ1dHRvbi1yZW5kZXJlcj5cbiAgPGF1cC1wb3B1cC1tZW51LXJlbmRlcmVyICNzdWJNZW51IFtwYXJlbnRdPVwidGhpc1wiIChjb21tYW5kRmlyZWQpPVwib25Db21tYW5kRmlyZWQoKVwiPjwvYXVwLXBvcHVwLW1lbnUtcmVuZGVyZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -2,6 +2,7 @@ import { Component, EventEmitter, Input, Output, QueryList, ViewChild, ViewChild
2
2
  import { MatMenu, MatMenuTrigger } from "@angular/material/menu";
3
3
  import { DelegatingListModel, Dsl } from "@coolon/pectin";
4
4
  import { DisposableComponent } from "../../../../disposable-component";
5
+ import { FileDownloadComponent } from "../../../../file/file-download/file-download.component";
5
6
  import { Track } from "../../../../track";
6
7
  import { CommandFace } from "../../../command-face";
7
8
  import { CommandComponent } from "../../../command/command.component";
@@ -13,6 +14,9 @@ import * as i2 from "@angular/material/tooltip";
13
14
  import * as i3 from "@angular/material/menu";
14
15
  import * as i4 from "@angular/material/divider";
15
16
  import * as i5 from "../../../command-face/command-face.component";
17
+ // TODO: can I get rid of this and have aup-commands etc test for their environment by injecting the parent MatMenu like I've done in
18
+ // the FileDownloadComponent? This would greatly simplify things - Not easily it seems - that structure doesn't result in menus being
19
+ // nested in each other correctly so sub menus don't work properly - i.e. clicking on a child item closes the parent.
16
20
  export class PopupMenuRendererComponent extends DisposableComponent {
17
21
  _parentComponent;
18
22
  _childList = this.registerDisposable(new DelegatingListModel());
@@ -76,22 +80,23 @@ export class PopupMenuRendererComponent extends DisposableComponent {
76
80
  isSeparator(child) {
77
81
  return child instanceof SeparatorComponent;
78
82
  }
83
+ isFileDownload(child) {
84
+ return child instanceof FileDownloadComponent;
85
+ }
79
86
  getTooltip(child) {
80
87
  return this.isCommand(child) ? CommandFace.getTooltipOf(child.face) : undefined;
81
88
  }
82
89
  getFaces(child) {
83
- return this.isCommand(child) ?
90
+ return this.isCommand(child) || this.isPopupMenu(child) || this.isFileDownload(child) ?
84
91
  child.faces$.value :
85
- this.isPopupMenu(child) ?
86
- child.faces$.value :
87
- undefined;
92
+ undefined;
88
93
  }
89
94
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PopupMenuRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
90
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PopupMenuRendererComponent, selector: "aup-popup-menu-renderer", inputs: { parent: "parent" }, outputs: { commandFired: "commandFired" }, viewQueries: [{ propertyName: "menuComponent", first: true, predicate: ["menu"], descendants: true, static: true }, { propertyName: "triggers", predicate: MatMenuTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-menu #menu [xPosition]=\"parent.xPosition\" [yPosition]=\"parent.yPosition\">\n <ng-template matMenuContent>\n <ng-container *ngFor=\"let child of children; trackBy: TrackBy.byIndex\" >\n <button *ngIf=\"isCommand(child)\"\n (click)=\"executeCommand(child)\"\n [disabled]=\"!isCommandEnabled(child)\"\n [matTooltip]=\"getTooltip(child)\"\n mat-menu-item>\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n\n <ng-container *ngIf=\"isPopupMenu(child)\">\n <button mat-menu-item\n matMenuTrigger\n [disabled]=\"!isPopupMenuEnabled(child)\"\n [matMenuTriggerFor]=\"innerPanel.menuComponent\"\n >\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #innerPanel\n [parent]=\"child\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <mat-divider *ngIf=\"isSeparator(child)\"></mat-divider>\n\n </ng-container>\n\n </ng-template>\n</mat-menu>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i5.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }, { kind: "component", type: PopupMenuRendererComponent, selector: "aup-popup-menu-renderer", inputs: ["parent"], outputs: ["commandFired"] }] });
95
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.9", type: PopupMenuRendererComponent, selector: "aup-popup-menu-renderer", inputs: { parent: "parent" }, outputs: { commandFired: "commandFired" }, viewQueries: [{ propertyName: "menuComponent", first: true, predicate: ["menu"], descendants: true, static: true }, { propertyName: "triggers", predicate: MatMenuTrigger, descendants: true }], usesInheritance: true, ngImport: i0, template: "<mat-menu #menu [xPosition]=\"parent.xPosition\" [yPosition]=\"parent.yPosition\">\n <ng-template matMenuContent>\n <ng-container *ngFor=\"let child of children; trackBy: TrackBy.byIndex\" >\n <button *ngIf=\"isCommand(child)\"\n (click)=\"executeCommand(child)\"\n [disabled]=\"!isCommandEnabled(child)\"\n [matTooltip]=\"getTooltip(child)\"\n mat-menu-item>\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n\n <ng-container *ngIf=\"isPopupMenu(child)\">\n <button mat-menu-item\n [disabled]=\"!isPopupMenuEnabled(child)\"\n [matMenuTriggerFor]=\"innerPanel.menuComponent\"\n >\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #innerPanel\n [parent]=\"child\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <!-- Hack... -->\n <a *ngIf=\"isFileDownload(child)\" mat-menu-item [href]=\"child.download.url\" [download]=\"child.download.saveAs\">\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </a>\n <mat-divider *ngIf=\"isSeparator(child)\"></mat-divider>\n\n </ng-container>\n\n </ng-template>\n</mat-menu>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i5.CommandFaceComponent, selector: "aup-command-face", inputs: ["faces", "face", "ignoreIcon", "ignoreText", "includeMissingIconInLayout"] }, { kind: "component", type: PopupMenuRendererComponent, selector: "aup-popup-menu-renderer", inputs: ["parent"], outputs: ["commandFired"] }] });
91
96
  }
92
97
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: PopupMenuRendererComponent, decorators: [{
93
98
  type: Component,
94
- args: [{ selector: "aup-popup-menu-renderer", template: "<mat-menu #menu [xPosition]=\"parent.xPosition\" [yPosition]=\"parent.yPosition\">\n <ng-template matMenuContent>\n <ng-container *ngFor=\"let child of children; trackBy: TrackBy.byIndex\" >\n <button *ngIf=\"isCommand(child)\"\n (click)=\"executeCommand(child)\"\n [disabled]=\"!isCommandEnabled(child)\"\n [matTooltip]=\"getTooltip(child)\"\n mat-menu-item>\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n\n <ng-container *ngIf=\"isPopupMenu(child)\">\n <button mat-menu-item\n matMenuTrigger\n [disabled]=\"!isPopupMenuEnabled(child)\"\n [matMenuTriggerFor]=\"innerPanel.menuComponent\"\n >\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #innerPanel\n [parent]=\"child\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <mat-divider *ngIf=\"isSeparator(child)\"></mat-divider>\n\n </ng-container>\n\n </ng-template>\n</mat-menu>\n" }]
99
+ args: [{ selector: "aup-popup-menu-renderer", template: "<mat-menu #menu [xPosition]=\"parent.xPosition\" [yPosition]=\"parent.yPosition\">\n <ng-template matMenuContent>\n <ng-container *ngFor=\"let child of children; trackBy: TrackBy.byIndex\" >\n <button *ngIf=\"isCommand(child)\"\n (click)=\"executeCommand(child)\"\n [disabled]=\"!isCommandEnabled(child)\"\n [matTooltip]=\"getTooltip(child)\"\n mat-menu-item>\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n\n <ng-container *ngIf=\"isPopupMenu(child)\">\n <button mat-menu-item\n [disabled]=\"!isPopupMenuEnabled(child)\"\n [matMenuTriggerFor]=\"innerPanel.menuComponent\"\n >\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </button>\n <aup-popup-menu-renderer #innerPanel\n [parent]=\"child\"\n (commandFired)=\"onCommandFired()\"></aup-popup-menu-renderer>\n </ng-container>\n\n <!-- Hack... -->\n <a *ngIf=\"isFileDownload(child)\" mat-menu-item [href]=\"child.download.url\" [download]=\"child.download.saveAs\">\n <aup-command-face [faces]=\"getFaces(child)\"\n [includeMissingIconInLayout]=\"hasMixedIcons.value\"></aup-command-face>\n </a>\n <mat-divider *ngIf=\"isSeparator(child)\"></mat-divider>\n\n </ng-container>\n\n </ng-template>\n</mat-menu>\n" }]
95
100
  }], ctorParameters: function () { return []; }, propDecorators: { parent: [{
96
101
  type: Input
97
102
  }], menuComponent: [{
@@ -103,4 +108,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImpor
103
108
  type: ViewChildren,
104
109
  args: [MatMenuTrigger]
105
110
  }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtbWVudS1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbW1hbmRzL2dyb3VwL3BvcHVwLW1lbnUvcG9wdXAtbWVudS1yZW5kZXJlci9wb3B1cC1tZW51LXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvY29tbWFuZHMvZ3JvdXAvcG9wdXAtbWVudS9wb3B1cC1tZW51LXJlbmRlcmVyL3BvcHVwLW1lbnUtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBVSxtQkFBbUIsRUFBRSxHQUFHLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDeEMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7O0FB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RXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtNYXRNZW51LCBNYXRNZW51VHJpZ2dlcn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL21lbnVcIjtcbmltcG9ydCB7Q29tbWFuZCwgRGVsZWdhdGluZ0xpc3RNb2RlbCwgRHNsLCBWYWx1ZU1vZGVsfSBmcm9tIFwiQGNvb2xvbi9wZWN0aW5cIjtcbmltcG9ydCB7RGlzcG9zYWJsZUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uLy4uLy4uL2Rpc3Bvc2FibGUtY29tcG9uZW50XCI7XG5pbXBvcnQge1RyYWNrfSBmcm9tIFwiLi4vLi4vLi4vLi4vdHJhY2tcIjtcbmltcG9ydCB7Q29tbWFuZEZhY2V9IGZyb20gXCIuLi8uLi8uLi9jb21tYW5kLWZhY2VcIjtcbmltcG9ydCB7Q29tbWFuZENvbXBvbmVudH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1hbmQvY29tbWFuZC5jb21wb25lbnRcIjtcbmltcG9ydCB7U2VwYXJhdG9yQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vc2VwYXJhdG9yLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtQb3B1cEF3YXJlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vcG9wdXAtYXdhcmUuY29tcG9uZW50XCI7XG5pbXBvcnQge0Fic3RyYWN0UG9wdXBNZW51Q29tcG9uZW50fSBmcm9tIFwiLi4vYWJzdHJhY3QtcG9wdXAtbWVudS5jb21wb25lbnRcIjtcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXVwLXBvcHVwLW1lbnUtcmVuZGVyZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wb3B1cC1tZW51LXJlbmRlcmVyLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgUG9wdXBNZW51UmVuZGVyZXJDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IHtcblxuICBwcml2YXRlIF9wYXJlbnRDb21wb25lbnQ6IEFic3RyYWN0UG9wdXBNZW51Q29tcG9uZW50O1xuXG4gIHByaXZhdGUgX2NoaWxkTGlzdCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nTGlzdE1vZGVsPFBvcHVwQXdhcmVDb21wb25lbnQ+KCkpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBwYXJlbnQoKTogQWJzdHJhY3RQb3B1cE1lbnVDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLl9wYXJlbnRDb21wb25lbnQ7XG4gIH1cblxuICBzZXQgcGFyZW50KGNvbXA6IEFic3RyYWN0UG9wdXBNZW51Q29tcG9uZW50KSB7XG4gICAgdGhpcy5fcGFyZW50Q29tcG9uZW50ID0gY29tcDtcbiAgICB0aGlzLl9jaGlsZExpc3Quc2V0RGVsZWdhdGUoY29tcC5jaGlsZHJlbik7XG4gIH1cblxuICBAVmlld0NoaWxkKFwibWVudVwiLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBtZW51Q29tcG9uZW50OiBNYXRNZW51O1xuXG4gIEBPdXRwdXQoKVxuICBjb21tYW5kRmlyZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQFZpZXdDaGlsZHJlbihNYXRNZW51VHJpZ2dlcilcbiAgdHJpZ2dlcnM6IFF1ZXJ5TGlzdDxNYXRNZW51VHJpZ2dlcj47XG5cbiAgcmVhZG9ubHkgaGFzTWl4ZWRJY29uczogVmFsdWVNb2RlbDxib29sZWFuPjtcbiAgcmVhZG9ubHkgY29tbWFuZFByb3h5OiBDb21tYW5kPHVua25vd24+O1xuXG4gIFRyYWNrQnkgPSBUcmFjaztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IHsgY2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9uIH0gPSBEc2wuZGlzcG9zZVdpdGgodGhpcyk7XG4gICAgLy8gdGhpcy5jaGlsZHJlbiA9IGNoYWluKHRoaXMuZ3JvdXBWaWV3RGF0YU1vZGVsKS5wbHVja0xpc3QoJ2NoaWxkcmVuJyk7XG4gICAgLy8gdGhpcy5oYXNNaXhlZEljb25zID0gY2hhaW4odGhpcy5ncm91cFZpZXdEYXRhTW9kZWwpLnBsdWNrKCdoYXNNaXhlZEljb25zJyk7XG4gICAgY29uc3QgZmFjZXMgPSBjaGFpbih0aGlzLl9jaGlsZExpc3QpLm1hcChjaGlsZCA9PiB7XG4gICAgICByZXR1cm4gY2hpbGQuZ2V0RmFjZSgpO1xuICAgIH0pLnJlamVjdE5pbCgpO1xuICAgIGNvbnN0IGljb25zID0gZmFjZXMuc2VsZWN0KGZhY2UgPT4gISFDb21tYW5kRmFjZS5nZXRJY29uT2YoZmFjZSkpO1xuICAgIGNvbnN0IGljb25Db3VudCA9IGljb25zLmNvdW50KCk7XG4gICAgY29uc3QgdG90YWxGYWNlcyA9IGZhY2VzLmNvdW50KCk7XG4gICAgdGhpcy5oYXNNaXhlZEljb25zID0gdmFsdWVPZi5hbGwoXG4gICAgICBpY29uQ291bnQuaXNHcmVhdGVyVGhhbigwKSxcbiAgICAgIHRvdGFsRmFjZXMuZG9lc05vdEVxdWFsKGljb25Db3VudClcbiAgICApLmFyZVRydXRoeSgpO1xuICB9XG5cbiAgZ2V0IGNoaWxkcmVuKCk6IHJlYWRvbmx5IFBvcHVwQXdhcmVDb21wb25lbnRbXSB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LmNoaWxkcmVuLnZhbHVlO1xuICB9XG5cbiAgZXhlY3V0ZUNvbW1hbmQoZGF0YTogUG9wdXBBd2FyZUNvbXBvbmVudCkge1xuICAgIGlmICh0aGlzLmlzQ29tbWFuZChkYXRhKSkge1xuICAgICAgZGF0YS5jb21tYW5kLmV4ZWN1dGUoKS5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgdGhpcy5jb21tYW5kRmlyZWQuZW1pdCgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgaXNDb21tYW5kRW5hYmxlZChkYXRhOiBQb3B1cEF3YXJlQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHRoaXMuaXNDb21tYW5kKGRhdGEpICYmIGRhdGEuY29tbWFuZC5lbmFibGVkJC52YWx1ZTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIG9uQ29tbWFuZEZpcmVkKCkge1xuICAgIHRoaXMuY29tbWFuZEZpcmVkLmVtaXQoKTtcbiAgICB0aGlzLnRyaWdnZXJzLmZvckVhY2godHJpZ2dlciA9PiB7XG4gICAgICBpZiAodHJpZ2dlci5tZW51T3Blbikge1xuICAgICAgICB0cmlnZ2VyLmNsb3NlTWVudSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgaXNDb21tYW5kKGNoaWxkOiBhbnkpOiBjaGlsZCBpcyBDb21tYW5kQ29tcG9uZW50IHtcbiAgICByZXR1cm4gY2hpbGQgaW5zdGFuY2VvZiBDb21tYW5kQ29tcG9uZW50O1xuICB9XG5cbiAgaXNQb3B1cE1lbnUoY2hpbGQ6IGFueSk6IGNoaWxkIGlzIEFic3RyYWN0UG9wdXBNZW51Q29tcG9uZW50IHtcbiAgICByZXR1cm4gY2hpbGQgaW5zdGFuY2VvZiBBYnN0cmFjdFBvcHVwTWVudUNvbXBvbmVudDtcbiAgfVxuXG4gIGlzUG9wdXBNZW51RW5hYmxlZChjaGlsZDogYW55KTogY2hpbGQgaXMgQWJzdHJhY3RQb3B1cE1lbnVDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLmlzUG9wdXBNZW51KGNoaWxkKSAmJiBjaGlsZC5lbmFibGVkO1xuICB9XG5cbiAgaXNTZXBhcmF0b3IoY2hpbGQ6IGFueSk6IGNoaWxkIGlzIFNlcGFyYXRvckNvbXBvbmVudCB7XG4gICAgcmV0dXJuIGNoaWxkIGluc3RhbmNlb2YgU2VwYXJhdG9yQ29tcG9uZW50O1xuICB9XG5cbiAgZ2V0VG9vbHRpcChjaGlsZDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaXNDb21tYW5kKGNoaWxkKSA/IENvbW1hbmRGYWNlLmdldFRvb2x0aXBPZihjaGlsZC5mYWNlKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGdldEZhY2VzKGNoaWxkOiBQb3B1cEF3YXJlQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHRoaXMuaXNDb21tYW5kKGNoaWxkKSA/XG4gICAgICBjaGlsZC5mYWNlcyQudmFsdWUgOlxuICAgICAgdGhpcy5pc1BvcHVwTWVudShjaGlsZCkgP1xuICAgICAgICBjaGlsZC5mYWNlcyQudmFsdWUgOlxuICAgICAgICB1bmRlZmluZWQ7XG4gIH1cbn1cblxuXG4iLCI8bWF0LW1lbnUgI21lbnUgW3hQb3NpdGlvbl09XCJwYXJlbnQueFBvc2l0aW9uXCIgW3lQb3NpdGlvbl09XCJwYXJlbnQueVBvc2l0aW9uXCI+XG4gIDxuZy10ZW1wbGF0ZSBtYXRNZW51Q29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBjaGlsZHJlbjsgdHJhY2tCeTogVHJhY2tCeS5ieUluZGV4XCIgPlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cImlzQ29tbWFuZChjaGlsZClcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZXhlY3V0ZUNvbW1hbmQoY2hpbGQpXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0NvbW1hbmRFbmFibGVkKGNoaWxkKVwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImdldFRvb2x0aXAoY2hpbGQpXCJcbiAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICA8YXVwLWNvbW1hbmQtZmFjZSBbZmFjZXNdPVwiZ2V0RmFjZXMoY2hpbGQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5jbHVkZU1pc3NpbmdJY29uSW5MYXlvdXRdPVwiaGFzTWl4ZWRJY29ucy52YWx1ZVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNQb3B1cE1lbnUoY2hpbGQpXCI+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgIG1hdE1lbnVUcmlnZ2VyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc1BvcHVwTWVudUVuYWJsZWQoY2hpbGQpXCJcbiAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwiaW5uZXJQYW5lbC5tZW51Q29tcG9uZW50XCJcbiAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8YXVwLWNvbW1hbmQtZmFjZSBbZmFjZXNdPVwiZ2V0RmFjZXMoY2hpbGQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2luY2x1ZGVNaXNzaW5nSWNvbkluTGF5b3V0XT1cImhhc01peGVkSWNvbnMudmFsdWVcIj48L2F1cC1jb21tYW5kLWZhY2U+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YXVwLXBvcHVwLW1lbnUtcmVuZGVyZXIgI2lubmVyUGFuZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJlbnRdPVwiY2hpbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbW1hbmRGaXJlZCk9XCJvbkNvbW1hbmRGaXJlZCgpXCI+PC9hdXAtcG9wdXAtbWVudS1yZW5kZXJlcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bWF0LWRpdmlkZXIgKm5nSWY9XCJpc1NlcGFyYXRvcihjaGlsZClcIj48L21hdC1kaXZpZGVyPlxuXG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbWF0LW1lbnU+XG4iXX0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAtbWVudS1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItdWktcG93ZXJ1cHMvc3JjL2xpYi9jb21wb25lbnRzL2NvbW1hbmRzL2dyb3VwL3BvcHVwLW1lbnUvcG9wdXAtbWVudS1yZW5kZXJlci9wb3B1cC1tZW51LXJlbmRlcmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci11aS1wb3dlcnVwcy9zcmMvbGliL2NvbXBvbmVudHMvY29tbWFuZHMvZ3JvdXAvcG9wdXAtbWVudS9wb3B1cC1tZW51LXJlbmRlcmVyL3BvcHVwLW1lbnUtcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUMsT0FBTyxFQUFFLGNBQWMsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQy9ELE9BQU8sRUFBVSxtQkFBbUIsRUFBRSxHQUFHLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx3REFBd0QsQ0FBQztBQUM3RixPQUFPLEVBQUMsS0FBSyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDeEMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBRWhFLE9B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QU0sRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUM7Z0JBSWpDLFlBQVk7c0JBRFgsTUFBTTtnQkFJUCxRQUFRO3NCQURQLFlBQVk7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge01hdE1lbnUsIE1hdE1lbnVUcmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudVwiO1xuaW1wb3J0IHtDb21tYW5kLCBEZWxlZ2F0aW5nTGlzdE1vZGVsLCBEc2wsIFZhbHVlTW9kZWx9IGZyb20gXCJAY29vbG9uL3BlY3RpblwiO1xuaW1wb3J0IHtEaXNwb3NhYmxlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vLi4vZGlzcG9zYWJsZS1jb21wb25lbnRcIjtcbmltcG9ydCB7RmlsZURvd25sb2FkQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vLi4vZmlsZS9maWxlLWRvd25sb2FkL2ZpbGUtZG93bmxvYWQuY29tcG9uZW50XCI7XG5pbXBvcnQge1RyYWNrfSBmcm9tIFwiLi4vLi4vLi4vLi4vdHJhY2tcIjtcbmltcG9ydCB7Q29tbWFuZEZhY2V9IGZyb20gXCIuLi8uLi8uLi9jb21tYW5kLWZhY2VcIjtcbmltcG9ydCB7Q29tbWFuZENvbXBvbmVudH0gZnJvbSBcIi4uLy4uLy4uL2NvbW1hbmQvY29tbWFuZC5jb21wb25lbnRcIjtcbmltcG9ydCB7U2VwYXJhdG9yQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vLi4vc2VwYXJhdG9yLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtQb3B1cEF3YXJlQ29tcG9uZW50fSBmcm9tIFwiLi4vLi4vcG9wdXAtYXdhcmUuY29tcG9uZW50XCI7XG5pbXBvcnQge0Fic3RyYWN0UG9wdXBNZW51Q29tcG9uZW50fSBmcm9tIFwiLi4vYWJzdHJhY3QtcG9wdXAtbWVudS5jb21wb25lbnRcIjtcblxuLy8gVE9ETzogY2FuIEkgZ2V0IHJpZCBvZiB0aGlzIGFuZCBoYXZlIGF1cC1jb21tYW5kcyBldGMgdGVzdCBmb3IgdGhlaXIgZW52aXJvbm1lbnQgYnkgaW5qZWN0aW5nIHRoZSBwYXJlbnQgTWF0TWVudSBsaWtlIEkndmUgZG9uZSBpblxuLy8gICAgICAgdGhlIEZpbGVEb3dubG9hZENvbXBvbmVudD8gIFRoaXMgd291bGQgZ3JlYXRseSBzaW1wbGlmeSB0aGluZ3MgLSBOb3QgZWFzaWx5IGl0IHNlZW1zIC0gdGhhdCBzdHJ1Y3R1cmUgZG9lc24ndCByZXN1bHQgaW4gbWVudXMgYmVpbmdcbi8vICAgICAgIG5lc3RlZCBpbiBlYWNoIG90aGVyIGNvcnJlY3RseSBzbyBzdWIgbWVudXMgZG9uJ3Qgd29yayBwcm9wZXJseSAtIGkuZS4gY2xpY2tpbmcgb24gYSBjaGlsZCBpdGVtIGNsb3NlcyB0aGUgcGFyZW50LlxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYXVwLXBvcHVwLW1lbnUtcmVuZGVyZXJcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9wb3B1cC1tZW51LXJlbmRlcmVyLmNvbXBvbmVudC5odG1sXCJcbn0pXG5leHBvcnQgY2xhc3MgUG9wdXBNZW51UmVuZGVyZXJDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IHtcblxuICBwcml2YXRlIF9wYXJlbnRDb21wb25lbnQ6IEFic3RyYWN0UG9wdXBNZW51Q29tcG9uZW50O1xuXG4gIHByaXZhdGUgX2NoaWxkTGlzdCA9IHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKG5ldyBEZWxlZ2F0aW5nTGlzdE1vZGVsPFBvcHVwQXdhcmVDb21wb25lbnQ+KCkpO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBwYXJlbnQoKTogQWJzdHJhY3RQb3B1cE1lbnVDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLl9wYXJlbnRDb21wb25lbnQ7XG4gIH1cblxuICBzZXQgcGFyZW50KGNvbXA6IEFic3RyYWN0UG9wdXBNZW51Q29tcG9uZW50KSB7XG4gICAgdGhpcy5fcGFyZW50Q29tcG9uZW50ID0gY29tcDtcbiAgICB0aGlzLl9jaGlsZExpc3Quc2V0RGVsZWdhdGUoY29tcC5jaGlsZHJlbik7XG4gIH1cblxuICBAVmlld0NoaWxkKFwibWVudVwiLCB7c3RhdGljOiB0cnVlfSlcbiAgbWVudUNvbXBvbmVudDogTWF0TWVudTtcblxuICBAT3V0cHV0KClcbiAgY29tbWFuZEZpcmVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBWaWV3Q2hpbGRyZW4oTWF0TWVudVRyaWdnZXIpXG4gIHRyaWdnZXJzOiBRdWVyeUxpc3Q8TWF0TWVudVRyaWdnZXI+O1xuXG4gIHJlYWRvbmx5IGhhc01peGVkSWNvbnM6IFZhbHVlTW9kZWw8Ym9vbGVhbj47XG4gIHJlYWRvbmx5IGNvbW1hbmRQcm94eTogQ29tbWFuZDx1bmtub3duPjtcblxuICBUcmFja0J5ID0gVHJhY2s7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCB7Y2hhaW4sIHZhbHVlT2YsIGJlZm9yZSwgd2hlbiwgYWZ0ZXIsIG9ic2VydmUsIHN3aXRjaE9ufSA9IERzbC5kaXNwb3NlV2l0aCh0aGlzKTtcbiAgICAvLyB0aGlzLmNoaWxkcmVuID0gY2hhaW4odGhpcy5ncm91cFZpZXdEYXRhTW9kZWwpLnBsdWNrTGlzdCgnY2hpbGRyZW4nKTtcbiAgICAvLyB0aGlzLmhhc01peGVkSWNvbnMgPSBjaGFpbih0aGlzLmdyb3VwVmlld0RhdGFNb2RlbCkucGx1Y2soJ2hhc01peGVkSWNvbnMnKTtcbiAgICBjb25zdCBmYWNlcyA9IGNoYWluKHRoaXMuX2NoaWxkTGlzdCkubWFwKGNoaWxkID0+IHtcbiAgICAgIHJldHVybiBjaGlsZC5nZXRGYWNlKCk7XG4gICAgfSkucmVqZWN0TmlsKCk7XG4gICAgY29uc3QgaWNvbnMgPSBmYWNlcy5zZWxlY3QoZmFjZSA9PiAhIUNvbW1hbmRGYWNlLmdldEljb25PZihmYWNlKSk7XG4gICAgY29uc3QgaWNvbkNvdW50ID0gaWNvbnMuY291bnQoKTtcbiAgICBjb25zdCB0b3RhbEZhY2VzID0gZmFjZXMuY291bnQoKTtcbiAgICB0aGlzLmhhc01peGVkSWNvbnMgPSB2YWx1ZU9mLmFsbChcbiAgICAgIGljb25Db3VudC5pc0dyZWF0ZXJUaGFuKDApLFxuICAgICAgdG90YWxGYWNlcy5kb2VzTm90RXF1YWwoaWNvbkNvdW50KVxuICAgICkuYXJlVHJ1dGh5KCk7XG4gIH1cblxuICBnZXQgY2hpbGRyZW4oKTogcmVhZG9ubHkgUG9wdXBBd2FyZUNvbXBvbmVudFtdIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQuY2hpbGRyZW4udmFsdWU7XG4gIH1cblxuICBleGVjdXRlQ29tbWFuZChkYXRhOiBQb3B1cEF3YXJlQ29tcG9uZW50KSB7XG4gICAgaWYgKHRoaXMuaXNDb21tYW5kKGRhdGEpKSB7XG4gICAgICBkYXRhLmNvbW1hbmQuZXhlY3V0ZSgpLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbW1hbmRGaXJlZC5lbWl0KCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpc0NvbW1hbmRFbmFibGVkKGRhdGE6IFBvcHVwQXdhcmVDb21wb25lbnQpIHtcbiAgICByZXR1cm4gdGhpcy5pc0NvbW1hbmQoZGF0YSkgJiYgZGF0YS5jb21tYW5kLmVuYWJsZWQkLnZhbHVlO1xuICB9XG5cbiAgLy8gQFRyYWNlKClcbiAgb25Db21tYW5kRmlyZWQoKSB7XG4gICAgdGhpcy5jb21tYW5kRmlyZWQuZW1pdCgpO1xuICAgIHRoaXMudHJpZ2dlcnMuZm9yRWFjaCh0cmlnZ2VyID0+IHtcbiAgICAgIGlmICh0cmlnZ2VyLm1lbnVPcGVuKSB7XG4gICAgICAgIHRyaWdnZXIuY2xvc2VNZW51KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpc0NvbW1hbmQoY2hpbGQ6IGFueSk6IGNoaWxkIGlzIENvbW1hbmRDb21wb25lbnQge1xuICAgIHJldHVybiBjaGlsZCBpbnN0YW5jZW9mIENvbW1hbmRDb21wb25lbnQ7XG4gIH1cblxuICBpc1BvcHVwTWVudShjaGlsZDogYW55KTogY2hpbGQgaXMgQWJzdHJhY3RQb3B1cE1lbnVDb21wb25lbnQge1xuICAgIHJldHVybiBjaGlsZCBpbnN0YW5jZW9mIEFic3RyYWN0UG9wdXBNZW51Q29tcG9uZW50O1xuICB9XG5cbiAgaXNQb3B1cE1lbnVFbmFibGVkKGNoaWxkOiBhbnkpOiBjaGlsZCBpcyBBYnN0cmFjdFBvcHVwTWVudUNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMuaXNQb3B1cE1lbnUoY2hpbGQpICYmIGNoaWxkLmVuYWJsZWQ7XG4gIH1cblxuICBpc1NlcGFyYXRvcihjaGlsZDogYW55KTogY2hpbGQgaXMgU2VwYXJhdG9yQ29tcG9uZW50IHtcbiAgICByZXR1cm4gY2hpbGQgaW5zdGFuY2VvZiBTZXBhcmF0b3JDb21wb25lbnQ7XG4gIH1cblxuICBpc0ZpbGVEb3dubG9hZChjaGlsZDogYW55KTogY2hpbGQgaXMgRmlsZURvd25sb2FkQ29tcG9uZW50IHtcbiAgICByZXR1cm4gY2hpbGQgaW5zdGFuY2VvZiBGaWxlRG93bmxvYWRDb21wb25lbnQ7XG4gIH1cblxuICBnZXRUb29sdGlwKGNoaWxkOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5pc0NvbW1hbmQoY2hpbGQpID8gQ29tbWFuZEZhY2UuZ2V0VG9vbHRpcE9mKGNoaWxkLmZhY2UpIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZ2V0RmFjZXMoY2hpbGQ6IFBvcHVwQXdhcmVDb21wb25lbnQpIHtcbiAgICByZXR1cm4gdGhpcy5pc0NvbW1hbmQoY2hpbGQpIHx8IHRoaXMuaXNQb3B1cE1lbnUoY2hpbGQpIHx8IHRoaXMuaXNGaWxlRG93bmxvYWQoY2hpbGQpID9cbiAgICAgIGNoaWxkLmZhY2VzJC52YWx1ZSA6XG4gICAgICB1bmRlZmluZWQ7XG4gIH1cbn1cblxuXG4iLCI8bWF0LW1lbnUgI21lbnUgW3hQb3NpdGlvbl09XCJwYXJlbnQueFBvc2l0aW9uXCIgW3lQb3NpdGlvbl09XCJwYXJlbnQueVBvc2l0aW9uXCI+XG4gIDxuZy10ZW1wbGF0ZSBtYXRNZW51Q29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBjaGlsZHJlbjsgdHJhY2tCeTogVHJhY2tCeS5ieUluZGV4XCIgPlxuICAgICAgPGJ1dHRvbiAqbmdJZj1cImlzQ29tbWFuZChjaGlsZClcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZXhlY3V0ZUNvbW1hbmQoY2hpbGQpXCJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0NvbW1hbmRFbmFibGVkKGNoaWxkKVwiXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cImdldFRvb2x0aXAoY2hpbGQpXCJcbiAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbT5cbiAgICAgICAgICAgICAgICA8YXVwLWNvbW1hbmQtZmFjZSBbZmFjZXNdPVwiZ2V0RmFjZXMoY2hpbGQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaW5jbHVkZU1pc3NpbmdJY29uSW5MYXlvdXRdPVwiaGFzTWl4ZWRJY29ucy52YWx1ZVwiPjwvYXVwLWNvbW1hbmQtZmFjZT5cbiAgICAgIDwvYnV0dG9uPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNQb3B1cE1lbnUoY2hpbGQpXCI+XG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNQb3B1cE1lbnVFbmFibGVkKGNoaWxkKVwiXG4gICAgICAgICAgICAgICAgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImlubmVyUGFuZWwubWVudUNvbXBvbmVudFwiXG4gICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGF1cC1jb21tYW5kLWZhY2UgW2ZhY2VzXT1cImdldEZhY2VzKGNoaWxkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpbmNsdWRlTWlzc2luZ0ljb25JbkxheW91dF09XCJoYXNNaXhlZEljb25zLnZhbHVlXCI+PC9hdXAtY29tbWFuZC1mYWNlPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGF1cC1wb3B1cC1tZW51LXJlbmRlcmVyICNpbm5lclBhbmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGFyZW50XT1cImNoaWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjb21tYW5kRmlyZWQpPVwib25Db21tYW5kRmlyZWQoKVwiPjwvYXVwLXBvcHVwLW1lbnUtcmVuZGVyZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPCEtLSBIYWNrLi4uIC0tPlxuICAgICAgPGEgKm5nSWY9XCJpc0ZpbGVEb3dubG9hZChjaGlsZClcIiBtYXQtbWVudS1pdGVtIFtocmVmXT1cImNoaWxkLmRvd25sb2FkLnVybFwiIFtkb3dubG9hZF09XCJjaGlsZC5kb3dubG9hZC5zYXZlQXNcIj5cbiAgICAgICAgPGF1cC1jb21tYW5kLWZhY2UgW2ZhY2VzXT1cImdldEZhY2VzKGNoaWxkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtpbmNsdWRlTWlzc2luZ0ljb25JbkxheW91dF09XCJoYXNNaXhlZEljb25zLnZhbHVlXCI+PC9hdXAtY29tbWFuZC1mYWNlPlxuICAgICAgPC9hPlxuICAgICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwiaXNTZXBhcmF0b3IoY2hpbGQpXCI+PC9tYXQtZGl2aWRlcj5cblxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gIDwvbmctdGVtcGxhdGU+XG48L21hdC1tZW51PlxuIl19