@igo2/common 16.0.0-rc.0 → 16.0.0-rc.2

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 (170) hide show
  1. package/esm2022/lib/action/action.module.mjs +2 -2
  2. package/esm2022/lib/action/actionbar/actionbar-item.component.mjs +2 -2
  3. package/esm2022/lib/action/actionbar/actionbar.component.mjs +6 -6
  4. package/esm2022/lib/action/actionbar/actionbar.module.mjs +3 -3
  5. package/esm2022/lib/action/shared/action.interfaces.mjs +1 -1
  6. package/esm2022/lib/action/shared/store.mjs +1 -1
  7. package/esm2022/lib/backdrop/backdrop.component.mjs +2 -2
  8. package/esm2022/lib/backdrop/backdrop.module.mjs +2 -2
  9. package/esm2022/lib/badge-icon/badge-icon.directive.mjs +2 -2
  10. package/esm2022/lib/badge-icon/badge-icon.module.mjs +2 -2
  11. package/esm2022/lib/clickout/clickout.module.mjs +1 -1
  12. package/esm2022/lib/clone/clone.module.mjs +1 -1
  13. package/esm2022/lib/clone/clone.pipe.mjs +1 -1
  14. package/esm2022/lib/collapsible/collapse.directive.mjs +2 -2
  15. package/esm2022/lib/collapsible/collapsible.component.mjs +3 -3
  16. package/esm2022/lib/collapsible/collapsible.module.mjs +1 -1
  17. package/esm2022/lib/color-picker-form-field/color-picker-form-field.component.mjs +67 -69
  18. package/esm2022/lib/color-picker-form-field/color-picker-form-field.module.mjs +25 -5
  19. package/esm2022/lib/confirm-dialog/confirm-dialog.component.mjs +2 -2
  20. package/esm2022/lib/confirm-dialog/confirm-dialog.module.mjs +1 -1
  21. package/esm2022/lib/confirm-dialog/confirm-dialog.service.mjs +1 -1
  22. package/esm2022/lib/context-menu/context-menu.directive.mjs +3 -3
  23. package/esm2022/lib/context-menu/context-menu.module.mjs +1 -1
  24. package/esm2022/lib/context-menu/long-press.directive.mjs +2 -2
  25. package/esm2022/lib/custom-html/custom-html.module.mjs +2 -2
  26. package/esm2022/lib/custom-html/custom-html.pipe.mjs +1 -1
  27. package/esm2022/lib/dom/dom.module.mjs +1 -1
  28. package/esm2022/lib/dom/dom.service.mjs +3 -3
  29. package/esm2022/lib/drag-drop/drag-drop.directive.mjs +2 -2
  30. package/esm2022/lib/drag-drop/drag-drop.module.mjs +1 -1
  31. package/esm2022/lib/dynamic-component/dynamic-component.module.mjs +2 -2
  32. package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.component.mjs +2 -2
  33. package/esm2022/lib/dynamic-component/dynamic-outlet/dynamic-outlet.module.mjs +2 -2
  34. package/esm2022/lib/dynamic-component/shared/dynamic-component.mjs +1 -1
  35. package/esm2022/lib/dynamic-component/shared/dynamic-component.service.mjs +1 -1
  36. package/esm2022/lib/entity/entity-selector/entity-selector.component.mjs +4 -4
  37. package/esm2022/lib/entity/entity-selector/entity-selector.module.mjs +2 -2
  38. package/esm2022/lib/entity/entity-table/entity-table-row.directive.mjs +2 -2
  39. package/esm2022/lib/entity/entity-table/entity-table.component.mjs +103 -103
  40. package/esm2022/lib/entity/entity-table/entity-table.module.mjs +13 -13
  41. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.component.mjs +5 -5
  42. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.interface.mjs +1 -1
  43. package/esm2022/lib/entity/entity-table-paginator/entity-table-paginator.module.mjs +2 -2
  44. package/esm2022/lib/entity/entity.module.mjs +3 -3
  45. package/esm2022/lib/entity/index.mjs +1 -1
  46. package/esm2022/lib/entity/shared/entity.interfaces.mjs +1 -1
  47. package/esm2022/lib/entity/shared/index.mjs +1 -1
  48. package/esm2022/lib/entity/shared/store-strategy.mjs +1 -1
  49. package/esm2022/lib/entity/shared/store.mjs +2 -2
  50. package/esm2022/lib/entity/shared/strategies/filter-custom-function.mjs +1 -1
  51. package/esm2022/lib/entity/shared/strategies/filter-selection.mjs +1 -1
  52. package/esm2022/lib/entity/shared/strategies/strategy.mjs +1 -1
  53. package/esm2022/lib/entity/shared/transaction.mjs +3 -3
  54. package/esm2022/lib/entity/shared/view.mjs +2 -2
  55. package/esm2022/lib/entity/shared/watcher.mjs +2 -2
  56. package/esm2022/lib/environment/environment.interface.mjs +2 -0
  57. package/esm2022/lib/environment/index.mjs +2 -0
  58. package/esm2022/lib/flexible/flexible.component.mjs +3 -3
  59. package/esm2022/lib/flexible/flexible.module.mjs +1 -1
  60. package/esm2022/lib/form/form/form.component.mjs +3 -3
  61. package/esm2022/lib/form/form/form.module.mjs +2 -2
  62. package/esm2022/lib/form/form-field/form-field-select.component.mjs +4 -4
  63. package/esm2022/lib/form/form-field/form-field-text.component.mjs +4 -4
  64. package/esm2022/lib/form/form-field/form-field-textarea.component.mjs +4 -4
  65. package/esm2022/lib/form/form-field/form-field.component.mjs +4 -4
  66. package/esm2022/lib/form/form-field/form-field.module.mjs +3 -3
  67. package/esm2022/lib/form/form-group/form-group.component.mjs +3 -3
  68. package/esm2022/lib/form/form-group/form-group.module.mjs +2 -2
  69. package/esm2022/lib/form/form.module.mjs +5 -5
  70. package/esm2022/lib/form/shared/form-field.service.mjs +1 -1
  71. package/esm2022/lib/form/shared/form.interfaces.mjs +1 -1
  72. package/esm2022/lib/form/shared/form.service.mjs +1 -1
  73. package/esm2022/lib/form/shared/form.utils.mjs +1 -1
  74. package/esm2022/lib/home-button/home-button.component.mjs +2 -2
  75. package/esm2022/lib/home-button/home-button.module.mjs +3 -3
  76. package/esm2022/lib/image/image-error.directive.mjs +2 -2
  77. package/esm2022/lib/image/image.module.mjs +1 -1
  78. package/esm2022/lib/image/secure-image.pipe.mjs +4 -4
  79. package/esm2022/lib/interactive-tour/interactive-tour.component.mjs +4 -4
  80. package/esm2022/lib/interactive-tour/interactive-tour.interface.mjs +1 -1
  81. package/esm2022/lib/interactive-tour/interactive-tour.loader.mjs +2 -2
  82. package/esm2022/lib/interactive-tour/interactive-tour.module.mjs +4 -4
  83. package/esm2022/lib/interactive-tour/interactive-tour.service.mjs +7 -9
  84. package/esm2022/lib/json-dialog/json-dialog.component.mjs +2 -2
  85. package/esm2022/lib/json-dialog/json-dialog.module.mjs +2 -2
  86. package/esm2022/lib/keyvalue/keyvalue.module.mjs +1 -1
  87. package/esm2022/lib/list/list-item.directive.mjs +2 -2
  88. package/esm2022/lib/list/list.component.mjs +4 -4
  89. package/esm2022/lib/list/list.module.mjs +2 -2
  90. package/esm2022/lib/panel/panel.component.mjs +3 -3
  91. package/esm2022/lib/panel/panel.module.mjs +2 -2
  92. package/esm2022/lib/sidenav/sidenav-shim.directive.mjs +2 -2
  93. package/esm2022/lib/sidenav/sidenav.module.mjs +1 -1
  94. package/esm2022/lib/spinner/spinner-activity.directive.mjs +2 -2
  95. package/esm2022/lib/spinner/spinner.component.mjs +2 -2
  96. package/esm2022/lib/spinner/spinner.module.mjs +2 -2
  97. package/esm2022/lib/stop-propagation/stop-propagation.module.mjs +1 -1
  98. package/esm2022/lib/table/table-datasource.mjs +2 -2
  99. package/esm2022/lib/table/table-model.interface.mjs +1 -1
  100. package/esm2022/lib/table/table.component.mjs +7 -7
  101. package/esm2022/lib/table/table.module.mjs +3 -3
  102. package/esm2022/lib/tool/shared/tool-component.mjs +1 -1
  103. package/esm2022/lib/tool/shared/toolbox.mjs +2 -2
  104. package/esm2022/lib/tool/tool.module.mjs +2 -2
  105. package/esm2022/lib/tool/toolbox/toolbox.animation.mjs +2 -2
  106. package/esm2022/lib/tool/toolbox/toolbox.component.mjs +4 -4
  107. package/esm2022/lib/tool/toolbox/toolbox.module.mjs +2 -2
  108. package/esm2022/lib/widget/shared/widget.service.mjs +1 -1
  109. package/esm2022/lib/widget/widget-outlet/widget-outlet.component.mjs +3 -3
  110. package/esm2022/lib/widget/widget-outlet/widget-outlet.module.mjs +2 -2
  111. package/esm2022/lib/widget/widget.module.mjs +3 -3
  112. package/esm2022/lib/workspace/shared/store.mjs +2 -2
  113. package/esm2022/lib/workspace/shared/workspace.interfaces.mjs +1 -1
  114. package/esm2022/lib/workspace/shared/workspace.mjs +1 -1
  115. package/esm2022/lib/workspace/workspace-selector/workspace-selector.component.mjs +3 -3
  116. package/esm2022/lib/workspace/workspace-selector/workspace-selector.module.mjs +2 -2
  117. package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.component.mjs +3 -3
  118. package/esm2022/lib/workspace/workspace-widget-outlet/workspace-widget-outlet.module.mjs +2 -2
  119. package/esm2022/lib/workspace/workspace.module.mjs +2 -2
  120. package/esm2022/public_api.mjs +2 -1
  121. package/fesm2022/igo2-common.mjs +2392 -2379
  122. package/fesm2022/igo2-common.mjs.map +1 -1
  123. package/lib/action/action.theming.scss +5 -5
  124. package/lib/action/actionbar/actionbar-item.component.d.ts +1 -1
  125. package/lib/action/actionbar/actionbar.component.d.ts +4 -4
  126. package/lib/collapsible/collapse.directive.d.ts +1 -1
  127. package/lib/collapsible/collapsible.theming.scss +22 -22
  128. package/lib/color-picker-form-field/color-picker-form-field.component.d.ts +14 -17
  129. package/lib/color-picker-form-field/color-picker-form-field.module.d.ts +8 -3
  130. package/lib/context-menu/context-menu.directive.d.ts +1 -1
  131. package/lib/entity/entity-selector/entity-selector.component.d.ts +1 -1
  132. package/lib/entity/entity-selector/entity-selector.theming.scss +21 -21
  133. package/lib/entity/entity-table/entity-table-row.directive.d.ts +1 -1
  134. package/lib/entity/entity-table/entity-table.component.d.ts +22 -7
  135. package/lib/entity/entity-table/entity-table.theming.scss +4 -1
  136. package/lib/entity/entity-table-paginator/entity-table-paginator.component.d.ts +3 -3
  137. package/lib/entity/entity.theming.scss +0 -3
  138. package/lib/entity/shared/store-strategy.d.ts +1 -1
  139. package/lib/entity/shared/store.d.ts +1 -1
  140. package/lib/entity/shared/transaction.d.ts +2 -2
  141. package/lib/entity/shared/view.d.ts +1 -1
  142. package/lib/environment/environment.interface.d.ts +13 -0
  143. package/lib/environment/index.d.ts +1 -0
  144. package/lib/flexible/flexible.component.d.ts +2 -2
  145. package/lib/form/form/form.component.d.ts +1 -1
  146. package/lib/form/form-field/form-field.component.d.ts +1 -1
  147. package/lib/home-button/home-button.theming.scss +18 -18
  148. package/lib/image/secure-image.pipe.d.ts +2 -2
  149. package/lib/interactive-tour/interactive-tour.component.d.ts +2 -2
  150. package/lib/interactive-tour/interactive-tour.interface.d.ts +2 -1
  151. package/lib/interactive-tour/interactive-tour.loader.d.ts +1 -1
  152. package/lib/interactive-tour/interactive-tour.service.d.ts +1 -1
  153. package/lib/interactive-tour/interactive-tour.theming.scss +32 -32
  154. package/lib/list/list-item.directive.d.ts +1 -1
  155. package/lib/list/list.component.d.ts +1 -1
  156. package/lib/list/list.theming.scss +18 -0
  157. package/lib/spinner/spinner-activity.directive.d.ts +1 -1
  158. package/lib/table/table-datasource.d.ts +1 -1
  159. package/lib/table/table.component.d.ts +3 -3
  160. package/lib/tool/shared/toolbox.d.ts +1 -1
  161. package/lib/tool/toolbox/toolbox.component.d.ts +1 -1
  162. package/lib/tool/toolbox/toolbox.theming.scss +105 -105
  163. package/lib/workspace/shared/store.d.ts +1 -1
  164. package/lib/workspace/shared/workspace.d.ts +1 -1
  165. package/lib/workspace/workspace-selector/workspace-selector.component.d.ts +1 -1
  166. package/locale/en.common.json +44 -43
  167. package/locale/fr.common.json +44 -43
  168. package/package.json +5 -3
  169. package/public_api.d.ts +1 -0
  170. package/lib/entity/entity-table-paginator/entity-table-paginator.theming.scss +0 -21
@@ -1,7 +1,7 @@
1
- import { Component, ViewEncapsulation, Input } from '@angular/core';
2
- import { InteractiveTourService } from './interactive-tour.service';
3
- import { ToolService } from '../tool/shared/tool.service';
1
+ import { Component, Input, ViewEncapsulation } from '@angular/core';
4
2
  import { Observable, of } from 'rxjs';
3
+ import { ToolService } from '../tool/shared/tool.service';
4
+ import { InteractiveTourService } from './interactive-tour.service';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "./interactive-tour.service";
7
7
  import * as i2 from "../tool/shared/tool.service";
@@ -158,4 +158,4 @@ export class InteractiveTourComponent {
158
158
  }], discoverTitleInLocale$: [{
159
159
  type: Input
160
160
  }] }); })();
