@cuby-ui/core 0.0.387 → 0.0.388

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 (261) hide show
  1. package/README.md +2 -1
  2. package/components/tabs/tabs.options.d.ts +2 -2
  3. package/components/tabs/tabs.provider.d.ts +2 -2
  4. package/editor/config/custom-elements.d.ts +1 -1
  5. package/editor/interfaces/editor-service.d.ts +1 -1
  6. package/editor/providers/editor-provider.options.d.ts +1 -1
  7. package/editor/providers/editor.provider.d.ts +1 -1
  8. package/editor/services/editor-base.service.d.ts +2 -2
  9. package/editor/services/editor-tools.service.d.ts +1 -1
  10. package/editor/utils/create-tools-data.d.ts +1 -1
  11. package/editor/widgets/editor-readonly/editor-readonly.options.d.ts +1 -1
  12. package/esm2022/animations/animations.mjs +77 -121
  13. package/esm2022/animations/index.mjs +1 -1
  14. package/esm2022/classes/accessors.mjs +2 -2
  15. package/esm2022/classes/driver.mjs +2 -2
  16. package/esm2022/classes/index.mjs +1 -1
  17. package/esm2022/classes/vehicle.mjs +1 -1
  18. package/esm2022/components/accordion/accordion-item/accordion-item.component.mjs +3 -3
  19. package/esm2022/components/accordion/accordion.component.mjs +1 -1
  20. package/esm2022/components/accordion/accordion.directive.mjs +1 -1
  21. package/esm2022/components/accordion/accordion.module.mjs +6 -22
  22. package/esm2022/components/accordion/index.mjs +1 -1
  23. package/esm2022/components/alert/alert.component.mjs +3 -3
  24. package/esm2022/components/alert/alert.interfaces.mjs +1 -1
  25. package/esm2022/components/alert/alert.module.mjs +6 -25
  26. package/esm2022/components/alert/alert.service.mjs +1 -1
  27. package/esm2022/components/alert/alert.tokens.mjs +1 -1
  28. package/esm2022/components/alert/alert.types.mjs +1 -1
  29. package/esm2022/components/alert/alerts.component.mjs +5 -7
  30. package/esm2022/components/badge/badge.component.mjs +3 -3
  31. package/esm2022/components/badge/badge.module.mjs +1 -1
  32. package/esm2022/components/banner/banner.component.mjs +4 -4
  33. package/esm2022/components/banner/banner.module.mjs +4 -14
  34. package/esm2022/components/banner/banner.options.mjs +1 -1
  35. package/esm2022/components/breadcrumbs/breadcrumb/breadcrumb.component.mjs +1 -1
  36. package/esm2022/components/breadcrumbs/breadcrumbs.component.mjs +3 -3
  37. package/esm2022/components/breadcrumbs/breadcrumbs.module.mjs +6 -19
  38. package/esm2022/components/breadcrumbs/index.mjs +1 -1
  39. package/esm2022/components/button/button.component.mjs +3 -3
  40. package/esm2022/components/button/button.module.mjs +4 -9
  41. package/esm2022/components/button/button.options.mjs +1 -1
  42. package/esm2022/components/button/index.mjs +1 -1
  43. package/esm2022/components/button-group/button-group.component.mjs +1 -1
  44. package/esm2022/components/button-group/button-group.module.mjs +1 -1
  45. package/esm2022/components/card-wrapper/card-wrapper.component.mjs +1 -1
  46. package/esm2022/components/checkbox/checkbox.component.mjs +1 -1
  47. package/esm2022/components/checkbox/checkbox.module.mjs +1 -1
  48. package/esm2022/components/checkbox/index.mjs +1 -1
  49. package/esm2022/components/context-menu/context-menu.component.mjs +6 -11
  50. package/esm2022/components/context-menu/context-menu.module.mjs +4 -9
  51. package/esm2022/components/dialog/dialog-actions/dialog-actions.component.mjs +3 -3
  52. package/esm2022/components/dialog/dialog-header/dialog-header.component.mjs +3 -3
  53. package/esm2022/components/dialog/dialog.component.mjs +5 -5
  54. package/esm2022/components/dialog/dialog.interfaces.mjs +1 -1
  55. package/esm2022/components/dialog/dialog.module.mjs +6 -31
  56. package/esm2022/components/dialog/dialog.service.mjs +1 -1
  57. package/esm2022/components/dialog/dialog.tokens.mjs +1 -1
  58. package/esm2022/components/dialog/dialogs.component.mjs +6 -8
  59. package/esm2022/components/dropdown/dropdown-wrapper.component.mjs +3 -3
  60. package/esm2022/components/dropdown/dropdown.directive.mjs +2 -2
  61. package/esm2022/components/empty-state/empty-state.component.mjs +1 -1
  62. package/esm2022/components/form-field/form-field.component.mjs +1 -1
  63. package/esm2022/components/form-field/form-field.module.mjs +1 -1
  64. package/esm2022/components/hint/hint.component.mjs +1 -1
  65. package/esm2022/components/hint/hint.module.mjs +1 -1
  66. package/esm2022/components/icon-button/icon-button.component.mjs +3 -3
  67. package/esm2022/components/icon-button/icon-button.module.mjs +4 -9
  68. package/esm2022/components/icon-button/index.mjs +1 -1
  69. package/esm2022/components/input-number/input-number.component.mjs +3 -9
  70. package/esm2022/components/input-number/input-number.module.mjs +5 -19
  71. package/esm2022/components/input-password/input-password.component.mjs +3 -9
  72. package/esm2022/components/input-password/input-password.module.mjs +5 -17
  73. package/esm2022/components/input-text/input-text.component.mjs +3 -9
  74. package/esm2022/components/input-text/input-text.module.mjs +5 -17
  75. package/esm2022/components/input-time/index.mjs +1 -1
  76. package/esm2022/components/input-time/input-time.component.mjs +3 -9
  77. package/esm2022/components/input-time/input-time.module.mjs +5 -19
  78. package/esm2022/components/input-time/input-time.options.mjs +1 -1
  79. package/esm2022/components/label/label.component.mjs +3 -3
  80. package/esm2022/components/label/label.module.mjs +1 -1
  81. package/esm2022/components/layout/layout.component.mjs +1 -1
  82. package/esm2022/components/notification/notification.component.mjs +3 -3
  83. package/esm2022/components/notification/notification.module.mjs +4 -9
  84. package/esm2022/components/notification/notification.options.mjs +4 -4
  85. package/esm2022/components/radio/radio.component.mjs +1 -1
  86. package/esm2022/components/radio/radio.module.mjs +1 -1
  87. package/esm2022/components/root/root.component.mjs +4 -5
  88. package/esm2022/components/root/root.module.mjs +4 -14
  89. package/esm2022/components/root/root.options.mjs +1 -1
  90. package/esm2022/components/select/select.component.mjs +12 -13
  91. package/esm2022/components/select/select.module.mjs +5 -16
  92. package/esm2022/components/sidebar/index.mjs +1 -1
  93. package/esm2022/components/sidebar/sidebar-header/sidebar-header.component.mjs +3 -3
  94. package/esm2022/components/sidebar/sidebar-navigation/sidebar-navigation.component.mjs +3 -3
  95. package/esm2022/components/sidebar/sidebar-navigation-container/sidebar-navigation-container.component.mjs +1 -1
  96. package/esm2022/components/sidebar/sidebar-navigation-item/sidebar-navigation-item.component.mjs +3 -3
  97. package/esm2022/components/sidebar/sidebar.options.mjs +1 -1
  98. package/esm2022/components/svg/svg.component.mjs +4 -6
  99. package/esm2022/components/svg/svg.module.mjs +1 -1
  100. package/esm2022/components/tab/tab.component.mjs +2 -2
  101. package/esm2022/components/tabs/services/tabs.service.mjs +1 -1
  102. package/esm2022/components/tabs/tabs.options.mjs +1 -1
  103. package/esm2022/components/tabs/tabs.provider.mjs +5 -5
  104. package/esm2022/components/textarea/textarea.component.mjs +1 -1
  105. package/esm2022/components/textarea/textarea.module.mjs +1 -1
  106. package/esm2022/components/toggle/index.mjs +1 -1
  107. package/esm2022/components/toggle/toggle.component.mjs +1 -1
  108. package/esm2022/components/toggle/toggle.module.mjs +1 -1
  109. package/esm2022/directives/text-field-controller/text-field-controller.module.mjs +1 -1
  110. package/esm2022/directives/text-field-controller/text-field-controller.provider.mjs +1 -1
  111. package/esm2022/directives/text-field-controller/text-field-icon-left.directive.mjs +1 -1
  112. package/esm2022/directives/text-field-controller/text-field-id.directive.mjs +1 -1
  113. package/esm2022/directives/text-field-controller/text-field-is-error.directive.mjs +1 -1
  114. package/esm2022/directives/text-field-controller/text-field-placeholder.directive.mjs +1 -1
  115. package/esm2022/directives/text-field-controller/text-field-size.directive.mjs +1 -1
  116. package/esm2022/directives/text-field-controller/text-field.controller.mjs +1 -1
  117. package/esm2022/directives/tooltip/tooltip-describe.directive.mjs +4 -4
  118. package/esm2022/directives/tooltip/tooltip-driver.directive.mjs +2 -2
  119. package/esm2022/directives/tooltip/tooltip-host.directive.mjs +2 -2
  120. package/esm2022/directives/tooltip/tooltip-hover.directive.mjs +6 -9
  121. package/esm2022/directives/tooltip/tooltip-manual.directive.mjs +2 -2
  122. package/esm2022/directives/tooltip/tooltip-options.directive.mjs +6 -6
  123. package/esm2022/directives/tooltip/tooltip-overflow.directive.mjs +5 -5
  124. package/esm2022/directives/tooltip/tooltip-pointer.directive.mjs +3 -3
  125. package/esm2022/directives/tooltip/tooltip-position.directive.mjs +6 -14
  126. package/esm2022/directives/tooltip/tooltip-unstyled.component.mjs +5 -5
  127. package/esm2022/directives/tooltip/tooltip.component.mjs +21 -25
  128. package/esm2022/directives/tooltip/tooltip.directive.mjs +9 -9
  129. package/esm2022/directives/tooltip/tooltip.mjs +2 -2
  130. package/esm2022/directives/tooltip/tooltip.providers.mjs +1 -1
  131. package/esm2022/directives/tooltip/tooltip.service.mjs +2 -2
  132. package/esm2022/directives/tooltip/tooltips.component.mjs +5 -5
  133. package/esm2022/editor/components/editor-attaches-tool/editor-attaches-tool.component.mjs +3 -3
  134. package/esm2022/editor/components/editor-image-tool/editor-image-tool.component.mjs +3 -3
  135. package/esm2022/editor/components/editor-image-tool/editor-image-tool.options.mjs +1 -1
  136. package/esm2022/editor/components/editor-tool-modal/editor-tool-modal.options.mjs +1 -1
  137. package/esm2022/editor/components/editor-tooltip/editor-tooltip.component.mjs +3 -3
  138. package/esm2022/editor/components/editor-video-tool/editor-video-tool.component.mjs +3 -3
  139. package/esm2022/editor/components/editor-video-tool/editor-video-tool.options.mjs +1 -1
  140. package/esm2022/editor/components/index.mjs +1 -1
  141. package/esm2022/editor/components/marker-modal/marker-modal.component.mjs +3 -3
  142. package/esm2022/editor/components/marker-modal/marker-modal.interfaces.mjs +1 -1
  143. package/esm2022/editor/components/marker-select/component/select-item/select-option.component.mjs +3 -3
  144. package/esm2022/editor/components/marker-select/marker-select.component.mjs +3 -3
  145. package/esm2022/editor/config/custom-elements.mjs +2 -2
  146. package/esm2022/editor/config/editor.provider.mjs +3 -3
  147. package/esm2022/editor/constants/editor.constants.mjs +2 -2
  148. package/esm2022/editor/editor.component.mjs +2 -2
  149. package/esm2022/editor/index.mjs +1 -1
  150. package/esm2022/editor/interfaces/blocks-request-data.mjs +1 -1
  151. package/esm2022/editor/interfaces/combined-block-adding-event.mjs +1 -1
  152. package/esm2022/editor/interfaces/combined-block-data.mjs +1 -1
  153. package/esm2022/editor/interfaces/combined-part-block-data.mjs +1 -1
  154. package/esm2022/editor/interfaces/editor-service.mjs +1 -1
  155. package/esm2022/editor/interfaces/file-response-data.mjs +1 -1
  156. package/esm2022/editor/interfaces/full-block-data.mjs +1 -1
  157. package/esm2022/editor/interfaces/index.mjs +1 -1
  158. package/esm2022/editor/interfaces/main-editor-config.mjs +1 -1
  159. package/esm2022/editor/interfaces/mutation-actions.mjs +1 -1
  160. package/esm2022/editor/interfaces/parent.mjs +1 -1
  161. package/esm2022/editor/interfaces/tune.mjs +1 -1
  162. package/esm2022/editor/providers/editor-provider.options.mjs +2 -2
  163. package/esm2022/editor/providers/editor.provider.mjs +2 -2
  164. package/esm2022/editor/services/editor-base.service.mjs +5 -5
  165. package/esm2022/editor/services/editor-tools.service.mjs +2 -2
  166. package/esm2022/editor/services/editor.service.mjs +1 -1
  167. package/esm2022/editor/services/jtext-api.service.mjs +1 -1
  168. package/esm2022/editor/tools/attaches.tool.mjs +1 -1
  169. package/esm2022/editor/tools/combined-text-block.tool.mjs +1 -1
  170. package/esm2022/editor/tools/custom-marker.tool.mjs +1 -1
  171. package/esm2022/editor/tools/image.tool.mjs +2 -2
  172. package/esm2022/editor/tools/link-marker.tool.mjs +1 -1
  173. package/esm2022/editor/tools/marker.tool.mjs +1 -1
  174. package/esm2022/editor/tools/selection-base.tool.mjs +1 -1
  175. package/esm2022/editor/tools/video.tool.mjs +2 -2
  176. package/esm2022/editor/utils/copy-text-to-clipboard.mjs +1 -1
  177. package/esm2022/editor/utils/create-tools-data.mjs +2 -2
  178. package/esm2022/editor/utils/file-uploader.mjs +1 -1
  179. package/esm2022/editor/widgets/editor-block/editor-block.component.mjs +1 -1
  180. package/esm2022/editor/widgets/editor-modal/editor-modal.component.mjs +2 -7
  181. package/esm2022/editor/widgets/editor-readonly/editor-readonly.component.mjs +3 -3
  182. package/esm2022/editor/widgets/editor-readonly/editor-readonly.options.mjs +1 -1
  183. package/esm2022/interfaces/context-menu-item.mjs +1 -1
  184. package/esm2022/interfaces/option.mjs +1 -1
  185. package/esm2022/services/auth.service.mjs +1 -1
  186. package/esm2022/services/index.mjs +1 -1
  187. package/esm2022/services/loader.options.mjs +1 -1
  188. package/esm2022/services/loader.service.mjs +1 -1
  189. package/esm2022/services/position.service.mjs +1 -1
  190. package/esm2022/services/theme.options.mjs +1 -1
  191. package/esm2022/services/theme.service.mjs +3 -3
  192. package/esm2022/services/token.service.mjs +3 -2
  193. package/esm2022/services/visual-viewport.service.mjs +3 -3
  194. package/esm2022/tokens/animations-speed.mjs +2 -2
  195. package/esm2022/tokens/index.mjs +1 -1
  196. package/esm2022/tokens/reduced-motion.mjs +2 -3
  197. package/esm2022/tokens/viewport.mjs +4 -4
  198. package/esm2022/types/point.mjs +1 -1
  199. package/esm2022/types/portal-item.mjs +1 -1
  200. package/esm2022/utils/default-validators/create-default-validators.options.mjs +1 -1
  201. package/esm2022/utils/default-validators/index.mjs +1 -1
  202. package/esm2022/utils/format/remove-spaces.mjs +1 -1
  203. package/esm2022/utils/format/replace.mjs +1 -1
  204. package/esm2022/utils/index.mjs +1 -1
  205. package/esm2022/utils/miscellaneous/is-obscured.mjs +1 -1
  206. package/esm2022/utils/miscellaneous/override-options.mjs +1 -1
  207. package/esm2022/utils/miscellaneous/to-animation-options.mjs +3 -3
  208. package/esm2022/widgets/categories/categories.component.mjs +1 -1
  209. package/esm2022/widgets/categories/components/category-item/category-item.component.mjs +1 -1
  210. package/esm2022/widgets/checklist-block/checklist-block.component.mjs +1 -1
  211. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-card/checklist-block-list-item-action-card.component.mjs +1 -1
  212. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-with-verification/checklist-block-list-item-action-with-verification.component.mjs +1 -1
  213. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-action-without-verification/checklist-block-list-item-action-without-verification.component.mjs +1 -1
  214. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.component.mjs +1 -1
  215. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.options.mjs +1 -1
  216. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-evaluation/checklist-block-list-item-evaluation.component.mjs +1 -1
  217. package/esm2022/widgets/checklist-block/components/checklist-block-list-item-evaluation-criteria/checklist-block-list-item-evaluation-criteria.component.mjs +3 -3
  218. package/esm2022/widgets/criterion-info-form/criterion-info-form.component.mjs +2 -2
  219. package/esm2022/widgets/criterion-readonly-info/criterion-readonly-info.component.mjs +3 -3
  220. package/esm2022/widgets/delete-modal/delete-modal.component.mjs +2 -2
  221. package/esm2022/widgets/instruction-info/instruction-info.component.mjs +1 -1
  222. package/esm2022/widgets/instruction-readonly-info/instruction-readonly-info.component.mjs +3 -3
  223. package/esm2022/widgets/loader/loader.component.mjs +1 -1
  224. package/esm2022/widgets/select-modal/components/select-modal-search/select-modal-search.component.mjs +3 -3
  225. package/esm2022/widgets/user-action-context-menu/activity-item/activity-item.component.mjs +13 -10
  226. package/esm2022/widgets/user-action-context-menu/constants/index.mjs +1 -1
  227. package/esm2022/widgets/user-action-context-menu/constants/translations.mjs +2 -2
  228. package/esm2022/widgets/user-action-context-menu/services/activity-base.service.mjs +3 -2
  229. package/esm2022/widgets/user-action-context-menu/services/activity.service.mjs +3 -3
  230. package/esm2022/widgets/user-action-context-menu/user-action-context-menu.component.mjs +7 -9
  231. package/esm2022/widgets/utility-modal/components/criterion-modal-create/criterion-modal-create.component.mjs +5 -4
  232. package/esm2022/widgets/utility-modal/components/instruction-modal-create/instruction-modal-create.component.mjs +3 -2
  233. package/esm2022/widgets/utility-modal/components/readonly-instruction-modal/readonly-instruction-modal.component.mjs +3 -3
  234. package/esm2022/widgets/utility-modal/components/readonly-utility-modal/readonly-utility-modal.component.mjs +3 -2
  235. package/esm2022/widgets/utility-modal/components/utility-modal-create/utility-modal-create.component.mjs +2 -2
  236. package/esm2022/widgets/utility-modal/utility-modal.options.mjs +2 -2
  237. package/esm2022/widgets/utility-readonly-thumbnail/utility-readonly-thumbnail.component.mjs +1 -1
  238. package/fesm2022/cuby-ui-core.mjs +338 -610
  239. package/fesm2022/cuby-ui-core.mjs.map +1 -1
  240. package/package.json +4 -4
  241. package/styles/fonts.scss +44 -40
  242. package/styles/mixins/buttons.scss +11 -11
  243. package/styles/mixins/flex.scss +13 -13
  244. package/styles/mixins/inputs.scss +70 -70
  245. package/styles/mixins/lists.scss +1 -1
  246. package/styles/mixins/paddings.scss +24 -24
  247. package/styles/mixins/shadows.scss +16 -12
  248. package/styles/mixins/texts.scss +102 -103
  249. package/styles/reset.scss +72 -72
  250. package/styles/theme.scss +135 -135
  251. package/styles/variables/colors.scss +1 -1
  252. package/styles/variables/fonts.scss +1 -1
  253. package/utils/default-validators/create-default-validators.options.d.ts +1 -1
  254. package/widgets/checklist-block/components/checklist-block-list-item-container/checklist-block-list-item-container.options.d.ts +2 -2
  255. package/widgets/user-action-context-menu/activity-item/activity-item.component.d.ts +1 -1
  256. package/widgets/user-action-context-menu/constants/translations.d.ts +1 -1
  257. package/widgets/user-action-context-menu/services/activity-base.service.d.ts +1 -1
  258. package/widgets/user-action-context-menu/services/activity.service.d.ts +1 -1
  259. package/widgets/user-action-context-menu/user-action-context-menu.component.d.ts +0 -1
  260. package/widgets/utility-modal/components/utility-modal-create/utility-modal-create.component.d.ts +1 -1
  261. package/widgets/utility-modal/utility-modal.options.d.ts +3 -3
@@ -123,7 +123,7 @@ export class MarkerSelectComponent {
123
123
  useExisting: forwardRef(() => MarkerSelectComponent),
124
124
  multi: true
125
125
  }