161
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9pbnRlcmFjdGl2ZS10b3VyL2ludGVyYWN0aXZlLXRvdXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvaW50ZXJhY3RpdmUtdG91ci9pbnRlcmFjdGl2ZS10b3VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7SUNGcEMsaUNBZUM7SUFiQyx3TEFBUyxlQUFBLDZCQUFzQixDQUFBLElBQUM7OztJQWNoQyw4QkFBa0U7SUFDcEUsaUJBQVM7OztJQWRQLDJDQUFzQixzTUFBQSx1Q0FBQTs7OztJQWlCdEIsaUNBUUM7SUFQQyw2TEFBUyxlQUFBLDZCQUFzQixDQUFBLElBQUM7SUFRaEMsWUFFQTs7OztJQUFBLDhCQVVXOzs7SUFDYixpQkFBUzs7O0lBcEJQLDJDQUFzQix1Q0FBQTtJQU90QixlQUVBO0lBRkEsK0tBRUE7SUFHRSxlQUtDO0lBTEQscU5BS0M7OztJQXhDVCw2QkFBcUM7SUFDbkMsOEZBaUJTO0lBRVQsMElBd0JjO0lBQ2hCLDBCQUFlOzs7O0lBM0NWLGVBQThCO0lBQTlCLG9EQUE4QixpQkFBQTs7QURTbkMsTUFBTSxPQUFPLHdCQUF3QjtJQW1GekI7SUFDQTtJQW5GVjs7T0FFRztJQUNNLFdBQVcsR0FBVyxFQUFFLENBQUM7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Qjs7O3VGRFd0Qix3QkFBd0I7Y0FOcEMsU0FBUzsyQkFDRSxzQkFBc0IsaUJBR2pCLGlCQUFpQixDQUFDLElBQUk7bUdBTTVCLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csc0JBQXNCO2tCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludGVyYWN0aXZlVG91clNlcnZpY2UgfSBmcm9tICcuL2ludGVyYWN0aXZlLXRvdXIuc2VydmljZSc7XG5pbXBvcnQgeyBUb29sU2VydmljZSB9IGZyb20gJy4uL3Rvb2wvc2hhcmVkL3Rvb2wuc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpZ28taW50ZXJhY3RpdmUtdG91cicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnRlcmFjdGl2ZS10b3VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW50ZXJhY3RpdmUtdG91ci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEludGVyYWN0aXZlVG91ckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUb29sYm94IHRoYXQgaG9sZHMgbWFpbiB0b29sc1xuICAgKi9cbiAgQElucHV0KCkgdG91clRvU3RhcnQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBzdHlsZUJ1dHRvbjogJ2ljb24nIHwgJ3JhaXNlZCc7XG4gIEBJbnB1dCgpIGRpc2NvdmVyVGl0bGVJbkxvY2FsZSQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IG9mKCdJR08nKTtcblxuICBnZXRDbGFzcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ3RvdXItYnV0dG9uLXRvb2wtaWNvbic6IHRoaXMuc3R5bGVCdXR0b24gPT09ICdpY29uJyxcbiAgICAgICd0b3VyLWJ1dHRvbi10b29sJzogdGhpcy5zdHlsZUJ1dHRvbiA9PT0gJ3JhaXNlZCdcbiAgICB9O1xuICB9XG5cbiAgZ2V0IHRvb2xib3goKSB7XG4gICAgcmV0dXJuIHRoaXMudG9vbFNlcnZpY2UudG9vbGJveDtcbiAgfVxuXG4gIGdldFRvdXJUb1N0YXJ0KCkge1xuICAgIGlmICh0aGlzLnRvdXJUb1N0YXJ0KSB7XG4gICAgICByZXR1cm4gdGhpcy50b3VyVG9TdGFydDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlVG9vbE5hbWU7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGFjdGl2ZVRvb2xOYW1lKCkge1xuICAgIGlmICh0aGlzLnRvb2xib3gpIHtcbiAgICAgIGlmICh0aGlzLmlzQWN0aXZlVG9vbCkge1xuICAgICAgICByZXR1cm4gdGhpcy50b29sYm94LmFjdGl2ZVRvb2wkLmdldFZhbHVlKCkubmFtZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAnZ2xvYmFsJztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBnZXQgaXNBY3RpdmVUb29sKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnRvb2xib3gpIHtcbiAgICAgIHJldHVybiB0aGlzLnRvb2xib3guYWN0aXZlVG9vbCQuZ2V0VmFsdWUoKSAhPT0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGdldCBpc1Rvb2xIYXZlVG91cigpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hY3RpdmVUb29sTmFtZSA9PT0gJ2Fib3V0JyAmJiAhdGhpcy50b3VyVG9TdGFydCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZVRvdXJTZXJ2aWNlLmlzVG9vbEhhdmVUb3VyQ29uZmlnKFxuICAgICAgdGhpcy5nZXRUb3VyVG9TdGFydCgpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBzaG93VG91ckJ1dHRvbigpOiBib29sZWFuIHtcbiAgICAvLyAyIGNvbmRpdGlvbnMgdG8gc2hvdzogaGF2ZSBUb3VyIG9uIHRvb2wgaW4gQ29uZmlnIGZpbGUgYW5kIGlmIHdlIGFyZSBpbiBtb2JpbGUgZGlzcGxheUluTW9iaWxlPSB0cnVlXG4gICAgbGV0IGhhdmVUb3VyOiBib29sZWFuO1xuICAgIGhhdmVUb3VyID0gdGhpcy5pc1Rvb2xIYXZlVG91cjtcbiAgICBpZiAoaGF2ZVRvdXIgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgbGV0IGluTW9iaWxlQW5kU2hvdzogYm9vbGVhbjtcbiAgICBpZiAodGhpcy5pbnRlcmFjdGl2ZVRvdXJTZXJ2aWNlLmlzTW9iaWxlKCkpIHtcbiAgICAgIGluTW9iaWxlQW5kU2hvdyA9IHRoaXMuaXNUb3VyRGlzcGxheUluTW9iaWxlO1xuICAgICAgaWYgKGluTW9iaWxlQW5kU2hvdyA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGdldCBpc1RvdXJEaXNwbGF5SW5Nb2JpbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmVUb3VyU2VydmljZS5pc1RvdXJEaXNwbGF5SW5Nb2JpbGUoKTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZFRvdXJCdXR0b24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmVUb3VyU2VydmljZS5kaXNhYmxlZFRvdXJCdXR0b24odGhpcy5hY3RpdmVUb29sTmFtZSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGludGVyYWN0aXZlVG91clNlcnZpY2U6IEludGVyYWN0aXZlVG91clNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b29sU2VydmljZTogVG9vbFNlcnZpY2VcbiAgKSB7fVxuXG4gIHN0YXJ0SW50ZXJhY3RpdmVUb3VyKCkge1xuICAgIGNvbnN0IHRvdXIgPSB0aGlzLmdldFRvdXJUb1N0YXJ0KCk7XG4gICAgaWYgKHRvdXIpIHtcbiAgICAgIHRoaXMuaW50ZXJhY3RpdmVUb3VyU2VydmljZS5zdGFydFRvdXIodG91cik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93VG91ckJ1dHRvblwiPlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJzdHlsZUJ1dHRvbiA9PT0gJ2ljb24nOyBlbHNlIHJhaXNlZEJ1dHRvblwiXG4gICAgKGNsaWNrKT1cInN0YXJ0SW50ZXJhY3RpdmVUb3VyKClcIlxuICAgIFtuZ0NsYXNzXT1cImdldENsYXNzKClcIlxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICBbbWF0VG9vbHRpcF09XCJcbiAgICAgIGRpc2FibGVkVG91ckJ1dHRvblxuICAgICAgICA/ICgnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIuZGlzYWxlZFRvb2x0aXBUb3VyVG9vbEJ1dHRvbidcbiAgICAgICAgICB8IHRyYW5zbGF0ZSlcbiAgICAgICAgOiAoJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLnRvb2x0aXBUb3VyVG9vbEJ1dHRvbicgfCB0cmFuc2xhdGUpXG4gICAgXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRUb3VyQnV0dG9uXCJcbiAgPlxuICAgIDxtYXQtaWNvbiBpY29uUG9zaXRpb25FbmQgc3ZnSWNvbj1cInByZXNlbnRhdGlvbi1wbGF5XCI+IDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxuZy10ZW1wbGF0ZSAjcmFpc2VkQnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIChjbGljayk9XCJzdGFydEludGVyYWN0aXZlVG91cigpXCJcbiAgICAgIFtuZ0NsYXNzXT1cImdldENsYXNzKClcIlxuICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRUb3VyQnV0dG9uXCJcbiAgICA+XG4gICAgICB7eyAnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIuYnV0dG9uVGl0bGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICB7eyBkaXNjb3ZlclRpdGxlSW5Mb2NhbGUkIHwgYXN5bmMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBpY29uUG9zaXRpb25FbmRcbiAgICAgICAgc3ZnSWNvbj1cInByZXNlbnRhdGlvbi1wbGF5XCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiXG4gICAgICAgICAgZGlzYWJsZWRUb3VyQnV0dG9uXG4gICAgICAgICAgICA/ICgnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIuZGlzYWxlZFRvb2x0aXBUb3VyVG9vbEJ1dHRvbidcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgICA6ICgnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIudG9vbHRpcFRvdXJUb29sQnV0dG9uJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9pbnRlcmFjdGl2ZS10b3VyL2ludGVyYWN0aXZlLXRvdXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvaW50ZXJhY3RpdmUtdG91ci9pbnRlcmFjdGl2ZS10b3VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7Ozs7Ozs7SUNKbEUsaUNBZUM7SUFiQyx3TEFBUyxlQUFBLDZCQUFzQixDQUFBLElBQUM7OztJQWNoQyw4QkFBa0U7SUFDcEUsaUJBQVM7OztJQWRQLDJDQUFzQixzTUFBQSx1Q0FBQTs7OztJQWlCdEIsaUNBUUM7SUFQQyw2TEFBUyxlQUFBLDZCQUFzQixDQUFBLElBQUM7SUFRaEMsWUFFQTs7OztJQUFBLDhCQVVXOzs7SUFDYixpQkFBUzs7O0lBcEJQLDJDQUFzQix1Q0FBQTtJQU90QixlQUVBO0lBRkEsK0tBRUE7SUFHRSxlQUtDO0lBTEQscU5BS0M7OztJQXhDVCw2QkFBcUM7SUFDbkMsOEZBaUJTO0lBRVQsMElBd0JjO0lBQ2hCLDBCQUFlOzs7O0lBM0NWLGVBQThCO0lBQTlCLG9EQUE4QixpQkFBQTs7QURXbkMsTUFBTSxPQUFPLHdCQUF3QjtJQW1GekI7SUFDQTtJQW5GVjs7T0FFRztJQUNNLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsV0FBVyxDQUFvQjtJQUMvQixzQkFBc0IsR0FBdUIsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRWhFLFFBQVE7UUFDTixPQUFPO1lBQ0wsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLFdBQVcsS0FBSyxNQUFNO1lBQ3BELGtCQUFrQixFQUFFLElBQUksQ0FBQyxXQUFXLEtBQUssUUFBUTtTQUNsRCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7SUFDbEMsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ3pCO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3JCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDO2FBQ2pEO2lCQUFNO2dCQUNMLE9BQU8sUUFBUSxDQUFDO2FBQ2pCO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxLQUFLLFNBQVMsQ0FBQztTQUMxRDthQUFNO1lBQ0wsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3hELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FDckQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUN0QixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksY0FBYztRQUNoQix1R0FBdUc7UUFDdkcsSUFBSSxRQUFpQixDQUFDO1FBQ3RCLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQy9CLElBQUksUUFBUSxLQUFLLEtBQUssRUFBRTtZQUN0QixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxlQUF3QixDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQzFDLGVBQWUsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDN0MsSUFBSSxlQUFlLEtBQUssS0FBSyxFQUFFO2dCQUM3QixPQUFPLEtBQUssQ0FBQzthQUNkO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzdELENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELFlBQ1Usc0JBQThDLEVBQzlDLFdBQXdCO1FBRHhCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDL0IsQ0FBQztJQUVKLG9CQUFvQjtRQUNsQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkMsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdDO2FBQU07WUFDTCxPQUFPO1NBQ1I7SUFDSCxDQUFDO2tGQTlGVSx3QkFBd0I7NkRBQXhCLHdCQUF3QjtZQ2JyQywyRkE2Q2U7O1lBN0NBLHlDQUFvQjs7O3VGRGF0Qix3QkFBd0I7Y0FOcEMsU0FBUzsyQkFDRSxzQkFBc0IsaUJBR2pCLGlCQUFpQixDQUFDLElBQUk7bUdBTTVCLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csc0JBQXNCO2tCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBUb29sU2VydmljZSB9IGZyb20gJy4uL3Rvb2wvc2hhcmVkL3Rvb2wuc2VydmljZSc7XHJcbmltcG9ydCB7IEludGVyYWN0aXZlVG91clNlcnZpY2UgfSBmcm9tICcuL2ludGVyYWN0aXZlLXRvdXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lnby1pbnRlcmFjdGl2ZS10b3VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW50ZXJhY3RpdmUtdG91ci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW50ZXJhY3RpdmUtdG91ci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIEludGVyYWN0aXZlVG91ckNvbXBvbmVudCB7XHJcbiAgLyoqXHJcbiAgICogVG9vbGJveCB0aGF0IGhvbGRzIG1haW4gdG9vbHNcclxuICAgKi9cclxuICBASW5wdXQoKSB0b3VyVG9TdGFydDogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgc3R5bGVCdXR0b246ICdpY29uJyB8ICdyYWlzZWQnO1xyXG4gIEBJbnB1dCgpIGRpc2NvdmVyVGl0bGVJbkxvY2FsZSQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IG9mKCdJR08nKTtcclxuXHJcbiAgZ2V0Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAndG91ci1idXR0b24tdG9vbC1pY29uJzogdGhpcy5zdHlsZUJ1dHRvbiA9PT0gJ2ljb24nLFxyXG4gICAgICAndG91ci1idXR0b24tdG9vbCc6IHRoaXMuc3R5bGVCdXR0b24gPT09ICdyYWlzZWQnXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRvb2xib3goKSB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sU2VydmljZS50b29sYm94O1xyXG4gIH1cclxuXHJcbiAgZ2V0VG91clRvU3RhcnQoKSB7XHJcbiAgICBpZiAodGhpcy50b3VyVG9TdGFydCkge1xyXG4gICAgICByZXR1cm4gdGhpcy50b3VyVG9TdGFydDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFjdGl2ZVRvb2xOYW1lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGFjdGl2ZVRvb2xOYW1lKCkge1xyXG4gICAgaWYgKHRoaXMudG9vbGJveCkge1xyXG4gICAgICBpZiAodGhpcy5pc0FjdGl2ZVRvb2wpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50b29sYm94LmFjdGl2ZVRvb2wkLmdldFZhbHVlKCkubmFtZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ2dsb2JhbCc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgaXNBY3RpdmVUb29sKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMudG9vbGJveCkge1xyXG4gICAgICByZXR1cm4gdGhpcy50b29sYm94LmFjdGl2ZVRvb2wkLmdldFZhbHVlKCkgIT09IHVuZGVmaW5lZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgaXNUb29sSGF2ZVRvdXIoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVUb29sTmFtZSA9PT0gJ2Fib3V0JyAmJiAhdGhpcy50b3VyVG9TdGFydCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZVRvdXJTZXJ2aWNlLmlzVG9vbEhhdmVUb3VyQ29uZmlnKFxyXG4gICAgICB0aGlzLmdldFRvdXJUb1N0YXJ0KClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd1RvdXJCdXR0b24oKTogYm9vbGVhbiB7XHJcbiAgICAvLyAyIGNvbmRpdGlvbnMgdG8gc2hvdzogaGF2ZSBUb3VyIG9uIHRvb2wgaW4gQ29uZmlnIGZpbGUgYW5kIGlmIHdlIGFyZSBpbiBtb2JpbGUgZGlzcGxheUluTW9iaWxlPSB0cnVlXHJcbiAgICBsZXQgaGF2ZVRvdXI6IGJvb2xlYW47XHJcbiAgICBoYXZlVG91ciA9IHRoaXMuaXNUb29sSGF2ZVRvdXI7XHJcbiAgICBpZiAoaGF2ZVRvdXIgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgaW5Nb2JpbGVBbmRTaG93OiBib29sZWFuO1xyXG4gICAgaWYgKHRoaXMuaW50ZXJhY3RpdmVUb3VyU2VydmljZS5pc01vYmlsZSgpKSB7XHJcbiAgICAgIGluTW9iaWxlQW5kU2hvdyA9IHRoaXMuaXNUb3VyRGlzcGxheUluTW9iaWxlO1xyXG4gICAgICBpZiAoaW5Nb2JpbGVBbmRTaG93ID09PSBmYWxzZSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNUb3VyRGlzcGxheUluTW9iaWxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaW50ZXJhY3RpdmVUb3VyU2VydmljZS5pc1RvdXJEaXNwbGF5SW5Nb2JpbGUoKTtcclxuICB9XHJcblxyXG4gIGdldCBkaXNhYmxlZFRvdXJCdXR0b24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5pbnRlcmFjdGl2ZVRvdXJTZXJ2aWNlLmRpc2FibGVkVG91ckJ1dHRvbih0aGlzLmFjdGl2ZVRvb2xOYW1lKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBpbnRlcmFjdGl2ZVRvdXJTZXJ2aWNlOiBJbnRlcmFjdGl2ZVRvdXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b29sU2VydmljZTogVG9vbFNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIHN0YXJ0SW50ZXJhY3RpdmVUb3VyKCkge1xyXG4gICAgY29uc3QgdG91ciA9IHRoaXMuZ2V0VG91clRvU3RhcnQoKTtcclxuICAgIGlmICh0b3VyKSB7XHJcbiAgICAgIHRoaXMuaW50ZXJhY3RpdmVUb3VyU2VydmljZS5zdGFydFRvdXIodG91cik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93VG91ckJ1dHRvblwiPlxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJzdHlsZUJ1dHRvbiA9PT0gJ2ljb24nOyBlbHNlIHJhaXNlZEJ1dHRvblwiXG4gICAgKGNsaWNrKT1cInN0YXJ0SW50ZXJhY3RpdmVUb3VyKClcIlxuICAgIFtuZ0NsYXNzXT1cImdldENsYXNzKClcIlxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgbWF0LWljb24tYnV0dG9uXG4gICAgdG9vbHRpcC1wb3NpdGlvbj1cImJlbG93XCJcbiAgICBtYXRUb29sdGlwU2hvd0RlbGF5PVwiNTAwXCJcbiAgICBbbWF0VG9vbHRpcF09XCJcbiAgICAgIGRpc2FibGVkVG91ckJ1dHRvblxuICAgICAgICA/ICgnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIuZGlzYWxlZFRvb2x0aXBUb3VyVG9vbEJ1dHRvbidcbiAgICAgICAgICB8IHRyYW5zbGF0ZSlcbiAgICAgICAgOiAoJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLnRvb2x0aXBUb3VyVG9vbEJ1dHRvbicgfCB0cmFuc2xhdGUpXG4gICAgXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRUb3VyQnV0dG9uXCJcbiAgPlxuICAgIDxtYXQtaWNvbiBpY29uUG9zaXRpb25FbmQgc3ZnSWNvbj1cInByZXNlbnRhdGlvbi1wbGF5XCI+IDwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuXG4gIDxuZy10ZW1wbGF0ZSAjcmFpc2VkQnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIChjbGljayk9XCJzdGFydEludGVyYWN0aXZlVG91cigpXCJcbiAgICAgIFtuZ0NsYXNzXT1cImdldENsYXNzKClcIlxuICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICB0b29sdGlwLXBvc2l0aW9uPVwiYmVsb3dcIlxuICAgICAgbWF0VG9vbHRpcFNob3dEZWxheT1cIjUwMFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRUb3VyQnV0dG9uXCJcbiAgICA+XG4gICAgICB7eyAnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIuYnV0dG9uVGl0bGUnIHwgdHJhbnNsYXRlIH19XG4gICAgICB7eyBkaXNjb3ZlclRpdGxlSW5Mb2NhbGUkIHwgYXN5bmMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBpY29uUG9zaXRpb25FbmRcbiAgICAgICAgc3ZnSWNvbj1cInByZXNlbnRhdGlvbi1wbGF5XCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiXG4gICAgICAgICAgZGlzYWJsZWRUb3VyQnV0dG9uXG4gICAgICAgICAgICA/ICgnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIuZGlzYWxlZFRvb2x0aXBUb3VyVG9vbEJ1dHRvbidcbiAgICAgICAgICAgICAgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgICA6ICgnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIudG9vbHRpcFRvdXJUb29sQnV0dG9uJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgIDwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9pbnRlcmFjdGl2ZS10b3VyL2ludGVyYWN0aXZlLXRvdXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aXZlVG91clN0ZXAge1xuICBlbGVtZW50Pzogc3RyaW5nO1xuICBwb3NpdGlvbj86IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgYmVmb3JlU2hvdz86IEludGVyYWN0aXZlVG91ckFjdGlvbjtcbiAgYmVmb3JlQ2hhbmdlPzogSW50ZXJhY3RpdmVUb3VyQWN0aW9uO1xuICBvblNob3c/OiBJbnRlcmFjdGl2ZVRvdXJBY3Rpb247XG4gIG9uSGlkZT86IEludGVyYWN0aXZlVG91ckFjdGlvbjtcbiAgY2xhc3M/OiBzdHJpbmc7XG4gIGhpZ2hsaWdodENsYXNzPzogc3RyaW5nO1xuICBzY3JvbGxUb0VsZW1lbnQ/OiBib29sZWFuO1xuICBkaXNhYmxlSW50ZXJhY3Rpb24/OiBib29sZWFuO1xuICBub0JhY2tCdXR0b24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aXZlVG91ckFjdGlvbiB7XG4gIGVsZW1lbnQ/OiBzdHJpbmc7XG4gIGFjdGlvbjogJ2NsaWNrJztcbiAgY29uZGl0aW9uPzogc3RyaW5nO1xuICB3YWl0Rm9yPzogc3RyaW5nO1xuICBtYXhXYWl0PzogbnVtYmVyOyAvLyBpbiBtaWxsaXNlY29uZFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aXZlVG91ck9wdGlvbnMge1xuICBzdGVwczogSW50ZXJhY3RpdmVUb3VyU3RlcFtdO1xuICBwb3NpdGlvbj86IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8qIENTUyBjbGFzcyB0aGF0IGlzIGFkZGVkIHRvIHRoZSBoaWdodGxpZ2h0IGVsZW1lbnQgKi9cbiAgaGlnaGxpZ2h0Q2xhc3M/OiBzdHJpbmc7XG4gIC8qIENTUyBjbGFzcyB0aGF0IGlzIGFkZGVkIHRvIHRoZSBtb2RhbCBjb250YWluZXIgKi9cbiAgY2xhc3M/OiBzdHJpbmc7XG4gIC8qIFNjcm9sbCB0byBoaWdobGlnaHRlZCBlbGVtZW50PyAqL1xuICBzY3JvbGxUb0VsZW1lbnQ/OiBib29sZWFuO1xuICAvKiBEaXNhYmxlIGFuIGludGVyYWN0aW9uIHdpdGggZWxlbWVudD8gKi9cbiAgZGlzYWJsZUludGVyYWN0aW9uPzogYm9vbGVhbjtcbiAgLyogRWxlbWVudCB0byBjaGVjayB0byBiZSBhYmxlIHRvIHN0YXJ0IHRoZSB0b3VyICovXG4gIGNvbmRpdGlvbnM/OiBzdHJpbmdbXTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9pbnRlcmFjdGl2ZS10b3VyL2ludGVyYWN0aXZlLXRvdXIuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFjZW1lbnQgfSBmcm9tICdAZmxvYXRpbmctdWkvdXRpbHMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGl2ZVRvdXJTdGVwIHtcclxuICBlbGVtZW50Pzogc3RyaW5nO1xyXG4gIHBvc2l0aW9uPzogUGxhY2VtZW50O1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBiZWZvcmVTaG93PzogSW50ZXJhY3RpdmVUb3VyQWN0aW9uO1xyXG4gIGJlZm9yZUNoYW5nZT86IEludGVyYWN0aXZlVG91ckFjdGlvbjtcclxuICBvblNob3c/OiBJbnRlcmFjdGl2ZVRvdXJBY3Rpb247XHJcbiAgb25IaWRlPzogSW50ZXJhY3RpdmVUb3VyQWN0aW9uO1xyXG4gIGNsYXNzPzogc3RyaW5nO1xyXG4gIGhpZ2hsaWdodENsYXNzPzogc3RyaW5nO1xyXG4gIHNjcm9sbFRvRWxlbWVudD86IGJvb2xlYW47XHJcbiAgZGlzYWJsZUludGVyYWN0aW9uPzogYm9vbGVhbjtcclxuICBub0JhY2tCdXR0b24/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aXZlVG91ckFjdGlvbiB7XHJcbiAgZWxlbWVudD86IHN0cmluZztcclxuICBhY3Rpb246ICdjbGljayc7XHJcbiAgY29uZGl0aW9uPzogc3RyaW5nO1xyXG4gIHdhaXRGb3I/OiBzdHJpbmc7XHJcbiAgbWF4V2FpdD86IG51bWJlcjsgLy8gaW4gbWlsbGlzZWNvbmRcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGl2ZVRvdXJPcHRpb25zIHtcclxuICBzdGVwczogSW50ZXJhY3RpdmVUb3VyU3RlcFtdO1xyXG4gIHBvc2l0aW9uPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIC8qIENTUyBjbGFzcyB0aGF0IGlzIGFkZGVkIHRvIHRoZSBoaWdodGxpZ2h0IGVsZW1lbnQgKi9cclxuICBoaWdobGlnaHRDbGFzcz86IHN0cmluZztcclxuICAvKiBDU1MgY2xhc3MgdGhhdCBpcyBhZGRlZCB0byB0aGUgbW9kYWwgY29udGFpbmVyICovXHJcbiAgY2xhc3M/OiBzdHJpbmc7XHJcbiAgLyogU2Nyb2xsIHRvIGhpZ2hsaWdodGVkIGVsZW1lbnQ/ICovXHJcbiAgc2Nyb2xsVG9FbGVtZW50PzogYm9vbGVhbjtcclxuICAvKiBEaXNhYmxlIGFuIGludGVyYWN0aW9uIHdpdGggZWxlbWVudD8gKi9cclxuICBkaXNhYmxlSW50ZXJhY3Rpb24/OiBib29sZWFuO1xyXG4gIC8qIEVsZW1lbnQgdG8gY2hlY2sgdG8gYmUgYWJsZSB0byBzdGFydCB0aGUgdG91ciAqL1xyXG4gIGNvbmRpdGlvbnM/OiBzdHJpbmdbXTtcclxufVxyXG4iXX0=
@@ -1,7 +1,7 @@
1
- import { catchError } from 'rxjs/operators';
2
1
  import { HttpClient } from '@angular/common/http';
3
2
  import { Injectable } from '@angular/core';
4
3
  import { ConfigService } from '@igo2/core';
4
+ import { catchError } from 'rxjs/operators';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common/http";
7
7
  import * as i2 from "@igo2/core";
@@ -46,4 +46,4 @@ export class InteractiveTourLoader {
46
46
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InteractiveTourLoader, [{
47
47
  type: Injectable
48
48
  }], function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; }, null); })();
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9pbnRlcmFjdGl2ZS10b3VyL2ludGVyYWN0aXZlLXRvdXIubG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7O0FBRzNDLE1BQU0sT0FBTyxxQkFBcUI7SUFLdEI7SUFDQTtJQUxGLE9BQU8sQ0FBUztJQUNoQixlQUFlLENBQUM7SUFFeEIsWUFDVSxJQUFnQixFQUNoQixhQUE0QjtRQUQ1QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBRXBDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FDdEIsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNQLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzlCLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FDYixrSUFBa0ksQ0FDbkksQ0FBQztRQUNKLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixPQUFPLENBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsa0NBQWtDLENBQUM7WUFDaEUsK0JBQStCLENBQ2hDLENBQUM7SUFDSixDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDckMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDdEIsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLGlCQUFpQixDQUFDLFFBQVE7UUFDL0IsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLFNBQVMsRUFBRTtZQUN0QyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELElBQUksZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO1FBQ2hDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDaEQsQ0FBQzsrRUEvQ1UscUJBQXFCO2dFQUFyQixxQkFBcUIsV0FBckIscUJBQXFCOzt1RkFBckIscUJBQXFCO2NBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW50ZXJhY3RpdmVUb3VyT3B0aW9ucyB9IGZyb20gJy4vaW50ZXJhY3RpdmUtdG91ci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGl2ZVRvdXJMb2FkZXIge1xyXG4gIHByaXZhdGUganNvblVSTDogc3RyaW5nO1xyXG4gIHByaXZhdGUgYWxsVG91cnNPcHRpb25zO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5qc29uVVJMID0gdGhpcy5nZXRQYXRoVG9Db25maWdGaWxlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9hZENvbmZpZ1RvdXIoKSB7XHJcbiAgICB0aGlzLmdldEpTT04oKS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hbGxUb3Vyc09wdGlvbnMgPSBkYXRhO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgYFByb2JsZW0gd2l0aCBJbnRlcmFjdGl2ZSB0b3VyIGNvbmZpZ3VyYXRpb24gZmlsZTogaW50ZXJhY3RpdmVUb3VyLmpzb24gbm90IGZpbmQuIENoZWNrIGlmIHRoZSBmaWxlIGFuZCBpcyBwYXRoIGlzIHNldCBjb3JyZWN0bHkuYFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UGF0aFRvQ29uZmlnRmlsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygnaW50ZXJhY3RpdmVUb3VyLnBhdGhUb0NvbmZpZ0ZpbGUnKSB8fFxyXG4gICAgICAnLi9jb25maWcvaW50ZXJhY3RpdmVUb3VyLmpzb24nXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEpTT04oKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuanNvblVSTCkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xyXG4gICAgICAgIGUuZXJyb3IuY2F1Z2h0ID0gdHJ1ZTtcclxuICAgICAgICB0aHJvdyBlO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUb3VyT3B0aW9uRGF0YSh0b29sTmFtZSk6IEludGVyYWN0aXZlVG91ck9wdGlvbnMge1xyXG4gICAgaWYgKHRoaXMuYWxsVG91cnNPcHRpb25zID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIGxldCBuYW1lSW5Db25maWdGaWxlID0gdG9vbE5hbWU7XHJcbiAgICBuYW1lSW5Db25maWdGaWxlID0gbmFtZUluQ29uZmlnRmlsZS5yZXBsYWNlKC9cXHMvZywgJycpO1xyXG4gICAgcmV0dXJuIHRoaXMuYWxsVG91cnNPcHRpb25zW25hbWVJbkNvbmZpZ0ZpbGVdO1xyXG4gIH1cclxufVxyXG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9pbnRlcmFjdGl2ZS10b3VyL2ludGVyYWN0aXZlLXRvdXIubG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFHM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSzVDLE1BQU0sT0FBTyxxQkFBcUI7SUFLdEI7SUFDQTtJQUxGLE9BQU8sQ0FBUztJQUNoQixlQUFlLENBQUM7SUFFeEIsWUFDVSxJQUFnQixFQUNoQixhQUE0QjtRQUQ1QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBRXBDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FDdEIsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNQLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzlCLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FDYixrSUFBa0ksQ0FDbkksQ0FBQztRQUNKLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixPQUFPLENBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsa0NBQWtDLENBQUM7WUFDaEUsK0JBQStCLENBQ2hDLENBQUM7SUFDSixDQUFDO0lBRU0sT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDckMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDZixDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDdEIsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLGlCQUFpQixDQUFDLFFBQVE7UUFDL0IsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLFNBQVMsRUFBRTtZQUN0QyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELElBQUksZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO1FBQ2hDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDaEQsQ0FBQzsrRUEvQ1UscUJBQXFCO2dFQUFyQixxQkFBcUIsV0FBckIscUJBQXFCOzt1RkFBckIscUJBQXFCO2NBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnQGlnbzIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBJbnRlcmFjdGl2ZVRvdXJPcHRpb25zIH0gZnJvbSAnLi9pbnRlcmFjdGl2ZS10b3VyLmludGVyZmFjZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGl2ZVRvdXJMb2FkZXIge1xyXG4gIHByaXZhdGUganNvblVSTDogc3RyaW5nO1xyXG4gIHByaXZhdGUgYWxsVG91cnNPcHRpb25zO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5qc29uVVJMID0gdGhpcy5nZXRQYXRoVG9Db25maWdGaWxlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9hZENvbmZpZ1RvdXIoKSB7XHJcbiAgICB0aGlzLmdldEpTT04oKS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhKSA9PiB7XHJcbiAgICAgICAgdGhpcy5hbGxUb3Vyc09wdGlvbnMgPSBkYXRhO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgYFByb2JsZW0gd2l0aCBJbnRlcmFjdGl2ZSB0b3VyIGNvbmZpZ3VyYXRpb24gZmlsZTogaW50ZXJhY3RpdmVUb3VyLmpzb24gbm90IGZpbmQuIENoZWNrIGlmIHRoZSBmaWxlIGFuZCBpcyBwYXRoIGlzIHNldCBjb3JyZWN0bHkuYFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UGF0aFRvQ29uZmlnRmlsZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZygnaW50ZXJhY3RpdmVUb3VyLnBhdGhUb0NvbmZpZ0ZpbGUnKSB8fFxyXG4gICAgICAnLi9jb25maWcvaW50ZXJhY3RpdmVUb3VyLmpzb24nXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEpTT04oKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHRoaXMuanNvblVSTCkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xyXG4gICAgICAgIGUuZXJyb3IuY2F1Z2h0ID0gdHJ1ZTtcclxuICAgICAgICB0aHJvdyBlO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUb3VyT3B0aW9uRGF0YSh0b29sTmFtZSk6IEludGVyYWN0aXZlVG91ck9wdGlvbnMge1xyXG4gICAgaWYgKHRoaXMuYWxsVG91cnNPcHRpb25zID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuICAgIGxldCBuYW1lSW5Db25maWdGaWxlID0gdG9vbE5hbWU7XHJcbiAgICBuYW1lSW5Db25maWdGaWxlID0gbmFtZUluQ29uZmlnRmlsZS5yZXBsYWNlKC9cXHMvZywgJycpO1xyXG4gICAgcmV0dXJuIHRoaXMuYWxsVG91cnNPcHRpb25zW25hbWVJbkNvbmZpZ0ZpbGVdO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,12 +1,12 @@
1
+ import { CommonModule } from '@angular/common';
1
2
  import { NgModule } from '@angular/core';
2
- import { MatTooltipModule } from '@angular/material/tooltip';
3
3
  import { MatButtonModule } from '@angular/material/button';
4
4
  import { MatIconModule } from '@angular/material/icon';
5
- import { CommonModule } from '@angular/common';
5
+ import { MatTooltipModule } from '@angular/material/tooltip';
6
6
  import { IgoLanguageModule } from '@igo2/core';
7
- import { InteractiveTourService } from './interactive-tour.service';
8
7
  import { InteractiveTourComponent } from './interactive-tour.component';
9
8
  import { InteractiveTourLoader } from './interactive-tour.loader';
9
+ import { InteractiveTourService } from './interactive-tour.service';
10
10
  import * as i0 from "@angular/core";
11
11
  export class IgoInteractiveTourModule {
12
12
  static ɵfac = function IgoInteractiveTourModule_Factory(t) { return new (t || IgoInteractiveTourModule)(); };
@@ -37,4 +37,4 @@ export class IgoInteractiveTourModule {
37
37
  MatButtonModule,
38
38
  MatTooltipModule,
39
39
  IgoLanguageModule], exports: [InteractiveTourComponent] }); })();
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9pbnRlcmFjdGl2ZS10b3VyL2ludGVyYWN0aXZlLXRvdXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQWNsRSxNQUFNLE9BQU8sd0JBQXdCO2tGQUF4Qix3QkFBd0I7NERBQXhCLHdCQUF3QjtpRUFIeEIsQ0FBQyxzQkFBc0IsRUFBRSxxQkFBcUIsQ0FBQyxZQU54RCxZQUFZO1lBQ1osYUFBYTtZQUNiLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsaUJBQWlCOzt1RkFLUix3QkFBd0I7Y0FacEMsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO2dCQUN4QyxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQixpQkFBaUI7aUJBQ2xCO2dCQUNELFNBQVMsRUFBRSxDQUFDLHNCQUFzQixFQUFFLHFCQUFxQixDQUFDO2dCQUMxRCxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzthQUNwQzs7d0ZBQ1ksd0JBQXdCLG1CQVhwQix3QkFBd0IsYUFFckMsWUFBWTtRQUNaLGFBQWE7UUFDYixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGlCQUFpQixhQUdULHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlJztcbmltcG9ydCB7IEludGVyYWN0aXZlVG91clNlcnZpY2UgfSBmcm9tICcuL2ludGVyYWN0aXZlLXRvdXIuc2VydmljZSc7XG5pbXBvcnQgeyBJbnRlcmFjdGl2ZVRvdXJDb21wb25lbnQgfSBmcm9tICcuL2ludGVyYWN0aXZlLXRvdXIuY29tcG9uZW50JztcbmltcG9ydCB7IEludGVyYWN0aXZlVG91ckxvYWRlciB9IGZyb20gJy4vaW50ZXJhY3RpdmUtdG91ci5sb2FkZXInO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtJbnRlcmFjdGl2ZVRvdXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgSWdvTGFuZ3VhZ2VNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbSW50ZXJhY3RpdmVUb3VyU2VydmljZSwgSW50ZXJhY3RpdmVUb3VyTG9hZGVyXSxcbiAgZXhwb3J0czogW0ludGVyYWN0aXZlVG91ckNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgSWdvSW50ZXJhY3RpdmVUb3VyTW9kdWxlIHt9XG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9pbnRlcmFjdGl2ZS10b3VyL2ludGVyYWN0aXZlLXRvdXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRS9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQWNwRSxNQUFNLE9BQU8sd0JBQXdCO2tGQUF4Qix3QkFBd0I7NERBQXhCLHdCQUF3QjtpRUFIeEIsQ0FBQyxzQkFBc0IsRUFBRSxxQkFBcUIsQ0FBQyxZQU54RCxZQUFZO1lBQ1osYUFBYTtZQUNiLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsaUJBQWlCOzt1RkFLUix3QkFBd0I7Y0FacEMsUUFBUTtlQUFDO2dCQUNSLFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO2dCQUN4QyxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixhQUFhO29CQUNiLGVBQWU7b0JBQ2YsZ0JBQWdCO29CQUNoQixpQkFBaUI7aUJBQ2xCO2dCQUNELFNBQVMsRUFBRSxDQUFDLHNCQUFzQixFQUFFLHFCQUFxQixDQUFDO2dCQUMxRCxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQzthQUNwQzs7d0ZBQ1ksd0JBQXdCLG1CQVhwQix3QkFBd0IsYUFFckMsWUFBWTtRQUNaLGFBQWE7UUFDYixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLGlCQUFpQixhQUdULHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgSWdvTGFuZ3VhZ2VNb2R1bGUgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IEludGVyYWN0aXZlVG91ckNvbXBvbmVudCB9IGZyb20gJy4vaW50ZXJhY3RpdmUtdG91ci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJbnRlcmFjdGl2ZVRvdXJMb2FkZXIgfSBmcm9tICcuL2ludGVyYWN0aXZlLXRvdXIubG9hZGVyJztcclxuaW1wb3J0IHsgSW50ZXJhY3RpdmVUb3VyU2VydmljZSB9IGZyb20gJy4vaW50ZXJhY3RpdmUtdG91ci5zZXJ2aWNlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbSW50ZXJhY3RpdmVUb3VyQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcclxuICAgIElnb0xhbmd1YWdlTW9kdWxlXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtJbnRlcmFjdGl2ZVRvdXJTZXJ2aWNlLCBJbnRlcmFjdGl2ZVRvdXJMb2FkZXJdLFxyXG4gIGV4cG9ydHM6IFtJbnRlcmFjdGl2ZVRvdXJDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29JbnRlcmFjdGl2ZVRvdXJNb2R1bGUge31cclxuIl19
@@ -1,6 +1,7 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { ConfigService, LanguageService, MediaService } from '@igo2/core';
3
+ import { offset } from '@floating-ui/dom';
2
4
  import { ShepherdService } from 'angular-shepherd';
3
- import { ConfigService, MediaService, LanguageService } from '@igo2/core';
4
5
  import { InteractiveTourLoader } from './interactive-tour.loader';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@igo2/core";
@@ -58,10 +59,7 @@ export class InteractiveTourService {
58
59
  }
59
60
  isTourDisplayInMobile() {
60
61
  const showInMobile = this.configService.getConfig('interactiveTour.tourInMobile');
61
- if (showInMobile === undefined) {
62
- return true;
63
- }
64
- return this.configService.getConfig('interactiveTour.tourInMobile');
62
+ return showInMobile === undefined ? true : showInMobile;
65
63
  }