126
- ], hostDirectives: [{ directive: i1.CuiClickOutsideDirective }], ngImport: i0, template: "<ng-container *ngIf=\"isVisible()\">\n <div\n #dropdown\n class=\"dropdown\"\n >\n <header class=\"header\">\n <cui-input-text\n class=\"header__input\"\n cuiTextFieldId=\"estimated\"\n cuiTextFieldPlaceholder=\"Search...\"\n />\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconFiltersLines\"\n ></button>\n </header>\n <div class=\"scrollable-content\">\n <cc-select-option\n *ngFor=\"let element of elements\"\n [class._selected]=\"element.id === value?.id\"\n (click)=\"onToolClick(element)\"\n [tool]=\"element\"\n />\n </div>\n </div>\n</ng-container>\n", styles: [":host{position:fixed;z-index:10;left:0}:host._hidden{visibility:hidden}._selected{background-color:var(--cui-base-50)}.dropdown{box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;padding-top:3px;padding-bottom:3px;display:flex;flex-direction:column;gap:4px;border-radius:8px;border:1px solid var(--cui-base-200);max-height:350px;width:345px;background:var(--cui-base-0)}.header{padding:4px 5px;display:flex;align-items:center;gap:4px}.header__input{width:100%}.footer{padding:2px 5px}.title{font-weight:400;font-size:14px;line-height:20px;padding:2px 8px;color:var(--cui-base-500);text-transform:uppercase}.scrollable-content{padding-left:5px;overflow:auto}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i2.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: i3.CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: i4.CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: i5.CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: SelectOptionComponent, selector: "cc-select-option", inputs: ["tool"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
126
+ ], hostDirectives: [{ directive: i1.CuiClickOutsideDirective }], ngImport: i0, template: "<ng-container *ngIf=\"isVisible()\">\n <div\n #dropdown\n class=\"dropdown\"\n >\n <header class=\"header\">\n <cui-input-text\n class=\"header__input\"\n cuiTextFieldId=\"estimated\"\n cuiTextFieldPlaceholder=\"Search...\"\n />\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconFiltersLines\"\n ></button>\n </header>\n <div class=\"scrollable-content\">\n <cc-select-option\n *ngFor=\"let element of elements\"\n [class._selected]=\"element.id === value?.id\"\n (click)=\"onToolClick(element)\"\n [tool]=\"element\"\n />\n </div>\n </div>\n</ng-container>\n", styles: [":host{position:fixed;z-index:10;left:0}:host._hidden{visibility:hidden}._selected{background-color:var(--cui-base-50)}.dropdown{box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;padding-top:3px;padding-bottom:3px;display:flex;flex-direction:column;gap:4px;border-radius:8px;border:1px solid var(--cui-base-200);max-height:350px;width:345px;background:var(--cui-base-0)}.header{padding:4px 5px;display:flex;align-items:center;gap:4px}.header__input{width:100%}.footer{padding:2px 5px}.title{font-weight:400;font-size:14px;line-height:20px;padding:2px 8px;color:var(--cui-base-500);text-transform:uppercase}.scrollable-content{padding-left:5px;overflow:auto}\n"], dependencies: [{ kind: "ngmodule", type: CuiButtonModule }, { kind: "component", type: i2.CuiButtonComponent, selector: "button[cuiButton], a[cuiButton]", inputs: ["shape", "disabled", "isLoaderShown", "icon", "iconRight", "appearance", "theme", "size"] }, { kind: "ngmodule", type: CuiContextMenuModule }, { kind: "ngmodule", type: CuiInputModule }, { kind: "component", type: i3.CuiInputTextComponent, selector: "cui-input-text" }, { kind: "directive", type: i4.CuiTextFieldIdDirective, selector: "[cuiTextFieldId]", inputs: ["cuiTextFieldId"] }, { kind: "directive", type: i5.CuiTextFieldPlaceholderDirective, selector: "[cuiTextFieldPlaceholder]", inputs: ["cuiTextFieldPlaceholder"] }, { kind: "ngmodule", type: CuiLabelModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: SelectOptionComponent, selector: "cc-select-option", inputs: ["tool"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
127
127
  }
128
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MarkerSelectComponent, decorators: [{
129
129
  type: Component,
@@ -143,7 +143,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
143
143
  useExisting: forwardRef(() => MarkerSelectComponent),
144
144
  multi: true
145
145
  }
146
- ], template: "<ng-container *ngIf=\"isVisible()\">\n <div\n #dropdown\n class=\"dropdown\"\n >\n <header class=\"header\">\n <cui-input-text\n class=\"header__input\"\n cuiTextFieldId=\"estimated\"\n cuiTextFieldPlaceholder=\"Search...\"\n />\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconFiltersLines\"\n ></button>\n </header>\n <div class=\"scrollable-content\">\n <cc-select-option\n *ngFor=\"let element of elements\"\n [class._selected]=\"element.id === value?.id\"\n (click)=\"onToolClick(element)\"\n [tool]=\"element\"\n />\n </div>\n </div>\n</ng-container>\n", styles: [":host{position:fixed;z-index:10;left:0}:host._hidden{visibility:hidden}._selected{background-color:var(--cui-base-50)}.dropdown{box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;padding-top:3px;padding-bottom:3px;display:flex;flex-direction:column;gap:4px;border-radius:8px;border:1px solid var(--cui-base-200);max-height:350px;width:345px;background:var(--cui-base-0)}.header{padding:4px 5px;display:flex;align-items:center;gap:4px}.header__input{width:100%}.footer{padding:2px 5px}.title{font-weight:400;font-size:14px;line-height:20px;padding:2px 8px;color:var(--cui-base-500);text-transform:uppercase}.scrollable-content{padding-left:5px;overflow:auto}\n"] }]
146
+ ], template: "<ng-container *ngIf=\"isVisible()\">\n <div\n #dropdown\n class=\"dropdown\"\n >\n <header class=\"header\">\n <cui-input-text\n class=\"header__input\"\n cuiTextFieldId=\"estimated\"\n cuiTextFieldPlaceholder=\"Search...\"\n />\n <button\n cuiButton\n type=\"button\"\n appearance=\"ghost\"\n size=\"xxs\"\n icon=\"cuiIconFiltersLines\"\n ></button>\n </header>\n <div class=\"scrollable-content\">\n <cc-select-option\n *ngFor=\"let element of elements\"\n [class._selected]=\"element.id === value?.id\"\n (click)=\"onToolClick(element)\"\n [tool]=\"element\"\n />\n </div>\n </div>\n</ng-container>\n", styles: [":host{position:fixed;z-index:10;left:0}:host._hidden{visibility:hidden}._selected{background-color:var(--cui-base-50)}.dropdown{box-shadow:0 1px 4px #0000000a,0 1px 4px #0000000a;padding-top:3px;padding-bottom:3px;display:flex;flex-direction:column;gap:4px;border-radius:8px;border:1px solid var(--cui-base-200);max-height:350px;width:345px;background:var(--cui-base-0)}.header{padding:4px 5px;display:flex;align-items:center;gap:4px}.header__input{width:100%}.footer{padding:2px 5px}.title{font-weight:400;font-size:14px;line-height:20px;padding:2px 8px;color:var(--cui-base-500);text-transform:uppercase}.scrollable-content{padding-left:5px;overflow:auto}\n"] }]
147
147
  }], propDecorators: { target: [{
148
148
  type: Input
149
149
  }], space: [{
@@ -152,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
152
152
  type: HostBinding,
153
153
  args: ['class._hidden']
154
154
  }] } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9jb21wb25lbnRzL21hcmtlci1zZWxlY3QvbWFya2VyLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9jb21wb25lbnRzL21hcmtlci1zZWxlY3QvbWFya2VyLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUk1RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7Ozs7QUE0QnhGLE1BQU0sT0FBTyxxQkFBcUI7SUExQmxDO1FBMkJxQixhQUFRLEdBQUcsTUFBTSxDQUFD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LEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUM7SUFDaEYsQ0FBQzsrR0E1SVEscUJBQXFCO21HQUFyQixxQkFBcUIscUtBUm5CO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDcEQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLHdGQ25ETCxvMEJBNkJBLDRzQkRDUSxlQUFlLG1PQUNmLG9CQUFvQiw4QkFDcEIsY0FBYyxrWEFDZCxjQUFjLDhCQUNkLFdBQVcsOEJBQ1gsbUJBQW1CLCtCQUNuQixxQkFBcUIsK0VBQ3JCLElBQUksNkZBQ0osS0FBSzs7NEZBZUEscUJBQXFCO2tCQTFCakMsU0FBUzsrQkFDSSxrQkFBa0IsV0FDbkI7d0JBQ0wsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixJQUFJO3dCQUNKLEtBQUs7cUJBQ1IsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CLENBQUMsd0JBQXdCLENBQUMsYUFDL0I7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzhCQVlNLE1BQU07c0JBRFosS0FBSztnQkFJSyxLQUFLO3NCQURmLEtBQUs7Z0JBd0JRLElBQUk7c0JBRGpCLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7IE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHR5cGUgeyBDdWlOdWxsYWJsZSwgQ3VpT25DaGFuZ2UsIEN1aU9uVG91Y2hlZCB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBDdWlDbGlja091dHNpZGVEaXJlY3RpdmUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgQ3VpQnV0dG9uTW9kdWxlLCBDdWlDb250ZXh0TWVudU1vZHVsZSwgQ3VpSW5wdXRNb2R1bGUsIEN1aUxhYmVsTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XG5cbmltcG9ydCB0eXBlIHsgVG9vbCB9IGZyb20gJy4uL2VkaXRvci10b29sLW1vZGFsL2VkaXRvci10b29sLW1vZGFsLm9wdGlvbnMnO1xuXG5pbXBvcnQgeyBFRElUT1JfU0VMRUNUT1IgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgTWFya2VyVHlwZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21hcmtlcnMtc2VydmljZS5vcHRpb25zJztcbmltcG9ydCB7IEN1aU1hcmtlcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFya2Vycy5zZXJ2aWNlJztcblxuaW1wb3J0IHsgU2VsZWN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvc2VsZWN0LWl0ZW0vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NjLW1hcmtlci1zZWxlY3QnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgICAgICBDdWlDb250ZXh0TWVudU1vZHVsZSxcbiAgICAgICAgQ3VpSW5wdXRNb2R1bGUsXG4gICAgICAgIEN1aUxhYmVsTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgU2VsZWN0T3B0aW9uQ29tcG9uZW50LFxuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ0ZvclxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFya2VyLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbWFya2VyLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbQ3VpQ2xpY2tPdXRzaWRlRGlyZWN0aXZlXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNYXJrZXJTZWxlY3RDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFya2VyU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUNsaWNrT3V0c2lkZURpcmVjdGl2ZSA9IGluamVjdChDdWlDbGlja091dHNpZGVEaXJlY3RpdmUsIHsgc2VsZjogdHJ1ZSB9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hcmtlcnNTZXJ2aWNlID0gaW5qZWN0KEN1aU1hcmtlcnNTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgU1BBQ0VfQkVUV0VFTl9UQVJHRVRfQU5EX0xJU1QgPSA1O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGFyZ2V0ITogSFRNTEJ1dHRvbkVsZW1lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgc3BhY2UodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLlNQQUNFX0JFVFdFRU5fVEFSR0VUX0FORF9MSVNUID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzVmlzaWJsZSA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHJvdGVjdGVkIGlzSGlkZGVuID0gc2lnbmFsKHRydWUpO1xuICAgIHByb3RlY3RlZCBlZGl0b3IhOiBIVE1MRWxlbWVudDtcbiAgICBwcm90ZWN0ZWQgdmFsdWUhOiBDdWlOdWxsYWJsZTxUb29sPjtcbiAgICAvLyBUT0RPOiBzZXQgY3VycmVudCB0eXBlXG4gICAgcHJvdGVjdGVkIGVsZW1lbnRzID0gdGhpcy5tYXJrZXJzU2VydmljZS5nZXRNYXJrZXJzQnlUeXBlKE1hcmtlclR5cGUudG9vbCk7XG4gICAgcHJvdGVjdGVkIG9uQ2hhbmdlITogQ3VpT25DaGFuZ2U8dW5rbm93bj47XG4gICAgcHJvdGVjdGVkIG9uVG91Y2hlZCE6IEN1aU9uVG91Y2hlZDtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFyZ2V0VG9nZ2xlRXZlbnRMaXN0ZW5lciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc1Zpc2libGUudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzVmlzaWJsZSgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNhbGN1bGF0ZURyb3Bkb3duUG9zaXRpb24oKTtcbiAgICB9O1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faGlkZGVuJylcbiAgICBwcm90ZWN0ZWQgZ2V0IGhpZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzSGlkZGVuKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IFRvb2wpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBDdWlPbkNoYW5nZTx1bmtub3duPik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBDdWlPblRvdWNoZWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlLnNldChmYWxzZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTtcbiAgICAgICAgdGhpcy5pbml0Q2xpY2tPdXRzaWRlU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIHRoaXMuaW5pdE9uQ2xvc2VXaGVuRWRpdG9yU2Nyb2xsKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3lFdmVudExpc3RlbmVycygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblRvb2xDbGljayh0b29sOiBUb29sKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0b29sO1xuXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG5cbiAgICAgICAgLy8gdGhpcy5pc1Zpc2libGUuc2V0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy50YXJnZXRUb2dnbGVFdmVudExpc3RlbmVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDbGlja091dHNpZGVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VpQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLmN1aUNsaWNrT3V0c2lkZS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKHRhcmdldCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMudGFyZ2V0LmNvbnRhaW5zKHRhcmdldCkgfHwgIXRoaXMuaXNWaXNpYmxlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuaXNWaXNpYmxlLnNldChmYWxzZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdE9uQ2xvc2VXaGVuRWRpdG9yU2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRvciA9IHRoaXMuZWxlbWVudC5jbG9zZXN0KEVESVRPUl9TRUxFQ1RPUik7XG5cbiAgICAgICAgdGhpcy5lZGl0b3I/LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95RXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdG9yPy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uU2Nyb2xsLmJpbmQodGhpcykpO1xuICAgICAgICB0aGlzLnRhcmdldD8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLnRhcmdldFRvZ2dsZUV2ZW50TGlzdGVuZXIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlRHJvcGRvd25Qb3NpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0hpZGRlbi5zZXQodHJ1ZSk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldDtcbiAgICAgICAgICAgIGNvbnN0IHsgYm90dG9tOiB0YXJnZXRSZWN0Qm90dG9tLCBsZWZ0OiB0YXJnZXRSZWN0TGVmdCB9ID0gdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgeyBjbGllbnRIZWlnaHQ6IGRvY3VtZW50Q2xpZW50SGVpZ2h0LCBjbGllbnRXaWR0aDogZG9jdW1lbnRDbGllbnRXaWR0aCB9ID1cbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlVG9Cb3R0b20gPSBkb2N1bWVudENsaWVudEhlaWdodCAtICh0YXJnZXRSZWN0Qm90dG9tICsgdGhpcy5TUEFDRV9CRVRXRUVOX1RBUkdFVF9BTkRfTElTVCk7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZVRvUmlnaHQgPSBkb2N1bWVudENsaWVudFdpZHRoIC0gdGFyZ2V0UmVjdExlZnQ7XG4gICAgICAgICAgICBjb25zdCBpc0xpc3RSaWdodCA9IGRpc3RhbmNlVG9SaWdodCA8IHRoaXMuZWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgIGNvbnN0IGlzTGlzdEFib3ZlID0gZGlzdGFuY2VUb0JvdHRvbSA8IHRoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlUG9zaXRpb25ZKGlzTGlzdEFib3ZlLCB0YXJnZXQub2Zmc2V0SGVpZ2h0LCB0YXJnZXRSZWN0Qm90dG9tKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlUG9zaXRpb25YKGlzTGlzdFJpZ2h0LCB0YXJnZXQub2Zmc2V0V2lkdGgsIHRhcmdldFJlY3RMZWZ0KTtcbiAgICAgICAgICAgIHRoaXMuaXNIaWRkZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VQb3NpdGlvblgoaXNMaXN0UmlnaHQ6IGJvb2xlYW4sIHdpZHRoOiBudW1iZXIsIGxlZnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoaXNMaXN0UmlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5yaWdodCA9ICdhdXRvJztcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5sZWZ0ID0gbGVmdDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnJpZ2h0ID0gbGVmdCAtIHRoaXMuZWxlbWVudC5vZmZzZXRXaWR0aCArIHdpZHRoO1xuICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUubGVmdCA9ICdhdXRvJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoYW5nZVBvc2l0aW9uWShpc0xpc3RBYm92ZTogYm9vbGVhbiwgaGVpZ2h0OiBudW1iZXIsIGJvdHRvbTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChpc0xpc3RBYm92ZSkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnRvcCA9XG4gICAgICAgICAgICAgICAgYm90dG9tIC0gdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodCAtIGhlaWdodCAtIHRoaXMuU1BBQ0VfQkVUV0VFTl9UQVJHRVRfQU5EX0xJU1QgKyAncHgnO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUudG9wID0gYm90dG9tICsgdGhpcy5TUEFDRV9CRVRXRUVOX1RBUkdFVF9BTkRfTElTVCArICdweCc7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVmlzaWJsZSgpXCI+XG4gIDxkaXZcbiAgICAgICNkcm9wZG93blxuICAgICAgY2xhc3M9XCJkcm9wZG93blwiXG4gID5cbiAgICAgIDxoZWFkZXIgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICA8Y3VpLWlucHV0LXRleHRcbiAgICAgICAgICAgICAgY2xhc3M9XCJoZWFkZXJfX2lucHV0XCJcbiAgICAgICAgICAgICAgY3VpVGV4dEZpZWxkSWQ9XCJlc3RpbWF0ZWRcIlxuICAgICAgICAgICAgICBjdWlUZXh0RmllbGRQbGFjZWhvbGRlcj1cIlNlYXJjaC4uLlwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGN1aUJ1dHRvblxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cImdob3N0XCJcbiAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXG4gICAgICAgICAgICAgIGljb249XCJjdWlJY29uRmlsdGVyc0xpbmVzXCJcbiAgICAgICAgICA+PC9idXR0b24+XG4gICAgICA8L2hlYWRlcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxhYmxlLWNvbnRlbnRcIj5cbiAgICAgICAgPGNjLXNlbGVjdC1vcHRpb25cbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIGVsZW1lbnRzXCJcbiAgICAgICAgICAgIFtjbGFzcy5fc2VsZWN0ZWRdPVwiZWxlbWVudC5pZCA9PT0gdmFsdWU/LmlkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblRvb2xDbGljayhlbGVtZW50KVwiXG4gICAgICAgICAgICBbdG9vbF09XCJlbGVtZW50XCJcbiAgICAgICAgLz5cbiAgICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFya2VyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9jb21wb25lbnRzL21hcmtlci1zZWxlY3QvbWFya2VyLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9jb21wb25lbnRzL21hcmtlci1zZWxlY3QvbWFya2VyLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUk1RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saURBQWlELENBQUM7Ozs7Ozs7QUE0QnhGLE1BQU0sT0FBTyxxQkFBcUI7SUExQmxDO1FBMkJxQixhQUFRLEdBQUcsTUFBTSxDQUFD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LEdBQUcsTUFBTSxHQUFHLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUM7SUFDaEYsQ0FBQzsrR0E1SVEscUJBQXFCO21HQUFyQixxQkFBcUIscUtBUm5CO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDcEQsS0FBSyxFQUFFLElBQUk7YUFDZDtTQUNKLHdGQ25ETCxzNEJBNkJBLDRzQkRDUSxlQUFlLG1PQUNmLG9CQUFvQiw4QkFDcEIsY0FBYyxrWEFDZCxjQUFjLDhCQUNkLFdBQVcsOEJBQ1gsbUJBQW1CLCtCQUNuQixxQkFBcUIsK0VBQ3JCLElBQUksNkZBQ0osS0FBSzs7NEZBZUEscUJBQXFCO2tCQTFCakMsU0FBUzsrQkFDSSxrQkFBa0IsV0FDbkI7d0JBQ0wsZUFBZTt3QkFDZixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIscUJBQXFCO3dCQUNyQixJQUFJO3dCQUNKLEtBQUs7cUJBQ1IsY0FDVyxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0sa0JBQy9CLENBQUMsd0JBQXdCLENBQUMsYUFDL0I7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKOzhCQVlNLE1BQU07c0JBRFosS0FBSztnQkFJSyxLQUFLO3NCQURmLEtBQUs7Z0JBd0JRLElBQUk7c0JBRGpCLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7IE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHR5cGUgeyBDdWlOdWxsYWJsZSwgQ3VpT25DaGFuZ2UsIEN1aU9uVG91Y2hlZCB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgeyBDdWlDbGlja091dHNpZGVEaXJlY3RpdmUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgQ3VpQnV0dG9uTW9kdWxlLCBDdWlDb250ZXh0TWVudU1vZHVsZSwgQ3VpSW5wdXRNb2R1bGUsIEN1aUxhYmVsTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XG5cbmltcG9ydCB0eXBlIHsgVG9vbCB9IGZyb20gJy4uL2VkaXRvci10b29sLW1vZGFsL2VkaXRvci10b29sLW1vZGFsLm9wdGlvbnMnO1xuXG5pbXBvcnQgeyBFRElUT1JfU0VMRUNUT1IgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgTWFya2VyVHlwZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21hcmtlcnMtc2VydmljZS5vcHRpb25zJztcbmltcG9ydCB7IEN1aU1hcmtlcnNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbWFya2Vycy5zZXJ2aWNlJztcblxuaW1wb3J0IHsgU2VsZWN0T3B0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvc2VsZWN0LWl0ZW0vc2VsZWN0LW9wdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2NjLW1hcmtlci1zZWxlY3QnLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ3VpQnV0dG9uTW9kdWxlLFxuICAgICAgICBDdWlDb250ZXh0TWVudU1vZHVsZSxcbiAgICAgICAgQ3VpSW5wdXRNb2R1bGUsXG4gICAgICAgIEN1aUxhYmVsTW9kdWxlLFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgU2VsZWN0T3B0aW9uQ29tcG9uZW50LFxuICAgICAgICBOZ0lmLFxuICAgICAgICBOZ0ZvclxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWFya2VyLXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbWFya2VyLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbQ3VpQ2xpY2tPdXRzaWRlRGlyZWN0aXZlXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNYXJrZXJTZWxlY3RDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFya2VyU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUNsaWNrT3V0c2lkZURpcmVjdGl2ZSA9IGluamVjdChDdWlDbGlja091dHNpZGVEaXJlY3RpdmUsIHsgc2VsZjogdHJ1ZSB9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1hcmtlcnNTZXJ2aWNlID0gaW5qZWN0KEN1aU1hcmtlcnNTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgU1BBQ0VfQkVUV0VFTl9UQVJHRVRfQU5EX0xJU1QgPSA1O1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgdGFyZ2V0ITogSFRNTEJ1dHRvbkVsZW1lbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgc3BhY2UodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLlNQQUNFX0JFVFdFRU5fVEFSR0VUX0FORF9MSVNUID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzVmlzaWJsZSA9IHNpZ25hbChmYWxzZSk7XG4gICAgcHJvdGVjdGVkIGlzSGlkZGVuID0gc2lnbmFsKHRydWUpO1xuICAgIHByb3RlY3RlZCBlZGl0b3IhOiBIVE1MRWxlbWVudDtcbiAgICBwcm90ZWN0ZWQgdmFsdWUhOiBDdWlOdWxsYWJsZTxUb29sPjtcbiAgICAvLyBUT0RPOiBzZXQgY3VycmVudCB0eXBlXG4gICAgcHJvdGVjdGVkIGVsZW1lbnRzID0gdGhpcy5tYXJrZXJzU2VydmljZS5nZXRNYXJrZXJzQnlUeXBlKE1hcmtlclR5cGUudG9vbCk7XG4gICAgcHJvdGVjdGVkIG9uQ2hhbmdlITogQ3VpT25DaGFuZ2U8dW5rbm93bj47XG4gICAgcHJvdGVjdGVkIG9uVG91Y2hlZCE6IEN1aU9uVG91Y2hlZDtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdGFyZ2V0VG9nZ2xlRXZlbnRMaXN0ZW5lciA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgdGhpcy5pc1Zpc2libGUudXBkYXRlKChwcmV2KSA9PiAhcHJldik7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzVmlzaWJsZSgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNhbGN1bGF0ZURyb3Bkb3duUG9zaXRpb24oKTtcbiAgICB9O1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5faGlkZGVuJylcbiAgICBwcm90ZWN0ZWQgZ2V0IGhpZGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzSGlkZGVuKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IFRvb2wpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBDdWlPbkNoYW5nZTx1bmtub3duPik6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBDdWlPblRvdWNoZWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TY3JvbGwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNWaXNpYmxlLnNldChmYWxzZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTtcbiAgICAgICAgdGhpcy5pbml0Q2xpY2tPdXRzaWRlU3Vic2NyaXB0aW9uKCk7XG4gICAgICAgIHRoaXMuaW5pdE9uQ2xvc2VXaGVuRWRpdG9yU2Nyb2xsKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3lFdmVudExpc3RlbmVycygpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvblRvb2xDbGljayh0b29sOiBUb29sKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0b29sO1xuXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG5cbiAgICAgICAgLy8gdGhpcy5pc1Zpc2libGUuc2V0KGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRUYXJnZXRFbGVtZW50TGlzdGVuZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy50YXJnZXRUb2dnbGVFdmVudExpc3RlbmVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRDbGlja091dHNpZGVTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VpQ2xpY2tPdXRzaWRlRGlyZWN0aXZlLmN1aUNsaWNrT3V0c2lkZS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKHRhcmdldCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMudGFyZ2V0LmNvbnRhaW5zKHRhcmdldCkgfHwgIXRoaXMuaXNWaXNpYmxlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuaXNWaXNpYmxlLnNldChmYWxzZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdE9uQ2xvc2VXaGVuRWRpdG9yU2Nyb2xsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRvciA9IHRoaXMuZWxlbWVudC5jbG9zZXN0KEVESVRPUl9TRUxFQ1RPUik7XG5cbiAgICAgICAgdGhpcy5lZGl0b3I/LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95RXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdG9yPy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uU2Nyb2xsLmJpbmQodGhpcykpO1xuICAgICAgICB0aGlzLnRhcmdldD8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLnRhcmdldFRvZ2dsZUV2ZW50TGlzdGVuZXIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlRHJvcGRvd25Qb3NpdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0hpZGRlbi5zZXQodHJ1ZSk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldDtcbiAgICAgICAgICAgIGNvbnN0IHsgYm90dG9tOiB0YXJnZXRSZWN0Qm90dG9tLCBsZWZ0OiB0YXJnZXRSZWN0TGVmdCB9ID0gdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgY29uc3QgeyBjbGllbnRIZWlnaHQ6IGRvY3VtZW50Q2xpZW50SGVpZ2h0LCBjbGllbnRXaWR0aDogZG9jdW1lbnRDbGllbnRXaWR0aCB9ID1cbiAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGRpc3RhbmNlVG9Cb3R0b20gPSBkb2N1bWVudENsaWVudEhlaWdodCAtICh0YXJnZXRSZWN0Qm90dG9tICsgdGhpcy5TUEFDRV9CRVRXRUVOX1RBUkdFVF9BTkRfTElTVCk7XG4gICAgICAgICAgICBjb25zdCBkaXN0YW5jZVRvUmlnaHQgPSBkb2N1bWVudENsaWVudFdpZHRoIC0gdGFyZ2V0UmVjdExlZnQ7XG4gICAgICAgICAgICBjb25zdCBpc0xpc3RSaWdodCA9IGRpc3RhbmNlVG9SaWdodCA8IHRoaXMuZWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAgICAgICAgIGNvbnN0IGlzTGlzdEFib3ZlID0gZGlzdGFuY2VUb0JvdHRvbSA8IHRoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlUG9zaXRpb25ZKGlzTGlzdEFib3ZlLCB0YXJnZXQub2Zmc2V0SGVpZ2h0LCB0YXJnZXRSZWN0Qm90dG9tKTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlUG9zaXRpb25YKGlzTGlzdFJpZ2h0LCB0YXJnZXQub2Zmc2V0V2lkdGgsIHRhcmdldFJlY3RMZWZ0KTtcbiAgICAgICAgICAgIHRoaXMuaXNIaWRkZW4uc2V0KGZhbHNlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VQb3NpdGlvblgoaXNMaXN0UmlnaHQ6IGJvb2xlYW4sIHdpZHRoOiBudW1iZXIsIGxlZnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoaXNMaXN0UmlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5yaWdodCA9ICdhdXRvJztcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS5sZWZ0ID0gbGVmdDtcblxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnJpZ2h0ID0gbGVmdCAtIHRoaXMuZWxlbWVudC5vZmZzZXRXaWR0aCArIHdpZHRoO1xuICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUubGVmdCA9ICdhdXRvJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoYW5nZVBvc2l0aW9uWShpc0xpc3RBYm92ZTogYm9vbGVhbiwgaGVpZ2h0OiBudW1iZXIsIGJvdHRvbTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChpc0xpc3RBYm92ZSkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LnN0eWxlLnRvcCA9XG4gICAgICAgICAgICAgICAgYm90dG9tIC0gdGhpcy5lbGVtZW50Lm9mZnNldEhlaWdodCAtIGhlaWdodCAtIHRoaXMuU1BBQ0VfQkVUV0VFTl9UQVJHRVRfQU5EX0xJU1QgKyAncHgnO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUudG9wID0gYm90dG9tICsgdGhpcy5TUEFDRV9CRVRXRUVOX1RBUkdFVF9BTkRfTElTVCArICdweCc7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzVmlzaWJsZSgpXCI+XG4gICAgPGRpdlxuICAgICAgICAjZHJvcGRvd25cbiAgICAgICAgY2xhc3M9XCJkcm9wZG93blwiXG4gICAgPlxuICAgICAgICA8aGVhZGVyIGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8Y3VpLWlucHV0LXRleHRcbiAgICAgICAgICAgICAgICBjbGFzcz1cImhlYWRlcl9faW5wdXRcIlxuICAgICAgICAgICAgICAgIGN1aVRleHRGaWVsZElkPVwiZXN0aW1hdGVkXCJcbiAgICAgICAgICAgICAgICBjdWlUZXh0RmllbGRQbGFjZWhvbGRlcj1cIlNlYXJjaC4uLlwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGN1aUJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJnaG9zdFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInh4c1wiXG4gICAgICAgICAgICAgICAgaWNvbj1cImN1aUljb25GaWx0ZXJzTGluZXNcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2hlYWRlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbGFibGUtY29udGVudFwiPlxuICAgICAgICAgICAgPGNjLXNlbGVjdC1vcHRpb25cbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZWxlbWVudCBvZiBlbGVtZW50c1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLl9zZWxlY3RlZF09XCJlbGVtZW50LmlkID09PSB2YWx1ZT8uaWRcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJvblRvb2xDbGljayhlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgW3Rvb2xdPVwiZWxlbWVudFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -1,4 +1,4 @@