66
64
  getButtons(buttonKind) {
67
65
  if (buttonKind === 'noBackButton') {
@@ -223,10 +221,10 @@ export class InteractiveTourService {
223
221
  shepherdSteps.push({
224
222
  attachTo: {
225
223
  element: step.element,
226
- on: step.position || stepConfig.position
224
+ on: (step.position || stepConfig.position) // PopperPlacement
227
225
  },
228
- popperOptions: {
229
- modifiers: [{ name: 'offset', options: { offset: [0, 15] } }]
226
+ floatingUIOptions: {
227
+ middleware: [offset({ mainAxis: 15 })]
230
228
  },
231
229
  beforeShowPromise: () => {
232
230
  return Promise.all([
@@ -294,4 +292,4 @@ export class InteractiveTourService {
294
292
  providedIn: 'root'
295
293
  }]
296
294
  }], function () { return [{ type: i1.ConfigService }, { type: i1.MediaService }, { type: i1.LanguageService }, { type: i2.InteractiveTourLoader }, { type: i3.ShepherdService }]; }, null); })();
297
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvaW50ZXJhY3RpdmUtdG91ci9pbnRlcmFjdGl2ZS10b3VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztBQVVsRSxNQUFNLE9BQU8sc0JBQXNCO0lBS3ZCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFSRixZQUFZLENBQXNCO0lBQ2xDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFFdEIsWUFDVSxhQUE0QixFQUM1QixZQUEwQixFQUMxQixlQUFnQyxFQUNoQyxxQkFBNEMsRUFDNUMsZUFBZ0M7UUFKaEMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBRXhDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUM3QztJQUNILENBQUM7SUFFTSxhQUFhO1FBQ2xCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUMzQyx5Q0FBeUMsQ0FDMUMsQ0FBQztRQUNGLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUMxQixPQUFPLElBQUks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Y3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNoZXBoZXJkU2VydmljZSB9IGZyb20gJ2FuZ3VsYXItc2hlcGhlcmQnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTWVkaWFTZXJ2aWNlLCBMYW5ndWFnZVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuaW1wb3J0IHsgSW50ZXJhY3RpdmVUb3VyTG9hZGVyIH0gZnJvbSAnLi9pbnRlcmFjdGl2ZS10b3VyLmxvYWRlcic7XHJcbmltcG9ydCB7XHJcbiAgSW50ZXJhY3RpdmVUb3VyT3B0aW9ucyxcclxuICBJbnRlcmFjdGl2ZVRvdXJTdGVwLFxyXG4gIEludGVyYWN0aXZlVG91ckFjdGlvblxyXG59IGZyb20gJy4vaW50ZXJhY3RpdmUtdG91ci5pbnRlcmZhY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgSW50ZXJhY3RpdmVUb3VyU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBwcmV2aW91c1N0ZXA6IEludGVyYWN0aXZlVG91clN0ZXA7XHJcbiAgcHJpdmF0ZSBuZXh0SW5kZXggPSAxO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgbWVkaWFTZXJ2aWNlOiBNZWRpYVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBpbnRlcmFjdGl2ZVRvdXJMb2FkZXI6IEludGVyYWN0aXZlVG91ckxvYWRlcixcclxuICAgIHByaXZhdGUgc2hlcGhlcmRTZXJ2aWNlOiBTaGVwaGVyZFNlcnZpY2VcclxuICApIHtcclxuICAgIGlmICh0aGlzLmlzQXBwSGF2ZVRvdXIoKSkge1xyXG4gICAgICB0aGlzLmludGVyYWN0aXZlVG91ckxvYWRlci5sb2FkQ29uZmlnVG91cigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzQXBwSGF2ZVRvdXIoKSB7XHJcbiAgICBjb25zdCBoYXZlVG91ciA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoXHJcbiAgICAgICdpbnRlcmFjdGl2ZVRvdXIuYWN0aXZhdGVJbnRlcmFjdGl2ZVRvdXInXHJcbiAgICApO1xyXG4gICAgaWYgKGhhdmVUb3VyID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gaGF2ZVRvdXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNUb29sSGF2ZVRvdXJDb25maWcodG9vbE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgY2hlY2tUb3VyQWN0aXZlT3B0aW9ucyA9XHJcbiAgICAgIHRoaXMuaW50ZXJhY3RpdmVUb3VyTG9hZGVyLmdldFRvdXJPcHRpb25EYXRhKHRvb2xOYW1lKTtcclxuICAgIGlmIChjaGVja1RvdXJBY3RpdmVPcHRpb25zID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGlzYWJsZWRUb3VyQnV0dG9uKHRvb2xOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHN0ZXBDb25maWc6IEludGVyYWN0aXZlVG91ck9wdGlvbnMgPVxyXG4gICAgICB0aGlzLmludGVyYWN0aXZlVG91ckxvYWRlci5nZXRUb3VyT3B0aW9uRGF0YSh0b29sTmFtZSk7XHJcblxyXG4gICAgaWYgKHN0ZXBDb25maWc/LmNvbmRpdGlvbnMpIHtcclxuICAgICAgZm9yIChjb25zdCBjb25kaXRpb24gb2Ygc3RlcENvbmZpZz8uY29uZGl0aW9ucykge1xyXG4gICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGNvbmRpdGlvbikgPT09IG51bGwpIHtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubWVkaWFTZXJ2aWNlLmlzTW9iaWxlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNUb3VyRGlzcGxheUluTW9iaWxlKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc2hvd0luTW9iaWxlID0gdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZyhcclxuICAgICAgJ2ludGVyYWN0aXZlVG91ci50b3VySW5Nb2JpbGUnXHJcbiAgICApO1xyXG4gICAgaWYgKHNob3dJbk1vYmlsZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoJ2ludGVyYWN0aXZlVG91ci50b3VySW5Nb2JpbGUnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QnV0dG9ucyhidXR0b25LaW5kPzogJ2ZpcnN0JyB8ICdsYXN0JyB8ICdub0JhY2tCdXR0b24nKSB7XHJcbiAgICBpZiAoYnV0dG9uS2luZCA9PT0gJ25vQmFja0J1dHRvbicpIHtcclxuICAgICAgcmV0dXJuIFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXByaW1hcnknLFxyXG4gICAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5uZXh0QnV0dG9uJ1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICAgIHR5cGU6ICduZXh0J1xyXG4gICAgICAgIH1cclxuICAgICAgXTtcclxuICAgIH1cclxuICAgIGlmIChidXR0b25LaW5kID09PSAnZmlyc3QnKSB7XHJcbiAgICAgIHJldHVybiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgY2xhc3NlczogJ3NoZXBoZXJkLWJ1dHRvbi1zZWNvbmRhcnknLFxyXG4gICAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5leGl0QnV0dG9uJ1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICAgIHR5cGU6ICdjYW5jZWwnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXByaW1hcnknLFxyXG4gICAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5uZXh0QnV0dG9uJ1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICAgIHR5cGU6ICduZXh0J1xyXG4gICAgICAgIH1cclxuICAgICAgXTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYnV0dG9uS2luZCA9PT0gJ2xhc3QnKSB7XHJcbiAgICAgIHJldHVybiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgY2xhc3NlczogJ3NoZXBoZXJkLWJ1dHRvbi1zZWNvbmRhcnknLFxyXG4gICAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5iYWNrQnV0dG9uJ1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICAgIHR5cGU6ICdiYWNrJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgY2xhc3NlczogJ3NoZXBoZXJkLWJ1dHRvbi1wcmltYXJ5JyxcclxuICAgICAgICAgIHRleHQ6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgICAnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIuZXhpdEJ1dHRvbidcclxuICAgICAgICAgICksXHJcbiAgICAgICAgICB0eXBlOiAnY2FuY2VsJ1xyXG4gICAgICAgIH1cclxuICAgICAgXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gW1xyXG4gICAgICB7XHJcbiAgICAgICAgY2xhc3NlczogJ3NoZXBoZXJkLWJ1dHRvbi1zZWNvbmRhcnknLFxyXG4gICAgICAgIHRleHQ6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLmJhY2tCdXR0b24nXHJcbiAgICAgICAgKSxcclxuICAgICAgICB0eXBlOiAnYmFjaydcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tcHJpbWFyeScsXHJcbiAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIubmV4dEJ1dHRvbidcclxuICAgICAgICApLFxyXG4gICAgICAgIHR5cGU6ICduZXh0J1xyXG4gICAgICB9XHJcbiAgICBdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRBY3Rpb24oYWN0aW9uTmFtZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBhY3Rpb24gPSB7XHJcbiAgICAgIGNsaWNrOiAnY2xpY2snXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIGFjdGlvblthY3Rpb25OYW1lLnRvTG93ZXJDYXNlKCldO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRQcm9ncmVzcygpIHtcclxuICAgIGNvbnN0IHNlbGYgPSB0aGlzIGFzIGFueTtcclxuICAgIGxldCBuYlRyeSA9IDA7XHJcbiAgICBjb25zdCBtYXhUcnkgPSAyMTtcclxuICAgIGNvbnN0IGNoZWNrRXhpc3QgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgIGlmIChzZWxmLmdldEN1cnJlbnRTdGVwKCkpIHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBzZWxmLmdldEN1cnJlbnRTdGVwKCkub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50ICYmXHJcbiAgICAgICAgICAhZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcclxuICAgICAgICAgICAgc2VsZi5nZXRDdXJyZW50U3RlcCgpLm9wdGlvbnMuYXR0YWNoVG8uZWxlbWVudFxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgc2VsZi5jYW5jZWwoKTtcclxuICAgICAgICAgIGNsZWFySW50ZXJ2YWwoY2hlY2tFeGlzdCk7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IGN1cnJlbnRTdGVwRWxlbWVudCA9IHNlbGYuZ2V0Q3VycmVudFN0ZXAoKS5nZXRFbGVtZW50KCk7XHJcbiAgICAgICAgICBpZiAoY3VycmVudFN0ZXBFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNoZXBoZXJkTGlzdCA9IGN1cnJlbnRTdGVwRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFxyXG4gICAgICAgICAgICAgICcuc2hlcGhlcmQtY29udGVudCwgLnNoZXBoZXJkLXRleHQnXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHNoZXBoZXJkTGlzdC5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKCdtYXQtdHlwb2dyYXBoeScpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbnN0IGhlYWRlciA9IGN1cnJlbnRTdGVwRWxlbWVudFxyXG4gICAgICAgICAgICA/IGN1cnJlbnRTdGVwRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2hlcGhlcmQtaGVhZGVyJylcclxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XHJcblxyXG4gICAgICAgICAgbmJUcnkrKztcclxuICAgICAgICAgIGlmIChoZWFkZXIgfHwgbmJUcnkgPiBtYXhUcnkpIHtcclxuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0V4aXN0KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoaGVhZGVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHN0ZXBzQXJyYXkgPSBzZWxmLnN0ZXBzO1xyXG4gICAgICAgICAgICBjb25zdCBwcm9ncmVzcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgICAgICAgICAgcHJvZ3Jlc3MuY2xhc3NOYW1lID0gJ3NoZXBoZXJkLXByb2dyZXNzJztcclxuICAgICAgICAgICAgcHJvZ3Jlc3MuaW5uZXJUZXh0ID0gYCR7XHJcbiAgICAgICAgICAgICAgc3RlcHNBcnJheS5pbmRleE9mKHNlbGYuZ2V0Q3VycmVudFN0ZXAoKSkgKyAxXHJcbiAgICAgICAgICAgIH0vJHtzdGVwc0FycmF5Lmxlbmd0aH1gO1xyXG4gICAgICAgICAgICBoZWFkZXIuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgICAgICAgIHByb2dyZXNzLFxyXG4gICAgICAgICAgICAgIGN1cnJlbnRTdGVwRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuc2hlcGhlcmQtY2FuY2VsLWljb24nKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgMTAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tOZXh0KGluZGV4LCB0b3VyLCBzZXJ2aWNlKSB7XHJcbiAgICBpZiAodG91ci5nZXRDdXJyZW50U3RlcCgpKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0b3VyLmdldEN1cnJlbnRTdGVwKCkub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50ICYmXHJcbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0b3VyLmdldEN1cnJlbnRTdGVwKCkub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50KVxyXG4gICAgICApIHtcclxuICAgICAgICB0b3VyLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoaW5kZXguaW5kZXggPT09IHRvdXIuc3RlcHMubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgIHRvdXIuY29tcGxldGUoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRvdXIuc3RlcHMuc3BsaWNlKGluZGV4LmluZGV4LCAxKTtcclxuICAgICAgY29uc3QgbmV4dFN0ZXAgPSB0b3VyLnN0ZXBzW2luZGV4LmluZGV4XTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIG5leHRTdGVwLm9wdGlvbnMuYXR0YWNoVG8uZWxlbWVudCAmJlxyXG4gICAgICAgICFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKG5leHRTdGVwLm9wdGlvbnMuYXR0YWNoVG8uZWxlbWVudClcclxuICAgICAgKSB7XHJcbiAgICAgICAgc2VydmljZS5jaGVja05leHQoaW5kZXgsIHRvdXIsIHNlcnZpY2UpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRvdXIuX3NldHVwTW9kYWwoKTtcclxuICAgICAgICB0b3VyLnNob3cobmV4dFN0ZXAuaWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4ZWN1dGVBY3Rpb24oXHJcbiAgICBzdGVwOiBJbnRlcmFjdGl2ZVRvdXJTdGVwLFxyXG4gICAgYWN0aW9uQ29uZmlnOiBJbnRlcmFjdGl2ZVRvdXJBY3Rpb25cclxuICApIHtcclxuICAgIGlmICghYWN0aW9uQ29uZmlnKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgIGFjdGlvbkNvbmZpZy5jb25kaXRpb24gJiZcclxuICAgICAgKChhY3Rpb25Db25maWcuY29uZGl0aW9uLmNoYXJBdCgwKSA9PT0gJyEnICYmXHJcbiAgICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhY3Rpb25Db25maWcuY29uZGl0aW9uLnNsaWNlKDEpKSkgfHxcclxuICAgICAgICAoYWN0aW9uQ29uZmlnLmNvbmRpdGlvbi5jaGFyQXQoMCkgIT09ICchJyAmJlxyXG4gICAgICAgICAgIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYWN0aW9uQ29uZmlnLmNvbmRpdGlvbikpKVxyXG4gICAgKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXHJcbiAgICAgIGFjdGlvbkNvbmZpZy5lbGVtZW50IHx8IHN0ZXAuZWxlbWVudFxyXG4gICAgKSBhcyBIVE1MRWxlbWVudDtcclxuICAgIGNvbnN0IGFjdGlvbiA9IHRoaXMuZ2V0QWN0aW9uKGFjdGlvbkNvbmZpZy5hY3Rpb24pO1xyXG4gICAgaWYgKGVsZW1lbnQgJiYgYWN0aW9uKSB7XHJcbiAgICAgIGVsZW1lbnRbYWN0aW9uXSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleGVjdXRlQWN0aW9uUHJvbWlzZShcclxuICAgIHN0ZXA6IEludGVyYWN0aXZlVG91clN0ZXAsXHJcbiAgICBhY3Rpb25Db25maWc6IEludGVyYWN0aXZlVG91ckFjdGlvblxyXG4gICkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIHRoaXMuZXhlY3V0ZUFjdGlvbihzdGVwLCBhY3Rpb25Db25maWcpO1xyXG4gICAgICBpZiAoIWFjdGlvbkNvbmZpZyB8fCAhYWN0aW9uQ29uZmlnLndhaXRGb3IpIHtcclxuICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCBuYlRyeSA9IDA7XHJcbiAgICAgIGNvbnN0IG1heFRyeSA9IGFjdGlvbkNvbmZpZy5tYXhXYWl0ID8gYWN0aW9uQ29uZmlnLm1heFdhaXQgLyAxMDAgOiAyMDtcclxuICAgICAgY29uc3QgY2hlY2tFeGlzdCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICBuYlRyeSsrO1xyXG4gICAgICAgIGlmIChuYlRyeSA+IG1heFRyeSB8fCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGFjdGlvbkNvbmZpZy53YWl0Rm9yKSkge1xyXG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0V4aXN0KTtcclxuICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDEwMCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2hlcGhlcmRTdGVwcyhzdGVwQ29uZmlnOiBJbnRlcmFjdGl2ZVRvdXJPcHRpb25zKSB7XHJcbiAgICBjb25zdCBzaGVwaGVyZFN0ZXBzID0gW107XHJcblxyXG4gICAgbGV0IGkgPSAwO1xyXG4gICAgZm9yIChjb25zdCBzdGVwIG9mIHN0ZXBDb25maWcuc3RlcHMpIHtcclxuICAgICAgc2hlcGhlcmRTdGVwcy5wdXNoKHtcclxuICAgICAgICBhdHRhY2hUbzoge1xyXG4gICAgICAgICAgZWxlbWVudDogc3RlcC5lbGVtZW50LFxyXG4gICAgICAgICAgb246IHN0ZXAucG9zaXRpb24gfHwgc3RlcENvbmZpZy5wb3NpdGlvblxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcG9wcGVyT3B0aW9uczoge1xyXG4gICAgICAgICAgbW9kaWZpZXJzOiBbeyBuYW1lOiAnb2Zmc2V0Jywgb3B0aW9uczogeyBvZmZzZXQ6IFswLCAxNV0gfSB9XVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYmVmb3JlU2hvd1Byb21pc2U6ICgpID0+IHtcclxuICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbXHJcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0ZUFjdGlvblByb21pc2UoXHJcbiAgICAgICAgICAgICAgdGhpcy5wcmV2aW91c1N0ZXAsXHJcbiAgICAgICAgICAgICAgdGhpcy5wcmV2aW91c1N0ZXAgPyB0aGlzLnByZXZpb3VzU3RlcC5iZWZvcmVDaGFuZ2UgOiB1bmRlZmluZWRcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgdGhpcy5leGVjdXRlQWN0aW9uUHJvbWlzZShzdGVwLCBzdGVwLmJlZm9yZVNob3cpXHJcbiAgICAgICAgICBdKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGJ1dHRvbnM6IHRoaXMuZ2V0QnV0dG9ucyhcclxuICAgICAgICAgIGkgPT09IDBcclxuICAgICAgICAgICAgPyAnZmlyc3QnXHJcbiAgICAgICAgICAgIDogaSArIDEgPT09IHN0ZXBDb25maWcuc3RlcHMubGVuZ3RoXHJcbiAgICAgICAgICAgID8gJ2xhc3QnXHJcbiAgICAgICAgICAgIDogc3RlcENvbmZpZy5zdGVwc1tpXS5ub0JhY2tCdXR0b25cclxuICAgICAgICAgICAgPyAnbm9CYWNrQnV0dG9uJ1xyXG4gICAgICAgICAgICA6IHVuZGVmaW5lZFxyXG4gICAgICAgICksXHJcbiAgICAgICAgY2xhc3Nlczogc3RlcC5jbGFzcyxcclxuICAgICAgICBoaWdobGlnaHRDbGFzczogc3RlcC5oaWdobGlnaHRDbGFzcyxcclxuICAgICAgICBzY3JvbGxUbzogc3RlcC5zY3JvbGxUb0VsZW1lbnQgfHwgc3RlcENvbmZpZy5zY3JvbGxUb0VsZW1lbnQgfHwgdHJ1ZSxcclxuICAgICAgICBjYW5DbGlja1RhcmdldDogc3RlcC5kaXNhYmxlSW50ZXJhY3Rpb25cclxuICAgICAgICAgID8gIXN0ZXAuZGlzYWJsZUludGVyYWN0aW9uXHJcbiAgICAgICAgICA6IHVuZGVmaW5lZCxcclxuICAgICAgICB0aXRsZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICBzdGVwLnRpdGxlIHx8IHN0ZXBDb25maWcudGl0bGVcclxuICAgICAgICApLFxyXG4gICAgICAgIHRleHQ6IFt0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChzdGVwLnRleHQpXSxcclxuICAgICAgICB3aGVuOiB7XHJcbiAgICAgICAgICBzaG93OiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0ZUFjdGlvbihzdGVwLCBzdGVwLm9uU2hvdyk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgaGlkZTogKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnByZXZpb3VzU3RlcCA9IHN0ZXA7XHJcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0ZUFjdGlvbihzdGVwLCBzdGVwLm9uSGlkZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgaSsrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzaGVwaGVyZFN0ZXBzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXJ0VG91cih0b29sTmFtZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBzdGVwQ29uZmlnOiBJbnRlcmFjdGl2ZVRvdXJPcHRpb25zID1cclxuICAgICAgdGhpcy5pbnRlcmFjdGl2ZVRvdXJMb2FkZXIuZ2V0VG91ck9wdGlvbkRhdGEodG9vbE5hbWUpO1xyXG5cclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLmRlZmF1bHRTdGVwT3B0aW9ucyA9IHtcclxuICAgICAgY2xhc3Nlczogc3RlcENvbmZpZy5jbGFzcyxcclxuICAgICAgaGlnaGxpZ2h0Q2xhc3M6IHN0ZXBDb25maWcuaGlnaGxpZ2h0Q2xhc3MsXHJcbiAgICAgIGNhbkNsaWNrVGFyZ2V0OiBzdGVwQ29uZmlnLmRpc2FibGVJbnRlcmFjdGlvblxyXG4gICAgICAgID8gIXN0ZXBDb25maWcuZGlzYWJsZUludGVyYWN0aW9uXHJcbiAgICAgICAgOiB0cnVlLFxyXG4gICAgICBjYW5jZWxJY29uOiB7XHJcbiAgICAgICAgZW5hYmxlZDogdHJ1ZVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHNoZXBoZXJkU3RlcHMgPSB0aGlzLmdldFNoZXBoZXJkU3RlcHMoc3RlcENvbmZpZyk7XHJcblxyXG4gICAgdGhpcy5zaGVwaGVyZFNlcnZpY2UubW9kYWwgPSB0cnVlO1xyXG4gICAgdGhpcy5zaGVwaGVyZFNlcnZpY2UuY29uZmlybUNhbmNlbCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zaGVwaGVyZFNlcnZpY2UuYWRkU3RlcHMoc2hlcGhlcmRTdGVwcyk7XHJcblxyXG4gICAgdGhpcy5zaGVwaGVyZFNlcnZpY2UudG91ck9iamVjdC5vbignc2hvdycsIHRoaXMuYWRkUHJvZ3Jlc3MpO1xyXG4gICAgdGhpcy5zaGVwaGVyZFNlcnZpY2UudG91ck9iamVjdC5vbignY2FuY2VsJywgKGluZGV4KSA9PiB7XHJcbiAgICAgIHRoaXMuY2hlY2tOZXh0KGluZGV4LCB0aGlzLnNoZXBoZXJkU2VydmljZS50b3VyT2JqZWN0LCB0aGlzKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLnN0YXJ0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3RpdmUtdG91ci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvaW50ZXJhY3RpdmUtdG91ci9pbnRlcmFjdGl2ZS10b3VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFMUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVFuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7QUFLbEUsTUFBTSxPQUFPLHNCQUFzQjtJQUt2QjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBUkYsWUFBWSxDQUFzQjtJQUNsQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBRXRCLFlBQ1UsYUFBNEIsRUFDNUIsWUFBMEIsRUFDMUIsZUFBZ0MsRUFDaEMscUJBQTRDLEVBQzVDLGVBQWdDO1FBSmhDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUV4QyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUN4QixJQUFJLENBQUMscUJBQXFCLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDN0M7SUFDSCxDQUFDO0lBRU0sYUFBYTtRQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FDM0MseUNBQXlDLENBQzFDLENBQUM7UUFD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bmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTGFuZ3VhZ2VTZXJ2aWNlLCBNZWRpYVNlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlJztcclxuXHJcbmltcG9ydCB7IG9mZnNldCB9IGZyb20gJ0BmbG9hdGluZy11aS9kb20nO1xyXG5pbXBvcnQgeyBTaGVwaGVyZFNlcnZpY2UgfSBmcm9tICdhbmd1bGFyLXNoZXBoZXJkJztcclxuaW1wb3J0IFNoZXBoZXJkIGZyb20gJ3NoZXBoZXJkLmpzJztcclxuXHJcbmltcG9ydCB7XHJcbiAgSW50ZXJhY3RpdmVUb3VyQWN0aW9uLFxyXG4gIEludGVyYWN0aXZlVG91ck9wdGlvbnMsXHJcbiAgSW50ZXJhY3RpdmVUb3VyU3RlcFxyXG59IGZyb20gJy4vaW50ZXJhY3RpdmUtdG91ci5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBJbnRlcmFjdGl2ZVRvdXJMb2FkZXIgfSBmcm9tICcuL2ludGVyYWN0aXZlLXRvdXIubG9hZGVyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEludGVyYWN0aXZlVG91clNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcHJldmlvdXNTdGVwOiBJbnRlcmFjdGl2ZVRvdXJTdGVwO1xyXG4gIHByaXZhdGUgbmV4dEluZGV4ID0gMTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIG1lZGlhU2VydmljZTogTWVkaWFTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBsYW5ndWFnZVNlcnZpY2U6IExhbmd1YWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgaW50ZXJhY3RpdmVUb3VyTG9hZGVyOiBJbnRlcmFjdGl2ZVRvdXJMb2FkZXIsXHJcbiAgICBwcml2YXRlIHNoZXBoZXJkU2VydmljZTogU2hlcGhlcmRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5pc0FwcEhhdmVUb3VyKCkpIHtcclxuICAgICAgdGhpcy5pbnRlcmFjdGl2ZVRvdXJMb2FkZXIubG9hZENvbmZpZ1RvdXIoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc0FwcEhhdmVUb3VyKCkge1xyXG4gICAgY29uc3QgaGF2ZVRvdXIgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKFxyXG4gICAgICAnaW50ZXJhY3RpdmVUb3VyLmFjdGl2YXRlSW50ZXJhY3RpdmVUb3VyJ1xyXG4gICAgKTtcclxuICAgIGlmIChoYXZlVG91ciA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGhhdmVUb3VyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzVG9vbEhhdmVUb3VyQ29uZmlnKHRvb2xOYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGNoZWNrVG91ckFjdGl2ZU9wdGlvbnMgPVxyXG4gICAgICB0aGlzLmludGVyYWN0aXZlVG91ckxvYWRlci5nZXRUb3VyT3B0aW9uRGF0YSh0b29sTmFtZSk7XHJcbiAgICBpZiAoY2hlY2tUb3VyQWN0aXZlT3B0aW9ucyA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGRpc2FibGVkVG91ckJ1dHRvbih0b29sTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBzdGVwQ29uZmlnOiBJbnRlcmFjdGl2ZVRvdXJPcHRpb25zID1cclxuICAgICAgdGhpcy5pbnRlcmFjdGl2ZVRvdXJMb2FkZXIuZ2V0VG91ck9wdGlvbkRhdGEodG9vbE5hbWUpO1xyXG5cclxuICAgIGlmIChzdGVwQ29uZmlnPy5jb25kaXRpb25zKSB7XHJcbiAgICAgIGZvciAoY29uc3QgY29uZGl0aW9uIG9mIHN0ZXBDb25maWc/LmNvbmRpdGlvbnMpIHtcclxuICAgICAgICBpZiAoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcihjb25kaXRpb24pID09PSBudWxsKSB7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm1lZGlhU2VydmljZS5pc01vYmlsZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzVG91ckRpc3BsYXlJbk1vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNob3dJbk1vYmlsZSA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoXHJcbiAgICAgICdpbnRlcmFjdGl2ZVRvdXIudG91ckluTW9iaWxlJ1xyXG4gICAgKTtcclxuXHJcbiAgICByZXR1cm4gc2hvd0luTW9iaWxlID09PSB1bmRlZmluZWQgPyB0cnVlIDogc2hvd0luTW9iaWxlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRCdXR0b25zKGJ1dHRvbktpbmQ/OiAnZmlyc3QnIHwgJ2xhc3QnIHwgJ25vQmFja0J1dHRvbicpIHtcclxuICAgIGlmIChidXR0b25LaW5kID09PSAnbm9CYWNrQnV0dG9uJykge1xyXG4gICAgICByZXR1cm4gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tcHJpbWFyeScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLm5leHRCdXR0b24nXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHlwZTogJ25leHQnXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG4gICAgaWYgKGJ1dHRvbktpbmQgPT09ICdmaXJzdCcpIHtcclxuICAgICAgcmV0dXJuIFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXNlY29uZGFyeScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLmV4aXRCdXR0b24nXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHlwZTogJ2NhbmNlbCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGNsYXNzZXM6ICdzaGVwaGVyZC1idXR0b24tcHJpbWFyeScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLm5leHRCdXR0b24nXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHlwZTogJ25leHQnXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChidXR0b25LaW5kID09PSAnbGFzdCcpIHtcclxuICAgICAgcmV0dXJuIFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXNlY29uZGFyeScsXHJcbiAgICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICAgJ2lnby5jb21tb24uaW50ZXJhY3RpdmVUb3VyLmJhY2tCdXR0b24nXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICAgdHlwZTogJ2JhY2snXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXByaW1hcnknLFxyXG4gICAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5leGl0QnV0dG9uJ1xyXG4gICAgICAgICAgKSxcclxuICAgICAgICAgIHR5cGU6ICdjYW5jZWwnXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBbXHJcbiAgICAgIHtcclxuICAgICAgICBjbGFzc2VzOiAnc2hlcGhlcmQtYnV0dG9uLXNlY29uZGFyeScsXHJcbiAgICAgICAgdGV4dDogdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoXHJcbiAgICAgICAgICAnaWdvLmNvbW1vbi5pbnRlcmFjdGl2ZVRvdXIuYmFja0J1dHRvbidcclxuICAgICAgICApLFxyXG4gICAgICAgIHR5cGU6ICdiYWNrJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgY2xhc3NlczogJ3NoZXBoZXJkLWJ1dHRvbi1wcmltYXJ5JyxcclxuICAgICAgICB0ZXh0OiB0aGlzLmxhbmd1YWdlU2VydmljZS50cmFuc2xhdGUuaW5zdGFudChcclxuICAgICAgICAgICdpZ28uY29tbW9uLmludGVyYWN0aXZlVG91ci5uZXh0QnV0dG9uJ1xyXG4gICAgICAgICksXHJcbiAgICAgICAgdHlwZTogJ25leHQnXHJcbiAgICAgIH1cclxuICAgIF07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEFjdGlvbihhY3Rpb25OYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGFjdGlvbiA9IHtcclxuICAgICAgY2xpY2s6ICdjbGljaydcclxuICAgIH07XHJcbiAgICByZXR1cm4gYWN0aW9uW2FjdGlvbk5hbWUudG9Mb3dlckNhc2UoKV07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFByb2dyZXNzKCkge1xyXG4gICAgY29uc3Qgc2VsZiA9IHRoaXMgYXMgYW55O1xyXG4gICAgbGV0IG5iVHJ5ID0gMDtcclxuICAgIGNvbnN0IG1heFRyeSA9IDIxO1xyXG4gICAgY29uc3QgY2hlY2tFeGlzdCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgaWYgKHNlbGYuZ2V0Q3VycmVudFN0ZXAoKSkge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHNlbGYuZ2V0Q3VycmVudFN0ZXAoKS5vcHRpb25zLmF0dGFjaFRvLmVsZW1lbnQgJiZcclxuICAgICAgICAgICFkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFxyXG4gICAgICAgICAgICBzZWxmLmdldEN1cnJlbnRTdGVwKCkub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50XHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBzZWxmLmNhbmNlbCgpO1xyXG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChjaGVja0V4aXN0KTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgY3VycmVudFN0ZXBFbGVtZW50ID0gc2VsZi5nZXRDdXJyZW50U3RlcCgpLmdldEVsZW1lbnQoKTtcclxuICAgICAgICAgIGlmIChjdXJyZW50U3RlcEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgY29uc3Qgc2hlcGhlcmRMaXN0ID0gY3VycmVudFN0ZXBFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXHJcbiAgICAgICAgICAgICAgJy5zaGVwaGVyZC1jb250ZW50LCAuc2hlcGhlcmQtdGV4dCdcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgc2hlcGhlcmRMaXN0LmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoJ21hdC10eXBvZ3JhcGh5Jyk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29uc3QgaGVhZGVyID0gY3VycmVudFN0ZXBFbGVtZW50XHJcbiAgICAgICAgICAgID8gY3VycmVudFN0ZXBFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVwaGVyZC1oZWFkZXInKVxyXG4gICAgICAgICAgICA6IHVuZGVmaW5lZDtcclxuXHJcbiAgICAgICAgICBuYlRyeSsrO1xyXG4gICAgICAgICAgaWYgKGhlYWRlciB8fCBuYlRyeSA+IG1heFRyeSkge1xyXG4gICAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrRXhpc3QpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChoZWFkZXIpIHtcclxuICAgICAgICAgICAgY29uc3Qgc3RlcHNBcnJheSA9IHNlbGYuc3RlcHM7XHJcbiAgICAgICAgICAgIGNvbnN0IHByb2dyZXNzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgICAgICBwcm9ncmVzcy5jbGFzc05hbWUgPSAnc2hlcGhlcmQtcHJvZ3Jlc3MnO1xyXG4gICAgICAgICAgICBwcm9ncmVzcy5pbm5lclRleHQgPSBgJHtcclxuICAgICAgICAgICAgICBzdGVwc0FycmF5LmluZGV4T2Yoc2VsZi5nZXRDdXJyZW50U3RlcCgpKSArIDFcclxuICAgICAgICAgICAgfS8ke3N0ZXBzQXJyYXkubGVuZ3RofWA7XHJcbiAgICAgICAgICAgIGhlYWRlci5pbnNlcnRCZWZvcmUoXHJcbiAgICAgICAgICAgICAgcHJvZ3Jlc3MsXHJcbiAgICAgICAgICAgICAgY3VycmVudFN0ZXBFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5zaGVwaGVyZC1jYW5jZWwtaWNvbicpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9LCAxMDApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja05leHQoaW5kZXgsIHRvdXIsIHNlcnZpY2UpIHtcclxuICAgIGlmICh0b3VyLmdldEN1cnJlbnRTdGVwKCkpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRvdXIuZ2V0Q3VycmVudFN0ZXAoKS5vcHRpb25zLmF0dGFjaFRvLmVsZW1lbnQgJiZcclxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRvdXIuZ2V0Q3VycmVudFN0ZXAoKS5vcHRpb25zLmF0dGFjaFRvLmVsZW1lbnQpXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRvdXIuY29tcGxldGUoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChpbmRleC5pbmRleCA9PT0gdG91ci5zdGVwcy5sZW5ndGggLSAxKSB7XHJcbiAgICAgICAgdG91ci5jb21wbGV0ZSgpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdG91ci5zdGVwcy5zcGxpY2UoaW5kZXguaW5kZXgsIDEpO1xyXG4gICAgICBjb25zdCBuZXh0U3RlcCA9IHRvdXIuc3RlcHNbaW5kZXguaW5kZXhdO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgbmV4dFN0ZXAub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50ICYmXHJcbiAgICAgICAgIWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IobmV4dFN0ZXAub3B0aW9ucy5hdHRhY2hUby5lbGVtZW50KVxyXG4gICAgICApIHtcclxuICAgICAgICBzZXJ2aWNlLmNoZWNrTmV4dChpbmRleCwgdG91ciwgc2VydmljZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdG91ci5fc2V0dXBNb2RhbCgpO1xyXG4gICAgICAgIHRvdXIuc2hvdyhuZXh0U3RlcC5pZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZXhlY3V0ZUFjdGlvbihcclxuICAgIHN0ZXA6IEludGVyYWN0aXZlVG91clN0ZXAsXHJcbiAgICBhY3Rpb25Db25maWc6IEludGVyYWN0aXZlVG91ckFjdGlvblxyXG4gICkge1xyXG4gICAgaWYgKCFhY3Rpb25Db25maWcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChcclxuICAgICAgYWN0aW9uQ29uZmlnLmNvbmRpdGlvbiAmJlxyXG4gICAgICAoKGFjdGlvbkNvbmZpZy5jb25kaXRpb24uY2hhckF0KDApID09PSAnIScgJiZcclxuICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGFjdGlvbkNvbmZpZy5jb25kaXRpb24uc2xpY2UoMSkpKSB8fFxyXG4gICAgICAgIChhY3Rpb25Db25maWcuY29uZGl0aW9uLmNoYXJBdCgwKSAhPT0gJyEnICYmXHJcbiAgICAgICAgICAhZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhY3Rpb25Db25maWcuY29uZGl0aW9uKSkpXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcclxuICAgICAgYWN0aW9uQ29uZmlnLmVsZW1lbnQgfHwgc3RlcC5lbGVtZW50XHJcbiAgICApIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgY29uc3QgYWN0aW9uID0gdGhpcy5nZXRBY3Rpb24oYWN0aW9uQ29uZmlnLmFjdGlvbik7XHJcbiAgICBpZiAoZWxlbWVudCAmJiBhY3Rpb24pIHtcclxuICAgICAgZWxlbWVudFthY3Rpb25dKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGV4ZWN1dGVBY3Rpb25Qcm9taXNlKFxyXG4gICAgc3RlcDogSW50ZXJhY3RpdmVUb3VyU3RlcCxcclxuICAgIGFjdGlvbkNvbmZpZzogSW50ZXJhY3RpdmVUb3VyQWN0aW9uXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcclxuICAgICAgdGhpcy5leGVjdXRlQWN0aW9uKHN0ZXAsIGFjdGlvbkNvbmZpZyk7XHJcbiAgICAgIGlmICghYWN0aW9uQ29uZmlnIHx8ICFhY3Rpb25Db25maWcud2FpdEZvcikge1xyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgbGV0IG5iVHJ5ID0gMDtcclxuICAgICAgY29uc3QgbWF4VHJ5ID0gYWN0aW9uQ29uZmlnLm1heFdhaXQgPyBhY3Rpb25Db25maWcubWF4V2FpdCAvIDEwMCA6IDIwO1xyXG4gICAgICBjb25zdCBjaGVja0V4aXN0ID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgIG5iVHJ5Kys7XHJcbiAgICAgICAgaWYgKG5iVHJ5ID4gbWF4VHJ5IHx8IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYWN0aW9uQ29uZmlnLndhaXRGb3IpKSB7XHJcbiAgICAgICAgICBjbGVhckludGVydmFsKGNoZWNrRXhpc3QpO1xyXG4gICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgMTAwKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTaGVwaGVyZFN0ZXBzKHN0ZXBDb25maWc6IEludGVyYWN0aXZlVG91ck9wdGlvbnMpIHtcclxuICAgIGNvbnN0IHNoZXBoZXJkU3RlcHM6IFNoZXBoZXJkLlN0ZXAuU3RlcE9wdGlvbnNbXSA9IFtdO1xyXG5cclxuICAgIGxldCBpID0gMDtcclxuICAgIGZvciAoY29uc3Qgc3RlcCBvZiBzdGVwQ29uZmlnLnN0ZXBzKSB7XHJcbiAgICAgIHNoZXBoZXJkU3RlcHMucHVzaCh7XHJcbiAgICAgICAgYXR0YWNoVG86IHtcclxuICAgICAgICAgIGVsZW1lbnQ6IHN0ZXAuZWxlbWVudCxcclxuICAgICAgICAgIG9uOiAoc3RlcC5wb3NpdGlvbiB8fCBzdGVwQ29uZmlnLnBvc2l0aW9uKSBhcyBhbnkgLy8gUG9wcGVyUGxhY2VtZW50XHJcbiAgICAgICAgfSxcclxuICAgICAgICBmbG9hdGluZ1VJT3B0aW9uczoge1xyXG4gICAgICAgICAgbWlkZGxld2FyZTogW29mZnNldCh7IG1haW5BeGlzOiAxNSB9KV1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGJlZm9yZVNob3dQcm9taXNlOiAoKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoW1xyXG4gICAgICAgICAgICB0aGlzLmV4ZWN1dGVBY3Rpb25Qcm9taXNlKFxyXG4gICAgICAgICAgICAgIHRoaXMucHJldmlvdXNTdGVwLFxyXG4gICAgICAgICAgICAgIHRoaXMucHJldmlvdXNTdGVwID8gdGhpcy5wcmV2aW91c1N0ZXAuYmVmb3JlQ2hhbmdlIDogdW5kZWZpbmVkXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIHRoaXMuZXhlY3V0ZUFjdGlvblByb21pc2Uoc3RlcCwgc3RlcC5iZWZvcmVTaG93KVxyXG4gICAgICAgICAgXSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBidXR0b25zOiB0aGlzLmdldEJ1dHRvbnMoXHJcbiAgICAgICAgICBpID09PSAwXHJcbiAgICAgICAgICAgID8gJ2ZpcnN0J1xyXG4gICAgICAgICAgICA6IGkgKyAxID09PSBzdGVwQ29uZmlnLnN0ZXBzLmxlbmd0aFxyXG4gICAgICAgICAgICA/ICdsYXN0J1xyXG4gICAgICAgICAgICA6IHN0ZXBDb25maWcuc3RlcHNbaV0ubm9CYWNrQnV0dG9uXHJcbiAgICAgICAgICAgID8gJ25vQmFja0J1dHRvbidcclxuICAgICAgICAgICAgOiB1bmRlZmluZWRcclxuICAgICAgICApLFxyXG4gICAgICAgIGNsYXNzZXM6IHN0ZXAuY2xhc3MsXHJcbiAgICAgICAgaGlnaGxpZ2h0Q2xhc3M6IHN0ZXAuaGlnaGxpZ2h0Q2xhc3MsXHJcbiAgICAgICAgc2Nyb2xsVG86IHN0ZXAuc2Nyb2xsVG9FbGVtZW50IHx8IHN0ZXBDb25maWcuc2Nyb2xsVG9FbGVtZW50IHx8IHRydWUsXHJcbiAgICAgICAgY2FuQ2xpY2tUYXJnZXQ6IHN0ZXAuZGlzYWJsZUludGVyYWN0aW9uXHJcbiAgICAgICAgICA/ICFzdGVwLmRpc2FibGVJbnRlcmFjdGlvblxyXG4gICAgICAgICAgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLnRyYW5zbGF0ZS5pbnN0YW50KFxyXG4gICAgICAgICAgc3RlcC50aXRsZSB8fCBzdGVwQ29uZmlnLnRpdGxlXHJcbiAgICAgICAgKSxcclxuICAgICAgICB0ZXh0OiBbdGhpcy5sYW5ndWFnZVNlcnZpY2UudHJhbnNsYXRlLmluc3RhbnQoc3RlcC50ZXh0KV0sXHJcbiAgICAgICAgd2hlbjoge1xyXG4gICAgICAgICAgc2hvdzogKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmV4ZWN1dGVBY3Rpb24oc3RlcCwgc3RlcC5vblNob3cpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGhpZGU6ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1N0ZXAgPSBzdGVwO1xyXG4gICAgICAgICAgICB0aGlzLmV4ZWN1dGVBY3Rpb24oc3RlcCwgc3RlcC5vbkhpZGUpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBzYXRpc2ZpZXMgU2hlcGhlcmQuU3RlcC5TdGVwT3B0aW9ucyk7XHJcbiAgICAgIGkrKztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gc2hlcGhlcmRTdGVwcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGFydFRvdXIodG9vbE5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3Qgc3RlcENvbmZpZzogSW50ZXJhY3RpdmVUb3VyT3B0aW9ucyA9XHJcbiAgICAgIHRoaXMuaW50ZXJhY3RpdmVUb3VyTG9hZGVyLmdldFRvdXJPcHRpb25EYXRhKHRvb2xOYW1lKTtcclxuXHJcbiAgICB0aGlzLnNoZXBoZXJkU2VydmljZS5kZWZhdWx0U3RlcE9wdGlvbnMgPSB7XHJcbiAgICAgIGNsYXNzZXM6IHN0ZXBDb25maWcuY2xhc3MsXHJcbiAgICAgIGhpZ2hsaWdodENsYXNzOiBzdGVwQ29uZmlnLmhpZ2hsaWdodENsYXNzLFxyXG4gICAgICBjYW5DbGlja1RhcmdldDogc3RlcENvbmZpZy5kaXNhYmxlSW50ZXJhY3Rpb25cclxuICAgICAgICA/ICFzdGVwQ29uZmlnLmRpc2FibGVJbnRlcmFjdGlvblxyXG4gICAgICAgIDogdHJ1ZSxcclxuICAgICAgY2FuY2VsSWNvbjoge1xyXG4gICAgICAgIGVuYWJsZWQ6IHRydWVcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBzaGVwaGVyZFN0ZXBzID0gdGhpcy5nZXRTaGVwaGVyZFN0ZXBzKHN0ZXBDb25maWcpO1xyXG5cclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLm1vZGFsID0gdHJ1ZTtcclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLmNvbmZpcm1DYW5jZWwgPSBmYWxzZTtcclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLmFkZFN0ZXBzKHNoZXBoZXJkU3RlcHMpO1xyXG5cclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLnRvdXJPYmplY3Qub24oJ3Nob3cnLCB0aGlzLmFkZFByb2dyZXNzKTtcclxuICAgIHRoaXMuc2hlcGhlcmRTZXJ2aWNlLnRvdXJPYmplY3Qub24oJ2NhbmNlbCcsIChpbmRleCkgPT4ge1xyXG4gICAgICB0aGlzLmNoZWNrTmV4dChpbmRleCwgdGhpcy5zaGVwaGVyZFNlcnZpY2UudG91ck9iamVjdCwgdGhpcyk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLnNoZXBoZXJkU2VydmljZS5zdGFydCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -109,6 +109,6 @@ export class JsonDialogComponent {
109
109
  }
110
110
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(JsonDialogComponent, [{
111
111
  type: Component,
112
- args: [{ selector: 'igo-json-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{ title }}</h1>\r\n\r\n<div mat-dialog-content class=\"mat-typography\">\r\n <ng-container\r\n *ngTemplateOutlet=\"loopObject; context: { obj: data }\"\r\n ></ng-container>\r\n\r\n <ng-template #loopObject let-obj=\"obj\" let-baseKey=\"baseKey\">\r\n <ng-container *ngFor=\"let property of obj | keyvalue\">\r\n <ng-container\r\n *ngIf=\"ignoreKeys.indexOf(getKey(baseKey, property.key)) === -1\"\r\n >\r\n <ng-container *ngIf=\"isObject(property.value); else notObject\">\r\n <ng-container\r\n *ngTemplateOutlet=\"\r\n loopObject;\r\n context: {\r\n obj: property.value,\r\n baseKey: getKey(baseKey, property.key)\r\n }\r\n \"\r\n ></ng-container>\r\n </ng-container>\r\n\r\n <ng-template #notObject>\r\n <p>\r\n <span\r\n ><b>{{ getKey(baseKey, property.key) }}</b> : </span\r\n ><span class=\"propertyValue\" [innerHtml]=\"property.value\"></span>\r\n </p>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n</div>\r\n\r\n<div mat-dialog-actions>\r\n <button mat-button color=\"primary\" (click)=\"dialogRef.close(false)\">\r\n OK\r\n </button>\r\n</div>\r\n" }]
112
+ args: [{ selector: 'igo-json-dialog', template: "<h1 mat-dialog-title class=\"mat-typography\">{{ title }}</h1>\n\n<div mat-dialog-content class=\"mat-typography\">\n <ng-container\n *ngTemplateOutlet=\"loopObject; context: { obj: data }\"\n ></ng-container>\n\n <ng-template #loopObject let-obj=\"obj\" let-baseKey=\"baseKey\">\n <ng-container *ngFor=\"let property of obj | keyvalue\">\n <ng-container\n *ngIf=\"ignoreKeys.indexOf(getKey(baseKey, property.key)) === -1\"\n >\n <ng-container *ngIf=\"isObject(property.value); else notObject\">\n <ng-container\n *ngTemplateOutlet=\"\n loopObject;\n context: {\n obj: property.value,\n baseKey: getKey(baseKey, property.key)\n }\n \"\n ></ng-container>\n </ng-container>\n\n <ng-template #notObject>\n <p>\n <span\n ><b>{{ getKey(baseKey, property.key) }}</b> : </span\n ><span class=\"propertyValue\" [innerHtml]=\"property.value\"></span>\n </p>\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-template>\n</div>\n\n<div mat-dialog-actions>\n <button mat-button color=\"primary\" (click)=\"dialogRef.close(false)\">\n OK\n </button>\n</div>\n" }]
113
113
  }], function () { return [{ type: i1.MatDialogRef }]; }, null); })();
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvanNvbi1kaWFsb2cvanNvbi1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvanNvbi1kaWFsb2cvanNvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7SUNFdEQsd0JBRWdCOzs7SUFRUix3QkFRZ0I7Ozs7SUFUbEIsNkJBQStEO0lBQzdELGlKQVFnQjtJQUNsQiwwQkFBZTs7Ozs7O0lBUlYsZUFHWDtJQUhXLHNDQUdYLHNIQUFBOzs7SUFRUSx5QkFBRyxXQUFBLFFBQUE7SUFFSyxZQUFtQztJQUFBLGlCQUFJO0lBQUMsbUJBQUU7SUFBQSxpQkFDL0M7SUFBQSwyQkFBZ0U7SUFDbkUsaUJBQUk7Ozs7O0lBRkksZUFBbUM7SUFBbkMsaUVBQW1DO0lBQ1osZUFBNEI7SUFBNUIsZ0VBQTRCOzs7SUFuQi9ELDZCQUVDO0lBQ0Msa0lBVWU7SUFFZixpS0FNYztJQUNoQiwwQkFBZTs7Ozs7SUFuQkUsZUFBZ0M7SUFBaEMseURBQWdDLGlCQUFBOzs7SUFKbkQsNkJBQXNEO0lBQ3BELG1IQXNCZTtJQUNqQiwwQkFBZTs7Ozs7SUF0QlYsZUFBOEQ7SUFBOUQsbUdBQThEOzs7SUFGbkUsb0dBd0JlOzs7O0lBeEJvQixzREFBaUI7OztBRER4RCxNQUFNLE9BQU8sbUJBQW1CO0lBS1g7SUFKWixLQUFLLENBQVM7SUFDZCxJQUFJLENBQU07SUFDVixVQUFVLENBQVc7SUFFNUIsWUFBbUIsU0FBNEM7UUFBNUMsY0FBUyxHQUFULFNBQVMsQ0FBbUM7SUFBRyxDQUFDO0lBRW5FLFFBQVEsQ0FBQyxHQUFHO1FBQ1YsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUc7UUFDakIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzlDLENBQUM7NkVBYlUsbUJBQW1COzZEQUFuQixtQkFBbUI7WUNQaEMsNkJBQTRDO1lBQUEsWUFBVztZQUFBLGlCQUFLO1lBRTVELDhCQUErQztZQUM3QyxzRkFFZ0I7WUFFaEIscUhBMEJjO1lBQ2hCLGlCQUFNO1lBRU4sOEJBQXdCLGdCQUFBO1lBQ2EsZ0dBQVMsb0JBQWdCLEtBQUssQ0FBQyxJQUFDO1lBQ2pFLG9CQUNGO1lBQUEsaUJBQVMsRUFBQTs7O1lBdkNpQyxlQUFXO1lBQVgsK0JBQVc7WUFJbEQsZUFBOEI7WUFBOUIsc0NBQThCLGlFQUFBOzs7dUZER3RCLG1CQUFtQjtjQUovQixTQUFTOzJCQUNFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWpzb24tZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2pzb24tZGlhbG9nLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBKc29uRGlhbG9nQ29tcG9uZW50IHtcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBkYXRhOiBhbnk7XG4gIHB1YmxpYyBpZ25vcmVLZXlzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8SnNvbkRpYWxvZ0NvbXBvbmVudD4pIHt9XG5cbiAgaXNPYmplY3QodmFsKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHZhbCk7XG4gIH1cblxuICBnZXRLZXkoYmFzZUtleSwga2V5KSB7XG4gICAgcmV0dXJuIChiYXNlS2V5ID8gYmFzZUtleSArICcuJyA6ICcnKSArIGtleTtcbiAgfVxufVxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGUgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPnt7IHRpdGxlIH19PC9oMT5cclxuXHJcbjxkaXYgbWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cclxuICA8bmctY29udGFpbmVyXHJcbiAgICAqbmdUZW1wbGF0ZU91dGxldD1cImxvb3BPYmplY3Q7IGNvbnRleHQ6IHsgb2JqOiBkYXRhIH1cIlxyXG4gID48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNsb29wT2JqZWN0IGxldC1vYmo9XCJvYmpcIiBsZXQtYmFzZUtleT1cImJhc2VLZXlcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHByb3BlcnR5IG9mIG9iaiB8IGtleXZhbHVlXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAqbmdJZj1cImlnbm9yZUtleXMuaW5kZXhPZihnZXRLZXkoYmFzZUtleSwgcHJvcGVydHkua2V5KSkgPT09IC0xXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc09iamVjdChwcm9wZXJ0eS52YWx1ZSk7IGVsc2Ugbm90T2JqZWN0XCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgICAgbG9vcE9iamVjdDtcclxuICAgICAgICAgICAgICBjb250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICBvYmo6IHByb3BlcnR5LnZhbHVlLFxyXG4gICAgICAgICAgICAgICAgYmFzZUtleTogZ2V0S2V5KGJhc2VLZXksIHByb3BlcnR5LmtleSlcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90T2JqZWN0PlxyXG4gICAgICAgICAgPHA+XHJcbiAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgPjxiPnt7IGdldEtleShiYXNlS2V5LCBwcm9wZXJ0eS5rZXkpIH19PC9iPiA6IDwvc3BhblxyXG4gICAgICAgICAgICA+PHNwYW4gY2xhc3M9XCJwcm9wZXJ0eVZhbHVlXCIgW2lubmVySHRtbF09XCJwcm9wZXJ0eS52YWx1ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvcD5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJkaWFsb2dSZWYuY2xvc2UoZmFsc2UpXCI+XHJcbiAgICBPS1xyXG4gIDwvYnV0dG9uPlxyXG48L2Rpdj5cclxuIl19
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvanNvbi1kaWFsb2cvanNvbi1kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvanNvbi1kaWFsb2cvanNvbi1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7SUNFdEQsd0JBRWdCOzs7SUFRUix3QkFRZ0I7Ozs7SUFUbEIsNkJBQStEO0lBQzdELGlKQVFnQjtJQUNsQiwwQkFBZTs7Ozs7O0lBUlYsZUFHVDtJQUhTLHNDQUdULHNIQUFBOzs7SUFRTSx5QkFBRyxXQUFBLFFBQUE7SUFFSyxZQUFtQztJQUFBLGlCQUFJO0lBQUMsbUJBQUU7SUFBQSxpQkFDL0M7SUFBQSwyQkFBZ0U7SUFDbkUsaUJBQUk7Ozs7O0lBRkksZUFBbUM7SUFBbkMsaUVBQW1DO0lBQ1osZUFBNEI7SUFBNUIsZ0VBQTRCOzs7SUFuQi9ELDZCQUVDO0lBQ0Msa0lBVWU7SUFFZixpS0FNYztJQUNoQiwwQkFBZTs7Ozs7SUFuQkUsZUFBZ0M7SUFBaEMseURBQWdDLGlCQUFBOzs7SUFKbkQsNkJBQXNEO0lBQ3BELG1IQXNCZTtJQUNqQiwwQkFBZTs7Ozs7SUF0QlYsZUFBOEQ7SUFBOUQsbUdBQThEOzs7SUFGbkUsb0dBd0JlOzs7O0lBeEJvQixzREFBaUI7OztBRER4RCxNQUFNLE9BQU8sbUJBQW1CO0lBS1g7SUFKWixLQUFLLENBQVM7SUFDZCxJQUFJLENBQU07SUFDVixVQUFVLENBQVc7SUFFNUIsWUFBbUIsU0FBNEM7UUFBNUMsY0FBUyxHQUFULFNBQVMsQ0FBbUM7SUFBRyxDQUFDO0lBRW5FLFFBQVEsQ0FBQyxHQUFHO1FBQ1YsT0FBTyxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUc7UUFDakIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzlDLENBQUM7NkVBYlUsbUJBQW1COzZEQUFuQixtQkFBbUI7WUNQaEMsNkJBQTRDO1lBQUEsWUFBVztZQUFBLGlCQUFLO1lBRTVELDhCQUErQztZQUM3QyxzRkFFZ0I7WUFFaEIscUhBMEJjO1lBQ2hCLGlCQUFNO1lBRU4sOEJBQXdCLGdCQUFBO1lBQ2EsZ0dBQVMsb0JBQWdCLEtBQUssQ0FBQyxJQUFDO1lBQ2pFLG9CQUNGO1lBQUEsaUJBQVMsRUFBQTs7O1lBdkNpQyxlQUFXO1lBQVgsK0JBQVc7WUFJbEQsZUFBOEI7WUFBOUIsc0NBQThCLGlFQUFBOzs7dUZER3RCLG1CQUFtQjtjQUovQixTQUFTOzJCQUNFLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaWdvLWpzb24tZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2pzb24tZGlhbG9nLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBKc29uRGlhbG9nQ29tcG9uZW50IHtcbiAgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIHB1YmxpYyBkYXRhOiBhbnk7XG4gIHB1YmxpYyBpZ25vcmVLZXlzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8SnNvbkRpYWxvZ0NvbXBvbmVudD4pIHt9XG5cbiAgaXNPYmplY3QodmFsKSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHZhbCk7XG4gIH1cblxuICBnZXRLZXkoYmFzZUtleSwga2V5KSB7XG4gICAgcmV0dXJuIChiYXNlS2V5ID8gYmFzZUtleSArICcuJyA6ICcnKSArIGtleTtcbiAgfVxufVxuIiwiPGgxIG1hdC1kaWFsb2ctdGl0bGUgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPnt7IHRpdGxlIH19PC9oMT5cblxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtdHlwb2dyYXBoeVwiPlxuICA8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsb29wT2JqZWN0OyBjb250ZXh0OiB7IG9iajogZGF0YSB9XCJcbiAgPjwvbmctY29udGFpbmVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjbG9vcE9iamVjdCBsZXQtb2JqPVwib2JqXCIgbGV0LWJhc2VLZXk9XCJiYXNlS2V5XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2Ygb2JqIHwga2V5dmFsdWVcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nSWY9XCJpZ25vcmVLZXlzLmluZGV4T2YoZ2V0S2V5KGJhc2VLZXksIHByb3BlcnR5LmtleSkpID09PSAtMVwiXG4gICAgICA+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc09iamVjdChwcm9wZXJ0eS52YWx1ZSk7IGVsc2Ugbm90T2JqZWN0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgbG9vcE9iamVjdDtcbiAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgIG9iajogcHJvcGVydHkudmFsdWUsXG4gICAgICAgICAgICAgICAgYmFzZUtleTogZ2V0S2V5KGJhc2VLZXksIHByb3BlcnR5LmtleSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjbm90T2JqZWN0PlxuICAgICAgICAgIDxwPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgPjxiPnt7IGdldEtleShiYXNlS2V5LCBwcm9wZXJ0eS5rZXkpIH19PC9iPiA6IDwvc3BhblxuICAgICAgICAgICAgPjxzcGFuIGNsYXNzPVwicHJvcGVydHlWYWx1ZVwiIFtpbm5lckh0bWxdPVwicHJvcGVydHkudmFsdWVcIj48L3NwYW4+XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cblxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnM+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZGlhbG9nUmVmLmNsb3NlKGZhbHNlKVwiPlxuICAgIE9LXG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { NgModule } from '@angular/core';
2
1
  import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
3
  import { MatButtonModule } from '@angular/material/button';
4
4
  import { MatDialogModule } from '@angular/material/dialog';
5
5
  import { IgoKeyValueModule } from '../keyvalue/keyvalue.module';
@@ -26,4 +26,4 @@ export class IgoJsonDialogModule {
26
26
  }]
27
27
  }], null, null); })();
28
28
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoJsonDialogModule, { declarations: [JsonDialogComponent], imports: [CommonModule, MatButtonModule, MatDialogModule, IgoKeyValueModule], exports: [JsonDialogComponent] }); })();
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1kaWFsb2cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvanNvbi1kaWFsb2cvanNvbi1kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVExRCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxtQkFBbUI7U0FDOUIsQ0FBQztJQUNKLENBQUM7NkVBTFUsbUJBQW1COzREQUFuQixtQkFBbUI7aUVBRm5CLENBQUMsaUJBQWlCLENBQUMsWUFIcEIsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCOzt1RkFLaEUsbUJBQW1CO2NBTi9CLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQztnQkFDNUUsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBQzlCLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNuQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUMvQjs7d0ZBQ1ksbUJBQW1CLG1CQUhmLG1CQUFtQixhQUZ4QixZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsYUFDakUsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgSWdvS2V5VmFsdWVNb2R1bGUgfSBmcm9tICcuLi9rZXl2YWx1ZS9rZXl2YWx1ZS5tb2R1bGUnO1xuXG5pbXBvcnQgeyBKc29uRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9qc29uLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSnNvbkRpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2pzb24tZGlhbG9nLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgSWdvS2V5VmFsdWVNb2R1bGVdLFxuICBleHBvcnRzOiBbSnNvbkRpYWxvZ0NvbXBvbmVudF0sXG4gIGRlY2xhcmF0aW9uczogW0pzb25EaWFsb2dDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtKc29uRGlhbG9nU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgSWdvSnNvbkRpYWxvZ01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvSnNvbkRpYWxvZ01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogSWdvSnNvbkRpYWxvZ01vZHVsZVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1kaWFsb2cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvanNvbi1kaWFsb2cvanNvbi1kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQVExRCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLE1BQU0sQ0FBQyxPQUFPO1FBQ1osT0FBTztZQUNMLFFBQVEsRUFBRSxtQkFBbUI7U0FDOUIsQ0FBQztJQUNKLENBQUM7NkVBTFUsbUJBQW1COzREQUFuQixtQkFBbUI7aUVBRm5CLENBQUMsaUJBQWlCLENBQUMsWUFIcEIsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCOzt1RkFLaEUsbUJBQW1CO2NBTi9CLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQztnQkFDNUUsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBQzlCLFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO2dCQUNuQyxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUMvQjs7d0ZBQ1ksbUJBQW1CLG1CQUhmLG1CQUFtQixhQUZ4QixZQUFZLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsYUFDakUsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcbmltcG9ydCB7IElnb0tleVZhbHVlTW9kdWxlIH0gZnJvbSAnLi4va2V5dmFsdWUva2V5dmFsdWUubW9kdWxlJztcclxuaW1wb3J0IHsgSnNvbkRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vanNvbi1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSnNvbkRpYWxvZ1NlcnZpY2UgfSBmcm9tICcuL2pzb24tZGlhbG9nLnNlcnZpY2UnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgSWdvS2V5VmFsdWVNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtKc29uRGlhbG9nQ29tcG9uZW50XSxcclxuICBkZWNsYXJhdGlvbnM6IFtKc29uRGlhbG9nQ29tcG9uZW50XSxcclxuICBwcm92aWRlcnM6IFtKc29uRGlhbG9nU2VydmljZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIElnb0pzb25EaWFsb2dNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWdvSnNvbkRpYWxvZ01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IElnb0pzb25EaWFsb2dNb2R1bGVcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -21,4 +21,4 @@ export class IgoKeyValueModule {
21
21
  }]