1
- import { EDITOR_ATTACHES_TOOL_SELECTOR, EDITOR_IMAGE_TOOL_SELECTOR, EDITOR_TOOL_MODAL_SELECTOR, EDITOR_TOOLTIP_SELECTOR, EDITOR_VIDEO_TOOL_SELECTOR, EditorAttachesToolComponent, EditorImageToolComponent, EditorToolModalComponent, EditorTooltipComponent, EditorVideoToolComponent, MARKER_MODAL_SELECTOR, MARKER_SELECT_SELECTOR, MarkerModalComponent, MarkerSelectComponent } from "../components";
1
+ import { EDITOR_ATTACHES_TOOL_SELECTOR, EDITOR_IMAGE_TOOL_SELECTOR, EDITOR_TOOL_MODAL_SELECTOR, EDITOR_TOOLTIP_SELECTOR, EDITOR_VIDEO_TOOL_SELECTOR, EditorAttachesToolComponent, EditorImageToolComponent, EditorToolModalComponent, EditorTooltipComponent, EditorVideoToolComponent, MARKER_MODAL_SELECTOR, MARKER_SELECT_SELECTOR, MarkerModalComponent, MarkerSelectComponent } from '../components';
2
2
  export const EDITOR_CUSTOM_ELEMENTS = [
3
3
  {
4
4
  selector: EDITOR_TOOLTIP_SELECTOR,
@@ -29,4 +29,4 @@ export const EDITOR_CUSTOM_ELEMENTS = [
29
29
  component: EditorAttachesToolComponent
30
30
  }
31
31
  ];
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWVsZW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvY29uZmlnL2N1c3RvbS1lbGVtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsMEJBQTBCLEVBQUUsMEJBQTBCLEVBQUUsdUJBQXVCLEVBQUUsMEJBQTBCLEVBQUUsMkJBQTJCLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMVksTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQWdDO0lBQy9EO1FBQ0ksUUFBUSxFQUFFLHVCQUF1QjtRQUNqQyxTQUFTLEVBQUUsc0JBQXNCO0tBQ3BDO0lBQ0Q7UUFDSSxRQUFRLEVBQUUsc0JBQXNCO1FBQ2hDLFNBQVMsRUFBRSxxQkFBcUI7S0FDbkM7SUFDRDtRQUNJLFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsU0FBUyxFQUFFLHdCQUF3QjtLQUN0QztJQUNEO1FBQ0ksUUFBUSxFQUFFLHFCQUFxQjtRQUMvQixTQUFTLEVBQUUsb0JBQW9CO0tBQ2xDO0lBQ0Q7UUFDSSxRQUFRLEVBQUUsMEJBQTBCO1FBQ3BDLFNBQVMsRUFBRSx3QkFBd0I7S0FDdEM7SUFDRDtRQUNJLFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsU0FBUyxFQUFFLHdCQUF3QjtLQUN0QztJQUNEO1FBQ0ksUUFBUSxFQUFFLDZCQUE2QjtRQUN2QyxTQUFTLEVBQUUsMkJBQTJCO0tBQ3pDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVESVRPUl9BVFRBQ0hFU19UT09MX1NFTEVDVE9SLCBFRElUT1JfSU1BR0VfVE9PTF9TRUxFQ1RPUiwgRURJVE9SX1RPT0xfTU9EQUxfU0VMRUNUT1IsIEVESVRPUl9UT09MVElQX1NFTEVDVE9SLCBFRElUT1JfVklERU9fVE9PTF9TRUxFQ1RPUiwgRWRpdG9yQXR0YWNoZXNUb29sQ29tcG9uZW50LCBFZGl0b3JJbWFnZVRvb2xDb21wb25lbnQsIEVkaXRvclRvb2xNb2RhbENvbXBvbmVudCwgRWRpdG9yVG9vbHRpcENvbXBvbmVudCwgRWRpdG9yVmlkZW9Ub29sQ29tcG9uZW50LCBNQVJLRVJfTU9EQUxfU0VMRUNUT1IsIE1BUktFUl9TRUxFQ1RfU0VMRUNUT1IsIE1hcmtlck1vZGFsQ29tcG9uZW50LCBNYXJrZXJTZWxlY3RDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgQ3VpQ3VzdG9tRWxlbWVudCB9IGZyb20gXCIuLi9pbnRlcmZhY2VzXCI7XG5cbmV4cG9ydCBjb25zdCBFRElUT1JfQ1VTVE9NX0VMRU1FTlRTOiByZWFkb25seSBDdWlDdXN0b21FbGVtZW50W10gPSBbXG4gICAge1xuICAgICAgICBzZWxlY3RvcjogRURJVE9SX1RPT0xUSVBfU0VMRUNUT1IsXG4gICAgICAgIGNvbXBvbmVudDogRWRpdG9yVG9vbHRpcENvbXBvbmVudFxuICAgIH0sXG4gICAge1xuICAgICAgICBzZWxlY3RvcjogTUFSS0VSX1NFTEVDVF9TRUxFQ1RPUixcbiAgICAgICAgY29tcG9uZW50OiBNYXJrZXJTZWxlY3RDb21wb25lbnRcbiAgICB9LFxuICAgIHtcbiAgICAgICAgc2VsZWN0b3I6IEVESVRPUl9UT09MX01PREFMX1NFTEVDVE9SLFxuICAgICAgICBjb21wb25lbnQ6IEVkaXRvclRvb2xNb2RhbENvbXBvbmVudFxuICAgIH0sXG4gICAge1xuICAgICAgICBzZWxlY3RvcjogTUFSS0VSX01PREFMX1NFTEVDVE9SLFxuICAgICAgICBjb21wb25lbnQ6IE1hcmtlck1vZGFsQ29tcG9uZW50XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHNlbGVjdG9yOiBFRElUT1JfVklERU9fVE9PTF9TRUxFQ1RPUixcbiAgICAgICAgY29tcG9uZW50OiBFZGl0b3JWaWRlb1Rvb2xDb21wb25lbnRcbiAgICB9LFxuICAgIHtcbiAgICAgICAgc2VsZWN0b3I6IEVESVRPUl9JTUFHRV9UT09MX1NFTEVDVE9SLFxuICAgICAgICBjb21wb25lbnQ6IEVkaXRvckltYWdlVG9vbENvbXBvbmVudFxuICAgIH0sXG4gICAge1xuICAgICAgICBzZWxlY3RvcjogRURJVE9SX0FUVEFDSEVTX1RPT0xfU0VMRUNUT1IsXG4gICAgICAgIGNvbXBvbmVudDogRWRpdG9yQXR0YWNoZXNUb29sQ29tcG9uZW50XG4gICAgfVxuXTtcbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWVsZW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvY29uZmlnL2N1c3RvbS1lbGVtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0Isd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQUd2QixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBZ0M7SUFDL0Q7UUFDSSxRQUFRLEVBQUUsdUJBQXVCO1FBQ2pDLFNBQVMsRUFBRSxzQkFBc0I7S0FDcEM7SUFDRDtRQUNJLFFBQVEsRUFBRSxzQkFBc0I7UUFDaEMsU0FBUyxFQUFFLHFCQUFxQjtLQUNuQztJQUNEO1FBQ0ksUUFBUSxFQUFFLDBCQUEwQjtRQUNwQyxTQUFTLEVBQUUsd0JBQXdCO0tBQ3RDO0lBQ0Q7UUFDSSxRQUFRLEVBQUUscUJBQXFCO1FBQy9CLFNBQVMsRUFBRSxvQkFBb0I7S0FDbEM7SUFDRDtRQUNJLFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsU0FBUyxFQUFFLHdCQUF3QjtLQUN0QztJQUNEO1FBQ0ksUUFBUSxFQUFFLDBCQUEwQjtRQUNwQyxTQUFTLEVBQUUsd0JBQXdCO0tBQ3RDO0lBQ0Q7UUFDSSxRQUFRLEVBQUUsNkJBQTZCO1FBQ3ZDLFNBQVMsRUFBRSwyQkFBMkI7S0FDekM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBFRElUT1JfQVRUQUNIRVNfVE9PTF9TRUxFQ1RPUixcbiAgICBFRElUT1JfSU1BR0VfVE9PTF9TRUxFQ1RPUixcbiAgICBFRElUT1JfVE9PTF9NT0RBTF9TRUxFQ1RPUixcbiAgICBFRElUT1JfVE9PTFRJUF9TRUxFQ1RPUixcbiAgICBFRElUT1JfVklERU9fVE9PTF9TRUxFQ1RPUixcbiAgICBFZGl0b3JBdHRhY2hlc1Rvb2xDb21wb25lbnQsXG4gICAgRWRpdG9ySW1hZ2VUb29sQ29tcG9uZW50LFxuICAgIEVkaXRvclRvb2xNb2RhbENvbXBvbmVudCxcbiAgICBFZGl0b3JUb29sdGlwQ29tcG9uZW50LFxuICAgIEVkaXRvclZpZGVvVG9vbENvbXBvbmVudCxcbiAgICBNQVJLRVJfTU9EQUxfU0VMRUNUT1IsXG4gICAgTUFSS0VSX1NFTEVDVF9TRUxFQ1RPUixcbiAgICBNYXJrZXJNb2RhbENvbXBvbmVudCxcbiAgICBNYXJrZXJTZWxlY3RDb21wb25lbnRcbn0gZnJvbSAnLi4vY29tcG9uZW50cyc7XG5pbXBvcnQgeyBDdWlDdXN0b21FbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCBjb25zdCBFRElUT1JfQ1VTVE9NX0VMRU1FTlRTOiByZWFkb25seSBDdWlDdXN0b21FbGVtZW50W10gPSBbXG4gICAge1xuICAgICAgICBzZWxlY3RvcjogRURJVE9SX1RPT0xUSVBfU0VMRUNUT1IsXG4gICAgICAgIGNvbXBvbmVudDogRWRpdG9yVG9vbHRpcENvbXBvbmVudFxuICAgIH0sXG4gICAge1xuICAgICAgICBzZWxlY3RvcjogTUFSS0VSX1NFTEVDVF9TRUxFQ1RPUixcbiAgICAgICAgY29tcG9uZW50OiBNYXJrZXJTZWxlY3RDb21wb25lbnRcbiAgICB9LFxuICAgIHtcbiAgICAgICAgc2VsZWN0b3I6IEVESVRPUl9UT09MX01PREFMX1NFTEVDVE9SLFxuICAgICAgICBjb21wb25lbnQ6IEVkaXRvclRvb2xNb2RhbENvbXBvbmVudFxuICAgIH0sXG4gICAge1xuICAgICAgICBzZWxlY3RvcjogTUFSS0VSX01PREFMX1NFTEVDVE9SLFxuICAgICAgICBjb21wb25lbnQ6IE1hcmtlck1vZGFsQ29tcG9uZW50XG4gICAgfSxcbiAgICB7XG4gICAgICAgIHNlbGVjdG9yOiBFRElUT1JfVklERU9fVE9PTF9TRUxFQ1RPUixcbiAgICAgICAgY29tcG9uZW50OiBFZGl0b3JWaWRlb1Rvb2xDb21wb25lbnRcbiAgICB9LFxuICAgIHtcbiAgICAgICAgc2VsZWN0b3I6IEVESVRPUl9JTUFHRV9UT09MX1NFTEVDVE9SLFxuICAgICAgICBjb21wb25lbnQ6IEVkaXRvckltYWdlVG9vbENvbXBvbmVudFxuICAgIH0sXG4gICAge1xuICAgICAgICBzZWxlY3RvcjogRURJVE9SX0FUVEFDSEVTX1RPT0xfU0VMRUNUT1IsXG4gICAgICAgIGNvbXBvbmVudDogRWRpdG9yQXR0YWNoZXNUb29sQ29tcG9uZW50XG4gICAgfVxuXTtcbiJdfQ==
@@ -12,8 +12,8 @@ export function cuiProvideEditor() {
12
12
  });
13
13
  },
14
14
  deps: [Injector],
15
- multi: true,
16
- },
15
+ multi: true
16
+ }
17
17
  ];