22
22
  }], null, null); })();
23
23
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(IgoKeyValueModule, { declarations: [KeyValuePipe], exports: [KeyValuePipe] }); })();
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5dmFsdWUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIva2V5dmFsdWUva2V5dmFsdWUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFPL0MsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7MkVBTlUsaUJBQWlCOzREQUFqQixpQkFBaUI7Ozt1RkFBakIsaUJBQWlCO2NBTDdCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQzVCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQzthQUN4Qjs7d0ZBQ1ksaUJBQWlCLG1CQUhiLFlBQVksYUFDakIsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBLZXlWYWx1ZVBpcGUgfSBmcm9tICcuL2tleXZhbHVlLnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXSxcbiAgZGVjbGFyYXRpb25zOiBbS2V5VmFsdWVQaXBlXSxcbiAgZXhwb3J0czogW0tleVZhbHVlUGlwZV1cbn0pXG5leHBvcnQgY2xhc3MgSWdvS2V5VmFsdWVNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPElnb0tleVZhbHVlTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBJZ29LZXlWYWx1ZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW11cbiAgICB9O1xuICB9XG59XG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5dmFsdWUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIva2V5dmFsdWUva2V5dmFsdWUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFPL0MsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztJQUNKLENBQUM7MkVBTlUsaUJBQWlCOzREQUFqQixpQkFBaUI7Ozt1RkFBakIsaUJBQWlCO2NBTDdCLFFBQVE7ZUFBQztnQkFDUixPQUFPLEVBQUUsRUFBRTtnQkFDWCxZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUM7Z0JBQzVCLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQzthQUN4Qjs7d0ZBQ1ksaUJBQWlCLG1CQUhiLFlBQVksYUFDakIsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBLZXlWYWx1ZVBpcGUgfSBmcm9tICcuL2tleXZhbHVlLnBpcGUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXSxcclxuICBkZWNsYXJhdGlvbnM6IFtLZXlWYWx1ZVBpcGVdLFxyXG4gIGV4cG9ydHM6IFtLZXlWYWx1ZVBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJZ29LZXlWYWx1ZU1vZHVsZSB7XHJcbiAgc3RhdGljIGZvclJvb3QoKTogTW9kdWxlV2l0aFByb3ZpZGVyczxJZ29LZXlWYWx1ZU1vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IElnb0tleVZhbHVlTW9kdWxlLFxyXG4gICAgICBwcm92aWRlcnM6IFtdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Directive, Input, Output, ElementRef, Renderer2, HostListener, EventEmitter } from '@angular/core';
1
+ import { Directive, ElementRef, EventEmitter, HostListener, Input, Output, Renderer2 } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class ListItemDirective {
4
4
  renderer;
@@ -164,4 +164,4 @@ export class ListItemDirective {
164
164
  type: HostListener,
165
165
  args: ['click']
166
166
  }] }); })();
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2xpc3QvbGlzdC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDOztBQUt2QixNQUFNLE9BQU8saUJBQWlCO0lBb0duQjtJQUNBO0lBcEdULE1BQU0sQ0FBQyxVQUFVLEdBQUcsdUJBQXVCLENBQUM7SUFDNUMsTUFBTSxDQUFDLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQztJQUM5QyxNQUFNLENBQUMsV0FBVyxHQUFHLHdCQUF3QixDQUFDO0lBRTlDLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ08sTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUUzQixJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMzQixPQUFPO1NBQ1I7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBRUQsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLFFBQVEs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UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxHQUFXO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7MkVBN0lVLGlCQUFpQjs2REFBakIsaUJBQWlCO2tHQUFqQixhQUFTOzs7dUZBQVQsaUJBQWlCO2NBSDdCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTthQUMxQjtxRkFPSyxLQUFLO2tCQURSLEtBQUs7WUFVRixPQUFPO2tCQURWLEtBQUs7WUF3QkYsUUFBUTtrQkFEWCxLQUFLO1lBdUJGLFFBQVE7a0JBRFgsS0FBSztZQXNCSSxZQUFZO2tCQUFyQixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUNHLGNBQWM7a0JBQXZCLE1BQU07WUFDRyxhQUFhO2tCQUF0QixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTTtZQUNHLFlBQVk7a0JBQXJCLE1BQU07WUFDRyxLQUFLO2tCQUFkLE1BQU07WUFDRyxPQUFPO2tCQUFoQixNQUFNO1lBQ0csTUFBTTtrQkFBZixNQUFNO1lBQ0csUUFBUTtrQkFBakIsTUFBTTtZQUNHLE9BQU87a0JBQWhCLE1BQU07WUFDRyxNQUFNO2tCQUFmLE1BQU07WUFHUCxPQUFPO2tCQUROLFlBQVk7bUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBFbGVtZW50UmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgRXZlbnRFbWl0dGVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tpZ29MaXN0SXRlbV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0SXRlbURpcmVjdGl2ZSB7XHJcbiAgc3RhdGljIGZvY3VzZWRDbHMgPSAnaWdvLWxpc3QtaXRlbS1mb2N1c2VkJztcclxuICBzdGF0aWMgc2VsZWN0ZWRDbHMgPSAnaWdvLWxpc3QtaXRlbS1zZWxlY3RlZCc7XHJcbiAgc3RhdGljIGRpc2FibGVkQ2xzID0gJ2lnby1saXN0LWl0ZW0tZGlzYWJsZWQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBjb2xvcigpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcclxuICB9XHJcbiAgc2V0IGNvbG9yKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2NvbG9yID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NvbG9yID0gJ3ByaW1hcnknO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBmb2N1c2VkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWQ7XHJcbiAgfVxyXG4gIHNldCBmb2N1c2VkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBpZiAodmFsdWUgPT09IHRoaXMuX2ZvY3VzZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHZhbHVlID8gdGhpcy5iZWZvcmVGb2N1cy5lbWl0KHRoaXMpIDogdGhpcy5iZWZvcmVVbmZvY3VzLmVtaXQodGhpcyk7XHJcblxyXG4gICAgdGhpcy5fZm9jdXNlZCA9IHZhbHVlO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQgIT09IHRydWUpIHtcclxuICAgICAgdGhpcy50b2dnbGVGb2N1c2VkQ2xhc3MoKTtcclxuICAgIH1cclxuXHJcbiAgICB2YWx1ZSA/IHRoaXMuZm9jdXMuZW1pdCh0aGlzKSA6IHRoaXMudW5mb2N1cy5lbWl0KHRoaXMpO1xyXG4gIH1cclxuICBwcml2YXRlIF9mb2N1c2VkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHNlbGVjdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xyXG4gIH1cclxuICBzZXQgc2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fc2VsZWN0ZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHZhbHVlID8gdGhpcy5iZWZvcmVTZWxlY3QuZW1pdCh0aGlzKSA6IHRoaXMuYmVmb3JlVW5zZWxlY3QuZW1pdCh0aGlzKTtcclxuXHJcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5fZm9jdXNlZCA9IHZhbHVlO1xyXG4gICAgdGhpcy50b2dnbGVTZWxlY3RlZENsYXNzKCk7XHJcblxyXG4gICAgdmFsdWUgPyB0aGlzLnNlbGVjdC5lbWl0KHRoaXMpIDogdGhpcy51bnNlbGVjdC5lbWl0KHRoaXMpO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZWxlY3RlZCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBkaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcclxuICB9XHJcbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBpZiAodmFsdWUgPT09IHRoaXMuX2Rpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodmFsdWUgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHZhbHVlID8gdGhpcy5iZWZvcmVEaXNhYmxlLmVtaXQodGhpcykgOiB0aGlzLmJlZm9yZUVuYWJsZS5lbWl0KHRoaXMpO1xyXG5cclxuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XHJcbiAgICB0aGlzLnRvZ2dsZURpc2FibGVkQ2xhc3MoKTtcclxuXHJcbiAgICB2YWx1ZSA/IHRoaXMuZGlzYWJsZS5lbWl0KHRoaXMpIDogdGhpcy5lbmFibGUuZW1pdCh0aGlzKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIGJlZm9yZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW1EaXJlY3RpdmU+KCk7XHJcbiAgQE91dHB1dCgpIGJlZm9yZUZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0SXRlbURpcmVjdGl2ZT4oKTtcclxuICBAT3V0cHV0KCkgYmVmb3JlVW5zZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RJdGVtRGlyZWN0aXZlPigpO1xyXG4gIEBPdXRwdXQoKSBiZWZvcmVVbmZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0SXRlbURpcmVjdGl2ZT4oKTtcclxuICBAT3V0cHV0KCkgYmVmb3JlRGlzYWJsZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW1EaXJlY3RpdmU+KCk7XHJcbiAgQE91dHB1dCgpIGJlZm9yZUVuYWJsZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW1EaXJlY3RpdmU+KCk7XHJcbiAgQE91dHB1dCgpIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0SXRlbURpcmVjdGl2ZT4oKTtcclxuICBAT3V0cHV0KCkgdW5mb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW1EaXJlY3RpdmU+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW1EaXJlY3RpdmU+KCk7XHJcbiAgQE91dHB1dCgpIHVuc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0SXRlbURpcmVjdGl2ZT4oKTtcclxuICBAT3V0cHV0KCkgZGlzYWJsZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW1EaXJlY3RpdmU+KCk7XHJcbiAgQE91dHB1dCgpIGVuYWJsZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW1EaXJlY3RpdmU+KCk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICBvbkNsaWNrKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsOiBFbGVtZW50UmVmXHJcbiAgKSB7fVxyXG5cclxuICBnZXRPZmZzZXRUb3AoKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHBhZGRpbmcgPSA1O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wIC0gcGFkZGluZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdG9nZ2xlRm9jdXNlZENsYXNzKCkge1xyXG4gICAgaWYgKHRoaXMuZm9jdXNlZCkge1xyXG4gICAgICB0aGlzLmFkZENscyhMaXN0SXRlbURpcmVjdGl2ZS5mb2N1c2VkQ2xzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlQ2xzKExpc3RJdGVtRGlyZWN0aXZlLmZvY3VzZWRDbHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b2dnbGVTZWxlY3RlZENsYXNzKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcclxuICAgICAgdGhpcy5hZGRDbHMoTGlzdEl0ZW1EaXJlY3RpdmUuc2VsZWN0ZWRDbHMpO1xyXG4gICAgICB0aGlzLnJlbW92ZUNscyhMaXN0SXRlbURpcmVjdGl2ZS5mb2N1c2VkQ2xzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlQ2xzKExpc3RJdGVtRGlyZWN0aXZlLnNlbGVjdGVkQ2xzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdG9nZ2xlRGlzYWJsZWRDbGFzcygpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuYWRkQ2xzKExpc3RJdGVtRGlyZWN0aXZlLmRpc2FibGVkQ2xzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlQ2xzKExpc3RJdGVtRGlyZWN0aXZlLmRpc2FibGVkQ2xzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkQ2xzKGNsczogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xzKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlQ2xzKGNsczogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xzKTtcclxuICB9XHJcbn1cclxuIl19
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvbGliL2xpc3QvbGlzdC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDOztBQUt2QixNQUFNLE9BQU8saUJBQWlCO0lBb0duQjtJQUNBO0lBcEdULE1BQU0sQ0FBQyxVQUFVLEdBQUcsdUJBQXVCLENBQUM7SUFDNUMsTUFBTSxDQUFDLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQztJQUM5QyxNQUFNLENBQUMsV0FBVyxHQUFHLHdCQUF3QixDQUFDO0lBRTlDLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ08sTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUUzQixJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxLQUFLLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMzQixPQUFPO1NBQ1I7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBRUQsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLFFBQVEs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UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxHQUFXO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7MkVBN0lVLGlCQUFpQjs2REFBakIsaUJBQWlCO2tHQUFqQixhQUFTOzs7dUZBQVQsaUJBQWlCO2NBSDdCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTthQUMxQjtxRkFPSyxLQUFLO2tCQURSLEtBQUs7WUFVRixPQUFPO2tCQURWLEtBQUs7WUF3QkYsUUFBUTtrQkFEWCxLQUFLO1lBdUJGLFFBQVE7a0JBRFgsS0FBSztZQXNCSSxZQUFZO2tCQUFyQixNQUFNO1lBQ0csV0FBVztrQkFBcEIsTUFBTTtZQUNHLGNBQWM7a0JBQXZCLE1BQU07WUFDRyxhQUFhO2tCQUF0QixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTTtZQUNHLFlBQVk7a0JBQXJCLE1BQU07WUFDRyxLQUFLO2tCQUFkLE1BQU07WUFDRyxPQUFPO2tCQUFoQixNQUFNO1lBQ0csTUFBTTtrQkFBZixNQUFNO1lBQ0csUUFBUTtrQkFBakIsTUFBTTtZQUNHLE9BQU87a0JBQWhCLE1BQU07WUFDRyxNQUFNO2tCQUFmLE1BQU07WUFHUCxPQUFPO2tCQUROLFlBQVk7bUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tpZ29MaXN0SXRlbV0nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0SXRlbURpcmVjdGl2ZSB7XHJcbiAgc3RhdGljIGZvY3VzZWRDbHMgPSAnaWdvLWxpc3QtaXRlbS1mb2N1c2VkJztcclxuICBzdGF0aWMgc2VsZWN0ZWRDbHMgPSAnaWdvLWxpc3QtaXRlbS1zZWxlY3RlZCc7XHJcbiAgc3RhdGljIGRpc2FibGVkQ2xzID0gJ2lnby1saXN0LWl0ZW0tZGlzYWJsZWQnO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBjb2xvcigpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcclxuICB9XHJcbiAgc2V0IGNvbG9yKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2NvbG9yID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NvbG9yID0gJ3ByaW1hcnknO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBmb2N1c2VkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWQ7XHJcbiAgfVxyXG4gIHNldCBmb2N1c2VkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBpZiAodmFsdWUgPT09IHRoaXMuX2ZvY3VzZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHZhbHVlID8gdGhpcy5iZWZvcmVGb2N1cy5lbWl0KHRoaXMpIDogdGhpcy5iZWZvcmVVbmZvY3VzLmVtaXQodGhpcyk7XHJcblxyXG4gICAgdGhpcy5fZm9jdXNlZCA9IHZhbHVlO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQgIT09IHRydWUpIHtcclxuICAgICAgdGhpcy50b2dnbGVGb2N1c2VkQ2xhc3MoKTtcclxuICAgIH1cclxuXHJcbiAgICB2YWx1ZSA/IHRoaXMuZm9jdXMuZW1pdCh0aGlzKSA6IHRoaXMudW5mb2N1cy5lbWl0KHRoaXMpO1xyXG4gIH1cclxuICBwcml2YXRlIF9mb2N1c2VkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHNlbGVjdGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkO1xyXG4gIH1cclxuICBzZXQgc2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWx1ZSA9PT0gdGhpcy5fc2VsZWN0ZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHZhbHVlID8gdGhpcy5iZWZvcmVTZWxlY3QuZW1pdCh0aGlzKSA6IHRoaXMuYmVmb3JlVW5zZWxlY3QuZW1pdCh0aGlzKTtcclxuXHJcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHZhbHVlO1xyXG4gICAgdGhpcy5fZm9jdXNlZCA9IHZhbHVlO1xyXG4gICAgdGhpcy50b2dnbGVTZWxlY3RlZENsYXNzKCk7XHJcblxyXG4gICAgdmFsdWUgPyB0aGlzLnNlbGVjdC5lbWl0KHRoaXMpIDogdGhpcy51bnNlbGVjdC5lbWl0KHRoaXMpO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZWxlY3RlZCA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBkaXNhYmxlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcclxuICB9XHJcbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBpZiAodmFsdWUgPT09IHRoaXMuX2Rpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodmFsdWUgPT09IHRydWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHZhbHVlID8gdGhpcy5iZWZvcmVEaXNhYmxlLmVtaXQodGhpcykgOiB0aGlzLmJlZm9yZUVuYWJsZS5lbWl0KHRoaXMpO1xyXG5cclxuICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XHJcbiAgICB0aGlzLnRvZ2dsZURpc2FibGVkQ2xhc3MoKTtcclxuXHJcbiAgICB2YWx1ZSA/IHRoaXMuZGlzYWJsZS5lbWl0KHRoaXMpIDogdGhpcy5lbmFibGUuZW1pdCh0aGlzKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpIGJlZm9yZVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW1EaXJlY3RpdmU+KCk7XHJcbiAgQE91dHB1dCgpIGJlZm9yZUZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0SXRlbURpcmVjdGl2ZT4oKTtcclxuICBAT3V0cHV0KCkgYmVmb3JlVW5zZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPExpc3RJdGVtRGlyZWN0aXZlPigpO1xyXG4gIEBPdXRwdXQoKSBiZWZvcmVVbmZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0SXRlbURpcmVjdGl2ZT4oKTtcclxuICBAT3V0cHV0KCkgYmVmb3JlRGlzYWJsZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW1EaXJlY3RpdmU+KCk7XHJcbiAgQE91dHB1dCgpIGJlZm9yZUVuYWJsZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW1EaXJlY3RpdmU+KCk7XHJcbiAgQE91dHB1dCgpIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0SXRlbURpcmVjdGl2ZT4oKTtcclxuICBAT3V0cHV0KCkgdW5mb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW1EaXJlY3RpdmU+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW1EaXJlY3RpdmU+KCk7XHJcbiAgQE91dHB1dCgpIHVuc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxMaXN0SXRlbURpcmVjdGl2ZT4oKTtcclxuICBAT3V0cHV0KCkgZGlzYWJsZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW1EaXJlY3RpdmU+KCk7XHJcbiAgQE91dHB1dCgpIGVuYWJsZSA9IG5ldyBFdmVudEVtaXR0ZXI8TGlzdEl0ZW1EaXJlY3RpdmU+KCk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcclxuICBvbkNsaWNrKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsOiBFbGVtZW50UmVmXHJcbiAgKSB7fVxyXG5cclxuICBnZXRPZmZzZXRUb3AoKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IHBhZGRpbmcgPSA1O1xyXG5cclxuICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wIC0gcGFkZGluZztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdG9nZ2xlRm9jdXNlZENsYXNzKCkge1xyXG4gICAgaWYgKHRoaXMuZm9jdXNlZCkge1xyXG4gICAgICB0aGlzLmFkZENscyhMaXN0SXRlbURpcmVjdGl2ZS5mb2N1c2VkQ2xzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlQ2xzKExpc3RJdGVtRGlyZWN0aXZlLmZvY3VzZWRDbHMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b2dnbGVTZWxlY3RlZENsYXNzKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHtcclxuICAgICAgdGhpcy5hZGRDbHMoTGlzdEl0ZW1EaXJlY3RpdmUuc2VsZWN0ZWRDbHMpO1xyXG4gICAgICB0aGlzLnJlbW92ZUNscyhMaXN0SXRlbURpcmVjdGl2ZS5mb2N1c2VkQ2xzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlQ2xzKExpc3RJdGVtRGlyZWN0aXZlLnNlbGVjdGVkQ2xzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdG9nZ2xlRGlzYWJsZWRDbGFzcygpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuYWRkQ2xzKExpc3RJdGVtRGlyZWN0aXZlLmRpc2FibGVkQ2xzKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlQ2xzKExpc3RJdGVtRGlyZWN0aXZlLmRpc2FibGVkQ2xzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkQ2xzKGNsczogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xzKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlQ2xzKGNsczogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgY2xzKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,4 +1,4 @@
1
- import { Component, Input, ContentChildren, HostListener, ElementRef } from '@angular/core';
1
+ import { Component, ContentChildren, ElementRef, HostListener, Input } from '@angular/core';
2
2
  import { ListItemDirective } from './list-item.directive';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
@@ -246,11 +246,11 @@ export class ListComponent {
246
246
  i0.ɵɵelementEnd();
247
247
  } if (rf & 2) {
248
248
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c0, ctx.selection));
249
- } }, dependencies: [i1.NgClass, i2.MatList, i3.ClickoutDirective], styles: ["[_nghost-%COMP%]{display:block;height:100%;overflow:auto;position:relative}[_nghost-%COMP%] mat-list[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] .mat-mdc-list .mat-mdc-list-item .mdc-list-item__primary-text>*{white-space:normal;overflow:hidden;text-overflow:ellipsis;line-height:18px}[_nghost-%COMP%] .mat-mdc-list .mat-mdc-list-item.mdc-list-item--with-leading-icon{height:48px}[_nghost-%COMP%] .mat-mdc-list igo-collapsible>.mat-mdc-list-item>.mdc-list-item__primary-text>.mat-mdc-list-item{font-weight:700;opacity:.9}[_nghost-%COMP%] mat-list.selectable[_ngcontent-%COMP%] [igolistitem]:not(.igo-list-item-disabled) mat-list-item:hover{cursor:pointer}[_nghost-%COMP%] [igolistitem]:focus{outline:none}"] });
249
+ } }, dependencies: [i1.NgClass, i2.MatList, i3.ClickoutDirective], styles: ["[_nghost-%COMP%]{display:block;height:100%;overflow:auto;position:relative}[_nghost-%COMP%] mat-list[_ngcontent-%COMP%]{padding-top:0}[_nghost-%COMP%] .mat-mdc-list .mat-mdc-list-item .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:36px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}[_nghost-%COMP%] .mat-mdc-list .mat-mdc-list-item.mdc-list-item--with-leading-icon{height:48px}[_nghost-%COMP%] .mat-mdc-list igo-collapsible>.mat-mdc-list-item>.mdc-list-item__primary-text>.mat-mdc-list-item{font-weight:700;opacity:.9}[_nghost-%COMP%] mat-list.selectable[_ngcontent-%COMP%] [igolistitem]:not(.igo-list-item-disabled) mat-list-item:hover{cursor:pointer}[_nghost-%COMP%] [igolistitem]:focus{outline:none}"] });
250
250
  }
251
251
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListComponent, [{
252
252
  type: Component,
253
- args: [{ selector: 'igo-list', template: "<mat-list\r\n igoClickout\r\n [ngClass]=\"{ selectable: selection }\"\r\n (clickout)=\"disableNavigation()\"\r\n (click)=\"enableNavigation()\"\r\n>\r\n <ng-content></ng-content>\r\n</mat-list>\r\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host mat-list{padding-top:0}:host ::ng-deep .mat-mdc-list .mat-mdc-list-item .mdc-list-item__primary-text>*{white-space:normal;overflow:hidden;text-overflow:ellipsis;line-height:18px}:host ::ng-deep .mat-mdc-list .mat-mdc-list-item.mdc-list-item--with-leading-icon{height:48px}:host ::ng-deep .mat-mdc-list ::ng-deep igo-collapsible>.mat-mdc-list-item>.mdc-list-item__primary-text>.mat-mdc-list-item{font-weight:700;opacity:.9}:host mat-list.selectable ::ng-deep [igolistitem]:not(.igo-list-item-disabled) mat-list-item:hover{cursor:pointer}:host ::ng-deep [igolistitem]:focus{outline:none}\n"] }]
253
+ args: [{ selector: 'igo-list', template: "<mat-list\n igoClickout\n [ngClass]=\"{ selectable: selection }\"\n (clickout)=\"disableNavigation()\"\n (click)=\"enableNavigation()\"\n>\n <ng-content></ng-content>\n</mat-list>\n", styles: [":host{display:block;height:100%;overflow:auto;position:relative}:host mat-list{padding-top:0}:host ::ng-deep .mat-mdc-list .mat-mdc-list-item .mdc-list-item__primary-text{white-space:normal;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;max-height:36px;line-height:18px;-webkit-box-orient:vertical;-webkit-line-clamp:2}:host ::ng-deep .mat-mdc-list .mat-mdc-list-item.mdc-list-item--with-leading-icon{height:48px}:host ::ng-deep .mat-mdc-list ::ng-deep igo-collapsible>.mat-mdc-list-item>.mdc-list-item__primary-text>.mat-mdc-list-item{font-weight:700;opacity:.9}:host mat-list.selectable ::ng-deep [igolistitem]:not(.igo-list-item-disabled) mat-list-item:hover{cursor:pointer}:host ::ng-deep [igolistitem]:focus{outline:none}\n"] }]
254
254
  }], function () { return [{ type: i0.ElementRef }]; }, { navigation: [{
255
255
  type: Input
256
256
  }], selection: [{
@@ -265,4 +265,4 @@ export class ListComponent {
265
265
  type: HostListener,
266
266
  args: ['document:enter', ['$event']]
267
267
  }] }); })();