18
18
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvY29uZmlnL2VkaXRvci5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzVCLE9BQU87UUFDSDtZQUNJLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFVBQVUsRUFBRSxDQUFDLFFBQWtCLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRTtnQkFDckMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtvQkFDdkQsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztvQkFFN0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNwRCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDaEIsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3RvciwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY3JlYXRlQ3VzdG9tRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2VsZW1lbnRzJztcclxuXHJcbmltcG9ydCB7IEVESVRPUl9DVVNUT01fRUxFTUVOVFMgfSBmcm9tICcuL2N1c3RvbS1lbGVtZW50cyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3VpUHJvdmlkZUVkaXRvcigpOiBQcm92aWRlciB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBFRElUT1JfQ1VTVE9NX0VMRU1FTlRTLmZvckVhY2goKHsgY29tcG9uZW50LCBzZWxlY3RvciB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGNyZWF0ZUN1c3RvbUVsZW1lbnQoY29tcG9uZW50LCB7IGluamVjdG9yIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKHNlbGVjdG9yLCBlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkZXBzOiBbSW5qZWN0b3JdLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgXTtcclxufVxyXG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvY29uZmlnL2VkaXRvci5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUzRCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzVCLE9BQU87UUFDSDtZQUNJLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFVBQVUsRUFBRSxDQUFDLFFBQWtCLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRTtnQkFDckMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTtvQkFDdkQsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztvQkFFN0QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNwRCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDaEIsS0FBSyxFQUFFLElBQUk7U0FDZDtLQUNKLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBJbmplY3RvciwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY3JlYXRlQ3VzdG9tRWxlbWVudCB9IGZyb20gJ0Bhbmd1bGFyL2VsZW1lbnRzJztcclxuXHJcbmltcG9ydCB7IEVESVRPUl9DVVNUT01fRUxFTUVOVFMgfSBmcm9tICcuL2N1c3RvbS1lbGVtZW50cyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3VpUHJvdmlkZUVkaXRvcigpOiBQcm92aWRlciB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBFRElUT1JfQ1VTVE9NX0VMRU1FTlRTLmZvckVhY2goKHsgY29tcG9uZW50LCBzZWxlY3RvciB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGNyZWF0ZUN1c3RvbUVsZW1lbnQoY29tcG9uZW50LCB7IGluamVjdG9yIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKHNlbGVjdG9yLCBlbGVtZW50KTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBkZXBzOiBbSW5qZWN0b3JdLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgIF07XHJcbn1cclxuIl19
@@ -15,6 +15,6 @@ export const DEFAULT_CONFIG = {
15
15
  autofocus: false
16
16
  };
17
17
  export const CuiEditorTranslations = {
18
- en: import('../i18n/en.json'),
18
+ en: import('../i18n/en.json')
19
19
  };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL2NvbnN0YW50cy9lZGl0b3IuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDBCQUEwQixDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHFCQUFxQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLFdBQVcsQ0FBQztBQUNwRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyx3QkFBd0IsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRywwQkFBMEIsQ0FBQztBQUN0RSxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRywwQkFBMEIsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQztBQUVoQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGtDQUFrQyxDQUFDO0FBQ3RFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLCtCQUErQixDQUFDO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBb0I7SUFDM0MsS0FBSyxFQUFFLEVBQUU7SUFDVCxRQUFRLEVBQUUsS0FBSztJQUNmLFNBQVMsRUFBRSxLQUFLO0NBQ25CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBeUM7SUFDdkUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztDQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNsYXRpb24gfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xyXG5pbXBvcnQgdHlwZSB7IEN1aUVkaXRvckNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCA9ICdjb21iaW5lZC10ZXh0LWJsb2NrLXBhcnQnO1xyXG5leHBvcnQgY29uc3QgQ09NQklORURfVEVYVF9CTE9DSyA9ICdjb21iaW5lZC10ZXh0LWJsb2NrJztcclxuZXhwb3J0IGNvbnN0IENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRSA9ICdwYXJhZ3JhcGgnO1xyXG5leHBvcnQgY29uc3QgQ09NQklORURfVEVYVF9CTE9DS19BRERFRCA9ICdjb21iaW5lZFRleHRCbG9ja0FkZGVkJztcclxuZXhwb3J0IGNvbnN0IENPTUJJTkVEX1RFWFRfQkxPQ0tfVVBEQVRFRCA9ICdjb21iaW5lZFRleHRCbG9ja1VwZGF0ZWQnO1xyXG5leHBvcnQgY29uc3QgQ09NQklORURfVEVYVF9CTE9DS19SRU1PVkVEID0gJ2NvbWJpbmVkVGV4dEJsb2NrUmVtb3ZlZCc7XHJcblxyXG5leHBvcnQgY29uc3QgU1BMSVRfTUFYX0xFTkdUSCA9IDEwMDA7XHJcbmV4cG9ydCBjb25zdCBTUExJVF9MRU5HVEggPSA1MDA7XHJcblxyXG5leHBvcnQgY29uc3QgRURJVE9SX1NFTEVDVE9SID0gJ1tkYXRhLWVkaXRvcl0nO1xyXG5leHBvcnQgY29uc3QgREVGQVVMVF9QTEFDRUhPTERFUiA9IFwiVHlwZSB0ZXh0IG9yICcvJyBmb3IgY29tbWFuZHMuLi5cIjtcclxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUkVBRE9OTFlfUExBQ0VIT0xERVIgPSBcIk5vICdEZXNjcmlwdGlvbicgd2FzIHByb3ZpZGVkXCI7XHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogQ3VpRWRpdG9yQ29uZmlnID0ge1xyXG4gICAgdG9vbHM6IHt9LFxyXG4gICAgcmVhZE9ubHk6IGZhbHNlLFxyXG4gICAgYXV0b2ZvY3VzOiBmYWxzZVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEN1aUVkaXRvclRyYW5zbGF0aW9uczogUmVjb3JkPHN0cmluZywgUHJvbWlzZTxUcmFuc2xhdGlvbj4+ID0ge1xyXG4gICAgZW46IGltcG9ydCgnLi4vaTE4bi9lbi5qc29uJyksXHJcbn0gYXMgY29uc3Q7XHJcblxyXG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbnN0YW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL2NvbnN0YW50cy9lZGl0b3IuY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDBCQUEwQixDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHFCQUFxQixDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLFdBQVcsQ0FBQztBQUNwRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyx3QkFBd0IsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRywwQkFBMEIsQ0FBQztBQUN0RSxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRywwQkFBMEIsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLEdBQUcsQ0FBQztBQUVoQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLGtDQUFrQyxDQUFDO0FBQ3RFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLCtCQUErQixDQUFDO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBb0I7SUFDM0MsS0FBSyxFQUFFLEVBQUU7SUFDVCxRQUFRLEVBQUUsS0FBSztJQUNmLFNBQVMsRUFBRSxLQUFLO0NBQ25CLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBeUM7SUFDdkUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztDQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHJhbnNsYXRpb24gfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xyXG5pbXBvcnQgdHlwZSB7IEN1aUVkaXRvckNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCA9ICdjb21iaW5lZC10ZXh0LWJsb2NrLXBhcnQnO1xyXG5leHBvcnQgY29uc3QgQ09NQklORURfVEVYVF9CTE9DSyA9ICdjb21iaW5lZC10ZXh0LWJsb2NrJztcclxuZXhwb3J0IGNvbnN0IENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRSA9ICdwYXJhZ3JhcGgnO1xyXG5leHBvcnQgY29uc3QgQ09NQklORURfVEVYVF9CTE9DS19BRERFRCA9ICdjb21iaW5lZFRleHRCbG9ja0FkZGVkJztcclxuZXhwb3J0IGNvbnN0IENPTUJJTkVEX1RFWFRfQkxPQ0tfVVBEQVRFRCA9ICdjb21iaW5lZFRleHRCbG9ja1VwZGF0ZWQnO1xyXG5leHBvcnQgY29uc3QgQ09NQklORURfVEVYVF9CTE9DS19SRU1PVkVEID0gJ2NvbWJpbmVkVGV4dEJsb2NrUmVtb3ZlZCc7XHJcblxyXG5leHBvcnQgY29uc3QgU1BMSVRfTUFYX0xFTkdUSCA9IDEwMDA7XHJcbmV4cG9ydCBjb25zdCBTUExJVF9MRU5HVEggPSA1MDA7XHJcblxyXG5leHBvcnQgY29uc3QgRURJVE9SX1NFTEVDVE9SID0gJ1tkYXRhLWVkaXRvcl0nO1xyXG5leHBvcnQgY29uc3QgREVGQVVMVF9QTEFDRUhPTERFUiA9IFwiVHlwZSB0ZXh0IG9yICcvJyBmb3IgY29tbWFuZHMuLi5cIjtcclxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUkVBRE9OTFlfUExBQ0VIT0xERVIgPSBcIk5vICdEZXNjcmlwdGlvbicgd2FzIHByb3ZpZGVkXCI7XHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogQ3VpRWRpdG9yQ29uZmlnID0ge1xyXG4gICAgdG9vbHM6IHt9LFxyXG4gICAgcmVhZE9ubHk6IGZhbHNlLFxyXG4gICAgYXV0b2ZvY3VzOiBmYWxzZVxyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IEN1aUVkaXRvclRyYW5zbGF0aW9uczogUmVjb3JkPHN0cmluZywgUHJvbWlzZTxUcmFuc2xhdGlvbj4+ID0ge1xyXG4gICAgZW46IGltcG9ydCgnLi4vaTE4bi9lbi5qc29uJylcclxufSBhcyBjb25zdDtcclxuIl19
@@ -289,7 +289,7 @@ export class CuiEditorComponent {
289
289
  return;
290
290
  }
291
291
  // TODO: есть варик что что то пойдет не так
292
- this.editor.blocks.render({ blocks: [block] }).then(() => this.isSkip = false);
292
+ this.editor.blocks.render({ blocks: [block] }).then(() => (this.isSkip = false));
293
293
  this.isFirst = false;
294
294
  }
295
295
  setCombinedBlock(block) {
@@ -388,4 +388,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
388
388
  }], requestSize: [{
389
389
  type: Input
390
390
  }] } });