268
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBSVQsS0FBSyxFQUNMLGVBQWUsRUFDZixZQUFZLEVBQ1osVUFBVSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBTzFELE1BQU0sT0FBTyxhQUFhO0lBMkRKO0lBMURwQixJQUNJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQWM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUNPLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFFM0IsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxLQUFjO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDTyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBRTFCLElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxZQUFZLENBQUMsS0FBd0I7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUNPLGFBQWEsQ0FBb0I7SUFFekMsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJ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O2tCQUZsQixZQUFZO21CQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDOztrQkFDM0MsWUFBWTttQkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgT25Jbml0LFxyXG4gIE9uRGVzdHJveSxcclxuICBJbnB1dCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIEVsZW1lbnRSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHR5cGUgeyBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTGlzdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2xpc3QtaXRlbS5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3QuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBuYXZpZ2F0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb247XHJcbiAgfVxyXG4gIHNldCBuYXZpZ2F0aW9uKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9uYXZpZ2F0aW9uID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX25hdmlnYXRpb24gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBzZWxlY3Rpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uO1xyXG4gIH1cclxuICBzZXQgc2VsZWN0aW9uKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zZWxlY3Rpb24gPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uID0gdHJ1ZTtcclxuXHJcbiAgZ2V0IHNlbGVjdGVkSXRlbSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEl0ZW07XHJcbiAgfVxyXG4gIHNldCBzZWxlY3RlZEl0ZW0odmFsdWU6IExpc3RJdGVtRGlyZWN0aXZlKSB7XHJcbiAgICB0aGlzLmZvY3VzZWRJdGVtID0gdmFsdWU7XHJcbiAgICB0aGlzLl9zZWxlY3RlZEl0ZW0gPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRJdGVtOiBMaXN0SXRlbURpcmVjdGl2ZTtcclxuXHJcbiAgZ2V0IGZvY3VzZWRJdGVtKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWRJdGVtO1xyXG4gIH1cclxuICBzZXQgZm9jdXNlZEl0ZW0odmFsdWU6IExpc3RJdGVtRGlyZWN0aXZlKSB7XHJcbiAgICB0aGlzLl9mb2N1c2VkSXRlbSA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9mb2N1c2VkSXRlbTogTGlzdEl0ZW1EaXJlY3RpdmU7XHJcblxyXG4gIHByaXZhdGUgbmF2aWdhdGlvbkVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBsaXN0SXRlbXMkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihMaXN0SXRlbURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxyXG4gIGxpc3RJdGVtczogUXVlcnlMaXN0PExpc3RJdGVtRGlyZWN0aXZlPjtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6ZW50ZXInLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIC8vIEl0IHdvdWxkIGJlIG5pY2UgdG8gYmUgYWJsZSB0byB1bnN1YnNjcmliZSB0byB0aGUgZXZlbnRcclxuICAgIC8vIGNvbXBsZXRlbHkgYnV0IHVudGlsIEVTNyB0aGlzIHdvbid0IGJlIHBvc3NpYmxlIGJlY2F1c2VcclxuICAgIC8vIGRvY3VtZW50IGV2ZW50cyBhcmUgbm90IG9ic2VydmFibGVzXHJcbiAgICBpZiAodGhpcy5uYXZpZ2F0aW9uRW5hYmxlZCkge1xyXG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZShldmVudC5rZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0KHRoaXMuZm9jdXNlZEl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZW5hYmxlTmF2aWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMubGlzdEl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxpc3RJdGVtcyQkID0gdGhpcy5saXN0SXRlbXMuY2hhbmdlcy5zdWJzY3JpYmUoXHJcbiAgICAgIChpdGVtczogTGlzdEl0ZW1EaXJlY3RpdmVbXSkgPT4gdGhpcy5pbml0KClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMubGlzdEl0ZW1zJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGZvY3VzKGl0ZW0/OiBMaXN0SXRlbURpcmVjdGl2ZSkge1xyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGlvbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51bmZvY3VzKCk7XHJcblxyXG4gICAgLy8gV2UgbmVlZCB0byBtYWtlIHRoaXMgY2hlY2sgYmVjYXVzZSBkeW5hbWljXHJcbiAgICAvLyBsaXN0cyBzdWNoIGFzIGluIHRoZSBzZWFyY2ggcmVzdWx0cyBsaXN0IG1heSBmYWlsXHJcbiAgICBpZiAoaXRlbSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGl0ZW0uZm9jdXNlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bmZvY3VzKCkge1xyXG4gICAgaWYgKHRoaXMuZm9jdXNlZEl0ZW0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmZvY3VzZWRJdGVtLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZvY3VzZWRJdGVtID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNOZXh0KCkge1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmxpc3RJdGVtcy50b0FycmF5KCk7XHJcbiAgICBsZXQgaXRlbTtcclxuICAgIGNvbnN0IGlnb0xpc3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBsZXQgZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgbGV0IGluZGV4ID0gdGhpcy5nZXRGb2N1c2VkSW5kZXgoKTtcclxuICAgIGlmIChpbmRleCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGluZGV4ID0gLTE7XHJcbiAgICB9XHJcblxyXG4gICAgd2hpbGUgKGRpc2FibGVkICYmIGluZGV4IDwgaXRlbXMubGVuZ3RoIC0gMSkge1xyXG4gICAgICBpbmRleCArPSAxO1xyXG4gICAgICBpdGVtID0gaXRlbXNbaW5kZXhdO1xyXG4gICAgICBkaXNhYmxlZCA9IGl0ZW0uZGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGl0ZW0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmZvY3VzKGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghaXRlbXNbaW5kZXggKyAxXSkge1xyXG4gICAgICBpZ29MaXN0LnNjcm9sbFRvcCA9IGlnb0xpc3Quc2Nyb2xsSGVpZ2h0IC0gaWdvTGlzdC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXRlbSAhPT0gdW5kZWZpbmVkICYmICF0aGlzLmlzU2Nyb2xsZWRJbnRvVmlldyhpdGVtLmVsLm5hdGl2ZUVsZW1lbnQpKSB7XHJcbiAgICAgIGlnb0xpc3Quc2Nyb2xsVG9wID1cclxuICAgICAgICBpdGVtLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wICtcclxuICAgICAgICBpdGVtLmVsLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0ub2Zmc2V0SGVpZ2h0IC1cclxuICAgICAgICBpZ29MaXN0LmNsaWVudEhlaWdodDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzUHJldmlvdXMoKSB7XHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMubGlzdEl0ZW1zLnRvQXJyYXkoKTtcclxuICAgIGxldCBpdGVtOiBMaXN0SXRlbURpcmVjdGl2ZTtcclxuICAgIGNvbnN0IGlnb0xpc3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBsZXQgZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgbGV0IGluZGV4ID0gdGhpcy5nZXRGb2N1c2VkSW5kZXgoKTtcclxuXHJcbiAgICB3aGlsZSAoZGlzYWJsZWQgJiYgaW5kZXggPiAwKSB7XHJcbiAgICAgIGluZGV4IC09IDE7XHJcbiAgICAgIGl0ZW0gPSBpdGVtc1tpbmRleF07XHJcbiAgICAgIGRpc2FibGVkID0gaXRlbS5kaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXRlbSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuZm9jdXMoaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFpdGVtc1tpbmRleCAtIDFdKSB7XHJcbiAgICAgIGlnb0xpc3Quc2Nyb2xsVG9wID0gMDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpdGVtICE9PSB1bmRlZmluZWQgJiYgIXRoaXMuaXNTY3JvbGxlZEludG9WaWV3KGl0ZW0uZWwubmF0aXZlRWxlbWVudCkpIHtcclxuICAgICAgY29uc3QgcGFkZGluZyA9IDM7XHJcbiAgICAgIGlnb0xpc3Quc2Nyb2xsVG9wID0gaXRlbS5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcCAtIHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3QoaXRlbT86IExpc3RJdGVtRGlyZWN0aXZlKSB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVuc2VsZWN0KCk7XHJcblxyXG4gICAgaWYgKGl0ZW0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBpdGVtLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVuc2VsZWN0KCkge1xyXG4gICAgdGhpcy51bmZvY3VzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGVuYWJsZU5hdmlnYXRpb24oKSB7XHJcbiAgICBpZiAodGhpcy5uYXZpZ2F0aW9uKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkVuYWJsZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGlzYWJsZU5hdmlnYXRpb24oKSB7XHJcbiAgICB0aGlzLm5hdmlnYXRpb25FbmFibGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxUb0l0ZW0oaXRlbTogTGlzdEl0ZW1EaXJlY3RpdmUpIHtcclxuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSBpdGVtLmdldE9mZnNldFRvcCgpO1xyXG4gIH1cclxuXHJcbiAgaXNTY3JvbGxlZEludG9WaWV3KGVsZW0pIHtcclxuICAgIGNvbnN0IGRvY1ZpZXdUb3AgPVxyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wICsgdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcclxuICAgIGNvbnN0IGRvY1ZpZXdCb3R0b20gPSBkb2NWaWV3VG9wICsgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuXHJcbiAgICBjb25zdCBlbGVtVG9wID0gZWxlbS5vZmZzZXRUb3A7XHJcbiAgICBjb25zdCBlbGVtQm90dG9tID0gZWxlbVRvcCArIGVsZW0uY2hpbGRyZW5bMF0ub2Zmc2V0SGVpZ2h0O1xyXG4gICAgcmV0dXJuIGVsZW1Cb3R0b20gPD0gZG9jVmlld0JvdHRvbSAmJiBlbGVtVG9wID49IGRvY1ZpZXdUb3A7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXQoKSB7XHJcbiAgICB0aGlzLnN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5maW5kU2VsZWN0ZWRJdGVtKCk7XHJcbiAgICB0aGlzLmZvY3VzZWRJdGVtID0gdGhpcy5maW5kRm9jdXNlZEl0ZW0oKTtcclxuXHJcbiAgICB0aGlzLmVuYWJsZU5hdmlnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlKCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMubGlzdEl0ZW1zLnRvQXJyYXkoKS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIGl0ZW0uYmVmb3JlU2VsZWN0LnN1YnNjcmliZSgoaXRlbTI6IExpc3RJdGVtRGlyZWN0aXZlKSA9PlxyXG4gICAgICAgICAgdGhpcy5oYW5kbGVJdGVtQmVmb3JlU2VsZWN0KGl0ZW0yKVxyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIGl0ZW0uc2VsZWN0LnN1YnNjcmliZSgoaXRlbTI6IExpc3RJdGVtRGlyZWN0aXZlKSA9PlxyXG4gICAgICAgICAgdGhpcy5oYW5kbGVJdGVtU2VsZWN0KGl0ZW0yKVxyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIGl0ZW0uYmVmb3JlRm9jdXMuc3Vic2NyaWJlKChpdGVtMjogTGlzdEl0ZW1EaXJlY3RpdmUpID0+XHJcbiAgICAgICAgICB0aGlzLmhhbmRsZUl0ZW1CZWZvcmVGb2N1cyhpdGVtMilcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICBpdGVtLmZvY3VzLnN1YnNjcmliZSgoaXRlbTI6IExpc3RJdGVtRGlyZWN0aXZlKSA9PlxyXG4gICAgICAgICAgdGhpcy5oYW5kbGVJdGVtRm9jdXMoaXRlbTIpXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfSwgdGhpcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVuc3Vic2NyaWJlKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YjogU3Vic2NyaXB0aW9uKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlSXRlbUJlZm9yZUZvY3VzKGl0ZW06IExpc3RJdGVtRGlyZWN0aXZlKSB7XHJcbiAgICBpZiAoaXRlbSAhPT0gdGhpcy5mb2N1c2VkSXRlbSkge1xyXG4gICAgICB0aGlzLnVuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlSXRlbUZvY3VzKGl0ZW06IExpc3RJdGVtRGlyZWN0aXZlKSB7XHJcbiAgICB0aGlzLmZvY3VzZWRJdGVtID0gaXRlbTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlSXRlbUJlZm9yZVNlbGVjdChpdGVtOiBMaXN0SXRlbURpcmVjdGl2ZSkge1xyXG4gICAgaWYgKGl0ZW0gIT09IHRoaXMuZm9jdXNlZEl0ZW0pIHtcclxuICAgICAgdGhpcy51bnNlbGVjdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVJdGVtU2VsZWN0KGl0ZW06IExpc3RJdGVtRGlyZWN0aXZlKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGl0ZW07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRTZWxlY3RlZEl0ZW0oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5saXN0SXRlbXMudG9BcnJheSgpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uc2VsZWN0ZWQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kRm9jdXNlZEl0ZW0oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5saXN0SXRlbXMudG9BcnJheSgpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uZm9jdXNlZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZvY3VzZWRJbmRleCgpIHtcclxuICAgIHJldHVybiB0aGlzLmxpc3RJdGVtc1xyXG4gICAgICAudG9BcnJheSgpXHJcbiAgICAgIC5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0gPT09IHRoaXMuZm9jdXNlZEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBuYXZpZ2F0ZShrZXk6IHN0cmluZykge1xyXG4gICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgY2FzZSAnQXJyb3dVcCc6XHJcbiAgICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XHJcbiAgICAgICAgdGhpcy5mb2N1c05leHQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG1hdC1saXN0XHJcbiAgaWdvQ2xpY2tvdXRcclxuICBbbmdDbGFzc109XCJ7IHNlbGVjdGFibGU6IHNlbGVjdGlvbiB9XCJcclxuICAoY2xpY2tvdXQpPVwiZGlzYWJsZU5hdmlnYXRpb24oKVwiXHJcbiAgKGNsaWNrKT1cImVuYWJsZU5hdmlnYXRpb24oKVwiXHJcbj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbWF0LWxpc3Q+XHJcbiJdfQ==
268
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21tb24vc3JjL2xpYi9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tbW9uL3NyYy9saWIvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUdOLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7O0FBTzFELE1BQU0sT0FBTyxhQUFhO0lBMkRKO0lBMURwQixJQUNJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksVUFBVSxDQUFDLEtBQWM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUNPLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFFM0IsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxLQUFjO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDTyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBRTFCLElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxZQUFZLENBQUMsS0FBd0I7UUFDdkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUNPLGFBQWEsQ0FBb0I7SUFFekMsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJ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O2tCQUZsQixZQUFZO21CQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDOztrQkFDM0MsWUFBWTttQkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkcmVuLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHR5cGUgeyBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgTGlzdEl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL2xpc3QtaXRlbS5kaXJlY3RpdmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZ28tbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3QuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKVxyXG4gIGdldCBuYXZpZ2F0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb247XHJcbiAgfVxyXG4gIHNldCBuYXZpZ2F0aW9uKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9uYXZpZ2F0aW9uID0gdmFsdWU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX25hdmlnYXRpb24gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBzZWxlY3Rpb24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0aW9uO1xyXG4gIH1cclxuICBzZXQgc2VsZWN0aW9uKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9zZWxlY3Rpb24gPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2VsZWN0aW9uID0gdHJ1ZTtcclxuXHJcbiAgZ2V0IHNlbGVjdGVkSXRlbSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEl0ZW07XHJcbiAgfVxyXG4gIHNldCBzZWxlY3RlZEl0ZW0odmFsdWU6IExpc3RJdGVtRGlyZWN0aXZlKSB7XHJcbiAgICB0aGlzLmZvY3VzZWRJdGVtID0gdmFsdWU7XHJcbiAgICB0aGlzLl9zZWxlY3RlZEl0ZW0gPSB2YWx1ZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2VsZWN0ZWRJdGVtOiBMaXN0SXRlbURpcmVjdGl2ZTtcclxuXHJcbiAgZ2V0IGZvY3VzZWRJdGVtKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWRJdGVtO1xyXG4gIH1cclxuICBzZXQgZm9jdXNlZEl0ZW0odmFsdWU6IExpc3RJdGVtRGlyZWN0aXZlKSB7XHJcbiAgICB0aGlzLl9mb2N1c2VkSXRlbSA9IHZhbHVlO1xyXG4gIH1cclxuICBwcml2YXRlIF9mb2N1c2VkSXRlbTogTGlzdEl0ZW1EaXJlY3RpdmU7XHJcblxyXG4gIHByaXZhdGUgbmF2aWdhdGlvbkVuYWJsZWQ6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBsaXN0SXRlbXMkJDogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZHJlbihMaXN0SXRlbURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxyXG4gIGxpc3RJdGVtczogUXVlcnlMaXN0PExpc3RJdGVtRGlyZWN0aXZlPjtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6ZW50ZXInLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIC8vIEl0IHdvdWxkIGJlIG5pY2UgdG8gYmUgYWJsZSB0byB1bnN1YnNjcmliZSB0byB0aGUgZXZlbnRcclxuICAgIC8vIGNvbXBsZXRlbHkgYnV0IHVudGlsIEVTNyB0aGlzIHdvbid0IGJlIHBvc3NpYmxlIGJlY2F1c2VcclxuICAgIC8vIGRvY3VtZW50IGV2ZW50cyBhcmUgbm90IG9ic2VydmFibGVzXHJcbiAgICBpZiAodGhpcy5uYXZpZ2F0aW9uRW5hYmxlZCkge1xyXG4gICAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJykge1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZShldmVudC5rZXkpO1xyXG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0KHRoaXMuZm9jdXNlZEl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZW5hYmxlTmF2aWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMubGlzdEl0ZW1zLmxlbmd0aCkge1xyXG4gICAgICB0aGlzLmluaXQoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxpc3RJdGVtcyQkID0gdGhpcy5saXN0SXRlbXMuY2hhbmdlcy5zdWJzY3JpYmUoXHJcbiAgICAgIChpdGVtczogTGlzdEl0ZW1EaXJlY3RpdmVbXSkgPT4gdGhpcy5pbml0KClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMubGlzdEl0ZW1zJCQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGZvY3VzKGl0ZW0/OiBMaXN0SXRlbURpcmVjdGl2ZSkge1xyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGlvbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51bmZvY3VzKCk7XHJcblxyXG4gICAgLy8gV2UgbmVlZCB0byBtYWtlIHRoaXMgY2hlY2sgYmVjYXVzZSBkeW5hbWljXHJcbiAgICAvLyBsaXN0cyBzdWNoIGFzIGluIHRoZSBzZWFyY2ggcmVzdWx0cyBsaXN0IG1heSBmYWlsXHJcbiAgICBpZiAoaXRlbSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGl0ZW0uZm9jdXNlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bmZvY3VzKCkge1xyXG4gICAgaWYgKHRoaXMuZm9jdXNlZEl0ZW0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmZvY3VzZWRJdGVtLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZvY3VzZWRJdGVtID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgZm9jdXNOZXh0KCkge1xyXG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmxpc3RJdGVtcy50b0FycmF5KCk7XHJcbiAgICBsZXQgaXRlbTtcclxuICAgIGNvbnN0IGlnb0xpc3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBsZXQgZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgbGV0IGluZGV4ID0gdGhpcy5nZXRGb2N1c2VkSW5kZXgoKTtcclxuICAgIGlmIChpbmRleCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGluZGV4ID0gLTE7XHJcbiAgICB9XHJcblxyXG4gICAgd2hpbGUgKGRpc2FibGVkICYmIGluZGV4IDwgaXRlbXMubGVuZ3RoIC0gMSkge1xyXG4gICAgICBpbmRleCArPSAxO1xyXG4gICAgICBpdGVtID0gaXRlbXNbaW5kZXhdO1xyXG4gICAgICBkaXNhYmxlZCA9IGl0ZW0uZGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGl0ZW0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmZvY3VzKGl0ZW0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghaXRlbXNbaW5kZXggKyAxXSkge1xyXG4gICAgICBpZ29MaXN0LnNjcm9sbFRvcCA9IGlnb0xpc3Quc2Nyb2xsSGVpZ2h0IC0gaWdvTGlzdC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXRlbSAhPT0gdW5kZWZpbmVkICYmICF0aGlzLmlzU2Nyb2xsZWRJbnRvVmlldyhpdGVtLmVsLm5hdGl2ZUVsZW1lbnQpKSB7XHJcbiAgICAgIGlnb0xpc3Quc2Nyb2xsVG9wID1cclxuICAgICAgICBpdGVtLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wICtcclxuICAgICAgICBpdGVtLmVsLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF0ub2Zmc2V0SGVpZ2h0IC1cclxuICAgICAgICBpZ29MaXN0LmNsaWVudEhlaWdodDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvY3VzUHJldmlvdXMoKSB7XHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMubGlzdEl0ZW1zLnRvQXJyYXkoKTtcclxuICAgIGxldCBpdGVtOiBMaXN0SXRlbURpcmVjdGl2ZTtcclxuICAgIGNvbnN0IGlnb0xpc3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICBsZXQgZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgbGV0IGluZGV4ID0gdGhpcy5nZXRGb2N1c2VkSW5kZXgoKTtcclxuXHJcbiAgICB3aGlsZSAoZGlzYWJsZWQgJiYgaW5kZXggPiAwKSB7XHJcbiAgICAgIGluZGV4IC09IDE7XHJcbiAgICAgIGl0ZW0gPSBpdGVtc1tpbmRleF07XHJcbiAgICAgIGRpc2FibGVkID0gaXRlbS5kaXNhYmxlZDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaXRlbSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuZm9jdXMoaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFpdGVtc1tpbmRleCAtIDFdKSB7XHJcbiAgICAgIGlnb0xpc3Quc2Nyb2xsVG9wID0gMDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpdGVtICE9PSB1bmRlZmluZWQgJiYgIXRoaXMuaXNTY3JvbGxlZEludG9WaWV3KGl0ZW0uZWwubmF0aXZlRWxlbWVudCkpIHtcclxuICAgICAgY29uc3QgcGFkZGluZyA9IDM7XHJcbiAgICAgIGlnb0xpc3Quc2Nyb2xsVG9wID0gaXRlbS5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcCAtIHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3QoaXRlbT86IExpc3RJdGVtRGlyZWN0aXZlKSB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVuc2VsZWN0KCk7XHJcblxyXG4gICAgaWYgKGl0ZW0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBpdGVtLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVuc2VsZWN0KCkge1xyXG4gICAgdGhpcy51bmZvY3VzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGVuYWJsZU5hdmlnYXRpb24oKSB7XHJcbiAgICBpZiAodGhpcy5uYXZpZ2F0aW9uKSB7XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbkVuYWJsZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGlzYWJsZU5hdmlnYXRpb24oKSB7XHJcbiAgICB0aGlzLm5hdmlnYXRpb25FbmFibGVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxUb0l0ZW0oaXRlbTogTGlzdEl0ZW1EaXJlY3RpdmUpIHtcclxuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zY3JvbGxUb3AgPSBpdGVtLmdldE9mZnNldFRvcCgpO1xyXG4gIH1cclxuXHJcbiAgaXNTY3JvbGxlZEludG9WaWV3KGVsZW0pIHtcclxuICAgIGNvbnN0IGRvY1ZpZXdUb3AgPVxyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wICsgdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcclxuICAgIGNvbnN0IGRvY1ZpZXdCb3R0b20gPSBkb2NWaWV3VG9wICsgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuXHJcbiAgICBjb25zdCBlbGVtVG9wID0gZWxlbS5vZmZzZXRUb3A7XHJcbiAgICBjb25zdCBlbGVtQm90dG9tID0gZWxlbVRvcCArIGVsZW0uY2hpbGRyZW5bMF0ub2Zmc2V0SGVpZ2h0O1xyXG4gICAgcmV0dXJuIGVsZW1Cb3R0b20gPD0gZG9jVmlld0JvdHRvbSAmJiBlbGVtVG9wID49IGRvY1ZpZXdUb3A7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXQoKSB7XHJcbiAgICB0aGlzLnN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdGhpcy5maW5kU2VsZWN0ZWRJdGVtKCk7XHJcbiAgICB0aGlzLmZvY3VzZWRJdGVtID0gdGhpcy5maW5kRm9jdXNlZEl0ZW0oKTtcclxuXHJcbiAgICB0aGlzLmVuYWJsZU5hdmlnYXRpb24oKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlKCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZSgpO1xyXG5cclxuICAgIHRoaXMubGlzdEl0ZW1zLnRvQXJyYXkoKS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIGl0ZW0uYmVmb3JlU2VsZWN0LnN1YnNjcmliZSgoaXRlbTI6IExpc3RJdGVtRGlyZWN0aXZlKSA9PlxyXG4gICAgICAgICAgdGhpcy5oYW5kbGVJdGVtQmVmb3JlU2VsZWN0KGl0ZW0yKVxyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIGl0ZW0uc2VsZWN0LnN1YnNjcmliZSgoaXRlbTI6IExpc3RJdGVtRGlyZWN0aXZlKSA9PlxyXG4gICAgICAgICAgdGhpcy5oYW5kbGVJdGVtU2VsZWN0KGl0ZW0yKVxyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG4gICAgICAgIGl0ZW0uYmVmb3JlRm9jdXMuc3Vic2NyaWJlKChpdGVtMjogTGlzdEl0ZW1EaXJlY3RpdmUpID0+XHJcbiAgICAgICAgICB0aGlzLmhhbmRsZUl0ZW1CZWZvcmVGb2N1cyhpdGVtMilcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuICAgICAgICBpdGVtLmZvY3VzLnN1YnNjcmliZSgoaXRlbTI6IExpc3RJdGVtRGlyZWN0aXZlKSA9PlxyXG4gICAgICAgICAgdGhpcy5oYW5kbGVJdGVtRm9jdXMoaXRlbTIpXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfSwgdGhpcyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVuc3Vic2NyaWJlKCkge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YjogU3Vic2NyaXB0aW9uKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMgPSBbXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlSXRlbUJlZm9yZUZvY3VzKGl0ZW06IExpc3RJdGVtRGlyZWN0aXZlKSB7XHJcbiAgICBpZiAoaXRlbSAhPT0gdGhpcy5mb2N1c2VkSXRlbSkge1xyXG4gICAgICB0aGlzLnVuZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlSXRlbUZvY3VzKGl0ZW06IExpc3RJdGVtRGlyZWN0aXZlKSB7XHJcbiAgICB0aGlzLmZvY3VzZWRJdGVtID0gaXRlbTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlSXRlbUJlZm9yZVNlbGVjdChpdGVtOiBMaXN0SXRlbURpcmVjdGl2ZSkge1xyXG4gICAgaWYgKGl0ZW0gIT09IHRoaXMuZm9jdXNlZEl0ZW0pIHtcclxuICAgICAgdGhpcy51bnNlbGVjdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoYW5kbGVJdGVtU2VsZWN0KGl0ZW06IExpc3RJdGVtRGlyZWN0aXZlKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGl0ZW07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRTZWxlY3RlZEl0ZW0oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5saXN0SXRlbXMudG9BcnJheSgpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uc2VsZWN0ZWQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kRm9jdXNlZEl0ZW0oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5saXN0SXRlbXMudG9BcnJheSgpLmZpbmQoKGl0ZW0pID0+IGl0ZW0uZm9jdXNlZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZvY3VzZWRJbmRleCgpIHtcclxuICAgIHJldHVybiB0aGlzLmxpc3RJdGVtc1xyXG4gICAgICAudG9BcnJheSgpXHJcbiAgICAgIC5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0gPT09IHRoaXMuZm9jdXNlZEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBuYXZpZ2F0ZShrZXk6IHN0cmluZykge1xyXG4gICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgY2FzZSAnQXJyb3dVcCc6XHJcbiAgICAgICAgdGhpcy5mb2N1c1ByZXZpb3VzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ0Fycm93RG93bic6XHJcbiAgICAgICAgdGhpcy5mb2N1c05leHQoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG1hdC1saXN0XG4gIGlnb0NsaWNrb3V0XG4gIFtuZ0NsYXNzXT1cInsgc2VsZWN0YWJsZTogc2VsZWN0aW9uIH1cIlxuICAoY2xpY2tvdXQpPVwiZGlzYWJsZU5hdmlnYXRpb24oKVwiXG4gIChjbGljayk9XCJlbmFibGVOYXZpZ2F0aW9uKClcIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L21hdC1saXN0PlxuIl19