391
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL2VkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUMsT0FBTyxRQUFRLE1BQU0sb0JBQW9CLENBQUM7QUFFMUMsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxHQUFHLEVBQ0gsT0FBTyxFQUNQLFNBQVMsRUFDVCxHQUFHLEVBQ0gsWUFBWSxFQUNaLEtBQUssRUFDTCxPQUFPLEVBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFDSCx3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLGNBQWMsRUFDakIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFXN0QsT0FBTyxFQUFTLGdCQUFnQixFQUFFLGtCQUFrQixFQUFnQixNQUFNLFlBQVksQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFVakUsTUFBTSxPQUFPLGtCQUFrQjtJQVIvQjtRQVNxQixZQUFPLEdBQUcsTUFBTSxDQUFDLFVB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QUFTO3VCQUFDLFFBQVE7Z0JBSUgsV0FBVztzQkFEMUIsTUFBTTtnQkFJQSxXQUFXO3NCQURqQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJbEIsTUFBTTtzQkFEWixLQUFLO2dCQUlDLFdBQVc7c0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgdHlwZSB7IEN1aU51bGxhYmxlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB7IEN1aUlkU2VydmljZSB9IGZyb20gJ0BjdWJ5LXVpL2Nkayc7XG5pbXBvcnQgdHlwZSB7IEFQSSwgQmxvY2tNdXRhdGlvbkV2ZW50LCBPdXRwdXREYXRhIH0gZnJvbSAnQGVkaXRvcmpzL2VkaXRvcmpzJztcbmltcG9ydCBFZGl0b3JKUyBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gICAgY29uY2F0TWFwLFxuICAgIGRlbGF5LFxuICAgIGZpbmFsaXplLFxuICAgIGZyb21FdmVudCxcbiAgICBtYXAsXG4gICAgU3ViamVjdCxcbiAgICB0YWtlV2hpbGUsXG4gICAgdGFwLFxuICAgIHRocm90dGxlVGltZSxcbiAgICB0aW1lcixcbiAgICB0b0FycmF5XG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBnZXRFZGl0b3JDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQge1xuICAgIENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRSxcbiAgICBDT01CSU5FRF9URVhUX0JMT0NLX1BBUlQsXG4gICAgREVGQVVMVF9DT05GSUdcbn0gZnJvbSAnLi9jb25zdGFudHMvZWRpdG9yLmNvbnN0YW50cyc7XG5pbXBvcnQgeyBzZXRFZGl0b3JFdmVudHMgfSBmcm9tICcuL2V2ZW50cy9zZXQtZWRpdG9yLWV2ZW50cyc7XG5pbXBvcnQgdHlwZSB7XG4gICAgQ3VpQmxvY2tEYXRhLFxuICAgIEN1aUJsb2Nrc1JlcXVlc3REYXRhLFxuICAgIEN1aUNvbWJpbmVkQmxvY2tBZGRpbmdFdmVudCxcbiAgICBDdWlDb21iaW5lZEJsb2NrVG9vbERhdGEsXG4gICAgQ3VpQ29tYmluZWRQYXJ0QmxvY2ssXG4gICAgQ3VpRWRpdG9yQ29uZmlnLFxuICAgIEN1aUV2ZW50QWN0aW9uRGF0YSxcbiAgICBDdWlGdWxsQmxvY2tEYXRhXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBCbG9jaywgQ3VpRWRpdG9yU2VydmljZSwgQ3VpSlRleHRBcGlTZXJ2aWNlLCBFdmVudEFjdGlvbnMgfSBmcm9tICcuL3NlcnZpY2VzJztcbmltcG9ydCB7IHJlY2FsY3VsYXRlSW5kZXhlcyB9IGZyb20gJy4vdXRpbHMvcmVjYWxjdWxhdGUtaW5kZXhlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY3VpLWVkaXRvcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9lZGl0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtDdWlFZGl0b3JTZXJ2aWNlLCBDdWlKVGV4dEFwaVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEN1aUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95ID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VpSWRTZXJ2aWNlID0gaW5qZWN0KEN1aUlkU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlZGl0b3JTZXJ2aWNlID0gaW5qZWN0KEN1aUVkaXRvclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgalRleHRTZXJ2aWNlID0gaW5qZWN0KEN1aUpUZXh0QXBpU2VydmljZSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IFBPT0xJTkdfREVMQVkgPSAxMDA7XG4gICAgcHJpdmF0ZSByZWFkb25seSBFTEVNRU5UX1NQQUNFX1RPX0JPVFRPTSA9IDE1MDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IFNDUk9MTF9USFJPVFRMRV9USU1FID0gMjAwO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBpc1JlYWRvbmx5ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5jb25maWc/LnJlYWRPbmx5KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVtcHR5UXVldWUgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgcHJpdmF0ZSBwb29saW5nU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgc2Nyb2xsU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgaXNTa2lwQ29tYmluZWRCbG9ja09uQ2hhbmdlOiBib29sZWFuW10gPSBbXTtcbiAgICBwcml2YXRlIGlzRmlyc3QgPSB0cnVlO1xuICAgIHByaXZhdGUgaXNDaGFuZ2luZyA9IGZhbHNlO1xuICAgIHByaXZhdGUgaXNTa2lwID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBpc1JlcXVlc3RlZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgaXNEZXN0cm95ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGJsb2NrSWRzTWFwID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgICBwcml2YXRlIGNvbWJpbmVkQmxvY2tzID0gbmV3IE1hcCgpO1xuICAgIHByaXZhdGUgaW5kZXggPSAwO1xuICAgIHByaXZhdGUgcGFnZSA9IDA7XG4gICAgcHJpdmF0ZSBhZGRlZEJsb2NrczogQ3VpQmxvY2tEYXRhW10gPSBbXTtcbiAgICBwcml2YXRlIHVwZGF0ZWRCbG9ja3M6IEJsb2NrW10gPSBbXTtcbiAgICBwcml2YXRlIHJlbW92ZWRCbG9ja3NJZHM6IHN0cmluZ1tdID0gW107XG4gICAgcHJpdmF0ZSBjaGFuZ2VzUXVldWU6IEJsb2NrTXV0YXRpb25FdmVudFtdW10gPSBbXTtcbiAgICBwcml2YXRlIGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBlZGl0b3JJZCA9IHRoaXMuY3VpSWRTZXJ2aWNlLmdlbmVyYXRlKCk7XG5cbiAgICBAVmlld0NoaWxkKCdlZGl0b3InKVxuICAgIHByb3RlY3RlZCByZWFkb25seSBlZGl0b3JSZWYhOiBFbGVtZW50UmVmO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGVkaXRvckVtcHR5ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICBwdWJsaWMgZWRpdG9yQXBpSWQhOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjb25maWc6IEN1aUVkaXRvckNvbmZpZyA9IERFRkFVTFRfQ09ORklHO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgcmVxdWVzdFNpemUgPSA0MDtcblxuICAgIHB1YmxpYyBlZGl0b3IhOiBFZGl0b3JKUztcbiAgICBwdWJsaWMgZWRpdG9yRWxlbWVudCE6IEhUTUxFbGVtZW50O1xuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXNbJ2VkaXRvckFwaUlkJ10gfHwgY2hhbmdlc1snY29uZmlnJ10pIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdEVkaXRvckNoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0Rlc3Ryb3llZCA9IHRydWU7XG4gICAgICAgIHRoaXMuZGVzdHJveUVkaXRvcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25TY3JvbGxFdmVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBvdmVyYWxsSGVpZ2h0ID0gZWxlbWVudC5zY3JvbGxIZWlnaHQgLSB0aGlzLkVMRU1FTlRfU1BBQ0VfVE9fQk9UVE9NO1xuICAgICAgICBjb25zdCBjdXJyZW50SGVpZ2h0ID0gZWxlbWVudC5zY3JvbGxUb3AgKyBlbGVtZW50LmNsaWVudEhlaWdodDtcblxuICAgICAgICBpZiAoY3VycmVudEhlaWdodCA8IG92ZXJhbGxIZWlnaHQgfHwgdGhpcy5pc1JlcXVlc3RlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5pc1JlcXVlc3RlZCA9IHRydWU7XG5cbiAgICAgICAgY29uc3Qgc2l6ZSA9IHRoaXMucmVxdWVzdFNpemU7XG4gICAgICAgIGxldCBibG9ja3NDb3VudCA9IDA7XG5cbiAgICAgICAgdGhpcy5nZXRCbG9ja3ModGhpcy5wYWdlLCBzaXplKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKChibG9ja3MpID0+IChibG9ja3NDb3VudCA9IGJsb2Nrcy5sZW5ndGgpKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNSZXF1ZXN0ZWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAoYmxvY2tzQ291bnQgPj0gc2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgICAgIHRoaXMucGFnZSsrO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25FZGl0b3JDaGFuZ2UoXzogQVBJLCBldmVudDogQmxvY2tNdXRhdGlvbkV2ZW50IHwgQmxvY2tNdXRhdGlvbkV2ZW50W10pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNSZWFkb25seSgpIHx8IHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShldmVudCkpIHtcbiAgICAgICAgICAgIGV2ZW50ID0gW2V2ZW50XTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlY2FsY3VsYXRlSW5kZXhlcyh0aGlzLmVkaXRvci5ibG9ja3MpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzQ2hhbmdpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlc1F1ZXVlLnVuc2hpZnQoZXZlbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zdGFydENoYW5nZXMoZXZlbnQpO1xuICAgICAgICB0aGlzLmVkaXRvckVtcHR5LmVtaXQodGhpcy5jaGVja0lzRW1wdHkoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvbkFkZGVkQ29tYmluZWRCbG9jayhkYXRhOiBDdWlDb21iaW5lZEJsb2NrQWRkaW5nRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaXNTa2lwQ29tYmluZWRCbG9ja09uQ2hhbmdlLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5pc1NraXBDb21iaW5lZEJsb2NrT25DaGFuZ2UucG9wKCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGJsb2Nrc1dpdGhvdXRJZCA9IGRhdGEuYmxvY2tzLm1hcCgoYmxvY2spID0+ICh7XG4gICAgICAgICAgICBibG9jazogeyAuLi5ibG9jaywgaWQ6IHVuZGVmaW5lZCB9LFxuICAgICAgICAgICAgaWQ6IGJsb2NrLmlkIVxuICAgICAgICB9KSk7XG5cbiAgICAgICAgdGhpcy5hZGRlZEJsb2Nrcy5wdXNoKC4uLmJsb2Nrc1dpdGhvdXRJZCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblVwZGF0ZWRDb21iaW5lZEJsb2NrKHVwZGF0ZWRCbG9ja3M6IEJsb2NrW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF1cGRhdGVkQmxvY2tzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVkQmxvY2tzLnB1c2goLi4udXBkYXRlZEJsb2Nrcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblJlbW92ZWRDb21iaW5lZEJsb2NrKGJsb2NrSWRzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICBpZiAoIWJsb2NrSWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZW1vdmVkQmxvY2tzSWRzLnB1c2goLi4uYmxvY2tJZHMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEVkaXRvckNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMualRleHRTZXJ2aWNlLmFkZE9wdGlvbnModGhpcy5jb25maWcucmVxdWVzdE9wdGlvbnMpO1xuXG4gICAgICAgIHRoaXMuZWRpdG9yID0gdGhpcy5pbml0RWRpdG9yKHRoaXMuZWRpdG9ySWQpO1xuICAgICAgICB0aGlzLmVkaXRvci5pc1JlYWR5LnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZWRpdG9yRWxlbWVudCA9IHRoaXMuZWRpdG9yUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgICAgIHRoaXMuaW5pdEVkaXRvckV2ZW50cyh0aGlzLmVkaXRvckVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5pbml0U2Nyb2xsT2JzZXJ2ZXIoKTtcbiAgICAgICAgICAgIHRoaXMuc3RhcnRQb29saW5nKHRoaXMucmVxdWVzdFNpemUpO1xuICAgICAgICAgICAgdGhpcy5zZXRMaXN0ZW5lcnNPbkN1c3RvbUJsb2NrQ2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRFZGl0b3IoaWQ6IHN0cmluZyk6IEVkaXRvckpTIHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWc7XG5cbiAgICAgICAgdGhpcy5kZXN0cm95RWRpdG9yKCk7XG4gICAgICAgIHRoaXMuZWRpdG9yID0gbmV3IEVkaXRvckpTKHtcbiAgICAgICAgICAgIC4uLmdldEVkaXRvckNvbmZpZyhpZCwgY29uZmlnKSxcbiAgICAgICAgICAgIG9uQ2hhbmdlOiB0aGlzLm9uRWRpdG9yQ2hhbmdlLmJpbmQodGhpcylcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdG9yO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNjcm9sbE9ic2VydmVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5jb25maWc/LmVsZW1lbnQgPz8gdGhpcy5lZGl0b3JFbGVtZW50O1xuICAgICAgICBjb25zdCBzY3JvbGxPYnNlcnZlciA9IGZyb21FdmVudChlbGVtZW50LCAnc2Nyb2xsJyk7XG5cbiAgICAgICAgdGhpcy5zY3JvbGxTdWJzY3JpcHRpb24gPSBzY3JvbGxPYnNlcnZlclxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveSksXG4gICAgICAgICAgICAgICAgdGhyb3R0bGVUaW1lKHRoaXMuU0NST0xMX1RIUk9UVExFX1RJTUUsIHVuZGVmaW5lZCwge1xuICAgICAgICAgICAgICAgICAgICBsZWFkaW5nOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB0cmFpbGluZzogdHJ1ZVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLm9uU2Nyb2xsRXZlbnQoZWxlbWVudCkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0RWRpdG9yRXZlbnRzKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHJlYWRPbmx5ID0gdGhpcy5pc1JlYWRvbmx5KCk7XG5cbiAgICAgICAgaWYgKHJlYWRPbmx5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBzZXRFZGl0b3JFdmVudHMoZWxlbWVudCwgdGhpcy5hYm9ydENvbnRyb2xsZXIuc2lnbmFsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXJ0UG9vbGluZyhzaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2Nyb2xsRWxlbWVudCA9IHRoaXMuY29uZmlnPy5lbGVtZW50ID8/IHRoaXMuZWRpdG9yRWxlbWVudDtcbiAgICAgICAgY29uc3Qgd2l0aG91dFByZWxvYWQgPSB0aGlzLmNvbmZpZz8ud2l0aG91dFByZWxvYWQ7XG5cbiAgICAgICAgdGhpcy5wb29saW5nU3Vic2NyaXB0aW9uID0gdGltZXIoMCwgdGhpcy5QT09MSU5HX0RFTEFZKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgY29uY2F0TWFwKCgpID0+IHRoaXMuZ2V0QmxvY2tzKHRoaXMucGFnZSwgc2l6ZSkucGlwZShkZWxheSh0aGlzLlBPT0xJTkdfREVMQVkpKSksXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMucGFnZSsrKSxcbiAgICAgICAgICAgICAgICB0YWtlV2hpbGUoXG4gICAgICAgICAgICAgICAgICAgIChibG9ja3MpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAhd2l0aG91dFByZWxvYWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbEVsZW1lbnQuc2Nyb2xsSGVpZ2h0IDw9IHNjcm9sbEVsZW1lbnQuY2xpZW50SGVpZ2h0ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBibG9ja3MubGVuZ3RoID49IHNpemVcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNEZXN0cm95ZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhcnRCbG9jaygpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95RWRpdG9yKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICAgICAgICB0aGlzLnJlc2V0RGF0YSgpO1xuICAgICAgICAvLyBUT0RPOiDQsiDRgNCw0L3QtNC+0Lwg0LrQtdC50YHQsNGFINC/0LDQtNCw0LXRgiDQvtGI0LjQsdC60LAg0LXRgdC70Lgg0YPQsdGA0LDRgtGMINC/0YDQvtCy0LXRgNC60YMg0L3QsCDQstGL0LfQvtCyIGRlc3Ryb3lcbiAgICAgICAgdGhpcy5lZGl0b3I/LmRlc3Ryb3k/LigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TGlzdGVuZXJzT25DdXN0b21CbG9ja0NoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zZXRMaXN0ZW5lcnNPbkN1c3RvbUJsb2NrQ2hhbmdlcyh0aGlzLmVkaXRvciwge1xuICAgICAgICAgICAgcmVtb3ZlZENhbGxiYWNrOiB0aGlzLm9uUmVtb3ZlZENvbWJpbmVkQmxvY2suYmluZCh0aGlzKSxcbiAgICAgICAgICAgIHVwZGF0ZWRDYWxsYmFjazogdGhpcy5vblVwZGF0ZWRDb21iaW5lZEJsb2NrLmJpbmQodGhpcyksXG4gICAgICAgICAgICBhZGRlZENhbGxiYWNrOiB0aGlzLm9uQWRkZWRDb21iaW5lZEJsb2NrLmJpbmQodGhpcylcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBzdGFydENoYW5nZXMoZXZlbnQ6IEJsb2NrTXV0YXRpb25FdmVudFtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLmlzU2tpcCB8fCB0aGlzLmlzQ2hhbmdpbmcpIHtcbiAgICAgICAgICAgIHRoaXMuaXNTa2lwID0gZmFsc2U7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNDaGFuZ2luZyA9IHRydWU7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGVkaXRvck91dHB1dCA9IGF3YWl0IHRoaXMuZWRpdG9yLnNhdmUoKTtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50cyA9IGV2ZW50LmZpbHRlcigoZGF0YSkgPT4gZGF0YS5kZXRhaWwudGFyZ2V0Lm5hbWUgIT09IENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRSk7XG4gICAgICAgICAgICBjb25zdCBibG9ja3MgPSB0aGlzLmVkaXRvclNlcnZpY2Uuc29ydEV2ZW50c0J5VHlwZXMoZXZlbnRzKTtcbiAgICAgICAgICAgIGNvbnN0IHsgYWRkQmxvY2tzJCwgYWRkZWRCbG9ja3MgfSA9IHRoaXMuY29sbGVjdEFkZGVkQmxvY2tzUmVxdWVzdChibG9ja3MsIGVkaXRvck91dHB1dCk7XG5cbiAgICAgICAgICAgIHRoaXMuYWRkZWRCbG9ja3MgPSBbXTtcblxuICAgICAgICAgICAgYWRkQmxvY2tzJFxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YXAoKGJsb2NrSWRzKSA9PiB0aGlzLnNldEJsb2NrSWRzVG9NYXAoYmxvY2tJZHMsIGFkZGVkQmxvY2tzKSksXG4gICAgICAgICAgICAgICAgICAgIGNvbmNhdE1hcCgoKSA9PiB0aGlzLmNvbGxlY3RVcGRhdGVkQmxvY2tzUmVxdWVzdChibG9ja3MsIGVkaXRvck91dHB1dCkpLFxuICAgICAgICAgICAgICAgICAgICBjb25jYXRNYXAoKCkgPT4gdGhpcy5jb2xsZWN0UmVtb3ZlZEJsb2Nrc1JlcXVlc3QoYmxvY2tzKSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB0aGlzLnN0YXJ0TmV4dENoYW5nZSgpLFxuICAgICAgICAgICAgICAgICAgICBlcnJvcjogKCkgPT4gdGhpcy5zdGFydE5leHRDaGFuZ2UoKVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXJ0TmV4dENoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc0NoYW5naW5nID0gZmFsc2U7XG5cbiAgICAgICAgY29uc3QgbmV4dEV2ZW50cyA9IHRoaXMuY2hhbmdlc1F1ZXVlLnBvcCgpO1xuXG4gICAgICAgIGlmIChuZXh0RXZlbnRzKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0Q2hhbmdlcyhuZXh0RXZlbnRzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZW1wdHlRdWV1ZS5uZXh0KG51bGwpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29sbGVjdEFkZGVkQmxvY2tzUmVxdWVzdChibG9ja3M6IEN1aUV2ZW50QWN0aW9uRGF0YSwgZWRpdG9yT3V0cHV0OiBPdXRwdXREYXRhKTogQ3VpQmxvY2tzUmVxdWVzdERhdGEge1xuICAgICAgICBjb25zdCBkZWZhdWx0QmxvY2tzV2l0aEluZGV4ID0gYmxvY2tzW0V2ZW50QWN0aW9ucy5hZGRdLm1hcCgoYWRkZWRCbG9jaykgPT5cbiAgICAgICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5nZXRGdWxsQmxvY2tEYXRhKGFkZGVkQmxvY2ssIGVkaXRvck91dHB1dClcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgY29tYmluZWRCbG9ja3NXaXRoSW5kZXggPSB0aGlzLmFkZGVkQmxvY2tzLm1hcCgoYmxvY2spID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmVkaXRvckVsZW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEtaWQ9XCIke2Jsb2NrLmlkfVwiXWApIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBOdW1iZXIoZWxlbWVudD8uZGF0YXNldFsnaW5kZXgnXSk7XG5cbiAgICAgICAgICAgIHJldHVybiB7IC4uLmJsb2NrLCBpbmRleCB9O1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBhZGRlZEJsb2NrcyA9IFsuLi5kZWZhdWx0QmxvY2tzV2l0aEluZGV4LCAuLi5jb21iaW5lZEJsb2Nrc1dpdGhJbmRleF0uc29ydCgoZmlyc3QsIHNlY29uZCkgPT4gZmlyc3QuaW5kZXggLSBzZWNvbmQuaW5kZXgpO1xuICAgICAgICBjb25zdCBhZGRCbG9ja3MkID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmNvbGxlY3RBZGRlZEJsb2Nrc1JlcXVlc3QodGhpcy5lZGl0b3JBcGlJZCwgYWRkZWRCbG9ja3MpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBhZGRlZEJsb2NrcyxcbiAgICAgICAgICAgIGFkZEJsb2NrcyRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbGxlY3RVcGRhdGVkQmxvY2tzUmVxdWVzdChibG9ja3M6IEN1aUV2ZW50QWN0aW9uRGF0YSwgZWRpdG9yT3V0cHV0OiBPdXRwdXREYXRhKTogT2JzZXJ2YWJsZTxCbG9ja1tdPiB7XG4gICAgICAgIGJsb2Nrc1tFdmVudEFjdGlvbnMudXBkYXRlXS5mb3JFYWNoKCh1cGRhdGVCbG9jaykgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBpZCwgYmxvY2sgfSA9IHRoaXMuZWRpdG9yU2VydmljZS5nZXRGdWxsQmxvY2tEYXRhKHVwZGF0ZUJsb2NrLCBlZGl0b3JPdXRwdXQpO1xuICAgICAgICAgICAgYmxvY2suaWQgPSBpZDtcblxuICAgICAgICAgICAgdGhpcy51cGRhdGVkQmxvY2tzLnB1c2goYmxvY2spO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCB1cGRhdGVCbG9ja3MkID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmNvbGxlY3RVcGRhdGVkQmxvY2tzUmVxdWVzdCh0aGlzLnVwZGF0ZWRCbG9ja3MsIHRoaXMuYmxvY2tJZHNNYXApO1xuXG4gICAgICAgIHRoaXMudXBkYXRlZEJsb2NrcyA9IFtdO1xuXG4gICAgICAgIHJldHVybiB1cGRhdGVCbG9ja3MkO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29sbGVjdFJlbW92ZWRCbG9ja3NSZXF1ZXN0KGJsb2NrczogQ3VpRXZlbnRBY3Rpb25EYXRhKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIGJsb2Nrc1tFdmVudEFjdGlvbnMucmVtb3ZlXS5mb3JFYWNoKChibG9jaykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaWQgPSBibG9jay5kZXRhaWwudGFyZ2V0LmlkO1xuXG4gICAgICAgICAgICB0aGlzLnJlbW92ZWRCbG9ja3NJZHMucHVzaChpZCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IHJlbW92ZUJsb2NrcyQgPSB0aGlzLmVkaXRvclNlcnZpY2UuY29sbGVjdFJlbW92ZWRCbG9ja3NSZXF1ZXN0KFxuICAgICAgICAgICAgdGhpcy5lZGl0b3JBcGlJZCxcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlZEJsb2Nrc0lkcyxcbiAgICAgICAgICAgIHRoaXMuYmxvY2tJZHNNYXBcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5yZW1vdmVkQmxvY2tzSWRzID0gW107XG5cbiAgICAgICAgcmV0dXJuIHJlbW92ZUJsb2NrcyQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCbG9ja3MocGFnZSA9IDAsIHNpemUgPSA0MCk6IE9ic2VydmFibGU8QmxvY2tbXT4ge1xuICAgICAgICBsZXQgY29tYmluZWRCbG9jazogQ3VpTnVsbGFibGU8QmxvY2s+O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmpUZXh0U2VydmljZS5nZXRCbG9ja3ModGhpcy5lZGl0b3JBcGlJZCwgcGFnZSwgc2l6ZSkucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3kpLFxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjb21iaW5lZEJsb2NrKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkQ29tYmluZWRCbG9jayhjb21iaW5lZEJsb2NrKTtcbiAgICAgICAgICAgICAgICAgICAgY29tYmluZWRCbG9jayA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmVjYWxjdWxhdGVJbmRleGVzKHRoaXMuZWRpdG9yLmJsb2Nrcyk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCgoYmxvY2spID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYmxvY2sudHlwZSA9PT0gQ09NQklORURfVEVYVF9CTE9DS19QQVJUKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrRGF0YSA9IGJsb2NrLmRhdGEgYXMgeyBwYXJlbnRJZDogc3RyaW5nIH07XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbWJpbmVkQmxvY2sgJiYgYmxvY2tEYXRhLnBhcmVudElkISAhPT0gY29tYmluZWRCbG9jaz8uaWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkQ29tYmluZWRCbG9jayhjb21iaW5lZEJsb2NrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbWJpbmVkQmxvY2sgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgY29tYmluZWRCbG9jayA9IHRoaXMuc2V0Q29tYmluZWRCbG9jayhibG9jayk7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChjb21iaW5lZEJsb2NrKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkQ29tYmluZWRCbG9jayhjb21iaW5lZEJsb2NrKTtcbiAgICAgICAgICAgICAgICAgICAgY29tYmluZWRCbG9jayA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5hZGRCbG9jayhibG9jayk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRvQXJyYXkoKVxuICAgICAgICApIGFzIHVua25vd24gYXMgT2JzZXJ2YWJsZTxCbG9ja1tdPjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEJsb2NrKGJsb2NrOiBCbG9jayk6IHZvaWQge1xuICAgICAgICBpZiAodHlwZW9mIGJsb2NrLnR5cGUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmJsb2NrSWRzTWFwLnNldChibG9jay5pZCEsIGJsb2NrLmlkISk7XG4gICAgICAgIHRoaXMuaW5zZXJ0KGJsb2NrKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZENvbWJpbmVkQmxvY2soY29tYmluZWRCbG9jazogQmxvY2spOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1NraXBDb21iaW5lZEJsb2NrT25DaGFuZ2UucHVzaCh0cnVlKTtcbiAgICAgICAgY29uc3QgYmxvY2sgPSB0aGlzLmVkaXRvci5ibG9ja3MuZ2V0QnlJZChjb21iaW5lZEJsb2NrLmlkIHx8ICcnKTtcblxuICAgICAgICBpZiAoYmxvY2spIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yLmJsb2Nrcy51cGRhdGUoYmxvY2suaWQsIGNvbWJpbmVkQmxvY2suZGF0YSBhcyBDdWlDb21iaW5lZFBhcnRCbG9jayk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5zZXJ0KGNvbWJpbmVkQmxvY2spO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5zZXJ0KGJsb2NrOiBCbG9jayk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoZWNrRmlyc3QoYmxvY2spO1xuICAgICAgICB0aGlzLmluZGV4Kys7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0ZpcnN0KGJsb2NrOiBCbG9jayk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuaXNGaXJzdCkge1xuICAgICAgICAgICAgdGhpcy5pc1NraXAgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5lZGl0b3IuYmxvY2tzLmluc2VydChibG9jay50eXBlLCBibG9jay5kYXRhLCB7fSwgdGhpcy5pbmRleCwgZmFsc2UsIGZhbHNlLCBibG9jay5pZCk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRPRE86INC10YHRgtGMINCy0LDRgNC40Log0YfRgtC+INGH0YLQviDRgtC+INC/0L7QudC00LXRgiDQvdC1INGC0LDQulxuICAgICAgICB0aGlzLmVkaXRvci5ibG9ja3MucmVuZGVyKHsgYmxvY2tzOiBbYmxvY2tdIH0pLnRoZW4oKCkgPT4gdGhpcy5pc1NraXAgPSBmYWxzZSk7XG4gICAgICAgIHRoaXMuaXNGaXJzdCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q29tYmluZWRCbG9jayhibG9jazogQmxvY2spOiBCbG9jayB7XG4gICAgICAgIGNvbnN0IGNvbWJpbmVkQmxvY2tEYXRhID0gYmxvY2suZGF0YSBhcyB7IHBhcmVudElkOiBzdHJpbmcgfTtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5jb21iaW5lZEJsb2Nrcy5nZXQoY29tYmluZWRCbG9ja0RhdGEucGFyZW50SWQpO1xuXG4gICAgICAgIHRoaXMuYmxvY2tJZHNNYXAuc2V0KGJsb2NrLmlkISwgYmxvY2suaWQhKTtcblxuICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnREYXRhID0gcGFyZW50LmRhdGEgYXMgeyB0ZXh0QmxvY2tzOiBCbG9ja1tdIH07XG4gICAgICAgICAgICBwYXJlbnREYXRhLnRleHRCbG9ja3MucHVzaChibG9jayk7XG5cbiAgICAgICAgICAgIHJldHVybiBwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJlbnRPYmplY3Q6IEJsb2NrID0ge1xuICAgICAgICAgICAgaWQ6IGNvbWJpbmVkQmxvY2tEYXRhLnBhcmVudElkLFxuICAgICAgICAgICAgdHlwZTogQ09NQklORURfVEVYVF9CTE9DS19OQU1FLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGlkOiBjb21iaW5lZEJsb2NrRGF0YS5wYXJlbnRJZCxcbiAgICAgICAgICAgICAgICB0ZXh0QmxvY2tzOiBbYmxvY2tdXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5jb21iaW5lZEJsb2Nrcy5zZXQoY29tYmluZWRCbG9ja0RhdGEucGFyZW50SWQsIHBhcmVudE9iamVjdCk7XG5cbiAgICAgICAgcmV0dXJuIHBhcmVudE9iamVjdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEJsb2NrSWRzVG9NYXAoYmxvY2tJZHM6IHN0cmluZ1tdLCBhZGRlZEJsb2NrczogQ3VpRnVsbEJsb2NrRGF0YVtdKTogdm9pZCB7XG4gICAgICAgIGlmICghYmxvY2tJZHMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBhZGRlZEJsb2Nrcy5mb3JFYWNoKChibG9ja0RhdGEsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmJsb2NrSWRzTWFwLnNldChibG9ja0RhdGEuaWQsIGJsb2NrSWRzW2luZGV4XSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U3RhcnRCbG9jaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmxvY2tJZHNNYXAuc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRGb2N1cygpO1xuICAgICAgICAgICAgdGhpcy5lZGl0b3JFbXB0eS5lbWl0KHRoaXMuY2hlY2tJc0VtcHR5KCkpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc1JlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yLnJlbmRlcih7IGJsb2NrczogW10gfSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zZXRTdGFydEJsb2NrKHRoaXMuZWRpdG9yQXBpSWQsIGFzeW5jIChibG9jazogQmxvY2s8Q3VpQ29tYmluZWRCbG9ja1Rvb2xEYXRhPiwgaWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgdGhpcy5ibG9ja0lkc01hcC5zZXQoaWQsIGlkKTtcbiAgICAgICAgICAgIHRoaXMuaXNTa2lwQ29tYmluZWRCbG9ja09uQ2hhbmdlLnB1c2godHJ1ZSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZWRpdG9yLnJlbmRlcih7IGJsb2NrczogW2Jsb2NrXSB9KTtcblxuICAgICAgICAgICAgdGhpcy5zZXRGb2N1cygpO1xuICAgICAgICAgICAgcmVjYWxjdWxhdGVJbmRleGVzKHRoaXMuZWRpdG9yLmJsb2Nrcyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Rm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5jb25maWc/LmF1dG9mb2N1cykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5lZGl0b3IuY2FyZXQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNoZWNrSXNFbXB0eSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgTUlOX0JMT0NLU19DT1VOVCA9IDE7XG4gICAgICAgIGNvbnN0IFJFREFDVE9SX1NFTEVDVE9SID0gJy5jb2RleC1lZGl0b3JfX3JlZGFjdG9yJztcbiAgICAgICAgY29uc3QgcmVkYWN0b3IgPSB0aGlzLmVkaXRvckVsZW1lbnQucXVlcnlTZWxlY3RvcihSRURBQ1RPUl9TRUxFQ1RPUik7XG4gICAgICAgIGNvbnN0IGJsb2Nrc0NvdW50ID0gcmVkYWN0b3I/LmNoaWxkRWxlbWVudENvdW50ID8/IDA7XG5cbiAgICAgICAgcmV0dXJuIGJsb2Nrc0NvdW50IDw9IE1JTl9CTE9DS1NfQ09VTlQgJiYgIXJlZGFjdG9yPy50ZXh0Q29udGVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0RGF0YSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zY3JvbGxTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMucG9vbGluZ1N1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5pc1NraXBDb21iaW5lZEJsb2NrT25DaGFuZ2UgPSBbXTtcbiAgICAgICAgdGhpcy5pc0ZpcnN0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pc0NoYW5naW5nID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNTa2lwID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNSZXF1ZXN0ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5ibG9ja0lkc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgICAgIHRoaXMuY29tYmluZWRCbG9ja3MgPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuaW5kZXggPSAwO1xuICAgICAgICB0aGlzLnBhZ2UgPSAwO1xuICAgICAgICB0aGlzLmFkZGVkQmxvY2tzID0gW107XG4gICAgICAgIHRoaXMudXBkYXRlZEJsb2NrcyA9IFtdO1xuICAgICAgICB0aGlzLnJlbW92ZWRCbG9ja3NJZHMgPSBbXTtcbiAgICAgICAgdGhpcy5jaGFuZ2VzUXVldWUgPSBbXTtcbiAgICAgICAgdGhpcy5hYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgICNlZGl0b3JcbiAgICBbaWRdPVwiZWRpdG9ySWRcIlxuICAgIGRhdGEtZWRpdG9yXG4gICAgW2NsYXNzLl9yZWFkb25seV09XCJjb25maWcucmVhZE9ubHlcIlxuPjwvZGl2PlxuIl19
391
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL2VkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFNUMsT0FBTyxRQUFRLE1BQU0sb0JBQW9CLENBQUM7QUFFMUMsT0FBTyxFQUNILFNBQVMsRUFDVCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxHQUFHLEVBQ0gsT0FBTyxFQUNQLFNBQVMsRUFDVCxHQUFHLEVBQ0gsWUFBWSxFQUNaLEtBQUssRUFDTCxPQUFPLEVBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSxjQUFjLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsSCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFXN0QsT0FBTyxFQUFTLGdCQUFnQixFQUFFLGtCQUFrQixFQUFnQixNQUFNLFlBQVksQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFVakUsTUFBTSxPQUFPLGtCQUFrQjtJQVIvQjtRQVNxQixZQUFPLEdBQUcsTUFBTSxDQUFDLFVBQVUs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QVM7c0JBRDNCLFNBQVM7dUJBQUMsUUFBUTtnQkFJSCxXQUFXO3NCQUQxQixNQUFNO2dCQUlBLFdBQVc7c0JBRGpCLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUlsQixNQUFNO3NCQURaLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRWxlbWVudFJlZiwgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBEZXN0cm95UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB0eXBlIHsgQ3VpTnVsbGFibGUgfSBmcm9tICdAY3VieS11aS9jZGsnO1xuaW1wb3J0IHsgQ3VpSWRTZXJ2aWNlIH0gZnJvbSAnQGN1YnktdWkvY2RrJztcbmltcG9ydCB0eXBlIHsgQVBJLCBCbG9ja011dGF0aW9uRXZlbnQsIE91dHB1dERhdGEgfSBmcm9tICdAZWRpdG9yanMvZWRpdG9yanMnO1xuaW1wb3J0IEVkaXRvckpTIGZyb20gJ0BlZGl0b3Jqcy9lZGl0b3Jqcyc7XG5pbXBvcnQgdHlwZSB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBjb25jYXRNYXAsXG4gICAgZGVsYXksXG4gICAgZmluYWxpemUsXG4gICAgZnJvbUV2ZW50LFxuICAgIG1hcCxcbiAgICBTdWJqZWN0LFxuICAgIHRha2VXaGlsZSxcbiAgICB0YXAsXG4gICAgdGhyb3R0bGVUaW1lLFxuICAgIHRpbWVyLFxuICAgIHRvQXJyYXlcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGdldEVkaXRvckNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IENPTUJJTkVEX1RFWFRfQkxPQ0tfTkFNRSwgQ09NQklORURfVEVYVF9CTE9DS19QQVJULCBERUZBVUxUX0NPTkZJRyB9IGZyb20gJy4vY29uc3RhbnRzL2VkaXRvci5jb25zdGFudHMnO1xuaW1wb3J0IHsgc2V0RWRpdG9yRXZlbnRzIH0gZnJvbSAnLi9ldmVudHMvc2V0LWVkaXRvci1ldmVudHMnO1xuaW1wb3J0IHR5cGUge1xuICAgIEN1aUJsb2NrRGF0YSxcbiAgICBDdWlCbG9ja3NSZXF1ZXN0RGF0YSxcbiAgICBDdWlDb21iaW5lZEJsb2NrQWRkaW5nRXZlbnQsXG4gICAgQ3VpQ29tYmluZWRCbG9ja1Rvb2xEYXRhLFxuICAgIEN1aUNvbWJpbmVkUGFydEJsb2NrLFxuICAgIEN1aUVkaXRvckNvbmZpZyxcbiAgICBDdWlFdmVudEFjdGlvbkRhdGEsXG4gICAgQ3VpRnVsbEJsb2NrRGF0YVxufSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQmxvY2ssIEN1aUVkaXRvclNlcnZpY2UsIEN1aUpUZXh0QXBpU2VydmljZSwgRXZlbnRBY3Rpb25zIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyByZWNhbGN1bGF0ZUluZGV4ZXMgfSBmcm9tICcuL3V0aWxzL3JlY2FsY3VsYXRlLWluZGV4ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2N1aS1lZGl0b3InLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbQ3VpRWRpdG9yU2VydmljZSwgQ3VpSlRleHRBcGlTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBDdWlFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1aUlkU2VydmljZSA9IGluamVjdChDdWlJZFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWRpdG9yU2VydmljZSA9IGluamVjdChDdWlFZGl0b3JTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGpUZXh0U2VydmljZSA9IGluamVjdChDdWlKVGV4dEFwaVNlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBQT09MSU5HX0RFTEFZID0gMTAwO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgRUxFTUVOVF9TUEFDRV9UT19CT1RUT00gPSAxNTA7XG4gICAgcHJpdmF0ZSByZWFkb25seSBTQ1JPTExfVEhST1RUTEVfVElNRSA9IDIwMDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNSZWFkb25seSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnPy5yZWFkT25seSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbXB0eVF1ZXVlID0gbmV3IFN1YmplY3QoKTtcblxuICAgIHByaXZhdGUgcG9vbGluZ1N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIHNjcm9sbFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIGlzU2tpcENvbWJpbmVkQmxvY2tPbkNoYW5nZTogYm9vbGVhbltdID0gW107XG4gICAgcHJpdmF0ZSBpc0ZpcnN0ID0gdHJ1ZTtcbiAgICBwcml2YXRlIGlzQ2hhbmdpbmcgPSBmYWxzZTtcbiAgICBwcml2YXRlIGlzU2tpcCA9IGZhbHNlO1xuICAgIHByaXZhdGUgaXNSZXF1ZXN0ZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIGlzRGVzdHJveWVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBibG9ja0lkc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG4gICAgcHJpdmF0ZSBjb21iaW5lZEJsb2NrcyA9IG5ldyBNYXAoKTtcbiAgICBwcml2YXRlIGluZGV4ID0gMDtcbiAgICBwcml2YXRlIHBhZ2UgPSAwO1xuICAgIHByaXZhdGUgYWRkZWRCbG9ja3M6IEN1aUJsb2NrRGF0YVtdID0gW107XG4gICAgcHJpdmF0ZSB1cGRhdGVkQmxvY2tzOiBCbG9ja1tdID0gW107XG4gICAgcHJpdmF0ZSByZW1vdmVkQmxvY2tzSWRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHByaXZhdGUgY2hhbmdlc1F1ZXVlOiBCbG9ja011dGF0aW9uRXZlbnRbXVtdID0gW107XG4gICAgcHJpdmF0ZSBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWRpdG9ySWQgPSB0aGlzLmN1aUlkU2VydmljZS5nZW5lcmF0ZSgpO1xuXG4gICAgQFZpZXdDaGlsZCgnZWRpdG9yJylcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWRpdG9yUmVmITogRWxlbWVudFJlZjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyByZWFkb25seSBlZGl0b3JFbXB0eSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgcHVibGljIGVkaXRvckFwaUlkITogc3RyaW5nO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgY29uZmlnOiBDdWlFZGl0b3JDb25maWcgPSBERUZBVUxUX0NPTkZJRztcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHJlcXVlc3RTaXplID0gNDA7XG5cbiAgICBwdWJsaWMgZWRpdG9yITogRWRpdG9ySlM7XG4gICAgcHVibGljIGVkaXRvckVsZW1lbnQhOiBIVE1MRWxlbWVudDtcblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChjaGFuZ2VzWydlZGl0b3JBcGlJZCddIHx8IGNoYW5nZXNbJ2NvbmZpZyddKSB7XG4gICAgICAgICAgICB0aGlzLmluaXRFZGl0b3JDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNEZXN0cm95ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLmRlc3Ryb3lFZGl0b3IoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uU2Nyb2xsRXZlbnQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb3ZlcmFsbEhlaWdodCA9IGVsZW1lbnQuc2Nyb2xsSGVpZ2h0IC0gdGhpcy5FTEVNRU5UX1NQQUNFX1RPX0JPVFRPTTtcbiAgICAgICAgY29uc3QgY3VycmVudEhlaWdodCA9IGVsZW1lbnQuc2Nyb2xsVG9wICsgZWxlbWVudC5jbGllbnRIZWlnaHQ7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRIZWlnaHQgPCBvdmVyYWxsSGVpZ2h0IHx8IHRoaXMuaXNSZXF1ZXN0ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaXNSZXF1ZXN0ZWQgPSB0cnVlO1xuXG4gICAgICAgIGNvbnN0IHNpemUgPSB0aGlzLnJlcXVlc3RTaXplO1xuICAgICAgICBsZXQgYmxvY2tzQ291bnQgPSAwO1xuXG4gICAgICAgIHRoaXMuZ2V0QmxvY2tzKHRoaXMucGFnZSwgc2l6ZSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoYmxvY2tzKSA9PiAoYmxvY2tzQ291bnQgPSBibG9ja3MubGVuZ3RoKSksXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUmVxdWVzdGVkID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGJsb2Nrc0NvdW50ID49IHNpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgICAgICB0aGlzLnBhZ2UrKztcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uRWRpdG9yQ2hhbmdlKF86IEFQSSwgZXZlbnQ6IEJsb2NrTXV0YXRpb25FdmVudCB8IEJsb2NrTXV0YXRpb25FdmVudFtdKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzUmVhZG9ubHkoKSB8fCB0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoZXZlbnQpKSB7XG4gICAgICAgICAgICBldmVudCA9IFtldmVudF07XG4gICAgICAgIH1cblxuICAgICAgICByZWNhbGN1bGF0ZUluZGV4ZXModGhpcy5lZGl0b3IuYmxvY2tzKTtcblxuICAgICAgICBpZiAodGhpcy5pc0NoYW5naW5nKSB7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZXNRdWV1ZS51bnNoaWZ0KGV2ZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3RhcnRDaGFuZ2VzKGV2ZW50KTtcbiAgICAgICAgdGhpcy5lZGl0b3JFbXB0eS5lbWl0KHRoaXMuY2hlY2tJc0VtcHR5KCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25BZGRlZENvbWJpbmVkQmxvY2soZGF0YTogQ3VpQ29tYmluZWRCbG9ja0FkZGluZ0V2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzU2tpcENvbWJpbmVkQmxvY2tPbkNoYW5nZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuaXNTa2lwQ29tYmluZWRCbG9ja09uQ2hhbmdlLnBvcCgpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBibG9ja3NXaXRob3V0SWQgPSBkYXRhLmJsb2Nrcy5tYXAoKGJsb2NrKSA9PiAoe1xuICAgICAgICAgICAgYmxvY2s6IHsgLi4uYmxvY2ssIGlkOiB1bmRlZmluZWQgfSxcbiAgICAgICAgICAgIGlkOiBibG9jay5pZCFcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHRoaXMuYWRkZWRCbG9ja3MucHVzaCguLi5ibG9ja3NXaXRob3V0SWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25VcGRhdGVkQ29tYmluZWRCbG9jayh1cGRhdGVkQmxvY2tzOiBCbG9ja1tdKTogdm9pZCB7XG4gICAgICAgIGlmICghdXBkYXRlZEJsb2Nrcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlZEJsb2Nrcy5wdXNoKC4uLnVwZGF0ZWRCbG9ja3MpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25SZW1vdmVkQ29tYmluZWRCbG9jayhibG9ja0lkczogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgaWYgKCFibG9ja0lkcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVtb3ZlZEJsb2Nrc0lkcy5wdXNoKC4uLmJsb2NrSWRzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRFZGl0b3JDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmpUZXh0U2VydmljZS5hZGRPcHRpb25zKHRoaXMuY29uZmlnLnJlcXVlc3RPcHRpb25zKTtcblxuICAgICAgICB0aGlzLmVkaXRvciA9IHRoaXMuaW5pdEVkaXRvcih0aGlzLmVkaXRvcklkKTtcbiAgICAgICAgdGhpcy5lZGl0b3IuaXNSZWFkeS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmVkaXRvckVsZW1lbnQgPSB0aGlzLmVkaXRvclJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgICAgICB0aGlzLmluaXRFZGl0b3JFdmVudHModGhpcy5lZGl0b3JFbGVtZW50KTtcbiAgICAgICAgICAgIHRoaXMuaW5pdFNjcm9sbE9ic2VydmVyKCk7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0UG9vbGluZyh0aGlzLnJlcXVlc3RTaXplKTtcbiAgICAgICAgICAgIHRoaXMuc2V0TGlzdGVuZXJzT25DdXN0b21CbG9ja0NoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0RWRpdG9yKGlkOiBzdHJpbmcpOiBFZGl0b3JKUyB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnO1xuXG4gICAgICAgIHRoaXMuZGVzdHJveUVkaXRvcigpO1xuICAgICAgICB0aGlzLmVkaXRvciA9IG5ldyBFZGl0b3JKUyh7XG4gICAgICAgICAgICAuLi5nZXRFZGl0b3JDb25maWcoaWQsIGNvbmZpZyksXG4gICAgICAgICAgICBvbkNoYW5nZTogdGhpcy5vbkVkaXRvckNoYW5nZS5iaW5kKHRoaXMpXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmVkaXRvcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTY3JvbGxPYnNlcnZlcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuY29uZmlnPy5lbGVtZW50ID8/IHRoaXMuZWRpdG9yRWxlbWVudDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsT2JzZXJ2ZXIgPSBmcm9tRXZlbnQoZWxlbWVudCwgJ3Njcm9sbCcpO1xuXG4gICAgICAgIHRoaXMuc2Nyb2xsU3Vic2NyaXB0aW9uID0gc2Nyb2xsT2JzZXJ2ZXJcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3kpLFxuICAgICAgICAgICAgICAgIHRocm90dGxlVGltZSh0aGlzLlNDUk9MTF9USFJPVFRMRV9USU1FLCB1bmRlZmluZWQsIHtcbiAgICAgICAgICAgICAgICAgICAgbGVhZGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmc6IHRydWVcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5vblNjcm9sbEV2ZW50KGVsZW1lbnQpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdEVkaXRvckV2ZW50cyhlbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCByZWFkT25seSA9IHRoaXMuaXNSZWFkb25seSgpO1xuXG4gICAgICAgIGlmIChyZWFkT25seSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2V0RWRpdG9yRXZlbnRzKGVsZW1lbnQsIHRoaXMuYWJvcnRDb250cm9sbGVyLnNpZ25hbCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydFBvb2xpbmcoc2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSB0aGlzLmNvbmZpZz8uZWxlbWVudCA/PyB0aGlzLmVkaXRvckVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHdpdGhvdXRQcmVsb2FkID0gdGhpcy5jb25maWc/LndpdGhvdXRQcmVsb2FkO1xuXG4gICAgICAgIHRoaXMucG9vbGluZ1N1YnNjcmlwdGlvbiA9IHRpbWVyKDAsIHRoaXMuUE9PTElOR19ERUxBWSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGNvbmNhdE1hcCgoKSA9PiB0aGlzLmdldEJsb2Nrcyh0aGlzLnBhZ2UsIHNpemUpLnBpcGUoZGVsYXkodGhpcy5QT09MSU5HX0RFTEFZKSkpLFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLnBhZ2UrKyksXG4gICAgICAgICAgICAgICAgdGFrZVdoaWxlKFxuICAgICAgICAgICAgICAgICAgICAoYmxvY2tzKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgIXdpdGhvdXRQcmVsb2FkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxFbGVtZW50LnNjcm9sbEhlaWdodCA8PSBzY3JvbGxFbGVtZW50LmNsaWVudEhlaWdodCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgYmxvY2tzLmxlbmd0aCA+PSBzaXplXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzRGVzdHJveWVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXJ0QmxvY2soKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVzdHJveUVkaXRvcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICAgICAgdGhpcy5yZXNldERhdGEoKTtcbiAgICAgICAgLy8gVE9ETzog0LIg0YDQsNC90LTQvtC8INC60LXQudGB0LDRhSDQv9Cw0LTQsNC10YIg0L7RiNC40LHQutCwINC10YHQu9C4INGD0LHRgNCw0YLRjCDQv9GA0L7QstC10YDQutGDINC90LAg0LLRi9C30L7QsiBkZXN0cm95XG4gICAgICAgIHRoaXMuZWRpdG9yPy5kZXN0cm95Py4oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldExpc3RlbmVyc09uQ3VzdG9tQmxvY2tDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2V0TGlzdGVuZXJzT25DdXN0b21CbG9ja0NoYW5nZXModGhpcy5lZGl0b3IsIHtcbiAgICAgICAgICAgIHJlbW92ZWRDYWxsYmFjazogdGhpcy5vblJlbW92ZWRDb21iaW5lZEJsb2NrLmJpbmQodGhpcyksXG4gICAgICAgICAgICB1cGRhdGVkQ2FsbGJhY2s6IHRoaXMub25VcGRhdGVkQ29tYmluZWRCbG9jay5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgYWRkZWRDYWxsYmFjazogdGhpcy5vbkFkZGVkQ29tYmluZWRCbG9jay5iaW5kKHRoaXMpXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgc3RhcnRDaGFuZ2VzKGV2ZW50OiBCbG9ja011dGF0aW9uRXZlbnRbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBpZiAodGhpcy5pc1NraXAgfHwgdGhpcy5pc0NoYW5naW5nKSB7XG4gICAgICAgICAgICB0aGlzLmlzU2tpcCA9IGZhbHNlO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzQ2hhbmdpbmcgPSB0cnVlO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBlZGl0b3JPdXRwdXQgPSBhd2FpdCB0aGlzLmVkaXRvci5zYXZlKCk7XG4gICAgICAgICAgICBjb25zdCBldmVudHMgPSBldmVudC5maWx0ZXIoKGRhdGEpID0+IGRhdGEuZGV0YWlsLnRhcmdldC5uYW1lICE9PSBDT01CSU5FRF9URVhUX0JMT0NLX05BTUUpO1xuICAgICAgICAgICAgY29uc3QgYmxvY2tzID0gdGhpcy5lZGl0b3JTZXJ2aWNlLnNvcnRFdmVudHNCeVR5cGVzKGV2ZW50cyk7XG4gICAgICAgICAgICBjb25zdCB7IGFkZEJsb2NrcyQsIGFkZGVkQmxvY2tzIH0gPSB0aGlzLmNvbGxlY3RBZGRlZEJsb2Nrc1JlcXVlc3QoYmxvY2tzLCBlZGl0b3JPdXRwdXQpO1xuXG4gICAgICAgICAgICB0aGlzLmFkZGVkQmxvY2tzID0gW107XG5cbiAgICAgICAgICAgIGFkZEJsb2NrcyRcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFwKChibG9ja0lkcykgPT4gdGhpcy5zZXRCbG9ja0lkc1RvTWFwKGJsb2NrSWRzLCBhZGRlZEJsb2NrcykpLFxuICAgICAgICAgICAgICAgICAgICBjb25jYXRNYXAoKCkgPT4gdGhpcy5jb2xsZWN0VXBkYXRlZEJsb2Nrc1JlcXVlc3QoYmxvY2tzLCBlZGl0b3JPdXRwdXQpKSxcbiAgICAgICAgICAgICAgICAgICAgY29uY2F0TWFwKCgpID0+IHRoaXMuY29sbGVjdFJlbW92ZWRCbG9ja3NSZXF1ZXN0KGJsb2NrcykpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4gdGhpcy5zdGFydE5leHRDaGFuZ2UoKSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6ICgpID0+IHRoaXMuc3RhcnROZXh0Q2hhbmdlKClcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydE5leHRDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNDaGFuZ2luZyA9IGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IG5leHRFdmVudHMgPSB0aGlzLmNoYW5nZXNRdWV1ZS5wb3AoKTtcblxuICAgICAgICBpZiAobmV4dEV2ZW50cykge1xuICAgICAgICAgICAgdGhpcy5zdGFydENoYW5nZXMobmV4dEV2ZW50cyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmVtcHR5UXVldWUubmV4dChudWxsKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbGxlY3RBZGRlZEJsb2Nrc1JlcXVlc3QoYmxvY2tzOiBDdWlFdmVudEFjdGlvbkRhdGEsIGVkaXRvck91dHB1dDogT3V0cHV0RGF0YSk6IEN1aUJsb2Nrc1JlcXVlc3REYXRhIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdEJsb2Nrc1dpdGhJbmRleCA9IGJsb2Nrc1tFdmVudEFjdGlvbnMuYWRkXS5tYXAoKGFkZGVkQmxvY2spID0+XG4gICAgICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZ2V0RnVsbEJsb2NrRGF0YShhZGRlZEJsb2NrLCBlZGl0b3JPdXRwdXQpXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGNvbWJpbmVkQmxvY2tzV2l0aEluZGV4ID0gdGhpcy5hZGRlZEJsb2Nrcy5tYXAoKGJsb2NrKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lZGl0b3JFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWlkPVwiJHtibG9jay5pZH1cIl1gKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gTnVtYmVyKGVsZW1lbnQ/LmRhdGFzZXRbJ2luZGV4J10pO1xuXG4gICAgICAgICAgICByZXR1cm4geyAuLi5ibG9jaywgaW5kZXggfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgYWRkZWRCbG9ja3MgPSBbLi4uZGVmYXVsdEJsb2Nrc1dpdGhJbmRleCwgLi4uY29tYmluZWRCbG9ja3NXaXRoSW5kZXhdLnNvcnQoXG4gICAgICAgICAgICAoZmlyc3QsIHNlY29uZCkgPT4gZmlyc3QuaW5kZXggLSBzZWNvbmQuaW5kZXhcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgYWRkQmxvY2tzJCA9IHRoaXMuZWRpdG9yU2VydmljZS5jb2xsZWN0QWRkZWRCbG9ja3NSZXF1ZXN0KHRoaXMuZWRpdG9yQXBpSWQsIGFkZGVkQmxvY2tzKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYWRkZWRCbG9ja3MsXG4gICAgICAgICAgICBhZGRCbG9ja3MkXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb2xsZWN0VXBkYXRlZEJsb2Nrc1JlcXVlc3QoYmxvY2tzOiBDdWlFdmVudEFjdGlvbkRhdGEsIGVkaXRvck91dHB1dDogT3V0cHV0RGF0YSk6IE9ic2VydmFibGU8QmxvY2tbXT4ge1xuICAgICAgICBibG9ja3NbRXZlbnRBY3Rpb25zLnVwZGF0ZV0uZm9yRWFjaCgodXBkYXRlQmxvY2spID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgaWQsIGJsb2NrIH0gPSB0aGlzLmVkaXRvclNlcnZpY2UuZ2V0RnVsbEJsb2NrRGF0YSh1cGRhdGVCbG9jaywgZWRpdG9yT3V0cHV0KTtcbiAgICAgICAgICAgIGJsb2NrLmlkID0gaWQ7XG5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlZEJsb2Nrcy5wdXNoKGJsb2NrKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgdXBkYXRlQmxvY2tzJCA9IHRoaXMuZWRpdG9yU2VydmljZS5jb2xsZWN0VXBkYXRlZEJsb2Nrc1JlcXVlc3QodGhpcy51cGRhdGVkQmxvY2tzLCB0aGlzLmJsb2NrSWRzTWFwKTtcblxuICAgICAgICB0aGlzLnVwZGF0ZWRCbG9ja3MgPSBbXTtcblxuICAgICAgICByZXR1cm4gdXBkYXRlQmxvY2tzJDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbGxlY3RSZW1vdmVkQmxvY2tzUmVxdWVzdChibG9ja3M6IEN1aUV2ZW50QWN0aW9uRGF0YSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICBibG9ja3NbRXZlbnRBY3Rpb25zLnJlbW92ZV0uZm9yRWFjaCgoYmxvY2spID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlkID0gYmxvY2suZGV0YWlsLnRhcmdldC5pZDtcblxuICAgICAgICAgICAgdGhpcy5yZW1vdmVkQmxvY2tzSWRzLnB1c2goaWQpO1xuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCByZW1vdmVCbG9ja3MkID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmNvbGxlY3RSZW1vdmVkQmxvY2tzUmVxdWVzdChcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yQXBpSWQsXG4gICAgICAgICAgICB0aGlzLnJlbW92ZWRCbG9ja3NJZHMsXG4gICAgICAgICAgICB0aGlzLmJsb2NrSWRzTWFwXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMucmVtb3ZlZEJsb2Nrc0lkcyA9IFtdO1xuXG4gICAgICAgIHJldHVybiByZW1vdmVCbG9ja3MkO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QmxvY2tzKHBhZ2UgPSAwLCBzaXplID0gNDApOiBPYnNlcnZhYmxlPEJsb2NrW10+IHtcbiAgICAgICAgbGV0IGNvbWJpbmVkQmxvY2s6IEN1aU51bGxhYmxlPEJsb2NrPjtcblxuICAgICAgICByZXR1cm4gdGhpcy5qVGV4dFNlcnZpY2UuZ2V0QmxvY2tzKHRoaXMuZWRpdG9yQXBpSWQsIHBhZ2UsIHNpemUpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95KSxcbiAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoY29tYmluZWRCbG9jaykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZENvbWJpbmVkQmxvY2soY29tYmluZWRCbG9jayk7XG4gICAgICAgICAgICAgICAgICAgIGNvbWJpbmVkQmxvY2sgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJlY2FsY3VsYXRlSW5kZXhlcyh0aGlzLmVkaXRvci5ibG9ja3MpO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtYXAoKGJsb2NrKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGJsb2NrLnR5cGUgPT09IENPTUJJTkVEX1RFWFRfQkxPQ0tfUEFSVCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9ja0RhdGEgPSBibG9jay5kYXRhIGFzIHsgcGFyZW50SWQ6IHN0cmluZyB9O1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChjb21iaW5lZEJsb2NrICYmIGJsb2NrRGF0YS5wYXJlbnRJZCEgIT09IGNvbWJpbmVkQmxvY2s/LmlkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZENvbWJpbmVkQmxvY2soY29tYmluZWRCbG9jayk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb21iaW5lZEJsb2NrID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbWJpbmVkQmxvY2sgPSB0aGlzLnNldENvbWJpbmVkQmxvY2soYmxvY2spO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoY29tYmluZWRCbG9jaykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZENvbWJpbmVkQmxvY2soY29tYmluZWRCbG9jayk7XG4gICAgICAgICAgICAgICAgICAgIGNvbWJpbmVkQmxvY2sgPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuYWRkQmxvY2soYmxvY2spO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0b0FycmF5KClcbiAgICAgICAgKSBhcyB1bmtub3duIGFzIE9ic2VydmFibGU8QmxvY2tbXT47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRCbG9jayhibG9jazogQmxvY2spOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiBibG9jay50eXBlICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ibG9ja0lkc01hcC5zZXQoYmxvY2suaWQhLCBibG9jay5pZCEpO1xuICAgICAgICB0aGlzLmluc2VydChibG9jayk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRDb21iaW5lZEJsb2NrKGNvbWJpbmVkQmxvY2s6IEJsb2NrKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXNTa2lwQ29tYmluZWRCbG9ja09uQ2hhbmdlLnB1c2godHJ1ZSk7XG4gICAgICAgIGNvbnN0IGJsb2NrID0gdGhpcy5lZGl0b3IuYmxvY2tzLmdldEJ5SWQoY29tYmluZWRCbG9jay5pZCB8fCAnJyk7XG5cbiAgICAgICAgaWYgKGJsb2NrKSB7XG4gICAgICAgICAgICB0aGlzLmVkaXRvci5ibG9ja3MudXBkYXRlKGJsb2NrLmlkLCBjb21iaW5lZEJsb2NrLmRhdGEgYXMgQ3VpQ29tYmluZWRQYXJ0QmxvY2spO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmluc2VydChjb21iaW5lZEJsb2NrKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluc2VydChibG9jazogQmxvY2spOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGVja0ZpcnN0KGJsb2NrKTtcbiAgICAgICAgdGhpcy5pbmRleCsrO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tGaXJzdChibG9jazogQmxvY2spOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzRmlyc3QpIHtcbiAgICAgICAgICAgIHRoaXMuaXNTa2lwID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yLmJsb2Nrcy5pbnNlcnQoYmxvY2sudHlwZSwgYmxvY2suZGF0YSwge30sIHRoaXMuaW5kZXgsIGZhbHNlLCBmYWxzZSwgYmxvY2suaWQpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUT0RPOiDQtdGB0YLRjCDQstCw0YDQuNC6INGH0YLQviDRh9GC0L4g0YLQviDQv9C+0LnQtNC10YIg0L3QtSDRgtCw0LpcbiAgICAgICAgdGhpcy5lZGl0b3IuYmxvY2tzLnJlbmRlcih7IGJsb2NrczogW2Jsb2NrXSB9KS50aGVuKCgpID0+ICh0aGlzLmlzU2tpcCA9IGZhbHNlKSk7XG4gICAgICAgIHRoaXMuaXNGaXJzdCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q29tYmluZWRCbG9jayhibG9jazogQmxvY2spOiBCbG9jayB7XG4gICAgICAgIGNvbnN0IGNvbWJpbmVkQmxvY2tEYXRhID0gYmxvY2suZGF0YSBhcyB7IHBhcmVudElkOiBzdHJpbmcgfTtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5jb21iaW5lZEJsb2Nrcy5nZXQoY29tYmluZWRCbG9ja0RhdGEucGFyZW50SWQpO1xuXG4gICAgICAgIHRoaXMuYmxvY2tJZHNNYXAuc2V0KGJsb2NrLmlkISwgYmxvY2suaWQhKTtcblxuICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnREYXRhID0gcGFyZW50LmRhdGEgYXMgeyB0ZXh0QmxvY2tzOiBCbG9ja1tdIH07XG4gICAgICAgICAgICBwYXJlbnREYXRhLnRleHRCbG9ja3MucHVzaChibG9jayk7XG5cbiAgICAgICAgICAgIHJldHVybiBwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJlbnRPYmplY3Q6IEJsb2NrID0ge1xuICAgICAgICAgICAgaWQ6IGNvbWJpbmVkQmxvY2tEYXRhLnBhcmVudElkLFxuICAgICAgICAgICAgdHlwZTogQ09NQklORURfVEVYVF9CTE9DS19OQU1FLFxuICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgIGlkOiBjb21iaW5lZEJsb2NrRGF0YS5wYXJlbnRJZCxcbiAgICAgICAgICAgICAgICB0ZXh0QmxvY2tzOiBbYmxvY2tdXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5jb21iaW5lZEJsb2Nrcy5zZXQoY29tYmluZWRCbG9ja0RhdGEucGFyZW50SWQsIHBhcmVudE9iamVjdCk7XG5cbiAgICAgICAgcmV0dXJuIHBhcmVudE9iamVjdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEJsb2NrSWRzVG9NYXAoYmxvY2tJZHM6IHN0cmluZ1tdLCBhZGRlZEJsb2NrczogQ3VpRnVsbEJsb2NrRGF0YVtdKTogdm9pZCB7XG4gICAgICAgIGlmICghYmxvY2tJZHMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBhZGRlZEJsb2Nrcy5mb3JFYWNoKChibG9ja0RhdGEsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmJsb2NrSWRzTWFwLnNldChibG9ja0RhdGEuaWQsIGJsb2NrSWRzW2luZGV4XSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U3RhcnRCbG9jaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmxvY2tJZHNNYXAuc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRGb2N1cygpO1xuICAgICAgICAgICAgdGhpcy5lZGl0b3JFbXB0eS5lbWl0KHRoaXMuY2hlY2tJc0VtcHR5KCkpO1xuXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc1JlYWRvbmx5KCkpIHtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yLnJlbmRlcih7IGJsb2NrczogW10gfSk7XG5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zZXRTdGFydEJsb2NrKFxuICAgICAgICAgICAgdGhpcy5lZGl0b3JBcGlJZCxcbiAgICAgICAgICAgIGFzeW5jIChibG9jazogQmxvY2s8Q3VpQ29tYmluZWRCbG9ja1Rvb2xEYXRhPiwgaWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tJZHNNYXAuc2V0KGlkLCBpZCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1NraXBDb21iaW5lZEJsb2NrT25DaGFuZ2UucHVzaCh0cnVlKTtcblxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuZWRpdG9yLnJlbmRlcih7IGJsb2NrczogW2Jsb2NrXSB9KTtcblxuICAgICAgICAgICAgICAgIHRoaXMuc2V0Rm9jdXMoKTtcbiAgICAgICAgICAgICAgICByZWNhbGN1bGF0ZUluZGV4ZXModGhpcy5lZGl0b3IuYmxvY2tzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZvY3VzKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29uZmlnPy5hdXRvZm9jdXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZWRpdG9yLmNhcmV0LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGVja0lzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IE1JTl9CTE9DS1NfQ09VTlQgPSAxO1xuICAgICAgICBjb25zdCBSRURBQ1RPUl9TRUxFQ1RPUiA9ICcuY29kZXgtZWRpdG9yX19yZWRhY3Rvcic7XG4gICAgICAgIGNvbnN0IHJlZGFjdG9yID0gdGhpcy5lZGl0b3JFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoUkVEQUNUT1JfU0VMRUNUT1IpO1xuICAgICAgICBjb25zdCBibG9ja3NDb3VudCA9IHJlZGFjdG9yPy5jaGlsZEVsZW1lbnRDb3VudCA/PyAwO1xuXG4gICAgICAgIHJldHVybiBibG9ja3NDb3VudCA8PSBNSU5fQkxPQ0tTX0NPVU5UICYmICFyZWRhY3Rvcj8udGV4dENvbnRlbnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldERhdGEoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2Nyb2xsU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnBvb2xpbmdTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMuaXNTa2lwQ29tYmluZWRCbG9ja09uQ2hhbmdlID0gW107XG4gICAgICAgIHRoaXMuaXNGaXJzdCA9IHRydWU7XG4gICAgICAgIHRoaXMuaXNDaGFuZ2luZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzU2tpcCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzUmVxdWVzdGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYmxvY2tJZHNNYXAgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICAgICAgICB0aGlzLmNvbWJpbmVkQmxvY2tzID0gbmV3IE1hcCgpO1xuICAgICAgICB0aGlzLmluZGV4ID0gMDtcbiAgICAgICAgdGhpcy5wYWdlID0gMDtcbiAgICAgICAgdGhpcy5hZGRlZEJsb2NrcyA9IFtdO1xuICAgICAgICB0aGlzLnVwZGF0ZWRCbG9ja3MgPSBbXTtcbiAgICAgICAgdGhpcy5yZW1vdmVkQmxvY2tzSWRzID0gW107XG4gICAgICAgIHRoaXMuY2hhbmdlc1F1ZXVlID0gW107XG4gICAgICAgIHRoaXMuYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIH1cbn1cbiIsIjxkaXZcbiAgICAjZWRpdG9yXG4gICAgW2lkXT1cImVkaXRvcklkXCJcbiAgICBkYXRhLWVkaXRvclxuICAgIFtjbGFzcy5fcmVhZG9ubHldPVwiY29uZmlnLnJlYWRPbmx5XCJcbj48L2Rpdj5cbiJdfQ==
@@ -7,4 +7,4 @@ export { CuiAttachesTool, CuiHeaderTool, CuiImageTool, CuiVideoTool, CuiListTool
7
7
  export { CuiEditorReadonlyComponent, CuiEditorBlockComponent, CuiEditorModalComponent } from './widgets';
8
8
  export * from './providers';
9
9
  export { CuiEditorToolsService } from './services';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsZUFBZSxFQUNmLGFBQWEsRUFDYixZQUFZLEVBQ1osWUFBWSxFQUNaLFdBQVcsRUFDWCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsRUFDaEIsTUFBTSxTQUFTLENBQUM7QUFPakIsT0FBTyxFQUNILDBCQUEwQixFQUMxQix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQzFCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLGNBQWMsYUFBYSxDQUFBO0FBQzNCLE9BQU8sRUFDSCxxQkFBcUIsRUFDeEIsTUFBTSxZQUFZLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnO1xyXG5leHBvcnQgeyBDdWlFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2VkaXRvci5jb21wb25lbnQnO1xyXG5leHBvcnQgeyBjdWlQcm92aWRlRWRpdG9yIH0gZnJvbSAnLi9jb25maWcnO1xyXG5leHBvcnQgeyBDdWlGaWxlVXBsb2FkZXJTdGF0dXMgfSBmcm9tICcuL3V0aWxzJztcclxuZXhwb3J0IHsgQ3VpRWRpdG9yVHJhbnNsYXRpb25zIH0gZnJvbSAnLi9jb25zdGFudHMnO1xyXG5leHBvcnQge1xyXG4gICAgQ3VpQXR0YWNoZXNUb29sLFxyXG4gICAgQ3VpSGVhZGVyVG9vbCxcclxuICAgIEN1aUltYWdlVG9vbCxcclxuICAgIEN1aVZpZGVvVG9vbCxcclxuICAgIEN1aUxpc3RUb29sLFxyXG4gICAgQ3VpTGlua01hcmtlcixcclxuICAgIEN1aVRvb2xNYXJrZXIsXHJcbiAgICBDdWlSb2xlTWFya2VyXHJcbn0gZnJvbSAnLi90b29scyc7XHJcbmV4cG9ydCB0eXBlIHsgQ3VpRWRpdG9yUmVhZG9ubHlDb25maWcgfSBmcm9tICcuL3dpZGdldHMnO1xyXG5leHBvcnQge1xyXG4gICAgQ3VpVmlkZW9Ub29sQ29uZmlnLFxyXG4gICAgQ3VpQXR0YWNoZXNUb29sQ29uZmlnLFxyXG4gICAgQ3VpSW1hZ2VUb29sQ29uZmlnXHJcbn0gZnJvbSAnLi9jb21wb25lbnRzJztcclxuZXhwb3J0IHtcclxuICAgIEN1aUVkaXRvclJlYWRvbmx5Q29tcG9uZW50LFxyXG4gICAgQ3VpRWRpdG9yQmxvY2tDb21wb25lbnQsXHJcbiAgICBDdWlFZGl0b3JNb2RhbENvbXBvbmVudFxyXG59IGZyb20gJy4vd2lkZ2V0cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJ1xyXG5leHBvcnQge1xyXG4gICAgQ3VpRWRpdG9yVG9vbHNTZXJ2aWNlXHJcbn0gZnJvbSAnLi9zZXJ2aWNlcydcclxuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsZUFBZSxFQUNmLGFBQWEsRUFDYixZQUFZLEVBQ1osWUFBWSxFQUNaLFdBQVcsRUFDWCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsRUFDaEIsTUFBTSxTQUFTLENBQUM7QUFHakIsT0FBTyxFQUFFLDBCQUEwQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3pHLGNBQWMsYUFBYSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaW50ZXJmYWNlcyc7XHJcbmV4cG9ydCB7IEN1aUVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vZWRpdG9yLmNvbXBvbmVudCc7XHJcbmV4cG9ydCB7IGN1aVByb3ZpZGVFZGl0b3IgfSBmcm9tICcuL2NvbmZpZyc7XHJcbmV4cG9ydCB7IEN1aUZpbGVVcGxvYWRlclN0YXR1cyB9IGZyb20gJy4vdXRpbHMnO1xyXG5leHBvcnQgeyBDdWlFZGl0b3JUcmFuc2xhdGlvbnMgfSBmcm9tICcuL2NvbnN0YW50cyc7XHJcbmV4cG9ydCB7XHJcbiAgICBDdWlBdHRhY2hlc1Rvb2wsXHJcbiAgICBDdWlIZWFkZXJUb29sLFxyXG4gICAgQ3VpSW1hZ2VUb29sLFxyXG4gICAgQ3VpVmlkZW9Ub29sLFxyXG4gICAgQ3VpTGlzdFRvb2wsXHJcbiAgICBDdWlMaW5rTWFya2VyLFxyXG4gICAgQ3VpVG9vbE1hcmtlcixcclxuICAgIEN1aVJvbGVNYXJrZXJcclxufSBmcm9tICcuL3Rvb2xzJztcclxuZXhwb3J0IHR5cGUgeyBDdWlFZGl0b3JSZWFkb25seUNvbmZpZyB9IGZyb20gJy4vd2lkZ2V0cyc7XHJcbmV4cG9ydCB7IEN1aVZpZGVvVG9vbENvbmZpZywgQ3VpQXR0YWNoZXNUb29sQ29uZmlnLCBDdWlJbWFnZVRvb2xDb25maWcgfSBmcm9tICcuL2NvbXBvbmVudHMnO1xyXG5leHBvcnQgeyBDdWlFZGl0b3JSZWFkb25seUNvbXBvbmVudCwgQ3VpRWRpdG9yQmxvY2tDb21wb25lbnQsIEN1aUVkaXRvck1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi93aWRnZXRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xyXG5leHBvcnQgeyBDdWlFZGl0b3JUb29sc1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tzLXJlcXVlc3QtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL2ludGVyZmFjZXMvYmxvY2tzLXJlcXVlc3QtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgdHlwZSB7IEN1aUZ1bGxCbG9ja0RhdGEgfSBmcm9tICcuL2Z1bGwtYmxvY2stZGF0YSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1aUJsb2Nrc1JlcXVlc3REYXRhIHtcclxuICByZWFkb25seSBhZGRCbG9ja3MkOiBPYnNlcnZhYmxlPHN0cmluZ1tdPjtcclxuICByZWFkb25seSBhZGRlZEJsb2NrczogQ3VpRnVsbEJsb2NrRGF0YVtdO1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tzLXJlcXVlc3QtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL2ludGVyZmFjZXMvYmxvY2tzLXJlcXVlc3QtZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgdHlwZSB7IEN1aUZ1bGxCbG9ja0RhdGEgfSBmcm9tICcuL2Z1bGwtYmxvY2stZGF0YSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1aUJsb2Nrc1JlcXVlc3REYXRhIHtcclxuICAgIHJlYWRvbmx5IGFkZEJsb2NrcyQ6IE9ic2VydmFibGU8c3RyaW5nW10+O1xyXG4gICAgcmVhZG9ubHkgYWRkZWRCbG9ja3M6IEN1aUZ1bGxCbG9ja0RhdGFbXTtcclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtYmxvY2stYWRkaW5nLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvaW50ZXJmYWNlcy9jb21iaW5lZC1ibG9jay1hZGRpbmctZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmxvY2sgfSBmcm9tICcuLi9zZXJ2aWNlcy9qdGV4dC1hcGkub3B0aW9ucyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1aUNvbWJpbmVkQmxvY2tBZGRpbmdFdmVudCB7XHJcbiAgcmVhZG9ubHkgaW5kZXg6IG51bWJlcjtcclxuICByZWFkb25seSBibG9ja0luZGV4OiBudW1iZXI7XHJcbiAgcmVhZG9ubHkgYmxvY2tzOiBCbG9ja1tdO1xyXG4gIHJlYWRvbmx5IGRhdGE6IEJsb2NrW107XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtYmxvY2stYWRkaW5nLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvaW50ZXJmYWNlcy9jb21iaW5lZC1ibG9jay1hZGRpbmctZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmxvY2sgfSBmcm9tICcuLi9zZXJ2aWNlcy9qdGV4dC1hcGkub3B0aW9ucyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1aUNvbWJpbmVkQmxvY2tBZGRpbmdFdmVudCB7XHJcbiAgICByZWFkb25seSBpbmRleDogbnVtYmVyO1xyXG4gICAgcmVhZG9ubHkgYmxvY2tJbmRleDogbnVtYmVyO1xyXG4gICAgcmVhZG9ubHkgYmxvY2tzOiBCbG9ja1tdO1xyXG4gICAgcmVhZG9ubHkgZGF0YTogQmxvY2tbXTtcclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtYmxvY2stZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL2ludGVyZmFjZXMvY29tYmluZWQtYmxvY2stZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDdWlDb21iaW5lZFBhcnRCbG9jayB9IGZyb20gJy4vY29tYmluZWQtcGFydC1ibG9jay1kYXRhJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VpQ29tYmluZWRCbG9ja1Rvb2xEYXRhIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHRleHRCbG9ja3M6IEN1aUNvbWJpbmVkUGFydEJsb2NrW107XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtYmxvY2stZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL2ludGVyZmFjZXMvY29tYmluZWQtYmxvY2stZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDdWlDb21iaW5lZFBhcnRCbG9jayB9IGZyb20gJy4vY29tYmluZWQtcGFydC1ibG9jay1kYXRhJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VpQ29tYmluZWRCbG9ja1Rvb2xEYXRhIHtcclxuICAgIGlkOiBzdHJpbmc7XHJcbiAgICB0ZXh0QmxvY2tzOiBDdWlDb21iaW5lZFBhcnRCbG9ja1tdO1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtcGFydC1ibG9jay1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvaW50ZXJmYWNlcy9jb21iaW5lZC1wYXJ0LWJsb2NrLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmxvY2sgfSBmcm9tICcuLi9zZXJ2aWNlcy9qdGV4dC1hcGkub3B0aW9ucyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1aUNvbWJpbmVkUGFydEJsb2NrRGF0YSB7XHJcbiAgcmVhZG9ubHkgdGV4dDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IHBhcmVudElkOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgcGFyZW50VHlwZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDdWlDb21iaW5lZFBhcnRCbG9jayA9IEJsb2NrPEN1aUNvbWJpbmVkUGFydEJsb2NrRGF0YT47XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZWQtcGFydC1ibG9jay1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvaW50ZXJmYWNlcy9jb21iaW5lZC1wYXJ0LWJsb2NrLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmxvY2sgfSBmcm9tICcuLi9zZXJ2aWNlcy9qdGV4dC1hcGkub3B0aW9ucyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1aUNvbWJpbmVkUGFydEJsb2NrRGF0YSB7XHJcbiAgICByZWFkb25seSB0ZXh0OiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBwYXJlbnRJZDogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgcGFyZW50VHlwZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBDdWlDb21iaW5lZFBhcnRCbG9jayA9IEJsb2NrPEN1aUNvbWJpbmVkUGFydEJsb2NrRGF0YT47XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9pbnRlcmZhY2VzL2VkaXRvci1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdWlUb29scyB9IGZyb20gXCIuL3Rvb2xzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdG9yRGF0YSB7XG4gICAgcmVhZG9ubHkgdG9vbHM6IEN1aVRvb2xzO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9pbnRlcmZhY2VzL2VkaXRvci1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdWlUb29scyB9IGZyb20gJy4vdG9vbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRvckRhdGEge1xuICAgIHJlYWRvbmx5IHRvb2xzOiBDdWlUb29scztcbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1yZXNwb25zZS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvaW50ZXJmYWNlcy9maWxlLXJlc3BvbnNlLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ3VpRmlsZVJlc3BvbnNlRGF0YSB7XHJcbiAgICByZWFkb25seSBzdWNjZXNzOiBudW1iZXI7XHJcbiAgICByZWFkb25seSBmaWxlOiBDdWlGaWxlRGF0YTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdWlGaWxlRGF0YSB7XHJcbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgc2l6ZT86IG51bWJlcjtcclxuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IGV4dGVuc2lvbj86IHN0cmluZztcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1yZXNwb25zZS1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvaW50ZXJmYWNlcy9maWxlLXJlc3BvbnNlLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ3VpRmlsZVJlc3BvbnNlRGF0YSB7XHJcbiAgICByZWFkb25seSBzdWNjZXNzOiBudW1iZXI7XHJcbiAgICByZWFkb25seSBmaWxlOiBDdWlGaWxlRGF0YTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdWlGaWxlRGF0YSB7XHJcbiAgICByZWFkb25seSB1cmw6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IHNpemU/OiBudW1iZXI7XHJcbiAgICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgZXh0ZW5zaW9uPzogc3RyaW5nO1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbC1ibG9jay1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvaW50ZXJmYWNlcy9mdWxsLWJsb2NrLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmxvY2sgfSBmcm9tICcuLi9zZXJ2aWNlcy9qdGV4dC1hcGkub3B0aW9ucyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1aUZ1bGxCbG9ja0RhdGEgZXh0ZW5kcyBDdWlCbG9ja0RhdGEge1xyXG4gIHJlYWRvbmx5IGluZGV4OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VpQmxvY2tEYXRhIHtcclxuICByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IGJsb2NrOiBCbG9jaztcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVsbC1ibG9jay1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvaW50ZXJmYWNlcy9mdWxsLWJsb2NrLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmxvY2sgfSBmcm9tICcuLi9zZXJ2aWNlcy9qdGV4dC1hcGkub3B0aW9ucyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1aUZ1bGxCbG9ja0RhdGEgZXh0ZW5kcyBDdWlCbG9ja0RhdGEge1xyXG4gICAgcmVhZG9ubHkgaW5kZXg6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdWlCbG9ja0RhdGEge1xyXG4gICAgcmVhZG9ubHkgaWQ6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IGJsb2NrOiBCbG9jaztcclxufVxyXG4iXX0=
@@ -12,4 +12,4 @@ export * from './parent';
12
12
  export * from './tools';
13
13
  export * from './tune';
14
14
  export * from './editor-service';
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxrQkFBa0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmxvY2tzLXJlcXVlc3QtZGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tYmluZWQtYmxvY2stYWRkaW5nLWV2ZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21iaW5lZC1ibG9jay1kYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21iaW5lZC1wYXJ0LWJsb2NrLWRhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL2V2ZW50LWFjdGlvbi1kYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlLXJlc3BvbnNlLWRhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Z1bGwtYmxvY2stZGF0YSc7XHJcbmV4cG9ydCB7IEN1aUVkaXRvckNvbmZpZywgQ3VpUmVxdWVzdE9wdGlvbnMgfSBmcm9tICcuL21haW4tZWRpdG9yLWNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY3VzdG9tLWVsZW1lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FuZ3VsYXItZWxlbWVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbXV0YXRpb24tYWN0aW9ucyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFyZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90b29scyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHVuZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yLXNlcnZpY2UnXHJcbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmxvY2tzLXJlcXVlc3QtZGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tYmluZWQtYmxvY2stYWRkaW5nLWV2ZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21iaW5lZC1ibG9jay1kYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21iaW5lZC1wYXJ0LWJsb2NrLWRhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL2V2ZW50LWFjdGlvbi1kYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlLXJlc3BvbnNlLWRhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Z1bGwtYmxvY2stZGF0YSc7XHJcbmV4cG9ydCB7IEN1aUVkaXRvckNvbmZpZywgQ3VpUmVxdWVzdE9wdGlvbnMgfSBmcm9tICcuL21haW4tZWRpdG9yLWNvbmZpZyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY3VzdG9tLWVsZW1lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FuZ3VsYXItZWxlbWVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbXV0YXRpb24tYWN0aW9ucyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGFyZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90b29scyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdHVuZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZWRpdG9yLXNlcnZpY2UnO1xyXG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1lZGl0b3ItY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvaW50ZXJmYWNlcy9tYWluLWVkaXRvci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgdHlwZSB7IEN1aVRvb2xzIH0gZnJvbSAnLi90b29scyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1aUVkaXRvckNvbmZpZyB7XHJcbiAgcmVhZG9ubHkgdG9vbHM/OiBDdWlUb29scztcclxuICByZWFkb25seSByZWFkT25seT86IGJvb2xlYW47XHJcbiAgcmVhZG9ubHkgYXV0b2ZvY3VzPzogYm9vbGVhbjtcclxuICByZWFkb25seSBlbGVtZW50PzogSFRNTEVsZW1lbnQ7XHJcbiAgcmVhZG9ubHkgd2l0aG91dFByZWxvYWQ/OiBib29sZWFuO1xyXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IHJlYWRvbmx5UGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgcmVxdWVzdE9wdGlvbnM/OiBDdWlSZXF1ZXN0T3B0aW9ucztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdWlSZXF1ZXN0T3B0aW9ucyB7XHJcbiAgcmVhZG9ubHkgY29udGV4dD86IEh0dHBDb250ZXh0O1xyXG59XHJcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi1lZGl0b3ItY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvaW50ZXJmYWNlcy9tYWluLWVkaXRvci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDb250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgdHlwZSB7IEN1aVRvb2xzIH0gZnJvbSAnLi90b29scyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1aUVkaXRvckNvbmZpZyB7XHJcbiAgICByZWFkb25seSB0b29scz86IEN1aVRvb2xzO1xyXG4gICAgcmVhZG9ubHkgcmVhZE9ubHk/OiBib29sZWFuO1xyXG4gICAgcmVhZG9ubHkgYXV0b2ZvY3VzPzogYm9vbGVhbjtcclxuICAgIHJlYWRvbmx5IGVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcclxuICAgIHJlYWRvbmx5IHdpdGhvdXRQcmVsb2FkPzogYm9vbGVhbjtcclxuICAgIHJlYWRvbmx5IHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgcmVhZG9ubHlQbGFjZWhvbGRlcj86IHN0cmluZztcclxuICAgIHJlYWRvbmx5IHJlcXVlc3RPcHRpb25zPzogQ3VpUmVxdWVzdE9wdGlvbnM7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VpUmVxdWVzdE9wdGlvbnMge1xyXG4gICAgcmVhZG9ubHkgY29udGV4dD86IEh0dHBDb250ZXh0O1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRpb24tYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL2ludGVyZmFjZXMvbXV0YXRpb24tYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQ3VpTXV0YXRpb25DYWxsYmFjayA9IChtdXRhdGlvbkxpc3Q6IE11dGF0aW9uUmVjb3JkW10pID0+IHZvaWQ7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1aU11dGF0aW9uQWN0aW9ucyB7XHJcbiAgcmVhZG9ubHkgdXBkYXRlZEVsZW1lbnRzOiBTZXQ8SFRNTEVsZW1lbnQ+O1xyXG4gIHJlYWRvbmx5IHJlbW92ZWRFbGVtZW50c0lkczogU2V0PHN0cmluZz47XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXV0YXRpb24tYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL2ludGVyZmFjZXMvbXV0YXRpb24tYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQ3VpTXV0YXRpb25DYWxsYmFjayA9IChtdXRhdGlvbkxpc3Q6IE11dGF0aW9uUmVjb3JkW10pID0+IHZvaWQ7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1aU11dGF0aW9uQWN0aW9ucyB7XHJcbiAgICByZWFkb25seSB1cGRhdGVkRWxlbWVudHM6IFNldDxIVE1MRWxlbWVudD47XHJcbiAgICByZWFkb25seSByZW1vdmVkRWxlbWVudHNJZHM6IFNldDxzdHJpbmc+O1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvaW50ZXJmYWNlcy9wYXJlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ3VpUGFyZW50IHtcclxuICByZWFkb25seSBjbGFzc05hbWU6IHN0cmluZztcclxuICByZWFkb25seSBwYXJlbnQ6IEVsZW1lbnQ7XHJcbn1cclxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvaW50ZXJmYWNlcy9wYXJlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ3VpUGFyZW50IHtcclxuICAgIHJlYWRvbmx5IGNsYXNzTmFtZTogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgcGFyZW50OiBFbGVtZW50O1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVuZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL2ludGVyZmFjZXMvdHVuZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDdWlUdW5lIHtcclxuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZztcclxuICByZWFkb25seSBpY29uPzogc3RyaW5nO1xyXG4gIHJlYWRvbmx5IHRvZ2dsZTogYm9vbGVhbjtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVuZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL2ludGVyZmFjZXMvdHVuZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBDdWlUdW5lIHtcclxuICAgIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcclxuICAgIHJlYWRvbmx5IHRpdGxlOiBzdHJpbmc7XHJcbiAgICByZWFkb25seSBpY29uPzogc3RyaW5nO1xyXG4gICAgcmVhZG9ubHkgdG9nZ2xlOiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -1,3 +1,3 @@
1
- import { InjectionToken } from "@angular/core";
1
+ import { InjectionToken } from '@angular/core';
2
2
  export const CUI_RESOURCE_URL = new InjectionToken('CUI_RESOURCE_URL');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXByb3ZpZGVyLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9wcm92aWRlcnMvZWRpdG9yLXByb3ZpZGVyLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxrQkFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgY29uc3QgQ1VJX1JFU09VUkNFX1VSTCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdDVUlfUkVTT1VSQ0VfVVJMJyk7XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLXByb3ZpZGVyLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2VkaXRvci9wcm92aWRlcnMvZWRpdG9yLXByb3ZpZGVyLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxrQkFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IENVSV9SRVNPVVJDRV9VUkwgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignQ1VJX1JFU09VUkNFX1VSTCcpO1xuIl19
@@ -1,5 +1,5 @@
1
- import { CUI_RESOURCE_URL } from "./editor-provider.options";
1
+ import { CUI_RESOURCE_URL } from './editor-provider.options';
2
2
  export function provideCuiEditorResourceUrl(resourceUrl) {
3
3
  return { provide: CUI_RESOURCE_URL, useValue: resourceUrl };
4
4
  }
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvcHJvdmlkZXJzL2VkaXRvci5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsV0FBbUI7SUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUE7QUFDL0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENVSV9SRVNPVVJDRV9VUkwgfSBmcm9tIFwiLi9lZGl0b3ItcHJvdmlkZXIub3B0aW9uc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUN1aUVkaXRvclJlc291cmNlVXJsKHJlc291cmNlVXJsOiBzdHJpbmcpOiBQcm92aWRlciB7XG4gICAgcmV0dXJuIHsgcHJvdmlkZTogQ1VJX1JFU09VUkNFX1VSTCwgdXNlVmFsdWU6IHJlc291cmNlVXJsIH1cbn1cbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9lZGl0b3IvcHJvdmlkZXJzL2VkaXRvci5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsV0FBbUI7SUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUM7QUFDaEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDVUlfUkVTT1VSQ0VfVVJMIH0gZnJvbSAnLi9lZGl0b3ItcHJvdmlkZXIub3B0aW9ucyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ3VpRWRpdG9yUmVzb3VyY2VVcmwocmVzb3VyY2VVcmw6IHN0cmluZyk6IFByb3ZpZGVyIHtcbiAgICByZXR1cm4geyBwcm92aWRlOiBDVUlfUkVTT1VSQ0VfVVJMLCB1c2VWYWx1ZTogcmVzb3VyY2VVcmwgfTtcbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
- import { inject } from "@angular/core";
2
- import { CuiAttachesTool } from "../tools";
3
- import { CUI_RESOURCE_URL } from "../providers/editor-provider.options";
4
- import { getEditorTools } from "../utils/create-tools-data";
1
+ import { inject } from '@angular/core';
2
+ import { CuiAttachesTool } from '../tools';
3
+ import { CUI_RESOURCE_URL } from '../providers/editor-provider.options';
4
+ import { getEditorTools } from '../utils/create-tools-data';
5
5
  export class EditorBaseService {
6
6
  constructor() {
7
7
  this.editorResourceUrl = inject(CUI_RESOURCE_URL);
@@ -20,4 +20,4 @@ export class EditorBaseService {
20
20
  this.tools = this.TOOLS;
21
21
  }
22
22
  }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWJhc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3NlcnZpY2VzL2VkaXRvci1iYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxNQUFNLE9BQWdCLGlCQUFpQjtJQUF2QztRQUNxQixzQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU5QyxVQUFLLEdBQWE7WUFDOUIsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQ3pDLFFBQVEsRUFBRTtnQkFDTixLQUFLLEVBQUUsZUFBZTtnQkFDdEIsTUFBTSxFQUFFO29CQUNKLFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCO29CQUNoQyxLQUFLLEVBQUUsVUFBVTtvQkFDakIsS0FBSyxFQUFFLGlCQUFpQjtvQkFDeEIsV0FBVyxFQUFFLENBQUMsSUFBaUIsRUFBaUIsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7aUJBQ2xGO2FBQ0o7U0FDSixDQUFDO1FBRWMsVUFBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFHdkMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgRWRpdG9yRGF0YSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2VkaXRvci1zZXJ2aWNlXCI7XG5pbXBvcnQgeyBDdWlBdHRhY2hlc1Rvb2wgfSBmcm9tIFwiLi4vdG9vbHNcIjtcbmltcG9ydCB7IEN1aUZpbGVEYXRhLCBDdWlUb29scyB9IGZyb20gXCIuLi9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBDVUlfUkVTT1VSQ0VfVVJMIH0gZnJvbSBcIi4uL3Byb3ZpZGVycy9lZGl0b3ItcHJvdmlkZXIub3B0aW9uc1wiO1xuaW1wb3J0IHsgZ2V0RWRpdG9yVG9vbHMgfSBmcm9tIFwiLi4vdXRpbHMvY3JlYXRlLXRvb2xzLWRhdGFcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVkaXRvckJhc2VTZXJ2aWNlIGltcGxlbWVudHMgRWRpdG9yRGF0YSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlZGl0b3JSZXNvdXJjZVVybCA9IGluamVjdChDVUlfUkVTT1VSQ0VfVVJMKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBUT09MUzogQ3VpVG9vbHMgPSB7XG4gICAgICAgIC4uLmdldEVkaXRvclRvb2xzKHRoaXMuZWRpdG9yUmVzb3VyY2VVcmwpLFxuICAgICAgICBhdHRhY2hlczoge1xuICAgICAgICAgICAgY2xhc3M6IEN1aUF0dGFjaGVzVG9vbCxcbiAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICAgIGVuZHBvaW50OiB0aGlzLmVkaXRvclJlc291cmNlVXJsLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAncmVzb3VyY2UnLFxuICAgICAgICAgICAgICAgIHR5cGVzOiAnLnBkZiwuZG9jLC5kb2N4JyxcbiAgICAgICAgICAgICAgICBmaWxlQ2xpY2tlZDogKGZpbGU6IEN1aUZpbGVEYXRhKTogUHJvbWlzZTx2b2lkPiA9PiB0aGlzLm9wZW5GaWxlSW5Ccm93c2VyKGZpbGUpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xzID0gdGhpcy5UT09MUztcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBvcGVuRmlsZUluQnJvd3NlcihmaWxlOiBDdWlGaWxlRGF0YSk6IFByb21pc2U8dm9pZD47XG59XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLWJhc2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZWRpdG9yL3NlcnZpY2VzL2VkaXRvci1iYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU1RCxNQUFNLE9BQWdCLGlCQUFpQjtJQUF2QztRQUNxQixzQkFBaUIsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUU5QyxVQUFLLEdBQWE7WUFDOUIsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1lBQ3pDLFFBQVEsRUFBRTtnQkFDTixLQUFLLEVBQUUsZUFBZTtnQkFDdEIsTUFBTSxFQUFFO29CQUNKLFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCO29CQUNoQyxLQUFLLEVBQUUsVUFBVTtvQkFDakIsS0FBSyxFQUFFLGlCQUFpQjtvQkFDeEIsV0FBVyxFQUFFLENBQUMsSUFBaUIsRUFBaUIsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7aUJBQ2xGO2FBQ0o7U0FDSixDQUFDO1FBRWMsVUFBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFHdkMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEVkaXRvckRhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2VkaXRvci1zZXJ2aWNlJztcbmltcG9ydCB7IEN1aUF0dGFjaGVzVG9vbCB9IGZyb20gJy4uL3Rvb2xzJztcbmltcG9ydCB7IEN1aUZpbGVEYXRhLCBDdWlUb29scyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ1VJX1JFU09VUkNFX1VSTCB9IGZyb20gJy4uL3Byb3ZpZGVycy9lZGl0b3ItcHJvdmlkZXIub3B0aW9ucyc7XG5pbXBvcnQgeyBnZXRFZGl0b3JUb29scyB9IGZyb20gJy4uL3V0aWxzL2NyZWF0ZS10b29scy1kYXRhJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVkaXRvckJhc2VTZXJ2aWNlIGltcGxlbWVudHMgRWRpdG9yRGF0YSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlZGl0b3JSZXNvdXJjZVVybCA9IGluamVjdChDVUlfUkVTT1VSQ0VfVVJMKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBUT09MUzogQ3VpVG9vbHMgPSB7XG4gICAgICAgIC4uLmdldEVkaXRvclRvb2xzKHRoaXMuZWRpdG9yUmVzb3VyY2VVcmwpLFxuICAgICAgICBhdHRhY2hlczoge1xuICAgICAgICAgICAgY2xhc3M6IEN1aUF0dGFjaGVzVG9vbCxcbiAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICAgIGVuZHBvaW50OiB0aGlzLmVkaXRvclJlc291cmNlVXJsLFxuICAgICAgICAgICAgICAgIGZpZWxkOiAncmVzb3VyY2UnLFxuICAgICAgICAgICAgICAgIHR5cGVzOiAnLnBkZiwuZG9jLC5kb2N4JyxcbiAgICAgICAgICAgICAgICBmaWxlQ2xpY2tlZDogKGZpbGU6IEN1aUZpbGVEYXRhKTogUHJvbWlzZTx2b2lkPiA9PiB0aGlzLm9wZW5GaWxlSW5Ccm93c2VyKGZpbGUpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xzID0gdGhpcy5UT09MUztcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBvcGVuRmlsZUluQnJvd3NlcihmaWxlOiBDdWlGaWxlRGF0YSk6IFByb21pc2U8dm9pZD47XG59XG4iXX0=